深度学习6 -- LSTM/GRU

引言

  • 在上一篇种介绍的循环神经网络,由于其只计算前一项和后一项距离较短,所以很难处理长距离依赖场景,所以本文将介绍一种改进之后的循环神经网络:长短时记忆网络(Long Short Term Memory Network, LSTM),它成功的解决了原始循环神经网络的缺陷,成为当前最流行的RNN,在语音识别、图片描述、自然语言处理等许多领域中成功应用。但是个人理解的时候发现结构还是比较复杂的,所以部分公式不理解的地方会有标注,以后自己手动实现的时候会继续补充。

关于RNN为何无法解决长距离依赖问题的原因

  • 进一步详情请看参考资料,此处只作个人理解,可能有错误,酌情理解
    • 首先上篇结尾已经说过RNN存在的关于梯度消失和梯度爆炸的问题
      RNN篇

  • 我们就可以看到,从上图的t-3时刻开始,梯度已经几乎减少到0了。那么,从这个时刻开始再往之前走,得到的梯度(几乎为零)就不会对最终的梯度值有任何贡献,这就相当于无论t-3时刻之前的网络状态h是什么,在训练中都不会对权重数组W的更新产生影响,也就是网络事实上已经忽略了t-3时刻之前的状态。这就是原始RNN无法处理长距离依赖的原因

LSTM的结构

  • 简单来说LSTM就是在隐藏层只有h状态的基础上,又加入了一个c,用来保存长期状态

LSTM的前向计算:

  • 接下来是输入门:以及对应图解

LSTM的训练

  • 和之前的训练没有什么不同,但是不同的是LSTM的变量有些多,计算量更大,不过都是重复操作,最好抽出一个理解,再类比记忆
    • 两个损失函数,8个参数,以及符号o的计算方式

  • 一下全导数公式需要看完,整体去理解,作者有分开写偏导的表达式

  • 继续往下看,就知道该全导数怎么计算的了

  • 同理可得

  • 截图并非全部,但是可以类比得出,此处不做完整截图,可以发现只要最上面第一个全导数公式理解后,后面就跟以前的文章类似了,比较容易理解。

GRU

  • 关于GRU为啥结构简单了却能实现和LSTM不相上下的效果,可以看参考资料,个人觉得对于保存过去信息这一概念在数学公式上的表达,简答理解能相通即可,太复杂的去想反而容易无解,LSTM保留信息部分还有GRU保留信息部分可以参考下图。

参考资料

1 主要参考资料

2 包含GRU与LSTM异同的原因介绍

3 辅助理解LSTM结构图(有动图)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

矮人三等

秀儿,是你吗秀儿?

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值