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

梯度爆炸

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

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

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

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

梯度消失

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

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