176.0
9.7折
原价¥180.8

收藏
【套装全2册】深度学习经典教程 深度学习+动手学深度学习 deeplearning教程图书AI人工智能基础计算机统计【凤凰新华书店旗舰店】
担保交易,安全保证,有问题不解决可申请退款。
商品属性
凤凰新华书店旗舰店
凤凰新华书店旗舰店
本商品由 凤凰新华书店旗舰店 提供技术支持并发货!
进店逛逛

买家常见问题解答(必看)

商品详情
用户评价
交易规则

内容介绍

9787115461476 深度学习 168.00

9787115490841 动手学深度学习 85.00

《深度学习》简介

《深度学习》由quanqiu知名的三位专家Ian Goodfellow、Yoshua Bengio 和Aaron Courville撰写,是深度学习领域奠基性的经典教材。全书的内容包括3个部分

:D 1部分介绍基本的数学工具和机器学习的概念,它们是深度学习的预备知识;D 2部分系统深入地讲解现今已成熟的深度学习方法和技术;D3部分讨论某

些具有前瞻性的方向和想法,它们被GR为是深度学习未来的研究重点。

《深度学习》适合各类读者阅读,包括相关专业的大学生或研究生,以及不具有机器学习或统计背景、但是想要快速补充深度学习知识,以便在实际产品或平台

中应用的软件工程师。


《动手学深度学习》内容简介

本书旨在向读者交付有关深度学习的交互式学习体验。书中不仅阐述深度学习的算法原理,还演示它们的实现和运行。与传统图书不同,本书的每一节都是一个

可以下载并运行的 Jupyter记事本,它将文字、公式、图像、代码和运行结果结合在了一起。此外,读者还可以访问并参与书中内容的讨论。 

全书的内容分为3个部分:D一部分介绍深度学习的背景,提供预备知识,并包括深度学习Z基础的概念和技术;D二部分描述深度学习计算的重要组成部分,

还解释近年来令深度学习在多个领域大获成功的卷积神经网络和循环神经网络;D三部分评价优化算法,检验影响深度学习计算性能的重要因素,并分别列举

深度学习在计算机视觉和自然语言处理中的重要应用。 

本书同时覆盖深度学习的方法和实践,主要面向在校大学生、技术人员和研究人员。阅读本书需要读者了解基本的Python编程或附录中描述的线性代数、微分

和概率基础。



目录

《深度学习》目录

D 1 章 引言 1 

1.1 本书面向的读者 .7 

1.2 深度学习的历史趋势 8 

1.2.1 神经网络的众多名称和命运变迁 8 

1.2.2 与日俱增的数据量 12 

1.2.3 与日俱增的模型规模13 

1.2.4 与日俱增的精度、复杂度和对现实SJ的冲击 . 15


D 1 部分 应用数学与机器学习基础 

D 2 章 线性代数 19 

2.1 标量、向量、矩阵和张量 . 19 

2.2 矩阵和向量相乘. .21 

2.3 单位矩阵和逆矩阵 . 22 

2.4 线性相关和生成子空间 23 

2.5 范数. .24 

2.6 特殊类型的矩阵和向量 25 

2.7 特征分解 . 26 

2.8 奇异值分解 28 

2.9 Moore-Penrose 伪逆 28 

2.10 迹运算 29 

2.11 行列式 30 

2.12 实例:主成分分析.30 

D 3 章 概率与信息论. .34 

3.1 为什么要使用概率 . 34 

3.2 随机变量 . 35 

3.3 概率分布 . 36 

3.3.1 离散型变量和概率质量函数 . 36 

3.3.2 连续型变量和概率密度函数 . 36 

3.4 边缘概率 . 37 

3.5 条件概率 . 37 

3.6 条件概率的链式法则 . 38

3.7 D立性和条件D立性 . 38 

3.8 期望、方差和协方差 . 38 

3.9 常用概率分布 39 

3.9.1 BerDulli 分布 . 40 

3.9.2 MultiDulli 分布 . 40 

3.9.3 高斯分布 40 

3.9.4 指数分布和 Laplace 分布 . 41 

3.9.5 Dirac 分布和经验分布 42 

3.9.6 分布的混合 42 

3.10 常用函数的有用性质. .43 

3.11 贝叶斯规则 . 45 

3.12 连续型变量的技术细节 . 45 

3.13 信息论 47 

3.14 结构化概率模型 49 

D 4 章 数值计算 52 

4.1 上溢和下溢 52 

4.2 病态条件 . 53 

4.3 基于梯度的优化方法 . 53 

4.3.1 梯度之上:Jacobian 和 Hessian 矩阵 . 56 

4.4 约束优化 . 60 

4.5 实例:线性**小二乘 . 61 

D 5 章 机器学习基础. .63 

