三种归一化方法总览

BN!LN!IN!GN-image.png

归一化/标准化/正则化

  1. 归一化:就是将训练集中某一列数值特征(假设是第 i ii 列)的值缩放到0和1,之间。

    1. 稳定输入分布,减缓梯度消失

  2. 标准化:就是将训练集中某一列数值特征(假设是第i列)的值缩放成均值为0,方差为1的状态。

  3. 正则化(Regularization):是一类旨在防止模型过拟合、提升泛化能力的技术。

Batch size(批大小) 是深度学习训练中的一个超参数,表示每次更新模型参数时所用的样本数量。

Epoch(轮次) 是深度学习训练中的一个基本概念,表示 模型已经“看过”整个训练数据集一次。

BN和LN的区别:

Batchnorm是深度网络中经常用到的加速神经网络训练,加速收敛速度及稳定性的算法。

  1. batch normalization:每个特征的不同样本,计算均值和方差

  2. 但layer normalization:对每个样本的不同特征,计算均值和方差

BN的具体做法就是对每一小批数据,在批这个方向上做归一化。

LN 是在每一个样本上计算均值和方差

下面这张图好:

BN!LN!IN!GN-filename-1.png

BN!LN!IN!GN-filename.png

GN

在 Batch Normalization 中,均值和方差是在整个批量(batch)内计算的,因此它依赖于批量大小。当批量大小较小时,计算的均值和方差的统计量会变得不稳定,导致归一化的效果较差,甚至会影响训练稳定性。这就是 GN 被提出的背景。

与 BN 不同,Group Normalization 不依赖于批量大小,它在样本级别上进行归一化,因此即使在批量很小的情况下,它也能表现得很好。

Group Normalization 的核心思想是将每个样本的通道分为多个组(group),然后在每组内部进行归一化处理,而不是在整个批量上做归一化。换句话说,GN 只在 每个样本的通道维度 上进行归一化,并且不依赖于批量大小。

GN的优势:

在生成式模型中,GroupNorm的效果一般会比BatchNorm更好,生成式模型通常比较复杂,因此需要更稳定和适应性强的归一化方法。

而GroupNorm主要有以下一些优势,让其能够成为生成式模型的标配:

  1. 对训练中不同Batch-Size的适应性:在生成式模型中,通常需要使用不同的Batch-Size进行训练和微调。这会导致 BatchNorm在训练期间的不稳定性,而GroupNorm不受Batch-Size的影响,因此更适合生成式模型。

  2. 能适应通道数变化:GroupNorm 是一种基于通道分组的归一化方法,更适应通道数的变化,而不需要大量调整。

  3. 更稳定的训练:生成式模型的训练通常更具挑战性,存在训练不稳定性的问题。GroupNorm可以减轻训练过程中的梯度问题,有助于更稳定的收敛。

  4. 能适应不同数据分布:生成式模型通常需要处理多模态数据分布,GroupNorm 能够更好地适应不同的数据分布,因为它不像 Batch Normalization那样依赖于整个批量的统计信息。