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

GRU原理

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

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

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

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值