用于提升质量、稳定性和变化性的稳定成长的生成对抗网络
摘要:
在这篇论文中,我们描述了一种训练生成对抗网络的新方法。它的主要思想是使生成器和判别器同时稳定的成长:从低清晰度开始,我们通过向模型中加层以随着训练逐渐完善细节。这同时加快了训练速度和稳定性,而使我们得以生成前所未有的质量的图像。我们也提出了一种简单的方法来提升生成图像的多样性,并在无人监管的CIFAR 10中达到破纪录的8.80分。另外,我们描述了许多执行细节以阻止生成器与判别器之间不健康的竞争。最终,我们提供了一种新的用于评估GAN的生成图像质量和多样性的标准。而作为额外的贡献,我们创建了更高质量版的CELEBA数据集。
- 1. 介绍
从高维数据分布(例如图像)中产生新样本的生成方法正在得到广泛使用。(此处省略举例)。目前,它们都有着明显的优点和缺点。自回归模型(例如PixelCNN)可生成清晰的图像,但评估速度较慢,并且没有潜在的表现形式,因为它们直接对像素上的条件分布进行建模,从而可能限制了其适用性。VAE很容易训练,但由于模型中的限制,往往会产生模糊的结果,尽管最近的工作正在改善这一点。GAN可以产生清晰的图像,不过分辨率很小,变化也有限,尽管最近取得了一些进展,但训练仍然不稳定。混合方法结合了这三种方法的各种优点,不过目前在图像质量方面仍落后于GANs。
通常GAN由两个网络组成:generator和discriminator。生成器从一个一段黑箱般的代码中产生一个样本,例如一个图像,并使生成的图像难以与训练集区分。因为难以设计一个简单的函数来判断,所以我们需要训练一个discriminator网络来进行评估,并得到了一个梯度,用来引导两个网络朝着正确的方向发展。一般来说,generator是最重要的——因为判别器只是一个自适应的损失函数。在generator训练完后,通常会被抛弃。
这个损失函数有着很多潜在的问题。当我们估量训练集和生成图像的差距时,如果没有一定的相似性,则会太容易区分,以至于梯度会或多或少的指向随机方向。通常JS散度被用作估量的标准,而最近这种方法被提升了并且有许多稳定的解决方案被提出,包括Wasserstein distance。我们的贡献很大程度上是与正在进行的方向是相关的,然后主要采用Wasserstein loss,也尝试了least-squares loss。
高分辨率图像的生成很困难,因为更高的分辨率让判别器更容易将生成的图像与训练图像区分开来,从而极大地放大了梯度问题。而且由于存在内存限制,因此处理高分辨率也要考虑minibatch,从而进一步降低了训练的稳定性。对此,我们的主要见解是,可以从更简单的低分辨率图像开始,并随着训练的进行添加新的层以引入更高分辨率的细节。这大大加快了训练速度,提高了高分辨率下的稳定性,我们将在第2节中讨论。
GAN并不明确要求由生成的生成模型表示整个训练数据分布。传统观点认为图像质量和变化之间存在权衡,但这种观点最近受到挑战。我们将在第3节中描述我们鼓励变化的方法,并在第5节中提出一个新的评估质量与变化的指标。
在第4.1节中,我们讨论了通过对网络初始化时的细微修改,从而使不同层的学习速度更加均衡。此外,我们发现过去困扰GANs的模式崩塌在处理十几个minibatch的过程中往往发生得非常快。通常情况下,当discriminator成长过快时,模式崩塌就会开始,从而导致了夸张的梯度,随后两个网络中的信号量都会升级,从而导致不健康的竞争。我们提出建立一种机制来阻止他们恶性竞争,从而克服该问题(第4.2节)。
我们使用CELEBA、LSUN、CIFAR10数据集来评估我们的结果,并打破了CIFAR10的记录。受限于过去使用的基准生成方法,现在常用的数据集的分辨率相当的低,因此我们还创建了一个更高质量版本的CELEBA数据集,使我们能够使用高达1024×1024像素的分辨率进行实验。
施工中,踏实的学习ing