之前在打竞赛的时候,经常遇到很多分类,检测的问题,而图片的数据量往往都是不够的,少的只有五六百。这时候的任务就是少样本问题。最常用的解决方法就是数据增强,比如裁剪,拉伸,平移,color jittering,flip,region mask(cutout)等,这些做法增大了数据量,使得分类器减少了过拟合的可能性。
不过,这些都不能用到图像生成GAN的任务上去。我在做少样本生成的时候,数据集少的也就只有几百张,这时候discriminator就很容易出现过拟合,倾向于记住所有的real image,导致在后期给Generatot的反馈不可靠,也就没法让G学习到正确的数据分布。
这时候如果使用数据增强,那么增强后的数据集的分布就和原来的不一样了,而G学习到的也是增强后的数据分布。举个通俗点的例子来说,假如对图片做了region mask的增强,那么G最后生成的图片也会包含mask。这肯定不行啊,是吧。
今天看的一篇论文,Differentiable Augmentation for Data-Efficient GAN Training,就重点说明了这个问题,不过他也提出了一种解决方法,那就是让使用一种可微分的增强Diffaug,然后将G生成的图片和真实的图片都做Diffaug,然后D对增强后的数据做判别。在少样本数据上的效果杠杠地。
大概就这样,记录一下diffaug的代码地址:https://github.com/mit-han-lab/data-efficient-gans
关于数据增强在图像生成上的一些细节
最新推荐文章于 2023-05-26 15:56:25 发布