自学神经网络系列—— 11 门控循环神经网络 GRU和LSTM

门控循环神经网络


为了进一步改善循环神经网络的梯度消失和梯度爆炸问题,基于门控的循环神经网络,利用门控单元控制隐藏状态随时间的积累程度。门控单元通过捕捉过去信息,可以对长序列进行建模。在门控循环神经网路中使用最多的就是GRU和LSTM。

1 GRU

门控循环单元GRU(Gate Recurrent Unit)在普通循环神经网络的基础上引入了重置门和更新门,对隐藏状态进行调整。GRU在循环神经网络的每个时刻上对前馈神经网络的隐藏层进行修改。

在这里插入图片描述

图1 门控循环单元GRU(《动手学深度学习》李沐)
  • 重置门为 R t R_t Rt,更新门 Z t Z_t Zt为(0,1)之间的数,通过学习得到
    R t = σ ( X t W x r + H t − 1 W h r + b r ) Z t = σ ( X t W x z + H t − 1 W h z + b z ) R_t = \sigma(X_tW_{xr}+H_{t-1}W_{hr}+b_r)\\ Z_t = \sigma(X_tW_{xz}+H_{t-1}W_{hz}+b_z) Rt=σ(XtWxr+Ht1Whr+br)Zt=σ(XtWxz+Ht1Whz+bz)
  • 隐藏状态为上一层隐藏状态和候选隐藏状态移动平均
    H t = Z t ⊙ H t − 1 + ( 1 − Z t ) ⊙ H ~ t H_t = Z_t\odot H_{t-1}+(1-Z_t)\odot \tilde H_t Ht=ZtHt1+(1Zt)H~t
  • 更新门 Z t Z_t Zt决定了对过去隐藏状态的更新程度
  • 候选隐藏状态根据当前信息X_t、过去信息计算
  • 候选隐藏状态
    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_tWxh+(R_t\odot H_{t-1})W_{hh}+b_h) H~t=tanh(XtWxh+(RtHt1)Whh+bh)
  • 重置门决定了是否重置信息积累,局部是否发生显著变化,短期关系
  • 更新门决定了是否对过去隐藏状态进行更新,长期依赖关系

2 LSTM

长短期记忆单元LSTM(Long short-term memory)在普通循环神经网络的基础上引入了输入门、输出门和遗忘门。同样是对隐藏状态进行调整,在循环神经网络的每个时刻上对前馈神经网络的隐藏层进行修改。
在这里插入图片描述

图2 长短期记忆单元LSTM(《动手学深度学习》李沐)
  • 输入门 I t I_t It、输出门 O t O_t Ot、遗忘门 F t F_t Ft为(0,1)之间的数,通过学习得到
    I t = σ ( X t W x i + H t − 1 W h i + b i ) O t = σ ( X t W x o + H t − 1 W h o + b o ) F t = σ ( X t W x f + H t − 1 W h f + b f ) I_t = \sigma(X_tW_{xi}+H_{t-1}W_{hi}+b_i) \\ O_t = \sigma(X_tW_{xo}+H_{t-1}W_{ho}+b_o) \\ F_t = \sigma(X_tW_{xf}+H_{t-1}W_{hf}+b_f) It=σ(XtWxi+Ht1Whi+bi)Ot=σ(XtWxo+Ht1Who+bo)Ft=σ(XtWxf+Ht1Whf+bf)
  • 隐藏状态由输出门控制
    H t = O t ⊙ t a n h ( C t ) H_t = O_t\odot tanh(C_t) Ht=Ottanh(Ct)
  • C t C_t Ct为记忆单元,类似GRU中的隐藏状态,代表当前信息累积大小,取决于上一时刻隐藏层的信息累积(上一时刻记忆单元)×遗忘程度(遗忘门控制)和当前信息(当前候选记忆单元)×更新程度(输出门控制)
    C t = F t ⊙ C t − 1 + I t ⊙ C ~ t C_t = F_t\odot C_{t-1}+I_t \odot \tilde C_t Ct=FtCt1+ItC~t
  • 候选记忆单元类似GRU中的候选隐藏状态
    C ~ t = t a n h ( X t W x c + H t − 1 W h c + b c ) \tilde C_t = tanh(X_tW_{xc}+H_{t-1}W_{hc}+b_c) C~t=tanh(XtWxc+Ht1Whc+bc)
  • LSTM 需要额外一个记忆单元序列 { C t } \{C_t\} {Ct}
  • 输入门 I t I_t It:控制当前信息是否输入动态系统,更新过去状态
  • 输出门 O t O_t Ot:控制记忆单元输出大小
  • 遗忘门 F t F_t Ft:控制过去信息累积需要丢弃多少
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值