Answers:
Xavier初始化,最初由Xavier Glorot和Yoshua Bengio在“理解深度前馈神经网络的训练知识”中提出,是一种权重初始化技术,它试图使层的输出方差等于其输入方差。 。事实证明,这个想法在实践中非常有用。自然,此初始化取决于层激活功能。Glorot和Bengio在他们的论文中考虑了逻辑乙状结肠激活函数,这是当时的默认选择。
后来,Sigmoid激活被ReLu超越,因为它可以解决消失/爆炸梯度问题。因此,出现了一种新的初始化技术,该技术将相同的想法(激活差异的平衡)应用于此新激活函数。它由Kaiming He等人在“深入整流器:在ImageNet分类中超越人类水平的性能”中提出,现在通常称为He初始化。
在tensorflow中,He初始化是在variance_scaling_initializer()
函数中实现的(实际上是更通用的初始化器,但默认情况下执行He初始化),而Xavier初始化器在逻辑上是xavier_initializer()
。
总而言之,机器学习从业者的主要区别如下:
tanh()
激活功能,我应该使用哪个初始化功能。