Delving Deep into Rectifiers: Surpassing Human-Level Performance on ImageNet Classification
Kaiming He, Xiangyu Zhang, Shaoqing Ren, Jian Sun.
ICCV 2016.
在介绍Xavier初始化方法的这篇博客的最后,我们提到Xavier初始化方法适用的激活函数有限:关于0对称;线性。而ReLU激活函数并不满足这些条件,实验也可以验证Xavier初始化确实不适用于ReLU激活函数。
Kaiming初始化
残差网络的作者在这篇论文中提出了ReLU网络的初始化方法:Kaming初始化。作者的推导过程针对的其实是卷积网络的前向和反向过程(惊奇地发现自己好像没有推导过卷积网络的梯度表达式)。而为了和Xavier初始化方法保持一致,这里我们还是讨论全连接网络结构。
关于期望、方差的性质,我们已经在Xavier初始化一节介绍过了,这里不再重复。
在Xavier论文中,作者给出的Glorot条件是:正向传播时,激活值的方差保持不变;反向传播时,关于状态值的梯度的方差保持不变。这在本文中稍作变换:正向传播时,状态值的方差保持不变;反向传播时,关于激活值的梯度的方差保持不变。
网络的表达式:
zi=Wihi−1,(1)
hi=f(zi).(2)
前向过程
由公式(1)可知:
Var(zi)===ni−1Var(Wihi−1)ni−1[E(Wihi−1)2−(E(Wihi−1))2]ni−1[E(Wi)2E(hi−1)2−(E(Wi))2(E(hi−1))2]
假设
E(Wi)=0,(3)
又激活函数是ReLU,所以激活值的期望 E(hi−1) 不为0。于是上式可以写成
Var(zi)==ni−1E(Wi)2E(hi−1