该方法来源于2010年的论文Understanding the difficulty of training deep feedforward neural network
该方法的思想是:为了使得网络中信息更好的流动,每一层输出的方差应该尽量相等
具体的推导过程见如下链接:
深度学习——Xavier初始化方法
深度学习中Xavier初始化
推导所得的结果就是使该层中权重参数的每个元素都随机采样于均匀分布:
U(−6a+b,6a+b)U(-\sqrt{\frac{6}{a+b}},\sqrt{\frac{6}{a+b}})U(−a+b6,a+b6)
其中a是该层的输入个数,b是该层的输出个数,它的设计主要考虑到,模型参数初始化后,每层输出的方差不该受该层输入个数影响,且每层梯度的方差也不该受该层输出个数影响。