几种Normalization算法.md

神经网络有各种归一化算法,BN,LN,IN,GN。

1. Batch Normalization

实现流程:对Tensor为[N, C, H, W], 把第1个样本的第1个通道,加上第2个样本的第1个通道, 加上第N个样本的第1个通道,求平均,得到通道1的均值。(注意是将累加和除以NxHxW,得到均值)

计算方差过程类似。

对于N本书,BN相当于把所有书的第x页加起来,计算平均值。

2. Layer Normalization

BN的一个缺点是需要较大的batchsize才能合理估计出训练数据的均值和方差,可能导致内存的大量消耗。

而layer Normalization 的一个优势是不需要批训练,在单条数据内部就能归一化。

LN对于每个样本的C、H、W维度上的数据求均值和方差。

对于N本书,LN相当于把每一本书的所有字加起来,计算平均值。

3. Instance Normalization

IN是对每一个样本上的一个通道计算平均值,只在channel 内部求均值。

对于N本书,相当于把一页书中的所有字加起来,再除以该页的总字数。

4. Group Normalization

GN相当于把一本C页的书,平均分成G份, 每份称为有若干页的小册子,求每个小册子的均值和方差。

如果有一天我们淹没在茫茫人海中庸碌一生,那一定是我们没有努力活得丰盛
原文地址:https://www.cnblogs.com/yeran/p/11289879.html