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

  • 1. 超参数敏感
  • 2. 模式崩塌

 尽管从理论层面分析了GAN网络能够学习到数据的真实分布,但是在工程实现中,常常出现GAN网络训练困难的问题,主要体现在GAN模型对超参数较为敏感,需要精心挑选能使模型工作的超参数设定,同时也容易出现模式崩塌现象。

1. 超参数敏感

 超参数敏感是指网络的结构设定、学习率、初始化状态等超参数对网络的训练过程影响较大,微量的超参数调整将可能导致网络的训练结果截然不同。如下图所示,图(a)为GAN模型良好训练得到的生成样本,图(b)中的网络由于没有采用Batch Normalization层等设置,导致GAN网络训练不稳定,无法收敛,生成的样本与真实样本差距非常大。

超参数敏感实例

2. 模式崩塌

模式崩塌(Model Collapse)是指模型生成的样本单一,多样性很差的现象。由于判别器只能鉴别单个样本是否采样自真是分布,并没有对样本多样性进行显式约束,导致生成模型可能倾向于生成真实分布的部分区间中的少量高质量样本,以此来在判别器中获得较高的概率值,而不会学习到全部的真是分布。模式崩塌现象在GAN中比较常见,如下图所示,在训练过程中,通过可视化生成样本可以观察到,生成的图片种类非常单一,生成网络总是倾向于生成某种单一风格的样本图片,以此骗过判别器。

图片生成模型崩塌

 另一个直观地理解模式崩塌的例子如下图所示,第一行为未出现模式崩塌现象的生成网络的训练过程,最后一列为真实分布,即2D高斯混合模型;第二行为出现模式崩塌现象的生成网络的训练过程,最后一列为真实分布。可以看到真实的分布由8个高斯模型混合而成,出现模式崩塌后,生成网络总是倾向于逼近真实分布的某个狭窄区间,如下图第2行前6列所示,从此区间采样的样本往往能够在判别器中较大概率判断为真实样本,从而骗过判别器。但是这种现象并不是我们希望看到的,我们希望生成网络能够逼近真实的分布,而不是真实分布中的某部分。

模型崩塌示意图

 那么怎么解决GAN训练的难题,让GAN可以像普通的神经网络一样训练较为稳定呢?WGAN模型给出了一种解决方案。

深度学习之生成对抗网络(6)GAN训练难题相关推荐

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

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

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

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

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

    深度学习之生成对抗网络(4)GAN变种 1. DCGAN 2. InfoGAN 3. CycleGAN 4. WGAN 5. Equal GAN 6. Self-Attention GAN 7. Bi ...

  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. 阿里开源的缓存框架JetCache,实现spring二级缓存
  2. Netbeans配置Java SE嵌入式平台(树莓派)
  3. 第四范式发布Sage AIOS 2.0及智能应用市场Sage App Store
  4. MOSS2010 标准版与企业版的区别
  5. 三十而已,工程师如何做好职业成长?
  6. iOS开发UI调试神器----Reveal
  7. mysql数据库自学_MySQL数据库自学
  8. Lansys PV 1.2 1CD(化工容器强度计算软件)
  9. 在互联网大厂,产品经理需要做的具体流程
  10. 计算机找不到ie浏览器,IE浏览器不见了怎么办?找回IE浏览器的方法
  11. 金融分析与风险管理——投资组合的绩效评估
  12. 阿里云域名搭建DNSLOG
  13. ddos硬件防火墙(DDOS硬件防火墙)
  14. 元子弹老师-吉他指弹右手技巧
  15. Android虚拟机、模拟器识别
  16. PyCharm中的问题记录:failed to sync ide settings. click to sync
  17. ESIM网络结构总结以及代码详解
  18. 2. OP-TEE中添加自己的TA和CA
  19. r 语言c函数,R语言常用函数详解
  20. 【腾讯TMQ】漫步VR——Unity语音聊天室开发小结

热门文章

  1. C++11中线程所有权转移分析
  2. IOS工程自动打包并发布脚本实现
  3. cfree是c语言程序的什么,用C-FREE编写的C语言程序
  4. IP地址与无符号整数值相互转换
  5. 前端也要懂Http缓存机制
  6. ASP.NET MVC下使用AngularJs语言(三):ng-options
  7. 解决eclipse闪退的办法
  8. 客房收费系统数据库设计
  9. 安卓开发之探秘蓝牙隐藏API
  10. Javascript 获取字符串字节数的多种方法