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使梯度长距离无损传播。三个门的作用是让模型自适应地控制信息的保留、写入和输出使加法通路携带的是有用信息而非噪声。

相关新闻

汉诺塔递归算法详解:从C语言实现到递归思维深度解析

汉诺塔递归算法详解:从C语言实现到递归思维深度解析

1. 从“搬盘子”到“递归思想”:汉诺塔为什么是理解递归的绝佳起点如果你刚开始学C语言,或者对“递归”这个概念感到既熟悉又陌生——知道它大概是自己调用自己,但一写代码就绕晕,那汉诺塔问题绝对是为你量身定做的“磨刀石”。我…

2026/7/31 5:48:22 阅读更多
STM32开发必知:CubeMX沙箱段配置与链接脚本实战解析

STM32开发必知:CubeMX沙箱段配置与链接脚本实战解析

1. 从“沙箱”说起:CubeMX配置的基石逻辑刚接触STM32和CubeMX的朋友,第一次看到“沙箱段”这个词,多半会有点懵。这名字听起来像是某种隔离的安全区域,和芯片配置有什么关系?我第一次在CubeMX的工程设置里看到它时&…

2026/7/31 5:45:00 阅读更多
程序员攻克技术英语:词根词缀实战指南与编程术语解析

程序员攻克技术英语:词根词缀实战指南与编程术语解析

1. 为什么程序员必须啃下词根词缀这块硬骨头“程序员也要学英语”,这话听起来像一句正确的废话,但真正能把它当回事,并且找到高效路径的人,少之又少。很多人一提到学英语,脑子里蹦出来的就是背单词、刷美剧、练口语&am…

2026/7/31 5:45:00 阅读更多
HART协议详解:05 HART现场通信实战

HART协议详解:05 HART现场通信实战

第五季 HART现场通信实战 ——从USB-HART Modem抓包到工程诊断:让协议知识变成维修能力 各位工业现场的工程师朋友们,大家好! 经过前四季的系统学习,我们已经构建了HART协议的完整理论框架: 第一季:六层生命模型与本质认知 第二季:物理层4–20mA与FSK魔法 第三季:数…

2026/7/31 0:14:40 阅读更多
维修工程师的示波器实战:02 探头地线——示波器最大的“坑”

维修工程师的示波器实战:02 探头地线——示波器最大的“坑”

第二篇:探头地线——示波器最大的“坑” ——那根不起眼的小地线,可能比你测的信号还重要 很多工程师第一次用示波器时,都会经历这样一个“惊魂”时刻。 某食品厂包装线,伺服偶发报警。年轻工程师判断是编码器信号受干扰,便拿出示波器认真测量。波形一出来,所有人都倒…

2026/7/31 0:14:40 阅读更多