普通RNN的缺陷—梯度消失和梯度爆炸

之前的RNN,无法很好地学习到时序数据的长期依赖关系。因为BPTT会发生梯度消失和梯度爆炸的问题。

RNN梯度消失和爆炸

对于RNN来说,输入时序数据xt时,RNN 层输出ht。这个ht称为RNN 层的隐藏状态,它记录过去的信息。

语言模型的任务是根据已经出现的单词预测下一个将要出现的单词。

学习正确解标签过程中,RNN层通过向过去传递有意义的梯度,能够学习时间方向上的依赖关系。如果这个梯度在中途变弱(甚至没有包含任何信息),权重参数将不会被更新,也就是所谓的RNN层无法学习长期的依赖关系。梯度的流动如下图绿色箭头。

普通RNN的缺陷—梯度消失和梯度爆炸_第1张图片

随着时间增加,RNN会产生梯度变小(梯度消失)或梯度变大(梯度爆炸)。

RNN 层在时间方向上的梯度传播,如下图。

普通RNN的缺陷—梯度消失和梯度爆炸_第2张图片

反向传播的梯度流经tanh、+、MatMul(矩阵

你可能感兴趣的:(学习笔记,rnn)