《机器学习》课程教学资源:《动手学深度学习》参考书籍PDF电子版 Release 2.0.0-beta0(共十六章)

动手学深度学习 Release 2.0.0-beta0 Aston Zhang,Zachary C.Lipton,Mu Li,and Alexander J.Smola Apr29,2022
动⼿学深度学习 Release 2.0.0-beta0 Aston Zhang, Zachary C. Lipton, Mu Li, and Alexander J. Smola Apr 29, 2022

目录 序言 安装 9 符号 1前言 2预备知识 2.1数据操作 ····。。·…,··。·。,··,”,··。。…。…···· 211入门 40 2.12运算符 2.13 广播机制 。。。。4g。。。。。。。。…。。。。。。。。。。。。。。。。4。。。。。。。 24 2.1.4 索引和切片.。。。。。····。。。。·· 2.1.5节省内存。 2.1.6 转换为其他Python对象 。。。”,,,。·,””,”,,”””。,。,,。”” 2.1.7 小结… 218统习 2.2 数据预处理 0。。。…·····……·…··。…·。·…··。··。………···。 2.2.1 2.2.2 处理缺失值。。。,· 2.23转换为张量格式 2.2.4 小结 ,。。。。,,,。。。。。,,,,。,。。,,,。。。,,。,。。 2.2.5练习 23 线性代数 23.1 标量 ·+。。。。……+。。。。…4。…+4·0。。…+,·+。。。。…,…÷。+。。 232向量 2.3.3矩阵
⽬录 序⾔ 1 安装 9 符号 13 1 前⾔ 17 2 预备知识 39 2.1 数据操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 2.1.1 ⼊⻔ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 2.1.2 运算符 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 2.1.3 ⼴播机制 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 2.1.4 索引和切⽚ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 2.1.5 节省内存 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 2.1.6 转换为其他Python对象 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 2.1.7 ⼩结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 2.1.8 练习 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 2.2 数据预处理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 2.2.1 读取数据集 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 2.2.2 处理缺失值 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 2.2.3 转换为张量格式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 2.2.4 ⼩结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 2.2.5 练习 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 2.3 线性代数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 2.3.1 标量 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 2.3.2 向量 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 2.3.3 矩阵 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 i

2.3.4 张量 2.3.5 张量算法的基本性质 54 2.3.6 23.7 点积(Dot Product) 5动 2.3.8 58 2.3.9 矩阵矩阵乘法 2.310 范 2.3.11关干线性代数的更多信息 61 2.3.12 小结 2.3.13 练习 2.4 微积分 2.4.1 导数和微分 2.42 偏导数 6 2.4.3 梯度 )44 链式法测 2.4.5 小结 6 2.4.6 练习 2.5 自动微分 。。 68 25.1 一个简单的例子 25.2 非标量变量的反向传播 6 2.5.3 分离计算 25.4 Python控制流的梯度计算 2.5.5 7元 2.5.6 练习 71 2.6 概率 72 26.1 基本概率论 2.6.2 2.6.3 期塑和方差 79 2.6.4 小结 80 2.6.5 练习 27 查阅文档 80 2.7.1 查找模块中的所有函数和类 80 2.7.2 查找特定函数和类的用法 2.7.3 小小情 82 274 练习 82 3线性神经网络 83 3.1 线性回归 3.1.1 3.12 矢最化加速 87 3.1.3 正态分布与平方损失 3.1. 从线性回归到深度网络 80
2.3.4 张量 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 2.3.5 张量算法的基本性质 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 2.3.6 降维 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 2.3.7 点积(Dot Product) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 2.3.8 矩阵-向量积 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 2.3.9 矩阵-矩阵乘法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 2.3.10 范数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 2.3.11 关于线性代数的更多信息 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 2.3.12 ⼩结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 2.3.13 练习 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 2.4 微积分 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 2.4.1 导数和微分 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 2.4.2 偏导数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 2.4.3 梯度 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 2.4.4 链式法则 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 2.4.5 ⼩结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 2.4.6 练习 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 2.5 ⾃动微分 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 2.5.1 ⼀个简单的例⼦ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 2.5.2 ⾮标量变量的反向传播 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 2.5.3 分离计算 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 2.5.4 Python控制流的梯度计算 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 2.5.5 ⼩结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 2.5.6 练习 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 2.6 概率 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 2.6.1 基本概率论 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 2.6.2 处理多个随机变量 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 2.6.3 期望和⽅差 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 2.6.4 ⼩结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 2.6.5 练习 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 2.7 查阅⽂档 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 2.7.1 查找模块中的所有函数和类 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 2.7.2 查找特定函数和类的⽤法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 2.7.3 ⼩结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 2.7.4 练习 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 3 线性神经⽹络 83 3.1 线性回归 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 3.1.1 线性回归的基本元素 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 3.1.2 ⽮量化加速 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 3.1.3 正态分布与平⽅损失 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 3.1.4 从线性回归到深度⽹络 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 ii

