门控循环单元(GRU)学习笔记

本文详细介绍了GRU(Gate Recurrent Unit)的工作原理,包括其重置门和更新门的作用,以及如何结合输入信息和历史记忆。通过这两个门的控制,GRU提供了一种高效且结构简单的RNN替代方案。

GRU原理

GRU是LSTM网络的一种变体,它较LSTM网络的结构更加简单,而且效果也很好。GRU 有两个门,一个是重置门(reset gate),另一个是更新门(update gate)。重置门决定了如何将新的输入信息与前面的记忆相结合,更新门定义了前面记忆保存到当前时间步的量。如果我们将重置门设置为 1,更新门设置为 0,那么我们将再次获得标准 RNN 模型。
我们先来看下两个门的输出:Rt=σ(XtWxr+Ht−1Whr+br)R_t=\sigma(X_tW_{xr}+H_{t-1}W_{hr}+b_r)Rt=σ(XtWxr+Ht1Whr+br)
Zt=σ(XtWxz+Ht−1Whz+bz)Z_t=\sigma(X_tW_{xz}+H_{t-1}W_{hz}+b_z)Zt=σ(XtWxz+Ht1Whz+bz)

候选隐状态:H~t=tanh(XtWxh+(Rt⨀Ht−1)Whh+bh)\tilde{H}_t=tanh(X_tW_{xh}+(R_t\bigodot{H}_{t-1})W_{hh}+b_h)H~t=tanh(XtWxh+(RtHt1)Whh+bh)
更新门帮助模型决定到底要将多少过去的信息传递到未来。极端情况下,当RtR_tRt里面全是0代表这一时刻起前面的信息都不要。另一个极端情况RtR_tRt里面全是1时就相当于把前面的信息拿来用,等价于RNN是如何算隐层状态的。

隐状态:Ht=Zt⨀Ht−1+(1−Zt)⨀H~tH_t=Z_t\bigodot{H_{t-1}+(1-Z_t)\bigodot{\tilde{H}_t}}Ht=ZtHt1+(1Zt)H~t
(1−Zt)⨀H~t(1-Z_t)\bigodot{\tilde{H}_t}(1Zt)H~t表示对包含当前节点信息的H~t{\tilde{H}_t}H~t进行选择性”记忆“,Zt⨀Ht−1Z_t\bigodot{H_{t-1}}ZtHt1表示对原本隐藏状态的Ht−1H_{t-1}Ht1 选择性“遗忘”,忘记维度中一些不重要的信息。
假设Zt=1Z_t=1Zt=1Ht=Ht−1H_t=H_{t-1}Ht=Ht1,等于不更新过去状态,忽略掉这个元素。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值