RNN 训练时梯度爆炸和梯度消失的理解

梯度爆炸

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

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

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

梯度消失

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

posted @ 2019-10-18 15:16  larkii  阅读(361)  评论(0编辑  收藏  举报