简介
适读人群:
本书面向机器学习从业人员、在校相关专业学生以及具备一定基础的人工智能领域爱好者。
1、本书第2版跟踪近两年生成对抗网络(GAN)技术的发展和变化,包括离散数据生成、GAN与强化学习的关联、海量级高质量图像生成技术等内容,新增了BigGAN、StyleGAN等图像生成模型的介绍与技术解析。这些内容更新与第1版内容有机地结合,深入浅出地阐述了生成对抗网络技术原理和演进,通过代码实例揭示了生成对抗网络技术实际应用的方法,方便读者学习入门。
2、书中所有示例代码基于Tensorflow2.0进行了更新,全部支持在Tensorflow2.0环境下运行,方便读者上手实践,深入了解技术实现细节。
3、读者可在华章图书网站该书网页下载书中全部示例代码。
从2014年至今,与GAN有关的论文数量急剧增加,从谷歌学术的数据来看,数量仍在不断增加中。究其原因,除了科学研究本身的魅力之外,诸如文本到图像的生成、图像到图像的生成等应用研究也让业界非常兴奋,给人工智能领域带来诸多可能性。
本书是GAN的入门书籍,结合基础理论、工程实践进行讲解,深入浅出地介绍GAN的技术发展以及各类衍生模型。本书面向机器学习从业人员、高校相关专业学生以及具备一定基础的人工智能技术爱好者。书中包含GAN的理论知识与代码实践(示例代码可以从华章官网搜索下载),可帮助读者理解GAN的技术原理与实现细节。
本书主要内容
人工智能入门知识与开发工具
GAN的理论与实践
DCGAN、WGAN、cGAN等主流GAN衍生模型
文本到图像、图像到图像以及离散数据的生成方法
GAN与强化学习的关联
BigGAN、StyleGAN等前沿GAN模型
多媒体与艺术设计领域中的GAN应用
作者介绍
史丹青
同济大学博士研究生,专业方向为人工智能与数据设计,在计算机顶级会议上发表多篇智能生成相关论文。曾担任语忆科技联合创始人兼技术负责人,拥有多年人工智能领域创业与实战经验,具备深度学习、自然语言处理以及数据可视化等相关知识与技能。他是人工智能技术的爱好者,喜欢拥抱一切新兴科技,并始终坚信技术分享和开源精神的力量。
部分摘录:
生成对抗网络(GAN)毫无疑问是2018年最热门的人工智能技术,被美国《麻省理工科技评论》评选为2018年“全球十大突破性技术”。从2014年至今,与GAN有关的论文数量急速上升。网络上有人整理了近年来的GAN模型,截至2018年2月已经有超过350个不同形态的变种,并且数量仍然在持续增加中。在图像生成模型的质量上,生成对抗网络技术可以说实现了飞跃,很多衍生模型已经在一定程度上解决了特定场景中的图像生成问题。此外,诸如文本到图像的生成、图像到图像的生成等应用研究也让工业界与学术界非常兴奋,为人工智能行业带来了非常多的可能性。
让GAN走入大众视野的是2018年10月举办的一场拍卖会,由法国艺术创作团队Obvious使用GAN算法生成的画作以43万美元的高价被拍走,价格甚至远超同场拍卖的毕加索作品。AI技术越来越接近人们的生活,如果说AlphaGo只是陪你玩游戏的大师,那这次让大家轰动的作品拍卖似乎在挑战人类对于艺术的创作与审美。
在之后的两年中,GAN从一个尚待完善的新兴技术逐步发展成熟。而在几年前,大部分相关文章关注的还是针对手写数据集进行生成,最近随着谷歌、英伟达等大厂的入局,我们看到了诸如BigGAN和StyleGAN这样几乎逼真的人脸生成效果,甚至StyleGAN可以准确地控制生成人脸的状态。这些振奋人心的结果也让相关从业者和技术爱好者渴望了解这些技术背后的原理。
目前网络上关于生成对抗网络的介绍林林总总,越来越多的人对它的出现感到好奇,想知道计算机是如何通过博弈的方法来进行自我优化的。我也曾在知乎上写过一篇介绍性文章,但写完之后总觉得不够尽兴,希望有机会把这个领域相对完整的知识体系呈现在初学者面前,并帮助那些对人工智能技术感兴趣的朋友,让他们尽量少绕弯路,从而了解这个前沿的新兴领域。
本书面向机器学习从业人员、高校相关专业学生以及具备一定基础的人工智能领域爱好者,包含了生成对抗网络的理论知识与项目实践。通过本书的学习,读者能够理解生成对抗网络的技术原理,并通过书中的代码实例了解技术细节。本书尽量避免出现需要高性能计算设备才可以运行的项目,以便读者可以在感受到生成对抗网络的魅力之后,有机会在自己的设备上尝试运行一些项目。只有通过不断实践,才能真正理解生成对抗网络,并将其应用到自己的学习与工作中。
本书主要内容
本书共12章。第1章为入门章节,为读者介绍人工智能领域目前的发展状况,以及生成对抗网络的基本概念和它在整个研究领域中的状况。第1章不会涉及机器学习与深度学习的理论与实践细节,但在之后的生成对抗网络学习中会用到相关概念,因此希望读者可以自己去补全这些基础知识。
第2章是编程基础章节,是对机器学习与深度学习编程语言、框架以及工具应用的介绍,涉及的内容包括Python语言及第三方工具、TensorFlow框架以及Keras框架。如果你已经具备了深度学习领域的编程基础,可以选择性地跳过本章部分内容。
第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章的核心思想建立在前文cGAN研究的基础上,但是方法和网络都进一步做了改进。第7章为文本到图像的生成,用户只需输入一句话就可以得到想要的图像。而第8章则是用户根据自己提供的图像最终呈现出一幅理想的画面,其中涉及知名的算法Pix2Pix以及CycleGAN等。这些项目的源码大多是开源的,感兴趣的读者可以根据官网或书中提供的方法对这些模型应用进行试验。
第9章主要介绍GAN在离散数据上的生成,通过引入策略梯度下降的方法解决了GAN在离散数据上不可导的问题,其中介绍了著名的方法SeqGAN。同时,也会介绍在自然语言生成的场景下如何应用与优化基于GAN的离散数据生成技术。
第10章在离散数据生成的基础上进一步深入,首先会介绍离散决策常用的算法——强化学习,并阐明GAN与强化学习之间存在的相互关系。除此之外,也涉及强化学习的衍生方法,包括模仿学习与逆向强化学习,并探讨了它们与GAN的结合。
第11章首先介绍评估生成模型的一系列标准以及现有的一些难点问题,随后展示了近年来GAN的一系列突破性研究,尤其是图像生成质量和多样性方面的提升,重点介绍了目前最强大的两个GAN模型——BigGAN与StyleGAN。
第12章为读者更具体地介绍GAN的应用,从多媒体领域讲到艺术与设计领域,展示GAN在这些行业的发展中提供了怎样的帮助。由于GAN还是一项非常“年轻”的技术,因此也希望通过这一章来启发读者,在实际工作与科研过程中进一步思考还有哪些更好的应用场景,也许它就会成为你使用人工智能技术改变的下一个行业。
相较于第1版,本书新增的章节为第9~11章,重点介绍了最近GAN技术发展的新技术与应用。而且,本书修订了第2章的基础知识介绍部分,从TensorFlow 1.0全面升级到了TensowFlow 2.4。在此基础上,其他章节中的所有代码也都支持TensorFlow 2.4版本。除此之外,部分内容也已根据技术发展进行了微调。