本书以深度学习框架TensorFlow为基础,介绍机器学习的基础知识与常用方法,全面细致地提供了机器学习操作的原理及其在深度学习框架下的实践步骤。 全书共16章,分别介绍了深度学习基础知识、深度学习框架及其对比、机器学习基础知识、深度学习框架TensorFlow的基础知识、Logistic回归、多层感知器、卷积神经网络与计算机视觉、神经网络与自然语言处理以及8个实战案例。本书将理论与实践紧密结合,相信能为读者提供有益的学习指导。 本书适合Python深度学习初学者、机器学习算法分析从业人员以及高等院校计算机科学、软件工程等相关专业的师生阅读。
(1) 内容涵盖深度学习数学基础讲解,便于没有大学本科数学基础的读者阅读。
(2) 提供实际可运行的代码和让读者可以亲自试验的学习环境。
(3) 对于误差反向传播法、卷积运算等看起来很复杂的技术,帮助读者在实现层面上
理解。
(4) 介绍流行的技术(如Batch Normalization)并进行实现。
(5) 提供真实的案例、完整的构建过程以及相应源代码,使读者能完整感受完成深度
学习项目的过程。
深度学习领域技术的飞速发展,给人们的生活带来了很大改变。例如,智能语音助手能够与人类无障碍地沟通,甚至在视频通话时可以提供实时翻译;将手机摄像头聚焦在某个物体上,该物体的相关信息就会迅速地反馈给使用者;在购物网站上浏览商品时,计算机也在同时分析着用户的偏好,并及时个性化地推荐用户可能感兴趣的商品。原先以为只有人类才能做到的事,现在机器也能毫无差错地完成,甚至超越人类,这显然与深度学习的发展密不可分,技术正引领人类社会走向崭新的世界。
本书以深度学习为主题,将理论与简明实战案例相结合,以加深读者对于理论知识的理解。本书首先介绍深度学习领域的现状,深度学习领域和其他领域技术之间的关系,以及它们的主要特点和适用范围;接下来,详细讲解TensorFlow框架中的基本操作,并在讲解深度学习理论知识的同时,提供完整、详尽的实现过程,供读者参考。相信读者在阅读完本书后,会对深度学习有全面而深刻的了解,同时具备相当强的实践能力。
全书共分为两部分,包括17章内容。
第1部分基础篇涵盖第1~8章。第1章深度学习简介,包括计算机视觉、自然语言处理、强化学习; 第2章深度学习框架,包括Caffe、TensorFlow、PyTorch; 第3章机器学习基础知识,包括模型评估与模型参数选择、监督学习与非监督学习; 第4章TensorFlow深度学习基础,包括Tensor对象及其运算,Tensor的索引和切片,Tensor的变换、拼接和拆分,TensorFlow的Reduction操作,三种计算图,TensorFlow的自动微分; 第5章回归模型,包括线性回归、Logistic回归、用TensorFlow实现Logistic回归; 第6章神经网络基础,包括基础概念、感知器、BP神经网络、Dropout正则化、批标准化; 第7章卷积神经网络与计算机视觉,包括卷积神经网络的基本思想、卷积操作、池化层、卷积神经网络、经典网络结构、用TensorFlow进行手写数字识别; 第8章神经网络与自然语言处理,包括语言建模、基于多层感知器的架构、基于循环神经网络的架构、基于卷积神经网络的架构、基于Transformer的架构、表示学习与预训练技术。
第2部分实战篇涵盖第9~17章。第9章基于YOLO V3的安全帽佩戴检测,包括数据准备,模型构建、训练和测试; 第10章基于ResNet的人脸关键点检测,包括数据准备、模型搭建与训练、模型评价; 第11章基于ResNet的花卉图片分类,包括环境与数据准备,模型构建、训练和测试; 第12章基于UNet的细胞分割,包括细胞分割、基于UNet细胞分割的实现; 第13章基于DCGAN的MNIST数据生成,包括生成对抗网络介绍、准备工作、创建模型、损失函数和优化器、定义训练循环、训练模型和输出结果。第14章基于迁移学习的电影评论分类,包括迁移学习概述、IMDB数据集、构建模型解决IMDB数据集分类问题、模型训练和结果展示; 第15章基于LSTM的原创音乐生成,包括样例背景介绍、项目结构设计、实验步骤、成果检验; 第16章基于RNN的文本分类,包括数据准备、创建模型、训练模型、堆叠两个或更多 LSTM 层; 第17章基于TensorFlowTTS 的中文语音合成,包括TTS简介、基于TensorFlowTTS 的语音合成实现。
附录部分包括附录A TensorFlow环境搭建和附录B 深度学习的数学基础。
本书特色
(1) 内容涵盖深度学习数学基础讲解,便于没有高等数学基础的读者阅读。
(2) 提供实际可运行的代码和让读者可以亲自试验的学习环境。
(3) 对于误差反向传播法、卷积运算等看起来很复杂的技术,帮助读者在实现层面上理解。
(4) 介绍流行的技术(如Batch Normalization)并进行实现。
(5) 提供真实的案例、完整的构建过程以及相应源代码,使读者能完整感受完成深度学习项目的过程。
配套资源
为便于教与学,本书配有210分钟微课视频、源代码、数据集、教学课件、教学大纲。
(1) 获取微课视频方式: 读者可以先扫描本书封底的文泉云盘防盗码,再扫描书中相应的视频二维码,观看教学视频。
(2) 其他配套资源可以扫描本书封底的书圈二维码,关注后回复本书的书号,即可下载。
读者对象
本书适合Python深度学习初学者、机器学习算法分析从业人员以及全国高等学校计算机科学、软件工程等相关专业的师生阅读。
参与本书编写的有吕云翔、王志鹏、刘卓然、欧阳植昊、郭志鹏、王渌汀、闫坤、杜宸洋、关捷雄、华昱云、陈妙然,同时曾洪立参与了部分内容的编写并完成了素材整理及配套资源制作等工作。
由于编者水平和能力有限,书中难免有疏漏之处,恳请各位同行和广大读者批评指正。
编者2022年4月
吕云翔 单位:北京航空航天大学 职务:博士研究生 职称:副教授 性别:男 年龄:50 专业:计算机 学历:博士研究生 研究领域:数据库 研究成果:已出版二十几本教材(其中计算机导论实践教程一书获北航2010年教学成果三等奖;大学计算机英语教程获北航2012年教学成果二等奖。
第1部分基础篇
第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章TensorFlow深度学习基础
4.1Tensor对象及其运算
4.2Tensor的索引和切片
4.3Tensor的变换、拼接和拆分
4.4TensorFlow的Reduction操作
4.5三种计算图
4.6TensorFlow的自动微分
第5章回归模型
5.1线性回归
5.2Logistic回归
5.3用TensorFlow实现Logistic回归
5.3.1数据准备
5.3.2模型搭建与训练
第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.1批标准化的实现方式
6.5.2批标准化的使用方法
第7章卷积神经网络与计算机视觉
7.1卷积神经网络的基本思想
7.2卷积操作
7.3池化层
7.4卷积神经网络
7.5经典网络结构
7.5.1VGG网络
7.5.2InceptionNet
7.5.3ResNet
7.6用TensorFlow进行手写数字识别
第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网络预训练
第2部分实战篇
第9章基于YOLO V3的安全帽佩戴检测
9.1数据准备
9.1.1数据采集与标注
9.1.2模型选择
9.1.3数据格式转换
9.2模型构建、训练和测试
9.2.1YOLO系列模型
9.2.2模型训练
9.2.3测试与结果
第10章基于ResNet的人脸关键点检测
10.1数据准备
10.1.1人脸裁剪与缩放
10.1.2数据归一化处理
10.1.3整体代码
10.2模型搭建与训练
10.2.1特征图生成
10.2.2模型搭建
10.2.3模型训练
10.3模型评价
第11章基于ResNet的花卉图片分类
11.1环境与数据准备
11.1.1环境安装
11.1.2数据集简介
11.1.3数据集的下载与处理
11.2模型构建、训练和测试
11.2.1模型创建与训练
11.2.2测试与结果
第12章基于UNet的细胞分割
12.1细胞分割
12.1.1细胞分割简介
12.1.2传统细胞分割算法
12.2基于UNet细胞分割的实现
12.2.1UNet简介
12.2.2ISBI简介
12.2.3数据加载
12.2.4模型训练
12.2.5训练结果
第13章基于DCGAN的MNIST数据生成
13.1生成对抗网络介绍
13.2准备工作
13.3创建模型
13.3.1生成器
13.3.2判别器
13.4损失函数和优化器
13.4.1判别器损失
13.4.2生成器损失
13.4.3保存检查点
13.5定义训练循环
13.6训练模型和输出结果
第14章基于迁移学习的电影评论分类
14.1迁移学习概述
14.2IMDB数据集
14.3构建模型解决IMDB数据集分类问题
14.4模型训练和结果展示
第15章基于LSTM的原创音乐生成
15.1样例背景介绍
15.1.1循环神经网络
15.1.2Music 21
15.1.3TensorFlow
15.2项目结构设计
15.3实验步骤
15.3.1搭建实验环境
15.3.2观察并分析数据
15.3.3数据预处理
15.3.4生成音乐
15.4成果检验
第16章基于RNN的文本分类
16.1数据准备
16.2创建模型
16.3训练模型
16.4堆叠两个或更多 LSTM 层
第17章基于 TensorFlowTTS 的中文语音合成
17.1TTS 简介
17.1.1语音合成技术
17.1.2TTS技术发展史和基本原理
17.1.3基于深度学习的TTS
17.2基于TensorFlowTTS 的语音合成实现
17.2.1TensorFlowTTS简介与环境准备
17.2.2算法简介
17.2.3代码实现与结果展示
附录ATensorFlow环境搭建
附录B深度学习的数学基础
B.1线性代数
B.2概率论
参考文献