目录

简介

初始化好的网络训练快,效果也好。 初始化差的网络训练慢,效果也差。给人感觉就像模型出问题了一样。

glorot_uniform_initializer

也称之为Xavier uniform initializer,由一个均匀分布(uniform distribution)来初始化数据。 假设均匀分布的区间是[-limit, limit],则

limit = sqrt(6 / (fan_in + fan_out))

其中的fan_in和fan_out分别表示输入单元的结点数和输出单元的结点数。

xavier

《Understanding the difficulty of training deep feedforward neural networks》

he_normal

《Delving Deep into Rectifiers:Surpassing Human-Level Performance on ImageNet Classification》

截断的正态分布

在深度学习和神经网络中,初始化权重是一个重要的步骤,它对模型的训练效果和收敛速度有着显著的影响。使用截断的正态分布(或称为截断高斯分布)作为权重初始化方法有以下几个原因:

1. 避免梯度消失和梯度爆炸

  • 梯度消失:当权重非常小的时候,激活函数的导数也会变得很小,导致梯度在反向传播过程中逐渐变小,最终可能趋近于零。这会使得模型难以训练深层网络。
  • 梯度爆炸:相反,当权重非常大的时候,激活函数的导数可能会变得非常大,导致梯度在反向传播过程中迅速增大,可能导致权重更新过大,使模型不稳定。

使用截断的正态分布可以确保权重在一定范围内,避免极端值的出现,从而减少梯度消失和梯度爆炸的风险。

2. 保持激活值的稳定性

  • 深层网络中,如果权重初始化不当,可能会导致激活值的方差随层数增加而急剧变化。这会影响网络的训练效果。
  • 截断的正态分布可以帮助保持激活值的方差在一个合理的范围内,从而使网络更容易训练。

3. 促进对称性打破

  • 在神经网络中,如果所有权重都初始化为相同的值,那么在训练过程中,每个神经元的行为将完全相同,这会导致模型无法有效地学习复杂的数据模式。
  • 使用随机初始化(如截断的正态分布)可以打破这种对称性,使每个神经元在训练过程中学习到不同的特征。

4. 控制权重的范围

  • 截断的正态分布允许我们指定一个范围,确保权重不会超过这个范围。这对于某些特定的网络结构和任务来说是非常有用的。
  • 例如,在某些情况下,我们可能希望权重在一个较小的范围内,以避免过大的权重导致的数值不稳定问题。

5. 理论上的优势

  • 一些理论研究表明,使用适当的初始化方法(如截断的正态分布)可以加速模型的收敛,并提高模型的性能。
  • 例如,He 初始化和 Xavier 初始化都是基于正态分布的变体,它们在实践中表现良好。

实际应用

在实际应用中,常用的初始化方法包括: - Xavier 初始化:也称为 Glorot 初始化,使用均匀分布或正态分布来初始化权重,旨在保持每一层的输入和输出的方差一致。 - He 初始化:针对 ReLU 激活函数优化的初始化方法,使用正态分布来初始化权重,旨在解决 ReLU 激活函数的非线性特性。

总结

使用截断的正态分布作为权重初始化方法,可以有效避免梯度消失和梯度爆炸,保持激活值的稳定性,促进对称性打破,并控制权重的范围。这些优势使得模型更容易训练,收敛速度更快,性能更好。