Mode Seeking Generative Adversarial Networks for Diverse Image Synthesis

Mode Seeking Generative Adversarial Networks for Diverse Image Synthesis

大多数条件生成任务期望在单一的条件背景下获得不同的输出。然而,条件生成对抗网络(cGANs)经常关注先验条件信息,而忽略了对输出变化有贡献的输入噪声向量。最近为解决cGANs的模式崩溃问题所做的尝试通常是针对特定任务的,而且计算成本很高。在这项工作中,我们提出了一个简单而有效的正则化术语来解决cGANs的模式崩溃问题。所提出的方法明确地将生成的图像与相应的潜伏代码之间的距离比率最大化,从而鼓励生成器在训练期间探索更多的次要模式。这种寻求模式的正则化项很容易适用于各种条件生成任务,而不需要施加训练开销或修改原始网络结构。我们在三个条件性图像合成任务上验证了所提出的算法,包括分类生成、图像到图像的翻译和文本到图像的合成,并采用不同的基线模型。定性和定量的结果都证明了所提出的正则化方法在不损失质量的情况下提高多样性的有效性。

1. Introduction

cGANs通常存在模式崩溃[8, 26]的问题,即生成器只从分布的单一或少数模式中产生样本,而忽略了其他模式。噪声向量被忽略或影响不大,因为cGANs更注意从高维和结构化的条件背景中学习。

有两种主要的方法来解决GANs中的模式崩溃问题。一些方法通过引入不同的散度度量[1, 19]和优化过程[6, 20, 26]来关注判别器。其他方法则使用辅助网络,如多个生成器[7, 18]和额外的编码器[2, 4, 5, 27]。然而,模式崩溃在cGANs中的研究相对较少。最近在图像到图像的翻译任务中做出了一些努力来提高多样性[10, 15, 35]。与第二类的无条件设置类似,这些方法引入了额外的编码器和损失函数来鼓励输出和潜伏代码之间的一对一关系。这些方法要么在训练时带来沉重的计算开销,要么需要辅助网络,而这些网络往往是特定任务的,不容易扩展到其他框架。

在这项工作中,我们提出了一种寻求模式的正则化方法,可以应用于各种任务的cGANs,以缓解模式崩溃问题。给定两个潜伏向量和相应的输出图像,我们建议将图像之间的距离与潜伏向量之间的距离之比最大化。换句话说,这个正则化项鼓励生成器在训练期间生成不相似的图像。因此,生成器可以探索目标分布,并提高生成不同模式的样本的几率。另一方面,我们可以用不同的生成的样本来训练判别器,以提供来自次要模式的梯度,否则这些梯度可能会被忽略。这种寻求模式的正则化方法产生的计算开销很小,可以很容易地嵌入不同的cGAN框架中,以提高合成图像的多样性。

我们通过对三个具有不同基线模型的条件图像合成任务的广泛评估来验证所提出的正则化算法。首先,对于分类图像的生成,我们使用CIFAR-10[13]数据集在DCGAN[22]上应用所提出的方法。第二,对于图像到图像的翻译,我们在Pix2Pix[11]和DRIT[15]中使用门面[3]、地图[11]、优胜美地[34]和猫狗[15]数据集嵌入所提出的正则化方案。第三,对于文本到图像的合成,我们使用CUB-200-2011[29]数据集,将StackGAN++[32]与提议的正则化项结合起来。我们使用perceptual distance metrics[33]来评估合成图像的多样性。

然而,仅靠多样性指标不能保证生成的图像分布与真实数据分布之间的相似性。因此,我们采用了两个最近提出的bin-based metrics[24],统计学上不同bin的数量(NDB)度量,确定样本落入由真实数据预先确定的集群的相对比例,以及Jensen-Shannon Divergence(JSD)距离,衡量bin分布的相似性。此外,为了验证我们没有以牺牲真实性为代价来实现多样性,我们用Frechet Inception Distance(FID)[ 9]作为质量的衡量标准来评估我们的方法。实验结果表明,所提出的正则化方法可以促进各种应用的现有模型在不损失图像质量的情况下实现更好的多样性。图1显示了提议的正则化方法对现有模型的有效性。

在这里插入图片描述

图1:模式寻求生成式对抗网络(MSGANs)。左图)现有的条件生成式对抗网络倾向于忽略输入的潜伏代码z,并生成相似模式的图像。右图)我们提出了一个简单而有效的模式寻求正则化项,可以应用于不同任务中的任意条件生成式对抗网络,以缓解模式崩溃问题并提高多样性。

这项工作的主要贡献是。

  • 我们提出了一种简单而有效的寻求模式的正则化方法来解决cGANs中的模式崩溃问题。这种正则化方案可以很容易地扩展到现有的框架中,只需进行边际训练和修改即可。
  • 我们在三个不同的条件生成任务上证明了所提出的正则化方法的通用性:分类生成、图像-图像翻译和文本-图像合成。
  • 广泛的实验表明,所提出的方法可以促进不同任务的现有模型实现更好的多样性,而不牺牲生成图像的视觉质量。

Our code and pre-trained models are available at https://github.com/HelenMao/MSGAN/.

2. Related Work

