资讯专栏INFORMATION COLUMN

GANs正在多个层面有所突破

raoyi / 2304人阅读

摘要:我认为在大多数深度学习中,算法层面上随机梯度的下降是大家所认可的。但目前似乎存在两个问题计算层面纳什平衡达不到可能会退化。

去年我一直在研究如何更好地调整GANs中的不足,但因为之前的研究方向只关注了损失函数,完全忽略了如何寻找极小值问题。直到我看到了这篇论文才有所改变:

详解论文: The Numerics of GANs

我参考了Mar的三层分析,并在计算层面上仔细考虑了这个问题:我们这样做的最终目标是什么?我相信GANs在这个层面已经有所突破了,因为他们试图优化错误的东西或寻求不存在的平衡等。这就是为什么我喜欢f-GANs、Wasserstein GANs、实例噪声,而不大喜欢在优化层面上做一些修复的尝试:比如DCGAN或改进技术(Salimans等,2016)等原因。我认为在大多数深度学习中,算法层面上随机梯度的下降是大家所认可的。你可以去提升它,但是如果没有突破性进展,它通常不需要修复。

但阅读本文后,我有一个启示:

GANs可以同时在计算层面和算法层面有所突破

即使我们修复了目标,我们也没有算法工具来寻找实际解决方案。

文章摘要:

结合我目前在研究的内容,我将通过一个不同的视觉来分析该论文

介绍关于收敛与不收敛的矢量场的概念,并强调其一些属性然后描述Mescheder等人文章提出的 consensus、optimization等方面的一些结论:在复杂的不收敛矢量场与理想的收敛矢量场之间进行插值

最后,正如我研究的期望那样,我还强调了另一个重要的细节,一个在文中没有讨论的:我们应该如何在小批量设置中做到所有这些?

简介:从GAN到矢量场

GANs可以被理解为博弈游戏(一个各不相互合作的双人游戏)。一个玩家控制θ并希望较大化其收益f(θ,φ),另一个控制φ并寻求较大化g(θ,φ)。当两个玩家都不再会通过改变参数来提高收益的时候游戏就达到了纳什均衡。因此,现在我们必须要设计一个算法来帮助达到这个纳什均衡。

但目前GANs似乎存在两个问题:

1.计算层面:纳什平衡(Nash equilibrium)达不到可能会退化。

2.算法层面:我们依然还没有找到可靠的工具来达到纳什均衡(即使我们现在的算法能很好的收敛到局部纳什均衡)。

Mescheder等在2017年非常成功地解决了第二个问题,为了找到纳什均衡,我们较好的工具是同步梯度上升算方法,一个由以下递归定义的迭代算法:

起初大家觉得这是一个重要的发现,可能看起来还挺矛盾的:将GANs训练视为神经网络训练的一个特殊例子是很自然的,但实际上它是另外一种方法。

同步梯度下降算法(simultaneous gradient descent)是梯度下降算法的概括,而不是特例。

不收敛的矢量场

普通梯度下降算法与同步梯度下降算法(simultaneous gradient descent)的一个关键区别在于,前者只能够收敛到向量场的固定点,后者可以处理不收敛的向量场。因此,我想花大部分在这篇文章里谈论这个差异以及这些术语是什么意思。

我们经常在机器学习中遇到的则是另一个种(但不经常将其视为矢量场)是由自动编码器定义的矢量场。 AE的输入一些向量x,并返回另一个相同大小的向量v(x)。比如在图5是Alain和Bengio在201年对2D数据的自动编码去噪声的矢量场训练,效果相当不错:

由AE定义的矢量场不一定是收敛的,这意味着可能会产生一些不确定性的奇奇怪怪的问题。会有什么样的奇怪的事情产生呢?让我们来看一个极端的例子:恒定卷积矢量场,这是一个非常典型的不收敛矢量场例子:

这个向量场在零和游戏中经常出现(译者注:zero-sum game就是指“零和博弈”,指参与博弈的各方,在严格竞争下,一方的收益必然意味着另一方的损失,博弈各方的收益和损失相加总和永远为“零”,双方不存在合作的可能),其中。这和Salimans等人在2016年论文“Improved Techniques for Training GANs”中第3节里面提到的对抗生成网络的框架里的一个小例子非常相似。如同在圆圈中的矢量场,可以很明显的看到它 场中的旋转。事实上,如果你沿着这个矢量场(同时这也是梯度下降的方向)的箭头,你最终会进入圈子里,如图所示:

