首页>参考读物>计算机科学与技术>人工智能

Python深度学习:基于PyTorch 第2版
作者 : 吴茂贵 郁明敏 杨本法 李涛 等著
出版日期 : 2023-01-15
ISBN : 978-7-111-71880-2
定价 : 109.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 408
开本 : 16
原书名 :
原出版社:
属性分类: 店面
包含CD : 无CD
绝版 : 未绝版
图书简介

这是一本能指导读者快速掌握PyTorch和深度学习的著作,从PyTorch的原理到应用,从深度学习到强化学习,本书提供了全栈解决方案。
第1版上市后销量和口碑俱佳,是深度学习领域的畅销书,被誉为PyTorch领域的标准著作。第2版在第1版的基础上,去芜存菁,与时具进,根据PyTorch新版本全面升级,技术性、实战性、针对性、丰富性、易读性均得到了进一步提升,必定能帮助读者更轻松、更高效地进入深度学习的世界。
全书一共19章,在结构上分为三大部分:
第1部分(第1~4章) PyTorch基础
首先有针对性地讲解了Python和PyTorch的基石NumPy中的关键知识,然后详细讲解了PyTorch的基础知识、神经网络工具箱和数据处理工具箱等内容,帮助读者快速了解和掌握PyTorch。
第二部分(第5~10章) 深度学习基础
依次讲解了机器学习、视觉处理、自然语言处理、注意力机制、目标检测、语义分割、生成式深度学习等机器学习和深度学习的核心技术的原理和使用。
第三部分(第11~17章) 深度学习实践
通过实战案例的方式,详细讲解了PyTorch在人脸检测和识别、迁移学习、中英文互译、图像分类、语义分割、生成式网络、对抗攻击等领域的应用和解决方案。
第四部分(第18-19章) 强化学习
重点介绍了强化学习和深度强化学习的基础理论、常用算法及相关实例。
更为重要的是,为了让本书通俗易懂,在内容安排和写作方式上也颇花了一番心思。内容选择上,广泛涉猎、重点突出、注重实战;内容安排上,实例切入、由浅入深、循序渐进;表达形式上,深度抽象、化繁为简、用图说话。

图书特色

第1版为深度学习领域畅销书,被誉为PyTorch领域标准著作
根据PyTorch新版本升级,技术性、实战性、丰富性、针对性、易读性进一步提升
从PyTorch原理到应用,从深度学习到强化学习,零基础系统掌握PyTorch深度学习

上架指导

计算机/人工智能/机器学习

封底文字

面对众多的深度学习框架,初学者应如何选择?哪个框架既易于上手,又在工业界有广泛应用?毫无疑问,PyTorch是不二之选。一方面,PyTorch天然与Python结合,大大降低了深度学习的门槛;另一方面,它的流行度仅次于TensorFlow,而且有赶超之势,但是上手难度却比TensorFlow低很多。
本书第1版出版后,短时间内受到大量关注,销量和口碑齐升,延续至今。我们收到很多读者来信,希望我们能根据PyTorch和深度学习的最新发展,对这本书的内容进行更新,于是有了这本书的第2版。“帮助读者低门槛进入深度学习领域,轻松掌握深度学习的理论知识和实践方法,快速实现从入门到进阶的转变”是这本书的核心目标。
第2版在第1版的基础上做了很多更新和补充,比如:
进一步夯实基础
补充完善了自动微分、优化算法等的理论及实例,进一步充实了卷积神经网络、循环神经网络、强化学习等内容。
增强实操性
新增很多实例,新增构建模型的多种方法,增强了项目的实战性,如添加很多优化方法、保存模型、恢复或迁移模型等内容。
新增前沿架构
新增注意力机制、目标检测和语义分割等方面的理论及实例。
总而言之,这本书在追求高质量的内容的同时,也希望读者能以一种更轻松、更简单的方式进入深度学习的世界。

作者简介

吴茂贵 郁明敏 杨本法 李涛 等著:作者简介
吴茂贵
资深大数据和人工智能技术专家,在BI、数据挖掘与分析、数据仓库、机器学习等领域工作超过20年。在基于Spark、TensorFlow、PyTorch等的机器学习和深度学习方面有大量的工程实践实践。著有《Python深度学习:基于TensorFlow》、《深度实践Spark机器学习》、《自己动手做大数据系统》、《深入浅出Embedding原理解析与应用实践》等畅销书。
郁明敏
资深商业分析师,从事互联网金融算法研究工作,专注于大数据、机器学习以及数据可视化的相关领域,擅长 Python、Hadoop、Spark 等技术,拥有丰富的实战经验。曾获“江苏省TI杯大学生电子竞技大赛”二等奖和“华为杯全国大学生数学建模大赛”二等奖。
杨本法
高级算法工程师,工业表面缺陷检测设备开发架构师,在机器学习、文本挖掘、可视化等领域有多年实践经验。做过大型电商的推荐系统,知名手机厂商外壳表面检测设备。熟悉Hadoop、Spark生态圈的相关技术,对Python有丰富的实战经验。
李涛
资深AI技术工程师,任职于携程(上海)科技有限公司,负责酒店排序推荐相关项目的数据分析和算法开发,在计算机视觉技术和搜索推荐系统有深刻的理解和丰富的实践经验。
张粤磊
国云大数据学院院长,飞谷云创始人,毕业于中国科技大学,原平安壹钱包大数据架构师。业内知名大数据专家,多部大数据畅销书作者。2016年以来每年都以高级专家和咨询顾问身份深入参与大数据、人工智能技术在行业的落地应用。

