M3-024M3: Deep Learning FoundationsNormalization TechniquesHard
Mastery:

Normalization Techniques: 列举归一化层带来的副作用与替代方案。

📐 Mathematical Definition
GN: normalize over channel groups\text{GN}:\ \text{normalize over channel groups}
⚡ Executive Summary
Core Concept: 副作用:依赖 batch(BN)、改变表示尺度、与 dropout 冲突、小 batch 不稳。替代:LN/GN/RMSNorm、Weight Standardization、Fixup。

📌 Key Takeaways

  • •
    GN 与 batch 无关,适合小 batch 视觉任务
  • •
    Fixup 用初始化替代归一化

📐 Mathematical Derivations

四类副作用:① <strong>依赖 batch(BN)</strong>——统计量依赖 batch 组成,导致 (a) 小 batch 不稳(方差估计噪声大);(b) 分布式训练需 SyncBN(否则各卡统计不一致);(c) 变长序列/不同尺寸输入处理复杂;(d) 训练与推理行为不一致(bug 源)。② <strong>改变表示尺度</strong>——归一化强制激活的均值方差,可能<strong>损失信息</strong>(如某些任务需要保留绝对尺度,如温度、亮度);且 γ、β 需要重新学习缩放。③ <strong>与 dropout 冲突</strong>——dropout 改变激活方差,与 BN 的 running 统计冲突(方差偏移);两者同用需谨慎。④ <strong>表达能力受限</strong>——归一化的强约束可能限制网络的表达能力(理论上某些函数需要非归一化的表示);此外它引入超参(ε、momentum)与额外的计算/内存开销。<strong>替代方案</strong>:① <strong>GN(Group Norm)</strong>——把通道分组、在组内与空间维度归一化,<strong>与 batch 无关</strong>;适合小 batch 的检测/分割任务(batch 常为 1–4),效果接近 BN 且更稳定;② <strong>LN/RMSNorm</strong>——序列任务首选;③ <strong>Weight Standardization</strong>——对<strong>权重</strong>(而非激活)标准化,使卷积的 Lipschitz 性质更好,可替代 BN(配合 GN 效果佳);④ <strong>Fixup</strong>——用精心设计的<strong>初始化 + 缩放</strong>替代归一化(如残差分支缩放、偏置初始化),完全去掉归一化层(减少计算与依赖);⑤ <strong>SkipInit / ReZero</strong>——用可学习的标量门控残差分支(初始为 0),使深层网络无需归一化也能训练。

🏭 Production Trade-offs

实践要点:① <strong>GN 的适用</strong>——检测/分割/视频(batch 小)优先;分组数通常取 32(或通道数的约数);计算成本略高于 BN(因归一化的元素数相同但归约范围不同)。② <strong>Weight Standardization 的收益</strong>——它使'权重矩阵的每行零均值单位方差',改善优化条件;与 GN 组合(WS+GN)在小 batch 上优于 BN,是许多检测框架的默认。③ <strong>Fixup 的代价</strong>——去掉归一化后需精细的初始化设计(每层残差分支缩放、最后一层零初始化偏置),对架构改动敏感、泛化性不如归一化层(换数据集可能需重调)。④ <strong>无归一化的趋势</strong>——部分工作尝试用 μP + 精心初始化训练无归一化的 Transformer(如某些高效架构),但主流 LLM 仍用 RMSNorm(成本低、收益明确)。⑤ <strong>选择依据</strong>——(a) 大 batch 视觉 → BN;(b) 小 batch 视觉 → GN(+WS);(c) 序列/Transformer → LN/RMSNorm;(d) 极致效率 → Fixup/ReZero(需验证)。⑥ <strong>诊断</strong>——若训练不稳定且怀疑归一化,可做消融(去掉归一化看是否更差);若小 batch 下 BN 表现差,换 GN 通常立竿见影。
⚠️ Common Interview Pitfalls
  • ✕
    小 batch 视觉任务硬用 BN(应换 GN)
  • ✕
    在需要绝对尺度的任务上强行归一化
🎯 Interviewer Follow-ups
  • ?
    GN 为什么适合检测/分割?
  • ?
    Fixup 的核心思想?
📚

Associated Knowledge Base Guides & Mindmaps

Explore the comprehensive technical article, exam cards, and global architecture tree.

← PreviousM3-023: Normalization Techniques: 解释 BatchNorm 在推理时为什么用 running 统计。📋Back to BankNext →M3-025: Normalization Techniques: 解释 Group Normalization 与它适合的场景。