深度学习之生成对抗网络(1)博弈学习实例
深度学习之生成对抗网络(1)博弈学习实例
- 博弈学习实例
在 生成对抗网络(Generative Adversarial Network,简称GAN)发明之前,变分自编码器被认为是理论完备,实现简单,使用神经网络训练起来很稳定,生成的图片逼近度也较高,但是人眼还是可以很轻易地分辨出真实图片与及其生成的图片。
2014年,Unibersit eˊ\acute{e}eˊ de Montr eˊ\acute{e}eˊal大学Yoshua Bengio(2019年图灵奖获得者)的学生Ian Goodfellow提出了生成对抗网络GAN [1],从而开辟了深度学习最炙手可热的研究方向之一。从2014年到2019年,GAN的研究稳步推进,研究捷报频传,最新的GAN算法在图片生成上的效果甚至达到了肉眼南边的程度,着实令人振奋。由于GAN的发明,Ian Goodfellow荣获GAN之父称号,并获得了2017年麻省理工科技评论办法的35 Innovators Under 35奖项。下图展示了从2014年到2018年,GAN模型取得的图片生成效果,可以看到不管是图片大小,还是图片逼真度,都有了巨大的提升。
GAN模型2014~2018年的图片生成效果
接下来,我们将从生活中博弈学习的实例出发,一步步引出GAN算法的设计思想和模型结构。
[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.
博弈学习实例
我们用一个漫画家的成长轨迹来形象介绍生成对抗网络。考虑一对双胞胎兄弟,分别称为老二G和老大D,G学会如何绘制漫画,D学习如何鉴赏画作。还在娃娃时代的两兄弟,尚且只学会了如何使用画笔和纸张,G绘制了一张不明所以的画作,如下图(a)所示,由于此时D鉴别能力不高,觉得G的作品还行,但是任务主题不够鲜明。在D的指引和鼓励下,G开始尝试学习如何绘制主体轮廓和简单使用简单的色彩搭配。
一年后,G提升了绘画的基本功,D也通过分析名作和初学者G的作品,初步掌握了鉴别作品的能力。此时D觉得G的作品任务主体有了,如下图(b)所示,但是色彩的运用还不够成熟。数年后,G的绘画基本功已经很扎实了,可以轻松绘制出主题鲜明、颜色搭配合适和逼真度较高的画作,如下图(c)所示,但是D同样通过观察G和其它名作的差别,提升了画作鉴别能力,觉得G的画作技艺已经趋于成熟,但是对生活的观察尚且不够,作品没有传达神情且部分细节不够完美。又过了数年,G的绘画能力达到了炉火纯青的地步,绘制的作品细节完美、风格迥异、惟妙惟肖,宛如大师级水准,如图(d)所示,几遍此时的D鉴别功力也相当出色,也很难将G和其他大师级的作品区分开来。
画家的成长轨迹示意图
上述画家的成长历程其实是一个生活中普遍存在的学习过程,通过双方的博弈学习,相互提高,最终达到一个平衡点。GAN网络借鉴了博弈学习的思想,分别设立了两个子网络:负责生成样本的生成器G和负责鉴别真伪的鉴别器D。类比到画家的例子,生成器G就是老二,鉴别器D就是老大。鉴别器D通过观察真实的样本和生成器G产生的样本之间的区别,学会如何鉴别真假,其中真实的样本为真,生成器G产生的样本为假。而生成器G同样也在学习,它希望产生的样本能够获得鉴别器D的认可,即在鉴别器D中鉴别为真,因此生成器G通过优化自身的参数,尝试使自己产生的样本在鉴别器D中判别为真。生成器G和鉴别器D相互博弈,共同提升,直至达到平衡点。此时生成器G生成的样本非常逼真,使得鉴别器D真假难分。
在原始的GAN论文中,Ian Goodfellow使用了另一个形象的比喻来介绍GAN模型:生成器网络G的功能就是产生一系列非常逼真的假钞试图欺骗鉴别器D,而鉴别器D通过学习真钞和生成器G生成的假钞来掌握钞票的鉴别方法。这两个网络在相互博弈的过程中间同步提升,直到生成器G产生的假钞非常大逼真,连鉴别器D都难辨真假。
这种博弈学习的思想使得GAN的网络结构和训练过程与之前的网络模型略有不同,下面我们来详细介绍GAN网络结构和算法原理。
深度学习之生成对抗网络(1)博弈学习实例相关推荐
- 深度学习之生成对抗网络(2)GAN原理
深度学习之生成对抗网络(2)GAN原理 1. 网络结构 生成网络G(z)\text{G}(\boldsymbol z)G(z) 判别网络D(x)\text{D}(\boldsymbol x)D(x) ...
- 【深度学习】生成对抗网络(GAN)的tensorflow实现
[深度学习]生成对抗网络(GAN)的tensorflow实现 一.GAN原理 二.GAN的应用 三.GAN的tensorflow实现 参考资料 GAN( Generative Adversarial ...
- 深度学习之生成对抗网络(5)纳什均衡
深度学习之生成对抗网络(5)纳什均衡 1. 判别器状态 2. 生成器状态 3. 纳什均衡点 现在我们从理论层面进行分析,通过博弈学习的训练方式,生成器G和判别器D分别会达到什么平衡状态.具体地,我们 ...
- 2021-01-24过去十年十大AI研究热点,分别为深度神经网络、特征抽取、图像分类、目标检测、语义分割、表示学习、生成对抗网络、语义网络、协同过滤和机器翻译。
专利申请量全球第一!清华人工智能发展报告:国内215所高校成立相关本科专业 发布时间:01-2415:20万象大会年度获奖创作者,东方财富网官方帐号 1月20日,清华大学人工智能研究院.清华-中国工程 ...
- 深度学习之生成对抗网络(8)WGAN-GP实战
深度学习之生成对抗网络(8)WGAN-GP实战 代码修改 完整代码 WGAN WGAN_train 代码修改 WGAN-GP模型可以在原来GAN代码实现的基础上仅做少量修改.WGAN-GP模型的判别 ...
- 深度学习之生成对抗网络(7)WGAN原理
深度学习之生成对抗网络(7)WGAN原理 1. JS散度的缺陷 2. EM距离 3. WGAN-GP WGAN算法从理论层面分析了GAN训练不稳定的原因,并提出了有效的解决方法.那么是什么原因导致了 ...
- 深度学习之生成对抗网络(6)GAN训练难题
深度学习之生成对抗网络(6)GAN训练难题 1. 超参数敏感 2. 模式崩塌 尽管从理论层面分析了GAN网络能够学习到数据的真实分布,但是在工程实现中,常常出现GAN网络训练困难的问题,主要体现在G ...
- 深度学习之生成对抗网络(4)GAN变种
深度学习之生成对抗网络(4)GAN变种 1. DCGAN 2. InfoGAN 3. CycleGAN 4. WGAN 5. Equal GAN 6. Self-Attention GAN 7. Bi ...
- 【论文笔记】基于生成对抗网络的强化学习算法的研究
目录 摘要 关键词 0 引言 1 相关理论 1.1 强化学习理论 1.2 生成对抗网络理论 1.3 基于生成对抗网络的强化学习算法 1.3.1 算法总体结构框架 2 实验与分析 3 总结 摘要 解决: ...
最新文章
- Linux系统巡检shell脚本
- 通过minify将项目中js和css文件的打包
- Linux系统基础优化
- 数据清理最终实现了自动化
- Broker模块划分
- Using APIs in Your Ethereum Smart Contract with Oraclize
- C#Socket通讯之超时检测
- 微服务架构-设计总结
- 【Tensorflow】图像的读取、解码、显示、处理、编码、保存
- 迈道科技生产安全风险调度管控系统
- 系统运维安全管理办法_7.系统运维安全管理规定
- R:基于每股权益的量化分析 —— PEG估值法
- ShareX:一款你值得拥有的截图识别工具
- 公司企业邮箱怎么注册开通?
- 某科技厅办公工作协同平台
- 纯CSS3实现旋转风车
- 环世界RimWorld for Mac(模拟建造游戏)
- VSTO开发PPT插件将PPT导出成图片
- VS2015 kb2919355 解决方法汇总
- 本地化差分隐私的简单入门内容
热门文章
- 关于div容器高度随着浏览器宽度按照宽高比自适应的问题(css解决方案)
- # 删除注册表项键值_强制删除:让你的电脑上不再有“顽固”程序
- x64版本的OpenGL库配置
- php 转义取消,php如何取消转义
- js 只准输入数字_基于TensorFlow.js的JavaScript机器学习
- GitOps:Kubernetes多集群环境下的高效CICD实践
- 8.基本数据结构-顺序表和链表
- 一个简单好用的java增量更新工具
- Spring Security认证过程
- json字符串转java对象数组