当前位置: 首页 > article >正文

深度学习GRU模型原理

一、介绍

门控循环单元(Gated Recurrent Unit, GRU) 是一种改进的循环神经网络(RNN),专为解决传统RNN的长期依赖问题(梯度消失/爆炸)而设计。其核心是通过门控机制动态控制信息的流动。与LSTM相比:

  1. 引入更新门重置门,替代LSTM的复杂三门结构
  2. 参数更少,计算效率更高,但性能与LSTM相当

二、公式详解 

1.更新门

用于控制历史信息保留和新信息吸收程度,将前一刻隐藏状态ht-1和当前输入xt拼接,然后乘以更新门权重Wz,加上偏置值,最后把这些放到sigmoid函数中。

当Zt靠近1的时候,就保留历史状态;靠近0的时候就采用新状态(候选隐藏状态)。

2.重置门

重置门决定丢弃多少历史数据。

  • 关键作用
    • 若rt​≈1,保留完整历史信息用于生成h~t
    • 若rt​≈0,候选状态h~th~t​将忽略ht−1​,仅依赖当前输入xt

3.候选隐藏状态 

生成潜在的新状态,结合重置门过滤后的历史信息。

  • rt​⊙ht−1​:重置门对历史信息的选择性过滤
  • tanh⁡tanh:将输出压缩到[−1,1][−1,1],增强非线性表达能力

rt⊙ht−1的整体含义是:通过重置门rt对上一个隐藏状态ht−1进行调节,选择性地遗忘或保留部分信息。具体来说,如果rt中的某个元素接近0,对应的ht−1中的信息会被抑制;如果接近1,则保留该部分信息。

4.最终隐藏状态 

混合旧状态与候选状态,完成信息更新

  • zt​决定了新旧状态的加权平均比例
  • 若zt=0.2zt​=0.2,则保留80%旧状态,添加20%新候选状态

三、与LSTM对比

 


http://www.kler.cn/a/583070.html

相关文章:

  • Linux——Shell运行原理以及Linux权限
  • 【Linux docker 容器】关于想要让虚拟机在开机时候也docker自己启动,容器也自己启动,省去要自己开docker和容器
  • 已安装 MFC 仍提示“此项目需要 MFC 库”的解决方法 (MSB8041)
  • 骑士74CMS_v3.34.0SE版uniapp全开源小程序怎么编译admin和member流程一篇文章说清楚
  • 【Go语言圣经1.5】
  • 前端对话框项目——调用字节Coze API
  • 18 | 实现简洁架构的 Handler 层
  • python str repr方法区别
  • 数据库原理4
  • 开源链动2+1模式AI智能名片S2B2C商城小程序在KOC参与门店做透中的应用探索
  • 本地部署资源聚合搜索神器 Jackett 并实现外部访问
  • 苹果“被盗设备保护”的取证意义
  • Haproxy配置入门
  • 在芯片设计的后端流程中,通过metal修timing是什么意思,怎么实施。举个timing违例说明一下
  • 详解 C++ 与 C 兼容的接口(如 extern “C“ 函数)
  • 【Academy】SQL 注入 ------ SQL injection
  • [023-01-40].第40节:组件应用 - OpenFeign与 Sentinel 集成实现fallback服务降级
  • Flutter——Android与Flutter混合开发详细教程
  • 学习Android Audio 焦点记录
  • scoop退回软件版本的方法