Normalization 标准化方法 总结 Batch Layer Instance Group

卷积神经网络中常见Normalization方法有如下四种:
Batch Normalization (BN)
Layer Normalization (LN)
Instance Normalization (IN)
Group Normalization (GN)
Normalization 标准化方法 总结 Batch Layer Instance Group
标准化的公式如下:
Normalization 标准化方法 总结 Batch Layer Instance Group

数据减去均值,除以标准差,再施以线性映射。
上述四种标准化的算法主要区别在于求均值 μ μ μ和标准差 σ σ σ的方式不同。

Normalization 标准化方法 总结 Batch Layer Instance Group

x x x类比为一摞书,这摞书总共有 N 本,每本有 C 页,每页有 H 行,每行 W 个字符。

Normalization 标准化方法 总结 Batch Layer Instance Group

Batch Normalization

Normalization 标准化方法 总结 Batch Layer Instance Group

N本书对应每一页的所有字求均值,输出(C,1),C页书,每页1个均值。

特点:需要较大的batchsize才能合理评估均值方差,内存可能不够。

Layer Normalization

Normalization 标准化方法 总结 Batch Layer Instance Group
每本书的所有字求均值,输出(N,1),N本书,每本书1个均值。

特点:在每一份数据中计算,不需要批训练。

Instance Normalization

Normalization 标准化方法 总结 Batch Layer Instance Group

每一页所有字求均值,输出(N,C,1),N本书,每本书C页,每页1个均值。

特点: 在每个channel中计算,同样不需要批训练,常用于图像风格迁移GAN。

Group Normalization

Normalization 标准化方法 总结 Batch Layer Instance Group
每本书分成 G G G个小册子,每个册子 C / G C/G C/G页,每个册子的所有字求均值。输出(N,G,1),N本书,每本书G个册子,每个册子1个均值。

特点:Layer Normalization和Instance Normalization的折中,将每份数据的channel分组计算。