1行定義
エルマンネットワークとは、前の時刻の隠れ層の値を文脈層に写し取り、次の時刻の隠れ層へ入力として戻す、単純な構造のRNNのことです。
くわしく
エルマンネットワークは、認知科学者のJeffrey Elmanが1990年の論文「Finding Structure in Time」で示した、再帰型ニューラルネットワーク(RNN)の基本形です。単純再帰型ネットワーク(SRN)とも呼ばれます。現在の基本的なRNNは、ほぼこの形をしています。
しくみ
入力層・隠れ層・出力層からなるネットワークに、文脈層(context layer)を加えます。各時刻の隠れ層の値は、そのまま文脈層に写し取られます。次の時刻には、新しい入力と文脈層の値が一緒に隠れ層へ入ります。
こうして隠れ層は、「今の入力」と「直前の自分の状態」をあわせて計算します。直前の状態はさらに前の状態から作られているので、それより前の入力の影響も少しずつ受け継がれます。そのため、文の中で次に来る単語を予測するなど、順序に意味のある課題を学習できます。Elmanは、単語を1つずつ入力して次の単語を予測させる実験で、名詞や動詞といった単語のまとまりが隠れ層の表現に自然に現れることを示しました。
ジョルダンネットワークとの違い
それより前の1986年にMichael I. Jordanが示したジョルダンネットワークは、出力層の値を戻します。エルマンネットワークは隠れ層の値を戻すので、出力として表に出ない内部の情報も次の時刻へ渡せます。
学習と弱点
時間方向に展開すると、時刻の数だけ層を重ねた深いネットワークと同じ形になり、BPTTで学習できます。ただし、時刻をさかのぼるほど勾配が小さくなる勾配消失が起きやすく、遠い過去の情報を保つのは苦手です。この弱点を補うのがLSTMやGRUです。
覚え方
アルファベットはEがJより前、層は隠れ層が出力層より前です。「E(Elman)=隠れ層、J(Jordan)=出力層」と対応させて覚えます。発表年はJordan(1986年)が先です。
G検定での出題
出題のされ方
隠れ層の値を戻すエルマンネットワークと、出力層の値を戻すジョルダンネットワークの区別が中心です。BPTTによる学習や、勾配消失というRNN共通の弱点との関係も問われます。
混同しやすい用語
| 用語 | 意味 |
|---|---|
| エルマンネットワークこのページの用語 | 前の時刻の隠れ層の値を文脈層に写し取り、次の時刻の隠れ層へ入力として戻す、単純な構造のRNN |
| ジョルダンネットワーク | 前の時刻の出力層の値を状態層に戻し、次の時刻の隠れ層への入力として使う、初期の再帰型ニューラルネットワーク |
◯×チェック
次の文が正しいか、誤りかを選んでください。
-
エルマンネットワークの文脈層は、前の時刻の隠れ層の値を写し取ったものであり、元の論文では隠れ層から文脈層への結合は重み1で固定されている。
答えを見る
答え ◯ 正しい
文脈層は、隠れ層の値をそのまま次の時刻まで預かる役割です。学習で調整するのは、文脈層から隠れ層へ戻る結合などのほうです。
-
エルマンネットワークの隠れ層には、その時刻の入力だけが与えられる。
答えを見る
答え × 誤り
隠れ層には、その時刻の入力と、文脈層(前の時刻の隠れ層の写し)の両方が入ります。これにより、それまでの入力の流れを踏まえた計算ができます。
-
エルマンネットワークを時間方向に展開すると深いネットワークと同じ形になるため、長い系列では勾配消失が起きやすい。
答えを見る
答え ◯ 正しい
BPTTで時刻をさかのぼるたびに勾配が掛け合わされるためです。この弱点を補うため、ゲート機構を持つLSTMやGRUが使われるようになりました。
この用語の練習問題
出典
- G検定 試験出題範囲(シラバス2024)第1.4版 (技術分野 項目22 回帰結合層)
- Jeffrey L. Elman, Finding Structure in Time, Cognitive Science 14(2), 179–211 (1990)
- Michael I. Jordan, Serial Order: A Parallel Distributed Processing Approach, Advances in Psychology 121, 471–495 (1997; 1986年の技術報告を収録)
- Zachary C. Lipton, John Berkowitz, Charles Elkan, A Critical Review of Recurrent Neural Networks for Sequence Learning (2015)