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的输出是非负的,不能近似高斯分布。

posted @ 2021-03-07 13:14  木子士心王大可  阅读(145)  评论(0)    收藏  举报