神经网络训练细节
本文章中截图来自斯坦福大学深度学习课程
权重初始化
1.当用0初始化权重时会发生什么?
由于权重都为0,给定一个输入,每个神经元将在输入数据上有同样的操作,输出同样的值,得到相同的梯度,使用相同的方式更新,从而得到相同的神经元。
2.当权重初始化值太小时:**值逐渐变成0,梯度也会变成0,因为不断乘以这么小的数,所有的都会变成0
3.当权重初始化值太大时:**值饱和,梯度接近0
数据预处理
1.在卷积神经网络中,中心化和归一化时非常常用的手段,它会使数据分布均值为0,方差为1
如果神经网络中某一层的输入均值不为0,或者方差不为1,该层网络权重矩阵的微小摄动就会造成该层输出的巨大摄动,从而造成学习困难
Batch Normalization方程
右边第三个公式分子应该是减去均值,图片中写错了
梯度下降
SGD缺点:
1.沿浅层进展非常缓慢,沿着陡峭的方向抖动
2.局部极小点或鞍点
3.容易受噪声影响
解决方法:加入动量项
结果:解决了上述问题
速度初始化为0就行