Goodfellow点赞的相对鉴别器:表征GAN中缺失的关键因素
选自arXiv
机器之心编译
参与:张倩、思源
Ian Goodfellow 刚刚评论了一篇 GAN 论文,他认为这一篇关于相对 GAN 的论文有非常好的属性。Goodfellow 在小型数据集上尝试了这种相对 GAN,并有很好的效果。这种相对 GAN 基于非常朴素的概念:在训练中 GAN 应该同时降低真实数据看起来为真的概率。为此该论文提出了相对鉴别器,并在给定真实数据下估计它们比随机采样的假数据要真实的概率。
生成对抗网络(GAN)[Hong et al., 2017] 是生成模型的一大类别,两个竞争的神经网络——鉴别器 D 和生成器 G 在其中玩游戏。训练 D 用于分辨数据的真假,而 G 用于生成可以被 D 误识别为真数据的假数据。在 Goodfellow 等 [2014] 提出的原始 GAN(我们称之为标准 GAN,即 SGAN)中,D 是分类器,用于预测输入数据为真的概率。如果 D 达到最佳状态,SGAN 的损失函数就会近似于 JS 散度(Jensen–Shannon divergence,JSD)[Goodfellow et al., 2014]。
SGAN 有两种生成损失函数变体:饱和的和非饱和的。实践证明,前者非常不稳定,而后者则稳定得多 [Goodfellow et al., 2014]。Arjovsky 和 Bottou[2017] 证明,在某些条件下,如果能够将真假数据完美地分类,饱和损失函数的梯度为0,而非饱和损失函数的梯度不为 0,且不稳定。在实践中,这意味着 SGAN 中的鉴别器通常训练效果不佳;否则梯度就会消失,训练也随之停止。这一问题在高维设定中会更加明显(如高分辨率图像及具有较高表达能力的鉴别器架构),因为在这种设定下,实现训练集完美分类的自由度更高。
为了提升 SGAN,许多 GAN 变体可以选择使用不同的损失函数及非分类器的鉴别器(如 LSGAN[Mao et al., 2017]、WGAN [Arjovsky et al., 2017])。尽管这些方法适当提升了稳定性和数据质量,但 Lucic 等人做的大型研究 [2017] 表明,这些方法在 SGAN 上并没有持续改进。此外,一些非常成功的的方法(如 WGAN-GP [Gulrajani et al., 2017])对计算的要求比 SGAN 高得多。
最近许多成功的 GAN 都是基于积分概率度量(Integral Probability Metric,IPM)[Müller, 1997](如 WGAN [Arjovsky et al., 2017]、WGAN-GP[Gulrajani et al., 2017]、Sobolev GAN [Mroueh et al., 2017]、Fisher GAN [Mroueh and Sercu, 2017])。在基于 IPM 的 GAN 中,鉴别器是实值的,并被限制在一类特定的函数中,以免增长过快;这是一种正则化形式,防止 D 变得过强(即大致将真假数据完美分类)。在实践中,我们发现基于 IPM 的 GAN 鉴别器可以经过多次迭代训练而不造成梯度消失。
IPM 限制已被证明在不基于 IPM 的 GAN 中同样有益。WGAN 限制(即 Lipschitz 鉴别器)已通过谱归一化被证明在其他 GAN 中也有帮助 [Miyato et al., 2018]。WGAN-GP 限制(即真假数据梯度范数等于 1 的鉴别器)被证明在 SGAN 中有益 [Fedus et al., 2017](以及 Kodali 等人非常相似的梯度罚分 [ 2017 ])。
尽管这表明某些 IPM 限制会提高 GAN 的稳定性,但这并不能解释为什么 IPM 所提供的稳定性通常比 GAN 中的其他度量/散度提供的更高(如 SGAN 的 JSD、f-GAN 的 f-divergences[Nowozin et al., 2016])。本文认为,不基于 IPM 的 GAN 缺失一个关键元素——一个相对鉴别器,而基于 IPM 的 GAN 则拥有该辨别器。研究表明,为了使 GAN 接近散度最小化,并根据小批量样本中有一半为假这一先验知识产生合理的预测,相对鉴别器是必要的。论文提供的经验证据表明,带有相对鉴别器的 GAN 更稳定,产生的数据质量也更高。
论文:The relativistic discriminator: a key element missing from standard GAN
论文地址:https://arxiv.org/abs/1807.00734
在标准生成对抗网络(SGAN)中,鉴别器 D 用于估计输入数据为真实样本的概率,而生成器 G 用于提高数据以假乱真的概率。我们认为它应该同时降低真实数据看起来为真的概率,因为 1)这可以解释批量数据中一半为假的先验知识,2)我们可以在最小化散度的过程中观察到这种现象,3)在最优设定中,SGAN 等价于积分概率度量(IPM)GAN。我们证明该属性可以通过使用一个「相对鉴别器」(Relativistic Discriminator)导出,该鉴别器在给定真实数据下估计它们比随机采样的假数据要真实的概率。
我们还提出了一种变体,其中鉴别器估计平均给定的真实数据要比假数据更加真实的概率。我们泛化两种方法到非标准 GAN 损失函数中,并分别称之为相对 GAN(RGAN)和相对平均 GAN(RaGAN)。我们的研究表明,基于 IPM 的 GAN 是使用恒等函数的 RGAN 的子集。实验中,我们观察到 1)与非相对 GAN 相比,RGAN 和 RaGAN 生成的数据样本更稳定且质量更高。2)与 WGAN-GP 相比,带有梯度惩罚的标准 RaGAN 生成的数据质量更高,同时每个生成器的更新还只要求单个鉴别器更新,这将达到当前最优性能的时间降低到原来的 1/4。3)RaGAN 能从非常小的样本(N=2011)生成高分别率的图像(256×256),而 GAN 与 LSGAN 都不能。此外,这些图像也显著优于 WGAN-GP 和带谱归一化的 SGAN 所生成的图像。
4 方法
4.2 相对 GAN
更一般的,我们考虑了由 a(C(x_r)−C(x_f )) 定义的任意鉴别器,其中 a 为激活函数,它因为输入 C(x_r)−C(x_f ) 而变得具有相对性。这意味着基本上任意 GAN 都可以添加一个相对鉴别器。这能组成新一类的模型,我们称之为相对 GAN(Relativistic GAN/RGAN)。
大多数 GAN 可以在 critic 方面做非常普遍的参数化:
其中 f_1、f_2、g_1、g_2 都是标量到标量的函数。如果我们使用一个相对鉴别器,那么 GAN 现在就可以表示为以下形式:
基于 IPM 的 GAN 代表了 RGAN 的特例,其中 f_1(y) = g_2(y) = −y、f_2(y) = g_1(y) = y。重要的是,g_1 一般在 GAN 中是忽略的,因为它的梯度为 0,且生成器并不能影响它。然而在 RGAN 中,g_1 受到了假数据的影响,所以受到了生成器的影响。因此 g_1 一般有非零的梯度且需要在生成器损失中指定。这意味着在大多数 RGAN(除了基于 IPM 的 GAN,因为它们使用恒等函数)中,我们需要训练生成器以最小化预期的总体损失函数,而不仅仅只是它的一半。
算法 1 展示了训练 RGAN 的过程:
5 实验
表 1:传统定义的 GAN 鉴别器(P(x_r is real) = sigmoid(C(x_r)))与相对平均鉴别器(P(x_r is real|C(x_f )) = sigmoid(C(x_r) − C(x_f )))的输出样本。其中面包表示真实图像、小狗表示伪造图像。
表 3:在 CIFAR-10 数据集上执行 100k 次生成器迭代所得出的 Fréchet Inception 距离(FID),它使用不同 GAN 损失函数的不稳定的配置。
表 4:在 CAT 数据集和不同的 GAN 损失函数上执行 20k、30k 到 100k 生成器迭代后的 Fréchet Inception 距离(FID),其中 min、max、mean 和 SD 分别表示 FID 的最大、最小、平均、标准差值。
在 Ian Goodfellow 对该论文的评论中,他非常关注附录所展示出来的生成器训练速度。在一般的 GAN 训练中,我们通常会发现生成器在初始化后训练地非常慢,它要经过很多次迭代才开始不再生成噪声。而在这一篇论文中,作者表示 GAN 和 LSGAN 在 CAT 数据集上迭代 5000 次仍然只能生成如下所示 256×256 的噪声。
而 RaSGAN 在初始化后就能快速学习生成图像。