1、批量归一化的作用
批量归一化(Batch Normalization,BN)的把误差曲面变得平滑,使训练能够得到快速收敛;
训练过程的优化:使用自适应学习率等比较进阶的优化训练方法;
训练对象的优化:批量归一化可以改变误差表面,让误差表面比较不崎岖
参数
w
i
w_i
wi是指训练参数或者训练的目标
1.1 特征归一化
当输入的特征,每一个维度的值,它的范围差距很大的时候,我们就可能产生像这样子的误差表面,就可能产生不同方向,斜率非常不同,坡度非常不同的误差表面。因此我们可以给不同的维度,同样的数值范围的话,那我们可能就可以制造比
较好的误差表面,让训练变得比较容易一点其实有很多不同的方法,这些不同的方法往往就合起来统称为特征归一化(feature normalization)。
1.2 Z 值归一化(标准化)
归一化后选中特征都数值平均值是 0,方差是1的维度上,这样误差表面比较平滑,能够提升训练,损失收敛的更快一点。
2、考虑深度学习过程中的归一化
u
=
1
n
∑
i
=
1
n
z
i
u=\frac{1}{n}\sum_{i=1}^{n}z^i
u=n1∑i=1nzi
σ
=
1
n
∑
)
i
=
1
n
(
z
i
−
u
)
2
\sigma=\sqrt{\frac{1}{n}\sum)_{i=1}^{n}(z^i-u)^2}
σ=n1∑)i=1n(zi−u)2
![](https://i-blog.csdnimg.cn/direct/876749a63a1c495fb5d9fc38c1e269e6.png
为实际实现的时候,只对一个批量里面的数据做归一化,所以技巧称为批量归一化。
3、测试时的批量归一化
4、内部协变量偏移
协变量偏移(covariate shift),训练集和预测集样本分布不一致的问题就叫做协变量偏移现象,这个词汇是原来就有的,内部协变量偏移是批量归一化的作者自己发明的。
其实批量归一化不是唯一的归一化,还有很多归一化方法,比如批量重归一化(batch
renormalization)、层归一化(layer normalization)、实例归一化(instance normalization)
、组归一化(group normalization)、权重归一化(weight normalization)和谱归一
化(spectrum normalization).