Batch Normalization 笔记
神经网络在更新参数的时候是假定其他参数不变 ,但是事实上参数是一起更新的。

比如上图,直线从\(H1\)更新到\(H2\)但是下一次输入分布变了(前面层的参数更新了)。所以相对位置就可能变为\(H3\)
Internal Covariate Shift, 多层之间缺乏默契,不能相互配合,互相追逐。

BN可以分为两部分,第一部分是standardlization,第二部分是scale and shift.
\(\mu,\sigma\) 是统计量
\(\gamma, \beta\)是待学习的控制\(y_i\)的方差和均值的量

BN的作用。
1.更大的学习率
2.可以将bias置为0, standardlization去除了直流分量
3. 对权重初始化不再敏感
4.对权重的尺度不再敏感
5. 可以使用sigmoid和tanh
6. 具有某种正则的作用,减少过拟合,不需要太依赖dropout.
卷积一个卷积核对应一个\(\gamma,\beta\)
scale and shift是可学习的,将模型的分布都限制成zero mean and unit variance 并不一定好。通过学习参数,可以让不同层之间相互配合。
BN理论上放在ReLU 前面,因为ReLU的输出是非负的,不能近似高斯分布。

浙公网安备 33010602011771号