第一部分 模型篇 2
第1章 机器学习简介 2
1.1引言 2
1.2基本术语 3
1.3重要概念 5
1.4图像分类 12
1.5 MNIST数据集简介 15
第2章 线性分类器 17
2.1线性模型 17
2.1.1线性分类器 18
2.1.2理解线性分类器 19
2.1.3代码实现 21
2.2 softmax损失函数 22
2.2.1损失函数的定义 23
2.2.2概率解释 24
2.2.3代码实现 25
2.3优化 26
2.4梯度下降法 26
2.4.1梯度的解析意义 27
2.4.2梯度的几何意义 29
2.4.3梯度的物理意义 29
2.4.4 梯度下降法代码实现 29
2.5牛顿法 30
2.6机器学习模型统一结构 31
2.7正则化 33
2.7.1范数正则化 34
2.7.2提前终止训练 37
2.7.3概率的进一步解释 38
第3章 神经网络 39
3.1数学模型 39
3.2激活函数 41
3.3代码实现 44
3.4学习容量和正则化 45
3.5生物神经科学基础 48
第4章 卷积神经网络的结构 50
4.1概述 50
4.1.1局部连接 51
4.1.2参数共享 52
4.1.3 3D特征图 52
4.2卷积层 53
4.2.1卷积运算及代码实现 54
4.2.2卷积层及代码初级实现 57
4.2.3卷积层参数总结 63
4.2.4用连接的观点看卷积层 64
4.2.5使用矩阵乘法实现卷积层运算 67
4.2.6批量数据的卷积层矩阵乘法的代码实现 69
4.3池化层 74
4.3.1概述 74
4.3.2池化层代码实现 76
4.4全连接层 79
4.4.1全连接层转化成卷积层 80
4.4.2全连接层代码实现 82
4.5卷积网络的结构 83
4.5.1层的组合模式 83
4.5.2表示学习 86
4.6卷积网络的神经科学基础 87
第二部分 优化篇 90
第5章 基于梯度下降法的最优化方法 90
5.1随机梯度下降法SGD 91
5.2基本动量法 93
5.3 Nesterov动量法 95
5.4 AdaGrad 95
5.5 RMSProp 97
5.6 Adam 98
5.7 AmsGrad 99
5.8学习率退火 99
5.9参数初始化 100
5.10超参数调优 101
第6章 梯度反向传播算法 104
6.1基本函数的梯度 104
6.2链式法则 105
6.3深度网络的误差反向传播算法 107
6.4矩阵化 109
6.5 softmax损失函数梯度计算 111
6.6全连接层梯度反向传播 112
6.7激活层梯度反向传播 113
6.8卷积层梯度反向传播 115
6.9最大值池化层梯度反向传播 118
第三部分 实战篇 124
第7章 训练前的准备 124
7.1中心化和规范化 124
7.1.1利用线性模型推导中心化 125
7.1.2利用属性同等重要性推导规范化 126
7.1.3中心化和规范化的几何意义 128
7.2 PCA和白化 128
7.2.1从去除线性相关性推导PCA 129
7.2.2 PCA代码 130
7.2.3 PCA降维 131
7.2.4 PCA的几何意义 133
7.2.5白化 134
7.3卷积网络在进行图像分类时如何预处理 135
7.4 BN 136
7.4.1 BN前向计算 136
7.4.2 BN层的位置 137
7.4.3 BN层的理论解释 138
7.4.4 BN层在实践中的注意事项 139
7.4.5 BN层的梯度反向传播 140
7.4.6 BN层的地位探讨 141
7.4.7将BN层应用于卷积网络 141
7.5数据扩增 142
7.6梯度检查 144
7.7初始损失值检查 146
7.8过拟合微小数据子集 146
7.9监测学习过程 147
7.9.1损失值 147
7.9.2训练集和验证集的准确率 148
7.9.3参数更新比例 149
第8章 神经网络实例 150
8.1生成数据 150
8.2数据预处理 152
8.3网络模型 153
8.4梯度检查 156
8.5参数优化 158
8.6训练网络 159
8.7过拟合小数据集 162
8.8超参数随机搜索 162
8.9评估模型 165
8.10程序组织结构 165
8.11增加BN层 167
8.12程序使用建议 171
第9章 卷积神经网络实例 172
9.1程序结构设计 173
9.2激活函数 173
9.3正则化 174
9.4优化方法 175
9.5卷积网络的基本模块 176
9.6训练方法 181
9.7 VGG网络结构 186
9.8 MNIST数据集 197
9.9梯度检测 199
9.10 MNIST数据集的训练结果 202
9.11程序使用建议 205
第10章 卷积网络结构的发展 206
10.1全局平均池化层 206
10.2去掉池化层 208
10.3网络向更深更宽发展面临的困难 209
10.4 ResNet向更深发展的代表网络 210
10.5 GoogLeNet向更宽发展的代表网络 213
10.6轻量网络 215
10.6.1 1 × 1深度维度卷积代码实现 217
10.6.2 3×3逐特征图的卷积代码实现 219
10.6.3逆残差模块的代码实现 222
10.7注意机制网络SENet 223