BatchNorm/LayerNorm/InstanceNorm详解
核心一句话:三种 Norm 本质都在做 “标准化 + 可学习仿射变换”,差别只在于 均值/方差统计的维度不同,因此适用场景与工程表现不同。
1. 归一化(Normalization)的统一形式
对任意激活值 ,归一化可写为:
- :在某些维度上统计得到的均值与方差(Norm 的核心差异)
- :数值稳定项,防止除 0
- :可学习参数,给模型“恢复尺度/偏移”的能力
2. 以 CNN 特征为例:张量形状与维度
CNN 常见激活张量:
- :batch size
- :通道数
- :空间大小
各种 Norm 的区别就是: 是对哪些维度进行 reduce(求平均/方差)。
3. BatchNorm(BN)
3.1 统计方式:对每个通道,在整个 batch + 空间上统计
对每个通道 :
归一化:
3.2 核心特点
✅ 利用 batch 统计,训练稳定且通常收敛更快(尤其在 CNN 分类任务中)
✅ 对同一通道的不同样本进行对齐,有助于判别式学习
❌ 依赖 batch size:batch 太小统计不稳定(常导致性能下降)
❌ 训练与推理行为不一致:训练用 batch 统计,推理用 running mean/var
3.3 常见应用
- CNN 图像分类(ResNet、VGG、EfficientNet 等)
- batch size 充足、分布稳定的任务非常适合 BN
4. LayerNorm(LN)
4.1 统计方式:对每个样本,把一个样本的特征维度整体统计
对一个样本 :
归一化:
在 CNN 中常理解为:对每个样本,在 上统计(即对 求均值/方差)。
4.2 核心特点
✅ 不依赖 batch size(batch=1 也可稳定工作)
✅ 训练与推理一致,无需 running stats
✅ 非常适合序列建模、Transformer、RNN
❌ 在 CNN 分类中往往不如 BN(通道统计结构被混合)
4.3 常见应用
- Transformer(BERT/GPT/ViT 等)
- NLP、语言建模、自回归推理(batch 很小甚至为 1)
5. InstanceNorm(IN)
5.1 统计方式:对每个样本的每个通道,仅在空间维度统计
对每个样本 、每个通道 :
归一化:
5.2 核心特点
✅ 不依赖 batch size
✅ 训练与推理一致
✅ 强烈去除每张图像的风格统计(对比度、亮度等)
❌ 在分类任务中可能损伤性能(因为全局强度信息被删除)
5.3 常见应用
- 风格迁移(Style Transfer)
- 图像生成任务(GAN、Diffusion 的部分结构中)
- 强调 “内容结构” 而非 “风格统计” 的场景
6. 三者对比总结(核心:统计维度不同)
| Norm | 均值/方差统计维度 | 是否依赖 batch | Train/Eval一致性 | 适用典型场景 |
|---|---|---|---|---|
| BatchNorm | 对每个通道,在 统计 | ✅依赖 | ❌不一致(running stats) | CNN 分类、大 batch |
| LayerNorm | 对每个样本,在特征维(如 或 )统计 | ❌不依赖 | ✅一致 | Transformer/NLP/序列建模 |
| InstanceNorm | 对每个样本每个通道,在 统计 | ❌不依赖 | ✅一致 | 风格迁移、生成模型 |
7. 为什么需要这么多 Norm?
可以把 Norm 理解为:给特征定义一个 “参考坐标系”:
- BN:群体坐标系(用 batch 统计对齐不同样本)
→ 适合判别式任务、需要样本间对齐的分类等 - LN:个体坐标系(每个样本自己稳定)
→ batch 不稳定、推理 batch=1 的生成模型/Transformer 必须这样 - IN:每张图每通道坐标系(强去风格统计)
→ 风格迁移正是想去除这些统计量并重建风格
Norm 的不同,是为了适应 任务结构与数据分布 的不同。
8. 顺带:GroupNorm(GN)——介于 LN 和 IN 的折中
GroupNorm 将通道划分成 组,每组统计均值方差:
- LN:把所有通道看成 1 组()
- IN:每个通道单独为一组()
- GN:,折中方案
✅ 不依赖 batch size
✅ 在 小 batch 的检测/分割任务 中非常常见(比 BN 稳)
常见模型:Mask R-CNN 系列、一些 segmentation backbone 等
9. 快速选择建议(经验法则)
- CNN 分类(batch 大) → BatchNorm
- 小 batch / 检测 / 分割 → GroupNorm / LayerNorm
- Transformer / NLP / LLM / 自回归生成 → LayerNorm(或 RMSNorm)
- 风格迁移 / 图像生成 → InstanceNorm(或 GN)
10. 一句话总结
三种 Norm 的联系:形式一致,本质都是标准化 + 仿射变换
三种 Norm 的区别:统计量的维度不同 → 参考系不同 → 工程适用场景不同





