深度学习中常用的参数初始化方法及caffe中的初始化方法介绍
本文首先介绍了深度学习中常用的权重初始化方法,然后介绍 caffe 中的初始化方法的使用。
1. 深度学习中常用的权重初始化方法
1.1 随机初始化(Gaussian)
顾名思义就是将权重在符合某一分布 (通常是高斯分布) 的情况下进行随机初始化。 操作非常的简单, 但是也有它自身的一些问题。当网络的层数比较深时,输出会快速的趋向于零,从而导致梯度消失的问题。
1.2 Xavier Initiallization
针对上面的问题,并且由于网络的深度不断的加深,所以 Xavier Glorot 等在2010年提出 (Understanding the difficulty of training deep feedforward neural networks) 了 Xavier 初始化方法。用一句话概括就是通过使输入和输出的方差一致,来避免所有输出值都趋向于0,从而缓解梯度消失的问题。
值得注意的是, 在 Xavier 提出的那个年代(2010)大家普遍使用的激活函数还是以sigmoid 和 tanh 代表的非线性函数,我们现在所常用的ReLU在2000年被提出,但是直到2011年才被证明使用ReLU在更深的神经网络中可以取得更好的效果。因此 Xavier 也是针对上面的 tanh 激活函数的。
关于Xavier的推导可以参考