LSTM

消すものと残すものをゲートで選ぶ回帰型ニューラルネットワーク

ポイント
  • LSTM(Long Short-Term Memory、長短期記憶)は回帰型ニューラルネットワークに長く残る記憶の筋を一本別に付け足した構造です。
  • 一回ごとにゲートが三つ開いたり閉じたりします。何を消すか、何を新しく書き込むか、何を取り出して見せるかをそれぞれ決めます。
  • この記憶の筋は手を加えなければそのまま流れます。 だから文の冒頭に出てきた言葉も最後まで生き残れます。
  • 学習のときにさかのぼる信号もこの筋を伝って流れるので、長い文章でも前の部分を学べます。
  • ゲートを開け閉めする基準を人が決めません。何を残すか自体を学習で身につけます。
目次

1たとえで理解する

さきほどの伝言ゲームにノートを一冊添えました。列に沿って人の前を順番に流れていくノートです。今度は一人が新しい一言を聞くたびに三つのことを決めます。ノートからもう要らなくなった行を消すかどうか、たった今聞いたことのうち何を新しく書き込むか、そして隣の人にささやくときノートから何を取り出して読み上げるかです。

ノートに書かれた言葉は誰も手を加えない限りそのまま残ります。だから一番前で出てきた「今日」も、消しさえしなければ最後の人の前まではっきり届きます。横に渡すささやきは相変わらず短くすぐ崩れますが、長く抱えておくべきものはノートが代わりに引き受けます。

2くわしく

ノートとささやき、二つの筋が流れます

普通の回帰型ニューラルネットワークは、一回ごとに要約を一つだけ渡します。LSTMはここに筋をもう一本加えます。一つは隣の人にすぐ渡すささやきで、もう一つは列に沿って長く流れるノートです。

ささやきは今すぐ必要な内容です。次の一言を予想したり答えを出したりするときにそのまま使われます。ノートはあとで必要になるかもしれない内容を保存しておきます。今使わなくても持ち続けます。

二つの筋が通る道も違います。ささやきは一回ごとに新しく計算されてすっかり作り直されますが、ノートは消したり書いたりする手入れだけを受けます。この違いがLSTMの核心です。

消すゲート:要らなくなったものを取り除きます

最初のゲートはノートを見渡して消す場所を決めます。新しい一言を聞くと、前に書いておいたことのうち役に立たなくなった箇所が出てくるからです。物語の主人公が変わったなら、前の主人公を抱えている理由はありません。

消すといってもまるごと空にするわけではありません。行ごとにどれだけ残すかを0から1の間の値で決めます。そのまま残すこともあれば、半分くらいぼかすこともあり、完全に消すこともあります。

書くゲート:新しく聞いたことのうち残すものだけ

二つ目のゲートは、たった今聞いた一言の中から何をノートに書くかを選ぶゲートです。聞いたことを全部書けばノートはすぐいっぱいになるので、あとで役に立ちそうなものだけを選びます。

このゲートは二つの部分に分かれます。片方は書く内容を作り、もう片方はその内容をどれだけ濃く書くかを決めます。二つの値を掛けた分だけがノートに加えられます。前の段階で消して空いた場所にこの内容が乗ることで、ノートが一度更新されます。

読むゲート:今必要なものだけ取り出します

三つ目のゲートは、ノートから何を取り出して隣の人にささやくかを決めます。ノートに書かれた内容をまるごと読み上げるわけではありません。今この場で必要な箇所だけを選んで送り出します。

おかげでノートは静かに長く覚えており、ささやきは一回ごとに必要なものだけを短く伝えるという役割分担が生まれます。外に見える出力はいつもこの読むゲートを経て出てきた値です。

なぜ長い文章に強いのでしょう

普通の回帰型ニューラルネットワークでは、要約が一回ごとに計算に丸ごと巻き込まれます。その過程が数十回重なると、最初の内容が残りません。LSTMのノートは違う流れ方をします。消すゲートが開かなければ、前の回の値がほぼそのまま次の回へ渡ります。

学習のときも同じです。外れた量を後ろから前へさかのぼって送るとき、この筋が近道の役目を果たし、文の冒頭まで信号が届きます。回帰型ニューラルネットワークが数十語を超えるのに苦労するとき、LSTMは数百語を扱い、長く翻訳や音声認識の主力として使われてきました。

ただし限界もそのままです。依然として一語ずつ順番にしか進めないので計算をまとめて行いにくく、ゲートが三つも付いている分だけ一回あたりの計算量も増えます。

3もう少し正確に

LSTMはセル状態と呼ばれる別のベクトルを一回ごとに引き継いで運びながら、忘却ゲート・入力ゲート・出力ゲートがそれぞれどれだけ通すかを0から1の間の値で決める回帰型ニューラルネットワークです。セル状態は掛け算と足し算だけを経て更新されるため、さかのぼる信号がなかなか小さくなりません。

たとえがずれる点もあります。ノートは文字で書かれた文章ではなく数字の束なので、人が開いても読めません。消すゲートも特定の行を選んで消すのではなく、すべての場所についてどれだけ残すかを一度に決めます。ある一つの場所が主人公の名前を担当しているというようにきれいに分かれているわけでもありません。

ゲートを少し減らして軽くした変形も広く使われています。ゲートの数と筋をまとめる方式が違うだけで、手を加えなければそのまま流れる筋を別に持つという発想は同じです。文を前から後ろへ一回、後ろから前へ一回たどって二つの結果を合わせる方式とも自由に組み合わせられます。

4やってみる

5よくある誤解

  • LSTMが前の内容を全部覚えていると思われがちですが、実際には収められる大きさが決まっているので残すものを選び続けなければなりません。

  • ゲート三つを人が規則として決めていると考えられがちですが、実際にはいつ開け閉めするかを学習で自分で身につけます。

  • LSTMは回帰型ニューラルネットワークとまったく違う構造だと思われがちですが、実際には同じ骨組みに長く残る記憶の筋とゲートを付け足したものです。

7ひとこと要約

つまりLSTMは一回ごとに消す・書く・取り出すゲート三つで長く残る記憶の筋を管理し、長い文章でも前の部分を見失わない回帰型ニューラルネットワークです。

誤りや、もっと良いたとえがありますか? 修正を提案する · 最終更新2026-09-02