概述
文章指出一些成功的神经网络所有的两个共同点:首先是会拟合一个训练集,其次是模型规模随着数据集样本增多而增大。同时也指出一些问题:一是尽管在很强的正则化下,模型也可以记住训练数据,而不是根据泛化得到;二是模型容易被对抗样本攻击。
方法
因此提出MixUp数据增强方法:
其中x, y是数据集中的随机样本。
MixUp作用理解
MixUp扩展了训练数据集的分布,相当于告诉模型,训练样本的线性组合,对应的gt也是线性组合,让模型认为样本间的区域也应该是线性区域,降低了模型在训练样本分布区域中间可能的过拟合震荡。
实验发现
在具体实现上,作者也发现组合更多的样本并没有带来性能提升,反而增加了计算量;并且只使用一个data_loader,在一个mini_batch里面随机进行样本组合效果也良好。
另外的一些发现,例如α值在[0.1, 0.4]之间时提升了模型性能,否则可能造成欠拟合;更大的模型或者更长时间的训练更有可能在MixUp中受益;MixUp和dropout的组合进一步提升了泛化性能,达到了更强的正则化的效果;增大α将增大训练损失,但对泛化性能提升有帮助。
实验结果
最终的实验结果,主要验证了几个现象:
- MixUp提升了分类模型精度指标;
- 更大的模型或者更长时间的训练更有可能从MixUp中获益;
- MixUp有正则化的作用;
- MixUp还能提升GAN网络训练的稳定性;
- 这种线性组合效果已经足够好,其它的组合方式还不如这种简单的两个随机样本的线性组合。