2.1梯度爆炸或消失
计算RNN的误差,我们计算每一步的误差并累加
每一步的误差通过微分链法则进行
在[k, t]时间区间内对于所有隐藏层的计算
每个是h的雅各宾矩阵
结合上述表达,我们得到
beta_w和beta_h代表两个矩阵范式的上限值。每个t时间戳偏分梯度的的范式
两个矩阵的范式通过L2正则来计算。
容易变得很大或很小,导致梯度爆炸或消失。
2.2解决方法
为解决梯度爆炸问题,Mikolov提出的方法简单直接,当梯度变大时进行剪切
为解决梯度消失问题,第一是矩阵初始化时进行仔细选择,而不是随机初始化。
第二是使用ReLU而不是sigmoid函数,这样微分要么0要么1,梯度在微分为1的神经元流动,反向传播时不会减弱。