1 歴史
1.1 背景
リカレントニューラルネットワーク(RNN)の研究は、1980年代から盛んに行われていた。しかし、初期のRNNは学習が困難であり、特に長期依存関係の学習に課題があった。当時のフィードフォワードネットワークでは系列データを扱うために時間窓を用いる必要があり、柔軟性に欠けていた。
1.2 提案と発展
1990年、認知科学者のJeffrey Elmanは、カリフォルニア大学サンディエゴ校において、単純な構造でありながら系列学習を可能にするネットワークを提案した。このネットワークは後に「Elmanネットワーク」と呼ばれるようになった。Elmanの論文「Finding Structure in Time」では、言語の文法構造の学習に応用され、その有効性が示された。その後、LSTMやGRUなどのより高度なRNNが登場するまでの間、時系列処理の標準的なモデルとして広く利用された。
2 構造
2.1 基本構造
Elmanネットワークは、入力層、隠れ層、出力層、およびコンテキスト層の4つの要素から構成される。入力層から隠れ層への結合、隠れ層から出力層への結合はフィードフォワードである。コンテキスト層は隠れ層の出力をコピーして保持し、次の時刻の隠れ層への入力として使用する。
2.2 コンテキスト層
2.2.1 動作原理
コンテキスト層は、前の時刻における隠れ層の状態を記憶する。時刻 \( t \) における隠れ層の出力が \( h(t) \) であるとき、コンテキスト層の出力は \( c(t) = h(t-1) \) となる。これにより、ネットワークは過去の情報を次の時刻に伝播させることができる。
2.2.2 フィードバック結合
コンテキスト層から隠れ層への結合は、重み行列を持つ。このフィードバック結合により、ネットワークは系列パターンを学習するための内部状態を保持する。フィードバック結合の重みは学習によって調整される。
2.3 活性化関数
隠れ層の活性化関数には、双曲線正接関数(tanh)やシグモイド関数が一般的に用いられる。出力層はタスクに応じて線形関数(回帰用)やソフトマックス関数(分類用)が選択される。
3 学習アルゴリズム
3.1 誤差逆伝播法の適用
Elmanネットワークは、同一のネットワークを時間方向に展開することでフィードフォワードネットワークとみなせる。この展開されたネットワークに対して、通常の誤差逆伝播法を適用することで学習が可能である。
3.2 BPTT(Backpropagation Through Time)
BPTTは、展開されたネットワークを逆向きに伝播することで勾配を計算する手法である。時刻 \( T \) までの系列を一度に学習する。長い系列では勾配消失や勾配爆発が発生しやすいが、Elmanネットワークではこれは顕著な課題となる。
3.3 リアルタイムリカレント学習
リアルタイムリカレント学習(RTRL)は、各時刻ごとにオンラインで勾配を計算する手法である。BPTTよりも計算コストが高いが、逐次処理に適している。Elmanネットワークの学習には主にBPTTが使用される。
4 応用
4.1 時系列予測
株価、気温、電力消費量などの時系列データの予測に用いられる。過去のパターンを記憶し、次の値を出力する能力を活かす。
4.2 自然言語処理
4.2.1 言語モデル
文中の単語系列の確率を推定するタスクに適用される。Elman自身の研究では、単語の生起確率や文法構造の学習が行われた。
4.2.2 系列ラベリング
品詞タグ付けや固有表現抽出など、単語ごとにラベルを付与するタスクに利用される。文脈情報を考慮した出力が可能である。
4.3 制御システム
ロボットの動作制御やプロセス制御など、状態が時間的に変化するシステムのモデル化と制御に応用される。
5 利点と限界
5.1 利点
- シンプルな構造で実装が容易。
- 任意長の系列を扱える。
- コンテキスト層により、短期的な時間依存性を学習できる。
5.2 限界
6 関連モデル
6.1 Jordanネットワーク
Jordanネットワークは、Elmanと同時期にMichael Jordanによって提案された。コンテキスト層が出力層の状態を保持する点が異なる(Elmanは隠れ層の状態を保持)。
6.2 LSTM
Long Short-Term Memory(LSTM)は、1997年にHochreiterとSchmidhuberによって提案された。忘却ゲート、入力ゲート、出力ゲートを導入し、長期依存関係の学習を改善した。
6.3 GRU
Gated Recurrent Unit(GRU)は、2014年にChoらによって提案された。LSTMを簡略化した構造で、リセットゲートと更新ゲートのみを持つ。計算効率が良く、多くのタスクでLSTMと同等の性能を示す。
7 参考文献
- Elman, J. L. (1990). Finding Structure in Time. *Cognitive Science*, 14(2), 179–211.
- Rumelhart, D. E., Hinton, G. E., & Williams, R. J. (1986). Learning representations by back-propagating errors. *Nature*, 323(6088), 533–536.
- Hochreiter, S., & Schmidhuber, J. (1997). Long Short-Term Memory. *Neural Computation*, 9(8), 1735–1780.