Ch05 评估与特征工程

归一化 (Normalization)

一句话理解

把不同尺度的数据缩放到同一范围,消除量纲影响——让”身高(150-190cm)“和”体重(40-120kg)“和”年龄(0-100岁)“这三个特征在同一个尺度上”对话”,而不是让某一维主导模型学习。

数据预处理中的归一化

为什么需要归一化

模型对尺度敏感性原因
KNN极高基于距离,大尺度特征主导距离计算
SVM高核函数基于内积,大尺度特征主导
神经网络高大尺度特征导致梯度爆炸/消失
线性回归中系数解释受影响,但数学上可处理
树模型 (RF/GBDT/XGBoost)低基于特征值的排序,尺度不影响
朴素贝叶斯取决于类型高斯NB敏感,多项式NB不敏感

常用归一化方法

方法公式输出范围对异常值适用场景
Min-Max归一化[0, 1]极敏感数据范围已知,无极端异常值
Z-score标准化无固定范围(均值0,标准差1)较敏感数据近似正态分布,最常用
Robust Scaler无固定范围鲁棒有异常值,非正态分布
MaxAbs$x’ = \frac{x}{x_{max}}$[-1, 1]
对数变换无固定范围鲁棒长尾分布,指数增长数据
分位数变换映射到均匀/正态分布[0, 1]或正态非常鲁棒任意分布,需完全消除分布形状

神经网络中的归一化层

归一化层的演进

年份方法归一化维度核心思想代表模型
2015BatchNorm跨batch (N, H, W)对每个通道,在一个batch内归一化ResNet, CNN标配
2016LayerNorm跨特征 (C, H, W)对每个样本,跨所有特征归一化Transformer标配
2016InstanceNorm跨空间 (H, W)对每个样本每个通道单独归一化风格迁移,GAN
2018GroupNorm分组通道介于LayerNorm和InstanceNorm之间小batch检测/分割
2019RMSNorm跨特征仅用均方根,不中心化LLaMA, 最新LLM

BatchNorm vs LayerNorm vs RMSNorm 详细对比

维度BatchNormLayerNormRMSNorm
归一化对象一个batch内同一通道的所有位置一个样本的所有特征一个样本的所有特征
计算依赖依赖batch内的其他样本独立于batch独立于batch
batch size敏感是(小batch时不稳定)否否
训练/推理差异是(推理时用移动平均)否(一致)否(一致)
序列建模不适用(变长序列)适用适用
参数量 () () (仅 , 无 )
计算量中等(需计算均值方差)中等(需计算均值方差)更低(仅计算RMS)
2026年主流场景CNNTransformer大型LLM

数学公式

BatchNorm:

LayerNorm:

RMSNorm:

关键区别: RMSNorm移除了均值中心化(re-centering),仅做缩放(re-scaling),减少约30%的计算量同时保持相当的性能。

为什么归一化有效

  1. 内部协变量偏移 (Internal Covariate Shift): 网络层输入分布随训练变化,归一化稳定分布
  2. 平滑损失景观: 归一化使损失函数更平滑,允许更大的学习率
  3. 隐式正则化: BatchNorm引入的batch内噪声有轻微正则化效果
  4. 梯度流改善: 减少梯度消失/爆炸,特别是深层网络

归一化方法选择指南

场景推荐方法原因
CNN图像分类BatchNorm成熟,效果好,batch通常足够大
Transformer(NLP)LayerNorm独立于batch,适合变长序列
大语言模型(LLM)RMSNorm计算效率高,LLaMA系验证
小batch CNNGroupNorm不依赖batch size
图像生成/风格迁移InstanceNorm保持每个样本的风格独立性
目标检测(小batch)GroupNorm小batch下稳定
时序预测LayerNorm序列建模

2026年趋势

方向说明
RMSNorm主导LLMLLaMA/GPT/DeepSeek系均采用RMSNorm
动态归一化根据输入动态调整归一化参数,如DyNorm
Pre-Norm vs Post-NormPre-LN(注意力前LN)在2026年仍是主流,训练更稳定
归一化与量化的协同归一化层的量化对模型压缩影响重大

相关笔记

来源

关联13

知识图谱

局部图谱 · 点节点跳转