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]或正态 | 非常鲁棒 | 任意分布,需完全消除分布形状 |
神经网络中的归一化层
归一化层的演进
| 年份 | 方法 | 归一化维度 | 核心思想 | 代表模型 |
|---|---|---|---|---|
| 2015 | BatchNorm | 跨batch (N, H, W) | 对每个通道,在一个batch内归一化 | ResNet, CNN标配 |
| 2016 | LayerNorm | 跨特征 (C, H, W) | 对每个样本,跨所有特征归一化 | Transformer标配 |
| 2016 | InstanceNorm | 跨空间 (H, W) | 对每个样本每个通道单独归一化 | 风格迁移,GAN |
| 2018 | GroupNorm | 分组通道 | 介于LayerNorm和InstanceNorm之间 | 小batch检测/分割 |
| 2019 | RMSNorm | 跨特征 | 仅用均方根,不中心化 | LLaMA, 最新LLM |
BatchNorm vs LayerNorm vs RMSNorm 详细对比
| 维度 | BatchNorm | LayerNorm | RMSNorm |
|---|---|---|---|
| 归一化对象 | 一个batch内同一通道的所有位置 | 一个样本的所有特征 | 一个样本的所有特征 |
| 计算依赖 | 依赖batch内的其他样本 | 独立于batch | 独立于batch |
| batch size敏感 | 是(小batch时不稳定) | 否 | 否 |
| 训练/推理差异 | 是(推理时用移动平均) | 否(一致) | 否(一致) |
| 序列建模 | 不适用(变长序列) | 适用 | 适用 |
| 参数量 | () | () | (仅 , 无 ) |
| 计算量 | 中等(需计算均值方差) | 中等(需计算均值方差) | 更低(仅计算RMS) |
| 2026年主流场景 | CNN | Transformer | 大型LLM |
数学公式
BatchNorm:
LayerNorm:
RMSNorm:
关键区别: RMSNorm移除了均值中心化(re-centering),仅做缩放(re-scaling),减少约30%的计算量同时保持相当的性能。
为什么归一化有效
- 内部协变量偏移 (Internal Covariate Shift): 网络层输入分布随训练变化,归一化稳定分布
- 平滑损失景观: 归一化使损失函数更平滑,允许更大的学习率
- 隐式正则化: BatchNorm引入的batch内噪声有轻微正则化效果
- 梯度流改善: 减少梯度消失/爆炸,特别是深层网络
归一化方法选择指南
| 场景 | 推荐方法 | 原因 |
|---|---|---|
| CNN图像分类 | BatchNorm | 成熟,效果好,batch通常足够大 |
| Transformer(NLP) | LayerNorm | 独立于batch,适合变长序列 |
| 大语言模型(LLM) | RMSNorm | 计算效率高,LLaMA系验证 |
| 小batch CNN | GroupNorm | 不依赖batch size |
| 图像生成/风格迁移 | InstanceNorm | 保持每个样本的风格独立性 |
| 目标检测(小batch) | GroupNorm | 小batch下稳定 |
| 时序预测 | LayerNorm | 序列建模 |
2026年趋势
| 方向 | 说明 |
|---|---|
| RMSNorm主导LLM | LLaMA/GPT/DeepSeek系均采用RMSNorm |
| 动态归一化 | 根据输入动态调整归一化参数,如DyNorm |
| Pre-Norm vs Post-Norm | Pre-LN(注意力前LN)在2026年仍是主流,训练更稳定 |
| 归一化与量化的协同 | 归一化层的量化对模型压缩影响重大 |
相关笔记
- 第5章 · 模型评估与特征工程 — 数据预处理与特征工程
- 第6章 · 神经网络基础 — 神经网络训练基础
- 第9章 · Transformer 架构精讲 — Transformer中的LayerNorm
- 过拟合与欠拟合 (Overfitting & Underfitting) — 归一化的隐式正则化作用
- 卷积核 (Convolution Kernel) — CNN中的BatchNorm
来源
- Ioffe & Szegedy, “Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift” (2015) — https://arxiv.org/abs/1502.03167
- Ba et al., “Layer Normalization” (2016) — https://arxiv.org/abs/1607.06450
- Zhang & Sennrich, “Root Mean Square Layer Normalization” (2019) — https://arxiv.org/abs/1910.07467
- Wu & He, “Group Normalization” (2018) — https://arxiv.org/abs/1803.08494
- Ulyanov et al., “Instance Normalization: The Missing Ingredient for Fast Stylization” (2016) — https://arxiv.org/abs/1607.08022
关联13
知识图谱反向链接8
局部图谱 · 点节点跳转