商品详情
内容简介
本书基于PyTorch框架介绍深度学习的有关理论和应用,以Python为实现语言。全书共分10章,内容包括深度学习的概念和发展过程、感知器、全连接神经网络、卷积神经网络、若干经典CNN预训练模型及其迁移方法、深度卷积神经网络应用案例、循环神经网络、基于预训练模型的自然语言处理、面向模型解释的深度神经网络可视化方法、多模态学习与多模态数据分类等。
本书兼顾理论与应用、原理与方法,集系统性、实用性、便捷性于一体,易于入门,实例丰富,所有代码全部经过调试和运行。此外,每一章后面都配有适量的习题,供教学和学习参考使用。
本书可作为各类高等学校人工智能和计算机相关专业的“人工智能”或“机器学习”课程的教材,也可作为人工智能、深度学习爱好者和初学者的自学教材,以及从事人工智能课题研究和应用开发人员的参考用书。
编辑推荐
本书基于PyTorch框架介绍深度学习的有关理论和应用,以Python为实现语言,兼顾理论与应用、原理与方法,集系统性、实用性、便捷性和易入门性于一身,实例丰富,所有代码全部经过调试和运行。
目录
第1章绪论与PyTorch基础/1
1.1人工智能与神经网络1
1.2深度学习2
1.2.1什么是深度学习2
1.2.2深度学习的发展过程3
1.2.3深度学习的基础网络4
1.3建立PyTorch的开发环境4
1.3.1Anaconda与Python的安装4
1.3.2PyCharm和PyTorch的安装5
1.3.3PyTorch的Hello World程序6
1.4张量基础7
1.4.1张量的定义及其物理含义7
1.4.2张量的切片操作10
1.4.3面向张量的数学函数13
1.4.4张量的变形16
1.4.5张量的常用运算17
1.4.6张量的广播机制21
1.4.7梯度的自动计算22
1.4.8张量与其他对象的相互转换23
1.4.9张量的拼接24
1.5初识PyTorch框架25
1.5.1一个简单的网络模型25
1.5.2访问网络模型的各个网络层27
1.5.3访问模型参数及模型保存和加载方法29
1.6本章小结30
1.7习题31
第2章感知器——神经元/32
2.1感知器的定义32
2.2激活函数33
2.3感知器的训练34
2.3.1监督学习和无监督学习34
2.3.2面向回归问题的训练方法35
2.3.3面向分类问题的训练方法43
2.4使用PyTorch框架46
2.4.1PyTorch框架的作用47
2.4.2使用PyTorch框架实现感知器47
2.5本章小结52
2.6习题53
第3章全连接神经网络/54
3.1构建一个简单的全连接神经网络——解决二分类问题54
3.1.1一个简单全连接神经网络的构建和训练54
3.1.2程序代码解释及网络层的构建方法56
3.2全连接神经网络的构造方法59
3.2.1网络层的定义59
3.2.2网络结构的实现60
3.2.3从网络结构判断网络的功能62
3.3几种主流的损失函数62
3.3.1nn.CrossEntropyLoss()和nn.NLLLoss()函数63
3.3.2nn.MSELoss()函数66
3.3.3nn.BCELoss()和nn.BCEWithLogitsLoss()函数66
3.3.4nn.L1Loss()函数67
3.4网络模型的训练与测试68
3.4.1数据集分割68
3.4.2数据打包69
3.4.3网络模型的训练方法70
3.4.4梯度累加的训练方法71
3.4.5学习率衰减在训练中的应用72
3.4.6网络模型的测试74
3.4.7应用案例——波士顿房价预测76
3.5正向计算和反向梯度传播的理论分析81
3.5.1正向计算81
3.5.2梯度反向传播与参数更新85
3.6本章小结89
3.7习题90
第4章卷积神经网络/91
4.1一个简单的卷积神经网络——手写数字识别91
4.1.1程序代码91
4.1.2代码解释94
4.2卷积神经网络的主要操作96
4.2.1单通道卷积96
4.2.2多通道卷积100
4.2.3卷积操作的PyTorch代码实现103
4.2.4池化操作及其PyTorch代码实现105
4.2.5relu()激活函数及其应用107
4.2.6感受野109
4.3卷积神经网络的设计方法109
4.3.1基本设计原则109
4.3.2网络结构查看和参数量计算110
4.3.3一个猫狗图像分类示例111
4.4过拟合及其解决方法116
4.5本章小结117
4.6习题117
第5章若干经典CNN预训练模型及其迁移方法/119
5.1一个使用VGG16的图像识别程序119
5.1.1程序代码119
5.1.2代码解释122
5.2经典卷积神经网络的结构124
5.2.1卷积神经网络的发展过程124
5.2.2AlexNet网络125
5.2.3VGGNet网络126
5.2.4GoogLeNet网络与1×1卷积核128
5.2.5ResNet网络130
5.2.6EfficientNet网络131
5.3预训练模型的迁移方法132
5.3.1预训练网络迁移的基本原理132
5.3.2VGG16的迁移案例133
5.3.3GoogLeNet的迁移案例136
5.3.4ResNet的迁移案例140
5.3.5EfficientNet的迁移案例142
5.4本章小结145
5.5习题145
第6章深度卷积神经网络的应用案例/146
6.1人脸识别146
6.1.1人脸识别的设计思路146
6.1.2人脸识别程序147
6.2语义分割152
6.2.1从零开始构建语义分割网络152
6.2.2使用预训练模型构建语义分割网络160
6.3目标检测161
6.3.1从零开始构建目标检测网络161
6.3.2使用Fasterrcnn构建目标检测网络165
6.4生成对抗网络172
6.4.1生成手写数字图片173
6.4.2生成花卉图片176
6.4.3条件性生成对抗网络179
6.5本章小结182
6.6习题182
第7章循环神经网络/183
7.1一个简单的循环神经网络——航空旅客出行人数预测183
7.1.1程序代码183
7.1.2代码解释187
7.2循环神经网络应用188
7.2.1循环神经网络的基本结构188
7.2.2从“零”开始构建一个循环神经网络190
7.3长短时记忆网络(LSTM)192
7.3.1LSTM的结构和特点192
7.3.2LSTM的使用方法195
7.3.3深度循环神经网络199
7.3.4双向循环神经网络199
7.3.5LSTM的变体——GRU200
7.4文本的表示201
7.4.1词的独热表示201
7.4.2Word2Vec词向量202
7.4.3词嵌入表示202
7.5基于LSTM的文本分类206
7.6基于LSTM的文本生成210
7.6.1语言模型与文本生成210
7.6.2类不平衡问题211
7.6.3文本生成案例212
7.7本章小结216
7.8习题216
第8章基于预训练模型的自然语言处理/217
8.1Seq2Seq结构与注意力机制217
8.1.1Seq2Seq结构217
8.1.2注意力机制221
8.2Transformer及其在NLP中的应用225
8.2.1Transformer中的注意力机制225
8.2.2Transformer的结构226
8.2.3Transformer的位置编码与嵌入226
8.2.4Transformer的使用方法229
8.2.5Transformer应用案例232
8.3BERT及其在NLP中的应用238
8.3.1关于BERT238
8.3.2BERT的使用方法240
8.3.3基于BERT的文本分类243
8.3.4基于BERT的阅读理解247
8.4基于GPT的文本生成254
8.4.1关于GPT254
8.4.2使用GPT2生成英文文本——直接使用255
8.4.3使用GPT2生成中文文本——微调方法256
8.5视觉Transformer(ViT)260
8.5.1关于ViT260
8.5.2ViT预训练模型的使用方法260
8.5.3基于ViT的图像分类262
8.6ChatGPT及其使用方法264
8.6.1关于ChatGPT264
8.6.2ChatGPT的使用方法266
8.7本章小结269
8.8习题269
第9章面向解释的深度神经网络可视化方法/270
9.1CNN各网络层输出的可视化270
9.2CNN模型决策原因的可视化方法274
9.2.1基于类别权重的类激活图(CAM)274
9.2.2基于梯度的类激活图(CAM)277
9.3面向NLP任务的可视化方法281
9.3.1NLP任务中注意力机制可视化的一般方法281
9.3.2自注意力机制的可视化282
9.4本章小结284
9.5习题285
第10章多模态学习与多模态数据分类/286
10.1多模态学习286
10.1.1多模态学习的发展过程286
10.1.2多模态学习的主要任务287
10.2多模态数据分类288
10.2.1文本特征提取方法289
10.2.2图像特征提取方法289
10.2.3多模态数据融合方法289
10.3多模态数据分类案例291
10.4本章小结296
10.5习题297
参考文献/298
- 清华大学出版社旗舰店 (微信公众号认证)
- 扫描二维码,访问我们的微信店铺
- 随时随地的购物、客服咨询、查询订单和物流...