论文链接How Does Batch Normalization Help Optimization?
How Does Batch Normalization Help Optimization?
这是一篇2018年NIPS的文章,主要讲了下BN怎么样帮助模型优化。
总结三点:
-
a. 梯度更加稳定,更加可预测。
-
b. 计算梯度时可以采用更大的步长,允许我们使用更大的学习率来加速训练。
-
c. 防止loss函数解空间突变,既不会掉入梯度消失的平坦区域,也不会掉入梯度爆炸的局部最小。
作者探讨了BatchNorm,优化和Internal Covariate Shift三者之间的关系。作者在CIFAR-10数据集上分别使用和不使用BatchNorm来训练标准的VGG网络,如上图显示用BatchNorm训练的网络在优化和泛化性能方面都有着显著改进。但是,从上图最右侧我们发现在有和没有BatchNorm的网络中,分布(均值和方差的变化)的差异似乎是微乎其微的。那么,由此引发以下的问题:
- 1)BatchNorm的有效性是否确实与Internal Covariate Shift有关?
- 2)BatchNorm固定层输入的分布是否能够有效减少Internal Covariate Shift?
具体结果可以参考论文或者这篇解读链接