目录
第1章概述1
1.1深度学习的发展历史1
1.2深度学习的基本概念4
1.2.1人工智能4
1.2.2机器学习4
1.2.3深度学习7
1.2.4人工智能和机器学习、深度学习之间的关系10
1.3深度学习的应用领域11
1.3.1深度学习在计算机视觉中的应用11
1.3.2深度学习在自然语言处理中的应用14
1.3.3深度学习在语音识别中的应用15
1.3.4深度学习在棋类比赛中的应用15
1.3.5深度学习在游戏开发中的应用16
1.3.6深度学习在医疗保健中的应用16
1.3.7深度学习在自动驾驶中的应用17
1.3.8深度学习在金融领域中的应用17
1.4深度学习程序的框架18
思考练习25
第2章神经网络的基本原理26
2.1神经元模型和神经网络26
2.1.1人工神经元模型26
2.1.2神经网络28
2.2激活函数的定义和特点31
2.2.1Sigmoid激活函数32
2.2.2Tanh激活函数33
2.2.3ReLU和Leaky ReLU激活函数34
2.2.4Piecewise Linear激活函数34
2.2.5Softmax激活函数35
2.3神经网络的训练过程36
2.3.1样本数据的预处理方法37
2.3.2网络参数的初始化方法39
2.3.3前向传播算法的原理40
2.3.4损失函数的定义41
2.3.5梯度下降方法的原理41
2.3.6反向传播算法的原理44
2.4神经网络的过拟合现象和解决办法47
2.4.1过拟合现象47
2.4.2L1正则化方法和L2正则化方法47
2.4.3丢弃方法48
2.4.4提前停止方法48
思考练习49
第3章基于Keras的全连接前馈神经网络编程方法50
3.1运行深度学习程序的硬件环境50
3.1.1运行深度学习程序的硬件类型50
3.1.2使用GPU运行深度学习程序的方法51
3.2运行深度学习程序的软件环境55
3.2.1Anaconda的使用方法55
3.2.2CUDA Toolkit和cuDNN的安装方法62
3.2.3TensorFlow库和Keras库的安装方法71
3.2.4使用Jupyter Notebook运行深度学习程序的方法74
3.2.5使用PyCharm运行深度学习程序的方法79
3.2.6使用网站运行深度学习程序的方法83
3.3张量的特点和使用方法84
3.4基于Keras的使用全连接前馈神经网络处理回归问题的编程方法88
3.4.1基于Keras的使用线性回归模型处理回归问题的编程方法88
3.4.2基于Keras的使用单层全连接前馈神经网络处理回归问题的
编程方法98
3.4.3基于Keras的使用多层全连接前馈神经网络处理回归问题的
编程方法101
3.5基于Keras的使用全连接前馈神经网络处理分类问题的编程方法104
3.5.1基于Keras的使用单层全连接前馈神经网络处理分类问题的
编程方法104
3.5.2基于Keras的使用多层全连接前馈神经网络处理分类问题的
编程方法114
思考练习117
第4章卷积神经网络的原理与编程方法119
4.1卷积神经网络119
4.1.1卷积神经网络概述119
4.1.2卷积神经网络的结构120
4.1.3卷积神经网络应用案例121
4.2卷积计算123
4.2.1二维张量的卷积计算123
4.2.2三维张量的卷积计算128
4.2.3卷积计算的性质132
4.3池化计算134
4.3.1Valid池化134
4.3.2Same池化137
4.4基于Keras深度学习框架的卷积神经网络编程方法139
4.4.1使用卷积神经网络处理回归问题的编程方法139
4.4.2使用卷积神经网络处理分类问题的编程方法145
4.5卷积神经网络的常用方法149
4.5.1卷积神经网络的宽结构模型及编程方法150
4.5.2卷积神经网络的深结构模型及编程方法154
4.5.3使用批归一化方法的卷积神经网络156
4.5.4使用数据增强方法的卷积神经网络164
4.6经典的卷积神经网络模型167
4.6.1LeNet5模型169
4.6.2AlexNet模型173
4.6.3VGG模型177
4.6.4其他经典卷积神经网络模型180
4.7迁移学习方法185
4.7.1迁移学习的原理185
4.7.2迁移学习的编程方法186
思考练习189
第5章循环神经网络的原理和编程方法190
5.1循环神经网络190
5.1.1循环神经网络简介190
5.1.2简单循环神经网络的原理192
5.1.3循环神经网络的其他结构196
5.2词语嵌入编码的原理和编程方法196
5.2.1语句的分词问题196
5.2.2词语嵌入编码的原理198
5.3基于Keras深度学习框架的简单循环神经网络编程方法201
5.3.1数据集的准备202
5.3.2神经网络模型的构建206
5.3.3神经网络模型的编译和拟合208
5.3.4单个样本数据的预测210
5.4基于门控的循环神经网络211
5.4.1长短期记忆模型网络212
5.4.2门控循环单元网络214
5.5基于Keras深度学习框架的长短期记忆模型网络编程方法215
思考练习218
参考文献219
附录缩略词语220