LSTM のゲート機構
忘却・入力・出力の 3 ゲート開度を動かし、cₜ = f·cₜ₋₁ + i·c̃ₜ でセル状態が保持・更新され、hₜ = o·tanh(cₜ) で出力される様子を体感します。
0.85
0.50
0.80
0.60
系列を流すと、各時刻に短いインパルス入力が入ります。忘却ゲートを閉じる(f を下げる)と古い記憶がすぐ消え、開ける(f を上げる)と長く残ります。
忘却 f · 入力 i · 出力 o
—
前のセル状態 |cₜ₋₁|平均
—
新セル状態 |cₜ|平均
—
出力 |hₜ|平均
—
ゲートがセル状態ベクトルをどう変換するか(各バー = ベクトルの1要素、上=正・下=負)
記憶の保持・減衰(時間方向:縦バンドが各時刻のセル状態 c の強さ。f を変えて消え方を比べる)
LSTM(長短期記憶)は、まっすぐ流れる セル状態 cₜ という「記憶のベルトコンベア」を持ち、
3 つのゲートでその出し入れを 0〜1 の開度で調整します。
忘却ゲート f は前の記憶 cₜ₋₁ をどれだけ残すか(
ゲートは実際にはシグモイドで 0〜1 を出しますが、ここでは開度そのものをスライダーで直接動かして体感します。
忘却ゲート f は前の記憶 cₜ₋₁ をどれだけ残すか(
f·cₜ₋₁)、
入力ゲート i は新しい候補 c̃ₜ をどれだけ書き込むか(i·c̃ₜ)を決め、両者を足して
cₜ = f·cₜ₋₁ + i·c̃ₜ を作ります。
出力ゲート o は hₜ = o·tanh(cₜ) で、記憶のうちどれだけを外に出すかを決めます。ゲートは実際にはシグモイドで 0〜1 を出しますが、ここでは開度そのものをスライダーで直接動かして体感します。
いま何が起きている?
ここがポイント
- 忘却ゲート f ──
f·cₜ₋₁。f≈1 で過去をそのまま保持、f≈0 で過去を消去する「記憶のスイッチ」。 - 入力ゲート i ──
i·c̃ₜ。新しい候補をどれだけ書き込むか。i≈0 なら入力を無視してセル状態を守る。 - セル状態 cₜ = f·cₜ₋₁ + i·c̃ₜ ── 加算でつながるので勾配が消えにくく、長距離の依存を覚えられる。
- 出力ゲート o ──
hₜ = o·tanh(cₜ)。記憶 c はそのままに、外に見せる量だけを別途調整できる(c と h の分離)。