Skip to content

归一化

Normalization

批量归一化

Batch Normalization [2015]

Ioffe S , Szegedy C .Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift[J].JMLR.org, 2015.DOI:10.48550/arXiv.1502.03167.

跨样本单通道

BN 是深度学习中最重要的技术突破之一,由 Sergey Ioffe 和 Christian Szegedy 在 2015 年提出。其规范化针对单个神经元进行,利用网络训练时一个 mini-batch 的数据来计算该神经元 xi 的均值和方差。公式如下:

alt text

对于输入数值集合 B={x1,,xm},可训练参数 γβ,有:

μB1mi=1mxiσB21mi=1m(xiμB)2x^ixiμBσB2+ϵyiγx^i+βBNγ,β(xi)

在推理过程中,均值、方差是基于所有批次的期望计算所得。

注意:训练时使用的批统计量是有偏估计,因此需要校正:

E[x]EB[μB]Var[x]mm1EB[σB2]

有:

y=γVar[x]+εx+(βγE[x]Var[x]+ε)

TIP

在图像任务中,对于输入张量 XRN×C×H×W(batch×channels×height×width):

μB=1NHWn=1Nh=1Hw=1WXn,c,h,wσB2=1NHWn=1Nh=1Hw=1W(Xn,c,h,wμB)2X^=XμBσB2+εY=γX^+β

其中:μB 为某一通道在整个 Batch 的均值,σB2 为某一通道在整个 Batch 的方差,ε 为小常数,防止除零。

无偏估计

在无偏估计中:

E[1ni=1n(Xiμ)2]=σ2

如果采用下面式子进行估计:

E[Sb2]=E[1ni=1n(XiX)2]σ2

其偏移量推导如下:

E[Sb2]=E[1ni=1n(XiX)2]=E[1ni=1n((Xiμ)(Xμ))2]=E[1ni=1n((Xiμ)22(Xμ)(Xiμ)+(Xμ)2)]=E[1ni=1n(Xiμ)22n(Xμ)i=1n(Xiμ)+1n(Xμ)2i=1n1]=E[1ni=1n(Xiμ)22n(Xμ)i=1n(Xiμ)+1n(Xμ)2n]=E[1ni=1n(Xiμ)22n(Xμ)i=1n(Xiμ)+(Xμ)2]=E[1ni=1n(Xiμ)22n(Xμ)n(Xμ)+(Xμ)2]=E[1ni=1n(Xiμ)22(Xμ)2+(Xμ)2]=E[1ni=1n(Xiμ)2(Xμ)2]=E[1ni=1n(Xiμ)2]E[(Xμ)2]=σ2E[(Xμ)2]=σ2[1ni=1n(Xiμ)]2=σ21n[1ni=1n(Xiμ)2]=σ21nσ2

即:

E[Sb2]=n1nσ2σ2=nn1E[Sb2]

使用下面这个式子进行估计,得到的就是无偏估计:

E[S2]=E[1n1i=1n(XiX)2]=σ2

层归一化

Layer Normalization [2016]

Ba J L , Kiros J R , Hinton G E .Layer Normalization[J]. 2016.DOI:10.48550/arXiv.1607.06450.

单样本跨通道

alt text

实例归一化

Instance Normalization [2016]

Ulyanov D , Vedaldi A , Lempitsky V .Instance Normalization: The Missing Ingredient for Fast Stylization[J]. 2016.DOI:10.48550/arXiv.1607.08022.

https://github.com/DmitryUlyanov/texture_nets

单样本单通道

alt text

组归一化

Group Normalization [2018]

Wu Y , He K .Group Normalization[J].International Journal of Computer Vision, 2018.DOI:10.1007/s11263-019-01198-w.

单样本跨几个通道

alt text