《PyTorch 机器学习从入门到实战》校宝在线 | PDF下载|ePub下载
创建
查看
41
类别: 科技
内容简介 · · · · · ·
近年来,基于深度学习的人工智能掀起了一股学习的热潮。本书是使用 PyTorch 深度学习框架的入门图书,从深度学习原理入手,由浅入深地阐述深度学习中神经网络、深度神经网络、卷积神经网络、自编码器、循环神经网络等内容,同时穿插学习 PyTorch 框架的各个知识点和基于知识点的实例。最后,综合运用 PyTorch 和深度学习知识来解决实践中的具体问题,比如图像识别、文本分类和命令词识别等。可以说,本书是深度学习和 PyTorch的入门教程,同时也引领读者进入机遇和挑战共存的人工智能领域。
本书针对的对象是机器学习和人工智能的爱好者和研究者,希望其能够有一定的机器学习和深度学习知识,有一定的 Python 编程基础。
目录 · · · · · ·
前言
第 1 章 深度学习介绍…………………………………………………………………………….. 1
1.1 人工智能、机器学习与深度学习 ………………………………………………………… 2
1.2 深度学习工具介绍 ……………………………………………………………………………… 5
1.3 PyTorch 介绍………………………………………………………………………………………. 7
1.4 你能从本书中学到什么 ………………………………………………………………………. 9
第 2 章 PyTorch 安装和快速上手 ……………………………………………………………. 11
2.1 PyTorch 安装…………………………………………………………………………………….. 12
2.1.1 Anaconda 安装………………………………………………………………………… 12
2.1.2 PyTorch 安装…………………………………………………………………………… 19
2.2 Jupyter Notebook 使用……………………………………………………………………….. 19
2.3 NumPy 基础知识………………………………………………………………………………. 22
2.3.1 基本概念 ………………………………………………………………………………… 23
2.3.2 创建数组 ………………………………………………………………………………… 24
2.3.3 基本运算 ………………………………………………………………………………… 26
2.3.4 索引、切片和迭代 ………………………………………………………………….. 27
2.3.5 数组赋值 ………………………………………………………………………………… 32
2.3.6 更改数组的形状 ……………………………………………………………………… 33
2.3.7 组合、拆分数组 ……………………………………………………………………… 34
2.3.8 广播 ……………………………………………………………………………………….. 35
2.4 PyTorch 基础知识……………………………………………………………………………… 37
2.4.1 Tensor 简介 …………………………………………………………………………….. 37
2.4.2 Variable 简介…………………………………………………………………………… 37VIII
PyTorch 机器学习从入门到实战
2.4.3 CUDA 简介…………………………………………………………………………….. 38
2.4.4 模型的保存与加载 ………………………………………………………………….. 39
2.4.5 第一个 PyTorch 程序……………………………………………………………….. 39
第 3 章 神经网络 …………………………………………………………………………………. 42
3.1 神经元与神经网络 ……………………………………………………………………………. 43
3.2 激活函数 ………………………………………………………………………………………….. 45
3.2.1 Sigmoid …………………………………………………………………………………… 46
3.2.2 Tanh ……………………………………………………………………………………….. 47
3.2.3 Hard Tanh ……………………………………………………………………………….. 48
3.2.4 ReLU ……………………………………………………………………………………… 49
3.2.5 ReLU 的扩展 ………………………………………………………………………….. 50
3.2.6 Softmax …………………………………………………………………………………… 53
3.2.7 LogSoftmax …………………………………………………………………………….. 54
3.3 前向算法 ………………………………………………………………………………………….. 54
3.4 损失函数 ………………………………………………………………………………………….. 56
3.4.1 损失函数的概念 ……………………………………………………………………… 56
3.4.2 回归问题 ………………………………………………………………………………… 56
3.4.3 分类问题 ………………………………………………………………………………… 57
3.4.4 PyTorch 中常用的损失函数……………………………………………………… 58
3.5 后向算法 ………………………………………………………………………………………….. 61
3.6 数据的准备 ………………………………………………………………………………………. 64
3.7 实例:单层神经网络 ………………………………………………………………………… 65
第 4 章 深层神经网络及训练…………………………………………………………………. 69
4.1 深层神经网络 …………………………………………………………………………………… 71
4.1.1 神经网络为何难以训练 …………………………………………………………… 71
4.1.2 改进策略 ………………………………………………………………………………… 73
4.2 梯度下降 ………………………………………………………………………………………….. 73
4.2.1 随机梯度下降 …………………………………………………………………………. 73
4.2.2 Mini-Batch 梯度下降……………………………………………………………….. 74
4.3 优化器 ……………………………………………………………………………………………… 75
4.3.1 SGD ……………………………………………………………………………………….. 76
4.3.2 Momentum ……………………………………………………………………………… 76
4.3.3 AdaGrad …………………………………………………………………………………. 77
4.3.4 RMSProp ………………………………………………………………………………… 78IX
目 录
4.3.5 Adam ……………………………………………………………………………………… 79
4.3.6 选择正确的优化算法 ………………………………………………………………. 79
4.3.7 优化器的使用实例 ………………………………………………………………….. 80
4.4 正则化 ……………………………………………………………………………………………… 83
4.4.1 参数规范惩罚 …………………………………………………………………………. 84
4.4.2 Batch Normalization …………………………………………………………………. 84
4.4.3 Dropout …………………………………………………………………………………… 85
4.5 实例:MNIST 深层神经网络…………………………………………………………….. 87
第 5 章 卷积神经网络…………………………………………………………………………… 91
5.1 计算机视觉 ………………………………………………………………………………………. 93
5.1.1 人类视觉和计算机视觉 …………………………………………………………… 93
5.1.2 特征提取 ………………………………………………………………………………… 93
5.1.3 数据集 ……………………………………………………………………………………. 95
5.2 卷积神经网络 …………………………………………………………………………………… 98
5.2.1 卷积层 ………………………………………………………………………………….. 100
5.2.2 池化层 ………………………………………………………………………………….. 102
5.2.3 经典卷积神经网络 ………………………………………………………………… 103
5.3 MNIST 数据集上卷积神经网络的实现…………………………………………….. 108
第 6 章 嵌入与表征学习 ………………………………………………………………………. 112
6.1 PCA ……………………………………………………………………………………………….. 113
6.1.1 PCA 原理 ……………………………………………………………………………… 113
6.1.2 PCA 的 PyTorch 实现…………………………………………………………….. 114
6.2 自动编码器 …………………………………………………………………………………….. 115
6.2.1 自动编码器原理 ……………………………………………………………………. 116
6.2.2 自动解码器的 PyTorch 实现…………………………………………………… 116
6.2.3 实例:图像去噪 ……………………………………………………………………. 120
6.3 词嵌入 ……………………………………………………………………………………………. 123
6.3.1 词嵌入原理 …………………………………………………………………………… 123
6.3.2 实例:基于词向量的语言模型实现 ……………………………………….. 126
第 7 章 序列预测模型…………………………………………………………………………. 130
7.1 序列数据处理 …………………………………………………………………………………. 131
7.2 循环神经网络 …………………………………………………………………………………. 132
7.3 LSTM 和 GRU ………………………………………………………………………………… 136X
PyTorch 机器学习从入门到实战
7.4 LSTM 在自然语言处理中的应用……………………………………………………… 140
7.4.1 词性标注 ………………………………………………………………………………. 140
7.4.2 情感分析 ………………………………………………………………………………. 142
7.5 串到串网络 …………………………………………………………………………………….. 143
7.5.1 串到串网络原理 ……………………………………………………………………. 143
7.5.2 注意力机制 …………………………………………………………………………… 144
7.6 实例:基于 GRU 和 Attention 的机器翻译……………………………………….. 145
7.6.1 公共模块 ………………………………………………………………………………. 145
7.6.2 数据处理 ………………………………………………………………………………. 145
7.6.3 模型定义 ………………………………………………………………………………. 149
7.6.4 训练模块定义 ……………………………………………………………………….. 153
7.6.5 训练和模型保存 ……………………………………………………………………. 159
7.6.6 评估过程 ………………………………………………………………………………. 161
第 8 章 PyTorch 项目实战 …………………………………………………………………… 163
8.1 图像识别和迁移学习——猫狗大战 …………………………………………………. 164
8.1.1 迁移学习介绍 ……………………………………………………………………….. 164
8.1.2 计算机视觉工具包 ………………………………………………………………… 164
8.1.3 猫狗大战的 PyTorch 实现………………………………………………………. 165
8.2 文本分类 ………………………………………………………………………………………… 170
8.2.1 文本分类的介绍 ……………………………………………………………………. 171
8.2.2 计算机文本工具包 ………………………………………………………………… 172
8.2.3 基于 CNN 的文本分类的 PyTorch 实现 ………………………………….. 172
8.3 语音识别系统介绍 ………………………………………………………………………….. 180
8.3.1 语音识别介绍 ……………………………………………………………………….. 181
8.3.2 命令词识别的 PyTorch 实现…………………………………………………… 181
· · · · · ·
第 1 章 深度学习介绍…………………………………………………………………………….. 1
1.1 人工智能、机器学习与深度学习 ………………………………………………………… 2
1.2 深度学习工具介绍 ……………………………………………………………………………… 5
1.3 PyTorch 介绍………………………………………………………………………………………. 7
1.4 你能从本书中学到什么 ………………………………………………………………………. 9
第 2 章 PyTorch 安装和快速上手 ……………………………………………………………. 11
2.1 PyTorch 安装…………………………………………………………………………………….. 12
2.1.1 Anaconda 安装………………………………………………………………………… 12
2.1.2 PyTorch 安装…………………………………………………………………………… 19
2.2 Jupyter Notebook 使用……………………………………………………………………….. 19
2.3 NumPy 基础知识………………………………………………………………………………. 22
2.3.1 基本概念 ………………………………………………………………………………… 23
2.3.2 创建数组 ………………………………………………………………………………… 24
2.3.3 基本运算 ………………………………………………………………………………… 26
2.3.4 索引、切片和迭代 ………………………………………………………………….. 27
2.3.5 数组赋值 ………………………………………………………………………………… 32
2.3.6 更改数组的形状 ……………………………………………………………………… 33
2.3.7 组合、拆分数组 ……………………………………………………………………… 34
2.3.8 广播 ……………………………………………………………………………………….. 35
2.4 PyTorch 基础知识……………………………………………………………………………… 37
2.4.1 Tensor 简介 …………………………………………………………………………….. 37
2.4.2 Variable 简介…………………………………………………………………………… 37VIII
PyTorch 机器学习从入门到实战
2.4.3 CUDA 简介…………………………………………………………………………….. 38
2.4.4 模型的保存与加载 ………………………………………………………………….. 39
2.4.5 第一个 PyTorch 程序……………………………………………………………….. 39
第 3 章 神经网络 …………………………………………………………………………………. 42
3.1 神经元与神经网络 ……………………………………………………………………………. 43
3.2 激活函数 ………………………………………………………………………………………….. 45
3.2.1 Sigmoid …………………………………………………………………………………… 46
3.2.2 Tanh ……………………………………………………………………………………….. 47
3.2.3 Hard Tanh ……………………………………………………………………………….. 48
3.2.4 ReLU ……………………………………………………………………………………… 49
3.2.5 ReLU 的扩展 ………………………………………………………………………….. 50
3.2.6 Softmax …………………………………………………………………………………… 53
3.2.7 LogSoftmax …………………………………………………………………………….. 54
3.3 前向算法 ………………………………………………………………………………………….. 54
3.4 损失函数 ………………………………………………………………………………………….. 56
3.4.1 损失函数的概念 ……………………………………………………………………… 56
3.4.2 回归问题 ………………………………………………………………………………… 56
3.4.3 分类问题 ………………………………………………………………………………… 57
3.4.4 PyTorch 中常用的损失函数……………………………………………………… 58
3.5 后向算法 ………………………………………………………………………………………….. 61
3.6 数据的准备 ………………………………………………………………………………………. 64
3.7 实例:单层神经网络 ………………………………………………………………………… 65
第 4 章 深层神经网络及训练…………………………………………………………………. 69
4.1 深层神经网络 …………………………………………………………………………………… 71
4.1.1 神经网络为何难以训练 …………………………………………………………… 71
4.1.2 改进策略 ………………………………………………………………………………… 73
4.2 梯度下降 ………………………………………………………………………………………….. 73
4.2.1 随机梯度下降 …………………………………………………………………………. 73
4.2.2 Mini-Batch 梯度下降……………………………………………………………….. 74
4.3 优化器 ……………………………………………………………………………………………… 75
4.3.1 SGD ……………………………………………………………………………………….. 76
4.3.2 Momentum ……………………………………………………………………………… 76
4.3.3 AdaGrad …………………………………………………………………………………. 77
4.3.4 RMSProp ………………………………………………………………………………… 78IX
目 录
4.3.5 Adam ……………………………………………………………………………………… 79
4.3.6 选择正确的优化算法 ………………………………………………………………. 79
4.3.7 优化器的使用实例 ………………………………………………………………….. 80
4.4 正则化 ……………………………………………………………………………………………… 83
4.4.1 参数规范惩罚 …………………………………………………………………………. 84
4.4.2 Batch Normalization …………………………………………………………………. 84
4.4.3 Dropout …………………………………………………………………………………… 85
4.5 实例:MNIST 深层神经网络…………………………………………………………….. 87
第 5 章 卷积神经网络…………………………………………………………………………… 91
5.1 计算机视觉 ………………………………………………………………………………………. 93
5.1.1 人类视觉和计算机视觉 …………………………………………………………… 93
5.1.2 特征提取 ………………………………………………………………………………… 93
5.1.3 数据集 ……………………………………………………………………………………. 95
5.2 卷积神经网络 …………………………………………………………………………………… 98
5.2.1 卷积层 ………………………………………………………………………………….. 100
5.2.2 池化层 ………………………………………………………………………………….. 102
5.2.3 经典卷积神经网络 ………………………………………………………………… 103
5.3 MNIST 数据集上卷积神经网络的实现…………………………………………….. 108
第 6 章 嵌入与表征学习 ………………………………………………………………………. 112
6.1 PCA ……………………………………………………………………………………………….. 113
6.1.1 PCA 原理 ……………………………………………………………………………… 113
6.1.2 PCA 的 PyTorch 实现…………………………………………………………….. 114
6.2 自动编码器 …………………………………………………………………………………….. 115
6.2.1 自动编码器原理 ……………………………………………………………………. 116
6.2.2 自动解码器的 PyTorch 实现…………………………………………………… 116
6.2.3 实例:图像去噪 ……………………………………………………………………. 120
6.3 词嵌入 ……………………………………………………………………………………………. 123
6.3.1 词嵌入原理 …………………………………………………………………………… 123
6.3.2 实例:基于词向量的语言模型实现 ……………………………………….. 126
第 7 章 序列预测模型…………………………………………………………………………. 130
7.1 序列数据处理 …………………………………………………………………………………. 131
7.2 循环神经网络 …………………………………………………………………………………. 132
7.3 LSTM 和 GRU ………………………………………………………………………………… 136X
PyTorch 机器学习从入门到实战
7.4 LSTM 在自然语言处理中的应用……………………………………………………… 140
7.4.1 词性标注 ………………………………………………………………………………. 140
7.4.2 情感分析 ………………………………………………………………………………. 142
7.5 串到串网络 …………………………………………………………………………………….. 143
7.5.1 串到串网络原理 ……………………………………………………………………. 143
7.5.2 注意力机制 …………………………………………………………………………… 144
7.6 实例:基于 GRU 和 Attention 的机器翻译……………………………………….. 145
7.6.1 公共模块 ………………………………………………………………………………. 145
7.6.2 数据处理 ………………………………………………………………………………. 145
7.6.3 模型定义 ………………………………………………………………………………. 149
7.6.4 训练模块定义 ……………………………………………………………………….. 153
7.6.5 训练和模型保存 ……………………………………………………………………. 159
7.6.6 评估过程 ………………………………………………………………………………. 161
第 8 章 PyTorch 项目实战 …………………………………………………………………… 163
8.1 图像识别和迁移学习——猫狗大战 …………………………………………………. 164
8.1.1 迁移学习介绍 ……………………………………………………………………….. 164
8.1.2 计算机视觉工具包 ………………………………………………………………… 164
8.1.3 猫狗大战的 PyTorch 实现………………………………………………………. 165
8.2 文本分类 ………………………………………………………………………………………… 170
8.2.1 文本分类的介绍 ……………………………………………………………………. 171
8.2.2 计算机文本工具包 ………………………………………………………………… 172
8.2.3 基于 CNN 的文本分类的 PyTorch 实现 ………………………………….. 172
8.3 语音识别系统介绍 ………………………………………………………………………….. 180
8.3.1 语音识别介绍 ……………………………………………………………………….. 181
8.3.2 命令词识别的 PyTorch 实现…………………………………………………… 181
· · · · · ·