Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

武广作者

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

本期推荐的论文笔记来自 PaperWeekly 社区用户 @TwistedW。本文来自斯坦福斯大学,论文在 WGAN 的基础上为 GAN 设计了一个课程,通过不断增强判别器的判别能力(课程难度)让生成器学习任务更难,从而让生成器生成能力不断提高(学业成绩提高)达到整体的优化。

关于作者:武广,合肥工业大学硕士生,研究方向为图像生成。

■ 论文 | Improved Training with Curriculum GANs

■ 链接 | https://www.paperweekly.site/papers/2182

■ 作者 | Rishi Sharma / Shane Barratt / Stefano Ermon / Vijay Pande

本文来自斯坦福斯大学,论文在 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]。这样做带来了参数上的两极化,为了改进 WGANWGAN-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思想

WGAN-C 不考虑固定一个判别器,而是考虑预定义的一组判别器的凸组合,定义表示,使得。判别器的组合可以写为。其中的 λ 可以被视为是判别器的能力,λ 值越大也就是意味着判别器的区分能力越强。

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

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

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

WGAN-C实现

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

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

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

WGAN-C实验

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

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

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


总结

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

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

参考文献

[1]. Arjovsky, M., Chintala, S., and Bottou, L. (2017). Wasserstein gan. arXiv preprint arXiv:1701.07875.

[2]. Xudong Mao, Qing Li, Haoran Xie, Raymond YK Lau, Zhen Wang, and Stephen Paul Smolley. Least squares generative adversarial networks. arXiv preprint, ArXiv:1611.04076, Apr. 2016.

[3]. Gulrajani, I., Ahmed, F., Arjovsky, M., Dumoulin, V., and Courville, A. (2017). Improved training of wasserstein gans. arXiv preprint arXiv:1704.00028.

[4]. http://www.twistedwg.com/2018/01/31/WGAN.html

[5]. http://www.twistedwg.com/2018/02/02/WGAN-GP.html

PaperWeekly
PaperWeekly

推荐、解读、讨论和报道人工智能前沿论文成果的学术平台。

入门GANWGAN-C斯坦福大学
4
相关数据
最小二乘法技术

最小二乘法(又称最小平方法)是一种数学优化技术。它通过最小化误差的平方和寻找数据的最佳函数匹配。 利用最小二乘法可以简便地求得未知的数据,并使得这些求得的数据与实际数据之间误差的平方和为最小。 “最小二乘法”是对过度确定系统,即其中存在比未知数更多的方程组,以回归分析求得近似解的标准方法。在这整个解决方案中,最小二乘法演算为每一方程式的结果中,将残差平方和的总和最小化。

权重技术

线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果权重为 0,则相应的特征对模型来说没有任何贡献。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

损失函数技术

在数学优化,统计学,计量经济学,决策理论,机器学习和计算神经科学等领域,损失函数或成本函数是将一或多个变量的一个事件或值映射为可以直观地表示某种与之相关“成本”的实数的函数。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

逻辑技术

人工智能领域用逻辑来理解智能推理问题;它可以提供用于分析编程语言的技术,也可用作分析、表征知识或编程的工具。目前人们常用的逻辑分支有命题逻辑(Propositional Logic )以及一阶逻辑(FOL)等谓词逻辑。

梯度消失问题技术

梯度消失指的是随着网络深度增加,参数的梯度范数指数式减小的现象。梯度很小,意味着参数的变化很缓慢,从而使得学习过程停滞,直到梯度变得足够大,而这通常需要指数量级的时间。这种思想至少可以追溯到 Bengio 等人 1994 年的论文:「Learning long-term dependencies with gradient descent is difficult」,目前似乎仍然是人们对深度神经网络的训练困难的偏好解释。

WGAN技术

就其本质而言,任何生成模型的目标都是让模型(习得地)的分布与真实数据之间的差异达到最小。然而,传统 GAN 中的判别器 D 并不会当模型与真实的分布重叠度不够时去提供足够的信息来估计这个差异度——这导致生成器得不到一个强有力的反馈信息(特别是在训练之初),此外生成器的稳定性也普遍不足。 Wasserstein GAN 在原来的基础之上添加了一些新的方法,让判别器 D 去拟合模型与真实分布之间的 Wasserstein 距离。Wassersterin 距离会大致估计出「调整一个分布去匹配另一个分布还需要多少工作」。此外,其定义的方式十分值得注意,它甚至可以适用于非重叠的分布。

推荐文章
暂无评论
暂无评论~