第1章 深度学习基础\t1
1.1 深度学习概述\t1
1.1.1 什么是深度学习\t1
1.1.2 深度学习的应用场景\t3
1.1.3 深度学习的发展动力\t4
1.1.4 深度学习的未来\t4
1.2 Python入门\t5
1.2.1 Python简介\t5
1.2.2 Python的安装\t6
1.2.3 Python基础知识\t6
1.2.4 NumPy矩阵运算\t11
1.2.5 Matplotlib绘图\t15
1.3 Anaconda与Jupyter Notebook\t19
1.3.1 Anaconda\t19
1.3.2 Jupyter Notebook\t21
第2章 PyTorch\t26
2.1 PyTorch概述\t26
2.1.1 什么是PyTorch\t26
2.1.2 为什么使用PyTorch\t27
2.2 PyTorch的安装\t27
2.3 张量\t30
2.3.1 张量的创建\t30
2.3.2 张量的数学运算\t31
2.3.3 张量与NumPy数组\t32
2.3.4 CUDA张量\t33
2.4 自动求导\t33
2.4.1 返回值是标量\t33
2.4.2 返回值是张量\t34
2.4.3 禁止自动求导\t34
2.5 torch.nn和torch.optim\t35
2.5.1 torch.nn\t35
2.5.2 torch.optim\t36
2.6 线性回归\t37
2.6.1 线性回归的基本原理\t37
2.6.2 线性回归的PyTorch实现\t38
第3章 TensorFlow\t41
3.1 TensorFlow概述\t41
3.1.1 什么是TensorFlow\t41
3.1.2 为什么使用TensorFlow\t41
3.2 TensorFlow的安装\t42
3.3 张量\t44
3.3.1 张量的创建\t44
3.3.2 张量的数学运算\t44
3.4 数据流图\t45
3.5 会话\t46
3.6 线性回归的TensorFlow实现\t48
3.7 TensorBoard\t51
3.7.1 TensorBoard代码\t51
3.7.2 TensorBoard显示\t52
第4章 神经网络基础知识\t55
4.1 感知机\t55
4.1.1 感知机模型\t55
4.1.2 感知机与逻辑电路\t56
4.2 多层感知机\t59
4.2.1 感知机的局限性\t59
4.2.2 多层感知机实现异或门逻辑\t61
4.3 逻辑回归\t62
4.3.1 基本原理\t62
4.3.2 损失函数\t63
4.3.3 梯度下降算法\t65
4.3.4 逻辑回归的Python实现\t69
第5章 神经网络\t74
5.1 基本结构\t74
5.2 前向传播\t75
5.3 激活函数\t76
5.4 反向传播\t80
5.5 更新参数\t81
5.6 初始化\t81
5.7 神经网络的Python实现\t82
5.7.1 准备数据\t82
5.7.2 参数初始化\t83
5.7.3 前向传播\t84
5.7.4 交叉熵损失\t85
5.7.5 反向传播\t85
5.7.6 更新参数\t86
5.7.7 构建整个神经网络模型\t87
5.7.8 训练\t88
5.7.9 预测\t88
第6章 深层神经网络\t91
6.1 深层神经网络的优势\t91
6.2 符号标记\t93
6.3 前向传播与反向传播\t93
6.4 多分类函数Softmax\t96
6.4.1 Softmax函数的基本原理\t96
6.4.2 Softmax损失函数\t97
6.4.3 对Softmax函数求导\t97
6.5 深层神经网络的Python实现\t99
6.5.1 准备数据\t99
6.5.2 参数初始化\t101
6.5.3 前向传播\t102
6.5.4 交叉熵损失\t104
6.5.5 反向传播\t105
6.5.6 更新参数\t107
6.5.7 构建整个神经网络\t108
6.5.8 训练与预测\t109
第7章 优化神经网络\t112
7.1 正则化\t112
7.1.1 什么是过拟合\t112
7.1.2 L2正则化和L1正则化\t115
7.1.3 Dropout正则化\t117
7.1.4 其他正则化技巧\t120
7.2 梯度优化\t121
7.2.1 批量梯度下降、随机梯度下降和小批量梯度下降\t121
7.2.2 动量梯度下降算法\t124
7.2.3 牛顿动量\t126
7.2.4 AdaGrad\t127
7.2.5 RMSprop\t127
7.2.6 Adam\t128
7.2.7 学习率衰减\t129
7.3 网络初始化与超参数调试\t130
7.3.1 输入标准化\t130
7.3.2 权重参数初始化\t132
7.3.3 批归一化\t134
7.3.4 超参数调试\t136
7.4 模型评估与调试\t138
7.4.1 模型评估\t138
7.4.2 训练集、验证集和测试集\t139
7.4.3 偏差与方差\t141
7.4.4 错误分析\t141
第8章 卷积神经网络\t144
8.1 为什么选择卷积神经网络\t144
8.2 卷积神经网络的基本结构\t145
8.3 卷积层\t145
8.3.1 卷积\t146
8.3.2 边缘检测\t147
8.3.3 填充\t148
8.3.4 步幅\t149
8.3.5 卷积神经网络卷积\t150
8.3.6 卷积层的作用\t153
8.4 池化层\t153
8.5 全连接层\t156
8.6 卷积神经网络模型\t157
8.7 典型的卷积神经网络模型\t158
8.7.1 LeNet-5\t159
8.7.2 AlexNet\t159
8.8 卷积神经网络模型的PyTorch实现\t160
8.8.1 准备数据\t160
8.8.2 定义卷积神经网络模型\t163
8.8.3 损失函数与梯度优化\t164
8.8.4 训练模型\t165
8.8.5 测试模型\t166
8.9 卷积神经网络模型的TensorFlow实现\t167
8.9.1 准备数据\t167
8.9.2 定义卷积神经网络模型\t168
8.9.3 损失函数与优化算法\t170
8.9.4 训练并测试\t170
第9章 循环神经网络\t171
9.1 为什么选择循环神经网络\t171
9.2 循环神经网络的基本结构\t172
9.3 模型参数\t173
9.4 梯度消失\t174
9.5 GRU\t175
9.6 LSTM\t176
9.7 多种循环神经网络模型\t177
9.8 循环神经网络模型的PyTorch实现\t179
9.8.1 准备数据\t180
9.8.2 定义循环神经网络模型\t182
9.8.3 损失函数与梯度优化\t183
9.8.4 训练模型\t183
9.8.5 测试模型\t184
9.9 循环神经网络模型的TensorFlow实现\t185
9.9.1 准备数据\t185
9.9.2 定义循环神经网络模型\t185
9.9.3