描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787111643364
内容简介
本书从基础知识开始讲解深度学习的原理和应用,包括该领域的发展、深度学习的入门知识、深度学习模型的理论、代码和实际应用中的优化。
本书共12章,主要内容包括深度学习基础、深度学习的环境准备、深度学习的知识准备、神经网络基础知识、使用Keras构建神经网络、神经网络的进一步优化、卷积神经网络、使用Keras构建卷积神经网络、卷积神经网络可视化、迁移学习、循环神经网络和使用Keras构建循环神经网络等。对于本书中介绍的深度学习模型,我们提供了实例代码供读者学习。
本书作为深度学习的入门书籍,适合希望从零开始了解深度学习技术,并且快速掌握深度学习理论和使用深度学习工具的学生和技术人员阅读。
本书共12章,主要内容包括深度学习基础、深度学习的环境准备、深度学习的知识准备、神经网络基础知识、使用Keras构建神经网络、神经网络的进一步优化、卷积神经网络、使用Keras构建卷积神经网络、卷积神经网络可视化、迁移学习、循环神经网络和使用Keras构建循环神经网络等。对于本书中介绍的深度学习模型,我们提供了实例代码供读者学习。
本书作为深度学习的入门书籍,适合希望从零开始了解深度学习技术,并且快速掌握深度学习理论和使用深度学习工具的学生和技术人员阅读。
目 录
前言
第1章 深度学习入门1
1.1 什么是深度学习1
1.1.1 深度学习是一种特定类型的机器学习2
1.1.2 深度学习是数学问题3
1.1.3 深度学习是一个黑箱5
1.2 深度学习的发展6
1.3 认识当前的深度学习7
1.3.1 为什么是现在8
1.3.2 当数据成为“燃料”8
1.3.3 深度学习的突破10
1.4 深度学习的应用领域12
1.4.1 深度学习适合做什么12
1.4.2 深度学习的应用场景14
1.5 如何入门深度学习15
第2章 深度学习的环境准备17
2.1 选择Python作为深度学习的编程语言17
2.2 深度学习常用框架介绍18
2.3 选择适合自己的框架21
2.4 Python的安装25
2.4.1 概述25
2.4.2 安装Anaconda26
2.4.3 使用conda进行环境管理和包管理27
2.5 Keras的安装29
2.5.1 什么是Keras29
2.5.2 安装TensorFlow30
2.5.3 安装Keras31
第3章 深度学习的知识准备32
3.1 概率论33
3.1.1 什么是概率33
3.1.2 概率分布35
3.1.3 信息论38
3.2 线性代数40
3.2.1 矩阵40
3.2.2 矩阵的运算43
3.2.3 从矩阵中取值45
3.2.4 相关术语46
3.3 导数47
3.3.1 什么是导数48
3.3.2 链式法则49
3.4 机器学习基础50
3.4.1 监督学习50
3.4.2 分类和回归51
3.4.3 训练、验证和预测53
第4章 神经网络56
4.1 神经网络与深度学习56
4.1.1 生物学中的神经网络56
4.1.2 深度学习网络58
4.2 前向传播算法60
4.2.1 神经网络的表示60
4.2.2 神经元的计算61
4.2.3 激活函数62
4.2.4 神经网络的前向传播64
4.3 反向传播算法67
4.3.1 神经网络的训练68
4.3.2 损失函数69
4.3.3 梯度下降71
4.3.4 神经网络的反向传播73
4.4 更好地训练神经网络75
4.4.1 选择正确的损失函数75
4.4.2 选择通用的激活函数76
4.4.3 更合适的优化算法76
4.4.4 选择合适的批量77
4.4.5 参数初始化78
第5章 使用Keras构建神经网络80
5.1 Keras中的模型81
5.2 Keras中的网络层82
5.3 模型的编译83
5.3.1 优化器83
5.3.2 损失函数84
5.3.3 性能评估85
5.4 训练模型85
5.5 使用训练好的模型86
5.6 实例:手写体分类问题86
5.7 Keras批量训练大量数据92
5.8 在Keras中重复使用模型97
第6章 神经网络的进一步优化100
6.1 过拟合100
6.2 梯度消失和梯度爆炸106
6.3 局部最优110
6.4 批量归一化111
第7章 卷积神经网络115
7.1 计算机视觉和图像识别115
7.2 卷积神经网络基础118
7.2.1 卷积神经网络的结构118
7.2.2 卷积层119
7.2.3 池化层125
7.2.4 卷积神经网络的设计126
7.3 为什么要使用卷积神经网络128
7.4 图像处理数据集130
7.5 CNN发展历程133
7.5.1 AlexNet134
7.5.2 VGG136
7.5.3 Inception138
7.5.4 ResNet139
第8章 使用Keras构建卷积神经网络144
8.1 Keras中的卷积层144
8.2 Keras中的池化层147
8.3 Keras中的全连接层148
8.4 实例1:使用卷积神经网络处理手写体分类问题148
8.5 实例2:重复使用已经训练好的卷积神经网络模型152
8.6 图像的数据增强158
8.6.1 使用ImageDataGenerator进行数据增强158
8.6.2 使用增强数据进行模型训练163
第9章 卷积神经网络可视化166
9.1 概述166
9.2 对神经网络进行可视化168
9.2.1 可视化神经网络的中间层168
9.2.2 可视化过滤器173
9.3 对关注点进行可视化176
9.3.1 显著图177
9.3.2 类激活图180
9.4 自动驾驶的应用182
第10章 迁移学习185
10.1 什么是迁移学习185
10.2 为什么要使用迁移学习186
10.3 迁移学习的适用性187
10.4 在Keras中进行迁移学习189
10.4.1 在MNIST上迁移学习的例子190
10.4.2 迁移学习的适用情况193
10.4.3 实例194
第11章 循环神经网络205
11.1 神经网络中的序列问题205
11.2 循环神经网络的使用207
11.2.1 输入/输出207
11.2.2 前向传播209
11.2.3 反向传播213
11.3 长短期记忆网络215
11.4 应用场景217
第12章 使用Keras构建循环神经网络221
12.1 Keras中的循环层221
12.2 Keras中的嵌入层224
12.3 IMDB实例226
12.3.1 全连接网络227
12.3.2 SimpleRNN229
12.3.3 LSTM231
12.3.4 双向循环神经网络232
12.3.5 用了卷积层的循环网络结构234
12.4 LSTM实例237
12.4.1 深度学习中的时间序列问题237
12.4.2 使用更多的历史信息242
12.4.3 多个时间步长的预测244
12.5 有状态的循环神经网络247
12.5.1 字母预测问题248
12.5.2 有状态的LSTM252
第1章 深度学习入门1
1.1 什么是深度学习1
1.1.1 深度学习是一种特定类型的机器学习2
1.1.2 深度学习是数学问题3
1.1.3 深度学习是一个黑箱5
1.2 深度学习的发展6
1.3 认识当前的深度学习7
1.3.1 为什么是现在8
1.3.2 当数据成为“燃料”8
1.3.3 深度学习的突破10
1.4 深度学习的应用领域12
1.4.1 深度学习适合做什么12
1.4.2 深度学习的应用场景14
1.5 如何入门深度学习15
第2章 深度学习的环境准备17
2.1 选择Python作为深度学习的编程语言17
2.2 深度学习常用框架介绍18
2.3 选择适合自己的框架21
2.4 Python的安装25
2.4.1 概述25
2.4.2 安装Anaconda26
2.4.3 使用conda进行环境管理和包管理27
2.5 Keras的安装29
2.5.1 什么是Keras29
2.5.2 安装TensorFlow30
2.5.3 安装Keras31
第3章 深度学习的知识准备32
3.1 概率论33
3.1.1 什么是概率33
3.1.2 概率分布35
3.1.3 信息论38
3.2 线性代数40
3.2.1 矩阵40
3.2.2 矩阵的运算43
3.2.3 从矩阵中取值45
3.2.4 相关术语46
3.3 导数47
3.3.1 什么是导数48
3.3.2 链式法则49
3.4 机器学习基础50
3.4.1 监督学习50
3.4.2 分类和回归51
3.4.3 训练、验证和预测53
第4章 神经网络56
4.1 神经网络与深度学习56
4.1.1 生物学中的神经网络56
4.1.2 深度学习网络58
4.2 前向传播算法60
4.2.1 神经网络的表示60
4.2.2 神经元的计算61
4.2.3 激活函数62
4.2.4 神经网络的前向传播64
4.3 反向传播算法67
4.3.1 神经网络的训练68
4.3.2 损失函数69
4.3.3 梯度下降71
4.3.4 神经网络的反向传播73
4.4 更好地训练神经网络75
4.4.1 选择正确的损失函数75
4.4.2 选择通用的激活函数76
4.4.3 更合适的优化算法76
4.4.4 选择合适的批量77
4.4.5 参数初始化78
第5章 使用Keras构建神经网络80
5.1 Keras中的模型81
5.2 Keras中的网络层82
5.3 模型的编译83
5.3.1 优化器83
5.3.2 损失函数84
5.3.3 性能评估85
5.4 训练模型85
5.5 使用训练好的模型86
5.6 实例:手写体分类问题86
5.7 Keras批量训练大量数据92
5.8 在Keras中重复使用模型97
第6章 神经网络的进一步优化100
6.1 过拟合100
6.2 梯度消失和梯度爆炸106
6.3 局部最优110
6.4 批量归一化111
第7章 卷积神经网络115
7.1 计算机视觉和图像识别115
7.2 卷积神经网络基础118
7.2.1 卷积神经网络的结构118
7.2.2 卷积层119
7.2.3 池化层125
7.2.4 卷积神经网络的设计126
7.3 为什么要使用卷积神经网络128
7.4 图像处理数据集130
7.5 CNN发展历程133
7.5.1 AlexNet134
7.5.2 VGG136
7.5.3 Inception138
7.5.4 ResNet139
第8章 使用Keras构建卷积神经网络144
8.1 Keras中的卷积层144
8.2 Keras中的池化层147
8.3 Keras中的全连接层148
8.4 实例1:使用卷积神经网络处理手写体分类问题148
8.5 实例2:重复使用已经训练好的卷积神经网络模型152
8.6 图像的数据增强158
8.6.1 使用ImageDataGenerator进行数据增强158
8.6.2 使用增强数据进行模型训练163
第9章 卷积神经网络可视化166
9.1 概述166
9.2 对神经网络进行可视化168
9.2.1 可视化神经网络的中间层168
9.2.2 可视化过滤器173
9.3 对关注点进行可视化176
9.3.1 显著图177
9.3.2 类激活图180
9.4 自动驾驶的应用182
第10章 迁移学习185
10.1 什么是迁移学习185
10.2 为什么要使用迁移学习186
10.3 迁移学习的适用性187
10.4 在Keras中进行迁移学习189
10.4.1 在MNIST上迁移学习的例子190
10.4.2 迁移学习的适用情况193
10.4.3 实例194
第11章 循环神经网络205
11.1 神经网络中的序列问题205
11.2 循环神经网络的使用207
11.2.1 输入/输出207
11.2.2 前向传播209
11.2.3 反向传播213
11.3 长短期记忆网络215
11.4 应用场景217
第12章 使用Keras构建循环神经网络221
12.1 Keras中的循环层221
12.2 Keras中的嵌入层224
12.3 IMDB实例226
12.3.1 全连接网络227
12.3.2 SimpleRNN229
12.3.3 LSTM231
12.3.4 双向循环神经网络232
12.3.5 用了卷积层的循环网络结构234
12.4 LSTM实例237
12.4.1 深度学习中的时间序列问题237
12.4.2 使用更多的历史信息242
12.4.3 多个时间步长的预测244
12.5 有状态的循环神经网络247
12.5.1 字母预测问题248
12.5.2 有状态的LSTM252
前 言
我们现在生活在一个智能化的时代。数据和人工智能的魅力在于,任何一种信息都可以有数据化的表现形式。大数据为我们提供了一个宝库,而深度学习就是开启这个宝库的一把钥匙。60年前,当神经网络的概念初见雏形时,或许没有人能想到它会改变世界。如今,图像识别大赛上深度学习模型的准确度已经超越人类,人机对弈中阿尔法围棋取得胜利,谷歌的无人驾驶汽车投入商业运营,波士顿动力的机器人学会了奔跑、跳跃和后空翻……深度学习历经寒冬,走到聚光灯下,它既不是实验室中的空中楼阁,也不是计算机从业者的专利,所引领的人工智能变革关乎我们每一个人的生活体验和职业发展。
本书就是在这样的背景下产生的。拿到本书的你,无论是在校学习还是已经工作,无论是从事人工智能的研究还是关注着人工智能的发展,要想拥抱这个时代,就需要走进这一领域,在实践中找到应用场景并发挥其技术潜能。
对初学者而言,想掌握深度学习,就需要使用适合的编程语言以及简单易懂的框架。Python语言是当下深度学习领域的优选,而Keras在众多的深度学习框架中也是比较容易入门的,所以本书利用Python和Keras来学习深度学习方面的内容。
本书理论结合实践,详细介绍深度学习的基础理论以及相关的必要知识,同时讲解深度学习模型和代码。第1章介绍深度学习的基本概念、发展历程和应用领域。第2、3章介绍深度学习所需要的编程环境和基础知识。第4~6章介绍全连接神经网络,包括它的原理、在Keras中的实现和一些在实践中的优化建议。第7~9章介绍卷积神经网络,包括目前比较经典的卷积神经网络架构,如AlexNet、VGG-16、Inception和ResNet。第10章在卷积神经网络的基础上介绍迁移学习,这是一种训练和应用深度学习模型的常用方法。第11、12章介绍循环神经网络,并通过预测时间序列的例子讲解循环神经网络的应用。
本书资源可以登录机械工业出版社华章公司的网站(www.hzbook.com)下载,搜索到本书,然后在页面上的“资源下载”模块下载即可。如果下载有问题,请发送电子邮件至[email protected]。
本书从开始编写到成稿历时一年,首先感谢父母的支持,同时感谢广汽研究院的裴锋和王玉龙,他们是我入行人工智能的领路人。由于编者经验有限,本书难免有疏漏之处,望各位读者不吝赐教。
本书就是在这样的背景下产生的。拿到本书的你,无论是在校学习还是已经工作,无论是从事人工智能的研究还是关注着人工智能的发展,要想拥抱这个时代,就需要走进这一领域,在实践中找到应用场景并发挥其技术潜能。
对初学者而言,想掌握深度学习,就需要使用适合的编程语言以及简单易懂的框架。Python语言是当下深度学习领域的优选,而Keras在众多的深度学习框架中也是比较容易入门的,所以本书利用Python和Keras来学习深度学习方面的内容。
本书理论结合实践,详细介绍深度学习的基础理论以及相关的必要知识,同时讲解深度学习模型和代码。第1章介绍深度学习的基本概念、发展历程和应用领域。第2、3章介绍深度学习所需要的编程环境和基础知识。第4~6章介绍全连接神经网络,包括它的原理、在Keras中的实现和一些在实践中的优化建议。第7~9章介绍卷积神经网络,包括目前比较经典的卷积神经网络架构,如AlexNet、VGG-16、Inception和ResNet。第10章在卷积神经网络的基础上介绍迁移学习,这是一种训练和应用深度学习模型的常用方法。第11、12章介绍循环神经网络,并通过预测时间序列的例子讲解循环神经网络的应用。
本书资源可以登录机械工业出版社华章公司的网站(www.hzbook.com)下载,搜索到本书,然后在页面上的“资源下载”模块下载即可。如果下载有问题,请发送电子邮件至[email protected]。
本书从开始编写到成稿历时一年,首先感谢父母的支持,同时感谢广汽研究院的裴锋和王玉龙,他们是我入行人工智能的领路人。由于编者经验有限,本书难免有疏漏之处,望各位读者不吝赐教。
刘文如
2020年1月10日
评论
还没有评论。