3.1.5 小结 92 316练 3.2 线性国归的从零并始实现 3.2.1 93 3.2.2 读取数据集 3.2 初始化模型参数 3.2.4 96 3.2.5 定义损失函数 32.6 定义优化算法 3.2. 32.8 小结 98 3.2.9 练习 9 3.3 线性回归的简洁实现 3.3.1 生成数据集 99 33.2 读取数据集 3.3.3 定义型 900 3.3.4 初始化模型参数 101 3.3.5 定义损失函数 33.6 定义优化算法 3.3.7 珠 101 3.3.8 小结 3.3.9 练习 3.4 softmaxl回归 103 241 分类问题 3.4.2 网络架构 3.4.3 104 3.4.4 softmax运算., 104 34.5 小批量样本的矢最化 05 3.4.6 3.47 信良论基础.。 107 3.4.8 模型预测和评估 34.g 小结 18 3410练习..................。....。......。......... 108 3.5 图像分类数据集 读取数据集 3.5.2 3.5.3 整合所有组件 3.5. 小第 3.5.5 112 3.6 softmaxl回归的从零开始实现 113 3.6.1 初始化模型参数 。,,。。。”。”,。。””。,,。。。。。。。。。。。。 113 3.6.2 定义s0 ftmax操作,,,·,··························· 113
3.1.5 ⼩结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 3.1.6 练习 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 3.2 线性回归的从零开始实现 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 3.2.1 ⽣成数据集 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 3.2.2 读取数据集 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 3.2.3 初始化模型参数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 3.2.4 定义模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 3.2.5 定义损失函数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 3.2.6 定义优化算法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 3.2.7 训练 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 3.2.8 ⼩结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 3.2.9 练习 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 3.3 线性回归的简洁实现 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 3.3.1 ⽣成数据集 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 3.3.2 读取数据集 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 3.3.3 定义模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 3.3.4 初始化模型参数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 3.3.5 定义损失函数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 3.3.6 定义优化算法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 3.3.7 训练 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 3.3.8 ⼩结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 3.3.9 练习 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 3.4 softmax回归 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 3.4.1 分类问题 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 3.4.2 ⽹络架构 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 3.4.3 全连接层的参数开销 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 3.4.4 softmax运算 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 3.4.5 ⼩批量样本的⽮量化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 3.4.6 损失函数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 3.4.7 信息论基础 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 3.4.8 模型预测和评估 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 3.4.9 ⼩结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 3.4.10 练习 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 3.5 图像分类数据集 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 3.5.1 读取数据集 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 3.5.2 读取⼩批量 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 3.5.3 整合所有组件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 3.5.4 ⼩结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 3.5.5 练习 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 3.6 softmax回归的从零开始实现 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 3.6.1 初始化模型参数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 3.6.2 定义softmax操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 iii

