深度学习归一化简介

 我们假定数据输入的图像是[patch, width, height, channel]

深度学习归一化简介

  • N:patch
  • C:channel 

BN(批归一化):

深度学习归一化简介

  •  求出x的均值
  • 求出x的方差
  • 利用正态分布的标准化,使其服从标准正态分布
  • 但是破坏原来的数据分布,所以需要第四步进行重构,gama 和 beta 是可以学习到的参数;当gama = std, beta = mean 就会恢复到原来的分布

优点:

  • 对参数解空间进行了约束,相当于进行了正则,可以取消Dropout 和 正则项
  • 加快网络的收敛:归一化数据收敛快,如果每一批数据都不是同一个分布,则网络需要适应新的分布
  • 破坏数据的分布,能一定程度防止过拟合
  • 减少了对学习率的要求
  • 可以不在使用局部归一化,因为BN本身就是归一化网络

 缺点: 

  • 对batch_size 有依赖,当size较大时有不错的效果,所以有下面的变种

IN(instance norm):在一个channel内做归一化 

GN(Group    norm):  先对channel进行分组,在对每个组进行归一化

LN(layer       norm): 对所有的chanel进行归一化