《智能系统与技术丛书 生成对抗网络入门指南》
智能系统与技术丛书
生成对抗网络入门指南
史丹青 编著
前 言
生成对抗网络(GAN)毫无疑问是当下热门的人工智能技术之一,被美国《麻省理工科技评论》评为2018年“全球十大突破性技术”。从2014年至今,与GAN有关的论文数量急速上升,网络上有人整理了近年来的GAN模型,截至2018年2月已经有超过350个不同形态的变种,并且数量仍然在持续增加中。在图像生成模型的质量上,生成对抗网络技术可以说实现了飞跃,很多衍生模型已经在一定程度上解决了特定场景中的图像生成问题。此外,诸如文本到图像的生成、图像到图像的生成等应用研究也让工业界与学术界都非常“兴奋”,为人工智能行业带来了非常多的可能性。
目前网络上关于生成对抗网络的介绍林林总总,越来越多的人对它的出现感到好奇,想知道计算机是如何通过博弈的方法来进行自我优化的。我也曾在知乎上写过一篇介绍性文章,但写完之后总觉得不够尽兴,希望有机会把这个领域相对完整的知识体系呈现在初学者面前,并帮助那些对人工智能技术感兴趣的朋友,让他们尽量少走一些弯路,更直观地了解这个前沿的新兴领域。
本书面向机器学习从业人员、高校相关专业学生以及具备一定基础的人工智能领域爱好者,书中包含了生成对抗网络的理论知识与项目实践。通过本书的学习,读者可理解生成对抗网络的技术原理,并通过书中的代码实例了解技术细节。本书尽量避免出现需要高性能计算设备才可以运行的项目,希望读者在感受到生成对抗网络的魅力之后,有机会在自己的设备上尝试运行一些项目。只有通过不断实践,才能真正理解生成对抗网络,并将其应用到自己的学习与工作中。
本书主要内容
本书共10章。第1章为入门章节,介绍了人工智能领域目前的发展状况,以及生成对抗网络的基本概念及其在整个研究领域中的状况。由于第1章不涉及机器学习与深度学习的理论与实践细节,但在之后的生成对抗网络学习中会用到相关概念,因此希望读者自己补全这些基础知识。
第2章是编程基础章节,是对机器学习与深度学习编程语言、框架以及工具的介绍,涉及的内容包括Python语言及第三方工具、TensorFlow框架、Keras框架以及深度学习云平台Floyd。如果读者已经具备深度学习领域的编程基础,可以选择性地跳过本章部分内容。
第3章讨论生成对抗网络的整体理论框架,本书会按照基础概念、理论推导、可视化理解以及具体工程实践的顺序来带领大家认识GAN。最后的代码部分使用TensorFlow实现,由于不会涉及大量的运算,读者可以按照书中的示例直接在笔记本电脑上运行代码,以帮助加深对知识的理解。
第4章到第6章在原始GAN的基础上介绍各种不同结构,但都是具有标志性特点的GAN。正因为有这样的多样性,才使得该领域一直充满活力。
第4章介绍基于深度卷积神经网络的生成对抗网络(DCGAN),这是一种在图像生成领域非常流行的框架结构,由于对于卷积层的使用以及一些其他的优化,使得模型在图像生成的时候具有更高的质量。本书会使用Keras框架的代码来搭建面向手写数据集的DCGAN整体框架以及训练代码。在Keras的帮助下,我们可以比较简便地完成整个模型,这也是深度学习框架带来的便利。由于使用了卷积层,在笔记本电脑上运行可能需要花费一些时间,如果希望快速得出结果,读者可以使用第2章介绍的云平台进行云端的GPU运算。最终,这一章还会给出DCGAN的一些创新性应用,这也为之后GAN在多媒体领域的应用打下了基础。
第5章首先介绍了目前GAN结构存在的问题,并由这个问题出发提出了业界非常著名的模型WGAN。WGAN的理论推导看起来有些复杂,但是最终得出的优化方法却简单得令人吃惊。本章的实践部分是在DCGAN的Keras代码基础上进行修改的,最终读者会发现只需要几处代码调整就可以完成理论上更优的模型设计。这也从另一个侧面反映了理论研究的重要性,只有真正懂得事物背后的道理,才能给出优秀的方案。这一章最后会给出对于WGAN算法本身的改进—WGAN-GP,官方也给出了开源代码,WGAN-GP属于业界比较优秀的方案,大量的论文都拿它作为比较对象。
第6章涉及一些不同结构的GAN,将它们大致分为三个部分,包括监督式学习、半监督式学习与无监督式学习。在这一章中我们也可以看到GAN各种各样的可能性,比如在有标签的条件式生成对抗网络(cGAN)的帮助下,我们可以根据设定好的标签来进行具体分类图片的生成,而通过无标签生成的InfoGAN可以让隐含编码(latent code)中的每一维都具有实际意义,并通过调节输入的参数对生成内容进行定制。
第7章与第8章的核心思想建立在条件式GAN研究的基础上,但是方法和网络都做了进一步的改进。第7章为文本到图像的生成,用户只需输入一句话就可以得到想要的图像。而第8章则是用户根据自己提供的图像最终呈现出图像中的理想画面,其中涉及知名的算法Pix2Pix以及CycleGAN等。这些项目的源码大多是开源的,感兴趣的读者可以根据官网或书中提供的方法对这些模型应用进行试验。
上面的章节大多从理论出发,但是最终都会涉及具体的应用场景。第9章希望为读者更具体地介绍GAN的应用层面,从多媒体领域到艺术与设计领域,展示GAN在这些行业的发展中提供了怎样的帮助。由于GAN还是一项非常“年轻”的技术,因此也希望通过这一章的内容来启发读者,在实际工作与科研过程中进一步思考还有什么更好的应用场景,也许它会成为你使用人工智能技术改变的下一个行业。
第10章为收尾章节,希望能够为初次学习GAN或者对GAN技术有着浓厚兴趣的读者提供一些行业研究的热点方向。生成对抗网络是当下深度学习领域的研究热点,也是一项正在飞速发展的技术,考虑到内容的时效性,本书网站https://ganbook.org会持续更新科研方向与动态。
致谢
首先要感谢学术界数不清的优秀科研人员耕耘在科学技术的前沿,正是他们产出的高质量研究成果以及论文推动着时代的发展,带来了这个全新的人工智能时代。本书也是站在巨人的肩膀上,大量参考了相关的文献材料,没有这些研究者就没有本书的诞生。也要感谢互联网上愿意分享的优秀技术博主和开发者,我从他们的分享中学到了太多太多。感谢开源平台GitHub聚集了数不清的开发者,开源精神让开发变得更加便捷,也让知识传播变得更加高效。
感谢机械工业出版社华章公司的朱捷先生对我的支持,在我写作的过程中提供了非常多的思路与帮助,正是他对我的认可和鼓励促使我完成本书。感谢蔚馨女士对本书的校对和编辑,并为本书提供了大量高质量的素材。此外也感谢所有为本书的出版付出努力的工作者。
最后感谢我的父母以及教导我的老师们,是他们的栽培成就了现在的我,在这里再一次感恩他们对我的付出。
与我联系
读者可以通过知乎(https://www.zhihu.com/people/shidanqing)与我取得联系,很乐意收到你的私信,并与你进行相关技术的交流。另外我也会维护一个收集读者与专家建议及反馈的网站(https://ganbook.org),一些源码以及未来的技术更新会同步在这个网站上。敬请各位读者与行业专家对本书不足的地方予以批评和指正。
CONTENTS
目 录
前言
第4章 深度卷积生成对抗网络 68
4.1 DCGAN的框架 68
4.1.1 DCGAN设计规则 68
4.1.2 DCGAN框架结构 72
4.2 DCGAN的工程实践 73
4.3 DCGAN的实验性应用 79
4.3.1 生成图像的变换 79
4.3.2 生成图像的算术运算 81
4.3.3 残缺图像的补全 83
4.4 本章小结 85
第5章 Wasserstein GAN 86
5.1 GAN的优化问题 86
5.2 WGAN的理论研究 89
5.3 WGAN的工程实践 92
5.4 WGAN的实验效果分析 96
5.4.1 代价函数与生成质量的相关性 96
5.4.2 生成网络的稳定性 97
5.4.3 模式崩溃问题 99
5.5 WGAN的改进方案:WGAN-GP 100
5.6 本章小结 104
第6章 不同结构的GAN 105
6.1 GAN与监督式学习 105
6.1.1 条件式生成:cGAN 105
6.1.2 cGAN在图像上的应用 106
6.2 GAN与半监督式学习 110
6.2.1 半监督式生成:SGAN 110
6.2.2 辅助分类生成:ACGAN 112
6.3 GAN与无监督式学习 113
6.3.1 无监督式学习与可解释型特征 113
6.3.2 理解InfoGAN 115
6.4 本章小结 119
第7章 文本到图像的生成 120
7.1 文本条件式生成对抗网络 120
7.2 文本生成图像进阶:GAWWN 123
7.3 文本到高质量图像的生成 127
7.3.1 层级式图像生成:StackGAN 128
7.3.2 层级式图像生成的优化:StackGAN-v2 132
7.4 本章小结 135
第8章 图像到图像的生成 136
8.1 可交互图像转换:iGAN 136
8.1.1 可交互图像转换的用途 136
8.1.2 iGAN的实现方法 138
8.1.3 iGAN软件简介与使用方法 140
8.2 匹配数据图像转换:Pix2Pix 143
8.2.1 理解匹配数据的图像转换 143
8.2.2 Pix2Pix的理论基础 145
8.2.3 Pix2Pix的应用实践 150
8.3 非匹配数据图像转换:CycleGAN 157
8.3.1 理解非匹配数据的图像转换 157
8.3.2 CycleGAN的理论基础 160
8.3.3 CycleGAN的应用实践 162
8.4 多领域图像转换:StarGAN 166
8.4.1 多领域的图像转换问题 166
8.4.2 StarGAN的理论基础 169
8.4.3 StarGAN的应用实践 171
8.5 本章小结 177
第9章 GAN的应用:从多媒体到艺术设计 178
9.1 GAN在多媒体领域的应用 178
9.1.1 图像去模糊 178
9.1.2 人脸生成 181
9.1.3 音频合成 184
9.2 GAN与AI艺术 188
9.2.1 AI能否创造艺术 188
9.2.2 AI与计算机艺术的发展 190
9.2.3 艺术生成网络:从艺术模仿到创意生成 196
9.3 GAN与AI设计 202
9.3.1 AI时代的设计 202
9.3.2 AI辅助式设计的研究 205
9.4 本章小结 212
第10章 GAN研究热点 213
10.1 评估与优化 213
10.2 对抗攻击 216
10.3 发展中的GAN 219
参考文献 222
- 点赞
- 收藏
- 关注作者
评论(0)