一、Batch Normalization 如果设定了合适的权重初始值,则各层的激活值分布会有适当的广度,从而可以顺利地进行学习。 为了使各层拥有适当的广度(激活值分布不能太广,易饱和),Batch Normalization 试图在学习过程中“强制性”地调整激活值的分布会怎样呢?缓解内部协变量偏移。 直观地说,机器学习就是要拟合数据的分布。在训练过程中,神经网络参数不断更新,导数中间层的数据分布频繁地变化。
- 每层的参数需不断适应新的输入数据分布,降低学习速度,增大学习的难度(层数多)
- 输入可能趋向于变大或者变小(分布变广),导致激活值落入饱和区,阻碍学习