目录
基础篇
第1章深度学习简介
1.1计算机视觉
1.1.1定义
1.1.2基本任务
1.1.3传统方法
1.1.4仿生学与深度学习
1.1.5现代深度学习
1.1.6小结
1.2自然语言处理
1.2.1自然语言处理的基本问题
1.2.2传统方法与神经网络方法的比较
1.2.3发展趋势
1.3强化学习
1.3.1什么是强化学习
1.3.2强化学习算法简介
1.3.3强化学习的应用
第2章深度学习框架
2.1Caffe
2.1.1Caffe简介
2.1.2Caffe的特点
2.1.3Caffe概述
2.2TensorFlow
2.2.1TensorFlow简介
2.2.2数据流图
2.2.3TensorFlow的特点
2.2.4TensorFlow概述
2.3PyTorch
2.3.1PyTorch简介
2.3.2PyTorch的特点
2.3.3PyTorch概述
2.4三者的比较
2.4.1Caffe
2.4.2TensorFlow
2.4.3PyTorch
第3章机器学习基础知识
3.1模型评估与模型参数选择
3.1.1验证
3.1.2正则化
3.2监督学习与非监督学习
3.2.1监督学习
3.2.2非监督学习
第4章PyTorch深度学习基础
4.1Tensor对象及其运算
4.2Tensor的索引和切片
4.3Tensor的变换、拼接和拆分
4.4PyTorch的Reduction操作
4.5PyTorch的自动微分
第5章Logistic回归
5.1线性回归
5.2Logistic回归
5.3用PyTorch实现Logistic回归
5.3.1数据准备
5.3.2线性方程
5.3.3激活函数
5.3.4损失函数
5.3.5优化算法
5.3.6模型可视化
第6章神经网络基础
6.1基础概念
6.2感知器
6.2.1单层感知器
6.2.2多层感知器
6.3BP神经网络
6.3.1梯度下降
6.3.2后向传播
6.4Dropout正则化
6.5批标准化
6.5.1Batch Normalization的实现方式
6.5.2Batch Normalization的使用方法
第7章卷积神经网络与计算机视觉
7.1卷积神经网络的基本思想
7.2卷积操作
7.3池化层
7.4卷积神经网络
7.5经典网络结构
7.5.1VGG网络
7.5.2InceptionNet
7.5.3ResNet
7.6用PyTorch进行手写数字识别
第8章神经网络与自然语言处理
8.1语言建模
8.2基于多层感知机的架构
8.3基于循环神经网络的架构
8.3.1循环单元
8.3.2通过时间后向传播
8.3.3带有门限的循环单元
8.3.4循环神经网络语言模型
8.3.5神经机器翻译
8.4基于卷积神经网络的架构
8.5基于Transformer的架构
8.5.1多头注意力
8.5.2非参位置编码
8.5.3编码器单元与解码器单元
8.6表示学习与预训练技术
8.6.1词向量
8.6.2加入上下文信息的特征表示
8.6.3网络预训练
8.7小结
实战篇
第9章搭建卷积神经网络进行图像分类
9.1实验数据准备
9.2数据预处理和准备
9.2.1数据集的读取
9.2.2重载data.Dataset类
9.2.3transform数据预处理
9.3模型构建
9.3.1ResNet50
9.3.2bottleneck的实现
9.3.3ResNet50卷积层定义
9.3.4ResNet50 forward实现
9.3.5预训练参数装载
9.4模型训练与结果评估
9.4.1训练类的实现
9.4.2优化器的定义
9.4.3学习率衰减
9.4.4训练
9.5总结
第10章图像风格迁移
10.1VGG模型
10.2图像风格迁移介绍
10.3内容损失函数
10.3.1内容损失函数的定义
10.3.2内容损失模块的实现
10.4风格损失函数
10.4.1风格损失函数的定义
10.4.2计算Gram矩阵函数的实现
10.4.3风格损失模块的实现
10.5优化过程
10.6图像风格迁移主程序的实现
10.6.1图像预处理
10.6.2参数定义
10.6.3模型初始化
10.6.4运行风格迁移的主函数
10.6.5利用VGG网络建立损失函数
10.6.6风格迁移的优化过程
10.6.7运行风格迁移
第11章基于RNN的文本分类
11.1数据准备
11.2将名字转换为张量
11.3构建神经网络
11.4训练
11.4.1准备训练
11.4.2训练RNN网络
11.5绘制损失变化图
11.6预测结果
11.7预测用户输入
第12章基于CNN的视频行为识别
12.1问题描述
12.2源码结构
12.3数据准备
12.4模型搭建与训练
12.5特征图可视化
第13章实现对抗性样本生成
13.1威胁模型
13.2快速梯度符号攻击
13.3代码实现
13.3.1输入
13.3.2受到攻击的模型
13.3.3FGSM攻击
13.3.4测试功能
13.3.5运行攻击
13.3.6结果分析
13.4对抗示例
13.5小结
第14章实现基于LSTM的情感分析
14.1情感分析常用的Python工具库
14.1.1PyTorch
14.1.2tqdm
14.1.3Pandas
14.1.4Gensim
14.1.5collections
14.2数据样本分析
14.3数据预处理
14.4算法模型
14.4.1循环神经网络
14.4.2长短期记忆神经网络
14.4.3模型实现
14.5小结
第15章实现DCGAN
15.1生成对抗网络
15.2DCGAN介绍
15.3初始化代码
15.3.1初始化相关库
15.3.2数据加载
15.4模型实现
15.4.1权重初始化
15.4.2生成器
15.4.3判别器
15.4.4判别器代码
15.4.5损失函数和优化器
15.4.6训练
15.5结果
15.5.1损失与训练迭代次数关系图
15.5.2生成器G的训练进度
15.5.3真实图像与假图像
15.6小结
第16章视觉问答
16.1视觉问答简介
16.2基于BottomUp Attention的联合嵌入模型
16.3准备工作
16.3.1下载数据
16.3.2安装必备的软件包
16.3.3使用配置文件
16.4实现基础模块
16.4.1FCNet模块
16.4.2SimpleClassifier模块
16.5实现问题嵌入模块
16.5.1词嵌入
16.5.2RNN
16.6实现TopDown Attention模块
16.7组装完整的VQA系统
16.8运行VQA实验
16.8.1训练
16.8.2可视化
附录APyTorch环境搭建
A.1Linux平台下PyTorch环境搭建
A.2Windows平台下PyTorch环境搭建
附录B深度学习的数学基础
B.1线性代数
B.2概率论
参考文献