何时在统一初始化上使用(He或Glorot)正常初始化?批处理规范化有什么影响?


51

我知道残留网络(ResNet)使He正常的初始化很流行。在ResNet中,使用He常规初始化,而第一层使用He统一初始化。

我浏览过ResNet论文和“深入整流器”论文(他的初始化论文),但是我没有发现任何有关普通init和统一init的信息。

也:

批处理规范化使我们可以使用更高的学习率,而对初始化则不必那么小心。

在批处理规范化论文的摘要中,可以说批处理规范化使我们在初始化时不那么小心。

ResNet本身仍在关注何时使用普通init和统一init(而不是仅使用统一init)。

所以:

  • 何时使用(He或Glorot)正态分布初始化而不是统一初始化?
  • 批处理归一化的正态分布初始化效果是什么?

除了注释:

  • 使用正常的init和Batch Normalization进行押韵,但是我还没有找到支持这一事实的论文。
  • 我知道ResNet使用He init而不是Glorot init,因为He init在深度网络上的性能更好。
  • 我了解Glorot初始化与He初始化
  • 我的问题是关于普通vs统一初始化。

Answers:


34

实际上,普通初始化还是统一初始化似乎还不清楚。

如果我们仅参考GlorotHe的初始化论文,它们都使用类似的理论分析:他们发现从中得出初始参数的分布有很好的差异。该方差适合于所使用的激活函数,并且无需明确考虑分布类型即可得出。这样,他们的理论结论适用于所确定方差的任何分布类型。实际上,在Glorot纸中,使用的是均匀分布,而在He纸中,则选择的是高斯分布。He论文中为此选择给出的唯一“解释”是:

最近的深层CNN大多通过从高斯分布中得出的随机权重进行初始化

参考AlexNet论文。它的发布确实比Glorot的初始化晚一些,但是使用正态分布并没有任何理由。

实际上,在关于Keras问题跟踪器讨论中,它们似乎也有些混乱,并且基本上这只能是一个优先事项...(即,假设Bengio倾向于统一分布,而Hinton则倾向于正态分布...)在讨论中,有一个小的基准比较使用统一分布和高斯分布的Glorot初始化。最后,看来制服赢了,但还不是很清楚。

在原始的ResNet论文中,它只说他们对所有层都使用了高斯He初始化,而我找不到在哪里写到他们对第一层使用了统一的He初始化。(也许您可以分享对此的参考?)

至于将高斯初始化与批处理归一化一起使用,对于BN,优化过程对初始化不太敏感,因此,这只是我的一个约定。


我看错了。没错,ResNet根本不使用任何统一的初始化。我站得住了。
rilut

0

1
请避免发布仅链接。一段时间后,任何链接都可能失效,新读者将无法检查答案。您可以发布链接,但也始终将最重要部分的摘要也添加为文本。
Tasos

@Tasos评论很好指出。太多的信息可供总结,这就是为什么我发布链接的原因,而我对链接断开表示了自己的意思。谢谢。
rockyne
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.