LSTM 通过哪些门结构来解决长程依赖问题?各门的作用是什么? LSTM 的门结构与长程依赖问题LSTMLong Short-Term Memory通过引入细胞状态Cell State和三个门控机制来解决标准 RNN 的梯度消失问题。核心设计思想是为梯度提供一条贯穿所有时间步的加法通路避免矩阵连乘导致的梯度衰减。整体结构C_{t-1} ────────────●──────────────── Cₜ ← 细胞状态信息高速公路 ↑ h_{t-1} ──┬──→ [遗忘门 fₜ] ──┐ │ │ xₜ ────┤──→ [输入门 iₜ] ──→●(加)──→ Cₜ │ ↑ │ │ [候选 C̃ₜ] │ │ │ └──→ [输出门 oₜ] ──→ tanh(Cₜ) ⊙ oₜ ──→ hₜ三个门的详细作用1. 遗忘门Forget Gate—— 决定丢弃什么fₜ σ(W_f · [h_{t-1}, xₜ] b_f)输入上一步隐藏状态h_{t-1} 当前输入xₜ输出0 到 1 之间的向量逐元素控制作用决定细胞状态C_{t-1}中哪些信息需要遗忘哪些需要保留fₜ → 0完全遗忘对应维度的历史信息fₜ → 1完全保留对应维度的历史信息直觉在语言模型中处理新主语时遗忘门会关闭以丢弃旧主语的性别信息。2. 输入门Input Gate—— 决定写入什么iₜ σ(W_i · [h_{t-1}, xₜ] b_i) C̃ₜ tanh(W_C · [h_{t-1}, xₜ] b_C)输入门iₜ0 到 1 的向量控制每个维度允许写入多少新信息候选状态C̃ₜtanh 输出-1 到 1表示候选的新信息内容作用两者逐元素相乘iₜ ⊙ C̃ₜ决定将多少新信息写入细胞状态直觉遇到新主语 “Alice” 时输入门打开将 “女性” 信息写入细胞状态。3. 输出门Output Gate—— 决定输出什么oₜ σ(W_o · [h_{t-1}, xₜ] b_o) hₜ oₜ ⊙ tanh(Cₜ)作用决定细胞状态Cₜ中哪些信息作为当前时间步的隐藏状态hₜ输出细胞状态先经 tanh 压缩到 [-1, 1]再与输出门逐元素相乘直觉细胞状态中可能存储了主语性别信息但当前词是动词不需要输出性别输出门关闭。细胞状态更新加法通路的关键三个门协同工作细胞状态的更新公式Cₜ fₜ ⊙ C_{t-1} iₜ ⊙ C̃ₜ ↑ ↑ 遗忘门控制保留 输入门控制写入这是 LSTM 解决梯度消失的核心所在。为什么能解决梯度消失对比标准 RNN 和 LSTM 的梯度传播路径标准 RNNhₜ tanh(W_hh · h_{t-1} W_xh · xₜ) ∂hₜ/∂h_{t-1} W_hh · diag(tanh(hₜ)) ← 矩阵乘法连乘 T 次 → (W_hh)^T → 消失/爆炸LSTMCₜ fₜ ⊙ C_{t-1} iₜ ⊙ C̃ₜ ∂Cₜ/∂C_{t-1} fₜ ← 逐元素乘法不是矩阵乘法关键区别标准 RNNLSTM梯度传播方式矩阵连乘(W_hh)^T逐元素乘法∏ fₜ连乘问题特征值连乘 → 指数衰减/增长无矩阵连乘无特征值问题梯度控制无遗忘门fₜ可学习为接近 1当遗忘门fₜ ≈ 1时∂L/∂C₁ ∂L/∂C_T · ∏(t2→T) fₜ ≈ ∂L/∂C_T · 1梯度几乎无损地从最后一步传回第一步长距离依赖得以保留。各门协作的完整示例以语言模型处理句子The cat, which already ate fish, was full.为例时间步当前词遗忘门输入门输出门细胞状态变化t1The打开写入定冠词输出C: [定冠词]t2cat保留写入猫、单数输出C: [定冠词, 猫, 单数]t3-7which…fish保留主语信息写入从句信息从句输出C: [猫, 单数, …从句]t8was保留单数写入过去时输出C: [猫,单数, 过去时]t9full保留—输出C: [猫, 单数, 过去时]was需要回溯到cat距离 6 步获取单数信息 → 遗忘门保持打开细胞状态中的单数信息一路保留标准 RNN 在 6 步后梯度已严重衰减无法将cat的单数信息传递到was总结门公式作用类比遗忘门 fₜσ(W_f·[h_{t-1},xₜ])控制历史信息的保留/丢弃橡皮擦输入门 iₜσ(W_i·[h_{t-1},xₜ])控制新信息的写入量笔候选状态 C̃ₜtanh(W_C·[h_{t-1},xₜ])生成候选新信息墨水输出门 oₜσ(W_o·[h_{t-1},xₜ])控制细胞状态到输出的量阅读窗口核心结论LSTM 解决长程依赖的本质不是门本身而是细胞状态更新公式Cₜ fₜ ⊙ C_{t-1} iₜ ⊙ C̃ₜ中的加法结构。加法使得梯度传播变为逐元素乘法由可学习的遗忘门控制而非矩阵连乘从而让遗忘门可以学会保持接近 1使梯度长距离无损传播。三个门的作用是让模型自适应地控制信息的保留、写入和输出使加法通路携带的是有用信息而非噪声。