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激活函数。
残差网络的作者在这篇论文中提出了ReLU网络的初始化方法:Kaming初始化。作者的推导过程针对的其实是卷积网络的前向和反向过程(惊奇地发现自己好像没有推导过卷积网络的梯度表达式)。而为了和Xavier初始化方法保持一致,这里我们还是讨论全连接网络结构。
关于期望、方差的性质,我们已经在Xavier初始化一节介绍过了,这里不再重复。
在Xavier论文中,作者给出的Glorot条件是:正向传播时,激活值的方差保持不变;反向传播时,关于状态值的梯度的方差保持不变。这在本文中稍作变换:正向传播时,状态值的方差保持不变;反向传播时,关于激活值的梯度的方差保持不变。
网络的表达式:
由公式(1)可知:
又激活函数是ReLU,所以激活值的期望 E(hi−1) 不为0。于是上式可以写成
而
把公式(5)代入公式(4)可以得到
于是
为了让正向传播时状态值的方差不变,有
于是:
故:
而
由公式(3)和公式(9)可知
把公式(11)和公式(12)代入公式(10)得到
于是
为了让反向传播时关于激活值的梯度的方差不变,有
得到
即:
公式(8)和公式(15)就是Kaiming初始化应该满足的条件。这篇论文中Kaiming初始化方法为:均值为0方差为(8)或者(15)的高斯分布。
Kaiming初始化的推导过程和Xavier初始化的推导过程最重要的差别在于公式(4)和公式(10)中:即激活函数的期望和激活函数的导数的期望不再为0。