返回 深度学习 思维导图
中文·English
🧠 深度学习ID: weight-init

权重初始化

Weight Initialization
🎯核心定义
权重初始化 = 训练开始前为权重选择分布,目标是让前向激活与反向梯度在层间传递时方差保持(既不明显缩小、也不明显放大),从而不触发梯度消失/爆炸。零初始化或全部相同初始化是错误示范: 同层所有神经元权重相同 → 前向输出相同、反向梯度也相同 → 对称性无法破缺,所有神经元永远学习到同一功能(等价于一个神经元)。Xavier/Glorot 初始化(2010,面向 tanh/sigmoid 的近似线性区): 前向方差保持要求 Var(w)=1/din\text{Var}(w) = 1/d_{\text{in}},反向要求 Var(w)=1/dout\text{Var}(w) = 1/d_{\text{out}},取折中 Var(w)=2din+dout\text{Var}(w) = \frac{2}{d_{\text{in}} + d_{\text{out}}};均匀分布形式 wU[6din+dout,6din+dout]w \sim U\left[-\sqrt{\frac{6}{d_{\text{in}}+d_{\text{out}}}}, \sqrt{\frac{6}{d_{\text{in}}+d_{\text{out}}}}\right](U[a,a]U[-a,a] 的方差为 a2/3a^2/3,令 a2/3=2/(din+dout)a^2/3 = 2/(d_{\text{in}}+d_{\text{out}}) 反解出 a=6/(din+dout)a = \sqrt{6/(d_{\text{in}}+d_{\text{out}})}),或正态 N(0,2/(din+dout))N(0, 2/(d_{\text{in}}+d_{\text{out}}))。Kaiming/He 初始化(2015,面向 ReLU): Var(w)=2din\text{Var}(w) = \frac{2}{d_{\text{in}}},均匀 U[6din,6din]U\left[-\sqrt{\frac{6}{d_{\text{in}}}}, \sqrt{\frac{6}{d_{\text{in}}}}\right] 或正态 N(0,2/din)N(0, 2/d_{\text{in}});PReLU 推广为 Var(w)=2(1+a2)din\text{Var}(w) = \frac{2}{(1+a^2)d_{\text{in}}}(a 为负半轴斜率)。核心推导(设 E[w]=0E[w]=0xxww 独立): 单输出 y=iwixiy = \sum_i w_i x_i 满足 Var(y)=dinVar(w)Var(x)\text{Var}(y) = d_{\text{in}}\,\text{Var}(w)\,\text{Var}(x),令输出方差等于输入方差即得 Var(w)=1/din\text{Var}(w) = 1/d_{\text{in}};ReLU 把激活均方砍半(负半轴置零),故乘 2 得 2/din2/d_{\text{in}}
💡使用场景
任何深度网络(CNN/Transformer)训练的第一道防线,与 BatchNorm 互补(BN 能缓解但初始化差仍会导致前几层梯度病态);面试高频“为什么不能零初始化”“Xavier 与 Kaiming 怎么选”“初始化如何影响梯度消失/爆炸”。
解决的核心痛点
权重过大 → 激活饱和(tanh 端部导数趋近 0)或前向数值爆炸;权重过小 → 深层信号指数衰减(50 层后按 0.9500.0050.9^{50} \approx 0.005 量级消失)。方差保持的初始化让信号量级在前向/反向全程保持 O(1)O(1),使几十上百层的网络可训练。注意初始化只决定起点: 梯度消失/爆炸的长期演化还要靠残差连接、BN/LN、门控等结构性手段,初始化与它们互补而非替代。
🎯5 个高频面试考点 (Exam Points)
1
为什么不能把所有权重初始化为 0(或相同值)?写出对称性问题: 相同初始化 → 相同梯度 → 对称性永不破缺 → 等价于一个神经元。
2
推导 Xavier 前向条件: 由 Var(y)=dVar(w)Var(x)\text{Var}(y) = d\,\text{Var}(w)\,\text{Var}(x) 令方差保持得 Var(w)=1/din\text{Var}(w) = 1/d_{\text{in}};为什么最终取 2/(din+dout)2/(d_{\text{in}}+d_{\text{out}})(前向 1/din1/d_{\text{in}} 与反向 1/dout1/d_{\text{out}} 的折中)?
3
写出 Xavier 与 Kaiming 的公式及适用激活: tanh/sigmoid 用 Xavier(2/(din+dout)2/(d_{\text{in}}+d_{\text{out}})),ReLU 用 Kaiming(2/din2/d_{\text{in}});原因是什么(ReLU 置零一半 → 因子 2)?
4
均匀分布边界 6/(din+dout)\sqrt{6/(d_{\text{in}}+d_{\text{out}})} 怎么来的?由 U[a,a]U[-a,a] 方差 a2/3a^2/3 等于目标方差 2/(din+dout)2/(d_{\text{in}}+d_{\text{out}}) 反解。
5
初始化与梯度消失/爆炸: 深度网络中初始化方差如何决定信号传递(前向激活与反向梯度的量级);为什么说初始化与 BN 是互补手段?
更新于 2026-08-12
🎯
检验攻克程度:针对「权重初始化」专属刷题排雷
做单选排雷题、推导选项机制,答错自动收录进专属错题本。
🚀 开始本考点专项刷题
上一个知识点学习率调度下一个知识点Kaiming 初始化方差推导

🔗 更多 深度学习 知识点卡片

激活函数演进Adam/AdamWAutograd 动态图BatchNorm 批归一化