RNN梯度爆炸/消失的杀手锏——LSTM与GRU

LSTM

LSTM的基本组成部分

  1. 输入门(Input Gate):决定哪些新信息应该被添加到细胞状态中。
  2. 遗忘门(Forget Gate):决定哪些信息应该从细胞状态中丢弃。
  3. 输出门(Output Gate) :决定哪些信息应该从细胞状态输出到【隐藏状态】(真正输出是y(t))。
  4. 细胞状态(Cell State):存储长期记忆的信息流。

工作流程:

x(t) 是当前时刻的输入,h(t-1) 是前一刻的输入,二者通过全连接层与四个神经元(FC)相连,共同决定了四个函数:f(t),g(t),i(t),o(t)

其中f(t) 控制遗忘门,即由当前输入x(t) 和前一刻h(t-1) 输出决定从**c(t-1)**这个长期记忆中删去哪些东西。

g(t) 是预选细胞状态,也就是要放进长期记忆的备选信息,具体要放哪些进c(t) ,取决于输入门,而输入门也是由当前输入x(t) 和前一刻**h(t-1)**输出决定的。

h(t) 是当前时刻的输出,输出内容是来自细胞状态(长期记忆)的,具体输出什么,也是由当前输入x(t) 和前一刻**h(t-1)**输出决定的。

于是,最终存进长期记忆c(t)的内容就是:

新记忆 = 旧记忆 × 遗忘门 + 新输入 × 输入门

同时我们可以看到还有一个y(t)的箭头,是当前时刻的序列,对于s2s,每一个时刻都需要有一个输出对应输出,而v2s或s2v则不需要。

注意,h(t) 是输出到隐藏状态,它作为中间状态,将上一刻的输入传递给下一刻,保证短期记忆的传递。真正作为当前时刻的输出是这个y(t)

门的激活公式

控制遗忘门

即由当前输入x(t) 和前一刻h(t-1) 输出决定从**c(t-1)**这个长期记忆中删去哪些东西。

  • Wf 是遗忘门的权重矩阵
  • bf 是偏置项
  • h(t−1),x(t)\] 表示将 h(t−1) 和 x(t) 拼接成一个向量

长期记忆候选函数

具体要放哪些进c(t) ,取决于输入门,而输入门也是由当前输入x(t) 和前一刻**h(t-1)**输出决定的。

控制输入门

具体输入什么,是由当前输入x(t) 和前一刻**h(t-1)**输出决定的。

控制输出门

具体输出什么,也是由当前输入x(t) 和前一刻**h(t-1)**输出决定的。

实际的长期记忆 (表逐项乘积)

新记忆 = 旧记忆 × 遗忘门 + 新输入 × 输入门


GRU是一种简化版的LSTM,它同样能够处理长期依赖问题,但通过减少门的数量和简化计算过程来提高效率。


GRU

GRU的基本组成部分

  1. 重置门(Reset Gate):决定哪些过去的信息需要被"遗忘"。
  2. 更新门(Update Gate) :决定我要用新信息替换掉多少旧记忆。
  3. 继承门 (Inheritate Gate) :决定我要保留多少旧记忆。
  4. 候选状态(Candidate State):基于当前输入和上一时刻的状态计算出的新状态候选值

工作流程:

在 GRU 中,h(t) 既是短期记忆,也承载了长期依赖信息

旧记忆h(t-1) 与当前输入**x(t)**进入后经过两个全连接神经元。

第一个神经元由旧记忆和当前输入决定了遗忘函数r(t) ,即从旧记忆**h(t-1)**中遗忘哪些内容。

经过第一个神经元的旧记忆会和当前输入全连接(右侧)得到预选更新内容g(t)。具体更新哪些内容,要由1-z(t)决定。

第二个神经元由旧记忆和当前输入决定了更新函数z(t) ,即要用新信息替换掉多少旧记忆(不是删去)。

那么1-z(t)就是要保留多少旧记忆。

因此预选更新内容g(t)经过保留门(右侧)就会往记忆中加入保留的内容。

因此,往记忆中加入的就是保留的旧记忆(右侧)和更新的新记忆(中间直上)。

更新公式就是

门的激活公式

控制重置门(遗忘门)

决定在计算候选状态时,上一时刻的隐藏状态 **h(t−1)**中有多少信息需要被保留

控制继承门

z(t)决定我要保留多少旧记忆。

计算候选状态 g(t)

控制更新门

1-z(t)

更新隐藏状态 h(t)

相关推荐
丝瓜蛋汤41 分钟前
NCE(noise contrastive estimation)loss噪声对比估计损失和InfoNCE loss
人工智能
DeepVis Research42 分钟前
【AGI Safety/Robotics】2026年度 AGI 对抗性强化学习与软体机器人控制基准索引 (Skynet/Legion Core)
人工智能·网络安全·机器人·数据集·强化学习
Tipriest_7 小时前
torch训练出的模型的组成以及模型训练后的使用和分析办法
人工智能·深度学习·torch·utils
QuiteCoder7 小时前
深度学习的范式演进、架构前沿与通用人工智能之路
人工智能·深度学习
周名彥7 小时前
### 天脑体系V∞·13824D完全体终极架构与全域落地研究报告 (生物计算与隐私计算融合版)
人工智能·神经网络·去中心化·量子计算·agi
MoonBit月兔7 小时前
年终 Meetup:走进腾讯|AI 原生编程与 Code Agent 实战交流会
大数据·开发语言·人工智能·腾讯云·moonbit
大模型任我行8 小时前
人大:熵引导的LLM有限数据训练
人工智能·语言模型·自然语言处理·论文笔记
weixin_468466858 小时前
YOLOv13结合代码原理详细解析及模型安装与使用
人工智能·深度学习·yolo·计算机视觉·图像识别·目标识别·yolov13
蹦蹦跳跳真可爱5898 小时前
Python----大模型(GPT-2模型训练加速,训练策略)
人工智能·pytorch·python·gpt·embedding
xwill*8 小时前
π∗0.6: a VLA That Learns From Experience
人工智能·pytorch·python