Batch_normalization是什么?
传统的神经网络,只是在将样本x进入到输入层之前对x进行0-1标准化处理(减均值,除标准差),以降低样本间的差异性,如下图所示:
BN是在此基础上,不仅仅只对输入层的输入数据x进行标准化,还对每个隐藏层的输入进行标准化,如下图所示:
加了一个batch_normalization层后,输入x首先乘以权重加上偏置得到s1,对s1进行归一化后,再进行伸缩和平移,控制伸缩和平移的参数是网络自己学习的,之后再采用激活函数。
为什么要用Batch_normalization?
训练过程中,各层输入的分布随着前面几层参数的变化而变化,使得训练