新書推薦:
《
不被他人左右:基于阿德勒心理学的无压力工作法
》
售價:HK$
66.1
《
SDGSAT-1卫星热红外影像图集
》
售價:HK$
445.8
《
股市趋势技术分析(原书第11版)
》
售價:HK$
221.8
《
汉匈战争全史
》
售價:HK$
99.7
《
恶的哲学研究(社会思想丛书)
》
售價:HK$
109.8
《
不止江湖
》
售價:HK$
98.6
《
天才留步!——从文艺复兴到新艺术运动(一本关于艺术天才的鲜活故事集,聚焦艺术史的高光时刻!)
》
售價:HK$
154.6
《
双城史
》
售價:HK$
110.9
|
編輯推薦: |
通过经典项目入门 PyTorch,通过前沿项目提升 PyTorch,基于PyTorch玩转深度学习。
|
內容簡介: |
PyTorch 是基于 Torch 库的开源机器学习库,它主要由 Meta(原 Facebook)的人工智能研究实验室开发,在自然语言处理和计算机视觉领域都具有广泛的应用。《PyTorch教程:21个项目玩转PyTorch实战》介绍了简单且经典的入门项目,方便快速上手,如 MNIST数字识别,读者在完成项目的过程中可以了解数据集、模型和训练等基础概念。《PyTorch教程:21个项目玩转PyTorch实战》还介绍了一些实用且经典的模型,如 R-CNN 模型,通过这个模型的学习,读者可以对目标检测任务有一个基本的认识,对于基本的网络结构原理有一定的了解。另外,《PyTorch教程:21个项目玩转PyTorch实战》对于当前比较热门的生成对抗网络和强化学习也有一定的介绍,方便读者拓宽视野,掌握前沿方向。
《PyTorch教程:21个项目玩转PyTorch实战》适合人工智能、机器学习、深度学习方面的人员阅读,也适合其他 IT 方面从业者,另外,还可以作为相关专业的教材。
|
關於作者: |
王飞,2019年翻译了PyTorch官方文档,读研期间研究方向为自然语言处理,主要是中文分词、文本分类和数据挖掘。目前在教育行业工作,探索人工智能技术在教育中的应用。
何健伟,曾任香港大学研究员,研究方向为自然语言处理,目前从事大规模推荐算法架构研究工作。
林宏彬,硕士期间研究方向为自然语言处理,现任阿里巴巴算法工程师,目前从事广告推荐领域的算法研究工作。
史周安,软件工程硕士,人工智能技术爱好者、实践者与探索者。目前从事弱监督学习、迁移学习与医学图像相关工作。
|
目錄:
|
第1章 ?数字识别
1.1 MNIST数据集2
1.1.1 MNIST 数据集简介2
1.1.2 导入数据集3
1.2 构建模型4
1.2.1 定义神经网络4
1.2.2 前向传播6
1.2.3 计算损失7
1.2.4 反向传播与更新参数8
1.3 开始训练8
1.4 观察模型预测结果9
1.5 总结11
第2章 ?ImageNet图像识别模型与CIFAR-10
2.1 图像分类器13
2.1.1 CIFAR-10数据集简介13
2.1.2 加载数据集14
2.1.3 定义卷积神经网络15
2.1.4 定义损失函数和优化器16
2.1.5 训练网络16
2.1.6 使用测试集评估17
2.1.7 使用GPU加速19
2.2 ImageNet和图像识别模型20
2.2.1 ImageNet20
2.2.2 基于 ImageNet 的图像识别模型20
2.3 总结22
第3章 ?从零构建图像分类模型
3.1 预训练模型原理24
3.1.1 状态字典24
3.1.2 通过设备保存25
3.2 加载ImageNet预训练模型25
3.3 准备数据27
3.3.1 加载数据集28
3.3.2 使用matplotlib可视化数据29
3.4 开始训练29
3.5 使用torchvision微调模型31
3.6 观察模型预测结果31
3.7 固定模型的参数33
3.8 使用tensorbord可视化训练情况34
3.9 总结35
第4章 ?文本生成
4.1 RNN原理及其结构37
4.1.1 经典RNN结构37
4.1.2 N VS 1 式RNN结构38
4.1.3 1 VS N RNN结构39
4.1.4 N VS M RNN结构39
4.2 明确任务39
4.3 准备数据40
4.4 构建模型44
4.5 开始训练45
4.6 观察交互结果47
4.7 总结49
第5章 ?目标检测和实例分割
5.1 快速了解目标检测51
5.1.1 评估方法51
5.1.2 直观方法 51
5.2 R-CNN系列模型的原理53
5.2.1 R-CNN原理53
5.2.2 Fast R-CNN原理54
5.2.3 Faster R-CNN原理56
5.2.4 Mask R-CNN原理58
5.3 使用torchvison微调模型58
5.3.1 使用Penn-Fudan数据集58
5.3.2 搭建目标检测模型61
5.3.3 下载必要的工具文件62
5.3.4 改造模型以适应新的数据集62
5.3.5 调用工具文件训练模型64
5.3.6 评估和测试模型66
5.4 总结68
第6章 ?人脸检测与识别
6.1 模型介绍70
6.2 facenet-pytorch库70
6.3 预训练模型71
6.4 总结74
第7章 ?利用DCGAN生成假脸
7.1 GAN及其原理76
7.2 DCGAN简介77
7.3 实现一个假脸生成模型78
7.3.1 模型设定78
7.3.2 人脸数据集79
7.3.3 实现生成器81
7.3.4 实现判别器83
7.3.5 损失函数和优化器85
7.4 训练假脸生成模型85
7.4.1 训练的整体流程86
7.4.2 更新判别器87
7.4.3 更新生成器88
7.5 可视化结果89
7.6 总结91
第8章 ?pix2pix为黑白图片上色
8.1 带约束的生成对抗网络93
8.2 pix2pix的原理94
8.3 实现图到图翻译模型95
8.3.1 Facade数据集97
8.3.2 U-Net作为生成器100
8.3.3 PatchGAN作为判别器103
8.4 训练判别器和生成器105
8.4.1 更新判别器107
8.4.2 更新生成器108
8.5 根据立面结构生成房屋图片109
8.6 黑白图片自动上色110
8.7 总结111
第9章 ?Neural-Style与图像风格迁移
9.1 理解图像风格迁移算法113
9.1.1 传统风格迁移113
9.1.2 Neural-Style算法原理114
9.2 加载图像116
9.3 定义损失模块118
9.3.1 内容损失模块118
9.3.2 风格损失模块119
9.4 导入预训练模型120
9.5 使用L-BFGS进行梯度下降123
9.6 训练自己的风格124
9.7 总结126
第10章 ?对抗机器学习和欺骗模型
10.1 模型的潜在威胁128
10.2 快速梯度符号法128
10.3 攻击一个图像识别模型129
10.3.1 被攻击的模型129
10.3.2 FGSM算法131
10.4 开始攻击131
10.4.1 攻击流程132
10.4.2 攻击结果133
10.5 总结136
第11章 ?word2vec与词向量
11.1 词嵌入作用138
11.2 词嵌入原理139
11.2.1 CBOW实现139
11.2.2 Skip-Gram实现140
11.3 在PyTorch中实现词嵌入141
11.3.1 数据准备141
11.3.2 构造模型143
11.3.3 训练模型143
11.3.4 可视化144
11.4 工具包word2vec结合中文词嵌入146
11.4.1 word2vec使用146
11.4.2 中文词嵌入147
11.5 总结147
第12章 ?命名实体识别
12.1 NER背景介绍149
12.2 LSTM149
12.2.1 LSTM原理150
12.2.2 在PyTorch中使用LSTM152
12.3 CRF155
12.3.1 发射分数和转移分数156
12.3.2 损失函数157
12.3.3 预测158
12.4 构建模型158
12.4.1 模型结构158
12.4.2 模型代码159
12.5 开始训练162
12.6 总结164
第13章 ?基于AG_NEWS的文本分类
13.1 数据预处理166
13.1.1 原始数据迭代器166
13.1.2 数据处理166
13.2 准备模型168
13.2.1 初始化一个实例169
13.2.2 定义函数训练和评估模型169
13.3 训练模型170
13.4 评估和测试模型173
13.4.1 评估模型173
13.4.2 随机新闻测试173
13.5 总结174
第14章 ?基于 BERT 的文本分类
14.1 transformers数据处理 176
14.1.1 加载预训练的序列化工具176
14.1.2 基本用法177
14.2 微调预训练模型178
14.2.1 数据集介绍和处理178
14.2.2 导入模型179
14.2.3 定义训练器180
14.3 总结181
第15章 ?文本翻译
15.1 Seq2Seq网络183
15.2 注意力机制Attention184
15.3 准备数据185
15.4 构建模型189
15.4.1 编码器190
15.4.2 解码器191
15.4.3 注意力机制解码器192
15.5 开始训练193
15.5.1 准备训练数据194
15.5.2 训练技巧Teacher Forcing194
15.5.3 训练模型194
15.6 观察模型效果198
15.6.1 评估模型198
15.6.2 可视化注意力201
15.7 总结203
第16章 ?文本阅读理解
16.1 阅读理解任务介绍205
16.2 模型实现205
16.3 总结208
第17章 ?为图像添加文本描述
17.1 编码器-解码器架构210
17.2 Image Caption模型210
17.2.1 神经图像字幕生成器210
17.2.2 加入注意力机制211
17.3 中文图像字幕数据集212
17.3.1 数据结构212
17.3.2 构建词典213
17.3.3 构建数据集215
17.4 构建Image Caption模型218
17.4.1 编码器218
17.4.2 解码器219
17.4.3 注意力层222
17.5 模型训练和评估223
17.5.1 训练编码器和解码器223
17.5.2 计算BLEU指标225
17.5.3 可视化结果225
17.6 总结226
第18章 ?聊天机器人
18.1 准备数据228
18.1.1 数据预处理228
18.1.2 为模型准备数据230
18.2 构建模型235
18.2.1 Encoder236
18.2.2 Decoder237
18.3 训练准备239
18.4 评估模型243
18.5 训练模型245
18.6 总结247
第19章 ?CycleGAN 模型
19.1 CycleGAN模型架构249
19.2 CycleGAN 模型的应用249
19.2.1 安装依赖包249
19.2.2 准备数据集250
19.2.3 预训练模型251
19.2.4 训练模型252
19.2.5 测试模型253
19.2.6 结果可视化253
19.3 总结254
第20章 ?图像超分辨率与ESPCN
20.1 理解图像超分辨率和ESPCN算法256
20.1.1 图像超分辨率背景介绍256
20.1.2 ESPCN算法原理257
20.2 制作数据集260
20.3 构建ESPCN模型263
20.4 训练ESPCN模型264
20.5 测试ESPCN模型268
20.6 总结270
第21章 ?强化学习
21.1 任务准备272
21.1.1 任务说明272
21.1.2 需要的包272
21.2 记忆重放273
21.3 DQN算法274
21.3.1 Q-Learning算法274
21.3.2 Q-Net模型275
21.3.3 抓取输入图像
(获得状态表示)276
21.3.4 超参数设置和工具函数277
21.3.5 训练模型279
21.4 总结282
|
內容試閱:
|
写作背景
2018 年,当大部分人还在用 TensorFlow 框架时,我们开始尝试使用 PyTorch,并发现PyTorch 更加简洁易用。在使用的过程中,没有找到太多的中文资料,于是比较早地翻译了官方文档并分享在 PyTorch123 网站上。这份文档至今仍是很多初学者使用的入门文档,在开源社区 GitHub 上是比较热门的官方文档翻译之一。
现在,有越来越多的研究人员开始使用 PyTorch 框架,所以,一本方便初学者快速入门的书就非常有必要了。因此,笔者创作了本书,希望能对读者有所帮助和提高。
主要内容
在编写本书时,我们结合读研期间的一些科研经历和毕业之后的一些工作经验,做了以下工作:首先,选取了经典的框架,方便读者了解基础概念;其次,选择了计算机视觉和自然语言处理的热门任务,方便读者了解这些任务的模型及代码的实现;最后,为了拓展学习,加入了比较热门的生成对抗网络和强化学习的内容。由于作者能力有限,书中如有不当之处,还请各位读者不吝赐教。
开发环境
为了方便读者的学习和使用,书中的代码运行环境都进行了说明,主要为 Python 3.6、 PyTorch 1.4 和 torchvision 0.5.0。建议读者采用 Docker 来部署运行环境,比较方便快捷。
本书阅读对象
(1)人工智能方向的研究生;
(2)对深度学习感兴趣的学生;
(3)想要学习深度学习框架的其他 IT 从业者。
致谢
感谢伍颖妍参与翻译了官方文档,感谢练其炎和关雨呈参与本书部分章节的撰写工作。
|
|