目录: 对本书的赞誉 前言 如何使用本书 资源与支持 主要符号表 第 1 章 深度学习简介 1 1.1 起源 2 1.2 发展 4 1.3 成功案例 6 1.4 特点 7 小结 8 练习 8 第 2 章 预备知识 9 2.1 获取和运行本书的代码 9 2.1.1 获取代码并安装运行环境 9 2.1.2 更新代码和运行环境 11 2.1.3 使用GPU版的MXNet 11 小结12 练习12 2.2 数据操作 12 2.2.1 创建NDArray 12 2.2.2 运算 14 2.2.3 广播机制 16 2.2.4 索引 17 2.2.5 运算的内存开销 17 2.2.6 NDArray和NumPy相互变换18 小结19 练习19 2.3 自动求梯度 19 2.3.1 简单例子 19AL34 2.3.2 训练模式和预测模式 20 2.3.3 对Python控制流求梯度 20 小结21 练习21 2.4 查阅文档 21 2.4.1 查找模块里的所有函数和类 21 2.4.2 查找特定函数和类的使用 22 2.4.3 在MXNet网站上查阅 23 小结 24 练习 24 第3 章 深度学习基础 25 3.1 线性回归 25 3.1.1 线性回归的基本要素 25 3.1.2 线性回归的表示方法 28 小结 30 练习 30 3.2 线性回归的从零开始实现 30 3.2.1 生成数据集 30 3.2.2 读取数据集 32 3.2.3 初始化模型参数 32 3.2.4 定义模型 33 3.2.5 定义损失函数 33 3.2.6 定义优化算法 33 3.2.7 训练模型 33 小结 34 练习 34 3.3 线性回归的简洁实现 35 3.3.1 生成数据集 35 3.3.2 读取数据集 35 3.3.3 定义模型 36 3.3.4 初始化模型参数 36 3.3.5 定义损失函数 37 3.3.6 定义优化算法 37 3.3.7 训练模型 37 小结 38 练习 38 3.4 softmax回归 38 3.4.1 分类问题 38 3.4.2 softmax回归模型 39 3.4.3 单样本分类的矢量计算表达式 40 3.4.4 小批量样本分类的矢量计算表达式 40 3.4.5 交叉熵损失函数 41 3.4.6 模型预测及评价 42 小结 42 练习 42 3.5 图像分类数据集(Fashion-MNIST) 42 3.5.1 获取数据集 42 3.5.2 读取小批量 44 小结 45 练习 45 3.6 softmax回归的从零开始实现 45 3.6.1 读取数据集 45 3.6.2 初始化模型参数 45 3.6.3 实现softmax运算 46 3.6.4 定义模型 46 3.6.5 定义损失函数 47 3.6.6 计算分类准确率 47 3.6.7 训练模型 48 3.6.8 预测 48 小结 49 练习 49 3.7 softmax回归的简洁实现 49 3.7.1 读取数据集 49 3.7.2 定义和初始化模型 50 3.7.3 softmax和交叉熵损失函数 50 3.7.4 定义优化算法 50 3.7.5 训练模型 50 小结 50 练习 50 3.8 多层感知机 51 3.8.1 隐藏层 51 3.8.2 激活函数 52 3.8.3 多层感知机 55 小结 55 练习 55 3.9 多层感知机的从零开始实现 56 3.9.1 读取数据集 56 3.9.2 定义模型参数 56 3.9.3 定义激活函数 56 3.9.4 定义模型 56 3.9.5 定义损失函数 57 3.9.6 训练模型 57 小结 57 练习 57 3.10 多层感知机的简洁实现 57 3.10.1 定义模型 58 3.10.2 训练模型 58 小结 58 练习 58 3.11 模型选择、欠拟合和过拟合 58 3.11.1 训练误差和泛化误差 59 3.11.2 模型选择 59 3.11.3 欠拟合和过拟合 60 3.11.4 多项式函数拟合实验 61 小结 65 练习 65 3.12 权重衰减 65 3.12.1 方法 65 3.12.2 高维线性回归实验 66 3.12.3 从零开始实现 66 3.12.4 简洁实现 68 小结 70 练习 70 3.13 丢弃法 70 3.13.1 方法 70 3.13.2 从零开始实现 71 3.13.3 简洁实现 73 小结 74 练习 74 3.14 正向传播、反向传播和计算图 74 3.14.1 正向传播 74 3.14.2 正向传播的计算图 75 3.14.3 反向传播 75 3.14.4 训练深度学习模型 76 小结 77 练习 77 3.15 数值稳定性和模型初始化 77 3.15.1 衰减和爆炸 77 3.15.2 随机初始化模型参数 78 小结 78 练习 79 3.16 实战Kaggle比赛:房价预测 79 3.16.1 Kaggle比赛 79 3.16.2 读取数据集 80 3.16.3 预处理数据集 81 3.16.4 训练模型 82 3.16.5 k 折交叉验证 82 3.16.6 模型选择 83 3.16.7 预测并在Kaggle提交结果 84 小结 85 练习 85 第4章 深度学习计算 86 4.1 模型构造 86 小结 89 练习 90 4.2 模型参数的访问、初始化和共享 90 小结 94 练习 94 4.3 模型参数的延后初始化 95 小结 96 练习 97 4.4 自定义层 97 小结 99 练习 99 4.5 读取和存储 99 小结 101 练习 101 4.6 GPU计算 101 小结 105 练习 105 第5章 卷积神经网络 106 5.1 二维卷积层 106 小结 110 练习 110 5.2 填充和步幅 111 小结 113 练习 113 5.3 多输入通道和多输出通道 114 小结 117 练习 117 5.4 池化层 117 小结 120 练习 121 5.5 卷积神经网络(LeNet) 121 小结 124 练习 124 5.6 深度卷积神经网络(AlexNet) 124 小结 128 练习 129 5.7 使用重复元素的网络(VGG) 129 5.7.1 VGG块 129 5.7.2 VGG网络 129 5.7.3 训练模型 130 小结 131 练习 131 5.8 网络中的网络(NiN) 131 小结 134 练习 134 5.9 含并行连结的网络(GoogLeNet) 134 小结 137 练习 137 5.10 批量归一化 138 小结 142 练习 142 5.11 残差网络(ResNet) 143 小结 146 练习 146 5.12 稠密连接网络(DenseNet) 147 小结 149 练习 149 第6章 循环神经网络 150 6.1 语言模型 150 小结 152 练习 152 6.2 循环神经网络 152 小结 155 练习 155 6.3 语言模型数据集(歌词) 155 小结 158 练习 159 6.4 循环神经网络的从零开始实现 159 小结 164 练习 164 6.5 循环神经网络的简洁实现 165 小结 168 练习 168 小结 170 练习 170 6.7 门控循环单元(GRU) 170 小结 176 练习 176 6.8 长短期记忆(LSTM) 176 小结 181 练习 182 6.9 深度循环神经网络 182 小结 183 练习 183 6.10 双向循环神经网络 183 小结 184 练习 184 第7章 优化算法 185 7.1 优化与深度学习 185 小结 188 练习 189 7.2 梯度下降和随机梯度下降 189 小结 194 练习 194 7.3 小批量随机梯度下降 194 小结 199 练习 199 7.4 动量法 200 小结 205 练习 205 7.5 AdaGrad算法206 小结 209 练习 209 7.6 RMSProp算法 209 小结 212 练习 212 7.7 AdaDelta算法 212 小结 214 练习 214 7.8 Adam算法 215 小结 217 练习 217 第8章 计算性能 218 8.1 命令式和符号式混合编程 218 小结 224 练习 224 8.2 异步计算 224 小结 229 练习 229 8.3 自动并行计算 229 小结 231 练习 231 8.4 多GPU计算 232 小结 237 练习 237 8.5 多GPU计算的简洁实现 237 小结 241 练习 241 第9章 计算机视觉 242 9.1 图像增广242 小结 250 练习 250 9.2 微调 250 热狗识别 251 小结 255 练习 255 9.3 目标检测和边界框 255 边界框 256 小结 257 练习 257 9.4 锚框 257 小结 265 练习 265 9.5 多尺度目标检测 265 小结 268 练习 268 9.6 目标检测数据集(皮卡丘) 268 小结 270 练习 271 9.7 单发多框检测(SSD) 271 小结 278 练习 278 9.8 区域卷积神经网络(R-CNN)系列280 小结 285 练习 285 9.9 语义分割和数据集 285 小结 290 练习 290 9.10 全卷积网络(FCN) 290 小结 297 练习 297 9.11 样式迁移 298 小结 306 练习 306 9.12 实战Kaggle比赛:图像 分类(CIFAR-10)306 小结 313 练习 313 9.13 实战Kaggle比赛:狗的品种识别(ImageNet Dogs) 314 小结 320 练习 320 第10 章 自然语言处理 321 10.1 词嵌入(word2vec) 321 小结 325 练习 325 10.2 近似训练325 小结 327 练习 328 10.3 word2vec的实现328 小结 336 练习 336 10.4 子词嵌入(fastText) 336 小结 337 练习 337 10.5 全局向量的词嵌入(GloVe)337 小结 340 练习 340 10.6 求近义词和类比词340 小结 343 练习 343 10.7 文本情感分类:使用循环神经网络 343 小结 347 练习 347 10.8 文本情感分类:使用卷积神经网络(textCNN) 347 小结 353 练习 353 10.9 编码器-解码器(seq2seq)353 小结 355 练习 355 10.10 束搜索 355 小结 358 练习 358 10.11 注意力机制 358 小结 361 练习 361 10.12 机器翻译 361 小结 369 练习 369 附录A 数学基础 370 附录B 使用 Jupyter 记事本 376 附录C 使用 AWS 运行代码 381 附录D GPU 购买指南 388 附录E 如何为本书做贡献 391 附录F d2lzh 包索引 395 附录G 中英文术语对照表 397 参考文献 402 索引 407 |
|