图书目录

《Python深度学习:基于PyTorch(第2版)》目录

第2版前言 XI
第2版说明 XI
读者对象 XI
如何阅读本书 XI
勘误和支持 XII
致谢 XII
第1版前言 XIII
为什么写这本书 XIII
内容选择:广泛涉猎+精讲+注重实战 XIII
内容安排:简单实例开始+循序渐进 XIV
表达形式:让图说话,一张好图胜过千言万语 XIV
本书特色 XIV
读者对象 XV
如何阅读本书 XV
勘误和支持 XV
致谢 XVI
目录 XVII
第一部分 基础篇 1
第1章 NumPy基础 2
1.1生成NumPy数组 3
1.1.1 数组属性 4
1.1.2从已有数据中创建数组 5
1.1.3利用 random 模块生成数组 6
1.1.4创建特定形状的多维数组 8
1.1.5利用 arange、linspace 函数生成数组 10
1.2读取元素 11
1.3 NumPy的算术运算 13
1.3.1遂元素操作 13
1.3.2 点积运算 15
1.4数组变形 16
1.4.1 修改数组的形状 16
1.4.2 合并数组 20
1.5 批量处理 23
1.6 节省内存 24
1.7通用函数 26
1.8 广播机制 28
1.9小结 30
第2章 PyTorch基础 31
2.1 为何选择PyTorch 31
2.2 安装配置 32
2.2.1 安装CPU版PyTorch 32
2.2.2 安装GPU版PyTorch 34
2.3 Jupyter Notebook环境配置 37
2.4 NumPy与Tensor 38
2.4.1 Tensor概述 39
2.4.2 创建Tensor 39
2.4.3 改变Tensor形状 41
2.5 Tensor与Autograd 48
2.6 使用NumPy实现机器学习 58
2.7 使用Tensor及Autograd实现机器学习 61
2.8 使用优化器及自动微分 63
2.9 把数据集转换带批量的迭代器 64
2.10 使用TensorFlow2架构实现机器学习 66
2.11 小结 68
第3章 PyTorch神经网络工具箱 69
3.1 神经网络核心组件 69
3.2 PyTorch构建神经网络的主要工具 70
3.2.1 nn.Module 71
3.2.2 nn.functional 72
3.3 构建模型 72
3.3.1 继承nn.Module基类构建模型 73
3.3.2 使用nn.Sequential按层顺序构建模型 75
3.3.3 继承nn.Module基类并应用模型容器来构建模型 78
3.3.4 自定义网络模块 82
3.4 训练模型 85
3.5实现神经网络实例 86
3.5.1背景说明 87
3.5.2准备数据 87
3.5.3可视化源数据 89
3.5.4 构建模型 89
3.5.5 训练模型 90
3.6 小结 93
第4章 PyTorch数据处理工具箱 94
4.1 数据处理工具箱概述 94
4.2 utils.data简介 95
4.3 torchvision简介 98
4.3.1 transforms 98
4.3.2 ImageFolder 99
4.4 可视化工具 101
4.4.1 tensorboard简介 101
4.4.2用tensorboard可视化神经网络 103
4.4.3用tensorboard可视化损失值 105
4.4.4用tensorboard可视化特征图 106
4.5 小结 107
第二部分 深度学习基础 108
第5 章 机器学习基础 109
5.1 机器学习的基本任务 109
5.1.1监督学习 110
5.1.2 无监督学习 110
5.1.3 半监督学习 111
5.1.4 强化学习 111
5.2 机器学习一般流程 111
5.2.1 明确目标 112
5.2.2收集数据 112
5.2.3 数据探索与预处理 113
5.2.4 选择模型及损失函数 113
5.2.5 评估及优化模型 114
5.3 过拟合与欠拟合 115
5.3.1 权重正则化 115
5.3.2 dropout正则化 117
5.3.3 批量归一化 120
5.3.4 层归一化 123
5.3.5权重初始化 123
5.4 选择合适激活函数 124
5.5 选择合适的损失函数 125
5.6 使用合适的优化器 128
5.6.1传统梯度优化的不足 128
5.6.2 批量随机梯度下降法 130
5.6.3 动量算法 131
5.6.4 Nesterov动量算法 133
5.6.5 AdaGrad算法 135
5.6.6 RMSProp算法 137
5.6.7 Adam算法 138
5.6.8 Yogi算法 140
5.6.9 使用优化算法实例 141
5.7 GPU加速 143
5.7.1 单GPU加速 144
5.7.2 多GPU加速 145
5.7.3使用GPU的注意事项 149
5.8 小结 149
第6章 视觉处理基础 150
6.1从全连接层到卷积层 150
6.1.1 图像的两个特性 151
6.1.2卷积网络概述 152
6.2卷积层 154
6.2.1 卷积核 157
6.2.3步幅 160
6.2.4 填充 161
6.2.5 多通道上的卷积 162
6.2.6激活函数 166
6.2.7卷积函数 167
6.2.8转置卷积 169
6.2.9特征图与感受野 170
6.2.10全卷积网络 171
6.3池化层 172
6.3.1局部池化 173
6.3.2全局池化 174
6.4现代经典网络 176
6.4.1 LeNet-5模型 177
6.4.2 AlexNet模型 177
6.4.3 VGG模型 178
6.4.4 GoogleNet模型 179
6.4.5 ResNet模型 181
6.4.6 DenseNet模型 182
6.4.7 胶囊网络 183
6.5 PyTorch实现CIFAR10多分类 185
6.5.1 数据集说明 185
6.5.2 加载数据 186
6.5.3 构建网络 187
6.5.4 训练模型 188
6.5.5 测试模型 190
6.5.6 采用全局平均池化 191
6.5.7像Keras一样显示各层参数 192
6.6 使用模型集成方法提升性能 195
6.6.1 使用模型 196
6.6.2 集成方法 196
6.6.3 集成效果 198
6.7使用现代经典模型提升性能 198
6.8 小结 200
第7章 自然语言处理基础 201
7.1 从语言模型到循环神经网络 201
7.1.1 链式法则 201
7.1.2 马尔可夫假设与N元语法 202
7.1.3 N元语法到隐含状态表示 203
7.1.4从神经网络到有隐含状态的循环神经网络 203
7.1.5使用循环神经网络构建语言模型 206
7.1.6多层循环神经网络 206
7.2 正向传播与随时间反向传播 207
7.3 现代循环神经网络 210
7.3.1 LSTM 211
7.3.2 GRU 211
7.3.3 Bi-RNN 212
7.4 循环神经网络的PyTorch实现 213
7.4.1 使用PyTorch实现RNN 213
7.4.2 使用PyTorch实现LSTM 217
7.4.3 使用PyTorch实现GRU 219
7.5文本数据处理 220
7.6词嵌入 221
7.7 PyTorch实现词性判别 225
7.7.1 词性判别主要步骤 225
7.7.2 数据预处理 226
7.7.3 构建网络 227
7.7.4 训练网络 228
7.7.5 测试模型 230
7.8 用LSTM预测股票行情 230
7.8.1 导入数据 230
7.8.2 数据概览 231
7.8.3 预处理数据 232
7.8.4 定义模型 234
7.8.5 训练模型 234
7.9 几种特殊结构 236
7.10循环神经网络应用场景 239
7.11 小结 240
第8章 注意力机制 242
8.1 注意力机制概述 242
8.1.1 两种常见注意力机制 242
8.1.2 来自生活的注意力 243
8.1.3 注意力机制的本质 243
8.2 带注意力机制的编码器-解码器架构 246
8.2.1 引入注意力机制 246
8.2.2 计算注意力分配值 248
8.3 Transformer架构 250
8.3.1 Transformer的顶层设计 251
8.3.2 编码器与解码器的输入 252
8.3.3 自注意力 253
8.3.4 多头注意力 258
8.3.5 自注意力与卷积网络、循环网络的异同 259
8.3.6 为加深Transformer网络层保驾护航的几种方法 261
8.3.7 如何进行自监督学习 263
8.3.8 ViT Transformer简介 264
8.3.9 Swin Transformer简介 266
8.4 使用PyTorch实现Transformer 272
8.4.1 Transformer背景介绍 273
8.4.2 构建EncoderDecoder 273
8.4.3 构建编码器 275
8.4.4 构建Decoder 278
8.4.5 构建MultiHeadedAttention 281
8.4.6 构建前馈神经网络层 284
8.4.7 预处理输入数据 285
8.4.8构建完整网络 287
8.4.9训练模型 288
8.4.10实现一个简单实例 294
8.5 小结 296
第9 章 目标检测与语义分割 297
9.1目标检测及主要挑战 297
9.2 优化候选框的几种算法 310
9.3典型的目标检测算法 316
9.4 语义分割 322
9.5 小结 324
第10章 生成式深度学习 325
10.1 用变分自编码器生成图像 325
10.2 GAN简介 332
10.3用GAN生成图像 334
10.4 VAE与GAN的异同 338
10.5 CGAN 339
10.6 DCGAN 343
10.7 提升GAN训练效果的一些技巧 345
10.8 小结 346
第三部分 深度学习实战 347
第11章 人脸检测与识别 348
11.1 人脸识别一般流程 348
11.2 人脸检测 349
11.2.1目标检测 349
11.2.2 人脸定位 350
11.2.3 人脸对齐 350
11.2.4 MTCNN算法 351
11.3特征提取 352
11.4人脸识别 358
11.4.1 人脸识别主要原理 358
11.4.2人脸识别的发展 358
11.5 使用PyTorch实现人脸检测与识别 359
11.5.1 验证检测代码 360
11.5.2 检测图像 361
11.5.3 检测后进行预处理 361
11.5.4 查看检测后的图像 362
11.5.5人脸识别 363
11.6 小结 364
第12章 迁移学习实例 365
12.1 迁移学习简介 365
12.2 特征提取 366
12.2.1 PyTorch提供的预处理模块 367
12.2.2 特征提取实例 369
12.3 数据增强 372
12.3.1 按比例缩放 372
12.3.2 裁剪 373
12.3.3翻转 373
12.3.4改变颜色 374
12.3.5组合多种增强方法 374
12.4 微调实例 375
12.4.1 数据预处理 376
12.4.2 加载预训练模型 376
12.4.3 修改分类器 377
12.4.4 选择损失函数及优化器 377
12.4.5 训练及验证模型 377
12.5 清除图像中的雾霾 378
12.6 小结 381
第13章 神经网络机器翻译实例 382
13.1 PyTorch实现注意力Decoder 382
13.1.1 构建Encoder 382
13.1.2 构建简单Decoder 383
13.1.3 构建注意力Decoder 385
13.2 用注意力机制实现中英文互译 386
13.2.1 导入需要的模块 387
13.2.2数据预处理 388
13.2.3构建模型 392
13.2.4训练模型 395
13.2.5随机采样,对模型进行测试 397
13.2.6可视化注意力 398
13.3 小结 399
第14 章 用ViT进行图像分类 400
14.1 项目概述 400
14.2 数据预处理 401
14.3 生成输入数据 403
14.4 构建Encoder模型 405
14.5 训练模型 409
14.6 小结 411
第15 章 语义分割实例 412
15.1 数据概览 412
15.2 数据预处理 413
15.3 构建模型 417
15.4 训练模型 422
15.5 测试模型 426
15.6 保存与恢复模型 427
15.7 小结 427
第16章 实战生成式模型 429
16.1 Deep Dream模型 429
16.1.1 Deep Dream原理 429
16.1.2 Deep Dream算法的流程 430
16.1.3 使用PyTorch实现Deep Dream 431
16.2 风格迁移 434
16.2.1 内容损失 435
16.2.2 风格损失 437
16.2.3 使用PyTorch实现神经网络风格迁移 439
16.3 使用PyTorch实现图像修复 445
16.4 使用PyTorch实现DiscoGAN 450
16.5 小结 458
第17章 AI新方向:对抗攻击 459
17.1对抗攻击简介 459
17.1.1白盒攻击与黑盒攻击 460
17.1.2无目标攻击与有目标攻击 460
17.2常见对抗样本生成方式 461
17.2.1快速梯度符号法 461
17.2.2快速梯度算法 462
17.3 PyTorch实现对抗攻击 462
17.3.1 实现无目标攻击 462
17.3.2 实现有目标攻击 465
17.4 对抗攻击和防御措施 466
17.4.1 对抗攻击 466
17.4.2 常见防御方法分类 467
17.5 小结 468
第18章 强化学习 469
18.1 强化学习简介 469
18.2 Q Learning 原理 472
18.3 用PyTorch实现Q Learning 475
18.4 SARSA 算法 477
18.5 小结 479
第19章 深度强化学习 480
19.1 DSN算法原理 480
19.1.1 Q-Learning方法的局限性 481
19.2 用PyTorch实现 DQN算法 485
19.3 小结 489

教学资源推荐
作者: 周昌乐 著
作者: [中] 史斌(Bin Shi) [美] S.S.艾扬格(S.S.Iyengar)著
作者: [美]梅尔亚·莫里(Mehryar Mohri) 阿夫欣·罗斯塔米扎达尔(Afshin Rostamizadeh) 阿米特·塔尔沃卡尔(Ameet Talwalkar) 著
作者: [西]何塞·曼努埃尔·戈麦斯-佩雷斯(Jose Manuel Gomez-Perez),[西]罗纳德·德诺(Ronald Denaux),[西]安德烈·加西亚-席尔瓦(Andres Garcia-Silva) 著
参考读物推荐