学习记录,如有错误请指出,感谢大家的指导。
协变量偏移
深度学习(也可推广至所有机器学习)学习的是数据的分布。所以一旦分布出现了问题,学习的效率就会大打折扣。因为数据集的分布如果不能很好的体现整体的所有分布,比如人脸识别中训练集都是年轻的脸,但测试集中包含了老年人的脸;股票预测中的训练集数据来源于牛市但测试集中包含了熊市的数据等等。综合来说:测试集的数据标签分布可能和训练集是一样的,但是测试集的条件分布和训练集的条件分布是不同的。用数学语言来描述可以写成:
在这种情况下,我们在训练集上学习到的分布特征是无法适用于测试集的。这一点在训练当中是很容易被忽略的,有很大一部分原因是一些分布特征是我们难以捕捉的,尤其是当网络层数变深之后,这种差距会在一个一个阶段的特征提取中被放大。在这种情况下,数据的预处理就显得特别重要。由此引出了对Normalization的讨论。
Normalization
常见的归一化手段有4种: Batch Normalization、Instance Normalization、Layer Normalization 和 Group Normalization。