,,## 14
数值稳定性
梯度爆炸的问题
- 超出值域 (16位浮点数尤为严重)
- 对学习率敏感
如果学习率太大-大参数值(大权重)-更大的梯度(梯度就是权重的乘法)-更大的参数值
如果学习率太小-训练无进展
需要在训练过程不断调整学习率
学习率可能只有在很小的范围才是好的
梯度消失
当sigmoid函数的输入很大或是很小时,它的梯度都会消失。 此外,当反向传播通过许多层时,除非我们在刚刚好的地方, 这些地方sigmoid函数的输入接近于零,否则整个乘积的梯度可能会消失。 当我们的网络有很多层时,除非我们很小心,否则在某一层可能会切断梯度。 事实上,这个问题曾经困扰着深度网络的训练。 因此,更稳定的ReLU系列函数已经成为从业者的默认选择。
梯度值变为0(16位浮点数尤为严重)
训练没有进展(不管如何选择学习率)
对于底部层尤为严重,仅仅顶部层训练的比较好,无法让神经网络更深
核心目标:让训练更加稳定-梯度不要太大也不要太小
远离最优解的地方比较陡,梯度比较大。
最优解附近比较平,梯度比较小
期望即均值
因为均值为0,所以第二项为0,只需要考虑第一项
第一项的展开
因为w与h独立同分布,且均值为0,所以此项为0
期望可加
由于两个的均值都等于0,因此由公式:方差等于平方的期望减去的期望和
可将期望变为方差
由于
为第t层输入的个数,第t-1层的输出个数(神经元个数)
最后可以得到
我们希望var[hit]=var[hjt-1],输入的方差等于输出的方差
则
激活函数需要过原点