Long short-term memory(LSTM)は、従来のRNNを制限する勾配消失問題に対処するために導入された、リカレントニューラルネットワーク(RNN)の一種である。標準的なRNNとは異なり、LSTMユニットはセル状態と、入力ゲート、出力ゲート、忘却ゲートという3つのゲート機構を組み込み、任意の時間間隔にわたって情報の流れを調整する。この設計により、LSTMネットワークは数千のタイムステップにわたる依存関係を維持でき、音声認識、機械翻訳、時系列予測などのシーケンス学習タスクに効果的である。この名称は、20世紀初頭から研究されてきた認知心理学における長期記憶と短期記憶の概念との類似性を反映している。
LSTMはギャップ長に対する相対的な感度の低さから、他のRNN、隠れマルコフモデル、および代替のシーケンス学習手法よりも優れている。このアーキテクチャは1997年にSepp HochreiterとJürgen Schmidhuberによって提案され、それ以来、特にトランスフォーマーベースのモデルが台頭する前は、深層学習における基礎的な構成要素となっている。
動機
古典的なRNNは理論上、任意の長期依存関係を捉えることができるが、実際にはバックプロパゲーション中に勾配消失問題に悩まされる。バックプロパゲーションで訓練する際、多くのタイムステップにわたって伝播する勾配は指数関数的に縮小し、ネットワークが効果的に学習できなくなる可能性がある。LSTMユニットは、セル状態を通じて勾配がほとんど減衰せずに流れることを可能にすることでこれを軽減するが、勾配爆発に遭遇することは依然としてあり得る。
LSTMの背後にある直感は、いつ情報を記憶し、いつ忘れるかを学習するモジュールを作成することである。ネットワークは、シーケンスの後半でどの情報がおそらく必要になるか、またいつ無関係になるかを学習する。例えば、自然言語処理において、「Dave, as a result of his controversial claims, is now a pariah」という文を処理するLSTMは、主語「Dave」の文法的な性と数を記憶して代名詞「his」を正しく解釈し、動詞「is」の後にその情報を破棄することができる。
アーキテクチャ
LSTMユニットは、セルと3つのゲートで構成される。セルは任意の時間間隔にわたって値を記憶する。忘却ゲートは、前の状態と現在の入力を0から1の間の値にマッピングすることで、前の状態からどの情報を破棄するかを決定し、1は保持、0は破棄を意味する。入力ゲートは、同様のメカニズムを使用して、セル状態にどの新しい情報を格納するかを決定する。出力ゲートは、前の状態と現在の状態の両方を考慮し、再び0から1の間の値を使用して、現在のセル状態のどの部分を出力するかを制御する。
数学的には、忘却ゲートを持つLSTMセルのフォワードパスは、ベクトル表記を使用して記述できる。\(x_t\)をタイムステップ\(t\)での入力、\(h_{t-1}\)を前の隠れ状態、\(c_{t-1}\)を前のセル状態とする。ゲートは次のように計算される:
- 忘却ゲート: \(f_t = \sigma_g(W_f x_t + U_f h_{t-1} + b_f)\)
- 入力ゲート: \(i_t = \sigma_g(W_i x_t + U_i h_{t-1} + b_i)\)
- 出力ゲート: \(o_t = \sigma_g(W_o x_t + U_o h_{t-1} + b_o)\)
- 候補セル状態: \(\tilde{c}_t = \tanh(W_c x_t + U_c h_{t-1} + b_c)\)
- セル状態更新: \(c_t = f_t \odot c_{t-1} + i_t \odot \tilde{c}_t\)
- 隠れ状態: \(h_t = o_t \odot \tanh(c_t)\)
ここで、\(\sigma_g\)はシグモイド活性化関数、\(\tanh\)は双曲線正接、\(\odot\)は要素ごとの乗算を示す。重み行列\(W_q\)と\(U_q\)(ここで\(q\)は\(i\)、\(o\)、\(f\)、または\(c\))は、それぞれ入力接続とリカレント接続を含む。
変種と拡張
LSTMの性能を向上させたり、特定のタスクに適応させたりするために、いくつかの変種が開発されている。最も一般的な変種は忘却ゲートを持つLSTMであり、現在では標準となっている。他の注目すべき変種には以下が含まれる:
- Gated Recurrent Unit(GRU):入力ゲートと忘却ゲートを単一の更新ゲートに統合し、計算の複雑さを低減した簡略化されたアーキテクチャ。
- 双方向LSTM:シーケンスを前方と後方の両方向で処理し、過去と未来の両方からコンテキストを捉える。
- ピープホール接続:ゲートがセル状態に直接アクセスできるようにし、タイミングと精度を向上させる。
これらの変種は、Deep learningアプリケーション、Large language model、およびNeural networkベースのシステムで広く採用されている。
応用
LSTMネットワークは、分類、データ処理、時系列分析、音声認識、機械翻訳、音声活動検出、ロボット制御、ビデオゲーム、医療、エネルギー予測など、幅広いタスクに適用されている。2010年代初頭には、LSTMベースのモデルが音声認識と機械翻訳で最先端の結果を達成し、現代のArtificial intelligenceシステムへの道を開いた。
2017年のTransformer (architecture)アーキテクチャの登場により、シーケンス処理におけるLSTMの優位性は、特に大規模なGenerative AIモデルにおいて低下した。しかし、LSTMは、限られた計算リソースがある場合や、組み込みシステムやリアルタイム制御など、逐次処理が本質的な場合など、多くのアプリケーションで依然として関連性がある。
制限
その利点にもかかわらず、LSTMには制限がある。追加のゲートがあるため、単純なRNNよりも計算コストが高い。勾配クリッピングなどの手法が役立つものの、勾配爆発に遭遇する可能性は依然としてある。さらに、LSTMはシーケンスを逐次的に処理するため、タイムステップ間での並列化が難しく、これが大規模モデルでトランスフォーマーが好まれる主な理由である。それでも、ギャップ長に対する相対的な感度の低さで長期依存関係をモデル化するLSTMの能力は、Machine learningツールボックスにおいて貴重なツールであり続けている。