RNN 训练时梯度爆炸的理解

Posted larkiisready

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RNN 训练时梯度爆炸的理解相关的知识,希望对你有一定的参考价值。

梯度爆炸

技术图片

比方说当前点刚好在悬崖边上, 这个时候计算这个点的斜率就会变得非常大, 我们跟新的时候是按 斜率 × 学习率 来的, 那么这时候参数的跟新就会非常非常大, loss也会非常大

应对办法就是 当斜率超过某个值比如15时, 设定斜率为15.

造成梯度爆炸的原因并不是来自激活函数 --- sigmoid , 如果把激活函数换为 ReLU 通常模型表现会更差

梯度消失

技术图片

可以理解为 RNN 把 weight 变化的程度放大了

以上是关于RNN 训练时梯度爆炸的理解的主要内容,如果未能解决你的问题,请参考以下文章

梯度爆炸是什么?有什么后果?如何判断梯度爆炸?如何避免梯度爆炸?

RNN 梯度消失/爆炸问题的解决方法

RNN 梯度消失/爆炸问题的解决方法

TensorFlow的梯度裁剪

记忆网络RNNLSTM与GRU

有没有办法在张量流中剪辑中间爆炸梯度