深度学习之生成对抗网络(4)GAN变种

  • 1. DCGAN
  • 2. InfoGAN
  • 3. CycleGAN
  • 4. WGAN
  • 5. Equal GAN
  • 6. Self-Attention GAN
  • 7. BigGAN
  • 参考文献

 在原始的GAN论文中,Ian Goodfellow从理论层面分析了GAN网络的收敛性,并且在多个经典图片数据集上测试了图片生成的效果,如下图所示,其中(a)为MNIST数据,(b)为Toronto Face数据集,(c)、(d)为CIFAR10数据集。

原始GAN图片生成效果[1]

 可以看到,原始GAN模型在图片生成效果上并不突出,和VAE差别不明显,此时并没有展现出它强大的分布逼近能力。但是由于GAN在理论方面较新颖,实现方面也有很多可以改进的地方,大大地激发了学术界的研究兴趣。在接下来的数年里,GAN的研究如火如荼的进行,并且也取得了实质性的进展。接下来我们将介绍几个意义比较重大的GAN变种。

1. DCGAN

 最初始的GAN网络主要基于全连接层实现生成器G和判别器D网络,由于图片的维度较高,网络参数量巨大,训练的效果并不优秀。DCGAN[2]提出了使用转置卷积层实现的生成网络,普通卷积层来实现的判别网络,大大地降低了网络参数量,同时图片的生成效果也大幅提升,展现了GAN模型在图片生成效果上超越VAE模型的潜质。此外,DCGAN作者还提出了一系列经验性的GAN网络训练技巧,这些技巧在WGAN提出之前被证实有益于网络的稳定训练。前面我们已经使用DCGAN模型完成了二次元动漫头像的图片生成实战。

2. InfoGAN

 InfoGAN[3]尝试使用无监督的方式去学习输入x\boldsymbol xx的可解释隐向量z\boldsymbol zz的表示方法(Interpretable Representation),即希望隐向量z\boldsymbol zz能够对应到数据的语义特征。比如对于MNIST手写数字图片,我们介意认为数字的类别、字体大小和书写风格等是图片的隐藏变量,希望模型能够学习到这些分离的(Disentangled)可解释特征表示方法,从而可以通过认为控制隐变量来生成指定内容的样本。对于CelebA名人照片数据集,希望模型可以把发型、眼镜佩戴情况、面部表情等特征分隔开,从而生成指定形态的人脸图片。

 分离的可解释特征有什么好处呢?它可以让神经网络的可解释性更强,比如z\boldsymbol zz包含了一些分离的可解释特征,那么我们可以通过仅仅改变这一个位置上面的特征来获得不同语义的生成数据,如下图所示,通过将“戴眼镜男士”与“不戴眼镜男士”的隐向量相减,并与“不戴眼镜女士”的隐向量相加,可以生成“戴眼镜女士”的生成图片。

分离的特征示意图[3]

3. CycleGAN

 CycleGAN[4]是华人朱俊彦提出的无监督方式进行图片风格相互转换的算法,由于算法清晰简单,实验效果完成的较好,这项工作受到了很多的赞誉。CycleGAN基本的假设是,如果由图片A转换到图片B,再从图片B转换到A′A'A′,那么A′A'A′应该和A是同一张图片。因此除了设立标准的GAN损失项外,CycleGAN还增设了循环一致性损失(Cycle Consistency Loss),来爆炸A′A'A′尽可能与A逼近。CycleGAN图片的转换效果如下图所示:

图片转换效果[4]

4. WGAN

 GAN的训练问题一直被诟病,很容易出现训练不收敛和模式崩塌的现象。WGAN[5]从理论层面分析了原始的GAN使用JS散度存在的缺陷,并提出了可以使用Wasserstein距离来解决这个问题。在WGAN-GP[6]中,作者提出了通过添加梯度惩罚项,从工程层面很好地实现了WGAN算法,并且实验性证实了WGAN训练稳定的优点。

