目 录
第1章 深度学习的发展介绍 1
1.1 如何阅读本书 3
1.2 深度学习沉浮史 3
1.2.1 模拟生物大脑的疯狂远古时代 4
1.2.2 联结主义近代 5
1.2.3 百花齐放,层次结构主导,模型巨大的当代 6
1.3 Python简易教程 7
1.3.1 Anaconda搭建 7
1.3.2 IPython Notebook使用 7
1.3.3 Python基本用法 8
1.3.4 NumPy 15
1.3.5 Matplotlib 23
1.4 参考文献 25
第2章 机器学习快速入门 27
2.1 学习算法 28
2.1.1 学习任务 29
2.1.2 性能度量 30
2.1.3 学习经验 32
2.2 代价函数 33
2.2.1 均方误差函数 33
2.2.2 极大似然估计 34
2.3 梯度下降法 36
2.3.1 批量梯度下降法 38
2.3.2 随机梯度下降法 39
2.4 过拟合与欠拟合 40
2.4.1 没免费午餐理论 42
2.4.2 正则化 43
2.5 超参数与验证集 44
2.6 Softmax编码实战 46
2.6.1 编码说明 49
2.6.2 熟练使用CIFAR-10 数据集 50
2.6.3 显式循环计算损失函数及其梯度 53
2.6.4 向量化表达式计算损失函数及其梯度 56
2.6.5 最小批量梯度下降算法训练Softmax分类器 57
2.6.6 使用验证数据选择超参数 61
2.7 参考代码 68
2.8 参考文献 70
第3章 前馈神经网络 72
3.1 神经元 73
3.1.1 Sigmoid神经元 74
3.1.2 Tanh神经元 75
3.1.3 ReLU神经元 76
3.2 前馈神经网络 80
3.2.1 输出层单元 80
3.2.2 隐藏层单元 80
3.2.3 网络结构设计 81
3.3 BP算法 82
3.4 深度学习编码实战上 86
3.4.1 实现仿射传播 88
3.4.2 实现ReLU传播 91
3.4.3 组合单层神经元 93
3.4.4 实现浅层神经网络 96
3.4.5 实现深层全连接网络 101
3.5 参考代码 109
3.6 参考文献 113
第4章 深度学习正则化 115
4.1 参数范数惩罚 116
4.1.1 L2参数正则化 118
4.1.2 L1正则化 119
4.2 参数绑定与参数共享 120
4.3 噪声注入与数据扩充 120
4.4 稀疏表征 122
4.5 早停 123
4.6 Dropout 126
4.6.1 个体与集成 126
4.6.2 Dropout 127
4.7 深度学习编码实战中 129
4.7.1 Dropout传播 131
4.7.2 组合Dropout传播层 134
4.7.3 Dropout神经网络 136
4.7.4 解耦训练器trainer 138
4.7.5 解耦更新器updater 143
4.7.6 正则化实验 145
4.8 参考代码 148
4.9 参考文献 150
第5章 深度学习优化 152
5.1 神经网络优化困难 153
5.1.1 局部最优 153
5.1.2 鞍点 154
5.1.3 梯度悬崖 154
5.1.4 梯度消失或梯度爆炸 155
5.1.5 梯度不精确 156
5.1.6 优化理论的局限性 156
5.2 随机梯度下降 156
5.3 动量学习法 158
5.4 AdaGrad和RMSProp 159
5.5 Adam 160
5.6 参数初始化策略 161
5.7 批量归一化 163
5.7.1 BN算法详解 163
5.7.2 BN传播详解 165
5.8 深度学习编码实战下 166
5.8.1 Momentum 167
5.8.2 RMSProp 171
5.8.3 Adam 172
5.8.4 更新规则比较 174
5.8.5 BN前向传播 176
5.8.6 BN反向传播 180
5.8.7 使用BN的全连接网络 182
5.8.8 BN算法与权重标准差比较 188
5.9 参考代码 191
5.10 参考文献 195
第6章 卷积神经网络 196
6.1 卷积操作 197
6.2 卷积的意义 198
6.2.1 稀疏连接 199
6.2.2 参数共享 200
6.3 池化操作 201
6.4 设计卷积神经网络 204
6.4.1 跨步卷积 204
6.4.2 零填充 205
6.4.3 非共享卷积 206
6.4.4 平铺卷积 207
6.5 卷积网络编码练习 208
6.5.1 卷积前向传播 209
6.5.2 卷积反向传播 212
6.5.3 最大池化前向传播 215
6.5.4 最大池化反向传播 218
6.5.5 向量化执行 220
6.5.6 组合完整卷积层 223
6.5.7 浅层卷积网络 224
6.5.8 空间批量归一化 229
6.6 参考代码 233
6.7 参考文献 237
第7章 循环神经网络 238
7.1 循环神经网络 239
7.1.1 循环神经元展开 239
7.1.2 循环网络训练 240
7.2 循环神经网络设计 242
7.2.1 双向循环网络结构 242
7.2.2 编码-解码网络结构 243
7.2.3 深度循环网络结构 244
7.3 门控循环神经网络 245
7.3.1 LSTM 246
7.3.2 门控循环单元 249
7.4 RNN编程练习 250
7.4.1 RNN单步传播 252
7.4.2 RNN时序传播 255
7.4.3 词嵌入 258
7.4.4 RNN输出层 261
7.4.5 时序Softmax损失 262
7.4.6 RNN图片说明任务 264
7.5 LSTM编程练习 269
7.5.1 LSTM单步传播 269
7.5.2 LSTM时序传播 273
7.5.3 LSTM实现图片说明任务 276
7.6 参考代码 278
7.6.1 RNN参考代码 278
7.6.2 LSTM参考代码 282
7.7 参考文献 285
第8章 TensorFlow快速入门 287
8.1 TensorFlow介绍 288
8.2 TensorFlow 1.0安装指南 289
8.2.1 双版本切换Anaconda 289
8.2.2 安装CUDA 8.0 291
8.2.3 安装cuDNN 292
8.2.4 安装TensorFlow 293
8.2.5 验证安装 294
8.3 TensorFlow基础 295
8.3.1 Tensor 295
8.3.2 TensorFlow核心API教程 296
8.3.3 tf.train API 299
8.3.4 tf.contrib.learn 301
8.4 TensorFlow构造CNN 305
8.4.1 构建Softmax模型 305
8.4.2 使用TensorFlow训练模型 307
8.4.3 使用TensorFlow评估模型 308
8.4.4 使用TensorFlow构建卷积神经网络 308
8.5 TensorBoard快速入门 311
8.5.1 TensorBoard可视化学习 312
8.5.2 计算图可视化 316
展开