M3-008M3: Deep Learning FoundationsWeight InitializationEasy
Mastery:

Weight Initialization: 为什么不能全零初始化?

📐 Mathematical Definition
W=0⇒∇Wi=∇WjW=0\Rightarrow \nabla_{W_i}=\nabla_{W_j}
⚡ Executive Summary
Core Concept: 对称性无法打破:同层神经元梯度相同、永远学出相同权重。

📌 Key Takeaways

  • •
    偏置可以零初始化
  • •
    LoRA 的 B 零初始化是特例(A 随机,整体不对称)

📐 Mathematical Derivations

对称性破坏的机制:若某层所有神经元的权重相同(全零是最极端情形),则它们的<strong>前向输出相同</strong>、反向接收的<strong>梯度也相同</strong>,故更新后仍保持相同——网络退化为'每层只有一个有效神经元',无论多宽都等价于单神经元(表达力丧失)。数学上:设 W 的两行相同,则对任意输入 x,两行输出相同,梯度 ∂L/∂W₁=∂L/∂W₂,故更新后两行仍相同——这是一个<strong>不变子空间</strong>(对称性),梯度下降无法逃离。<strong>为什么偏置可以零初始化</strong>——偏置不参与'输入到输出的线性组合的对称性'(每个偏置对应一个独立神经元),零初始化偏置不导致神经元间的对称;且零偏置使初始决策边界过原点,是合理的归纳偏置。<strong>LoRA 的例外</strong>——LoRA 中 B 零初始化(ΔW=BA=0)是<strong>有意为之</strong>:它保证训练开始时模型等价于原预训练模型(不破坏已有能力),而 A 是随机初始化的,故 ΔW 的梯度非零(∂L/∂B≠0),训练能正常进行——这里的'零初始化'是'起点等价'的需要,而非'对称性'问题。

🏭 Production Trade-offs

安全与危险的初始化对照:① <strong>危险</strong>——同层权重相同(全零、全常数);这会使该层退化为单神经元。② <strong>安全</strong>——(a) <strong>偏置零初始化</strong>(标准做法);(b) <strong>归一化层的 γ=1、β=0</strong>(初始为恒等变换);(c) <strong>残差分支的零初始化</strong>(如 adaLN-Zero 的门控、ReZero 的缩放参数)——使 block 初始为恒等映射,训练稳定;这里的零是'让新模块初始不干扰',与对称性问题无关;③ <strong>输出层的零初始化</strong>——使初始预测为常数(如 logits 全零 → 均匀分布),是合理的起点。③ <strong>LoRA 的零初始化</strong>——见上。④ <strong>实践建议</strong>——隐藏层用随机初始化(Xavier/Kaiming,见下题);若需'零初始化某模块',应确认该模块内部<strong>存在打破对称性的随机成分</strong>(如 LoRA 的 A、adaLN 的 MLP 权重)。⑤ <strong>诊断</strong>——若训练 loss 完全不下降且梯度极小,应检查是否存在对称初始化或全零权重。
⚠️ Common Interview Pitfalls
  • ✕
    对隐藏层权重做零/常数初始化
  • ✕
    认为任何零初始化都危险(LoRA/残差门控是安全特例)
🎯 Interviewer Follow-ups
  • ?
    LoRA 为什么可以 B=0?
  • ?
    哪些层的零初始化是安全的?
📚

Associated Knowledge Base Guides & Mindmaps

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

← PreviousM3-007: Backprop & Autodiff: 解释梯度检验(gradient checking)的原理与实现细节。📋Back to BankNext →M3-009: Weight Initialization: 写出 Xavier 与 Kaiming 初始化的方差,并说明适用激活。