1 歴史
1.1 背景(従来のRNNの限界)
従来のリカレントニューラルネットワーク(RNN)は、時系列データの処理において、時間が経過するにつれて勾配が指数関数的に減少する「勾配消失問題」、または逆に増大する「勾配爆発問題」に悩まされていた。これにより、長期の依存関係(例えば、文章内で遠く離れた単語間の関連性)を学習することが困難であり、実用的な時系列モデリングの障害となっていた。
1.2 提案と初期の研究
1997年、Sepp HochreiterとJürgen Schmidhuberは、この問題を解決するためにLSTMを提案した。彼らの着想は、セル状態と呼ばれる内部記憶ユニットと、情報の流れを制御するゲート機構を導入することにあった。初期のLSTMは、忘却ゲートを持たず、入出力ゲートのみで構成されていた。その後、多くの改良が加えられた。
1.3 発展と普及
2000年代に入り、Alex Gravesらによる改良(Connectionist Temporal Classification (CTC) との組み合わせなど)や、GRU(後述)の登場により、LSTMは音声認識や自然言語処理で広く使われるようになった。2010年代以降、深層学習の隆盛とともに、LSTMは時系列データを扱う標準的なアーキテクチャとして普及し、現在でも多くの応用で利用されている。
2 基本原理
2.1 セル状態
LSTMの中核は「セル状態(cell state)」である。これは、時系列に沿って情報を保持するための「コンベアベルト」のようなもので、ゲートによって小さな線形更新のみが行われる。そのため、勾配が長期にわたって消失しにくくなっている。
2.2 ゲート機構
2.2.1 忘却ゲート
忘却ゲート(forget gate)は、過去のセル状態からどの情報を保持し、どの情報を破棄するかを決定する。シグモイド関数によって各要素が0から1の値に変換され、0に近いほど情報が忘れられる。これは前の隠れ状態と現在の入力に基づいて計算される。
2.2.2 入力ゲート
入力ゲート(input gate)は、現在の入力から新たな情報をセル状態に追加する度合いを制御する。具体的には、シグモイド層でどの値を更新するかを決め、tanh層で新しい候補値を生成する。これらを掛け合わせてセル状態に加える。
2.2.2.1 シグモイド層とtanh層による情報更新
シグモイド層は「どの程度更新するか」を0~1で出力し、tanh層は「どんな新しい情報を追加するか」を-1~1の値で出力する。両者の要素積をとることで、更新量が決定される。これにより、必要な情報だけが選択的にセル状態に追加される。
2.2.3 出力ゲート
出力ゲート(output gate)は、現在のセル状態に基づいて、次の隠れ状態(出力)をどのように生成するかを制御する。まずシグモイド層でセル状態のどの部分を出力するかを決め、次にセル状態をtanhで変換した値と掛け合わせて隠れ状態を得る。
2.3 順伝播の流れ
各時刻ステップにおいて、以下の流れで計算が行われる。
- 忘却ゲートが前のセル状態から情報を選択。
- 入力ゲートが新しい情報を生成し、忘却後のセル状態に加える。
- 更新されたセル状態から、出力ゲートを通じて隠れ状態を生成。
このプロセスが時間方向に繰り返され、各時刻の出力が得られる。
3 主要なバリアント
3.1 GRU(Gated Recurrent Unit)
GRU(Gated Recurrent Unit)は、2014年にChoらによって提案されたLSTMの簡略版である。セル状態を明示的に持たず、リセットゲートと更新ゲートの2つのゲートで構成される。パラメータ数が少なく、計算効率が高いが、長期依存性の学習においてLSTMと同等かそれを上回る性能を示すことがある。
3.2 双方向LSTM
双方向LSTM(Bidirectional LSTM)は、時系列を順方向と逆方向の両方で処理するLSTMを組み合わせたものである。各時刻の出力に過去と未来の両方の情報を利用できるため、文脈理解が必要なタスク(例えば、自然言語処理の固有表現抽出など)で高い性能を発揮する。
3.3 その他の派生(ピープホールLSTM、スタックLSTMなど)
- ピープホールLSTM: セル状態をゲートへの入力に直接利用することで、ゲートの判断にセル状態の情報を反映させる改良。忘却ゲートや入力ゲートがより正確に動作する。
- スタックLSTM(深層LSTM): 複数のLSTM層を積み重ねることで、より高次の抽象化表現を学習する。層数が増えるほど表現力が向上するが、計算コストと過学習のリスクも増大する。
4 応用分野
4.1 自然言語処理(機械翻訳、感情分析)
LSTMは、系列変換タスクに適しており、機械翻訳(encoder-decoderモデル)や感情分析(文書分類)、文章生成などで広く用いられた。双方向LSTMは、前後の文脈を考慮した特徴抽出に有効である。
4.2 音声認識と音声合成
音声信号は時系列データであるため、LSTMは音声認識(音素から単語への変換)や音声合成(テキストから音声波形の生成)でも標準的な手法として利用された。CTC損失関数との組み合わせにより、可変長の入出力を扱える。
4.3 時系列予測(株価、気象)
金融市場の予測や気象データの予測など、過去の観測値から未来を予測するタスクでLSTMが適用される。長期依存性を捉えられる点が、ARIMAなどの従来手法より優れているとされる。ただし、実運用では過学習やノイズへの鋭敏性に注意が必要である。
4.4 その他(音楽生成、動画解析)
- 音楽生成: MIDIデータや音信号の時系列として扱い、メロディーやリズムを学習して自動生成する。
- 動画解析: フレーム系列をLSTMで処理することで、行動認識や異常検知などに応用される。
- その他: 手書き認識、ロボットの制御信号生成、医療データ解析など、多岐にわたる。
5 長所と限界
5.1 長所(長期依存性の学習、実用的な性能)
- 長期にわたる依存関係を学習できる。
- ゲート機構により、勾配消失/爆発の問題を緩和する。
- RNNと比較して、実際のタスクで安定的に高い性能を示すことが多い。
- 多様なバリアントや拡張が存在し、応用範囲が広い。
5.2 限界と課題(計算コスト、過学習のリスク)
- 計算コストが高い:ゲート機構のためパラメータ数が多く、学習に時間がかかる。
- 過学習のリスク:特にデータ量が少ない場合、複雑なアーキテクチャが過学習を引き起こしやすい。正則化(ドロップアウトなど)が必要。
- 並列化が困難:時刻方向に逐次処理されるため、GPUなどでの高速化が制限される。
- Transformerの登場以降、長距離依存性の捉え方や並列処理性能の面で、多くのタスクでLSTMはTransformerに取って代わられた。
6 関連技術
6.1 RNNとその派生
LSTMはRNNの一種である。単純なRNN(Elmanネットワーク)や、その改良版であるBPTT(Backpropagation Through Time)の課題を克服するために開発された。他の派生として、JordanネットワークやClockwork RNNなども存在するが、LSTMとGRUが最も広く使われている。
6.2 アテンション機構とTransformerへの影響
LSTMの成功は、注意機構(attention mechanism)の導入を促進した。特に、LSTMエンコーダで得られた隠れ状態にアテンションを適用する手法(Luongアテンション、Bahdanauアテンション)が発展し、後のTransformer(自己注意機構、並列処理)の基盤となった。TransformerはLSTMの逐次処理の制限を克服し、現在の自然言語処理や時系列処理の主流となっている。