为了账号安全,请及时绑定邮箱和手机立即绑定

深度学习--GRU(门控循环单元)原理详解

标签:
深度学习

上一篇中已经总结了RNN的原理,传送门:https://blog.csdn.net/wenqiwenqi123/article/details/80704528

本文讲解一下GRU的原理,GRU对于RNN中的梯度消失有很大帮助。GRU即Gated Recurrent Unit。为了克服RNN无法很好处理远距离依赖而提出了LSTM,而GRU则是LSTM的一个变体,当然LSTM还有有很多其他的变体。GRU保持了LSTM的效果同时又使结构更加简单,所以它也非常流行。

先复习一下:

RNN单元中从前一个时间步得到激活值a<t-1>,将其与x<t>同时输入影响y<t>。


那么GRU的原理如下图所示:

请看右边的公式,c为记忆单元,在GRU中激活值a<t>等于c<t>。

c<t>~为在此步中可能要更新的c<t>值。

Γu为更新门,式中的δ为sigmoid函数,这让Γu趋向于0或者1。

c<t>的公式如图,当Γu为0时,则保持c<t>=c<t-1>,即记忆前一步的值。当Γu为1时,则将c<t>更新为c<t>~。

由网络来决定Γu为0还是1,即是否要记忆前一步。

如这句话所示: The cat,which already ate.....,was full。在cat时Γu为1,所以此时c<t>更新,之后的which定语从句因为要记住cat是单数,所以Γu全为0,直到was仍然记得cat为单数,在was时Γu变为1,c<t>更新,从was以后不再记得cat是单数。

Γu、c<t>和c<t>~的shape是一样的,可以定义每一个结点有多少个c(记忆单元)。


在实际应用中还有另一个门,是研究员在经过无数次实验后得出的结论:


即Γr,重置门。更新门用于控制前一时刻的状态信息被带入到当前状态中的程度,更新门的值越大说明前一时刻的状态信息带入越多。重置门用于控制忽略前一时刻的状态信息的程度,重置门的值越小说明忽略得越多。

原文出处

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消