专栏首页AI研习社蒙特利尔大学研究者改进Wasserstein GAN,极大提高GAN训练稳定性

蒙特利尔大学研究者改进Wasserstein GAN,极大提高GAN训练稳定性

生成对抗网络(GAN)是一种强大的生成模型,但是自从2014年Ian Goodfellow提出以来,GAN就存在训练不稳定的问题。最近提出的 Wasserstein GAN(WGAN)在训练稳定性上有极大的进步,但是在某些设定下仍存在生成低质量的样本,或者不能收敛等问题。

近日,蒙特利尔大学的研究者们在WGAN的训练上又有了新的进展,他们将论文《Improved Training of Wasserstein GANs》发布在了arXiv上。研究者们发现失败的案例通常是由在WGAN中使用权重剪枝来对critic实施Lipschitz约束导致的。在本片论文中,研究者们提出了一种替代权重剪枝实施Lipschitz约束的方法:惩罚critic对输入的梯度。该方法收敛速度更快,并能够生成比权重剪枝的WGAN更高质量的样本。

以下为 AI 研习社对论文内容进行的部分编译。

论文摘要

生成对抗网络(GAN)将生成问题当作两个对抗网络的博弈:生成网络从给定噪声中产生合成数据,判别网络分辨生成器的的输出和真实数据。GAN可以生成视觉上吸引人的图片,但是网络通常很难训练。前段时间,Arjovsky等研究者对GAN值函数的收敛性进行了深入的分析,并提出了Wasserstein GAN(WGAN),利用Wasserstein距离产生一个比Jensen-Shannon发散值函数有更好的理论上的性质的值函数。但是仍然没能完全解决GAN训练稳定性的问题。

雷锋网了解到,在该论文中,蒙特利尔大学的研究者对WGAN进行改进,提出了一种替代WGAN判别器中权重剪枝的方法,下面是他们所做的工作:

  1. 通过小数据集上的实验,概述了判别器中的权重剪枝是如何导致影响稳定性和性能的病态行为的。
  2. 提出具有梯度惩罚的WGAN(WGAN with gradient penalty),从而避免同样的问题。
  3. 展示该方法相比标准WGAN拥有更快的收敛速度,并能生成更高质量的样本。
  4. 展示该方法如何提供稳定的GAN训练:几乎不需要超参数调参,成功训练多种针对图片生成和语言模型的GAN架构

WGAN的critic函数对输入的梯度相比于GAN的更好,因此对生成器的优化更简单。另外,WGAN的值函数是与生成样本的质量相关的,这个性质是GAN所没有的。WGAN的一个问题是如何高效地在critic上应用Lipschitz约束,Arjovsky提出了权重剪枝的方法。但权重剪枝会导致最优化困难。在权重剪枝约束下,大多数神经网络架构只有在学习极其简单地函数时才能达到k地最大梯度范数。因此,通过权重剪枝来实现k-Lipschitz约束将会导致critic偏向更简单的函数。如下图所示,在小型数据集上,权重剪枝不能捕捉到数据分布的高阶矩。

由于在WGAN中使用权重剪枝可能会导致不良结果,研究者考虑在训练目标上使用Lipschitz约束的一种替代方法:一个可微的函数是1-Lipschitz,当且仅当它的梯度具有小于或等于1的范数时。因此,可以直接约束critic函数对其输入的梯度范数。新的critic函数为:

实验结果 图&表

研究者们在CIFAR-10数据集上将梯度惩罚的WGAN与权重剪枝的WGAN的训练进行了对比。其中橙色曲线的梯度惩罚WGAN使用了与权重剪枝WGAN相同的优化器(RMSProp)和相同的学习率。绿色曲线是使用了Adam优化器和更高学习率的梯度惩罚WGAN。可以看到,即使使用了同样的优化器,该论文中的方法也能更快的收敛并得到更高的最终分数。使用Adam优化器能进一步提高性能。

为了展示该方法训练过程中的稳定性,研究者在LSUN卧室训练集上训练了多种不同的GAN架构,除了DCGAN外,研究者还选择了另外六种较难训练的架构,如下图所示:

