Batch Normalization原理
网上博客一大堆,说的也很明白,这里就简单的说一下我的个人理解:
- 对每一个特征值进行 0均值化,利于神经网络拟合时,对于自身的参数b,无需修改很多次,就可以达到收敛。(因为b的初始值是设为0的)
- 去相关化,由于图像信息相邻像素间的信息有很多是相关的,去相关虽然有一个的训练精度损失,但是更有易于分类。
Batch Normalization好处
- 训练收敛速度快!
- 训练对于drop_out, 正则化参数, 衰减系数等容错能力更强!
- 还有很多优点,但博主现在还没有深入研究
全连接BN和非BN的对比
上图是没有采用BN时候,利用SGD+动量法来优化的损失函数和分类准确率的变化趋势。
再来看一下采用了BN算法的结果