LSTMの内部構造と計算式:記憶をコントロールする3つの「門」

こんにちは。ゆうせいです。

前回の記事では、RNNが直面する「勾配消失問題」についてお話ししました。せっかくのAIが過去の情報を忘れてしまうなんて、ちょっと寂しいですよね。

そこで登場するのが、救世主「LSTM(Long Short-Term Memory)」です!

名前の通り「長い(Long)短期記憶(Short-Term Memory)」を保持するための工夫が詰まっています。今回は、LSTMがどのような計算式で「忘れるべきこと」と「覚えるべきこと」を選別しているのか、その舞台裏を覗いてみましょう!

情報を運ぶメインストリート「セル状態」

LSTMの一番の特徴は、セル状態と呼ばれる情報の通り道があることです。

これは、例えるなら「高速道路」のようなものです。余計な処理をせず、情報をそのまま未来へ運ぶための専用車線があるおかげで、勾配消失を防ぐことができます。

この高速道路に、どこで乗り、どこで降りるかを決めるのが「ゲート」と呼ばれる3つの仕組みです。

1. 忘却ゲート:不要な記憶を捨てる

まず、過去の記憶の中から「もういらない情報」を捨て去る作業から始まります。

例えば、小説の執筆AIが「新しい登場人物」の話を始めたとき、前のシーンの「天気の詳細」はもう必要ないかもしれませんよね?

ここで使われるのが忘却ゲートです。

計算式: f_{t} = \sigma ( W_{f} \cdot [ h_{t-1}, x_{t} ] + b_{f} )

ここで登場する \sigma (シグモイド関数)がポイントです!

この関数は、出力を 0 から 1 の間に収めます。

  • 0 に近ければ「完全に忘れる」
  • 1 に近ければ「完全に残す」

という判断を下しているのです。皆さんも、テストが終わった瞬間に暗記した内容を忘れてしまった経験はありませんか?あれこそ、脳内の忘却ゲートが 0 になった瞬間ですね!

2. 入力ゲート:新しい情報を書き込む

次に、今入ってきた新しい情報の中で「何を記憶に追加すべきか」を決めます。

計算式: i_{t} = \sigma ( W_{i} \cdot [ h_{t-1}, x_{t} ] + b_{i} )

ここでもシグモイド関数が「どの情報を更新するか」を選択しています。同時に、新しい記憶の候補として \tanh (ハイパボリックタンジェント)を使った計算も行われます。

計算式: \tilde{C}_{t} = \tanh ( W_{C} \cdot [ h_{t-1}, x_{t} ] + b_{C} )

この2つを掛け合わせることで、新しい価値ある情報だけがセル状態(高速道路)に書き込まれるのです。

3. 出力ゲート:必要な分だけ外に出す

最後に、更新されたセル状態の中から「今の判断にどれが必要か」を選び出し、次のステップへ渡します。

計算式: o_{t} = \sigma ( W_{o} \cdot [ h_{t-1}, x_{t} ] + b_{o} )

計算式: h_{t} = o_{t} \times \tanh ( C_{t} )

どれだけ膨大な知識を持っていても、今すぐ口に出すべき言葉は限られていますよね。出力ゲートは、いわば「情報のフィルター」の役割を果たしています。

メリットとデメリットの再確認

LSTMのメリット

  • 超・長期記憶:数百ステップ前の情報も保持できるため、長い文章の文脈も理解できます。
  • 柔軟性:情報の取捨選択が自動で行われるため、ノイズに強い学習が可能です。

LSTMのデメリット

  • 計算コストが高い:ゲートという複雑な仕組みを4つも持っているため、計算に時間がかかります。
  • パラメータが多い:覚えるべき重み(重みの行列 W )が増えるため、メモリを多く消費します。

複雑な数式に隠された「優しさ」

一見すると難しそうな数式の羅列ですが、すべては「勾配消失を防いで、遠くの情報を届けたい」という設計者の優しさから生まれています。

足し算( + )をベースに情報を更新する構造のおかげで、逆伝播のときも勾配が消えにくくなっているのです。

さて、LSTMの仕組みはイメージできましたか?

もし「もっと計算を軽くしたい!」と思ったら、次はGRU(Gated Recurrent Unit)という、ゲートを2つに減らした軽量版のモデルについて調べてみるのがおすすめです。

まずは、Pythonのライブラリ(PyTorchやTensorFlow)を使って、LSTMレイヤーを1つ定義してみることから始めてみましょう。数式の意味が、コードを通じてより深く理解できるはずですよ!

セイ・コンサルティング・グループでは新人エンジニア研修のアシスタント講師を募集しています。

投稿者プロフィール

山崎講師
山崎講師代表取締役
セイ・コンサルティング・グループ株式会社代表取締役。
岐阜県出身。
2000年創業、2004年会社設立。
IT企業向け人材育成研修歴業界歴20年以上。
すべての無駄を省いた費用対効果の高い「筋肉質」な研修を提供します!
この記事に間違い等ありましたらぜひお知らせください。

学生時代は趣味と実益を兼ねてリゾートバイトにいそしむ。長野県白馬村に始まり、志賀高原でのスキーインストラクター、沖縄石垣島、北海道トマム。高じてオーストラリアのゴールドコーストでツアーガイドなど。現在は野菜作りにはまっている。