归一化是什么?它与标准化有什么区别?
归一化是一种数据预处理技术,通过缩放数据特征到统范围(如0到1或者-1到1)以减少不同特征的量纲差异
归一化的主要作用是提高训练稳定性、加快收敛速度、提高模型表现
标准化与归一化对比

为什么要归一化?
1.统一特征尺度
若特征值范围相差很大,模型会更关注数值较大的特征,而忽略数值较小的特征,这会影响模型性能。

通过归一化(如 Min-MaxScaling)将所有特征值缩放到一样范围(例如[0,1]),可以保证模型对每个特征的权重更新更加平衡。
2.提高优化效率
梯度下降算法的收敛速度与输入数据的分布相关。
未归一化的数据可能导致等高线呈现拉长的椭圆形,而归一化后,等高线会更接近圆形,从而加快梯度下降的收敛速度。
假设目标函数为:

其中,H是特征协方差矩阵。
如果特征值分布差异较大(特征方差相差悬殊),H的条件数(特征值最大值与最小值的比值)会很大,导致梯度下降收慢。
归一化后,特征方差被标准化,H的条件数减小,优化过程更快收敛。
3.防止梯度消失或梯度爆炸
在深度学习中,激活函数(如 Sigmoid 或 Tanh)的导数对输入值的范围超级敏感。
如果输入值过大或过小,导数会趋近于0或无穷,导致梯度消失或爆炸。对于 Sigmoid 函数:

其导数为:


通过归一化(如将输入值缩放到[0,1]或标准化为均值为0、方差为1),可以保证激活函数的输入范围更适中,梯度的数值稳定。
4.调整数据分布的一致性
许多模型(如线性回归、SVM、深度学习)假设输入特征分布接近标准正态分布(均值为0,方差为1)。
未归一化的数据可能偏离这种假设,影响模型性能。假设特征x的分布是非标准正态分布,通过Z-score标准化:


5.正则化约束公平,提升泛化能力
归一化还可以间接影响正则化项的权重,避免正则化的偏倚。
在线性回归中,带正则化的损失函数为:

如果特征X的值范围不一致,则正则化项会对某些特征权重施加更大的约束,影响模型的泛化能力。
归一化后,特征X的值范围一致,正则化项对每个特征权重的约束更加公平。
6.归一化在不同情境的区别
数据预处理中的归一化:
(如Min-MaxScaling、Z-Score)主要作用是统一特征尺度,提高优化效率
模型训练中归一化:
(如 Batch Normalization、LayerNormalization)可以动态调整数据分布,缓解梯度问题并增强泛化能力

大模型层归一化:
一句话定义:在 Transformer 模型中,归一化层(Norm)是确保模型训练稳定性和性能的关键组件,主要采用层归一化(Layer Normalization, LN)。
1.Norm的位置与作用
在 Transformer 的编码器和解码器层中,每个子层(如自注意力、前馈神经网络)后均包含Add & Norm操作:
Add(残差连接):将子层输入与输出相加,公式为x+Sublayer(x)。
Norm(层归一化):对相加后的结果进行归一化,缓解梯度消失/爆炸问题,稳定训练。
2.层归一化(LayerNorm)的原理

归一化维度:对每个样本的特征维度独立归一化。
3.Pre-LN与Post-LN结构
Post-LN(原始Transformer):
先残差连接,后归一化。公式为 LayerNorm(x+Sublayer(x))。
优势: 与原始设计一致,广泛使用。
缺点: 深层模型训练时梯度可能不稳定。
Pre-LN(改善变体):
先归一化,再进入子层并残差连接。公式为x+Sublayer(LayerNorm(x))
优势: 梯度更稳定,易于训练深层模型(如GPT系列)
缺点: 可能略微改变模型表明能力
Post-LN(原始Transformer):
先残差连接,后归一化。公式为 LayerNorm(x+Sublayer(x))
优势: 与原始设计一致,广泛使用。
缺点: 深层模型训练时梯度可能不稳定
Pre-LN(改善变体):
先归一化,再进入子层并残差连接。公式为x+Sublayer(LayerNorm(x))
优势: 梯度更稳定,易于训练深层模型(如GPT系列)。
缺点: 可能略微改变模型表明能力。
4.高频面试题
为什么Transformer选择LayerNorm而非BatchNorm?
层归一化在 Transformer 中的作用是什么?
归一化和标准化有什么区别?
5.Code: 手撕归一化

LayerNorm与BatchNorm对比
一、BatchNorm原理与公式
核心思想: 对每个特征维度跨批次样本进行归一化,使网络各层输入的分布更稳定。
公式推导:

BatchNorm适用场景: 图像分类(CNN)、大批次训练。
二、LayerNorm原理与公式
核心思想: 对单个样本的所有特征进行归一化,消除批次依赖性。
公式推导:

LayerNorm适用场景: 自然语言处理(Transformer)、小批次/变长序列。
三、关键区别

四、BN的缺点和LN的优势
BN的局限性:
批量大小依赖性: BatchNorm的表现依赖于批量的大小。
当批量大小较小或序列长度不一致时,它的统计量可能不稳定,从而影响模型的训练效果。
推理阶段: 在推理阶段,BatchNorm需要用到训练阶段的均值和方差进行归一化,这增加了推理的复杂性和开销。
LayerNorm在训练和推理阶段的表现一致,由于它的归一化是基于每个样本的特征,而不是批量统计。
LN的优势:
独立于批量大小: LayerNorm不受批量大小的影响,对于处理变长序列数据超级合适。
更稳定的训练: 由于LayerNorm在每个样本的特征维度上进行归一化,模型在处理每个样本时的行为是一致的,这使得训练过程更稳定。
简化推理过程: LaverNorm在训练和推理阶段的行为一致,不需要额外的训练阶段统计量,因此推理过程更简单高效。
总结来说,Transformer使用LayerNorm而不是BatchNorm,主要是由于LayerNorm更适合处理变长序列数据。
并且在训练和推理阶段的一致性上具有优势。这使得LayerNorm在Transformer架构中能更好地支持自注意力机制的动态特性。