本书系统阐述深度学习的基本原理与核心方法,共7章。第1章概述深度学习基础概念与主要应用领域;第2章详解深度神经网络开发全流程和环境安装与配置实验;第3章解析卷积神经网络及目标检测实验;第4章探讨循环神经网络及其文本分类应用实验;第5章阐释生成对抗网络与图像生成实验;第6章剖析Transformer及轨迹预测实验;第7章介绍网络模型压缩技术与轻量化部署实验。本书涵盖从环境搭建、模型训练到优化部署的完整过程,贯穿当前主流深度神经网络架构。本书结构清晰、内容翔实,突出“理论—模型—实验”三位一体的编写特色。
更多科学出版社服务,请扫码获取。
2016.9~2021.6 国防科技大学 博士
目录
第1章 深度学习概述 1
1.1 基础知识 1
1.1.1 神经网络 1
1.1.2 深度神经网络 6
1.2 深度学习的数学原理 7
1.2.1 激活函数 7
1.2.2 损失函数 11
1.2.3 梯度 12
1.3 深度神经网络的应用 13
1.3.1 计算机视觉 13
1.3.2 自然语言处理 16
1.3.3 语音处理 17
第2章 深度神经网络开发基础 18
2.1 深度神经网络框架 18
2.1.1 TensorFlow 18
2.1.2 PyTorch 19
2.1.3 PaddlePaddle 19
2.2 数据增强 20
2.2.1 图像数据增强 21
2.2.2 文本数据增强 21
2.2.3 语音数据增强 22
2.3 深度神经网络可视化 23
2.3.1 TensorFlow可视化组件 23
2.3.2 PyTorch可视化组件 25
2.3.3 PaddlePaddle可视化组件 25
2.4 深度神经网络训练优化 26
2.4.1 指数加权移动平均数 26
2.4.2 梯度下降法 27
2.4.3 Adam优化法 31
2.5 实验1:深度学习环境安装与配置 32
2.5.1 安装GPU计算加速环境 32
2.5.2 安装TensorFlow 40
2.5.3 安装PyTorch 53
2.5.4 安装PaddlePaddle 55
第3章 卷积神经网络 57
3.1 基础知识 57
3.1.1 基本概念 57
3.1.2 训练过程 58
3.2 CNN结构详解 59
3.2.1 卷积层 60
3.2.2 池化层 61
3.2.3 全连接层 62
3.3 典型CNN 62
3.4 实验2:基于CNN实现目标检测 66
3.4.1 实验准备 66
3.4.2 使用预训练模型进行推理 70
3.4.3 在预训练模型上继续训练 76
3.4.4 拓展:使用GPU 训练及训练可视化 79
第4章 循环神经网络 91
4.1 基础知识 91
4.1.1 基本概念 91
4.1.2 训练过程 92
4.2 RNN结构详解 93
4.2.1 RNN的基本结构 93
4.2.2 RNN的结构类型 94
4.2.3 RNN的具体结构 96
4.3 典型RNN98
4.3.1 LSTM 98
4.3.2 GRU 101
4.3.3 BRNN103
4.3.4 DRNN104
4.4 实验3:基于RNN的敏感词分类 105
4.4.1 实验准备 105
4.4.2 网络设计 110
4.4.3 网络训练 111
4.4.4 网络测试 112
第5章 生成对抗网络 114
5.1 基础知识 114
5.1.1 基本概念 114
5.1.2 训练过程 115
5.2 GAN结构详解 115
5.2.1 生成器 116
5.2.2 判别器 117
5.3 典型GAN 117
5.3.1 DCGAN 117
5.3.2 StyleGAN 118
5.3.3 CycleGAN 120
5.4 实验4:基于GAN的图像季节风格转化 120
5.4.1 实验准备 121
5.4.2 网络训练 123
5.4.3 网络测试 126
第6章 Transformer 130
6.1 基础知识 130
6.1.1 基本概念 130
6.1.2 训练过程 132
6.2 Transformer的结构详解 134
6.2.1 编码器 136
6.2.2 解码器 137
6.2.3 注意力机制 137
6.3 典型的Transformer网络 138
6.3.1 GPT 138
6.3.2 BERT 142
6.3.3 Swin-Transformer 146
6.4 实验5:基于Transformer的船舶轨迹预测 151
6.4.1 数据集及预处理 151
6.4.2 网络训练 152
6.4.3 网络测试 154
第7章 网络模型压缩 157
7.1 基础知识 157
7.1.1 网络模型压缩原理 157
7.1.2 网络模型压缩类型 157
7.2 剪枝与量化 158
7.2.1 模型剪枝 158
7.2.2 参数量化 159
7.3 低秩因子分解 162
7.3.1 奇异值分解 162
7.3.2 CP分解 163
7.3.3 Tucker分解 166
7.3.4 三种分解的区别与联系 167
7.4 知识蒸馏 168
7.5 实验6:利用模型压缩技术改进目标检测网络 170
7.5.1 YOLOv5项目安装 170
7.5.2 准备数据集 172
7.5.3 修改配置文件 172
7.5.4 训练数据集 173
7.5.5 模型测试 174
7.5.6 稀疏化训练 175
7.5.7 网络模型剪枝及微调 176
参考文献 178