1行定義
LSTMとは、記憶セルと3つのゲートで情報の書き込み・保持・読み出しを制御し、長い系列でも勾配消失を起こしにくくしたRNNのことです。
くわしく
LSTM(Long Short-Term Memory)は、単純なRNNが苦手な、長い時間にわたる依存関係を学習するために考案されたRNNの一種です。1997年にHochreiterとSchmidhuberが提案しました。
記憶セルとゲート
LSTMの各ユニットは、隠れ状態とは別に、情報を長く保つための記憶セルを持ちます。記憶セルへの出し入れは、3つのゲートが制御します。
- 入力ゲート:新しい情報を記憶セルにどれだけ書き込むかを決めます。
- 忘却ゲート:記憶セルの内容をどれだけ残すか(どれだけ消すか)を決めます。
- 出力ゲート:記憶セルの内容のうち、どれだけを隠れ状態として外に出すかを決めます。
各ゲートはシグモイド関数で0から1の値を出し、その値を情報に掛けて、通す量を調整します。ゲートの開き具合は、現在の入力と前の時刻の隠れ状態から、学習した重みで決まります。
勾配が消えにくい理由
記憶セルは、忘却ゲートで調整した前の時刻の内容に、入力ゲートで調整した新しい情報を足し算で加えて更新されます。単純なRNNのように、毎時刻すべてを重みに掛けて活性化関数に通すわけではありません。忘却ゲートが開いている間は、誤差も記憶セルを通ってほぼそのまま過去へ伝わります。この経路は、元の論文でCEC(Constant Error Carousel)と呼ばれた仕組みを受け継いでいます。
歴史と位置づけ
最初のLSTMには忘却ゲートがなく、入力ゲートと出力ゲートだけでした。忘却ゲートは、記憶セルの内容を適切に消せるよう、後の研究(Gersら、2000年)で加えられました。
LSTMは機械翻訳、音声認識、文章生成などで広く使われ、Seq2Seqの部品にもなりました。一方、3つのゲートと記憶セルへの入力のそれぞれに重みを持つため、パラメータは単純なRNNの約4倍になります。ゲートを2つに減らして簡略化したモデルがGRUです。
覚え方
「入れる・忘れる・出す、の3つの門がある記憶の箱」と覚えます。
G検定での出題
出題のされ方
入力ゲート・忘却ゲート・出力ゲートと記憶セルの役割、単純なRNNより勾配消失が起きにくい理由、GRUとのゲート数や構造の違いが問われます。
混同しやすい用語
| 用語 | 意味 |
|---|---|
| LSTMこのページの用語 | 記憶セルと3つのゲートで情報の書き込み・保持・読み出しを制御し、長い系列でも勾配消失を起こしにくくしたRNN |
| GRU | リセットゲートと更新ゲートの2つで情報の流れを制御する、LSTMを簡略化したRNN |
◯×チェック
次の文が正しいか、誤りかを選んでください。
-
最初に提案されたLSTM(1997年)には忘却ゲートがなく、忘却ゲートは後の研究で追加された。
答えを見る
答え ◯ 正しい
当初は入力ゲートと出力ゲートだけでした。区切りのない長い入力を処理し続けると記憶セルの値が増え続ける問題があり、自分で内容を消せるよう忘却ゲートが加えられました。
-
LSTMは、隠れ層の大きさが同じなら、単純なRNNよりもパラメータが少なく計算が軽い。
答えを見る
答え × 誤り
LSTMは3つのゲートと記憶セルへの入力のそれぞれに重みを持つため、重みは単純なRNNの約4倍になります。そのぶん計算も重くなります。
-
LSTMを使えば勾配爆発は起きなくなるため、学習で勾配クリッピングを併用する必要はない。
答えを見る
答え × 誤り
LSTMが主に緩和するのは勾配消失です。勾配爆発は起こりうるため、LSTMの学習でも勾配クリッピングがよく併用されます。
この用語の練習問題
出典
- G検定 試験出題範囲(シラバス2024)第1.4版 (技術分野 項目22 回帰結合層)
- Sepp Hochreiter, Jürgen Schmidhuber, Long Short-Term Memory, Neural Computation 9(8), 1735–1780 (1997)
- Felix A. Gers, Jürgen Schmidhuber, Fred Cummins, Learning to Forget: Continual Prediction with LSTM, Neural Computation 12(10), 2451–2471 (2000)
- Ian Goodfellow, Yoshua Bengio, Aaron Courville, Deep Learning, MIT Press (2016) (10.10 The Long Short-Term Memory and Other Gated RNNs)