【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

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

相关推荐
β添砖java3 小时前
深度学习5:循环神经网络:RNN介绍、词嵌入层、循环网络层、文本生成案例
人工智能·rnn·深度学习
机器学习之心2 天前
基于CNN-LSTM的轴承剩余寿命预测,MATLAB代码
matlab·cnn·lstm·cnn-lstm·轴承剩余寿命预测
DolitD3 天前
3D应用多实例并发中的GPU隔离技术路径分析
容器·gru·接口隔离原则
EDPJ5 天前
(2017|ICLR|Google Brain,主网络与超网络联合训练,静态/动态超网络,LSTM,RNN)超网络
神经网络·机器学习·lstm·超网络
129Lab5 天前
BMS 核心算法:SOC 估算从安时积分到 LSTM-UKF 串级融合的 30 年演进(附 Python 实现)
python·算法·lstm·python3.11·bms·soc估算
程序猿阿森8 天前
Transformer 相对 CNN/RNN 的核心优势:全局依赖、并行计算与可扩展性
rnn·cnn·transformer
Light Gao10 天前
LSTM 与 GRU 详解:从门控机制到架构图与数值计算
人工智能·gru·lstm
东方佑11 天前
事件发生与智能:微观一致性与宏观涌现性
人工智能·深度学习·自然语言处理·架构·gru
Light Gao11 天前
RNN 原理、架构与一次完整手算
人工智能·rnn·深度学习·神经网络·embedding
FelixZhang02814 天前
量化求真10|回测通过以后,策略就能上场吗?
人工智能·python·深度学习·学习·机器学习·金融·lstm