如何让GAN生成更高质量图像?斯坦福大学给你答案

本文来自斯坦福斯大学,论文在 WGAN 的基础上为 GAN 设计了课程,通过不断地增强判别器的判别能力(增加课程难度),让生成器学习任务更困难,在越来越难的课程下不断进步自己的生成能力,从而实现高质量图像的生成。虽然是在 WGAN 的基础上开展的工作,但是 Curriculum GAN 的思想的普适性是有的,所以具有一定指导意义。

论文引入

让 GAN 的训练更稳定生成的样本更加多样性一直是 GAN 发展的主要动力,WGAN [1]LSGAN [2]WGAN-GP [3] 都是在 GAN 的损失函数上采取改进,将衡量真实和生成样本的分布的 JS 距离换为更加优越的衡量标准。

WGAN 就是在 GAN 的基础上改进的比较成功的一种。WGAN 利用 Wasserstein 距离代替 JS 距离,从而避免了一定的梯度消失问题,这也为很多 GAN 模型的扩展提供了指导。详细的关于 WGAN 的知识,可以参看我之前的博客 [4]

WGAN-GP 是在 WGAN 的基础上改进的,WGAN 在保证 Lipschitz 限制条件时,作者是采用将限制判别器神经网络的所有参数(这里指权重 w)不超过某个范围 [-c,c]。这样做带来了参数上的两极化,为了改进 WGAN,WGAN-GP 提出了梯度惩罚概念用于满足 Lipschitz 限制条件。具体展开描述,可以参看我之前的博客 [5]。Curriculum GANs 其是在 WGAN-GP 的基础上改进的,但是思路是沿袭 WGAN 所以也称之为 WGAN-C。

在训练 GAN 上有很多 trick,比如如何衡量生成器和判别器的强弱从而控制一方的能力;在判别器中加入 minibatch,用于衡量更多的样本,从而丰富生成的多样性;合理的设计网络深度和参数等等。这些 trick 确实提高了 GAN 的训练稳定性和生成上的多样性,但是仍无法避免 GAN 的问题。

为 GAN 设计课程,从而让生成器逐步的进步。这在逻辑上是行得通的。WGAN-C 就是定义一个越来越严苛的判别器,用于发现生成器的问题,生成器为了欺骗住判别器,需要在越来越难的课程任务下不断进步。由于生成器已经有了先前学习的基础,在最小化真实和生成样本分布上逐渐的进步,有了学习基础增大难度使得生成器的能力越来越强,从而生成质量更高的图像。

总结一下 WGAN-C 的优势:

1. 为 GAN 设计了一个课程,通过不断提高判别器的判别能力从而增强生成器的能力;

2. Curriculum GANs 的思想不仅仅适用于 WGAN 还适用于其它的 GAN 模型,不仅仅是在图像的生成,在文本到图像,图像到图像都有指导意义。

WGAN-C思想

如何让GAN生成更高质量图像?斯坦福大学给你答案

这里面是有着一套严格的数学证明的,整体的思路就是随着 λ 的增加,越大的 λ 可以支配前面的 λ,越大的 λ 可以满足之前的要求同时也增强了现有的能力,从而实现了判别能力的逐步增强。根据难度程度对训练样本进行排序,形成判别器的凸组合。

我们通过文中的图来进一步分析:

如何让GAN生成更高质量图像?斯坦福大学给你答案

从图中可以看到随着 λ1 到 λ3 逐渐的增大,生成的图像的质量也是越来越好。

WGAN-C实现

我们先来对比一下 WGAN-C 和 WGAN-GP 在实现算法上的不同,先上 WGAN-GP 的实现算法框图:

如何让GAN生成更高质量图像?斯坦福大学给你答案

我们再来看看 WGAN-C 的实现算法框图:

如何让GAN生成更高质量图像?斯坦福大学给你答案

通过对比我们发现,整体上两个是相似的,WGAN-C 要多了些操作,那就是多了 λ 的选取和相应的判别器的选取,通过不断的提高判别器的判别能力从而实现生成器的生成能力的不断提高,此处控制梯度惩罚的参数用 β 表示了。

WGAN-C实验

WGAN-C 的实验主要在正弦曲线的生成和人脸的生成上,在正弦曲线生成上,实验对比了有无课程指导的 GAN 的生成效果,从下图可以看出来在相同网络下加入课程指导的 GAN 生成的正弦曲线更加的真实。

如何让GAN生成更高质量图像?斯坦福大学给你答案

在生成正弦曲线的定量上也对比了有无课程指导的效果,测量了生成的波与数据集中最接近的正弦波的平均 l − 2 误差(通过离散生成数据集的正弦波的范围)。在训练结束时,渐进式延长策略产生的正弦曲线的平均误差降低了 33.6% - 训练数据集的平均最小距离 l − 2 在课程指导下产生的正弦曲线为 1.13 ± 0.01 ,并且没有课程指导生成的误差为 1.51 ± 0.06 。

在人脸生成上,也对比了有无课程指导下的生成效果。

如何让GAN生成更高质量图像?斯坦福大学给你答案

总结

WGAN-C 在 WGAN 的基础上为 GAN 设计了课程,通过不断增加判别器的判别能力来提高课程的难度,相对应的,作为学生的生成器在高难度的课程下不断提高生成能力,从而实现匹配课程难度的生成能力。

WGAN-C 为 GAN 设计课程的思路适用于各种 GAN 模型,同时不仅仅是在图像生成上,在其他 GAN 的生成上也可以发挥作用。


原文发布时间为:2018-08-10

本文作者:武广

本文来自云栖社区合作伙伴“PaperWeekly”,了解相关信息可以关注“PaperWeekly”。

上一篇:Maven经典错误之二- Plugin execution not covered by lifecycle configuration: org.codehaus.mojo:aspectj-mave


下一篇:学习笔记——二分答案