1. 定義と概要
LSTM(Long Short-Term Memory、長・短期記憶)とは、ゲート機構(情報をどれだけ通すか・忘れるかを調整する仕組み)を持つ特殊なユニットを用いて、時間的に離れた情報同士の依存関係を学習しやすくした RNN の一種です。RNN とは、過去の情報を内部に保持しながら順序のあるデータを処理するニューラルネットワークです。1997年に Sepp Hochreiter 氏と Jürgen Schmidhuber 氏が、学術誌 Neural Computation で提案しました。
従来の RNN は、時刻をさかのぼって誤差を伝える計算を繰り返すうちに勾配が指数関数的に小さくなる勾配消失問題を抱えていました。勾配消失問題とは、時刻や層をさかのぼるほど誤差の勾配が小さくなり、学習がほとんど進まなくなる現象です(仕組みの詳細は別のテーマとして扱われます)。文章の冒頭と末尾のように離れた時刻の情報同士の関係を学習することは、この制約のために難しい課題でした。
そこで、情報をどれだけ保持しどれだけ忘れるかをゲートで制御する発想で LSTM が考案されました。この発想は、深層学習における RNN 系列モデルの学習面での改良として位置づけられ、以降は時系列データを扱う際の標準的な選択肢の一つとして扱われてきました。
近年は自然言語処理(人間が使う言葉をコンピュータに処理させる技術分野)の分野で、Attention機構(系列内のどの要素に注目するかを重み付けする仕組み)が重視されるようになりました。その Attention機構を中心に据えた Transformer(複数の Attention機構を組み合わせ、系列データを並列に処理できるモデル)が、自然言語処理の主流です。ただ、時系列データの分析のように軽量なモデルが求められる場面では、LSTM も引き続き検討対象になっています。
2. 試験対策ポイント
単純な RNN が抱えていた勾配消失問題の背景には、入力重み衝突(新しい情報を取り込むタイミングと重みの調整が競合し、学習がうまく進まない現象)と呼ばれる論点があります。あわせて、出力重み衝突(情報を出力するタイミングと重みの調整が競合し、学習がうまく進まない現象)と呼ばれる論点もありますが、いずれも内部の詳しい仕組みについてはここでは立ち入りません。
LSTM の核となる発想は、情報の流れをゲートで制御することです。3つのゲートが「覚える・忘れる・出す」の役割を分担しており、対応は次のように整理できます。
| ゲート | 決めていること |
|---|---|
| 忘却ゲート(覚えている情報を忘れる担当) | 過去の情報のうちどれを忘れるか |
| 入力ゲート(新しい情報を覚える担当) | 新しい情報のうちどれを取り込むか |
| 出力ゲート(保持している情報を出す担当) | 保持している情報のうちどれを次に渡すか |
これら3つのゲートと、誤差を一定に保つ CEC(Constant Error Carousel。誤差を一定に保ち勾配が消えにくくする仕組み)を組み合わせた内部構造は LSTMブロックと呼ばれます。この内部構造の具体的な配線については、ここでは扱いません。
LSTM の構造を簡略化した GRU(2つのゲートで情報の流れを制御するモデル)という手法もあり、比較しながら整理しておきたいところです。G検定のシラバスでも、LSTM は回帰結合層の関連キーワードとして RNN・GRU・勾配消失問題などとあわせて出題範囲に含まれています。
単純な RNN が抱えていた長期依存の学習困難という課題に対処する手法として登場した経緯も、あわせて押さえておきたい点です。
3. 関連概念との比較・相違点
単純な RNN との最大の違いは、長期の依存関係を学習できるかどうかです。単純な RNN は誤差を逆方向にたどるほど勾配が小さくなり、離れた時刻の情報を覚えていられません。一方 LSTM は、ゲート機構と CEC の働きによって誤差を保ちやすく、長い系列でも情報を維持しやすい構造になっています。
GRU との違いは、構造の複雑さと計算コストに表れます。LSTM は3つのゲートに加え、セル状態(LSTM が長期的に保持する記憶にあたる内部の値)と隠れ状態(RNN 系のモデルが時刻ごとに更新しながら次の時刻へ渡す内部の値)を分けて持つ構造です。観点ごとに並べると、次のように整理できます。
| 観点 | LSTM | GRU |
|---|---|---|
| ゲートの数と種類 | 忘却・入力・出力の3つ | リセットゲート・更新ゲートの2つ |
| 記憶の持ち方 | セル状態と隠れ状態を分けて持つ | セル状態と隠れ状態が統合されている |
| 構造の複雑さ | ゲートが多く複雑 | 簡略化された構造 |
ゲート数が少ない分、GRU はパラメータ(モデルが学習によって調整する内部の数値)数を抑えやすく、学習・推論(学習済みモデルを使って答えを出す処理)のコストは軽くなります。一方で LSTM は、ゲートが多い分だけ情報の流れを細かく制御できる関係にあります。
4. ビジネス・実務での活用シナリオ
自然言語処理や音声認識のように時間の順序を持つデータでは、離れた単語や音素同士のつながりを踏まえた処理に LSTM が使われてきました。文章の翻訳や音声からの文字起こしのように、前後の文脈を踏まえる必要がある処理と相性がよいためです。
気温やセンサーの値、株価のように時間とともに変化するデータの将来予測でも、過去の情報を長期的に保持しながら予測するタスクに活用されています。数十ステップ先の予測でも、直近だけでなく過去の傾向をあわせて反映できる点が実務上の利点です。
計算資源やデータ量が限られる現場では、Transformer のような大規模なモデルと比べて規模を抑えた構成が選ばれることもあり、その候補として LSTM が検討されます。時系列データの分析では、扱うデータの規模や求める精度に応じて、いまも用いられています。
5. 要点まとめ
- LSTM とは、ゲート機構を持つ特殊なユニットにより長期の依存関係を学習しやすくした RNN の一種で、1997年に Hochreiter 氏と Schmidhuber 氏が提案しました。
- 忘却ゲート・入力ゲート・出力ゲートが覚える・忘れる・出すの役割を分担し、CEC とあわせた内部構造は LSTMブロックと呼ばれます。
- 単純な RNN とは長期依存を学習できるかどうかが分かれ目になり、GRU とはゲート数2つへの簡略化によって構造の複雑さと計算コストが異なります。
6. 確認問題
問1LSTM は1997年に Hochreiter 氏と Schmidhuber 氏によって提案された、単純な RNN の勾配消失問題に対処するためのモデルである。
解答・解説をみる
○ 正しい
誤差を時刻をさかのぼって伝える際に勾配が小さくなる問題への対処として1997年に考案された経緯があり、学術誌 Neural Computation で発表されました。
問2LSTM は GRU よりゲートの数が少なく、内部構造がより単純である。
解答・解説をみる
× 誤り
LSTM は忘却・入力・出力の3つのゲートとセル状態を持つのに対し、GRU はリセットゲートと更新ゲートの2つに簡略化されています。正しくはゲート数の多い少ないが逆で、取り違えやすい点です。
問3LSTM のゲート機構は、過去の情報のうちどれを保持しどれを忘れるかを調整する役割を担う。
解答・解説をみる
○ 正しい
忘却ゲートが過去の情報の保持と忘却を、入力ゲートが新しい情報の取り込みを、出力ゲートが次への受け渡しを、それぞれ調整します。

