基本框架

核心概念

6.2.2 输出单元

  1. 梯度不稳定的原因和解决办法?

1)梯度不稳定的原因
部分原因可能是梯度数值不稳定,当某个方差对于特定的实例变得非常小时,会导致非常大的梯度
2)解决办法
a.梯度裁剪 clip gradient
设置一个梯度裁剪的阈值,如果在更新梯度的时候,梯度超过这个阈值,则会把梯度限制在指定范围内,防止梯度爆炸;
b.启发式缩放梯度
c.Relu函数替换sigmoid函数】
1)为甚relu可以防止梯度弥散
image.png
image.png
可以看出,求导后的sigmoid函数只在0附近有比较好的激活性,在正负饱和区的梯度都趋近于0,所以会导致梯度弥散;
而relu函数在大于0的部分梯度为常数,这样就不会产生梯度弥散的情况,其次,relu在负半区的导数为0,所以一旦神经元激活值进入负半区,那么梯度就会为0,神经元就不会训练,即所谓的神经元稀疏性,最后,因为relu是一个if-else的函数,所以训练会非常快。

参考链接
1.https://zhuanlan.zhihu.com/p/112904260
2.https://blog.csdn.net/qq_21190081/article/details/64127103