动手学深度学习 Aston Zhang

动手学深度学习-Aston-Zhang-2019

作者简介 · · · · · ·

阿斯顿·张(Aston Zhang) 亚马逊应用科学家,美国伊利诺伊大学香槟分校计算机科学博士,统计学和计算机科学双硕士。他专注于机器学习的研究,并在数个顶级学术会议发表过论文。他担任过NeurIPS、ICML、KDD、WWW、WSDM、SIGIR、AAAI 等学术会议的程序委员或审稿人以及Frontiers in Big Data 期刊的编委。 李沐(Mu Li) 亚马逊首席科学家(Principal Scientist),加州大学伯克利分校客座助理教授,美国卡内基梅隆大学计算机系博士。他专注于分布式系统和机器学习算法的研究。他是深度学习框架MXNet 的作者之一。他曾任机器学习创业公司Marianas Labs 的CTO 和百度深度学习研究院的主任研发架构师。他在理论、机器学习、应用和操作系统等多个领域的顶级学术会议(包括FOCS、ICML、NeurIPS、AISTATS、CVPR、KDD 、WSDM、OSDI)上发表过论文。 扎卡里·C. 立顿(Zachary C. Lipton) 亚马逊应用科学家,美国卡内基梅隆大学助理教授,美国加州大学圣迭戈分校博士。他专注于机器学习算法及其社会影响的研究,特别是在时序数据与序列决策上的深度学习。这类工作有着广泛的应用场景,包括医疗诊断、对话系统和产品推荐。他创立了博客“Approximately Correct”(approximatelycorrect.com)。 亚历山大·J. 斯莫拉(Alexander J. Smola) 亚马逊副总裁/ 杰出科学家,德国柏林工业大学计算机科学博士。他曾在澳大利亚国立大学、美国加州大学伯克利分校和卡内基梅隆大学任教。他发表了超过200 篇学术论文,并著有5 本书,其论文及书被引用超过10 万次。他的研究兴趣包括深度学习、贝叶斯非参数、核方法、统计建模和可扩展算法。

目录 · · · · · ·

