Normalization
引入:
- 虽然不是所有模型都需要以“独立同分布”为基础,但它可以简化常规机器学习模型的训练、提升机器学习模型的预测能力;
- 白化(数据预处理)
(1)去除特征之间的相关性 —> 独立;
(2)使得所有特征具有相同的均值和方差 —> 同分布。 - Internal Covariate Shift是指源空间和目标空间的条件概率是一致的,但是其边缘概率不同;对于神经网络的各层输出,由于它们经过了层内操作作用,其分布显然与各层对应的输入信号分布不同,而且差异会随着网络深度增大而增大,可是它们所能“指示”的样本标记(label)仍然是不变的,这便符合了covariate shift的定义。由于是对层间信号的分析,也即是“internal”的来由。
归一化 | Instance Normalization | Batch Normalization | Layer Normalization |
---|---|---|---|
引入 | 生成结果主要依赖于某个实例 | 每一个batch的分布不同,会产生internal covarivate shift问题 | BN易受batch size的影响;且在rnn这种变长网络中不太适用 |
对象 | 单个样本本身 | 计算每个batch每一层的平均值和方差,对不同样本的同一个通道的特征做归一化 | 计算每一层每一个样本的均值和方差,同一个样本的不同通道做归一化 |
【补充】内部协变量偏移(Internal Covariate Shift),简单的来说就是输出的分布发生了偏移,和输入的分布不一致;
参考文献:
[1]https://zhuanlan.zhihu.com/p/33173246
[2]https://www.zhihu.com/question/38102762/answer/85238569
[3]https://blog.csdn.net/liuxiao214/article/details/81037416