神经网络训练细节

本文章中截图来自斯坦福大学深度学习课程

权重初始化

1.当用0初始化权重时会发生什么?
    由于权重都为0,给定一个输入,每个神经元将在输入数据上有同样的操作,输出同样的值,得到相同的梯度,使用相同的方式更新,从而得到相同的神经元。 

2.当权重初始化值太小时:**值逐渐变成0,梯度也会变成0,因为不断乘以这么小的数,所有的都会变成0

3.当权重初始化值太大时:**值饱和,梯度接近0

数据预处理

1.在卷积神经网络中,中心化和归一化时非常常用的手段,它会使数据分布均值为0,方差为1
   如果神经网络中某一层的输入均值不为0,或者方差不为1,该层网络权重矩阵的微小摄动就会造成该层输出的巨大摄动,从而造成学习困难
神经网络训练细节
Batch Normalization方程

神经网络训练细节
右边第三个公式分子应该是减去均值,图片中写错了


梯度下降

  SGD缺点:
  1.沿浅层进展非常缓慢,沿着陡峭的方向抖动
神经网络训练细节
2.局部极小点或鞍点
神经网络训练细节

3.容易受噪声影响

解决方法:加入动量项
神经网络训练细节
结果:解决了上述问题
神经网络训练细节
神经网络训练细节
速度初始化为0就行