5.1 学习算法 . 63 

5.1.1 任务 T . 63 

5.1.2 性能度量 P 66 

5.1.3 经验 E 66 

5.1.4 示例:线性回归 68 

5.2 容量、过拟合和欠拟合 . 70 

5.2.1 没有免费午餐定理 73 

5.2.2 正则化 74 

5.3 超参数和验证集. .76 

5.3.1 交叉验证 76 

5.4 估计、偏差和方差. .77 

5.4.1 点估计 77 

5.4.2 偏差 78 

5.4.3 方差和标准差 80 

5.4.4 权衡偏差和方差以**小化均方误差 . 81 

5.4.5 一致性 82 

5.5 **大似然估计 82 

5.5.1 条件对数似然和均方误差. .84

5.5.2 **大似然的性质 84 

5.6 贝叶斯统计 85 

5.6.1 **大后验 (MAP) 估计 87 

5.7 监督学习算法 88 

5.7.1 概率监督学习 88 

5.7.2 支持向量机 88 

5.7.3 其他简单的监督学习算法. .90 

5.8 无监督学习算法. .91 

5.8.1 主成分分析 92 

5.8.2 k-均值聚类 .94 

5.9 随机梯度下降 94 

5.10 构建机器学习算法 96 

5.11 促使深度学习发展的挑战 . 96 

5.11.1 维数灾难 . 97 

5.11.2 局部不变性和平滑正则化 97 

5.11.3 流形学习 . 99 


D 2 部分 深度网络:现代实践 

D 6 章 深度前馈网络 105 

6.1 实例:学习 XOR. . 107 

6.2 基于梯度的学习 110 

6.2.1 代价函数 . 111 

6.2.2 输出单元 . 113 

6.3 隐藏单元. .119 

6.3.1 整流线性单元及其扩展 120 

6.3.2 logistic sigmoid 与双曲正切函数 121 

6.3.3 其他隐藏单元 . 122 

6.4 架构设计. .123 

6.4.1 万 能近似性质和深度.123 

6.4.2 其他架构上的考虑 .126 

6.5 反向传播和其他的微分算法.126 

6.5.1 计算图 . 127 

6.5.2 微积分中的链式法则.128 

6.5.3 递归地使用链式法则来实现反向传播 128 

6.5.4 全连接 MLP 中的反向传播计算 131 

6.5.5 符号到符号的导数 .131 

6.5.6 一般化的反向传播 .133 

6.5.7 实例:用于 MLP 训练的反向传播 .135 

6.5.8 复杂化 . 137

6.5.9 深度学习界以外的微分 137 

6.5.10 高阶微分 138 

6.6 历史小记. .139 

D 7 章 深度学习中的正则化 . 141 

7.1 参数范数惩罚 . 142 

7.1.1 L2 参数正则化 142 

7.1.2 L1 正则化 144 

7.2 作为约束的范数惩罚. .146 

7.3 正则化和欠约束问题. .147 

7.4 数据集增强 . 148 

7.5 噪声鲁棒性 . 149 

7.5.1 向输出目标注入噪声.150 

7.6 半监督学习 . 150 

7.7 多任务学习 . 150 

7.8 提前终止. .151 

7.9 参数绑定和参数共享. .156 

7.9.1 卷积神经网络 . 156 

7.10 稀疏表示.157 

7.11 Bagging 和其他集成方法.158 

7.12 Dropout159 

7.13 对抗训练.165 

7.14 切面距离、正切传播和流形正切分类器 167 

D 8 章 深度模型中的优化. .169 

8.1 学习和纯优化有什么不同 . 169 

8.1.1 经验风险**小化 . 169 

8.1.2 代理损失函数和提前终止 170 

8.1.3 批量算法和小批量算法 170 

8.2 神经网络优化中的挑战 . 173 

8.2.1 病态 . 173 

8.2.2 局部J小值 . 174 

8.2.3 高原、鞍点和其他平坦区域 .175 

8.2.4 悬崖和梯度爆炸 . 177 

8.2.5 长期依赖 . 177 

8.2.6 非精 确梯度 . 178 

8.2.7 局部和全局结构间的弱对应 178 

8.2.8 优化的理论限制 . 179 

8.3 基本算法. .180 

8.3.1 随机梯度下降 . 180 

8.3.2 动量 . 181 

8.3.3 Nesterov 动量.183

8.4 参数初始化策略 184 

8.5 自适应学习率算法 187 

8.5.1 AdaGrad 187 

8.5.2 RMSProp 188 

8.5.3 Adam 189 

8.5.4 选择正确的优化算法.190 

8.6 二阶近似方法 . 190 

8.6.1 牛顿法 . 190 

8.6.2 共轭梯度 . 191 

