目录
习题6-3 当使用公式(6.50)作为循环神经网络的状态更新公式时,分析其可能存在梯度爆炸的原因并给出解决方法.
习题6-4 推导LSTM 网络中参数的梯度,并分析其避免梯度消失的效果.
习题6-5推导GRU网络中参数的梯度,并分析其避免梯度消失的效果. (选做)
附加题 6-1P 什么时候应该用GRU?什么时候用LSTM?
习题6-3 当使用公式(6.50)作为循环神经网络的状态更新公式时,分析其可能存在梯度爆炸的原因并给出解决方法.
1.梯度爆炸问题:令为在第k时刻函数
的输入,在计算误差项
时,梯度可能会过大,从而导致梯度爆炸问题
2.记忆容量问题:随着不断积累存储新的输入信息,会发生饱和现象。假设
为Logistic,则随着时间t的增长,
会变得越来越大,从而导致
变得饱和,也就是说,隐状态
可以存储的信息是有限的,随着记忆单元存储的内容越来越多,其丢失的信息也越来越多。
为了解决这些问题,可以通过引入门控来进一步改进模型
习题6-4 推导LSTM 网络中参数的梯度,并分析其避免梯度消失的效果.
其中为损失函数,由于LSTM中通过门控机制解决梯度问题,遗忘门,输入门和输出门是非0就是1的,并且三者之间都是相加关系,梯度能够很好的在LSTM传递,减轻了梯度消失发生的概率,门为0时,上一刻的信息对当前时刻无影响,没必要接受传递更新参数了。
习题6-5推导GRU网络中参数的梯度,并分析其避免梯度消失的效果. (选做)
所谓防止梯度消失,其实就是防止时间距离过大的两层神经元的参数w之间的联系过少,即过小,j和i的距离很大。
GRU向前传播
我们可以看到,差别就是r和z的出现,**r是重置门,决定遗忘先前信息的程度。z是更新门,它决定了要忘记哪些信息以及哪些新信息需要被添加。**在添加这两个门之前,我们是完全接受而不再使用
的,但是因为有了z门,我们对
也赋予了话语权,这是最重要的,前面的激活值可以直接参与影响后面的激活值,即
可以直接影响
。
假如使用原始的结构的话,可以说影响很小,但是使用了GRU之后,我们可以看到上面,我们完全可以使中间经过的层的z等于0,这样的话,就可以使得 直接影响
附加题 6-1P 什么时候应该用GRU?什么时候用LSTM?
LSTM是一种拥有三个“门”结构的特殊网络结构,包括遗忘门、信息增强门以及输出门,如下图所示:
LSTM循环体的结构组成,具体公式如下所示:
GRU可以看成是LSTM的变种,GRU把LSTM中的遗忘门和输入门用更新门来替代。 把cell state和隐状态进行合并,在计算当前时刻新信息的方法和LSTM有所不同。 GRU更新
的过程如下图诉所示:
LSTM和GRU之间的区别
- GRU和LSTM的性能在很多任务上不分伯仲。
- GRU 参数更少因此更容易收敛,但是数据集很大的情况下,LSTM表达性能更好。
- 从结构上来说,GRU只有两个门,LSTM有三个门,GRU直接将hidden state 传给下一个单元,而LSTM则用memory cell 把hidden state 包装起来。
LSTM 能够解决循环神经网络因长期依赖带来的梯度消失和梯度爆炸问题,但是 LSTM 有三个不同的门,参数较多,训练起来比较困难。GRU只含有两个门控结构,且在超参数全部调优的情况下,二者性能相当,但是 GRU 结构更为简单,训练样本较少,易实现。
参考
NNDL 作业10:第六章课后题(LSTM | GRU)_HBU_David的博客-CSDN博客
LSTM和GRU如何选择?RNN模型超详细介绍_Yunlord的博客-CSDN博客_什么时候应该用gru? 什么时候用lstm?
GRU神经网络-介绍_平清盛_v2的博客-CSDN博客_gru神经网络
彻底看懂RNN,LSTM,GRU,用数学原理解释梯度消失或者梯度爆炸_sherlock31415931的博客-CSDN博客