深度学习(二十二):GRU与LSTM

这是一系列深度学习的介绍,本文不会涉及公式推导,主要是一些算法思想的随笔记录。
适用人群:深度学习初学者,转AI的开发人员。
编程语言:Python
参考资料:吴恩达老师的深度学习系列视频
吴恩达老师深度学习笔记整理
唐宇迪深度学习入门视频课程
深度学习500问
笔记下载:深度学习个人笔记完整版

上节课提到了RNN网络的两个缺点,1.计算量太大,不必要记住离自己太远的信息,即不擅长捕获长期依赖关系;2.计算过程中可能会梯度消失,从输出y_hat得到的梯度很难传播回去,很难影响靠前层的权重。

对于梯度爆炸问题,可以借助梯度修剪,即观察梯度向量,如果它大于某个阈值,缩放梯度向量,保证它不会太大,这就是通过一些最大值来修剪的方法。所以如果你遇到了梯度爆炸,如果导数值很大,或者出现了NaN,就用梯度修剪,这是相对比较鲁棒的,这是梯度爆炸的解决方法。然而梯度消失更难解决,比较棘手。我们接下来会介绍GRU,门控循环单元网络,这个网络可以有效地解决梯度消失的问题,并且能够使你的神经网络捕获更长的长期依赖。

GRU单元(Gated Recurrent Unit)

在这里插入图片描述

长短期记忆LSTM(long short term memory)

RNN的升级——LSTM
long short term memory 长短期记忆网络

LSTM网络比较复杂,核心是利用C来决定如何更新

C:控制参数 通过训练得到 决定什么样的信息会被保留,什么样的会被遗忘
在这里插入图片描述
可以通过门单元处理 门是一种让信息选择式通过的方法
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
更新细胞状态
在这里插入图片描述
在这里插入图片描述
整体网络:
在这里插入图片描述

LTSM步骤:
1.确定丢弃信息
2.确定更新信息
3.更新细胞状态
4.产生输出

GRU与LSTM的比较

  1. GRU和LSTM的性能在很多任务上不分伯仲。
  2. GRU 参数更少因此更容易收敛,但是数据集很大的情况下,LSTM表达性能更好。
  3. 从结构上来说,GRU只有两个门(update和reset),LSTM有三个门(forget,input,output),GRU直接将hidden state 传给下一个单元,而LSTM则用memory cell 把hidden state 包装起来。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值