描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787302645108
《PyTorch深度学习应用实战》适合深度学习入门者、数据工程师、信息技术工作者阅读,也可作为高校计算机相关专业的教材。
《PyTorch深度学习应用实战》以统计学/数学为出发点,介绍深度学习的数理基础,讲解PyTorch的主体架构及最新的模块功能,包括常见算法与相关套件的使用方法,例如对象侦测、生成对抗网络、深度伪造、图像中的文字辨识、脸部辨识、BERT/Transformer、聊天机器人、强化学习、自动语音识别、知识图谱等。本书配有大量案例及图表说明,同时以程序设计取代定理证明,缩短学习过程,增加学习乐趣。
第1篇 深度学习导论
第 1 章 深度学习介绍 2
1-1 人工智能历经的三波浪潮 2
1-2 AI的学习地图 3
1-3 TensorFlow对比 PyTorch 5
1-4 机器学习开发流程 6
1-5 开发环境安装 7
1-6 免费云端环境开通 9
第2章 神经网络原理 12
2-1 的数学与统计知识 12
2-2 万般皆自“回归”起 13
2-3 神经网络 16
2-3-1 神经网络概念 17
2-3-2 梯度下降法 19
2-3-3 神经网络权重求解 22
第2篇 PyTorch基础篇
第 3 章 PyTorch 学习路径与主要
功能 25
3-1 PyTorch学习路径 25
3-2 张量运算 26
3-2-1 向量 26
3-2-2 矩阵 30
3-2-3 使用PyTorch 33
3-3 自动微分 36
3-4 神经网络层 43
3-5 总结 50
第 4 章 神经网络实操 51
4-1 撰写第一个神经网络程序 51
4-1-1 最简短的程序 51
4-1-2 程序强化 53
4-1-3 试验 62
4-2 模型种类 67
4-2-1 Sequential model 67
4-2-2 Functional API 68
4-3 神经层 71
4-3-1 完全连接层 72
4-3-2 Dropout Layer 72
4-4 激励函数 72
4-5 损失函数 74
4-6 优化器 75
4-7 效能衡量指标 77
4-8 超参数调校 80
第 5 章 PyTorch 进阶功能 86
5-1 数据集及数据加载器 86
5-2 TensorBoard 92
5-2-1 TensorBoard功能 92
5-2-2 测试 94
5-3 模型部署与TorchServe 99
5-3-1 自行开发网页程序 99
5-3-2 TorchServe 100
第 6 章 卷积神经网络 103
6-1 卷积神经网络简介 103
6-2 卷积 104
6-3 各种卷积 107
6-4 池化层 110
6-5 CNN模型实操 111
6-6 影像数据增强 119
6-7 可解释的AI 126
第 7 章 预先训练的模型 134
7-1 预先训练模型的简介 134
7-2 采用完整的模型 137
7-3 采用部分模型 140
7-4 转移学习 144
7-5 Batch Normalization说明 148
第3篇 进阶的影像应用
第 8 章 对象侦测 153
8-1 图像辨识模型的发展 153
8-2 滑动窗口 154
8-3 方向梯度直方图 156
8-4 R-CNN对象侦测 166
8-5 R-CNN改良 170
8-6 YOLO算法简介 176
8-7 YOLO v5测试 179
8-8 YOLO v5模型训练 181
8-9 YOLO v7测试 181
8-10 YOLO模型训练 183
8-11 SSD算法 186
8-12 对象侦测的效能衡量指标 188
8-13 总结 188
第 9 章 进阶的影像应用 189
9-1 语义分割介绍 189
9-2 自动编码器 190
9-3 语义分割实操 202
9-4 实例分割 208
9-5 风格转换—人人都可以是
毕加索 214
9-6 脸部辨识 220
9-6-1 脸部侦测 221
9-6-2 MTCNN算法 225
9-6-3 脸部追踪 230
9-6-4 脸部特征点侦测 235
9-6-5 脸部验证 240
9-7 光学文字辨识 242
9-8 车牌辨识 245
9-9 卷积神经网络的缺点 249
第 10 章 生成对抗网络 251
10-1 生成对抗网络介绍 251
10-2 生成对抗网络种类 253
10-3 DCGAN 256
10-4 Progressive GAN 264
10-5 Conditional GAN 265
10-6 Pix2Pix 269
10-7 CycleGAN 277
10-8 GAN挑战 282
10-9 深度伪造 284
第4篇 自然语言处理
第 11 章 自然语言处理的介绍 287
11-1 词袋与TF-IDF 287
11-2 词汇前置处理 290
11-3 词向量 295
11-4 GloVe模型 309
11-5 中文处理 311
11-6 spaCy套件 313
第 12 章 自然语言处理的算法 318
12-1 循环神经网络 318
12-2 PyTorch 内建文本数据集 330
12-3 长短期记忆网络 335
12-4 自定义数据集 338
12-5 时间序列预测 340
12-6 Gate Recurrent Unit 344
12-7 股价预测 346
12-8 注意力机制 349
12-9 Transformer架构 361
12-9-1 Transformer原理 361
12-9-2 Transformer效能 363
12-10 BERT 364
12-10-1 Masked LM 365
12-10-2 Next Sentence
Prediction 365
12-10-3 BERT效能微调 366
12-11 Transformers框架 368
12-11-1 Transformers框架
范例 368
12-11-2 Transformers框架效能
微调 377
12-11-3 Transformers中文
模型 382
12-11-4 后续努力 383
12-12 总结 383
第 13 章 ChatBot 384
13-1 ChatBot类别 384
13-2 ChatBot设计 385
13-3 ChatBot实操 387
13-4 ChatBot工具套件 389
13-4-1 ChatterBot实操 389
13-4-2 chatbotAI实操 392
13-4-3 Rasa实操 395
13-5 Dialogflow实操 398
13-5-1 Dialogflow基本功能 400
13-5-2 履行 405
13-5-3 整合 408
13-6 总结 410
第 14 章 语音识别 411
14-1 语音基本认识 412
14-2 语音前置处理 421
14-3 PyTorch语音前置处理 430
14-4 PyTorch内建语音数据集 439
14-5 语音深度学习应用 443
14-6 自动语音识别 454
14-7 自动语音识别实操 457
14-8 总结 457
第5篇 强化学习
第 15 章 强化学习原理及应用 460
15-1 强化学习的基础 460
15-2 强化学习模型 464
15-3 简单的强化学习架构 466
15-4 Gym套件 476
15-5 Gym扩充功能 484
15-6 动态规划 486
15-7 值循环 495
15-8 蒙特卡罗 497
15-9 时序差分 505
15-9-1 SARSA算法 506
15-9-2 Q-learning算法 510
15-10 井字游戏 513
15-11 连续型状态变量与Deep
Q-Learning算法 519
15-12 Actor Critic算法 524
15-13 实际应用案例 525
15-14 其他算法 528
15-15 总结 529
第6篇 图神经网络
第 16 章 图神经网络原理及
应用 531
16-1 图形理论 531
16-2 PyTorch Geometric 541
16-3 图神经网络 545
16-4 总结 551
为何撰写本书
笔者从事机器学习教育训练已届五年,其间也在“IT邦帮忙”撰写过上百篇的文章,从学员及读者的回馈获得许多宝贵意见,期望能将整个历程集结成册。同时,相关领域的进展也在飞速变化,过往的文章内容需要更新,因此借机再重整思绪,想一想如何能将算法的原理解释得更简易清晰,协助读者跨过AI的门槛。另外,也避免流于空谈,尽量增加应用范例,希望能达到即学即用,不要有过多理论的探讨。
AI是一个将数据转化为知识的过程,算法就是过程中的生产设备,最后产出物是模型,再将模型植入各种硬件装置,例如计算机、手机、智能音箱、自动驾驶、医疗诊断仪器等,这些装置就拥有特殊专长的智能,再进一步整合各项技术就构建出智能制造、智能金融、智能交通、智慧医疗、智能城市、智能家居等应用系统。AI的应用领域如此广阔,而个人精力有限,当然不可能具备十八般武艺,样样精通,唯有从基础扎根,再扩及有兴趣的领域。因此,笔者撰写本书的初衷非常单纯,就是希望在读者学习的过程中贡献一点微薄的力量。
PyTorch对比 TensorFlow
深度学习的初学者常会问“应该选择PyTorch还是TensorFlow框架”,依笔者个人看法,PyTorch、TensorFlow好比倚天剑与屠龙刀,各有所长,两个框架的发展方向有所不同。例如,在侦测方面PyTorch比较容易,但用TensorFlow/Keras建模、训练、预测都只要一行程序。另外,对象侦测主流算法YOLO的第4版以TensorFlow开发,第5版以后则以PyTorch开发,若我们只懂TensorFlow,那就无法使用最新版了。
PyTorch与TensorFlow的基本设计概念是相通的,采用相同的学习路径,可以同时学习两个框架。本书主要讲解PyTorch开发,另一本《深度学习全书:公式 推导 代码 TensorFlow全程案例》则以TensorFlow为主,两本对照,可以发现要兼顾学习一点也不难,还可以比较彼此的优劣。
本书主要的特点
(1)由于笔者身为统计人,希望能“以统计学/数学为出发点”,介绍深度学习 的数理基础,但又不希望内文有太多数学公式的推导,让离开校园已久的读者看到一堆数学符号就心生恐惧,因此,尝试“以程序设计取代定理证明”,缩短学习过程,增进学习乐趣。
(2) PyTorch版本迭代快速,几乎每一两个月就更新一个小版本,并且不断地推出新扩充模块,本书期望除对PyTorch主体架构做完整性的介绍外,也尽可能对最新的模块功能做深入探讨。
(3)各种算法介绍以理解为主,辅以大量图表说明,摒弃长篇大论。
(4)完整的范例程序及各种算法的延伸应用,以实用为目的,希望能触发读者灵感,能在项目或产品内应用。
(5)介绍日益普及的算法与相关套件的使用,例如YOLO(对象侦测)、GAN(生成对抗网络、DeepFake(深度伪造)、OCR(辨识图像中的文字)、脸部辨识、BERT/Transformer、聊天机器人(ChatBot)、强化学习(Reinforcement Learning)、自动语音识别(ASR) 、知识图谱(Knowledge Graph)等。
目标对象
(1)深度学习的入门者:必须熟悉Python程序语言及机器学习基本概念。
(2)数据工程师:以应用系统开发为志向,希望能应用各种算法,进行实操。
(3)信息技术工作者:希望能扩展深度学习知识领域。
(4)从事其他领域的工作,希望能一窥深度学习奥秘者。
阅读重点
第1章介绍AI的发展趋势,鉴古知今,了解前两波AI失败的原因,比较第三波发展的差异性。
第2章介绍深度学习 的统计学/数学基础,彻底理解神经网络求解的方法(梯度下降法)与原理。
第3章介绍PyTorch基础功能,包括张量(Tensor)运算、自动微分、神经层及神经网络模型。
第4章开始实操,依照机器学习10项流程,以PyTorch撰写完整的范例,包括各种损失函数、优化器、效能衡量指标。
第5章介绍PyTorch进阶功能,包括各种工具,如数据集(Dataset)、数据加载器(DataLoader)、前置处理、TensorBoard及TorchServe部署工具,包括Web、桌面程序。
第6~10章介绍图像/视频的算法及各种应用。
第11~14章介绍自然语言处理、语音及各种应用。
第15章介绍AlphaGo的基础—“强化学习”算法。
第16章介绍图神经网络(Graph Neural Network, GNN)。
本书范例程序代码及素材、参考资料请扫描下方二维码下载。
程序代码及素材 参考资料
致谢
因作者水平有限,还是有许多议题成为遗珠之憾,仍待后续的努力。感谢清华大学出版社的大力支持,使本书得以顺利出版;谢谢家人的默默支持。
书中内容如有疏漏、谬误,欢迎来信指教([email protected])。
作者
2023年10月
评论
还没有评论。