Kaiming(He)初始化推导——为 ReLU 网络构造前向/反向方差保持的权重分布,结论是
Var(w)=2/din。完整推导链: ① 核心恒等式: 对单输出神经元
y=∑i=1dwixi(
d=din),假设
wi i.i.d.、
E[wi]=0 且
wi 与
xi 相互独立,则
Var(y)=∑i=1dVar(wixi)=∑i=1d(E[wi2]E[xi2]−E[wi]2E[xi]2)。因
E[w]=0、
E[x]=0 时
Var(w)=E[w2]、
Var(x)=E[x2],故
Var(y)=dE[w2]E[x2]=dVar(w)Var(x)。② 线性条件: 无激活(或线性激活)时令
Var(y)=Var(x),得
dVar(w)=1⇒Var(w)=1/d,即 Xavier 的前向条件。③ ReLU 的作用: 设前激活
z=wTx 均值为零且分布关于 0 对称(由零均值、对称的
w 与
x 保证),则
P(z<0)=1/2;输出
x′=max(0,z) 把负半轴全部置零,其均方能量
E[(x′)2]=∫0∞z2p(z)dz=21∫−∞∞z2p(z)dz=21Var(z)——ReLU 恰好把激活的均方能量砍掉一半。④ 代入下一层:
Var(y′)=dE[w2]E[(x′)2]=dVar(w)⋅21Var(x)(上一层已保证
Var(z)=Var(x)),令
Var(y′)=Var(x) 得
21dVar(w)=1⇒Var(w)=d2。因子 2 的来源: ReLU 每层把均方激活砍半,为保持方差不变,权重方差必须加倍。⑤ 反向条件: 梯度
∂x∂L=WT∂y∂L 同样是
dout 项求和,且 ReLU 的导数正半轴为 1、负半轴为 0(梯度通过率也是 ½),故反向方差保持要求
Var(w)=2/dout。前向用 fan_in、反向用 fan_out;PyTorch 等框架默认按 fan_in(
din)。⑥ PReLU 推广(负半轴斜率 a):
Var(w)=(1+a2)din2,a=0 时退化为 ReLU 的
2/din。