深度学习系列 深度学习实战手册 R语言版
作者:(印)普拉卡什
出版时间:2020年版
丛编项: 深度学习系列
内容简介
本书介绍使用 R 语言和深度学习库 TensorFlow、H2O 和 MXNet 构建不同的深度学习模型的方法和原理。本书共 10 章,其中第 1、2 章介绍如何在 R 中配置不同的深度学习库以及如何构建神经网络;第 3 ~ 7 章介绍卷积神经网络、自动编码器、生成模型、循环神经网络和强化学习的构建方法和原理;第 8、9 章介绍深度学习在文本挖掘以及信号处理中的应用;第 10 章介绍迁移学习以及如何利用 GPU 部署深度学习模型。本书的结构简单明了,每部分由准备环节、动手操作和工作原理组成,可强化读者的学习;内容上覆盖了深度学习领域常见的神经网络类型,并介绍了使用场景。同时,书中包含大量实用的示例代码,方便读者应用到实际项目中。本书适合有一定 R 语言编程基础,并且希望使用 R 语言快速开展深度学习项目的软件工程师或高校师生、科研人员阅读。
目录
第 1章 入门 1
1.1 介绍 1
1.2 安装 R 及其 IDE 2
1.2.1 准备 2
1.2.2 怎么做 2
1.3 安装 Jupyter Notebook 应用 3
1.3.1 怎么做 3
1.3.2 更多内容 5
1.4 从 R 机器学习基础开始 5
1.4.1 怎么做 6
1.4.2 工作原理 9
1.5 在 R 中安装深度学习的工具 包 11
1.6 在 R 中安装 MXNet 11
1.6.1 做好准备 11
1.6.2 怎么做 12
1.7 在 R 中安装 TensorFlow 13
1.7.1 做好准备 13
1.7.2 怎么做 14
1.7.3 工作原理 15
1.8 在 R 中安装 H2O 15
1.8.1 做好准备 15
1.8.2 怎么做 16
1.8.3 工作原理 17
1.8.4 更多内容 20
1.9 使用 Docker 一次安装 3 个包 20
1.9.1 做好准备 20
1.9.2 怎么做 21
1.9.3 更多内容 22
第 2章 R深度学习 23
2.1 始于逻辑回归 23
2.1.1 做好准备 23
2.1.2 怎么做 24
2.2 介绍数据集 25
2.2.1 做好准备 25
2.2.2 怎么做 25
2.3 使用 H2O 执行逻辑回归 26
2.3.1 做好准备 26
2.3.2 怎么做 27
2.3.3 工作原理 28
2.4 使用 TensorFlow 执行逻辑回归 30
2.4.1 做好准备 30
2.4.2 怎么做 30
2.4.3 工作原理 32
2.5 可视化 TensorFlow 图 33
2.5.1 做好准备 33
2.5.2 怎么做 34
2.5.3 工作原理 36
2.6 从多层感知器开始 37
2.6.1 做好准备 37
2.6.2 怎么做 38
2.6.3 更多内容 38
2.7 使用 H2O 建立神经网络 39
2.7.1 做好准备 39
2.7.2 怎么做 39
2.7.3 工作原理 41
2.8 使用 H2O 中的网格搜索调整超参数 42
2.8.1 做好准备 42
2.8.2 怎么做 42
2.8.3 工作原理 43
2.9 使用 MXNet 建立神经网络 44
2.9.1 做好准备 44
2.9.2 怎么做 44
2.9.3 工作原理 46
2.10 使用 TensorFlow 建立神经网络 46
2.10.1 做好准备 46
2.10.2 怎么做 46
2.10.3 工作原理 49
2.10.4 更多内容 50
第3章 卷积神经网络 52
3.1 介绍 52
3.2 下载并配置图像数据集 53
3.2.1 做好准备 54
3.2.2 怎么做 54
3.2.3 工作原理 57
3.3 学习 CNN 分类器的架构 58
3.3.1 做好准备 58
3.3.2 怎么做 58
3.3.3 工作原理 59
3.4 使用函数初始化权重和偏差 60
3.4.1 做好准备 61
3.4.2 怎么做 61
3.4.3 工作原理 61
3.5 使用函数创建一个新的卷积层 61
3.5.1 做好准备 61
3.5.2 怎么做 62
3.5.3 工作原理 64
3.6 使用函数创建一个扁平化的卷积层 65
3.6.1 做好准备 65
3.6.2 怎么做 65
3.6.3 工作原理 65
3.7 使用函数扁平化密集连接层 66
3.7.1 做好准备 66
3.7.2 怎么做 66
3.7.3 工作原理 67
3.8 定义占位符变量 67
3.8.1 做好准备 67
3.8.2 怎么做 67
3.8.3 工作原理 68
3.9 创建第 一个卷积层 68
3.9.1 做好准备 69
3.9.2 怎么做 69
3.9.3 工作原理 70
3.10 创建第二个卷积层 70
3.10.1 做好准备 70
3.10.2 怎么做 71
3.10.3 工作原理 71
3.11 扁平化第二个卷积层 72
3.11.1 做好准备 72
3.11.2 怎么做 72
3.11.3 工作原理 72
3.12 创建第 一个完全连接的层 73
3.12.1 做好准备 73
3.12.2 怎么做 73
3.12.3 工作原理 73
3.13 将 dropout 应用于第 一个完全连接的层 73
3.13.1 做好准备 74
3.13.2 怎么做 74
3.13.3 工作原理 74
3.14 创建第二个带有 dropout 的完全连接层 74
3.14.1 做好准备 74
3.14.2 怎么做 75
3.14.3 工作原理 75
3.15 应用 Softmax 激活以获得预测的类 75
3.15.1 做好准备 75
3.15.2 怎么做 75
3.16 定义用于优化的成本函数 76
3.16.1 做好准备 76
3.16.2 怎么做 76
3.16.3 工作原理 76
3.17 执行梯度下降成本优化 77
3.17.1 做好准备 77
3.17.2 怎么做 77
3.18 在 TensorFlow 会话中执行图 77
3.18.1 做好准备 77
3.18.2 怎么做 78
3.18.3 工作原理 78
3.19 评估测试数据的性能 79
3.19.1 做好准备 79
3.19.2 怎么做 79
3.19.3 工作原理 81
第4章 使用自动编码器的数据表示 83
4.1 介绍 83
4.2 构建自动编码器 84
4.2.1 做好准备 85
4.2.2 怎么做 85
4.3 数据归一化 86
4.3.1 做好准备 86
4.3.2 怎么做 88
4.4 构建正则自动编码器 92
4.4.1 做好准备 92
4.4.2 怎么做 92
4.4.3 工作原理 92
4.5 微调自动编码器的参数 93
4.6 构建栈式自动编码器 94
4.6.1 做好准备 94
4.6.2 怎么做 95
4.7 构建降噪自动编码器 96
4.7.1 做好准备 96
4.7.2 怎么做 96
4.7.3 工作原理 101
4.8 构建并比较随机编码器和解码器 102
4.8.1 做好准备 103
4.8.2 怎么做 103
4.9 从自动编码器学习流形 109
4.10 评估稀疏分解 113
4.10.1 做好准备 114
4.10.2 怎么做 114
4.10.3 工作原理 115
第5章 深度学习中的生成模型 116
5.1 比较主成分分析和受限玻尔兹曼机 116
5.1.1 做好准备 117
5.1.2 怎么做 118
5.2 为伯努利分布输入配置受限玻尔兹曼机 121
5.2.1 做好准备 122
5.2.2 怎么做 122
5.3 训练受限玻尔兹曼机 122
5.3.1 做好准备 123
5.3.2 怎么做 123
5.4 RBM 的反向或重构阶段 124
5.4.1 做好准备 124
5.4.2 怎么做 124
5.5 了解重构的对比散度 125
5.5.1 做好准备 125
5.5.2 怎么做 125
5.5.3 工作原理 126
5.6 初始化并启动一个新的 TensorFlow 会话 126
5.6.1 做好准备 126
5.6.2 怎么做 127
5.6.3 工作原理 128
5.7 评估 RBM 的输出 129
5.7.1 做好准备 130
5.7.2 怎么做 130
5.7.3 工作原理 131
5.8 为协同过滤构建一个受限玻尔兹曼机 132
5.8.1 做好准备 132
5.8.2 怎么做 132
5.9 执行一个完整的 RBM 训练 135
5.9.1 做好准备 137
5.9.2 怎么做 137
5.10 构建深度信念网络 139
5.10.1 做好准备 140
5.10.2 怎么做 141
5.10.3 工作原理 144
5.11 实现前馈反向传播神经网络 145
5.11.1 做好准备 145
5.11.2 怎么做 146
5.11.3 工作原理 150
5.12 建立一个深度受限玻尔兹曼机 150
5.12.1 做好准备 150
5.12.2 怎么做 151
5.12.3 工作原理 156
第6章 循环神经网络 157
6.1 建立一个基本的循环神经网络 157
6.1.1 做好准备 157
6.1.2 怎么做 158
6.1.3 工作原理 160
6.2 建立一个双向 RNN 模型 161
6.2.1 做好准备 162
6.2.2 怎么做 162
6.3 建立一个深度 RNN 模型 165
6.4 建立一个基于长短期记忆的序列模型 166
6.4.1 怎么做 167
6.4.2 工作原理 167
第7章 强化学习 170
7.1 介绍 170
7.2 建立马尔可夫决策过程 171
7.2.1 做好准备 171
7.2.2 怎么做 172
7.3 执行基于模型的学习 177
7.4 进行无模型学习 180
7.4.1 做好准备 180
7.4.2 怎么做 181
第8章 深度学习在文本挖掘中的应用 185
8.1 对文本数据进行预处理并提取情感 185
8.1.1 怎么做 185
8.1.2 工作原理 191
8.2 使用 tf-idf 分析文档 192
8.2.1 怎么做 192
8.2.2 工作原理 194
8.3 使用 LSTM 网络执行情感预测 194
8.3.1 怎么做 194
8.3.2 工作原理 198
8.4 使用 text2vec 示例的应用程序 198
8.4.1 怎么做 198
8.4.2 工作原理 201
第9章 深度学习在信号处理中的应用 202
9.1 介绍并预处理音乐 MIDI 文件 202
9.1.1 做好准备 202
9.1.2 怎么做 203
9.2 建立 RBM 模型 204
9.2.1 做好准备 204
9.2.2 怎么做 204
9.3 生成新的音符 206
第 10章 迁移学习 208
10.1 介绍 208
10.2 举例说明预训练模型的使用 209
10.2.1 做好准备 210
10.2.2 怎么做 210
10.3 构建迁移学习模型 213
10.3.1 做好准备 213
10.3.2 怎么做 213
10.4 构建图像分类模型 216
10.4.1 做好准备 216
10.4.2 怎么做 216
10.5 在 GPU 上训练深度学习模型 219
10.5.1 做好准备 219
10.5.2 怎么做 220
10.6 比较使用 CPU 和 GPU 的性能 221
10.6.1 做好准备 221
10.6.2 怎么做 222
10.6.3 更多内容 224
10.6.4 另请参阅 224