作用:在神经网络的训练过程中起到网络的收敛作用,也起到加速网络的训练过程的作用。
Batch Normalization的目的就是使我们的Feature Map(这里Feature Map指的是整个训练样本集所对应的feature map) 满足均值为0,方差为1的分布规律。
个人理解:因为原来的向量中的数值分布是零散的,可能数值相差很大,导致在处理过程中,很不方便,但是在经过batch normalization处理后,就会把原来的值统一处理到0-1之间。所以就 比较方便处理了。
使用时需要注意:(1)网络训练时要将Train的参数设置为True,在验证时将Train参数设置为False。在Pytorch中通过创建模型model.train()和model.eval()方法控制
(2)batch size设置稍微大一点比较好,设置的越大求的的均值和方差越接近整体样本的均值和方差。
更具体的过程请去原论文自行了解。