5. Equal GAN

 从GAN的诞生至2017年底,GAN Zoo已经收集了超过214种GAN网络变种。(数据来自http://www.sohu.com/a/207570263_610300)这些GAN的变种或多或少地提出了一些创新,然而Google Brain的几位研究院在[7]论文中提供了另一个观点:没有证据表明我们测试的GAN变种算法一直持续地比最初始的GAN要好。论文中对这些GAN变种进行了相对公平、全面的比较,在有足够计算资源的情况下,发现几乎所有的GAN变种都能达到相似的性能(FID分数)。这项工作提醒业界是否这些GAN变种具有本质上的创新。

6. Self-Attention GAN

 Attention机制在自然语言处理(NLP)中间已经用得非常广泛了,Self-Attention GAN(SAGAN)[8]借鉴了Attention机制,提出了基于自注意力机制的GAN变种。SAGAN把图片的逼真度指标:Inception score,从最好的36.8提升到52.52,Frechet Inception distance,从27.62降到18.65。从图片生成效果上来看,SAGAN取得的突破是十分显著的,同时也启发业界对自注意力机制的关注。

SAGAN中采用的Attention机制[8]

7. BigGAN

 在SAGAN的基础上,BigGAN[9]尝试将GAN的训练扩展到大规模上去,利用正交正则化等技巧保证训练过程的稳定性。BigGAN的意义在于启发人们,GAN网络的训练同样可以从大数据、大算力等方面受益。BigGAN图片生成效果达到了前所未有的高度:Inception score记录提升到166.5(提高了52.52);Frechet Inception Distance下降到7.4,降低了18.65,如下图所示,图片的分辨率可达512×512,图片细节及其逼真。

BigGAN生成图片样例

参考文献

参考文献:
[1] I. Goodfellow, J. Pouget-Abadie, M. Mirza, B. Xu, D. Warde-Farley, S. Ozair, A. Courville 和 Y. Bengio, “Generative Adversarial Nets,” 出处 Advances in Neural Information Processing Systems 27, Z. Ghahramani, M. Welling, C. Cortes, N. D. Lawrence 和 K. Q. Weinberger, 编辑, Curran Associates, Inc., 2014, pp. 2672-2680.
[2] A. Radford, L. Metz 和 S. Chintala, Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks, 2015.
[3] X. Chen, Y. Duan, R. Houthooft, J. Schulman, I. Sutskever 和 P. Abbeel, “InfoGAN: Interpretable Representation Learning by Information Maximizing Generative Adversarial Nets,” 出处 Advances in Neural Information Processing Systems 29, D. D. Lee, M. Sugiyama, U. V. Luxburg, I. Guyon 和 R. Garnett, 编辑, Curran Associates, Inc., 2016, pp. 2172-2180.
[4] J.-Y. Zhu, T. Park, P. Isola 和 A. A. Efros, “Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks,” 出处 Computer Vision (ICCV), 2017 IEEE International Conference on, 2017.
[5] M. Arjovsky, S. Chintala 和 L. Bottou, “Wasserstein Generative Adversarial Networks,” 出处 Proceedings of the 34th International Conference on Machine Learning, International Convention Centre, Sydney, Australia, 2017.
[6] I. Gulrajani, F. Ahmed, M. Arjovsky, V. Dumoulin 和 A. C. Courville, “Improved Training of Wasserstein GANs,” 出处 Advances in Neural Information Processing Systems 30, I. Guyon, U. V. Luxburg, S. Bengio, H. Wallach, R. Fergus, S. Vishwanathan 和 R. Garnett, 编辑, Curran Associates, Inc., 2017, pp. 5767-5777.
[7] M. Lucic, K. Kurach, M. Michalski, O. Bousquet 和 S. Gelly, “Are GANs Created Equal? A Large-scale Study,” 出处 Proceedings of the 32Nd International Conference on Neural Information Processing Systems, USA, 2018.
[8] H. Zhang, I. Goodfellow, D. Metaxas 和 A. Odena, “Self-Attention Generative Adversarial Networks,” 出处 Proceedings of the 36th International Conference on Machine Learning, Long Beach, California, USA, 2019.
[9] A. Brock, J. Donahue 和 K. Simonyan, “Large Scale GAN Training for High Fidelity Natural Image Synthesis,” 出处 International Conference on Learning Representations, 2019.

深度学习之生成对抗网络(4)GAN变种相关推荐

  1. 【深度学习】生成对抗网络(GAN)的tensorflow实现

    [深度学习]生成对抗网络(GAN)的tensorflow实现 一.GAN原理 二.GAN的应用 三.GAN的tensorflow实现 参考资料 GAN( Generative Adversarial ...

  2. 《深度学习》------生成对抗网络(GAN)学习笔记

    1.生成对抗网络的(GAN)的原理 GAN的思想:一种二人零和博弈思想(two-player game),博弈双方的利益之和是一个常数. 就像电影<猫鼠游戏>,生成网络G可以被看做是假支票 ...

  3. 深度学习之生成对抗网络(6)GAN训练难题

    深度学习之生成对抗网络(6)GAN训练难题 1. 超参数敏感 2. 模式崩塌  尽管从理论层面分析了GAN网络能够学习到数据的真实分布,但是在工程实现中,常常出现GAN网络训练困难的问题,主要体现在G ...

  4. 深度学习之生成对抗网络(2)GAN原理

    深度学习之生成对抗网络(2)GAN原理 1. 网络结构 生成网络G(z)\text{G}(\boldsymbol z)G(z) 判别网络D(x)\text{D}(\boldsymbol x)D(x) ...

  5. 深度学习之生成对抗网络(8)WGAN-GP实战

    深度学习之生成对抗网络(8)WGAN-GP实战 代码修改 完整代码 WGAN WGAN_train 代码修改  WGAN-GP模型可以在原来GAN代码实现的基础上仅做少量修改.WGAN-GP模型的判别 ...

  6. 深度学习之生成对抗网络(7)WGAN原理

    深度学习之生成对抗网络(7)WGAN原理 1. JS散度的缺陷 2. EM距离 3. WGAN-GP  WGAN算法从理论层面分析了GAN训练不稳定的原因,并提出了有效的解决方法.那么是什么原因导致了 ...

  7. 深度学习之生成对抗网络(1)博弈学习实例

    深度学习之生成对抗网络(1)博弈学习实例 博弈学习实例  在 生成对抗网络(Generative Adversarial Network,简称GAN)发明之前,变分自编码器被认为是理论完备,实现简单, ...

  8. 深度学习之生成对抗网络(5)纳什均衡

    深度学习之生成对抗网络(5)纳什均衡 1. 判别器状态 2. 生成器状态 3. 纳什均衡点  现在我们从理论层面进行分析,通过博弈学习的训练方式,生成器G和判别器D分别会达到什么平衡状态.具体地,我们 ...

  9. 人工智障学习笔记——深度学习(4)生成对抗网络

    概念 生成对抗网络(GAN)是一种深度学习模型,是近年来复杂分布上无监督学习最具前景的方法之一.模型通过框架中(至少)两个模块:生成模型(Generative Model)和判别模型(Discrimi ...

最新文章

  1. 计算机投诉信英语作文,【回复投诉信英语作文】_英语投诉信回复范文
  2. 视频培训网站发布问题
  3. 图书管理系统之外键的增删改查
  4. React-native 环境配置过程与搭建项目问题汇总
  5. Boost::context模块callcc的解析器测试程序
  6. 系统实施基础:系统实施的相关知识介绍
  7. 企业是否应该实现对客户需求的快速响应_CRM系统给企业带来的创新有哪些?如何让销售爱用CRM系统?...
  8. mysql表单查询_MySQL表单集合查询
  9. 1057 数零壹 (20 分)
  10. leetcode 231. 2 的幂
  11. linux脚本定义量,Linux上增加自定义脚本的展现量
  12. CentOS 7.4 安装Teamviewer 14
  13. 整理Android应用源代码分享
  14. 天线座和连接器SMA、U.FL、IPX、IPEX
  15. 计算机科学技术专业单片机,计算机科学与技术专业毕业论文---基于单片机的智能浇花系统的设计与实现.docx...
  16. Abaqus帮助文档翻译(一)快速介绍有限元
  17. e260dn打印机故障灯_打印机故障大全对照表
  18. smart原则_用SMART原则,定位好副业目标
  19. 聊天记录怎么删除才能防止被恢复
  20. SpringSecurity实现动态鉴权

热门文章

  1. C++primer 第四版6.12:练习题
  2. C++11 统一初始化(Uniform Initialization)
  3. com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected a string but was BEGI
  4. 深入理解session过期机制
  5. 线程同步--线程间通信
  6. 内地高校招收澳门保送生公布录取结果 882名学生获录取
  7. 超简单的利用plist 查看ipa包名及其它信息
  8. 介绍 Echoo: go 语言编写的 echo 服务器
  9. SpringCloud的微服务网关:zuul(理论)
  10. 【原创】构建高性能ASP.NET站点 开篇