3.6.3 定义模型 114 3.6.4 定义损失函数 115 3.6.5 分类精 3.66 训 3.6.7 预浏 120 3.6.8 小结 3.6.9 练习 120 3.7 softmax回归的简洁实现 121 初始化模型参数 重新审视Softmaxf的实现 3.7.3 23 374 123 3.7.5 小结 123 3.7.6 练 124 4多层感知机 125 4.1多层感知机 125 4.11 隐藏层 41.2 激活函数 4.1.3 小结 132 414 练习 133 4.2 多层感知机的从零开始实现 133 4.2.1 133 422 激活函数 423 模型 .24 损失函数 134 4.2.5 426 小结 427 练习 4.3 136 4.3.1 4.3.2 小临 4.3.3 练习 137 4.4 模型选择、欠拟合和过拟合·…………… 44.1 训练误差和泛化误差 4.4.2 140 4.4.3 欠拟合还是过拟合? 4.4.4 多项式回归.……… 142 4.4.5 小结 147 4.4.6 练习 4.5 权重衰 4.5.1 范数与权重衰 148
3.6.3 定义模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 3.6.4 定义损失函数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 3.6.5 分类精度 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 3.6.6 训练 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 3.6.7 预测 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 3.6.8 ⼩结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 3.6.9 练习 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 3.7 softmax回归的简洁实现 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 3.7.1 初始化模型参数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 3.7.2 重新审视Softmax的实现 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 3.7.3 优化算法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 3.7.4 训练 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 3.7.5 ⼩结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 3.7.6 练习 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 4 多层感知机 125 4.1 多层感知机 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 4.1.1 隐藏层 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 4.1.2 激活函数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 4.1.3 ⼩结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 4.1.4 练习 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 4.2 多层感知机的从零开始实现 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 4.2.1 初始化模型参数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 4.2.2 激活函数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 4.2.3 模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 4.2.4 损失函数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 4.2.5 训练 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 4.2.6 ⼩结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 4.2.7 练习 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 4.3 多层感知机的简洁实现 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 4.3.1 模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 4.3.2 ⼩结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 4.3.3 练习 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 4.4 模型选择、⽋拟合和过拟合 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 4.4.1 训练误差和泛化误差 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 4.4.2 模型选择 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 4.4.3 ⽋拟合还是过拟合? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 4.4.4 多项式回归 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 4.4.5 ⼩结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 4.4.6 练习 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 4.5 权重衰减 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 4.5.1 范数与权重衰减 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 iv

4.5.2 149 453 从零开始实现 45.4 简洁实现 4.5.5 小结 154 4.5.6 练习 4.6 暂退法(Dropout) 14 4.6.1 重新审视过拟合 154 4.6.2 扰动的稳健性 4.63 实践中的暂退法 4.6.4 从零开始实现 156 46.5 简洁实现. 159 4.6.6 小结 6 46.7 练习 4.7 前向传播、反向传播和计算图 161 47.1 前向传播 4.7.2 前向传播计算图 162 4.7.3 162 47.4 训练神经络 47.5 小结 4.7.6 珠习 164 4.8 数值稳定性和模型初始化 48.1 梯度消失和梯度爆 4.8.2 167 4.8.3 小结 4.8.4 练习 4.9 169 49.1 分布伯移的米型 169 4.9.2 分布偏移示例 4.9.3 分布偏移纠正 173 4.9.4 学习问颗的分类法 4.9.5机器学习中的公平、责任和透明度 49.6 小结 4.9.7 178 4.10实战Kaggle比赛:预测房价 4.10.1 下载和缓存数据集 180 4.10.3访问和读取数据集 4.10.4 数据预处理……… 4.10.5 183 4.10.6K折交叉验证。 4.10.7模型选择 185 4.10.8 提交你的Kagglef预测.··,·············…············
4.5.2 ⾼维线性回归 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 4.5.3 从零开始实现 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 4.5.4 简洁实现 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 4.5.5 ⼩结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 4.5.6 练习 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 4.6 暂退法(Dropout) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 4.6.1 重新审视过拟合 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 4.6.2 扰动的稳健性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 4.6.3 实践中的暂退法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 4.6.4 从零开始实现 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 4.6.5 简洁实现 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 4.6.6 ⼩结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 4.6.7 练习 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 4.7 前向传播、反向传播和计算图 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 4.7.1 前向传播 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 4.7.2 前向传播计算图 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 4.7.3 反向传播 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 4.7.4 训练神经⽹络 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 4.7.5 ⼩结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 4.7.6 练习 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 4.8 数值稳定性和模型初始化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 4.8.1 梯度消失和梯度爆炸 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 4.8.2 参数初始化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 4.8.3 ⼩结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 4.8.4 练习 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 4.9 环境和分布偏移 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 4.9.1 分布偏移的类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 4.9.2 分布偏移⽰例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 4.9.3 分布偏移纠正 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 4.9.4 学习问题的分类法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 4.9.5 机器学习中的公平、责任和透明度 . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 4.9.6 ⼩结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 4.9.7 练习 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 4.10 实战Kaggle⽐赛:预测房价 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 4.10.1 下载和缓存数据集 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 4.10.2 Kaggle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180 4.10.3 访问和读取数据集 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 4.10.4 数据预处理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182 4.10.5 训练 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 4.10.6 K折交叉验证 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184 4.10.7 模型选择 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 4.10.8 提交你的Kaggle预测 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186 v

