StyleGan2-ADA: Training Generative Adversarial Networks with Limited Data

训练一个GAN模型,通常需要比较多的数据(ffhq是7万),数据量少的话会导致判别器过拟合,回传的梯度无意义,从而导致生成器停止学习或崩掉。GAN本质上就是通过判别器找到生成图与真实图差异的部分,通过赋予相应位置权重(梯度)来提升生成效果。训练初期判别器关注整体形状,后期更关注细节。本文讨论如何使用较少的数据(几千张),通过数据增益方法,避免判别器过拟合,训练出好的生成器。

一般的监督学习训练任务都会使用数据增益(旋转,颜色变换、加噪声等),但如果直接用到GAN的训练任务中,可能会导致增益泄露到生成器。比如数据增益加了旋转,会导致增益流到生成图像中,生成器也会产生旋转了的图像,这是我们不想看到的。本文就是讨论如果让增益不泄露到生成器中。

非泄露数据增益

作者做了些实验,用较少的数据量训练GAN,看GAN的过拟合情况。Fig1(a)可以看到,当数据越少时,越早过拟合,FID的转折点就是过拟合的位置。右边两图可以看到,数据分布一开始是有重合的。数据量越少,D越早将其区分开(右图,上下是real图跟fake图),区分开的边界临界点(红色虚线)也是过拟合开始的位置。数据量很多的话(左图),D越不容易将real跟fake分开。

为了不让增益泄露到生成图像中,balanced consistency regularization (bCR)方法假设两波数据增益作用到相同的输入图像上,产生的结果应该一样,从而设计了Fig2(a)的方案。本文的方案类似,如Fig2(b),不同点是:i. 训练D只用增益后的图像;ii. 训练G的时候也使用增益后的数据。作者称这个方法叫stochastic discriminator augmentation。咋一看不是很靠谱,如果D没有见过真正的训练数据,应该也无法很好地引导G。作者通过后面的实验证明方案的可行性。

之前有人做GAN对数据扰动得到的结论:如果对数据的变换在概率分布上是可逆的,那么模型的训练会绕过数据扰动,找到正确的分布,从而不影响生成器的训练,不会产生增益泄露。所谓可逆的变换是指,仅通过数据增益的数据集,便能识别出哪些是真实的数据,是从数据分布角度上的可逆,而非图像变换上的可逆。举个例子:如果数据增益把90%的数据变成纯黑,我们仍然一眼能看出哪些数据是真实的,即使变黑的操作不可逆(无法从纯黑的图像还原原始图像)。如果数据集是旋转的变换的,我们无法确定哪些数据集是真实的,因为没有先验哪个角度的图像是real。

如果做旋转的概率p<1,这种操作可以变成可逆的,因为这样会增加0°图像的数量,从而可以从分布中知道哪些是real图像。类似的,只要让变换操作的概率不是1,其他变换操作也可以是非泄露的。进一步,用固定的顺序组合非泄露操作,也可以得到一整个非泄露操作流程。

Fig3是作者做的一些实验,(a)是使用缩放操作,缩放操作的p即使是1,FID也不会变差,说明这种操作在p=1时也是非泄露的。但(b)中的旋转操作,在p>0.85的是时候,FID开始变差,生成器不知道应该生成什么角度的图像,就随机选了一个,生成的图像D中开始有旋转后的图像,当p=1的时候,生成图像全是旋转图像。同理(c)的颜色变换也一样,在p>0.8开始,操作变成泄露操作。

假设增益方法越多越好,作者实验采用了18种(翻转、旋转、颜色变换、加噪、图形变换等),作者训练G时也对生成的数据做变换,因此需要变换可导。每种变换使用的概率是p,一连串变换下来,数据没有被变换的概率是很低的,从Fig2(c)中可以看到没被变换的clean数据很少。即便如此,只要p小于一定值(0.8以下),G仍然被训练成只生成clean图的样子。

Fig4是不同数据量测试的结果,数据量2k的时候,主要是blit(左右翻转、90旋转、镜像平移)跟图形变换起作用,颜色变换也有一点作用,其他作用不大,p=1的时候都会泄露。当数据量很大时(140k),所有变换都有害处。因此,作者只用blit、图形变换跟颜色变换。Fig(4)是收敛情况,p越大,收敛越慢。

自适应增益

作者采用了一个策略去自适应调节p的大小,称作adaptive discriminator augmentation (ADA)。每4个batch,作者测量一次D是否过拟合,过拟合多了增加p,过拟合少降低p。

从实验可以看出,随机初始化跟迁移学习两种训练方式下,FID跟KID提升都挺明显。

其他实验可以看下论文。

  • 3
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值