——Sample Pairing,图像分类中的数据增强,从训练集随机抽取的两幅图像叠加合成一个新的样本(像素取平均值),使用第一幅图像的标签作为合成图像的实际标注。IBM2018年论文。
原理
可将训练集规模从N扩充到N*N,在GoogleNet作为实验网络,在ILSVRC2012数据集上top-1错误率从33.5%降到29.0%,在CIFAR-10数据集上top-1错误率从8.22%降到6.93%。对于训练集有限的图像分类任务,提高了模型准确率,效果明显。
对于图像A,随机从训练集中选取图像B,两者都经过基本的数据增强(镜像,随机裁剪),分辨率变为 224x224,取两幅图像的像素平均,并以图像A的标签为标签,将新的样本送入网络进行训练,每个epoch随机选择要叠加的图像数量。因此SamplePairing随机地从训练集中选取样本对,构建新的样本,但是第二张图片的标签并没有使用,不像mixup。
由于两张图片是同等权重进行叠加,一个分类器不可能完全准确地预测混合之后的图片的标签,除非标签A与标签B相同,因此训练损失不可能为0,即使是使用很复杂的网络。平均训练准确率在不会超过50%,对于N分类任务,最大训练准确率理论上为,如果训练集中所有类别的样本数都相同。
尽管 SamplePairing 的训练精度不会很高,当停止 SamplePairing 进行最终微调训练时,训练精度和验证精度很快改善。 经过微调模型,使用 SamplePairing 训练的网络比未使用 SamplePairing 训练的模型都高很多。使用 SamplePairing 实际是一种正则化。
训练过程:
1、先不使用 SamplePairing 数据增强训练,而是先使用传统的数据增强训练网络。
2、完成一个完整的epoch(ILSVRC)或者100个epoch(其他数据集)后,加入 SamplePairing 数据增强方法。
3、间歇性禁止SamplePairing。对于 ILSVRC 数据集,在300000 副图像上启用 SamplePairing,然后在之后的 100000 副图像上禁用它。对于其他数据集,启用 8 个 epoch,在接下来的 2 个 epoch 禁止 SamplePairing。
4、在训练损失函数和精度稳定后,禁止 SamplePairing ,进行微调。
实验
在不同数据集上使用SamplePairing或者不使用SamplePairing时的训练和验证误差:训练误差会增大,验证误差会减小,正则化效果明显。
几个比较重要的消融实验:
使用同一标签还是两个样本的标签(计算Softmax概率向量令两个样本的分量均为0.5)对于验证集的误差影响并不大,为实现方便,故采用一幅图像的标签。