批量标准化使培训更快?

时间:2017-06-27 14:10:25

标签: deep-learning batch-normalization

我随处可读,除了提高准确度方面的表现外,还有#34;批量标准化使培训更快,#34;。

我可能误解了一些事情(导致BN被证明不止一次有效)但对我来说它似乎是不公平的王。

实际上,将BN添加到网络中会增加要学习的参数数量:使用BN来" Scales"和"偏移"要学习的参数。请参阅:https://www.tensorflow.org/api_docs/python/tf/nn/batch_normalization

如果有更多的工作要做,网络如何能够更快地训练" ?

(我希望我的问题是合法的,或者至少不是太愚蠢)。

谢谢:)

2 个答案:

答案 0 :(得分:1)

批量标准化通过要求较少的迭代收敛到给定的损失值来加速训练。这可以通过使用更高的学习率来完成,但是学习率越低,您仍然可以看到改进。这篇论文非常清楚地表明了这一点。

与sigmoid激活相比,使用ReLU也具有此效果,如原始AlexNet论文(没有BN)所示。

批量标准化也使优化问题变得更容易"因为最小化协变量偏移避免了大量的平稳,其中损失停滞或缓慢减少。它仍然可以发生,但它的频率要低得多。

答案 1 :(得分:0)

批量标准化将较低层激活的分布固定到其下一层。 Scales和offset只是将该分布“移动”到更有效的位置,但在每个训练步骤中它仍然是固定分布。这种固定意味着更高层的参数调整不需要担心下层参数的修改,这使得训练更有效。