对本书的赞誉 前言 如何使用本书 资源与支持 主要符号表 第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 简单例子 … …………………………19 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 4.1.1 继承Block类来构造模型 … …… 86 4.1.2 Sequential类继承自Block类…………………………… 87 4.1.3 构造复杂的模型… ……………… 88 小结………………………………………… 89 练习………………………………………… 90 4.2 模型参数的访问、初始化和共享… …… 90 4.2.1 访问模型参数 … ………………… 90 4.2.2 初始化模型参数 ………………… 92 4.2.3 自定义初始化方法 ……………… 93 4.2.4 共享模型参数 …………………… 94 小结………………………………………… 94 练习………………………………………… 94 4.3 模型参数的延后初始化… ……………… 95 4.3.1 延后初始化 … …………………… 95 4.3.2 避免延后初始化 ………………… 96 小结………………………………………… 96 练习………………………………………… 97 4.4 自定义层… ……………………………… 97 4.4.1 不含模型参数的自定义层 … …… 97 4.4.2 含模型参数的自定义层 ………… 98 小结………………………………………… 99 练习………………………………………… 99 4.5 读取和存储… …………………………… 99 4.5.1 读写NDArray… ………………… 99 4.5.2 读写Gluon模型的参数… ……… 100 小结………………………………………… 101 练习………………………………………… 101 4.6 GPU计算………………………………… 101 4.6.1 计算设备 … ……………………… 102 4.6.2 NDArray的GPU计算…………… 102 4.6.3 Gluon的GPU计算 ……………… 104 小结………………………………………… 105 练习………………………………………… 105 第5 章 卷积神经网络… ……………… 106 5.1 二维卷积层………………………………… 106 5.1.1 二维互相关运算 … ……………… 106 5.1.2 二维卷积层 … …………………… 107 5.1.3 图像中物体边缘检测 … ………… 108 5.1.4 通过数据学习核数组 … ………… 109 5.1.5 互相关运算和卷积运算 … ……… 109 5.1.6 特征图和感受野… ……………… 110 小结………………………………………… 110 练习………………………………………… 110 5.2 填充和步幅… …………………………… 111 5.2.1 填充 … …………………………… 111 5.2.2 步幅 ……………………………… 112 小结………………………………………… 113 练习………………………………………… 113 5.3 多输入通道和多输出通道… …………… 114 5.3.1 多输入通道 … …………………… 114 5.3.2 多输出通道… …………………… 115 5.3.3 1×1卷积层 ……………………… 116 小结………………………………………… 117 练习………………………………………… 117 5.4 池化层… ………………………………… 117 5.4.1 二维最大池化层和平均池化层 … ………………………… 117 5.4.2 填充和步幅 ……………………… 119 5.4.3 多通道 …………………………… 120 小结………………………………………… 120 练习………………………………………… 121 5.5 卷积神经网络(LeNet)… …………… 121 5.5.1 LeNet模型 … …………………… 121 5.5.2 训练模型… ……………………… 122 小结………………………………………… 124 练习………………………………………… 124 5.6 深度卷积神经网络(AlexNet)… …… 124 5.6.1 学习特征表示 … ………………… 125 5.6.2 AlexNet… ……………………… 126 5.6.3 读取数据集 ……………………… 127 5.6.4 训练模型 ………………………… 128 小结………………………………………… 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 5.8.1 NiN块 … ………………………… 131 5.8.2 NiN模型 … ……………………… 132 5.8.3 训练模型… ……………………… 133 小结………………………………………… 134 练习………………………………………… 134 5.9 含并行连结的网络(GoogLeNet)…… 134 5.9.1 Inception块 ……………………… 134 5.9.2 GoogLeNet模型 … …………… 135 5.9.3 训练模型 ………………………… 137 小结………………………………………… 137 练习………………………………………… 137 5.10 批量归一化……………………………… 138 5.10.1 批量归一化层 ………………… 138 5.10.2 从零开始实现 … ……………… 139 5.10.3 使用批量归一化层的LeNet … … 140 5.10.4 简洁实现 … …………………… 141 小结………………………………………… 142 练习………………………………………… 142 5.11 残差网络(ResNet) ……………… 143 5.11.1 残差块 …………………………… 143 5.11.2 ResNet模型… ………………… 145 5.11.3 训练模型………………………… 146 小结………………………………………… 146 练习………………………………………… 146 5.12 稠密连接网络(DenseNet)………… 147 5.12.1 稠密块 …………………………… 147 5.12.2 过渡层 … ……………………… 148 5.12.3 DenseNet模型 ………………… 148 5.12.4 训练模型 … …………………… 149 小结………………………………………… 149 练习………………………………………… 149 第6 章 循环神经网络… ……………… 150 6.1 语言模型………………………………… 150 6.1.1 语言模型的计算 … ……………… 151 6.1.2 n 元语法 … ……………………… 151 小结………………………………………… 152 练习………………………………………… 152 6.2 循环神经网络… ………………………… 152 6.2.1 不含隐藏状态的神经网络 … …… 152 6.2.2 含隐藏状态的循环神经网络… … 152 6.2.3 应用:基于字符级循环神经网络的语言模型 … ……………………… 154 小结………………………………………… 155 练习………………………………………… 155 6.3 语言模型数据集(歌词)…… 155 6.3.1 读取数据集 … …………………… 155 6.3.2 建立字符索引 …………………… 156 6.3.3 时序数据的采样 ………………… 156 小结………………………………………… 158 练习………………………………………… 159 6.4 循环神经网络的从零开始实现… ……… 159 6.4.1 one-hot向量 … ………………… 159 6.4.2 初始化模型参数 ………………… 160 6.4.3 定义模型 ………………………… 160 6.4.4 定义预测函数 …………………… 161 6.4.5 裁剪梯度 ………………………… 161 6.4.6 困惑度 …………………………… 162 6.4.7 定义模型训练函数 ……………… 162 6.4.8 训练模型并创作歌词 …………… 163 小结………………………………………… 164 练习………………………………………… 164 6.5 循环神经网络的简洁实现… …………… 165 6.5.1 定义模型 … ……………………… 165 6.5.2 训练模型 ………………………… 166 小结………………………………………… 168 练习………………………………………… 168 6.6 通过时间反向传播… …………………… 168 6.6.1 定义模型 … ……………………… 168 6.6.2 模型计算图 ……………………… 169 6.6.3 方法 ……………………………… 169 小结………………………………………… 170 练习………………………………………… 170 6.7 门控循环单元(GRU)………………… 170 6.7.1 门控循环单元 … ………………… 171 6.7.2 读取数据集 ……………………… 173 6.7.3 从零开始实现 …………………… 173 6.7.4 简洁实现 ………………………… 175 小结………………………………………… 176 练习………………………………………… 176 6.8 长短期记忆(LSTM)… ……………… 176 6.8.1 长短期记忆 … …………………… 176 6.8.2 读取数据集 ……………………… 179 6.8.3 从零开始实现 …………………… 179 6.8.4 简洁实现 ………………………… 181 小结………………………………………… 181 练习………………………………………… 182 6.9 深度循环神经网络… …………………… 182 小结………………………………………… 183 练习………………………………………… 183 6.10 双向循环神经网络……………………… 183 小结………………………………………… 184 练习………………………………………… 184 第7 章 优化算法… …………………… 185 7.1 优化与深度学习…………………………… 185 7.1.1 优化与深度学习的关系 … ……… 185 7.1.2 优化在深度学习中的挑战 … …… 186 小结………………………………………… 188 练习………………………………………… 189 7.2 梯度下降和随机梯度下降… …………… 189 7.2.1 一维梯度下降 … ………………… 189 7.2.2 学习率 …………………………… 190 7.2.3 多维梯度下降 …………………… 191 7.2.4 随机梯度下降 …………………… 193 小结………………………………………… 194 练习………………………………………… 194 7.3 小批量随机梯度下降… ………………… 194 7.3.1 读取数据集 … …………………… 195 7.3.2 从零开始实现 …………………… 196 7.3.3 简洁实现 ………………………… 198 小结………………………………………… 199 练习………………………………………… 199 7.4 动量法… …………………………………200 7.4.1 梯度下降的问题 … ……………… 200 7.4.2 动量法 …………………………… 201 ·6· 目  录 7.4.3 从零开始实现 …………………… 203 7.4.4 简洁实现 ………………………… 205 小结………………………………………… 205 练习………………………………………… 205 7.5 AdaGrad算法……………………………206 7.5.1 算法 … …………………………… 206 7.5.2 特点 ……………………………… 206 7.5.3 从零开始实现 …………………… 208 7.5.4 简洁实现 ………………………… 209 小结………………………………………… 209 练习………………………………………… 209 7.6 RMSProp算法… ………………………209 7.6.1 算法 … …………………………… 210 7.6.2 从零开始实现 …………………… 211 7.6.3 简洁实现 ………………………… 212 小结………………………………………… 212 练习………………………………………… 212 7.7 AdaDelta算法… ……………………… 212 7.7.1 算法… …………………………… 212 7.7.2 从零开始实现 …………………… 213 7.7.3 简洁实现 ………………………… 214 小结………………………………………… 214 练习………………………………………… 214 7.8 Adam算法… …………………………… 215 7.8.1 算法 … …………………………… 215 7.8.2 从零开始实现 …………………… 216 7.8.3 简洁实现 ………………………… 216 小结………………………………………… 217 练习………………………………………… 217 第8 章 计算性能… …………………… 218 8.1 命令式和符号式混合编程… …………… 218 8.1.1 混合式编程取两者之长 … ……… 220 8.1.2 使用HybridSequential类构造模型 … …………………………… 220 8.1.3 使用HybridBlock类构造模型… …………………………… 222 小结………………………………………… 224 练习………………………………………… 224 8.2 异步计算… ………………………………224 8.2.1 MXNet中的异步计算 …………… 224 8.2.2 用同步函数让前端等待计算结果 … …………………………… 226 8.2.3 使用异步计算提升计算性能 …… 226 8.2.4 异步计算对内存的影响 ………… 227 小结………………………………………… 229 练习………………………………………… 229 8.3 自动并行计算… …………………………229 8.3.1 CPU和GPU的并行计算 … …… 230 8.3.2 计算和通信的并行计算 ………… 231 小结………………………………………… 231 练习………………………………………… 231 8.4 多GPU计算……………………………… 232 8.4.1 数据并行 … ……………………… 232 8.4.2 定义模型 ………………………… 233 8.4.3 多GPU之间同步数据 … ……… 234 8.4.4 单个小批量上的多GPU训练 … …………………………… 236 8.4.5 定义训练函数 …………………… 236 8.4.6 多GPU训练实验 … …………… 237 小结………………………………………… 237 练习………………………………………… 237 8.5 多GPU计算的简洁实现………………… 237 8.5.1 多GPU上初始化模型参数……… 238 8.5.2 多GPU训练模型 … …………… 239 小结………………………………………… 241 练习………………………………………… 241 第9 章 计算机视觉… ………………… 242 9.1 图像增广…………………………………242 9.1.1 常用的图像增广方法 … ………… 243 9.1.2 使用图像增广训练模型 … ……… 246 小结………………………………………… 250 练习………………………………………… 250 9.2 微调… ……………………………………250 热狗识别 … ……………………………… 251 小结………………………………………… 255 练习………………………………………… 255 目  录 ·7· 9.3 目标检测和边界框… ……………………255 边界框 … ………………………………… 256 小结………………………………………… 257 练习………………………………………… 257 9.4 锚框… …………………………………… 257 9.4.1 生成多个锚框… ………………… 257 9.4.2 交并比 …………………………… 259 9.4.3 标注训练集的锚框 ……………… 260 9.4.4 输出预测边界框… ……………… 263 小结………………………………………… 265 练习………………………………………… 265 9.5 多尺度目标检测… ………………………265 小结………………………………………… 268 练习………………………………………… 268 9.6 目标检测数据集(皮卡丘)… …………268 9.6.1 获取数据集 … …………………… 269 9.6.2 读取数据集… …………………… 269 9.6.3 图示数据 ………………………… 270 小结………………………………………… 270 练习………………………………………… 271 9.7 单发多框检测(SSD)… ……………… 271 9.7.1 定义模型… ……………………… 271 9.7.2 训练模型 ………………………… 275 9.7.3 预测目标 ………………………… 277 小结………………………………………… 278 练习………………………………………… 278 9.8 区域卷积神经网络(R-CNN)系列……280 9.8.1 R-CNN … ……………………… 280 9.8.2 Fast R-CNN …………………… 281 9.8.3 Faster R-CNN ………………… 283 9.8.4 Mask R-CNN … ……………… 284 小结………………………………………… 285 练习………………………………………… 285 9.9 语义分割和数据集… ……………………285 9.9.1 图像分割和实例分割 … ………… 285 9.9.2 Pascal VOC2012语义分割数据集 … ………………………… 286 小结………………………………………… 290 练习………………………………………… 290 9.10 全卷积网络(FCN)… ………………290 9.10.1 转置卷积层 …………………… 291 9.10.2 构造模型 … …………………… 292 9.10.3 初始化转置卷积层……………… 294 9.10.4 读取数据集 … ………………… 295 9.10.5 训练模型………………………… 296 9.10.6 预测像素类别…………………… 296 小结………………………………………… 297 练习………………………………………… 297 9.11 样式迁移… ………………………………298 9.11.1 方法 ……………………………… 298 9.11.2 读取内容图像和样式图像……… 299 9.11.3 预处理和后处理图像 ………… 300 9.11.4 抽取特征 ……………………… 301 9.11.5 定义损失函数 ………………… 302 9.11.6 创建和初始化合成图像 ……… 303 9.11.7 训练模型………………………… 304 小结………………………………………… 306 练习………………………………………… 306 9.12 实战Kaggle比赛:图像 分类(CIFAR-10)……………………306 9.12.1 获取和整理数据集 ……………… 307 9.12.2 图像增广 … …………………… 310 9.12.3 读取数据集 … ………………… 310 9.12.4 定义模型………………………… 311 9.12.5 定义训练函数 … ……………… 312 9.12.6 训练模型 … …………………… 312 9.12.7 对测试集分类并在Kaggle 提交结果 … …………………… 313 小结………………………………………… 313 练习………………………………………… 313 9.13 实战Kaggle比赛:狗的品种 识别(ImageNet Dogs)…………… 314 9.13.1 获取和整理数据集 …………… 315 9.13.2 图像增广 … …………………… 316 9.13.3 读取数据集 … ………………… 317 9.13.4 定义模型 … …………………… 318 9.13.5 定义训练函数 … ……………… 318 9.13.6 训练模型 … …………………… 319 ·8· 目  录 9.13.7 对测试集分类并在Kaggle提交结果 … …………………… 319 小结………………………………………… 320 练习………………………………………… 320 第10 章 自然语言处理………………… 321 10.1 词嵌入(word2vec)………………… 321 10.1.1 为何不采用one-hot向量… …… 321 10.1.2 跳字模型 ………………………… 322 10.1.3 连续词袋模型 …………………… 323 小结………………………………………… 325 练习………………………………………… 325 10.2 近似训练…………………………………325 10.2.1 负采样 …………………………… 325 10.2.2 层序softmax …………………… 326 小结………………………………………… 327 练习………………………………………… 328 10.3 word2vec的实现………………………328 10.3.1 预处理数据集 …………………… 328 10.3.2 负采样 … ……………………… 331 10.3.3 读取数据集 … ………………… 331 10.3.4 跳字模型 … …………………… 332 10.3.5 训练模型 … …………………… 333 10.3.6 应用词嵌入模型 … …………… 335 小结………………………………………… 336 练习………………………………………… 336 10.4 子词嵌入(fastText)… ……………336 小结………………………………………… 337 练习………………………………………… 337 10.5 全局向量的词嵌入(GloVe)…………337 10.5.1 GloVe模型 …………………… 338 10.5.2 从条件概率比值理解GloVe模型……………………… 339 小结………………………………………… 340 练习………………………………………… 340 10.6 求近义词和类比词………………………340 10.6.1 使用预训练的词向量 ………… 340 10.6.2 应用预训练词向量 … ………… 341 小结………………………………………… 343 练习………………………………………… 343 10.7 文本情感分类:使用循环神经网络…… 343 10.7.1 文本情感分类数据集 ………… 343 10.7.2 使用循环神经网络的模型……… 345 小结………………………………………… 347 练习………………………………………… 347 10.8 文本情感分类:使用卷积神经网络(textCNN)… …………………347 10.8.1 一维卷积层 … ………………… 348 10.8.2 时序最大池化层 … …………… 349 10.8.3 读取和预处理IMDb数据集 … ……………………… 350 10.8.4 textCNN模型 … ……………… 350 小结………………………………………… 353 练习………………………………………… 353 10.9 编码器-解码器(seq2seq)…………353 10.9.1 编码器 ………………………… 354 10.9.2 解码器 … ……………………… 354 10.9.3 训练模型………………………… 355 小结………………………………………… 355 练习………………………………………… 355 10.10  束搜索… ………………………………355 10.10.1 贪婪搜索 … …………………… 356 10.10.2 穷举搜索 ……………………… 357 10.10.3 束搜索 ………………………… 357 小结………………………………………… 358 练习………………………………………… 358 10.11 注意力机制… …………………………358 10.11.1 计算背景变量 … ……………… 359 10.11.2 更新隐藏状态 … ……………… 360 10.11.3 发展… ………………………… 361 小结………………………………………… 361 练习………………………………………… 361 10.12 机器翻译… …………………………… 361 10.12.1 读取和预处理数据集… ……… 361 10.12.2 含注意力机制的编码器-解码器 … …………… 363 10.12.3 训练模型 ……………………… 365 10.12.4 预测不定长的序列… ………… 367 10.12.5 评价翻译结果 ………………… 367 小结………………………………………… 369 练习………………………………………… 369 附录A 数学基础… …………………… 370 附录B 使用 Jupyter 记事本… ……… 376 附录C 使用 AWS 运行代码…………… 381 附录D GPU 购买指南………………… 388 附录E 如何为本书做贡献… ………… 391 附录F d2lzh 包索引…………………… 395 附录G 中英文术语对照表… ………… 397 参考文献………………………………… 402 索引……………………………………… 407

备注 · · · · · ·

动手学深度学习-Aston-Zhang-2021.pdf

书友评 · · · · · ·

heisen  2020-01-04

应该是到2020年为止最适合入门的一本深度学习教材了吧, 讲的东西虽然不是很深,但是都很clear,还讲解了MXNet相关的实现, 最好还是看英文版的, 讲了attention mechanism和别的机制,这些貌似中文版没有,RNN推荐再看看CMU的DL https://www.youtube.com/watch?v=YYNNTrSROa4 Attention 推荐看看李宏毅两倍速就行 https://www.bilibili.com/video/av48285039?p=92 假如实在这也学不会, 只推荐看UW的这个DL了。。。虽然这么浅基本就是追求广度的科普 https://github.com/jeffheaton/t81_558_deep_learning

资源下载此资源下载价格为5E币,请先
解压密码【e-body.fit】;
任何问题,请到用户中心-提交工单!
下载价格:5 E币
VIP优惠:8 折
下载说明:解压密码【e-body.fit】;
任何问题,请到用户中心-提交工单!
0
分享到:

评论0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
关于身心健康的一切~
没有账号? 忘记密码?