リカレントニューラルネットワーク(RNN)は、テキスト、音声、時系列など、要素の順序が意味を持つシーケンシャルデータを処理するために設計された人工ニューラルネットワークの一種である。各入力を独立に扱うフィードフォワードニューラルネットワークとは異なり、RNNはリカレント接続を組み込んでおり、ある時間ステップでのニューロンの出力が次の時間ステップの入力としてフィードバックされる。このフィードバックループにより、ネットワークは隠れ状態(現在の入力と前の隠れ状態に基づいて各ステップで更新される一種のメモリ)を維持でき、シーケンス全体にわたる時間的依存関係やパターンを捉えることが可能になる。
RNNは、セグメント化されていない手書き文字認識、音声認識、自然言語処理、機械翻訳など、さまざまなタスクに応用されてきた。シーケンスをモデル化する能力により、初期のディープラーニングアプリケーションの基盤となったが、2010年代半ば以降、多くのシーケンス処理タスクではTransformer (architecture)アーキテクチャが主流となっている。それでも、RNNは計算効率、リアルタイム処理、またはデータの本質的に逐次的な性質が重要となるアプリケーションにおいて、依然として関連性を持ち続けている。
歴史的背景
ニューラルネットワークにおけるリカレンスの概念は、神経科学と統計力学の両方にルーツを持つ。20世紀初頭、解剖学者たちは脳内のループ状(リカレント)構造を観察しており、サンティアゴ・ラモン・イ・カハールは1901年に小脳皮質の「リカレント半円」を記述し、ラファエル・ロレンテ・デ・ノーは1933年に「リカレントで相互的な接続」を特定し、興奮性ループが前庭動眼反射に寄与することを提案した。1940年代には、ドナルド・ヘッブが脳内の「反響回路」が短期記憶を説明できると示唆し、ウォーレン・マカロックとウォルター・ピッツは1943年の神経モデルに関する論文でサイクルを含むネットワークを考察した。これらのアイデアはメイシー会議で広く議論され、初期の神経フィードバック理論に影響を与えた。
1960年代、フランク・ローゼンブラットはパーセプトロンの研究を拡張し、ヘッブ学習を用いた「閉ループ相互結合」ネットワークを含め、そのようなネットワークが無限に深いフィードフォワードネットワークと等価であることを指摘した。同様のリカレント設計は、後に中野馨(1971年)、甘利俊一(1972年)、ウィリアム・A・リトル(1974年)によって発表された。並行して、統計力学はイジングモデル(1920年代にヴィルヘルム・レンツとエルンスト・イジングによって開発)とスピングラスのシャーリントン・カークパトリックモデル(1975年)を提供し、フィードバックを伴うネットワークの数学的枠組みを確立した。ジョン・ホップフィールドは、1982年と1984年の影響力のある論文でこれらのアイデアを応用し、統計力学を通じて神経ダイナミクスを研究するための標準モデルであるホップフィールドネットワークとして知られるものを導入した。
現代の発展
1980年代から1990年代にかけてのニューラルネットワーク研究の復興の中で、より実用的なリカレントアーキテクチャが登場した。マイケル・I・ジョーダンは1986年にジョーダンネットワークを提案し、ジェフリー・エルマンは1990年にエルマンネットワークを導入した。両者はシーケンスモデリングの基礎となった。大きな進展は1997年、ゼップ・ホフライターとユルゲン・シュミットフーバーが長短期記憶(LSTM)アーキテクチャを導入したことであり、これは初期のRNNを悩ませた勾配消失問題を緩和し、長距離依存関係の学習を可能にした。同年、マイク・シュスターとクルディップ・K・パリワルは双方向リカレントニューラルネットワーク(BRNN)を提案し、シーケンスを前方と後方の両方向で処理した。双方向性とLSTMの組み合わせ(BiLSTM)は非常に効果的であることが証明され、2000年代半ばまでにBiLSTMネットワークは音声認識で最先端の結果を達成し、Googleの音声検索で使用された。
リカレントネットワークはまた、言語モデリングを進歩させた。2010年、トマーシュ・ミコロフらはRNNベースの言語モデルが従来のn-gramモデルを上回る性能を発揮できることを実証した。2014年、チョ・ギュンヒョンらは機械翻訳用のRNNエンコーダ・デコーダを提案し、別の2014年の研究ではLSTMが一般的なシーケンス間学習を実行できることを示した。これらのモデルは翻訳で最先端となり、注意機構の発展とその後のトランスフォーマーの台頭に重要な役割を果たした。
構成とバリアント
RNNベースのシステムは、構成とアーキテクチャの2つの部分から理解できる。構成とは、複数のRNNがデータフロー内でどのように配置されるか(例えば、積層層や双方向処理)を指し、アーキテクチャとは各RNNユニットの内部構造を指す。一般的なアーキテクチャには、標準的なリカレントユニット、ゲーティング機構を備えたLSTMユニット、そして計算効率の高い代替として導入されたゲート付きリカレントユニット(GRU)がある。
RNNは、多対一(分類用)、一対多(生成用)、多対多(シーケンスラベリング用)など、さまざまな構成で編成できる。双方向構成はデータを両方向で処理して過去と未来の文脈を捉え、エンコーダ・デコーダ構成はあるシーケンスを別のシーケンスにマッピングし、翻訳などのタスクに有用である。
トレーニングと課題
RNNは通常、時間ステップにわたってネットワークを展開するBackpropagationの変種である時間逆伝播法を用いてトレーニングされる。このアプローチは、特に長いシーケンスで勾配消失問題に悩まされ、長距離依存関係の学習を制限する。勾配は逆伝播する際に指数関数的に小さくまたは大きくなり得る。LSTMとGRUアーキテクチャは、情報の流れを制御するゲーティング機構を通じてこの問題に対処し、勾配が多くのステップにわたって持続することを可能にする。Gradient Clipping、Dropout、慎重なWeight Initializationなどの他の手法も、トレーニングの安定化に役立つ。
RNNはデータを逐次的に処理するため、トランスフォーマーよりも並列化が難しいが、短いシーケンスの推論ではメモリ効率が高く、必要な計算リソースが少ないことが多い。これにより、リアルタイムシステム、組み込みデバイス、その他の厳しい制約がある設定で魅力的である。
トランスフォーマーとの関連性と比較
2017年に自己注意に依存するTransformer (architecture)アーキテクチャが導入されて以来、トランスフォーマーは長距離依存関係の優れた処理と高い並列化可能性により、生成AIやLLMを含むほとんどの自然言語処理タスクで支配的な選択肢となっている。しかし、RNNは時代遅れではない。計算効率、リアルタイム処理、またはデータの本質的に逐次的な性質が重要となるアプリケーション(オンデバイス音声認識、リアルタイム言語モデリング、特定の時系列予測タスクなど)で引き続き使用されている。また、RNNとトランスフォーマーのアイデアを組み合わせ、効率と精度のバランスを追求するハイブリッドモデルへの研究も続いている。
要約すると、RNNは隠れ状態やリカレンスなど、シーケンシャルデータ処理のための重要な概念を導入した基本的なモデルのクラスである。その遺産は後継のアーキテクチャに見ることができ、より広い深層学習の風景の中でニッチを保持し続けている。