【DL】GRU|update gate|reset gate

一、为什么需要 GRU?

因为 LSTM 虽然能够通过 Cell State 和三个门更好地处理长期依赖,但结构比较复杂、参数较多、计算成本也更高。GRU 希望用更简单的结构,实现类似的记忆控制能力。GRU 不是为了"解决 RNN 完全不同的问题",而是对 LSTM 的一种简化。

二、GRU 做了什么简化?

GRU 主要做了三个重要改变:

  1. 取消了独立的 Cell State
  2. 把记忆统一放进 Hidden State
  3. 把 LSTM 的多个门简化成两个主要门

LSTM

复制代码
Cₜ
+
hₜ
+
3个门

GRU

复制代码
hₜ
+
2个门

三、GRU 有哪两个门?

Update Gate 是干什么的?

Update Gate 决定上一时刻的 Hidden State 有多少应该保留,以及当前新的候选信息有多少应该加入。简单理解:旧记忆和新记忆,我到底更相信谁?

如果updat gate很大,更相信旧记忆,反之。

Reset Gate 是干什么的?

Update Gate 决定上一时刻的 Hidden State 有多少应该保留,以及当前新的候选信息有多少应该加入。简单理解:计算新记忆的时候,我还要不要参考过去?rt=0;基本不考虑过去,反之。

四、GRU 的核心结构

复制代码
             当前输入 xₜ
                  │
                  ↓
          ┌──────────────┐
          │ Reset Gate   │
          └──────┬───────┘
                 ↓
        过去信息要保留多少?
                 ↓
          候选 Hidden State
                 │
                 ↓
          ┌──────────────┐
          │ Update Gate  │
          └──────┬───────┘
                 ↓
       旧状态和新状态怎么组合?
                 ↓
               hₜ

五、我们手算一个简单例子

复制代码
假设:
h(t-1) = 0.8

候选状态:
ht = 0.2

update gate 
zt = 0.3

ht = 0.62(70% 旧状态 + 30% 新状态)

Update Gate 越小,越倾向于保留旧记忆。

Update Gate 越大,越倾向于更新成新的状态。

六、LSTM 和 GRU 对比

LSTM GRU
Hidden State
Cell State
Forget Gate
Input Gate
Output Gate
Reset Gate
Update Gate
结构复杂度 较高 较低
参数量 较多 较少

七、GRU 为什么不需要 Cell State?

因为 GRU 把长期记忆和当前隐藏状态统一到一个 Hidden State 中,不再像 LSTM 那样把 Cell State 和 Hidden State 分开维护。

八、GRU 一定比 LSTM 好吗?

GRU 并不是在所有任务上都优于 LSTM。两者都是门控循环网络,具体效果取决于数据、任务和训练设置。

九、现在看 RNN → LSTM → GRU

复制代码
RNN
│
├── Hidden State
│
└── 问题:
    长期依赖困难
          ↓
        LSTM
│
├── Hidden State
├── Cell State
├── Forget Gate
├── Input Gate
└── Output Gate
          ↓
    解决长期依赖
          ↓
        GRU
│
├── Hidden State
├── Reset Gate
└── Update Gate

我们不应该只是关注这些名词,而是关注它背后的问题,发现问题->提出解决方案-> 发现新问题->继续改进

相关推荐
智码看视界3 天前
第4篇:循环神经网络及其变体 LSTM/GRU 实战
python·自然语言处理·gru·lstm·循环神经网络·情感分析·梯度消失
Thomas.Sir4 天前
第16课:PyTorch|循环神经网络RNN与序列数据处理【让模型拥有“记忆”】
人工智能·pytorch·rnn
zx_741484815 天前
【深度学习入门】循环神经网络(RNN)与长短期记忆网络(LSTM)详解
rnn·深度学习·lstm
tiger8659 天前
深入理解状态空间模型 (SSM):RNN 与 Transformer 的优雅融合
人工智能·gpt·rnn·神经网络·自然语言处理·transformer·语音识别
在所不辞兄10 天前
【零基础学智能仿真-16】循环神经网络与LSTM/GRU——学习力学响应的历史记忆
人工智能·rnn·神经网络·gru·lstm·工程技术·工程仿真
2601_9620990813 天前
在Python中使用LSTM和PyTorch进行时间序列预测
pytorch·机器学习·lstm·时间序列预测·数据预处理
June bug14 天前
【HCIA- AI(正课)】2.4 循环神经网络
人工智能·rnn·深度学习
疯神NB15 天前
循环神经网络RNN
人工智能·rnn·深度学习
LlmCraft|大模型工程实践16 天前
【PyTorch NLP实战】从零实现 LSTM 酒店评论情感分析(附完整代码逐行讲解)
pytorch·自然语言处理·lstm
东方佑17 天前
元可塑性循环单元(Meta-RU)与 GRU 的对比研究与混合设计
人工智能·深度学习·gru