第1章 数学基础 1
1.1线性代数 2
1.1.1向量 2
1.1.2标量 2
1.1.3矩阵 3
1.1.4张量 3
1.1.5矩阵的运算和操作 4
1.1.6向量的线性独立 6
1.1.7矩阵的秩 8
1.1.8单位矩阵或恒等运算符 8
1.1.9矩阵的行列式 9
1.1.10逆矩阵 10
1.1.11向量的范数(模) 11
1.1.12伪逆矩阵 12
1.1.13以特定向量为方向的单位向量 12
1.1.14一个向量在另一个向量方向上的投影(或射影) 12
1.1.15 特征向量 12
1.2微积分 17
1.2.1微分 17
1.2.2函数的梯度 17
1.2.3连续偏导数 18
1.2.4海森矩阵 18
1.2.5函数的极大值和极小值 18
1.2.6局部极小值和全局最小值 20
1.2.7半正定以及正定矩阵 21
1.2.8凸集 21
1.2.9凸函数 22
1.2.10非凸函数 22
1.2.11多变量凸函数以及非凸函数范例 23
1.2.12泰勒级数 24
1.3概率 24
1.3.1并集、交集和条件概率 25
1.3.2事件交集概率的链式法则 26
1.3.3互斥事件 26
1.3.4事件独立性 27
1.3.5事件条件独立性 27
1.3.6贝叶斯定理(公式) 27
1.3.7概率质量函数 28
1.3.8概率密度函数 28
1.3.9随机变量的数学期望 28
1.3.10随机变量的方差 28
1.3.11偏度和峰度 29
1.3.12协方差 30
1.3.13相关性系数 31
1.3.14一些常见的概率分布 31
1.3.15 似然函数 34
1.3.16最大似然估计 35
1.3.17假设检验和p值 36
1.4机器学习算法的制定与优化算法 38
1.4.1监督学习 38
1.4.2无监督学习 45
1.4.3机器学习的优化算法 45
1.4.4约束优化问题 53
1.5机器学习中的几个重要主题 54
1.5.1降维方法 54
1.5.2正则化 58
1.5.3约束优化问题中的正则化 59
1.6总结 60
第2章 深度学习概念和TensorFlow介绍 61
2.1深度学习及其发展 61
2.2感知机和感知机学习算法 63
2.2.1感知机学习的几何解释 65
2.2.2感知机学习的局限性 66
2.2.3非线性需求 68
2.2.4隐藏层感知机的非线性激活函数 69
2.2.5神经元或感知机的不同激活函数 70
2.2.6多层感知机网络的学习规则 74
2.2.7梯度计算的反向传播 75
2.2.8反向传播方法推广到梯度计算 76
2.3 TensorFlow 82
2.3.1常见的深度学习包 82
2.3.2 TensorFlow的安装 83
2.3.3 TensorFlow的开发基础 83
2.3.4深度学习视角下的梯度下降优化方法 86
2.3.5随机梯度下降的小批量方法中的学习率 90
2.3.6 TensorFlow中的优化器 90
2.3.7 TensorFlow实现XOR 96
2.3.8 TensorFlow中的线性回归 100
2.3.9使用全批量梯度下降的SoftMax函数多分类 103
2.3.10使用随机梯度下降的SoftMax函数多分类 105
2.4 GPU 107
2.5总结 108
第3章 卷积神经网络 109
3.1卷积操作 109
3.1.1线性时不变和线性移不变系统 109
3.1.2一维信号的卷积 111
3.2模拟信号和数字信号 112
3.2.1二维和三维信号 113
3.3二维卷积 114
3.3.1二维单位阶跃函数 114
3.3.2 ISI系统中单位阶跃响应信号的二维卷积 115
3.3.3不同的LSI系统中图像的二维卷积 117
3.4常见的图像处理滤波器 120
3.4.1均值滤波器 120
3.4.2中值滤波器 122
3.4.3高斯滤波器 122
3.4.4梯度滤波器 123
3.4.5 Sobel边缘检测滤波器 125
3.4.6恒等变换 127
3.5卷积神经网络 128
3.6卷积神经网络的组成部分 128
3.6.1输入层 129
3.6.2卷积层 129
3.6.3池化层 131
3.7卷积层中的反向传播 131
3.8池化层中的反向传播 134
3.9卷积中的权值共享及其优点 136
3.10平移同变性 136
3.11池化的平移不变性 137
3.12丢弃层和正则化 138
3.13 MNIST数据集上进行手写数字识别的卷积神经网络 140
3.14用来解决现实问题的卷积神经网络 144
3.15批规范化 151
3.16卷积神经网络中的几种不同的网络结构 153
3.16.1 LeNet 153
3.16.2 AlexNet 154
3.16.3 VGG16 155
3.16.4 ResNet 156
3.17迁移学习 157
3.17.1迁移学习的使用指导 158
3.17.2使用谷歌InceptionV3网络进行迁移学习 159
3.17.3使用预训练的VGG16网络迁移学习 162
3.18总结 166
第4章 基于循环神经网络的自然语言处理 167
4.1向量空间模型 167
4.2单词的向量表示 170
4.3 Word2Vec 170
4.3.1 CBOW 171
4.3.2 CBOW在TensorFlow中的实现 173
4.3.3词向量嵌入的Skip-gram模型 176
4.3.4 Skip-gram在TensorFlow中的实现 178
4.3.5基于全局共现方法的词向量 181
4.3.6 GloVe 186
4.3.7词向量类比法 188
4.4循环神经网络的介绍 191
4.4.1语言建模 193
4.4.2用循环神经网络与传统方法预测句子中的下一个词的对比 193
4.4.3基于时间的反向传播 194
4.4.4循环神经网络中的梯度消失与爆炸问题 196
4.4.5循环神经网络中的梯度消失与爆炸问题的解决方法 198
4.4.6 LSTM 199
4.4.7 LSTM在减少梯度爆炸和梯度消失问题中的应用 200
4.4.8在TensorFlow中使用循环神经网络进行MNIST数字识别 201
4.4.9门控循环单元 210
4.4.10双向循环神经网络 211
4.5总结 212
第5章 用受限玻尔兹曼机和自编码器进行无监督学习 214
5.1玻尔兹曼分布 214
5.2贝叶斯推断:似然、先验和后验概率分布 215
5.3 MCMC采样方法 219
5.3.1 Metropolis算法 222
5.4受限玻尔兹曼机 226
5.4.1训练受限玻尔兹曼机 229
5.4.2吉布斯采样 233
5.4.3块吉布斯采样 234
5.4.4 Burn-in阶段和吉布斯采样中的样本生成 235
5.4.5基于吉布斯采样的受限玻尔兹曼机 235
5.4.6对比散度 236
5.4.7受限玻尔兹曼机的TensorFlow实现 237
5.4.8基于受限玻尔兹曼机的协同过滤 239
5.4.9深度置信网络 244
5.5自编码器 248
5.5.1基于自编码器的监督式特征学习 250
5.5.2 KL散度 251
5.5.3稀疏自编码器 251
5.5.4稀疏自编码器的TensorFlow实现 253
5.5.5去噪自编码器 255
5.5.6去噪自编码器的TensorFlow实现 256
5.6 PCA和ZCA白化 262
5.7总结 264
第6章 高级神经网络 265
6.1图像分割 265
6.1.1基于像素强度直方图的二元阈值分割方法 265
6.1.2大津法 266
6.1.3用于图像分割的分水岭算法 268
6.1.4使用K-means聚类进行图像分割 272
6.1.5语义分割 274
6.1.6滑动窗口方法 274
6.1.7全卷积网络 275
6.1.8全卷积网络的下采样和上采样 277
6.1.9 U-Net 281
6.1.10在TensorFlow中使用全卷积神经网络进行语义分割 283
6.2图像分类和定位网络 290
6.3物体检测 292
6.3.1 R-CNN 293
6.3.2 Fast和Faster R-CNN 294
6.4生成式对抗网络 295
6.4.1极大极小和极小极大问题 295
6.4.2零和博弈 297
6.4.3极小极大和鞍点 298
6.4.4生成式对抗网络的损失函数和训练 300
6.4.5生成器的梯度消弭 302
6.4.6生成式对抗网络的TensorFlow实现 302
6.5生成环境下的TensorFlow模型应用 305
6.6总结 308