4.10.9小结 188 4.10.10练习 5深度学习计算 189 5.1层和块 5.1 自定义块 17 5.1.2 192 513 在前向传播函数中执行代码 193 51.4 效率 194 5.1.5 小 195 5.1.6 练 5.2 参数管理 95 5.2.1 参数访问 5.2.2 19g 5.2.3 参数绑定 5.2 小结 201 5.25 练习 201 5.3 延后初始化 5.3.1 实例化网络 2 5.3.2 小结 202 523 练习 5.4 自定义 203 5.4.1 不带参数的层 03 542 带参数的层 30 5.4.3 小结 205 练习 2 5.5 卖写文件 305 55.1 加载和保存张量 552 加载和保存模型参数 5.5.3 小结 5.5.4 练习 5.6 GPU 28 5.6.1 3 5.6.2 张最与GPU 5.6.3 神经网络与GPU 213 5.6.4 小结 2 565 练习 6卷积神经网络 215 6.1从全连接层到卷积 216 不变性 216 6.1.2 217
4.10.9 ⼩结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188 4.10.10 练习 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188 5 深度学习计算 189 5.1 层和块 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189 5.1.1 ⾃定义块 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191 5.1.2 顺序块 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192 5.1.3 在前向传播函数中执⾏代码 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193 5.1.4 效率 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194 5.1.5 ⼩结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195 5.1.6 练习 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195 5.2 参数管理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195 5.2.1 参数访问 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196 5.2.2 参数初始化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199 5.2.3 参数绑定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201 5.2.4 ⼩结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201 5.2.5 练习 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201 5.3 延后初始化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202 5.3.1 实例化⽹络 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202 5.3.2 ⼩结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202 5.3.3 练习 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203 5.4 ⾃定义层 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203 5.4.1 不带参数的层 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203 5.4.2 带参数的层 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204 5.4.3 ⼩结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205 5.4.4 练习 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205 5.5 读写⽂件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205 5.5.1 加载和保存张量 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206 5.5.2 加载和保存模型参数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207 5.5.3 ⼩结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208 5.5.4 练习 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208 5.6 GPU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208 5.6.1 计算设备 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210 5.6.2 张量与GPU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211 5.6.3 神经⽹络与GPU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213 5.6.4 ⼩结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213 5.6.5 练习 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214 6 卷积神经⽹络 215 6.1 从全连接层到卷积 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216 6.1.1 不变性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216 6.1.2 多层感知机的限制 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217 vi

