三步理解--门控循环单元(GRU),TensorFlow实现。

本文介绍了门控循环单元(GRU),为了解决循环神经网络中的梯度消失问题,GRU引入了重置门和更新门。重置门用于控制短期依赖,更新门用于控制长期依赖。文章详细阐述了这两个门的工作机制,并给出了使用TensorFlow实现GRU的简要介绍。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 什么是GRU

在循环神经⽹络中的梯度计算⽅法中,我们发现,当时间步数较⼤或者时间步较小时,**循环神经⽹络的梯度较容易出现衰减或爆炸。虽然裁剪梯度可以应对梯度爆炸,但⽆法解决梯度衰减的问题。**通常由于这个原因,循环神经⽹络在实际中较难捕捉时间序列中时间步距离较⼤的依赖关系。

**门控循环神经⽹络(gated recurrent neural network)的提出,正是为了更好地捕捉时间序列中时间步距离较⼤的依赖关系。**它通过可以学习的⻔来控制信息的流动。其中,门控循环单元(gatedrecurrent unit,GRU)是⼀种常⽤的门控循环神经⽹络。

2. ⻔控循环单元

2.1 重置门和更新门

GRU它引⼊了**重置⻔(reset gate)和更新⻔(update gate)**的概念,从而修改了循环神经⽹络中隐藏状态的计算⽅式。

门控循环单元中的重置⻔和更新⻔的输⼊均为当前时间步输⼊ X t X_t Xt 与上⼀时间步隐藏状态 H t − 1 H_{t-1} Ht1,输出由激活函数为sigmoid函数的全连接层计算得到。 如下图所示:

具体来说,假设隐藏单元个数为 h,给定时间步 t 的小批量输⼊ X t ∈ R n ∗ d X_t\in_{}\mathbb{R}^{n*d} XtRnd(样本数为n,输⼊个数为d)和上⼀时间步隐藏状态 H t − 1 ∈ R n ∗ h H_{t-1}\in_{}\mathbb{R}^{n*h} Ht1Rnh。重置⻔ H t ∈ R n ∗ h H_t\in_{}\mathbb{R}^{n*h} HtR

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值