新書推薦:

《
重回1500-1800:西方崛起时代的中国元素(原沈阳故宫博物院院长武斌,五大维度再现中西文化交流的历史场景,探讨丝绸之路、大航海时代、中国知识传播等)
》
售價:HK$
140.8

《
大横断 寻找川滇藏 第2版
》
售價:HK$
261.8

《
戏语 图解中国戏曲
》
售價:HK$
140.8

《
宋朝往事系列20册
》
售價:HK$
1716.0

《
通用动力F-16“战隼”战斗机
》
售價:HK$
204.6

《
日本国志(上下册)
》
售價:HK$
184.8

《
盐铁论(全注全译全本 文白对照) 中国古代经济学奇书
》
售價:HK$
63.8

《
漫画世界航天史
》
售價:HK$
107.8
|
編輯推薦: |
《生成对抗网络GAN:从理论到PyTorch实现》为GAN的初学者顺利入门而设计的。首先,《生成对抗网络GAN:从理论到PyTorch实现》讲述生成对抗网络的基本原理,了解基本的GAN架构和原理之后,可以逐步深入研读经典论文,考虑如何解决实际问题。其次,《生成对抗网络GAN:从理论到PyTorch实现》精心选择一些生成对抗网络架构和训练方法的经典案例,读者能亲身体会如何将生成对抗网络的理论应用到实际中,加深对GAN算法的理解和编程能力的提高,逐步掌握生成对抗网络的原理和编程技能。《生成对抗网络GAN:从理论到PyTorch实现》适合生成对抗网络爱好者和PyTorch编程人员作为入门和提高的技术参考书使用,也适合用作计算机专业高年级本科生和研究生的教材或教学参考书。
|
內容簡介: |
《生成对抗网络GAN:从理论到PyTorch实现》系统地讲解了生成对抗网络(GAN)的基本原理以及PyTorch编程技术,内容较全面,可操作性强,将理论与实践相结合。读者通过理论学习和编程实践操作,可了解并掌握生成对抗网络的基本原理和PyTorch编程技能,拉近理论与实践的距离。
來源:香港大書城megBookStore,http://www.megbook.com.hk 《生成对抗网络GAN:从理论到PyTorch实现》共分8章,主要内容包括生成对抗网络介绍、简单全连接GAN、深度卷积GAN、Wasserstein GAN、条件GAN、StyleGAN、Pix2Pix、CycleGAN,涵盖了丰富多彩的生成对抗网络的原理和示例。此外,本书源码已全部在Python 3.10.9 PyTorch 1.13.1 CUDA 11.6版本上调试成功。
《生成对抗网络GAN:从理论到PyTorch实现》适合生成对抗网络爱好者和PyTorch编程人员作为入门和提高的技术参考书,也适合用作计算机专业高年级本科生和研究生的教材或教学参考书。
|
關於作者: |
袁梅宇,工学博士,硕士导师。现在昆明理工大学计算机系任教,为本科生和研究生主讲软件工程、Java程序设计、Java EE技术、数据库原理、机器学习、人工智能等多门核心课程。出版图书主要有《Java EE企业级编程开发实例详解》、《数据挖掘与机器学习——WEKA应用技术与实践》《数据挖掘与机器学习——WEKA应用技术与实践(第二版)》《求精要诀——Java EE编程开发案例精讲》《机器学习基础——原理算法与实践》《PyTorch编程技术与深度学习》。
|
目錄:
|
第1章 生成对抗网络介绍 1
1.1 生成对抗网络与PyTorch简介 2
1.1.1 生成对抗网络介绍 2
1.1.2 PyTorch介绍 5
1.2 判别模型与生成模型 6
1.3 GAN架构介绍 7
1.3.1 判别器 7
1.3.2 生成器 9
1.3.3 损失函数 11
1.3.4 GAN完整架构 13
1.4 常用数据集 15
1.4.1 MNIST数据集 15
1.4.2 Fashion-MNIST数据集 17
1.4.3 CIFAR-10数据集 18
1.4.4 CelebA数据集 21
1.4.5 Pix2Pix数据集 22
1.4.6 CycleGAN数据集 24
习题 27
第2章 简单全连接GAN 29
2.1 生成1001模式的GAN 30
2.1.1 1001模式GAN架构 30
2.1.2 数据源 30
2.1.3 判别器网络实现 31
2.1.4 生成器网络实现 34
2.1.5 训练GAN 35
2.2 生成MNIST数据的GAN 39
2.2.1 数据集 39
2.2.2 MNIST判别器 40
2.2.3 MNIST生成器 40
2.2.4 训练GAN 41
2.2.5 模式崩溃初探 46
习题 47
第3章 深度卷积GAN 49
3.1 DCGAN简介 50
3.1.1 DCGAN网络结构 50
3.1.2 卷积 52
3.1.3 反卷积 60
3.1.4 批规范化 61
3.2 DCGAN实现 63
3.2.1 加载Celeb-A数据集 63
3.2.2 生成器网络实现 65
3.2.3 判别器网络实现 66
3.2.4 DCGAN训练 67
3.2.5 运行结果展示 70
习题 74
第4章 Wasserstein GAN 75
4.1 WGAN介绍 76
4.2 WGAN基础 78
4.2.1 原始GAN的问题 78
4.2.2 Wasserstein损失 79
4.2.3 1-Lipschitz连续性限制 81
4.2.4 两种1-L连续性限制 81
4.2.5 WGAN和WGAN-GP算法 84
4.3 WGAN实现 85
4.3.1 判别器实现 86
4.3.2 生成器实现 87
4.3.3 WGAN训练 88
4.3.4 WGAN结果 90
4.4 WGAN-GP实现 91
4.4.1 判别器实现 91
4.4.2 生成器实现 92
4.4.3 损失函数实现 93
4.4.4 WGAN-GP训练 94
4.4.5 WGAN-GP结果 96
习题 97
第5章 条件GAN 99
5.1 条件GAN介绍 100
5.1.1 条件生成 100
5.1.2 可控生成 102
5.1.3 Z空间的向量运算 104
5.1.4 类别梯度上升 106
5.1.5 解耦合 107
5.2 cGAN实现 108
5.2.1 判别器网络 108
5.2.2 生成器网络 109
5.2.3 cGAN训练 111
5.2.4 cGAN结果 114
5.3 可控生成实现 115
5.3.1 定义超参数 115
5.3.2 辅助函数 116
5.3.3 判别器网络 117
5.3.4 生成器网络 118
5.3.5 网络训练 120
5.3.6 可控生成结果 121
习题 123
第6章 StyleGAN 125
6.1 StyleGAN介绍 126
6.2 StyleGAN架构 128
6.2.1 StyleGAN生成器结构 128
6.2.2 渐进式增长 129
6.2.3 噪声映射网络 131
6.2.4 样式模块AdaIN 134
6.2.5 样式混合和随机噪声 136
6.3 StyleGAN实现 139
6.3.1 加载数据集 139
6.3.2 网络层实现 140
6.3.3 判别器 144
6.3.4 生成器 146
6.3.5 模型训练 149
6.3.6 运行结果展示 152
习题 155
第7章 Pix2Pix 157
7.1 匹配图像转换 158
7.2 Pix2Pix基本原理 159
7.2.1 Pix2Pix的概念 160
7.2.2 PatchGAN 162
7.2.3 U-Net 163
7.2.4 损失函数 165
7.2.5 Pix2Pix完整框架 167
7.3 Pix2Pix编程实现 169
7.3.1 加载数据集 169
7.3.2 判别器 171
7.3.3 生成器 173
7.3.4 Pix2Pix训练 179
7.3.5 运行结果展示 181
习题 184
第8章 CycleGAN 185
8.1 非匹配图像转换 186
8.2 CycleGAN基本原理 188
8.2.1 CycleGAN面临的问题 188
8.2.2 两个GAN 189
8.2.3 CycleGAN损失函数 191
8.2.4 CycleGAN完整框架 195
8.3 CycleGAN编程实现 197
8.3.1 加载数据集 197
8.3.2 判别器 199
8.3.3 生成器 201
8.3.4 CycleGAN训练 209
8.3.5 运行结果展示 213
习题 214
参考文献 215
|
內容試閱:
|
生成对抗网络(Generative Adversarial Networks,GAN)被学术界和工业界的专家们誉为“深度学习中最重要的创新之一”。Facebook的人工智能研究主管、图灵奖得主杨立昆(Yann LeCun)甚至表示GAN及其变体是“过去20年来深度学习中最酷的想法”。GAN的创立来自“GAN之父”伊恩·古德费罗(Ian Goodfellow)的突发奇想。据说,2014年蒙特利尔大学的博士生Ian Goodfellow在一家酒吧与朋友讨论学术问题时,突然想到一种让神经网络教会机器如何生成逼真照片的AI技术,并连夜在电脑上完成GAN的代码。GAN的设计非常优雅:第一个AI尝试创造它认为的真实图像,第二个AI分析结果并尝试判断图像的真假。
至今,GAN已经在理论上突飞猛进地发展了10年,各种GAN在不同领域中的应用在遍地开花。在计算机视觉中的应用包括图像和视频的生成、图像与图像或文字之间的翻译、目标检测、语义分割等。除了图像领域,GAN 还广泛应用于文本、语音等领域。
尽管GAN技术非常吸引人,但要掌握GAN并不容易,因为学习相关知识(诸如判别器、生成器、神经网络、卷积神经网络和各种GAN理论)具有一定的难度,同时掌握PyTorch等深度学习工具也很困难。因此,一本容易上手的生成对抗网络入门图书肯定会对GAN初学者有很大的帮助,本书就是专门为初学者精心编写的。
初学者学习生成对抗网络理论与PyTorch编程技术一般都会面临三个“拦路虎”。第一个“拦路虎”是必须具备一定的深度学习理论基础知识。深度学习包含很多需要掌握的基本概念,如神经元、激活函数、全连接、Dropout、权重初始化、代价函数、批量归一化、优化算法、卷积神经网络、卷积层和池化层、残差网络、Inception网络等,学习这些概念需要花费大量的时间和精力,而且学习周期漫长。第二个“拦路虎”是生成对抗网络理论。必须阅读近10年来的很多经典论文,才能了解GAN领域的研究动态;如果无人引路,光靠一个人在黑暗中长期摸索,无疑会白白浪费很多精力。第三个“拦路虎”是GAN模型复现。众所周知,PyTorch是一个非常庞大的开源平台,拥有一个包含各种工具、库和社区资源的良好生态系统,要在短时间内掌握这些编程技能较为困难,更别说直接去复现GAN论文。比较棘手的问题在于很多经典GAN论文是使用TensorFlow或其他框架实现的,即便使用PyTorch实现,也有可能将多个功能混杂在一起,难以阅读和学习,或者仅仅因为API升级而无法运行,这对初学者来说极为不友好,因此迫切需要重新按照简单化的原则重新编码,提供专门的供学习用的复现版本。
本书就是为了让GAN的初学者顺利入门而设计的。首先,通过本书了解基本的GAN架构和原理之后,可以逐步深入研读经典论文,考虑如何解决实际问题。其次,本书精心选择一些生成对抗网络架构和训练方法的经典案例,读者能亲身体会如何将生成对抗网络的理论应用到实践中,并加深对GAN算法的理解,提高编程能力,逐步掌握生成对抗网络的原理和编程技能,拉近理论与实践的距离。
本书共分8章。第1章介绍生成对抗网络和PyTorch的基本概念,以及GAN架构和常用数据集;第2章为简单全连接GAN的基础编程,使用PyTorch来实现能生成1001模式的GAN和能生成MNIST数据的GAN;第3章为深度卷积GAN,主要内容有DCGAN简介,包括DCGAN网络结构、卷积、反卷积、批规范化的基本概念,并使用PyTorch实现一个DCGAN实例;第4章为Wasserstein GAN,主要内容包括WGAN介绍、WGAN基础、WGAN实现和WGAN-GP实现;第5章为条件GAN,首先介绍条件GAN的基本概念,包括条件生成、可控生成、Z空间的向量运算、类别梯度上升和解耦合,然后使用PyTorch分别实现cGAN和可控生成GAN;第6章为StyleGAN,首先简单介绍StyleGAN,然后讲述StyleGAN架构,包括StyleGAN生成器结构、渐进式增长、噪声映射网络、样式模块AdaIN、样式混合和随机噪声等概念,最后讲解如何使用PyTorch框架来实现StyleGAN;第7章为Pix2Pix,首先讲述匹配图像转换的概念,然后讲述PatchGAN、U-Net等基本原理,最后使用PyTorch编程实现Pix2Pix;第8章为CycleGAN,首先讲述非匹配图像转换的概念,然后讲述CycleGAN架构,最后使用PyTorch框架来编码实现CycleGAN。
由于深度学习软件更新得很快,新开发的代码在旧版本环境下不一定能够兼容运行,为便于读者参考,在此列出本书代码的开发调试环境:Python 3.10.9、PyTorch 1.13.1、CUDA 11.6、torchvision 0.14.1。本书配套源代码,读者可扫描右侧二维码进行下载。
感谢昆明理工大学提供的研究和写作环境;感谢清华大学出版社的编辑老师在出版方面提出的建设性意见和给予的无私帮助;感谢读者群的一些未见面的群友,你们对作者以前的著作提出了宝贵的建议并鼓励作者撰写更多、更好的技术类书籍,虽然我无法一一列举姓名,但你们的帮助我会一直铭记在心;最后感谢购买本书的朋友。作者在写作中付出很多精力和劳动,但限于作者的学识、能力和精力,书中难免会存在一些错误,敬请各位读者批评、指正,你们的批评与建议都会受到重视,并在将来再版中改进。
|
|