批归一化:Batch Normalization
1.由来
批归一化,英文为Batch Normalization,简写为BN,在2015年google的论文首次提到,作者为Sergey Ioffe 和Christian Szegedy,
论文链接为:Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift
2.BN带来的优势
a.可以使用更大的学习率,模型对参数初始化不敏感。
b.加速网络训练。
c.在一定程度上扮演着正则化的作用,可以减少甚至不适用Dropout,在一定程度上避免模型的过拟合。
3.训练时BN的操作
训练时针对每一个batch的数据进行如下操作:
a.求均值
b.求方差
c.规范化
进行规范化后,这个batch中的数据的分布将是以0为均值,1为方差的正太分布,其中是为了防止分母为零。
d.尺度缩放和平移
就是经过BN层的输出,其中和是两个可以学习的参数,这两个参数正是BN的精髓所在,训练时通过方向传播更新,初始化时一般为1,为0,之所以要进尺度缩放和平移是为了解决Interal Covariate Shift。
4.测试时BN的操作
其实是对训练时所有batch的和求均值。
最终