LSTMとは

エルエスティーエムlong short-term memory略語 LSTM別名 長短期記憶

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とのゲート数や構造の違いが問われます。

混同しやすい用語

用語意味
GRUリセットゲートと更新ゲートの2つで情報の流れを制御する、LSTMを簡略化したRNN

違いを表で比べる:LSTMとGRU、RNNとLSTM

◯×チェック

  1. 最初に提案されたLSTM(1997年)には忘却ゲートがなく、忘却ゲートは後の研究で追加された。

    答えを見る

    答え ◯ 正しい

    当初は入力ゲートと出力ゲートだけでした。区切りのない長い入力を処理し続けると記憶セルの値が増え続ける問題があり、自分で内容を消せるよう忘却ゲートが加えられました。

  2. LSTMは、隠れ層の大きさが同じなら、単純なRNNよりもパラメータが少なく計算が軽い。

    答えを見る

    答え × 誤り

    LSTMは3つのゲートと記憶セルへの入力のそれぞれに重みを持つため、重みは単純なRNNの約4倍になります。そのぶん計算も重くなります。

  3. LSTMを使えば勾配爆発は起きなくなるため、学習で勾配クリッピングを併用する必要はない。

    答えを見る

    答え × 誤り

    LSTMが主に緩和するのは勾配消失です。勾配爆発は起こりうるため、LSTMの学習でも勾配クリッピングがよく併用されます。

練習問題

LSTMの問題(7問)
  1. LSTMとGRUのゲート機構
  2. RNN層のパラメータ数
  3. LSTMの記憶セルの更新計算
  4. 双方向RNNの内部構造
  5. GRUの2つのゲートの役割
  6. 長期依存の学習とモデル選択
  7. CECが勾配消失を防ぐ理由

AIで作成 人による確認:未 誤りを報告

出典と作成について

作成:ウカトレ編集部(AIで作成し、別のAIが一次資料と照合。手順は編集方針)

公開日: 最終更新日: 最終確認日:

対応シラバス:シラバス第1.4版 技術22

改訂履歴

表示設定

テーマ
文字の大きさ
問題演習