本站内容均来自兴趣收集,如不慎侵害的您的相关权益,请留言告知,我们将尽快删除.谢谢.
一、梯度弥散和爆炸
1. 梯度弥散的解释
梯度弥散的问题很大程度上是来源于激活函数的“饱和”。因为在后向传播的过程中仍然需要计算激活函数的导数,所以一旦卷积核的输出落入函数的饱和区,它的梯度将变得非常小。
使用反向传播算法传播梯度的时候,随着传播深度的增加,梯度的幅度会急剧减小,会导致浅层神经元的权重更新非常缓慢,不能有效学习。这样一来,深层模型也就变成了前几层相对固定,只能改变最后几层的浅层模型。
梯度爆炸的情况正好相反。
2. 防止梯度弥散的方法
BN。加入BN层之前,反向传播的梯度为:
加入BN之后,反向传播的梯度为:
我们可以看到此时反向传播乘以的数不再和w的尺度相关,也就是尽管我们在更新过程中改变了w的值,但是反向传播的梯度却不受影响。
跟进一步:
即尺度较大的 w 将获得一个较小的梯度,在同等的学习速率下其获得的更新更少,这样使得整体 w 的更新更加稳健起来。
Be First to Comment