生成对抗网络项目实战
上QQ阅读APP看书,第一时间看更新

本书内容

第1章,生成对抗网络简介。这一章首先介绍GAN相关概念,包括判别网络、生成网络、博弈论等。然后介绍生成网络和判别网络的架构与目标函数、GAN的训练算法、Kullback-Leibler散度和Jensen-Shannon散度、GAN的评估矩阵、GAN存在的各种问题、梯度消失和梯度爆炸问题、纳什均衡、批归一化,以及GAN正则化。

第2章,使用3D-GAN生成图形。这一章简单介绍3D-GAN和其架构细节。这一章会训练一个可以生成现实世界3D图形的3D-GAN。编写代码获取3D ShapeNets数据集,进行数据清洗和训练预处理后,使用深度学习库Keras构建3D-GAN模型。

第3章,使用cGAN实现人脸老化。这一章介绍cGAN(conditional generative adversarial network,条件生成对抗网络)和Age-cGAN。首先介绍数据准备过程,包括数据下载、数据清洗以及数据格式处理。届时会用到IMDb Wiki Images数据集。然后编写代码,使用Keras框架构建一个Age-cGAN模型,并在IMDb Wiki Images数据集上进行训练。最后,用训练好的模型生成图片,只需输入年龄作为参数,模型就可以生成一个人在不同年龄的面部图像。

第4章,使用DCGAN生成动画人物。这一章首先介绍DCGAN以及数据准备过程,包括获取动画人物的数据集、数据清洗以及训练预处理。我们会在Jupyter Notebook内使用Keras构建一个DCGAN模型。然后介绍训练DCGAN的各种技术,以及超参数调优。最后使用训练好的模型生成动画人物,并讨论DCGAN的实际应用。

第5章,使用SRGAN生成逼真图像。这一章介绍如何训练SRGAN生成逼真图像。训练流程的第一步是收集数据集,然后是数据清洗和数据格式处理。这一章会介绍如何收集数据集、清洗数据,以及将数据处理成训练所需的格式。

第6章,StackGAN:基于文本合成逼真图像。这一章首先介绍StackGAN,然后介绍如何收集数据集、清理数据以及转换数据格式。数据准备好后,在Jupyter Notebook内编写代码用Keras构建StackGAN,并在CUB数据集上训练该模型。训练好的模型可以基于文本生成逼真图像。最后讨论StackGAN在行业中的应用,以及在生产环境中的部署。

第7章,使用CycleGAN将绘画转换为照片。这一章介绍如何训练一个CycleGAN模型将绘画转换为照片。首先介绍CycleGAN及其各种用法,然后讲解数据收集、数据清洗和数据格式处理的各种技术,接着在Jupyter Notebook内使用Keras构建CycleGAN,并在预备好的数据集上训练CycleGAN模型,之后检验模型将绘画转换为照片的水平,最后介绍CycleGAN的实际应用。

第8章,使用cGAN实现图像对图像变换。这一章介绍如何训练cGAN来实现图像对图像变换。首先介绍cGAN和各种数据处理技术,包括数据收集、数据清洗和数据格式处理,接着在Jupyter Notebook内使用Keras构建cGAN,然后介绍如何在预备好的数据集上训练cGAN。训练中会尝试不同的超参数。最后测试cGAN,并讨论图像对图像变换的实际应用。

第9章,预测GAN的未来。介绍过GAN的基本原理并且完成了7个项目之后,最后这一章来预测GAN的前景:首先介绍近几年GAN应用所取得的成就和受欢迎程度,然后谈一下我对GAN未来的看法。