6.1.3 卷积 218 6.1 “沃尔多在哪里”回顾 6.15 小结 4…。。。。……4+。。。。。………+4。…4.4··。。4……4。·。。 9 6.1.6 练习 220 6.2 图像卷积 62.1 互相关运算 m 6.2.2 2 6.2.3 图像中目标的边缘检测 62. 学习卷积核 224 6.2.5 互相关和卷积 2 6.2.6 特征映射和感受野 225 6.2.7 小结 225 6.2.8 练习 6.3 填充和步幅 2 6.31 填充 6.3.2 步 228 6.3.3 小结 6.3.4 练习 6.4 多输入多输出通道 6.4.1 6.4.2 多输出场道 6.43 1×1卷积层 6.4.4 小结 233 6A5 练习 233 6.5 汇聚层 234 6.5.1 最大汇聚层和平均汇聚层···。······················· 6.5.2 填充和步幅。···· 6.5.3 多个通道 237 6.5.4 小 2 6.5.5 练习 6.6 卷积神经网络(LeNet). 66 LeNet 6.6.2 244 6.6.3 小结 6.6.4 练习 7现代卷积神经网络 7.1深度卷积神经网络(AlexNet) 246 7.11 学习表征·…· 246 7.1.2 AlexNet. 7.1.3 读取数据 7.1.4 252
6.1.3 卷积 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218 6.1.4 “沃尔多在哪⾥”回顾 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219 6.1.5 ⼩结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220 6.1.6 练习 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220 6.2 图像卷积 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220 6.2.1 互相关运算 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221 6.2.2 卷积层 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222 6.2.3 图像中⽬标的边缘检测 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223 6.2.4 学习卷积核 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224 6.2.5 互相关和卷积 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225 6.2.6 特征映射和感受野 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225 6.2.7 ⼩结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225 6.2.8 练习 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226 6.3 填充和步幅 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226 6.3.1 填充 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226 6.3.2 步幅 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228 6.3.3 ⼩结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229 6.3.4 练习 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229 6.4 多输⼊多输出通道 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230 6.4.1 多输⼊通道 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230 6.4.2 多输出通道 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231 6.4.3 1 × 1 卷积层 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232 6.4.4 ⼩结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233 6.4.5 练习 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233 6.5 汇聚层 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234 6.5.1 最⼤汇聚层和平均汇聚层 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234 6.5.2 填充和步幅 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236 6.5.3 多个通道 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237 6.5.4 ⼩结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237 6.5.5 练习 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238 6.6 卷积神经⽹络(LeNet) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238 6.6.1 LeNet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238 6.6.2 模型训练 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241 6.6.3 ⼩结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243 6.6.4 练习 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243 7 现代卷积神经⽹络 245 7.1 深度卷积神经⽹络(AlexNet) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246 7.1.1 学习表征 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246 7.1.2 AlexNet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248 7.1.3 读取数据集 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251 7.1.4 训练AlexNet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252 vii