Reducing mode collapse. 一些方法专注于具有不同优化过程的判别器[20]和散度指标[1, 19]来稳定训练过程。minibatch discrimination scheme[26]允许判别器在整个minibatch 的样本之间进行判别,而不是在单个样本之间。在[6]中,Durugkar等人使用多个判别器来解决这个问题。其他方法使用辅助网络来缓解模式崩溃的问题。其他方法使用辅助网络来缓解模式塌陷问题。ModeGAN[2]和VEEGAN[27]通过额外的编码器网络强制执行输入噪声向量和生成的图像之间的双投影映射。多个生成器[7]和weight-sharing生成器[18]被开发出来以捕获更多的分布模式。然而,这些方法要么带来沉重的计算开销,要么需要修改网络结构,可能不容易适用于cGANs。

在cGANs领域,最近有一些努力[10, 15, 35]来解决图像-图像转换任务上的模式崩溃问题。与ModeGAN和VEEGAN类似,引入了额外的编码器来提供生成的图像和输入的噪声向量之间的双射约束。然而,这些方法需要其他特定任务的网络和目标函数。额外的组件使这些方法的通用性降低,并在训练中产生额外的计算负荷。相比之下,我们提出了一个简单的正则化项,它不产生训练开销,也不需要修改网络结构。因此,所提出的方法可以很容易地应用于各种条件生成任务。最近,同时进行的工作[31]也采用了与我们工作类似的损失项来减少cGANs的模式崩溃。

3. Diverse Conditional Image Synthesis

3.1. Preliminaries

GANs的训练过程可以被表述为一个mini-max问题:判别器D通过给真实数据样本分配较高的判别值,给生成的样本分配较低的判别值来学习成为一个分类器。同时,生成器G旨在通过合成现实的例子来愚弄D。通过对抗性训练,D的梯度将引导G生成与真实数据分布相似的样本。

GANs的模式塌陷问题在文献中是众所周知的。一些方法[2, 26, 27]在发生这个问题时,将模式缺失归因于缺乏惩罚。由于所有的模式通常都有类似的判别值,通过基于梯度下降的训练过程,较大的模式可能会被偏爱。另一方面,从小模式中产生样本是很困难的。

在cGANs中,模式缺失问题变得更糟。一般来说,条件语境是高维和结构化的(如图像和句子),与噪声向量相反。因此,生成器很可能专注于contexts而忽略了噪声向量,而噪声向量是多样性的体现。

3.2. Mode Seeking GANs


图2:动机的说明。真实的数据分布包含许多模式。然而,当模式坍缩发生时,生成器只产生少数模式的样本。从模式崩溃发生时的数据分布中,我们观察到,对于潜伏向量z1和z2来说,当两个潜伏向量之间的距离减少时,它们映射的图像I1和I2之间的距离将以不相称的速度变短。我们在右边展示了图像之间的距离与相应潜伏向量的距离之比,在这里我们可以发现一个发生模式崩溃的异常情况(用红色标示)。这一观察促使我们明确地利用比率作为训练目标。

在这项工作中,我们建议从生成器的角度来缓解缺失模式的问题。图2说明了我们方法的主要思路。让 latent code space Z中的latent vector z被映射到图像空间I中。当模式坍缩发生时,映射的图像被坍缩成几个模式。此外,当两个潜伏代码 z 1 和 z 2 z_1和z_2 z1z2比较接近时,映射的图像 I 1 = G ( c , z 1 ) 和 I 2 = G ( c , z 2 ) \mathbf I_1 = G(c, \mathbf z_1)和\mathbf I_2 = G(c, \mathbf z_2) I1=G(c,z1)I2=G(c,z2)更有可能被折叠成同一模式。为了解决这个问题,我们提出了一个寻求模式的正则化项,直接将 G ( c , z 1 ) 和 G ( c , z 2 ) G(c,\mathbf z_1)和G(c,\mathbf z_2) G(cz1)G(cz2)之间的距离与z1和z2之间的距离之比最大化。
在这里插入图片描述
其中 d ∗ ( ⋅ ) d_∗(\cdot) d()表示距离度量。

正则化项为训练cGANs提供了一个良性循环。它鼓励生成器探索图像空间,增加生成次要模式样本的机会。另一方面,判别器被迫注意生成的次要模式的样本。图2显示了一个模式崩溃的情况,两个接近的样本,z1和z2,被映射到同一个模式M2。然而,通过提议的正则化项,z1被映射到 I 1 \mathbf I_1 I1,属于一个未开发的模式M1。有了对抗机制,生成器将有更好的机会在接下来的训练步骤中生成M1的样本。

如图3所示,所提出的正则化项可以很容易地与现有的cGANs整合,将其附加到原始目标函数上。
在这里插入图片描述
其中, L o r i \mathcal L_{ori} Lori表示原始目标函数, λ m s λ_{ms} λms是控制正则化重要性的权重。这里, L o r i \mathcal L_{ori} Lori可以作为一个简单的损失函数。例如,在分类生成任务中。
在这里插入图片描述
其中c、y、z分别表示类标签、真实图像和噪声向量。在图像到图像的翻译任务中[11]。
在这里插入图片描述
其中x表示输入图像, L G A N \mathcal L_{GAN} LGAN是典型的GAN损失。如图3(b)所示, L o r i \mathcal L_{ori} Lori可以是任何任务的任意复杂目标函数。我们将所提出的方法命名为Mode Seeking GANs(MSGANs)。

图3:建议的正则化。(a) 我们提出了一个正则化项,使生成的图像之间的距离与它们相应的输入潜伏代码之间的距离之比最大化。(b) 建议的正则化方法可以应用于任意的cGANs。以StackGAN++[32],一个用于文本到图像合成的模型为例,无论原始模型的复杂树状结构如何,我们都可以轻松地应用正则化项。

猜你喜欢

转载自blog.csdn.net/weixin_37958272/article/details/117433739