M3-020M3: Deep Learning FoundationsNormalization TechniquesEasy
Mastery:
Normalization Techniques: 比较 BatchNorm 与 LayerNorm 的归一化维度与适用场景。
📐 Mathematical Definition
⚡ Executive Summary
Core Concept: BN 跨 batch 归一化(依赖 batch,CNN 常用);LN 跨特征归一化(与 batch 无关,Transformer/RNN 常用)。
📌 Key Takeaways
- •BN 训练/推理行为不同(running stats)
- •LN 训练推理一致,适合变长序列
📐 Mathematical Derivations
归一化维度的差异:设输入为 (N, C, H, W)(图像)或 (N, L, D)(序列)。<strong>BatchNorm</strong> 对<strong>每个通道</strong>统计<strong>跨样本(N)与空间(H,W)</strong> 的均值方差,故统计量依赖 batch 组成;<strong>LayerNorm</strong> 对<strong>每个样本</strong>统计<strong>跨特征(D 或 C,H,W)</strong> 的均值方差,与 batch 无关。<strong>适用场景</strong>:① <strong>BN</strong> 适合 CNN(图像),因为图像特征的通道统计在样本间稳定、且大 batch 下统计量可靠;② <strong>LN</strong> 适合 Transformer/RNN,因为序列长度可变(BN 的跨样本统计会因 padding 而失真)、且小 batch 下 BN 统计不可靠。<strong>为什么 NLP 用 LN</strong>:(a) 序列长度可变 → BN 需处理 padding 与变长统计,复杂且不准确;(b) NLP 任务的 batch 常较小(长序列占显存)→ BN 统计噪声大;(c) LN 对每个 token 独立归一化,与序列长度解耦。<strong>BN 对小 batch 效果差的原因</strong>:batch 越小,batch 统计量(均值/方差)的估计噪声越大(方差 ∝1/batch),导致归一化不稳定、running 统计偏离真实分布;极端情形(batch=1)时 BN 的方差为 0,完全失效。
🏭 Production Trade-offs
实践要点:① <strong>BN 的训练/推理差异</strong>——训练用 batch 统计并更新 running 统计;推理用 running 统计(因为推理时可能无 batch 或 batch=1)。这个差异是<strong>最常见的 bug 来源</strong>(忘记 <code>model.eval()</code> 导致推理结果异常)。② <strong>LN 的无参数与有参数版本</strong>——LN 通常带可学习的 γ(缩放)与 β(平移),初始化为 γ=1、β=0(恒等);<strong>RMSNorm</strong> 去掉均值中心化与 β(见下题)。③ <strong>归一化位置</strong>——BN 通常放在卷积后、激活前(Conv-BN-ReLU);LN 在 Transformer 中放在子层前(Pre-LN)或后(Post-LN)。④ <strong>其他归一化</strong>——<strong>GN(Group Norm)</strong>(分组内归一化,与 batch 无关,适合小 batch 视觉任务)、<strong>IN(Instance Norm)</strong>(风格迁移)、<strong>Weight Norm</strong>(对权重归一化)。⑤ <strong>实践建议</strong>——视觉任务用 BN(大 batch)或 GN(小 batch);NLP/序列用 LN/RMSNorm;Transformer 中优先 Pre-LN。⑥ <strong>诊断</strong>——若训练 loss 震荡且梯度范数波动大,可能是 BN 统计不稳(batch 太小);可换 GN/LN 或增大 batch。
⚠️ Common Interview Pitfalls
- ✕在变长序列上用 BN(padding 导致统计失真)
- ✕推理时忘记 model.eval() 导致 BN 用 batch 统计
🎯 Interviewer Follow-ups
- ?为什么 NLP 用 LN 而不是 BN?
- ?BN 为什么对小 batch 效果差?
📚
Associated Knowledge Base Guides & Mindmaps
Explore the comprehensive technical article, exam cards, and global architecture tree.