怎样评价IndRNN模型( 二 )
基于上述问题,论文提出了 IndRNN,亮点在于:
1. 将 RNN 层内神经元解耦,使它们相互独立,提高神经元的可解释性。
2. 有序列表能够使用 Relu 等非饱和激活函数,解决层内和层间梯度消失/爆炸问题,同时模型也具有鲁棒性。
3. 有序列表比 LSTM 能处理更长的序列信息。
模型介绍论文模型比较简单。介绍模型前,我们先来理一下 RNN 梯度的有关知识。
RNN梯度问题
先来看 RNN 隐状态的计算:
设 T 时刻的目标函数为 J,则反向传播时到 t 时刻的梯度计算:
其中 diag(σ′(hk+1) 是激活函数的雅可比矩阵。可以看到,RNN 的梯度计算依赖于对角矩阵 diag(σ′(hk+1))
的连积,即求该对角阵的 n 次幂。
对角元素只要有一个小于 1,那么 n 次乘积后会趋近于 0;对角元素只要有一个大于 1,那么 n 次乘积后会趋近无穷大。RNN 常用的两种激活函数,tanh 的导数为 1?tanh2 ,最大值为 1,图像两端趋于 0;sigmoid 的导数为 sigmoid(1?sigmoid) ,最大值为 0.25,图像两端趋于 0。
可见两种激活函数的导数取值绝大部分小于 1。因此它们与循环权重系数相乘构成的对角矩阵元素绝大部分小于 1(可能会有等于 1 的情况,但不会大于 1),连积操作会导致梯度指数级下降,即“梯度消失”现象。对应第一种情况。
而在 RNN 中使用 Relu 函数,由于 Relu 在 x\u0026gt;0 时导数恒为 1,因此若 U 中元素有大于 1 的,则构成的对角矩阵会有大于 1 的元素,连积操作会造成梯度爆炸现象。对应第二种情况。
解决方案
门控函数(LSTM/GRU)
引入门控的目的在于将激活函数导数的连乘变成加法。以 LSTM 为例:
反向传播时有两个隐态:
其中仅 C(t) 参与反向传播:
加号后的项就是 tanh 的导数,这里起作用的是加号前的项, f(t+1) 控制着梯度衰减的程度。当 f=1 时,即使后面的项很小,梯度仍能很好地传到上一时刻;f=0 时,即上一时刻的信号对此刻不造成任何影响,因此可以为 0。
门控函数虽然有效缓解了梯度消失的问题,但处理很长序列的时候仍然不可避免。尽管如此,LSTM/GRU 在现有 NLP 任务上已经表现很好了。论文提出门控函数最主要的问题是门的存在使得计算过程无法并行,且增大了计算复杂度。
并且,在多层 LSTM 中,由于还是采用 tanh 函数,在层与层之间的梯度消失仍然没有解决(这里主要是
的影响),所以现阶段的多层 LSTM 多是采用 2~3 层,最多不会超过 4 层。
初始化(IRNN)
Hinton 于 2015 年提出在 RNN 中用 Relu 作为激活函数。Relu 作为激活函数用在 RNN 中的弊端在前面已经说明了。为了解决这个问题,IRNN 将权重矩阵初始化为单位矩阵并将偏置置 0(IRNN的 I 因此得名——Identity Matrix)。
此后,基于 IRNN,有人提出了改进,比如将权重矩阵初始化为正定矩阵,或者增加正则项。但 IRNN 对学习率很敏感,在学习率大时容易梯度爆炸。
推荐阅读
- 聪明人养花,这3种“花”怎样也要养一盆,每年能省不少医药费
- 互联网怎样解决“家政服务上门速度慢”的问题
- 怎样看待从1月8号起,QQ钱包开始提现收费
- 银行it人怎样转型
- 汽车|冬天怎样让车内温度快速升高?座椅加热的最佳使用方式二,外循环的作用总结
- 怎样进入通信行业
- 怎样评价扶他柠檬茶的小说《云养汉》的结尾
- 怎样成为一名合格的Python程序员?
- 怎样评价华为、诺基亚、中兴中标中国移动高端路由交换设备扩容集采
- 怎样评价类似前橙会、百老汇、南极圈这样类型的离职帮抱团,对企业的积极意义和消极意义
