书籍详情
PyTorch深度学习实战:从新手小白到数据科学家(博文视点出品)
作者:张敏 著
出版社:电子工业出版社
出版时间:2020-08-01
ISBN:9787121388293
定价:¥109.00
购买这本书可以去
内容简介
本书以深度学习为核心,详细讲解Pytorch技术堆栈,力求使用最直白的语言,带更多的小白学员入门甚至精通深度学习。本书共分为10个章节,前五个章节主要讲解深度学习中的基本算法及概念,通过使用Pytorch实现经典的神经网络并辅以课后加油站”小节补充数学知识,力求让每一个知识点、每一个章节、每一个实验都能在学员脑海中留下印象,做到看了能做、做了能会、会了能用。后面五个章节作为Pytorch的进阶,会讲使用Pytorch构建深度神经网络、使用HMM实现中文分词、训练聊天机器人等有意思的小实验。引入当下***的自然语言预训练模型如Elmo、BERT等,教会读者使用自然语言利器AllenNLP及高阶框架FastAI。最后一章讲解当下***的图嵌入技术,对知识图谱感兴趣的童鞋可以深入的研究。
作者简介
张敏,2015年开始从事大数据行业,多年来一直致力于数据分析和算法开发。2017年开始接触在线教育,目前全网学员总数破100万,相继在51CTO、腾讯课堂、网易课堂、CSDN等平台开启教学。在51CTO平台上的SPARK课程销量做到行业类目前列,曾在多家大公司从事数据挖掘工作,拥有丰富的大数据经验和底层数据思维。在工作中总结了很多有用的经验,都毫无保留地分享给读者,以帮助读者提升、成长。
目录
目录
第1章 初识PyTorch 1
1.1 神经网络发展简史 1
1.1.1 神经网络的前世今生 1
1.1.2 深度学习框架对比 3
1.2 环境安装 6
1.2.1 Python环境的选择及安装 6
1.2.2 PyTorch 1.2的安装 8
1.2.3 开发环境IDE 10
1.3 PyTorch的核心概念 11
1.3.1 PyTorch的基本概念 11
1.3.2 自动微分 16
1.3.3 PyTorch的核心模块 19
1.4 实验室小试牛刀 20
1.4.1 塔珀自指公式 20
1.4.2 看看你毕业了能拿多少 22
1.5 加油站之高等数学知识回顾 39
1.5.1 函数基础知识 39
1.5.2 常见的导数公式 45
第2章 机器学习快速入门 49
2.1 机器学习的分类 49
2.1.1 监督学习 49
2.1.2 半监督学习 51
2.1.3 无监督学习 51
2.1.4 强化学习 52
2.2 机器学习的常见概念 54
2.2.1 缺失值处理 54
2.2.2 数据标准化与数据正则化 56
2.2.3 交叉验证 59
2.2.4 过拟合与欠拟合 61
2.3 神经网络 62
2.3.1 神经网络的生物学发现与编程模拟 62
2.3.2 人工神经网络的核心思想 69
2.4 实现线性回归、多项式回归和逻辑回归 70
2.4.1 PyTorch实现线性回归 70
2.4.2 PyTorch实现多项式回归 73
2.4.3 PyTorch实现逻辑回归 77
2.5 加油站之高等数学知识回顾 82
2.5.1 方向导数和梯度 82
2.5.2 微分及积分 84
2.5.3 牛顿-莱布尼兹公式 87
第3章 PyTorch与科学计算 89
3.1 算子字典 89
3.1.1 基本方法 89
3.1.2 索引、切片、连接和换位 91
3.1.3 随机抽样 95
3.1.4 数据持久化与高并发 97
3.1.5 元素级别的数学计算 98
3.1.6 规约计算 102
3.1.7 数值比较运算 104
3.1.8 矩阵运算 106
3.2 广播机制 110
3.2.1 自动广播规则 110
3.2.2 广播计算规则 111
3.3 GPU设备及并行编程 112
3.3.1 device和cuda.device的基本用法 112
3.3.2 CPU设备到GPU设备 113
3.3.3 固定缓冲区 115
3.3.4 自动设备感知 117
3.3.5 并发编程 118
3.4 实验室小试牛刀之轻松搞定图片分类 121
3.4.1 softmax分类简介 123
3.4.2 定义网络结构 126
3.5 加油站之高等数学知识回顾 133
3.5.1 泰勒公式及其思想 133
3.5.2 拉格朗日乘子法及其思想 138
第4章 激活函数、损失函数、优化器及数据加载 140
4.1 激活函数 140
4.1.1 Sigmoid 141
4.1.2 tanh 143
4.1.3 ReLU及其变形 145
4.1.4 MaxOut 148
4.2 损失函数 150
4.2.1 L1范数损失 150
4.2.2 均方误差损失 151
4.2.3 二分类交叉熵损失 152
4.2.4 CrossEntropyLoss和NLLLoss计算交叉熵损失 152
4.2.5 KL散度损失 154
4.2.6 余弦相似度损失 155
4.2.7 多分类多标签损失 156
4.3 优化器 157
4.3.1 BGD 157
4.3.2 SGD 158
4.3.3 MBGD 159
4.3.4 Momentum 160
4.3.5 NAG 161
4.3.6 Adagrad 161
4.3.7 Adadelta 162
4.3.8 Adam 163
4.4 数据加载 164
4.4.1 Dataset数据集 164
4.4.2 DataLoader数据加载 167
4.5 初探卷积神经网络 169
4.5.1 知识科普:卷积过程及物理意义 169
4.5.2 卷积神经网络 173
4.5.3 stride和padding 179
4.5.4 膨胀卷积神经网络 180
4.5.5 池化 182
4.6 实验室小试牛刀 184
4.6.1 设计卷积神经网络 184
4.6.2 定义卷积神经网络 185
4.6.3 模型训练 186
4.6.4 理解卷积神经网络在学什么 189
第5章 PyTorch深度神经网络 201
5.1 计算机视觉工具包 201
5.2 训练过程的可视化 204
5.2.1 TensorBoard 204
5.2.2 Visdom 210
5.3 深度神经网络 212
5.3.1 LeNet 212
5.3.2 AlexNet 214
5.3.3 ZF-Net 217
5.3.4 VGG-Nets 219
5.3.5 GoogLeNet 222
5.3.6 ResNet 224
5.3.7 DenseNet 226
5.4 循环神经网络 228
5.4.1 循环神经网络基础模型 229
5.4.2 LSTM 233
5.4.3 GRU 238
5.5 实验室小试牛刀 240
5.5.1 数据准备 241
5.5.2 GRU网络设计 242
5.5.3 模型训练 244
5.5.4 模型预测 245
5.6 加油站之概率论基础知识回顾 246
5.6.1 离散型随机变量和连续型随机变量 246
5.6.2 概率论常用概念 251
5.6.3 二维随机变量 253
5.6.4 边缘分布 255
5.6.5 期望和方差 257
5.6.6 大数定理 258
5.6.7 马尔可夫不等式及切比雪夫不等式 259
5.6.8 中心极限定理 260
第6章 自然语言处理 261
6.1 自然语言基础 261
6.1.1 自然语言发展史 261
6.1.2 自然语言处理中的常见任务 264
6.1.3 统计自然语言理论 266
6.1.4 使用隐马尔可夫模型实现中文分词 278
6.2 提取关键字 281
6.2.1 TF-IDF 281
6.2.2 TextRank 283
6.2.3 主题模型 284
6.3 Word2vec和词嵌入 285
6.3.1 N-Gram模型 286
6.3.2 词袋模型 287
6.3.3 Word2vec词向量的密集表示 288
6.3.4 使用Word2vec生成词向量 297
6.3.5 Word2vec源码调试 299
6.3.6 在PyTorch中使用词向量 300
6.4 变长序列处理 302
6.4.1 pack_padded_sequence压缩 304
6.4.2 pad_packed_sequence解压缩 306
6.5 Encoder-Decoder框架和注意力机制 307
6.5.1 Encoder-Decoder框架 308
6.5.2 注意力机制 309
6.6 实验室小试牛刀之对话机器人 312
6.6.1 中文对话语料 313
6.6.2 构建问答词典 313
6.6.3 DataLoader数据加载 315
6.6.4 Encoder双向多层GRU 318
6.6.5 运用注意力机制 320
6.6.6 Decoder多层GRU 321
6.6.7 模型训练 323
6.6.8 答案搜索及效果展示 324
6.7 加油站之常见的几种概率分布 326
6.7.1 二项分布 326
6.7.2 正态分布 327
6.7.3 均匀分布 328
6.7.4 泊松分布 330
6.7.5 卡方分布 332
6.7.6 Beta分布 333
第7章 自然语言的曙光:预训练模型 336
7.1 预训练模型的应用 336
7.2 从词嵌入到ELMo 337
7.2.1 词嵌入头上的乌云 337
7.2.2 ELMo 338
7.3 从ELMo模型到GPT模型 341
7.3.1 GPT模型 341
7.3.2 使用GPT模型 342
7.4 从GPT模型到BERT模型 344
第8章 自然语言处理利器:AllenNLP 349
8.1 中文词性标注 349
8.1.1 DatasetReader数据读取 350
8.1.2 定义Model模型 352
8.1.3 模型训练 354
8.1.4 模型预测 355
8.1.5 模型保存和加载 356
8.2 AllenNLP 使用Config Files 356
8.2.1 参数解析 357
8.2.2 注册数据读取器和模型 357
8.2.3 定义Jsonnet配置文件 357
8.2.4 命令行工具 359
8.2.5 特征融合 360
8.2.6 制作在线Demo 362
第9章 FastAI高层深度学习框架 364
9.1 FastAI框架中的原语 364
9.2 在FastAI框架中使用BERT模型完成中文分类 365
9.2.1 分词器 365
9.2.2 定义字典 368
9.2.3 数据准备 368
9.2.4 构建Databunch和Learner 370
9.2.5 模型训练 371
9.2.6 模型保存和加载 371
9.2.7 模型预测 372
9.2.8 制作Rest接口提供服务 372
第10章 PyTorch Big Graph嵌入 374
10.1 PyTorch Big Graph简介 374
10.1.1 PBG模型 375
10.1.2 模型的表示 376
10.1.3 正样本、负样本及损失函数 377
10.1.4 分布式训练 377
10.1.5 批量负采样 379
10.2 PBG实践应用 379
10.2.1 模型配置文件 380
10.2.2 划分训练集和测试集 381
10.2.3 模型训练和验证 382
10.2.4 图嵌入向量及应用 384
第1章 初识PyTorch 1
1.1 神经网络发展简史 1
1.1.1 神经网络的前世今生 1
1.1.2 深度学习框架对比 3
1.2 环境安装 6
1.2.1 Python环境的选择及安装 6
1.2.2 PyTorch 1.2的安装 8
1.2.3 开发环境IDE 10
1.3 PyTorch的核心概念 11
1.3.1 PyTorch的基本概念 11
1.3.2 自动微分 16
1.3.3 PyTorch的核心模块 19
1.4 实验室小试牛刀 20
1.4.1 塔珀自指公式 20
1.4.2 看看你毕业了能拿多少 22
1.5 加油站之高等数学知识回顾 39
1.5.1 函数基础知识 39
1.5.2 常见的导数公式 45
第2章 机器学习快速入门 49
2.1 机器学习的分类 49
2.1.1 监督学习 49
2.1.2 半监督学习 51
2.1.3 无监督学习 51
2.1.4 强化学习 52
2.2 机器学习的常见概念 54
2.2.1 缺失值处理 54
2.2.2 数据标准化与数据正则化 56
2.2.3 交叉验证 59
2.2.4 过拟合与欠拟合 61
2.3 神经网络 62
2.3.1 神经网络的生物学发现与编程模拟 62
2.3.2 人工神经网络的核心思想 69
2.4 实现线性回归、多项式回归和逻辑回归 70
2.4.1 PyTorch实现线性回归 70
2.4.2 PyTorch实现多项式回归 73
2.4.3 PyTorch实现逻辑回归 77
2.5 加油站之高等数学知识回顾 82
2.5.1 方向导数和梯度 82
2.5.2 微分及积分 84
2.5.3 牛顿-莱布尼兹公式 87
第3章 PyTorch与科学计算 89
3.1 算子字典 89
3.1.1 基本方法 89
3.1.2 索引、切片、连接和换位 91
3.1.3 随机抽样 95
3.1.4 数据持久化与高并发 97
3.1.5 元素级别的数学计算 98
3.1.6 规约计算 102
3.1.7 数值比较运算 104
3.1.8 矩阵运算 106
3.2 广播机制 110
3.2.1 自动广播规则 110
3.2.2 广播计算规则 111
3.3 GPU设备及并行编程 112
3.3.1 device和cuda.device的基本用法 112
3.3.2 CPU设备到GPU设备 113
3.3.3 固定缓冲区 115
3.3.4 自动设备感知 117
3.3.5 并发编程 118
3.4 实验室小试牛刀之轻松搞定图片分类 121
3.4.1 softmax分类简介 123
3.4.2 定义网络结构 126
3.5 加油站之高等数学知识回顾 133
3.5.1 泰勒公式及其思想 133
3.5.2 拉格朗日乘子法及其思想 138
第4章 激活函数、损失函数、优化器及数据加载 140
4.1 激活函数 140
4.1.1 Sigmoid 141
4.1.2 tanh 143
4.1.3 ReLU及其变形 145
4.1.4 MaxOut 148
4.2 损失函数 150
4.2.1 L1范数损失 150
4.2.2 均方误差损失 151
4.2.3 二分类交叉熵损失 152
4.2.4 CrossEntropyLoss和NLLLoss计算交叉熵损失 152
4.2.5 KL散度损失 154
4.2.6 余弦相似度损失 155
4.2.7 多分类多标签损失 156
4.3 优化器 157
4.3.1 BGD 157
4.3.2 SGD 158
4.3.3 MBGD 159
4.3.4 Momentum 160
4.3.5 NAG 161
4.3.6 Adagrad 161
4.3.7 Adadelta 162
4.3.8 Adam 163
4.4 数据加载 164
4.4.1 Dataset数据集 164
4.4.2 DataLoader数据加载 167
4.5 初探卷积神经网络 169
4.5.1 知识科普:卷积过程及物理意义 169
4.5.2 卷积神经网络 173
4.5.3 stride和padding 179
4.5.4 膨胀卷积神经网络 180
4.5.5 池化 182
4.6 实验室小试牛刀 184
4.6.1 设计卷积神经网络 184
4.6.2 定义卷积神经网络 185
4.6.3 模型训练 186
4.6.4 理解卷积神经网络在学什么 189
第5章 PyTorch深度神经网络 201
5.1 计算机视觉工具包 201
5.2 训练过程的可视化 204
5.2.1 TensorBoard 204
5.2.2 Visdom 210
5.3 深度神经网络 212
5.3.1 LeNet 212
5.3.2 AlexNet 214
5.3.3 ZF-Net 217
5.3.4 VGG-Nets 219
5.3.5 GoogLeNet 222
5.3.6 ResNet 224
5.3.7 DenseNet 226
5.4 循环神经网络 228
5.4.1 循环神经网络基础模型 229
5.4.2 LSTM 233
5.4.3 GRU 238
5.5 实验室小试牛刀 240
5.5.1 数据准备 241
5.5.2 GRU网络设计 242
5.5.3 模型训练 244
5.5.4 模型预测 245
5.6 加油站之概率论基础知识回顾 246
5.6.1 离散型随机变量和连续型随机变量 246
5.6.2 概率论常用概念 251
5.6.3 二维随机变量 253
5.6.4 边缘分布 255
5.6.5 期望和方差 257
5.6.6 大数定理 258
5.6.7 马尔可夫不等式及切比雪夫不等式 259
5.6.8 中心极限定理 260
第6章 自然语言处理 261
6.1 自然语言基础 261
6.1.1 自然语言发展史 261
6.1.2 自然语言处理中的常见任务 264
6.1.3 统计自然语言理论 266
6.1.4 使用隐马尔可夫模型实现中文分词 278
6.2 提取关键字 281
6.2.1 TF-IDF 281
6.2.2 TextRank 283
6.2.3 主题模型 284
6.3 Word2vec和词嵌入 285
6.3.1 N-Gram模型 286
6.3.2 词袋模型 287
6.3.3 Word2vec词向量的密集表示 288
6.3.4 使用Word2vec生成词向量 297
6.3.5 Word2vec源码调试 299
6.3.6 在PyTorch中使用词向量 300
6.4 变长序列处理 302
6.4.1 pack_padded_sequence压缩 304
6.4.2 pad_packed_sequence解压缩 306
6.5 Encoder-Decoder框架和注意力机制 307
6.5.1 Encoder-Decoder框架 308
6.5.2 注意力机制 309
6.6 实验室小试牛刀之对话机器人 312
6.6.1 中文对话语料 313
6.6.2 构建问答词典 313
6.6.3 DataLoader数据加载 315
6.6.4 Encoder双向多层GRU 318
6.6.5 运用注意力机制 320
6.6.6 Decoder多层GRU 321
6.6.7 模型训练 323
6.6.8 答案搜索及效果展示 324
6.7 加油站之常见的几种概率分布 326
6.7.1 二项分布 326
6.7.2 正态分布 327
6.7.3 均匀分布 328
6.7.4 泊松分布 330
6.7.5 卡方分布 332
6.7.6 Beta分布 333
第7章 自然语言的曙光:预训练模型 336
7.1 预训练模型的应用 336
7.2 从词嵌入到ELMo 337
7.2.1 词嵌入头上的乌云 337
7.2.2 ELMo 338
7.3 从ELMo模型到GPT模型 341
7.3.1 GPT模型 341
7.3.2 使用GPT模型 342
7.4 从GPT模型到BERT模型 344
第8章 自然语言处理利器:AllenNLP 349
8.1 中文词性标注 349
8.1.1 DatasetReader数据读取 350
8.1.2 定义Model模型 352
8.1.3 模型训练 354
8.1.4 模型预测 355
8.1.5 模型保存和加载 356
8.2 AllenNLP 使用Config Files 356
8.2.1 参数解析 357
8.2.2 注册数据读取器和模型 357
8.2.3 定义Jsonnet配置文件 357
8.2.4 命令行工具 359
8.2.5 特征融合 360
8.2.6 制作在线Demo 362
第9章 FastAI高层深度学习框架 364
9.1 FastAI框架中的原语 364
9.2 在FastAI框架中使用BERT模型完成中文分类 365
9.2.1 分词器 365
9.2.2 定义字典 368
9.2.3 数据准备 368
9.2.4 构建Databunch和Learner 370
9.2.5 模型训练 371
9.2.6 模型保存和加载 371
9.2.7 模型预测 372
9.2.8 制作Rest接口提供服务 372
第10章 PyTorch Big Graph嵌入 374
10.1 PyTorch Big Graph简介 374
10.1.1 PBG模型 375
10.1.2 模型的表示 376
10.1.3 正样本、负样本及损失函数 377
10.1.4 分布式训练 377
10.1.5 批量负采样 379
10.2 PBG实践应用 379
10.2.1 模型配置文件 380
10.2.2 划分训练集和测试集 381
10.2.3 模型训练和验证 382
10.2.4 图嵌入向量及应用 384
猜您喜欢