几种常见的normalization

1.Batch Normalization

feature map:$x\in \mathbb{R}^{N\times C\times H\times W}$ ,包含 N 个样本,每个样本通道数为 C,高为 H,宽为 W。
对其求均值和方差时,将在 N、H、W上操作,而保留通道 C 的维度。
具体来说,就是把第1个样本的第1个通道,加上第2个样本第1个通道 ...... 加上第 N 个样本第1个通道,求平均,得到通道 1 的均值。

几种常见的normalization

具体计算公式

几种常见的normalization

2.Layer Normalization

BN 的一个缺点是需要较大的 batch_size 才能合理估训练数据的均值和方差,这导致内存很可能不够用,同时它也很难应用在训练数据长度不同的 RNN 模型上。
Layer Normalization (LN) 的一个优势是不需要批训练,在单条数据内部就能归一化。

几种常见的normalization

几种常见的normalization

3.Instance Normalization

Instance Normalization (IN) 最初用于图像的风格迁移。
作者发现,在生成模型中, feature map 的各个 channel 的均值和方差会影响到最终生成图像的风格,因此可以先把图像在 channel 层面归一化,然后再用目标风格图片对应 channel 的均值和标准差“去归一化”,以期获得目标图片的风格。

几种常见的normalization

几种常见的normalization

4.Group Normalization

GN 计算均值和标准差时,把每一个样本 feature map 的 channel 分成 G 组,每组将有 C/G 个 channel,然后将这些 channel 中的元素求均值和标准差。各组 channel 用其对应的归一化参数独立地归一化。
Group Normalization (GN) 适用于占用显存比较大的任务,例如图像分割。对这类任务,可能 batchsize 只能是个位数,再大显存就不够用了。而当 batchsize 是个位数时,BN 的表现很差,因为没办法通过几个样本的数据量,来近似总体的均值和标准差。 

几种常见的normalization

几种常见的normalization

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzjwgs.html