8.6.3 BFGS. . 193 

8.7 优化策略和元算法 194 

8.7.1 批标准化 . 194 

8.7.2 坐标下降 . 196 

8.7.3 Polyak 平均 197 

8.7.4 监督预训练 . 197 

8.7.5 设计有助于优化的模型 199 

8.7.6 延拓法和课程学习 .199 

D 9 章 卷积网络 . 201 

9.1 卷积运算. .201 

9.2 动机 203 

9.3 池化 207 

9.4 卷积与池化作为一种无限强的先验 . 210 

9.5 基本卷积函数的变体. .211 

9.6 结构化输出 . 218 

9.7 数据类型. .219 

9.8 高效的卷积算法 220 

9.9 随机或无监督的特征. .220 

9.10 卷积网络的神经科学基础 221 

9.11 卷积网络与深度学习的历史 . 226 

D 10 章 序列建模:循环和递归网络 . 227 

10.1 展开计算图 228 

10.2 循环神经网络230 

10.2.1 导师驱动过程和输出循环网络 . 232 

10.2.2 计算循环神经网络的梯度 . 233 

10.2.3 作为有向图模型的循环网络 . 235 

10.2.4 基于上下文的 RNN 序列建模 . 237 

10.3 双向 RNN . 239 

10.4 基于编码 - 解码的序列到序列架构 . 240 

10.5 深度循环网络242 

10.6 递归神经网络243

10.7 长期依赖的挑战 . 244 

10.8 回声状态网络245 

10.9 渗漏单元和其他多时间尺度的策略 247 

10.9.1 时间维度的跳跃连接. .247 

10.9.2 渗漏单元和一系列不同时间尺度 . 247 

10.9.3 删除连接 248 

10.10 长短期记忆和其他门控 RNN 248 

10.10.1 LSTM . 248 

10.10.2 其他门控 RNN. .250 

10.11 优化长期依赖.251 

10.11.1 截断梯度 . 251 

10.11.2 引导信息流的正则化 252 

10.12 外显记忆 . 253 

D 11 章 实践方法论 . 256 

11.1 性能度量.256 

11.2 默认的基准模型 . 258 

11.3 决定是否收集更多数据 259 

11.4 选择超参数 259 

11.4.1 手动调整超参数259 

11.4.2 自动超参数优化算法. .262 

11.4.3 网格搜索 262 

11.4.4 随机搜索 263 

11.4.5 基于模型的超参数优化 . 264 

11.5 调试策略.264 

11.6 示例:多位数字识别 . 267 

D 12 章 应用.269 

12.1 大规模深度学习 . 269 

12.1.1 快速的 CPU 实现 269 

12.1.2 GPU 实现 . 269 

12.1.3 大规模的分布式实现. .271 

12.1.4 模型压缩 271 

12.1.5 动态结构 272 

12.1.6 深度网络的专用硬件实现 . 273 

12.2 计算机视觉 274 

12.2.1 预处理 275 

12.2.2 数据集增强 277 

12.3 语音识别.278 

12.4 自然语言处理279 

12.4.1 n-gram280 

12.4.2 神经语言模型 281

12.4.3 高维输出 282 

12.4.4 结合 n-gram 和神经语言模型 . 286 

12.4.5 神经机器翻译 287 

12.4.6 历史展望 289 

12.5 其他应用.290 

12.5.1 推荐系统 290 

12.5.2 知识表示、推理和回答 292 


D 3 部分 深度学习研究 

D 13 章 线性因子模型 . 297 

13.1 概率 PCA 和因子分析 . 297 

13.2 D立成分分析298 

13.3 慢特征分析 300 

13.4 稀疏编码.301 

13.5 PCA 的流形解释 304 

D 14 章 自编码器 306 

14.1 欠完备自编码器 . 306 

14.2 正则自编码器307 

14.2.1 稀疏自编码器 307 

14.2.2 去噪自编码器 309 

14.2.3 惩罚导数作为正则. .309 

14.3 表示能力、层的大小和深度 310 

14.4 随机编码器和解码器.310 

14.5 去噪自编码器详解 . 311 

14.5.1 得分估计 312 

14.5.2 历史展望 314 

14.6 使用自编码器学习流形 314 

14.7 收缩自编码器317 

14.8 预测稀疏分解319 

14.9 自编码器的应用 . 319 

D 15 章 表示学习 321 

15.1 贪心逐层无监督预训练 322 

15.1.1 何时以及为何无监督预训练有效有效 . 323 

15.2 迁移学习和领域自适应 326 

15.3 半监督解释因果关系.329 

15.4 分布式表示 332 

15.5 得益于深度的指数增益 336 

15.6 提供发现潜在原因的线索 337

D 16 章 深度学习中的结构化概率模型 339 