对于每种架构,研究者都使用了四种不同的GAN过程:梯度惩罚的WGAN,权重剪枝的WGAN,DCGAN,以及最小二乘GAN。对于每种方法,都使用了推荐的优化器超参数默认设置:

  • WGAN with gradient penalty: Adam (α = .0001, β1 = .5, β2 = .9)
  • WGAN with weight clipping: RMSProp (α = .00005)
  • DCGAN: Adam (α = .0002, β1 = .5)
  • LSGAN: RMSProp (α = .0001) [chosen by search over α = .001, .0002, .0001]

上图显示的样本都是经过200k次迭代的结果。目前为止,梯度惩罚的WGAN是唯一一种使用同一种默认超参数,并在每个架构下都成功训练的方法。而所有其他方法,都在一些架构下不稳定。

使用GAN构建语言模型是一项富有挑战的任务,很大程度上是因为生成器中离散的输入输出序列很难进行反向传播。先前的GAN语言模型通常凭借预训练或者与监督最大似然方法联合训练。相比之下,使用该论文的方法,不需采用复杂的通过离散变量反向传播的方法,也不需要最大似然训练或fine-tune结构。该方法在Google Billion Word数据集上训练了一个字符级的GAN语言模型。生成器是一个简单的CNN架构,通过1D卷积将latent vector转换为32个one-hot字符向量的序列。

下图展示了模型的一个例子。目前为止,这是第一个完全使用对抗方法进行训练,而没有使用监督的最大似然损失的生成语言模型。其中有一些拼写上的错误,这可能是由于模型是每个字符独立输出的。

该文提供了一种训练GAN的稳定的算法,能够更好的探索哪种架构能够得到最好的生成模型性能。该方法也打开了使用大规模图像或语言数据集训练以得到更强的模型性能的大门。

本论文在github上开源了代码:github

本论文同时也提供了详细的数学证明,以及更多的示例,进一步了解请阅读原论文:Improved Training of Wasserstein GANs

本文分享自微信公众号 - AI研习社(okweiwu),作者:高云河

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-04-16

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 谷歌开源 TFGAN,让训练和评估 GAN 变得更加简单

    三年前,蒙特利尔大学 Ian Goodfellow 等学者提出「生成式对抗网络」(Generative Adversarial Networks,GANs)的概...

    AI研习社
  • AI 助你无码看片,生成对抗网络(GAN)大显身手

    作为一名久经片场的老司机,早就想写一些探讨驾驶技术的文章。这篇就介绍利用生成式对抗网络(GAN)的两个基本驾驶技能: 1) 去除(爱情)动作片中的马赛克 2) ...

    AI研习社
  • 来吧!带你漫游 Wasserstein GAN 的世界!

    前言 上次带大家写了原始版的 GAN,只生成了高斯分布。但兔子哥哥发现在 GAN 论文的底下,有 GAN 生成图片的 example。 ? 因此,这足以说明...

    AI研习社
  • 蒙特利尔大学研究者改进Wasserstein GAN,极大提高GAN训练稳定性

    近日,蒙特利尔大学的研究者们在WGAN的训练上又有了新的进展,他们将论文《Improved Training of Wasserstein GANs》发布在了a...

    BestSDK
  • Tensorflow入门教程(二十四)——生成对抗网络(GAN)

    目前在深度学习领域中,生成对抗网络是非常热门,能给我们带来不可思议的一个领域方向。今天我将分享一下如何用生成对抗网络来做生成图像(Mnist和卡通人物脸)。

    医学处理分析专家
  • 谷歌开源 TFGAN,让训练和评估 GAN 变得更加简单

    三年前,蒙特利尔大学 Ian Goodfellow 等学者提出「生成式对抗网络」(Generative Adversarial Networks,GANs)的概...

    AI研习社
  • Js基础教程之while条件循环语句

    老雷PHP全栈开发
  • while练习

    for 当循环次数已知 while 循环次数不确定,先判断条件,在执行代码 do while 循环次数不确定,先执行代码,后判断条件

    河湾欢儿
  • Oracle学习笔记二

    格式: select * from 表1,表2   select * from emp;   select * from dept;

    Kevin_Zhang
  • 数据库操作要点知识整理

    第一课:客户端         1. Sql Plus(客户端),命令行直接输入:sqlplus,然后按提示输入用户名,密码。         2. 从开始...

    mukekeheart

扫码关注云+社区

领取腾讯云代金券