Batch Normalization是在每个mini-batch进行归一化操作,并将归一化操作作为模型体系结构的一部分,使用BN可以获得如下的好处:

    • 可以使用更大的学习率,训练过程更加稳定,极大提高了训练速度。
    • 可以将bias置为0,因为Batch Normalization的Standardization过程会移除直流分量,所以不再需要bias。
    • 对权重初始化不再敏感,通常权重采样自0均值某方差的高斯分布,以往对高斯分布的方差设置十分重要,有了Batch Normalization后,对与同一个输出节点相连的权重进行放缩,其标准差也会放缩同样的倍数,相除抵消。
    • 对权重的尺度不再敏感
    • 深层网络可以使用sigmoid和tanh了,BN抑制了梯度消失。
    • Batch Normalization具有某种正则作用,不需要太依赖dropout,减少过拟合。

    参考文档
    https://zhuanlan.zhihu.com/p/340219662
    https://blog.csdn.net/qq_37541097/article/details/104434557