16.1 非结构化建模的挑战.339 

16.2 使用图描述模型结构.342 

16.2.1 有向模型 342 

16.2.2 无向模型 344 

16.2.3 配分函数 345 

16.2.4 基于能量的模型346 

16.2.5 分离和 d-分离347 

16.2.6 在有向模型和无向模型中转换 . 350 

16.2.7 因子图 352 

16.3 从图模型中采样 . 353 

16.4 结构化建模的优势 . 353 

16.5 学习依赖关系354 

16.6 推断和近似推断 . 354 

16.7 结构化概率模型的深度学习方法.355 

16.7.1 实例:受限玻尔兹曼机 356 

D 17 章 蒙特卡罗方法 . 359 

17.1 采样和蒙特卡罗方法.359 

17.1.1 为什么需要采样359 

17.1.2 蒙特卡罗采样的基础. .359 

17.2 重要采样.360 

17.3 马尔可夫链蒙特卡罗方法 362 

17.4 Gibbs 采样.365 

17.5 不同的峰值之间的混合挑战 . 365 

17.5.1 不同峰值之间通过回火来混合 . 367 

17.5.2 深度也许会有助于混合 . 368 

D 18 章 直面配分函数 . 369 

18.1 对数似然梯度369 

18.2 随机**大似然和对比散度 370 

18.3 伪似然 . 375 

18.4 得分匹配和比率匹配.376 

18.5 去噪得分匹配378 

18.6 噪声对比估计378 

18.7 估计配分函数380 

18.7.1 退火重要采样 382 

18.7.2 桥式采样 384 

D 19 章 近似推断 385 

19.1 把推断视作优化问题.385 

19.2 期望**大化 386 

19.3 **大后验推断和稀疏编码 387

19.4 变分推断和变分学习.389 

19.4.1 离散型潜变量 390 

19.4.2 变分法 394 

19.4.3 连续型潜变量 396 

19.4.4 学习和推断之间的相互作用 . 397 

19.5 学成近似推断397 

19.5.1 醒眠算法 398 

19.5.2 学成推断的其他形式. .398 

D 20 章 深度生成模型 . 399 

20.1 玻尔兹曼机 399 

20.2 受限玻尔兹曼机 . 400 

20.2.1 条件分布 401 

20.2.2 训练受限玻尔兹曼机. .402 

20.3 深度信念网络402 

20.4 深度玻尔兹曼机 . 404 

20.4.1 有趣的性质 406 

20.4.2 DBM 均匀场推断 406 

20.4.3 DBM 的参数学习 408 

20.4.4 逐层预训练 408 

20.4.5 联合训练深度玻尔兹曼机 . 410 

20.5 实值数据上的玻尔兹曼机 413 

20.5.1 Gaussian-BerDulli RBM . 413 

20.5.2 条件协方差的无向模型 . 414 

20.6 卷积玻尔兹曼机 . 417 

20.7 用于结构化或序列输出的玻尔兹曼机 418 

20.8 其他玻尔兹曼机 . 419 

20.9 通过随机操作的反向传播 419 

20.9.1 通过离散随机操作的反向传播 . 420 

20.10 有向生成网络.422 

20.10.1 sigmoid 信念网络 . 422 

20.10.2 可微生成器网络 .423 

20.10.3 变分自编码器 .425 

20.10.4 生成式对抗网络 .427 

20.10.5 生成矩匹配网络 .429 

20.10.6 卷积生成网络 .430 

20.10.7 自回归网络 . 430 

20.10.8 线性自回归网络 .430 

20.10.9 神经自回归网络 .431 

20.10.10 NADE 432 

20.11 从自编码器采样 433

20.11.1 与任意去噪自编码器相关的马尔可夫链 434 

20.11.2 夹合与条件采样 .434 

20.11.3 回退训练过程 .435 

20.12 生成随机网络.435 

20.12.1 判别性 GSN 436 

20.13 其他生成方案.436 

20.14 评估生成模型.437 

20.15 结论 438 

参考文献. .439 

索引 486


《动手学深度学习》目录

对本书的赞誉 

前言

如何使用本书

资源与支持

主要符号表

D 1 章 深度学习简介 1

1.1 起源 2

1.2 发展 4

1.3 成功案例 6

1.4 特点 7

小结 8

练习 8

D 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 在MXNetwz上查阅 23

小结 24

练习 24

D3 章 深度学习基础 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

D4 章 深度学习计算 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

D5 章 卷积神经网络 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 二维Z大池化层和平均池化层 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

D6 章 循环神经网络 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

D7 章 优化算法 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

D8 章 计算性能 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

D9 章 计算机视觉 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

D 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 时序Z大池化层 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



店铺

客服

购物车
领取优惠
立即购买