可以把此矢量比作与埃舍尔的《不可思议城堡》(译者注:埃舍尔,荷兰 版画家,因其绘画中的数学性而闻名,有兴趣的可以看看《不可能存在的存在》:http://www.360doc.com/content/17/0705/08/27794381_668875548.shtml)。在埃舍尔的“不可能存在的城堡”中,仆人认为他们正在上台阶或者是在下台阶,但实际上他们所做的都是围绕着圈子。当然如果要将Escher的城堡构建成是一个真正的3D 模型则是不可能的。类似地,不可能将卷积矢量场表示为标量函数的梯度。

一个坏消息是,即使旋度场在处具有平衡点,同步梯度下降算法也将永远发现不了。虽然我们我们共认梯度下降算法能在局部收敛到最小值,但是同步下降算法一般不能收敛到均衡点。它会陷入一个死循环,基于动量的变量甚至可以积累无限的动量直到完全崩溃。

一致优化方法(Consensus optimization):训练一个不收敛的矢量场

Mescheder等人提出的解决方案是从原始构造一个收敛的矢量场,如下: 因为我们将它定义为标量函数L的梯度,这显然是收敛的。很容易看出,这个新的矢量场-∇L具有与v相同的固定点。下面我绘制了对应于上述旋度场的收敛矢量场-∇L:

这和我们之前熟悉的一样,L的梯度下降要收敛到局部最小值,即固定点v。现在的问题是,我们无法控制我们收敛到什么样的固定点。我们要寻求一个正平衡,但是-δL不能区分鞍点(既不是极大值点也不是极小值点的临界点)或平衡,或负平衡或正平衡之间。如下图说明了矢量场

在左侧的图片中,我注释了平衡点和鞍点。中间的图片说明了收敛松弛点L,其中鞍点和平衡都转向局部最小值。 

那我们该怎么办?我们可以简单地采用原始v和它相关的-∇L进行线性组合,这种组合仍然是不收敛的矢量场看起来像旋度场(即上图第三个图片)。

通过这两个矢量场的组合,我们可能会得到一个稍微更好的模型,但仍然是不收敛的矢量场。衡量矢量场的效果的一种方法是查看其雅可比矩阵v"(x)的特征值。雅可比矩阵是矢量场的导数,对于收敛的矢量场,它被称为海森矩阵或二阶导数(译者注:关于雅可比矩阵和海森矩阵可以参阅网络资料——http://jacoxu.com/jacobian%E7%9F%A9%E9%98%B5%E5%92%8Chessian%E7%9F%A9%E9%98%B5/)。与总是对称的海森矩阵不同,非收敛场的雅可比是非对称的,它可以具有复杂的特征值。例如旋度场的雅可比矩阵是

其特征值完全是虚构的+ i和-i。

Mesceder等人通过将v与-∇L线形组合,可以控制组合场的特征值(详见论文),如果我们选择足够大的γ,则同步梯度下降算法将收敛到平衡。这真的是太赞了(6666666)!

可悲的是,当我们增加γ时,我们也会像以前一样引入虚假的均衡。这里所谓的平衡,其实际上只是v的鞍点。所以我们不能一味的关注γ,我们必须找到一个合理的中间地带。这是这种方法的局限性,目前尚不清楚实际中极限是多少。

再说说另一种方法:随机梯度方法的变种

平均指标(average norm)和总体方差(population variance )可以以无偏差的方式估计。 我已经和作者讨论过了,我会邀请他们发表评论,说明他们在实验中是如何做到的。 他们还承诺会在会议集影印版的论文中描述更多的细节。

总结

这篇论文让我开拓了视野,本来我一直认为在我们对抗生成网络中使用的梯度下降算法只是梯度下降的一种特殊情况,但实际上它只是是一个泛化,梯度下降的良好属性在这里并不能被认为是理所当然有的。希望这篇文章可以给大家带来一个对抗生成网络的满意答案。

欢迎加入本站公开兴趣群

商业智能与数据分析群

兴趣范围包括各种让数据产生价值的办法,实际应用案例分享与讨论,分析工具,ETL工具,数据仓库,数据挖掘工具,报表系统等全方位知识

QQ群:81035754

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/4664.html

相关文章

  • 深度学习的下一个热点——GANs将改变世界

    摘要:生成式对抗网络简称将成为深度学习的下一个热点,它将改变我们认知世界的方式。配图针对三年级学生的对抗式训练属于你的最严厉的批评家五年前,我在哥伦比亚大学举行的一场橄榄球比赛中伤到了自己的头部,导致我右半身腰部以上瘫痪。 本文作者 Nikolai Yakovenko 毕业于哥伦比亚大学,目前是 Google 的工程师,致力于构建人工智能系统,专注于语言处理、文本分类、解析与生成。生成式对抗网络—...

    ningwang 评论0 收藏0
  • 时下火热的wGAN将变革深度学习?这得从源头讲起

    摘要:但是在传统的机器学习中,特征和算法都是人工定义的。传统的深度学习中,是由人来决定要解决什么问题,人来决定用什么目标函数做评估。 随着柯洁与AlphaGo结束以后,大家是不是对人工智能的底层奥秘越来越有兴趣?深度学习已经在图像分类、检测等诸多领域取得了突破性的成绩。但是它也存在一些问题。首先,它与传统的机器学习方法一样,通常假设训练数据与测试数据服从同样的分布,或者是在训练数据上的预测结果与在...

    Brenner 评论0 收藏0
  • 深度学习成了前端开发神器:根据UI设计图自动生成代码

    摘要:运用深度学习,这个系统能够根据输入的图形用户界面截图直接输出对应的代码,从而省去前端手动编写代码的过程。如果二者存在任何长度上的差异,同样会被认定为错误。我们相信未来将与人类协作,而不是代替人类。 UI设计和前端工程师之间,可能还需要一个神经网络。近日,位于哥本哈根的一家创业公司Uizard Technologies开发出了一个名为pix2code的系统。运用深度学习,这个系统能够根据输入的...

    shery 评论0 收藏0
  • Google GAN之父 ICCV2017演讲:解读生成对抗网络的原理与应用

    摘要:但年在机器学习的较高级大会上,苹果团队的负责人宣布,公司已经允许自己的研发人员对外公布论文成果。苹果第一篇论文一经投放,便在年月日,斩获较佳论文。这项技术由的和开发,使用了生成对抗网络的机器学习方法。 GANs「对抗生成网络之父」Ian Goodfellow 在 ICCV 2017 上的 tutorial 演讲是聊他的代表作生成对抗网络(GAN/Generative Adversarial ...

    plokmju88 评论0 收藏0

发表评论

0条评论

raoyi

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<