7.1.5 小结 252 7.1.6练习 252 7.21 VGG块 7.2.2 VGG国络 254 7.2.3 训练模型 72.4 7.2.5 练习 257 7.3 网络中的网络NiN) 73.1 NiN块 7.3.2 NiN模型 259 723 训练模型 7.34 小结 260 7.3.5 练习 260 7.4 含并行连结的网络(GoogLeNet) 7.4.1 Inception块 261 7.4.2 GoogLeNet模型 7.43 训练模型 6 7.4.4 小结 74.5 266 7.5 批量规范化 7.5.1 训练深层网络 75.2 批量规范化层 7.5.3 从客买.。. 26g 7.5.4 使用批量规范化层的LeNet 2 75.5 简明实现 271 7.5.6 272 757 小结 75.8 练习 7.6 我差网路(ResNet) 273 761 函数类 274 76.2 残差块 275 7.6.3 2 7.6.4 训练模型 7.6.5 小结 7.6.6 练习 281 7.7 稠密连接网络(DenseNet), 从ResNet到DenseNet 稠密块体 7.7.3 283 7.7.4 284 7.7.5 训练模型 285
7.1.5 ⼩结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252 7.1.6 练习 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252 7.2 使⽤块的⽹络(VGG) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253 7.2.1 VGG块 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253 7.2.2 VGG⽹络 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254 7.2.3 训练模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256 7.2.4 ⼩结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256 7.2.5 练习 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257 7.3 ⽹络中的⽹络(NiN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257 7.3.1 NiN块 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257 7.3.2 NiN模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259 7.3.3 训练模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260 7.3.4 ⼩结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260 7.3.5 练习 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260 7.4 含并⾏连结的⽹络(GoogLeNet) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261 7.4.1 Inception块 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261 7.4.2 GoogLeNet模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262 7.4.3 训练模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265 7.4.4 ⼩结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265 7.4.5 练习 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266 7.5 批量规范化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266 7.5.1 训练深层⽹络 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266 7.5.2 批量规范化层 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267 7.5.3 从零实现 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268 7.5.4 使⽤批量规范化层的 LeNet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270 7.5.5 简明实现 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271 7.5.6 争议 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272 7.5.7 ⼩结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273 7.5.8 练习 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273 7.6 残差⽹络(ResNet) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273 7.6.1 函数类 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274 7.6.2 残差块 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275 7.6.3 ResNet模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277 7.6.4 训练模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280 7.6.5 ⼩结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281 7.6.6 练习 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281 7.7 稠密连接⽹络(DenseNet) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281 7.7.1 从ResNet到DenseNet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281 7.7.2 稠密块体 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282 7.7.3 过渡层 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283 7.7.4 DenseNet模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284 7.7.5 训练模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285 viii

7.7.6 小结 285 7.7.7 练 285 8循环神经网络 287 序列模 8.1.1 统计江具…………… 288 8.12 训练 8.1.3 293 2 8.1.5 练 8.2 文本须处理 82.1 296 读取数据集 2 8.2.2 词元化… 297 8.2.3 词表 82.4 整合所有功能 208 8.2.5 小结 300 8.2.6 练习 301 8.3 语言模型和数据集 301 8.3.1 学习语言模型 83.2 马尔可夫模型与n元语法 0 8.33 自然语言统计 303 8.3.4 读取长序列数 306 8.3.5 小结 。。 3 8.3.6 练习 8.4 循环神经 8.4.1 310 8.4.2 有隐状态的循环神经网路 84.3 基于循环神经网络的字符级语 言模型 8.4.4 N&度(Perplexity 3 8.4.5 小结 31 84.6 练习 315 8.5 循环神经网络的从零开始实现···。·。。。························ 315 851 独热编码, 85.2 初始化模型参数 6 8.5.3 6 8.5.4 流 梯度裁剪 8.5.6 8.5.7 小结 。 323 8.5.8练习 8.6 循环神经网络的简洁实现 8.6.1 空
7.7.6 ⼩结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285 7.7.7 练习 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285 8 循环神经⽹络 287 8.1 序列模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288 8.1.1 统计⼯具 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288 8.1.2 训练 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291 8.1.3 预测 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293 8.1.4 ⼩结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295 8.1.5 练习 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296 8.2 ⽂本预处理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296 8.2.1 读取数据集 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296 8.2.2 词元化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297 8.2.3 词表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298 8.2.4 整合所有功能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300 8.2.5 ⼩结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300 8.2.6 练习 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301 8.3 语⾔模型和数据集 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301 8.3.1 学习语⾔模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301 8.3.2 ⻢尔可夫模型与n元语法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302 8.3.3 ⾃然语⾔统计 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303 8.3.4 读取⻓序列数据 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306 8.3.5 ⼩结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309 8.3.6 练习 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309 8.4 循环神经⽹络 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310 8.4.1 ⽆隐状态的神经⽹络 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310 8.4.2 有隐状态的循环神经⽹络 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311 8.4.3 基于循环神经⽹络的字符级语⾔模型 . . . . . . . . . . . . . . . . . . . . . . . . . . 313 8.4.4 困惑度(Perplexity) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313 8.4.5 ⼩结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314 8.4.6 练习 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315 8.5 循环神经⽹络的从零开始实现 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315 8.5.1 独热编码 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315 8.5.2 初始化模型参数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316 8.5.3 循环神经⽹络模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316 8.5.4 预测 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318 8.5.5 梯度裁剪 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318 8.5.6 训练 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319 8.5.7 ⼩结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323 8.5.8 练习 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323 8.6 循环神经⽹络的简洁实现 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323 8.6.1 定义模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324 ix
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 西北农林科技大学:《Visual Basic程序设计基础》课程教学资源(PPT课件)第07章 数据文件.ppt
- 西北农林科技大学:《Visual Basic程序设计基础》课程教学资源(PPT课件)第06章 模块化程序设计.ppt
- 西北农林科技大学:《Visual Basic程序设计基础》课程教学资源(PPT课件)第05章 编程思维与方法训练.ppt
- 西北农林科技大学:《Visual Basic程序设计基础》课程教学资源(PPT课件)第04章 数组与自定义类型.ppt
- 西北农林科技大学:《Visual Basic程序设计基础》课程教学资源(PPT课件)第03章 基本控制结构.ppt
- 西北农林科技大学:《Visual Basic程序设计基础》课程教学资源(PPT课件)第02章 代码基础.ppt
- 西北农林科技大学:《Visual Basic程序设计基础》课程教学资源(PPT课件)第01章 VB可视化编程基础.ppt
- 西北农林科技大学:《Visual Basic程序设计基础》课程授课教案(主讲教师:陈勇).pdf
- 西北农林科技大学:《Visual Basic程序设计基础》课程教学资源(参考资料)WINDOWS VC VB API 函数大全.doc
- 西北农林科技大学:《Visual Basic程序设计基础》课程教学大纲 Fundamentals of Programing in Visual Basic.pdf
- 西北农林科技大学:《J2EE技术》课程教学资源(PPT课件)17 Spring入门.ppt
- 西北农林科技大学:《J2EE技术》课程教学资源(PPT课件)16 Hibernate入门.ppt
- 西北农林科技大学:《J2EE技术》课程教学资源(PPT课件)15 Struts入门.ppt
- 西北农林科技大学:《J2EE技术》课程教学资源(PPT课件)13 JPA进阶(JPQL,Java Persistence Query Language).ppt
- 西北农林科技大学:《J2EE技术》课程教学资源(PPT课件)12 Java持久化API(JPA)概述与基础应用(Java Persistence API).ppt
- 西北农林科技大学:《J2EE技术》课程教学资源(PPT课件)11 JMS与消息驱动bean(MDB).ppt
- 西北农林科技大学:《J2EE技术》课程教学资源(PPT课件)10 会话bean.ppt
- 西北农林科技大学:《J2EE技术》课程教学资源(PPT课件)09 EJB概述(Enterprise JavaBean).ppt
- 西北农林科技大学:《J2EE技术》课程教学资源(PPT课件)08 JSF组件.ppt
- 西北农林科技大学:《J2EE技术》课程教学资源(PPT课件)07 JSF概述(JavaServer Faces).ppt
- 《机器学习》课程教学资源:《机器学习》参考书籍PDF电子版(清华大学出版社,著:周志华).pdf
- 《机器学习》课程教学资源:《神经网络与深度学习》参考书籍PDF电子版 Neural Networks and Deep Learning(共十五章).pdf
- 《机器学习》课程教学资源:《统计学习方法》参考书籍PDF电子版(清华大学出版社,第2版,共22章,作者:李航).pdf
- 《机器学习》课程教学资源:《Python数据科学手册》参考书籍PDF电子版(2016)Python Data Science Handbook,Essential Tools for Working with Data,Jake VanderPlas.pdf
- 《机器学习》课程教学资源:《大语言模型》参考书籍PDF电子版 THE CHINESE BOOK FOR LARGE LANGUAGE MODELS(共十三章).pdf
- 广东工业大学:《机器学习》课程教学资源(课件讲义)第1讲 机器学习概述.pdf
- 广东工业大学:《机器学习》课程教学资源(课件讲义)第2讲 模型评估与选择.pdf
- 广东工业大学:《机器学习》课程教学资源(课件讲义)第3讲 特征工程 Feature Engineering.pdf
- 广东工业大学:《机器学习》课程教学资源(课件讲义)第4讲 分类问题(4.1 分类与回归问题概述 4.2 分类性能度量?法).pdf
- 广东工业大学:《机器学习》课程教学资源(课件讲义)第5讲 分类问题(4.3 ?持向量机 SVM).pdf
- 广东工业大学:《机器学习》课程教学资源(课件讲义)第5讲 分类问题(4.4 朴素?叶斯分类器).pdf
- 广东工业大学:《机器学习》课程教学资源(课件讲义)第6讲 线性回归模型及其求解方法 Linear Regression Model and Its Solution.pdf
- 广东工业大学:《机器学习》课程教学资源(课件讲义)第7讲 集成学习(决策树).pdf
- 广东工业大学:《机器学习》课程教学资源(课件讲义)第8讲 集成学习(决策树的演化).pdf
- 广东工业大学:《机器学习》课程教学资源(课件讲义)第9讲 神经网络的优化(损失函数).pdf
- 广东工业大学:《机器学习》课程教学资源(课件讲义)第9讲 神经网络的优化(梯度下降、学习率adagrad adam、随机梯度下降、特征缩放).pdf
- 广东工业大学:《机器学习》课程教学资源(课件讲义)第10讲 神经网络的优化(batch和动量Momentum NAG).pdf
- 广东工业大学:《机器学习》课程教学资源(课件讲义)第10讲 神经网络的优化(自适应学习率 AdaGrad RMSProp).pdf
- 广东工业大学:《机器学习》课程教学资源(课件讲义)第10讲 神经网络的优化(梯度消失和梯度爆炸BN).pdf
- 广东工业大学:《机器学习》课程教学资源(课件讲义)第10讲 神经网络的优化(激活函数 dropout).pdf