深入浅出GAN生成对抗网络:原理剖析与TensorFlow实践
上QQ阅读APP看书,第一时间看更新

前言

生成对抗网络(GAN),在2014年被提出,随后便引起了大量深度学习研究人员与从业者的关注。GAN以两个网络相互对抗的方式进行训练从而获得有价值的模型,相比于传统的无监督学习的思路,GAN更加清晰易懂,并避开了传统无监督学习中遇到的困难,是这几年论文发表数最多的主题之一。据统计,至2018年年底,每20分钟就会有一篇GAN方面的论文。

目前,GAN在图像和视觉领域运用是最广泛的,GAN已经可以生成超高清的逼真图像,人类已经难以分辨出这些图像是生成的还是真实的,通过这种方法可以实现图像的修复、模糊图像高清化、马赛克去除、视频生成、为其他模型提供训练数据等,除此之外,GAN还在自然语言处理、强化学习、音频视频以及安全领域大展手脚,可以看出GAN拥有巨大的研究与运用前景。

GAN可以实现传统程序难以实现的目标,如马赛克去除、图像修复、逼真图像的生成等,笔者在编写实现不同GAN变体的过程中,常常会惊叹于其提供的各种巧妙的解决方法,在感受GAN魅力的同时,也感受到了其模型底层对应的数学之美。

国内关于GAN的书很少,没有原创的书籍,笔者结合多年的开发经验,编写了本书,以帮助读者快速学习生成对抗网络。

本书特色

1.容易入门:本书会讨论线性代数、微积分、概率论、信息论等内容,尽力只提及后面内容需要的数学知识,并从原理角度去讲解这块内容,为后面篇幅做好铺垫。

2.内容更深:介绍GAN的各种变体时,除了介绍架构以外,还会讲解目标函数为何要这样设计,并从数学层面去推导证实,可以说本书比较重视不同类别GAN架构的底层思想,并从数学上表示它。

3.涉及面广:囊括了GAN的各个应用领域,包括传统GAN、DCGAN、CGAN、ColorGAN、CycleGAN、StarGAN、DTN、XGAN、WGAN、WGAN-GP、SN-GAN、StackGAN-v1、StackGAN-v2、PGGAN等10多个方向。

4.实战性强:提供了很多代码,并给出运行结果。考虑到篇幅原因,并没有将每个类别的所有代码都放上去,而是主要讲解生成器、判别器、损失定义、具体训练逻辑等主要内容。

本书内容

本书分为3个部分。

第一部分(第1~3章)介绍背景知识,包括Python的基础用法和一些进阶技巧、线性代数积分、概率论、信息率、神经网络以及优化算法以及实现自己的深度学习框架TensorPy。

第二部分(第4章和第5章)介绍GAN的基础知识,包括传统GAN的模型结构、数学原理以及TensorFlow实现方法,同时探讨为何不可以单独使用生成器或单独使用判别器进行图像生成。

第三部分(第6~11章)介绍各种GAN变体,包括DCGAN、CGAN、ColorGAN、CycleGAN、StarGAN、DTN、XGAN、WGAN、WGAN-GP、SN-GAN、StackGAN-v1、StackGAN-v2、PGGAN、InfoGAN、VAE-GAN等。

作者介绍

廖茂文:游戏AI研究员、高级工程师、中国人工智能学会高级会员。研究兴趣为自然语言处理、生成对抗网络、游戏AI,曾参与多项机器学习项目。

潘志宏:高级工程师,中山大学新华学院“百名骨干教师”,中国人工智能学会高级会员、中国计算机学会会员。研究兴趣为机器学习、深度学习、物联网。主持和参与省市级、校级项目10余项,其中主持广东省普通高校青年创新人才项目、教育部产学合作协同育人项目各一项。发表论文18篇,其中SCI、EI、北大核心期刊12篇,第一作者论文获得北大核心期刊优秀论文、东莞市计算机学会优秀论文。申请发明专利、实用新型专利共8项,其中已授权3项,获得软件著作权3项,已出版教材3部。指导学生获得国家级和省级竞赛奖项50余项,多次获得国家级和省级优秀指导教师奖。

本书读者对象

□深度学习相关程序员

□算法工程师

□人工智能开发人员

□游戏开发人员

□计算机视觉开发人员

□各类院校的学生

□其他对GAN感兴趣的各类人员