《神经网络与深度学习:案例与实践》邱锡鹏 | PDF下载|ePub下载
类别: 科技
作者:
邱锡鹏
/
飞桨教材编写组
出版社: 机械工业出版社
出版年: 2022-7
页数: 321
定价: 99.00
装帧: 平装
丛书: 人工智能技术丛书
ISBN: 9787111711971
出版社: 机械工业出版社
出版年: 2022-7
页数: 321
定价: 99.00
装帧: 平装
丛书: 人工智能技术丛书
ISBN: 9787111711971
内容简介 · · · · · ·
本书是《神经网络与深度学习》(蒲公英书)的配套实践书,由复旦大学邱锡鹏教授和百度飞桨团队合作完成。本书在章节设计上和《神经网络与深度学习》一一对应,并以模型解读+案例实践的形式进行介绍。模型解读主要聚焦如何从零开始一步步实现深度学习中的各种模型和算法,并结合简单的任务来加深读者对模型和算法的理解;案例实践主要强调如何使用飞桨预定义API来更好地完成实际任务,会涉及一些数据预处理问题。建议读者将本书和《神经网络与深度学习》结合阅读,在动手实践中更深入地理解深度学习的模型和原理。
作者简介 · · · · · ·
邱锡鹏
复旦大学计算机学院教授,国家优青获得者,主要从事自然语言处理、深度学习等方向的研究,发表CCF A/B类论文70余篇,获得ACL 2017杰出论文奖(CCF A类)、CCL 2019最佳论文奖、《中国科学:技术科学》2021年度高影响力论文奖,多篇论文入选PaperDigest发布的IJCAI/ACL/EMNLP的最有影响力论文,主持开发了开源框架FudanNLP和FastNLP,这两个框架已被国内外数百家单位使用。2015年入选首届中国科协青年人才托举工程,2018年获钱伟长中文信息处理科学技术奖青年创新奖,2020年获第四届上海高校青年教师教学竞赛优等奖,2021年获首届上海市计算机学会教学成果奖一等奖(第一完成人)。培养学生多次获得一级学会优博、微软学者、百度奖学金等。
飞桨教材编写组
成员包括:
安梦涛、毕然、迟恺、程军、吕健、李鹏、刘其文、林天扬、马艳军、文灿、吴高升、吴蕾、汪庆辉、吴甜、徐彤彤、于佃海、张翰迪、张一超、张亚娴
目录 · · · · · ·
序
前言
第1章实践基础1
1.1如何运行本书的代码……………………………..2
1.1.1本地运行……………………………….2
1.1.2代码下载与使用方法…………………………3
1.1.3在线运行……………………………….4
1.2张量……………………………………..6
1.2.1创建张量……………………………….6
1.2.2张量的属性………………………………9
1.2.3张量与Numpy数组转换……………………….13
1.2.4张量的访问………………………………13
1.2.5张量的运算………………………………16
1.3算子……………………………………..20
1.3.1算子定义……………………………….21
1.3.2自动微分机制…………………………….25
1.3.3预定义的算子…………………………….27
1.3.4本书中实现的算子…………………………..27
1.3.5本书中实现的优化器…………………………29
1.4本书中使用的数据集和实现的Dataset类……………………29
1.4.1数据集………………………………..29
1.4.2Dataset类………………………………31
1.5本书中实现的Runner类……………………………31
1.6小结……………………………………..32
第2章机器学习概述33
2.1机器学习实践五要素……………………………..34
2.1.1数据………………………………….35
2.1.2模型………………………………….36
2.1.3学习准则……………………………….36
2.1.4优化算法……………………………….37
2.1.5评价指标……………………………….37
2.2实现一个简单的线性回归模型…………………………38
2.2.1数据集构建………………………………38
2.2.2模型构建……………………………….40
2.2.3损失函数……………………………….42
2.2.4优化器………………………………..43
2.2.5模型训练……………………………….45
2.2.6模型评价……………………………….45
2.3多项式回归………………………………….46
2.3.1数据集构建:ToySin25…………………………46
2.3.2模型构建……………………………….48
2.3.3模型训练……………………………….49
2.3.4模型评价……………………………….50
2.3.5通过引入正则化项来缓解过拟合……………………52
2.4构建Runner类………………………………..53
2.5实践:基于线性回归的波士顿房价预测…………………….55
2.5.1数据处理……………………………….55
2.5.2模型构建……………………………….62
2.5.3完善Runner类:RunnerV1………………………62
2.5.4模型训练……………………………….63
2.5.5模型评价……………………………….64
2.5.6模型预测……………………………….64
2.6小结……………………………………..65
第3章线性分类67
3.1基于Logistic回归的二分类任务………………………..68
3.1.1数据集构建………………………………69
3.1.2模型构建……………………………….71
3.1.3损失函数……………………………….73
3.1.4模型优化……………………………….74
3.1.5评价指标……………………………….77
3.1.6完善Runner类:RunnerV2………………………77
3.1.7模型训练……………………………….80
3.1.8模型评价……………………………….82
3.2基于Softmax回归的多分类任务……………………….82
3.2.1数据集构建………………………………83
3.2.2模型构建……………………………….86
3.2.3损失函数……………………………….88
第3章线性分类67
3.1基于Logistic回归的二分类任务………………………..68
3.1.1数据集构建………………………………69
3.1.2模型构建……………………………….71
3.1.3损失函数……………………………….73
3.1.4模型优化……………………………….74
3.1.5评价指标……………………………….77
3.1.6完善Runner类:RunnerV2………………………77
3.1.7模型训练……………………………….80
3.1.8模型评价……………………………….82
3.2基于Softmax回归的多分类任务……………………….82
3.2.1数据集构建………………………………83
3.2.2模型构建……………………………….86
3.2.3损失函数……………………………….88
3.2.4模型优化……………………………….89
3.2.5模型训练……………………………….91
3.2.6模型评价……………………………….92
3.3实践:基于Softmax回归完成鸢尾花分类任务…………………92
3.3.1数据处理……………………………….93
3.3.2模型构建……………………………….95
3.3.3模型训练……………………………….96
3.3.4模型评价……………………………….96
3.3.5模型预测……………………………….97
3.4小结……………………………………..97
第4章前馈神经网络994.1神经元…………………………………….99
4.1.1净活性值……………………………….100
4.1.2激活函数……………………………….101
4.2基于前馈神经网络的二分类任务……………………….104
4.2.1数据集构建………………………………105
4.2.2模型构建……………………………….105
4.2.3损失函数……………………………….108
4.2.4模型优化……………………………….109
4.2.5完善Runner类:RunnerV2_1……………………..115
4.2.6模型训练……………………………….117
4.2.7模型评价……………………………….118
4.3自动梯度计算和预定义算子………………………….119
4.3.1利用预定义算子重新实现前馈神经网络………………..119
4.3.2完善Runner类:RunnerV2_2……………………..120
4.3.3模型训练……………………………….122
4.3.4模型评价……………………………….124
4.4优化问题…………………………………..124
4.4.1参数初始化………………………………124
4.4.2梯度消失问题…………………………….126
4.4.3死亡ReLU问题……………………………129
4.5实践:基于前馈神经网络完成鸢尾花分类任务…………………130
4.5.1小批量梯度下降法…………………………..130
4.5.2数据处理……………………………….132
4.5.3模型构建……………………………….133
4.5.4完善Runner类:RunnerV3………………………135
4.5.5模型训练……………………………….140
4.5.6模型评价……………………………….142
4.5.7模型预测……………………………….142
第5章卷积神经网络145
5.1卷积……………………………………..146
5.1.1二维卷积运算…………………………….146
5.1.2二维卷积算子…………………………….147
5.1.3卷积的变种………………………………148
5.1.4带步长和零填充的二维卷积算子……………………149
5.1.5使用卷积运算完成图像边缘检测任务…………………151
5.2卷积神经网络的基础算子…………………………..152
5.2.1卷积层算子………………………………152
5.2.2汇聚层算子………………………………156
5.3基于LeNet实现手写体数字识别任务……………………..157
5.3.1数据集构建………………………………158
5.3.2模型构建……………………………….161
5.3.3模型训练……………………………….164
5.3.4模型评价……………………………….165
5.3.5模型预测……………………………….165
5.4基于残差网络的手写体数字识别……………………….166
5.4.1模型构建……………………………….167
5.4.2没有残差连接的ResNet18………………………173
5.4.3带残差连接的ResNet18………………………..174
5.5实践:基于ResNet18网络完成图像分类任务………………….175
5.5.1数据处理……………………………….176
5.5.2模型构建……………………………….179
5.5.3模型训练……………………………….179
5.5.4模型评价……………………………….181
5.5.5模型预测……………………………….181
5.6小结……………………………………..182
第6章循环神经网络183
6.1循环神经网络的记忆能力实验…………………………184
6.1.1数据集构建………………………………185
6.1.2模型构建……………………………….189
6.1.3模型训练……………………………….194
6.1.4模型评价……………………………….196
6.2梯度爆炸实验…………………………………196
6.2.1梯度打印函数…………………………….197
6.2.2复现梯度爆炸问题…………………………..197
6.2.3使用梯度截断解决梯度爆炸问题……………………199
6.3LSTM的记忆能力实验…………………………….200
6.3.1模型构建……………………………….202
6.3.2模型训练……………………………….204
6.3.3模型评价……………………………….206
6.4实践:基于双向LSTM模型完成文本分类任务…………………207
6.4.1数据处理……………………………….207
6.4.2模型构建……………………………….212
6.4.3模型训练……………………………….214
6.4.4模型评价……………………………….215
6.4.5模型预测……………………………….216
6.5小结……………………………………..216
第7章网络优化与正则化217
7.1小批量梯度下降法………………………………218
7.2批大小的调整实验………………………………218
7.3不同优化算法的比较分析…………………………..221
7.3.1优化算法的实验设定…………………………222
7.3.2学习率调整………………………………229
7.3.3梯度估计修正…………………………….235
7.3.4不同优化器的3D可视化对比……………………..240
7.4参数初始化………………………………….244
7.4.1基于固定方差的参数初始化………………………244
7.4.2基于方差缩放的参数初始化………………………245
7.5逐层规范化………………………………….250
7.5.1批量规范化………………………………250
7.5.2层规范化……………………………….257
7.6网络正则化方法……………………………….259
7.6.1数据集构建………………………………260
7.6.2模型构建……………………………….260
7.6.3?1和?2正则化…………………………….266
7.6.4权重衰减……………………………….268
7.6.5暂退法………………………………..269
7.7小结……………………………………..272
第8章注意力机制273
8.1基于双向LSTM和注意力机制的文本分类…………………..274
8.1.1数据介绍……………………………….275
8.1.2模型构建……………………………….275
8.1.3使用加性注意力模型进行实验…………………….282
8.1.4使用点积注意力模型进行实验…………………….284
8.2基于双向LSTM和多头自注意力的文本分类实验……………….287
8.2.1自注意力模型…………………………….287
8.2.2基于LSTM和多头自注意力的文本分类的模型构建…………..297
8.2.3模型训练……………………………….299
8.2.4模型评价……………………………….300
8.2.5模型预测……………………………….301
8.3实践:基于自注意力模型的文本语义匹配……………………302
8.3.1数据集构建………………………………303
8.3.2模型构建……………………………….306
8.3.3模型训练……………………………….316
8.3.4模型评价……………………………….317
8.3.5模型预测……………………………….318
8.3.6注意力可视化…………………………….318
8.4小结……………………………………..321
· · · · · ·
前言
第1章实践基础1
1.1如何运行本书的代码……………………………..2
1.1.1本地运行……………………………….2
1.1.2代码下载与使用方法…………………………3
1.1.3在线运行……………………………….4
1.2张量……………………………………..6
1.2.1创建张量……………………………….6
1.2.2张量的属性………………………………9
1.2.3张量与Numpy数组转换……………………….13
1.2.4张量的访问………………………………13
1.2.5张量的运算………………………………16
1.3算子……………………………………..20
1.3.1算子定义……………………………….21
1.3.2自动微分机制…………………………….25
1.3.3预定义的算子…………………………….27
1.3.4本书中实现的算子…………………………..27
1.3.5本书中实现的优化器…………………………29
1.4本书中使用的数据集和实现的Dataset类……………………29
1.4.1数据集………………………………..29
1.4.2Dataset类………………………………31
1.5本书中实现的Runner类……………………………31
1.6小结……………………………………..32
第2章机器学习概述33
2.1机器学习实践五要素……………………………..34
2.1.1数据………………………………….35
2.1.2模型………………………………….36
2.1.3学习准则……………………………….36
2.1.4优化算法……………………………….37
2.1.5评价指标……………………………….37
2.2实现一个简单的线性回归模型…………………………38
2.2.1数据集构建………………………………38
2.2.2模型构建……………………………….40
2.2.3损失函数……………………………….42
2.2.4优化器………………………………..43
2.2.5模型训练……………………………….45
2.2.6模型评价……………………………….45
2.3多项式回归………………………………….46
2.3.1数据集构建:ToySin25…………………………46
2.3.2模型构建……………………………….48
2.3.3模型训练……………………………….49
2.3.4模型评价……………………………….50
2.3.5通过引入正则化项来缓解过拟合……………………52
2.4构建Runner类………………………………..53
2.5实践:基于线性回归的波士顿房价预测…………………….55
2.5.1数据处理……………………………….55
2.5.2模型构建……………………………….62
2.5.3完善Runner类:RunnerV1………………………62
2.5.4模型训练……………………………….63
2.5.5模型评价……………………………….64
2.5.6模型预测……………………………….64
2.6小结……………………………………..65
第3章线性分类67
3.1基于Logistic回归的二分类任务………………………..68
3.1.1数据集构建………………………………69
3.1.2模型构建……………………………….71
3.1.3损失函数……………………………….73
3.1.4模型优化……………………………….74
3.1.5评价指标……………………………….77
3.1.6完善Runner类:RunnerV2………………………77
3.1.7模型训练……………………………….80
3.1.8模型评价……………………………….82
3.2基于Softmax回归的多分类任务……………………….82
3.2.1数据集构建………………………………83
3.2.2模型构建……………………………….86
3.2.3损失函数……………………………….88
第3章线性分类67
3.1基于Logistic回归的二分类任务………………………..68
3.1.1数据集构建………………………………69
3.1.2模型构建……………………………….71
3.1.3损失函数……………………………….73
3.1.4模型优化……………………………….74
3.1.5评价指标……………………………….77
3.1.6完善Runner类:RunnerV2………………………77
3.1.7模型训练……………………………….80
3.1.8模型评价……………………………….82
3.2基于Softmax回归的多分类任务……………………….82
3.2.1数据集构建………………………………83
3.2.2模型构建……………………………….86
3.2.3损失函数……………………………….88
3.2.4模型优化……………………………….89
3.2.5模型训练……………………………….91
3.2.6模型评价……………………………….92
3.3实践:基于Softmax回归完成鸢尾花分类任务…………………92
3.3.1数据处理……………………………….93
3.3.2模型构建……………………………….95
3.3.3模型训练……………………………….96
3.3.4模型评价……………………………….96
3.3.5模型预测……………………………….97
3.4小结……………………………………..97
第4章前馈神经网络994.1神经元…………………………………….99
4.1.1净活性值……………………………….100
4.1.2激活函数……………………………….101
4.2基于前馈神经网络的二分类任务……………………….104
4.2.1数据集构建………………………………105
4.2.2模型构建……………………………….105
4.2.3损失函数……………………………….108
4.2.4模型优化……………………………….109
4.2.5完善Runner类:RunnerV2_1……………………..115
4.2.6模型训练……………………………….117
4.2.7模型评价……………………………….118
4.3自动梯度计算和预定义算子………………………….119
4.3.1利用预定义算子重新实现前馈神经网络………………..119
4.3.2完善Runner类:RunnerV2_2……………………..120
4.3.3模型训练……………………………….122
4.3.4模型评价……………………………….124
4.4优化问题…………………………………..124
4.4.1参数初始化………………………………124
4.4.2梯度消失问题…………………………….126
4.4.3死亡ReLU问题……………………………129
4.5实践:基于前馈神经网络完成鸢尾花分类任务…………………130
4.5.1小批量梯度下降法…………………………..130
4.5.2数据处理……………………………….132
4.5.3模型构建……………………………….133
4.5.4完善Runner类:RunnerV3………………………135
4.5.5模型训练……………………………….140
4.5.6模型评价……………………………….142
4.5.7模型预测……………………………….142
第5章卷积神经网络145
5.1卷积……………………………………..146
5.1.1二维卷积运算…………………………….146
5.1.2二维卷积算子…………………………….147
5.1.3卷积的变种………………………………148
5.1.4带步长和零填充的二维卷积算子……………………149
5.1.5使用卷积运算完成图像边缘检测任务…………………151
5.2卷积神经网络的基础算子…………………………..152
5.2.1卷积层算子………………………………152
5.2.2汇聚层算子………………………………156
5.3基于LeNet实现手写体数字识别任务……………………..157
5.3.1数据集构建………………………………158
5.3.2模型构建……………………………….161
5.3.3模型训练……………………………….164
5.3.4模型评价……………………………….165
5.3.5模型预测……………………………….165
5.4基于残差网络的手写体数字识别……………………….166
5.4.1模型构建……………………………….167
5.4.2没有残差连接的ResNet18………………………173
5.4.3带残差连接的ResNet18………………………..174
5.5实践:基于ResNet18网络完成图像分类任务………………….175
5.5.1数据处理……………………………….176
5.5.2模型构建……………………………….179
5.5.3模型训练……………………………….179
5.5.4模型评价……………………………….181
5.5.5模型预测……………………………….181
5.6小结……………………………………..182
第6章循环神经网络183
6.1循环神经网络的记忆能力实验…………………………184
6.1.1数据集构建………………………………185
6.1.2模型构建……………………………….189
6.1.3模型训练……………………………….194
6.1.4模型评价……………………………….196
6.2梯度爆炸实验…………………………………196
6.2.1梯度打印函数…………………………….197
6.2.2复现梯度爆炸问题…………………………..197
6.2.3使用梯度截断解决梯度爆炸问题……………………199
6.3LSTM的记忆能力实验…………………………….200
6.3.1模型构建……………………………….202
6.3.2模型训练……………………………….204
6.3.3模型评价……………………………….206
6.4实践:基于双向LSTM模型完成文本分类任务…………………207
6.4.1数据处理……………………………….207
6.4.2模型构建……………………………….212
6.4.3模型训练……………………………….214
6.4.4模型评价……………………………….215
6.4.5模型预测……………………………….216
6.5小结……………………………………..216
第7章网络优化与正则化217
7.1小批量梯度下降法………………………………218
7.2批大小的调整实验………………………………218
7.3不同优化算法的比较分析…………………………..221
7.3.1优化算法的实验设定…………………………222
7.3.2学习率调整………………………………229
7.3.3梯度估计修正…………………………….235
7.3.4不同优化器的3D可视化对比……………………..240
7.4参数初始化………………………………….244
7.4.1基于固定方差的参数初始化………………………244
7.4.2基于方差缩放的参数初始化………………………245
7.5逐层规范化………………………………….250
7.5.1批量规范化………………………………250
7.5.2层规范化……………………………….257
7.6网络正则化方法……………………………….259
7.6.1数据集构建………………………………260
7.6.2模型构建……………………………….260
7.6.3?1和?2正则化…………………………….266
7.6.4权重衰减……………………………….268
7.6.5暂退法………………………………..269
7.7小结……………………………………..272
第8章注意力机制273
8.1基于双向LSTM和注意力机制的文本分类…………………..274
8.1.1数据介绍……………………………….275
8.1.2模型构建……………………………….275
8.1.3使用加性注意力模型进行实验…………………….282
8.1.4使用点积注意力模型进行实验…………………….284
8.2基于双向LSTM和多头自注意力的文本分类实验……………….287
8.2.1自注意力模型…………………………….287
8.2.2基于LSTM和多头自注意力的文本分类的模型构建…………..297
8.2.3模型训练……………………………….299
8.2.4模型评价……………………………….300
8.2.5模型预测……………………………….301
8.3实践:基于自注意力模型的文本语义匹配……………………302
8.3.1数据集构建………………………………303
8.3.2模型构建……………………………….306
8.3.3模型训练……………………………….316
8.3.4模型评价……………………………….317
8.3.5模型预测……………………………….318
8.3.6注意力可视化…………………………….318
8.4小结……………………………………..321
· · · · · ·
发表回复
要发表评论,您必须先登录。