1行定義
CECとは、LSTMの記憶セルの中核にあり、値を変えずに次の時刻へ渡すことで、誤差を減衰させずに過去へ伝える仕組みのことです。
くわしく
CEC(Constant Error Carousel)は、1997年にHochreiterとSchmidhuberが提案したLSTMの、中心となる仕組みです。直訳すると「一定の誤差の回転木馬」で、RNNの勾配消失問題を和らげるために考えられました。
何が問題だったのか
RNNは、誤差を時刻をさかのぼって伝えながら学習します。このとき、時刻を1つさかのぼるごとに、自己ループの重みと活性化関数の微分の積が掛かります。この積が1より小さいと誤差はどんどん小さくなり、遠い過去の情報を学べません。
解決のアイデア
論文は、この積がちょうど1になれば誤差は一定に保たれると考えました。そこで、活性化関数を恒等関数f(x) = xにし、自己ループの重みを1.0に固定したユニットを置きます。このユニットの値は時刻が進んでもそのまま保たれ、誤差も減衰せずに過去へ伝わります。これがCECです。論文では、1000ステップを超える時間差も学習できると報告しています。
ゲートが必要な理由
CECだけでは、関係のない入力まで記憶に書き込まれたり、記憶の内容が不要な場面で出力を乱したりします。そこで、書き込みを制御する入力ゲートと、読み出しを制御する出力ゲートを加えました。CECとこれらのゲートをまとめたものが、記憶セルです。
その後の変化
当初のLSTMには記憶を消す仕組みがなく、区切りのない入力が長く続くと、記憶セルの値が大きくなり続けるおそれがありました。2000年の研究で忘却ゲートが加えられ、自己ループの係数を入力に応じて変え、不要な記憶を消せるようになりました。現在一般的なLSTMはこの形です。忘却ゲートの値が1に近い間は、CECと同じように内容と誤差が保たれます。
覚え方
「誤差を一定(Constant)のまま、ぐるぐる回して(Carousel)保つ」と覚えます。
G検定での出題
出題のされ方
LSTMがRNNの勾配消失問題を和らげる理由として、記憶セルで誤差を一定に保つCECの役割が問われます。入力・出力・忘却の各ゲートの役割や、勾配爆発への対策である勾配クリッピングとの区別も論点です。
混同しやすい用語
| 用語 | 意味 |
|---|---|
| CECこのページの用語 | LSTMの記憶セルの中核にあり、値を変えずに次の時刻へ渡すことで、誤差を減衰させずに過去へ伝える仕組み |
| ゲート機構 | 0から1の値をとるゲートを情報に掛け合わせ、どの情報をどれだけ通すかを入力に応じて調整する、LSTMやGRUの中心となる仕組み |
違いを表で比べる
◯×チェック
次の文が正しいか、誤りかを選んでください。
-
CECは、2000年に忘却ゲートとともにLSTMへ加えられた仕組みで、1997年に提案された当初のLSTMには含まれていなかった。
答えを見る
答え × 誤り
CECは1997年の最初の論文から、LSTMの中心となる仕組みとして提案されています。2000年の研究で加えられたのは、忘却ゲートのほうです。
-
当初のLSTMの入力ゲートは、関係のない入力によって、CECに蓄えた内容が乱されるのを防ぐために導入された。
答えを見る
答え ◯ 正しい
同じ重みで「情報を書き込む」と「無関係な入力から守る」の両方を担うと、更新が衝突します。そこで書き込みを制御する入力ゲートを置きました。出力ゲートは、読み出しを同じように制御します。
-
1997年の当初のLSTMには記憶を消す仕組みがなく、区切りのない入力を長く処理し続けると、記憶セルの値が際限なく大きくなりうるという弱点があった。
答えを見る
答え ◯ 正しい
2000年の研究がこの弱点を指摘し、記憶セルが適切なときに自ら内容をリセットできるよう、忘却ゲートを加えました。
この用語の練習問題
この用語を扱う練習問題は準備中です。「自然言語処理」の問題を解く
出典
- G検定 試験出題範囲(シラバス2024)第1.4版 (技術分野 項目27 自然言語処理)
- Sepp Hochreiter, Jürgen Schmidhuber, Long Short-Term Memory, Neural Computation 9(8), 1735–1780 (1997) (3.2 Constant Error Flow: Naive Approach、4.1 Memory Cells and Gate Units)
- Felix A. Gers, Jürgen Schmidhuber, Fred Cummins, Learning to Forget: Continual Prediction with LSTM, Neural Computation 12(10), 2451–2471 (2000) (Abstract)