猜你喜欢
深度学习基础教程

深度学习基础教程

书籍作者:阿努拉格.巴德瓦杰 ISBN:9787111608455
书籍语言:简体中文 连载状态:全集
电子书格式:pdf,txt,epub,mobi,azw3 下载次数:5944
创建日期:2021-02-14 发布日期:2021-02-14
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板
内容简介

《深度学习基础教程》是真正适合深度学习初学者的入门书籍,全书没有任何复杂的数学推导。《深度学习基础教程》首先介绍了深度学习的优势和面临的挑战、深度学习采用深层架构的动机、学习深度学习需要的数学知识和硬件知识以及深度学习常用的软件框架。然后对多层感知机、卷积神经网络(CNN)、受限玻耳兹曼机(RBM)、循环神经网络(RNN)及其变体—长短时记忆(LSTM)网络进行了详细介绍,并且以独立章节重点阐述了CNN在计算机视觉中的应用、RNN在自然语言处理中的应用以及深度学习在多模态学习领域中的应用。随后,本书介绍了深度强化学习的基本知识,给出了应用深度学习技术需要的许多实用技巧并概述了深度学习的一些新方向和新应用。

作者简介

Wei Di是一名拥有多年机器学习和人工智能经验的数据科学家。她热衷于创建智能和可扩展的解决方案,这些解决方案可以影响数百万人,并增强成功企业的能力。目前,她是LinkedIn的一名数据科学家。她之前曾与eBay人类语言技术团队和eBay研究实验室合作。在此之前,她在Ancestry.com从事记录链接领域的大规模数据挖掘工作。她于2011年获得了普渡大学的博士学位。

Anurag Bhardwaj目前领导着Wiser Solutions的数据科学工作,其主要致力于构建大规模的电子商务库存。他特别感兴趣的是使用机器学习来解决产品类别分类和产品匹配方面的问题,以及电子商务中的各种相关问题。此前,他曾在eBay研究实验室从事图像理解工作。他在纽约州立大学布法罗分校获得博士学位和硕士学位,并在印度库鲁什特拉(Kurukshetra)的国立理工学院获得了计算机工程学士学位。

Jianing Wei是Google Research的高级软件工程师。他的工作领域是计算机视觉和计算机成像。在2013年加入谷歌之前,他曾在索尼美国研究中心工作了4年,在此期间其主要从事3D计算机视觉和图像处理领域的研究工作。他于2010年获得了普渡大学电子与计算机工程博士学位。

编辑推荐

1.本书作者都是来自工业界的一线数据科学家,在世界公司如领英、谷歌、eBay、索尼等工作多年,具有深厚的理论功底和丰富的实践经验。
2.本书是真正适合深度学习初学者的入门书籍,全书没有任何复杂的数学推导。即便数学基础不好的读者,也可以轻松地阅读本书。
3.为开始学习深度学习和神经网络建模的基本知识提供一站式解决方案。
4.训练不同类型的神经网络,以解决自然语言处理、计算机视觉和语音识别等领域中的各种问题。
5.涵盖流行的Python库,如Tensorflow等,以及以佳方式训练、部署和优化深度学习模型的技巧。
6.不同于市面上的深度学习书籍,本书首次对深度学习在多模态领域中的应用进行了专门的介绍。
7.对深度强化学习、深度学习发展趋势(如GAN、Capsule网络)也进行了介绍。

前言

深度学习是科技界最具突破性的发展趋势,已经跨越研发实验室应用到生产环境中。它是通过数据的多个隐藏层进行深入洞察的科学和艺术。目前,深度学习是图像识别、物体识别和自然语言处理(NLP)问题解决方案的最佳提供者之一。
从温习机器学习开始,《深度学习基础教程》将快速地进入深度学习的基本原理及其实现。随后,将向读者介绍不同类型的神经网络及其在现实世界中的应用。在具有启发性示例的帮助下,读者将学习使用深层神经网络识别模式,并了解数据操作和分类等重要概念。
采用基于深度学习的强化学习技术,将可以构建超越人类的人工智能(AI)。另外,将学习如何使用LSTM网络。阅读《深度学习基础教程》的过程中,将遇到各种不同的框架和库,如TensorFlow、Python和Nvidia等。在本书的最后,读者将能够为自己的应用部署一个面向生产的深度学习框架。

读者对象
如果你是一个希望为自己的商业应用构建深度学习动力的富有抱负的数据科学家、深度学习爱好者或人工智能研究人员,那么本书能够成为你开始处理人工智能挑战的完美资源。
为了充分利用本书,你必须具备中级Python技能,并且熟悉机器学习概念。

《深度学习基础教程》内容
第1章是为什么进行深度学习,对深度学习进行了概述。本章将首先介绍深度学习的历史、兴起及其在一些领域的最新进展。随后还将介绍深度学习的一些挑战及其未来潜力。
第2章是为深度学习做准备,是培养自己进行深度学习实验并在现实世界中应用深度学习技术的起点。本章将回答关于深度学习入门所需技能和概念的一些关键问题。本章内容包括线性代数的一些基本概念、深度学习实现的硬件要求,以及一些主流的深度学习软件框架。本章还将研究在基于云的GPU实例上从零开始搭建一个深度学习系统。
第3章是神经网络入门,重点介绍神经网络的基本知识,包括输入/输出层、隐藏层,以及网络如何通过前向和反向传播进行学习。本章将从标准多层感知机网络及其构建模块开始,说明它们是如何逐步学习的。随后还将介绍一些主流的标准模型,如卷积神经网络(CNN)、受限玻耳兹曼机(RBM)、循环神经网络(RNN)及其变体——长短时记忆(LSTM)网络。
第4章是计算机视觉中的深度学习,对CNN进行了详细解释。本章将讲解CNN工作所必需的核心概念以及它们如何被用来解决现实世界中的计算机视觉问题。本章将介绍一些主流的CNN架构,并且还将使用TensorFlow实现一个基本的CNN。
第5章是自然语言处理中的向量表示,涵盖了基于深度学习进行自然语言处理的基础知识。本章将介绍自然语言处理中一些主流的用于特征表示的词嵌入技术,涵盖的模型有Word2Vec、GloVe和FastText等。本章还包括一个使用TensorFlow进行嵌入训练的示例。
第6章是高级自然语言处理,采用以模型为中心的方法进行文本处理。本章将讨论一些核心模型,如RNN和LSTM网络。本章将介绍使用
TensorFlow实现一个LSTM网络的示例,并描述LSTM网络常用文本处理应用背后的基本架构。
第7章是多模态,介绍了采用深度学习处理多模态的一些基本进展。本章也分享了一些新颖、先进的深度学习多模态应用。
第8章是深度强化学习,涵盖了强化学习的基础知识,同时阐述了怎样应用深度学习改进强化学习。本章主要介绍了使用TensorFlow进行深度强化学习的基本实现,并讨论了深度强化学习的一些主流应用。
第9章是深度学习的技巧,为读者提供了在使用深度学习时可以采用的许多实用技巧,如网络权值初始化的最佳实践、学习参数调整、如何防止过拟合以及在面对数据挑战时如何准备数据以便更好地学习。
第10章是深度学习的发展趋势,总结了即将到来的一些深度学习想法。它着眼于新开发算法中的一些即将出现的趋势以及一些深度学习的新应用。

阅读建议
为了充分利用《深度学习基础教程》,读者需要按照我们提供的如下建议进行阅读:

第一,建议至少对Python编程和机器学习有一些基本的了解。

第二,在阅读第3章及其之后的章节之前,一定要遵循第2章的设置说明。需要设置自己的编程环境,以便于能够练习书中的示例代码。

第三,让自己熟悉TensorFlow并阅读其文档。TensorFlow文档(https://www.tensorflow.org/api_docs/)是一个很好的信息资源,其包含了大量很好且重要的示例。也可以在网上查看各种开源示例和深度学习相关的资源。

第四,一定要亲自探索。对于不需要太多计算时间的简单问题尝试不同的设置或配置,这有助于快速了解模型如何工作以及如何调整参数。

最后,深入研究每种类型的模型。


本书用朴素的语言解释了各种深度学习模型的要点并且避免了太多的数学描述,其目的是帮助读者了解神经网络的底层机制。虽然目前有许多不同的开源工具可以提供高级API,但是对深度学习的良好理解将对调试和改进模型性能大有裨益。


下载示例代码文件
读者可以在网站www.packtpub.com上登录自己的账户,下载《深度学习基础教程》的示例代码文件。如果是从其他渠道购买的本书,可以访问网址:www.packtpub.com/support。注册之后,可以收到通过邮件直接发送过来的文件。

可以根据下面的步骤下载代码文件:

1)在网站www.packtpub.com上登录或注册;

2)选择SUPPORT选项卡;

3)单击Code Downloads & Errata;

4)在搜索框中输入本书的名字,然后按照屏幕上的指令进行操作。

下载文件后,请确保使用下列软件的最新版本解压或提取文件夹:

. Windows: WinRAR/7-Zip;

. Mac: Zipeg/iZip/UnRarX;

. Linux : 7-Zip/PeaZip。

《深度学习基础教程》的代码也可以通过GitHub网址:https://github.com/PacktPublishing/Deep-LearningEssentials进行下载。另外,网址 https://github.com/PacktPublishing/上含有大量其他书籍和视频中的代码,欢迎下载!


下载彩色图片

作者还提供了一个PDF文件,包含《深度学习基础教程》所用图片的彩色版本。读者可以通过访问网址:

https://www.packtpub.com/sites/default/files/ downloads/DeepLearningEssentials_ColorImages.pdf进行下载。


排版约定

《深度学习基础教程》使用了许多文本约定。

正文中的代码、数据库表名、文件夹名、文件名、文件扩展名、路径名、虚拟URL、用户输入和 Twitter 句柄都采用相同的字体排版。示例如下:“另外,alpha是学习率;vb是可见层的偏置;hb是隐藏层的偏置;W是权值矩阵。采样函数sample_prob是吉布斯采样函数,其决定了要打开哪个节点。”

代码块的设置如下所示:

import mxnet as mx

tensor_cpu = mx.nd.zeros((100,),ctx=mx.cpu())

tensor_gpu = mx.nd.zeros((100,),ctx=mx.gpu(0))

任何命令行输入或输出具有如下形式:

$ sudo add-apt-repository ppa:graphics-drivers/ppa -y

$ sudo apt-get update

$ sudo apt-get install -y nvidia-375 nvidia-settings

新术语或重要词汇用黑体显示。

警告或者重要注释如左图所示。

提示和技巧如左图所示。


译者序


深度学习是采用多层神经网络学习数据层次表示的机器学习方法。尽管深度学习的基础理论突破在20世纪90年代之前就已完成,但由于当时计算机硬件和数据集大小的限制,深度学习相比于其他机器学习方法并没有展现出明显的优势。直到近年来随着海量带标签数据集的出现以及高性能GPU硬件的发展,深度学习才成为风靡全球的技术。目前,深度学习已经在人脸识别、图像检索、自动驾驶、机器翻译、语言识别等改变人类社会生活的领域获得了广泛的成功。为此,许多科技公司如谷歌、Facebook、微软、百度、腾讯和商汤科技等都在深度学习上投入了大量的资金和人力,以便抢占相关核心技术的制高点。

深度学习技术是构建在复杂的数学理论之上的,完全地掌握它需要线性代数、微积分、非线性优化以及概率论等方面的数学知识。这听起来往往令深度学习的初学者望而却步。然而,由于深度学习框架TensorFlow、PyTorch、CNTK和Keras等的出现,学习深度学习的门槛已经大大降低了。特别地,深度学习框架引入了自动微分技术,避免了用户基于微积分知识进行复杂的导数推导。另外,深度学习框架提供了多个成熟的优化算法,使得不了解非线性优化的用户可以通过简单的代码使用优化算法。

通过绕开复杂的数学推导,《深度学习基础教程》基于深度学习框架TensorFlow对深度学习的基本概念、常用网络模型和实践方法等进行了深入浅出的讲解。即便数学基础不好的读者,也可以轻松地阅读本书。本书首先介绍了多层感知机、卷积神经网络(CNN)、受限玻耳兹曼机(RBM)和循环神经网络(RNN),然后重点阐述了CNN如何被用于解决现实世界中的计算机视觉问题以及RNN及其变体—长短时记忆(LSTM)网络如何进行高级自然语言处理。最后,本书介绍了深度强化学习和深度学习的实用技巧,同时探讨了深度学习的发展趋势。特别地,通过设问及循序渐进的介绍,本书可以让读者深刻地领会当前的深度学习技术。不同于市面上的深度学习书籍,本书首次对深度学习在多模态领域中的应用进行了专门的介绍。

《深度学习基础教程》的作者Wei Di、Anurag Bhardwaj和Jianing Wei都是工业界的一线数据科学家。他们工作多年,具有深厚的理论功底和丰富的实践经验,这些都为本书的写作提供了良好的基础。

深度学习是人工智能领域的研究热点,随着时间的推移,各种新理论和新算法将不断涌现。本书只提供了迄今为止已经被证实的非常有效的深度学习技术。本书对深度强化学习的介绍略显单薄。尽管如此,本书仍然是不可多得的好教材。

《深度学习基础教程》由河南大学的杨伟、李征两位老师主译。在本书翻译过程中,河南大学计算机与信息工程学院的研究生李艳萍、韩森森、李聪颖、王玉、郭玥秀等也参加了部分内容的翻译并对译文的校订做了大量工作,机械工业出版社的刘星宁编辑在本书的整个翻译过程中提供了许多帮助,在此对他们表示衷心的感谢。

此外,在翻译的过程中,我们对英文版中的少数排版错误进行了更正。由于错误非常明显,我们没有特别声明。译文虽经反复修改和校对,但由于译者水平有限,书中难免有欠妥和纰漏之处,我们真诚地欢迎广大读者批评指正。


译 者     


目录

译者序
原书前言
第 1章 为什么进行深度学习 // 1
1.1 什么是人工智能和深度学习 // 1
1.2 深度学习的历史及其兴起 // 2
1.3 为什么进行深度学习 // 7
1.3.1 相比于传统浅层方法的优势 // 7
1.3.2 深度学习的影响 //8
1.4 深层架构的动机 // 9
1.4.1 神经的观点 // 10
1.4.2 特征表示的观点 // 10
1.5 应用 //14
1.5.1 盈利性应用 // 14
1.5.2 成功案例 // 14
1.5.3 面向企业的深度学习 // 19
1.6 未来的潜力和挑战 // 20
1.7 小结 //21
第 2章 为深度学习做准备 // 22
2.1 线性代数的基础知识 // 22
2.1.1 数据表示 // 22
2.1.2 数据操作 // 23
2.1.3 矩阵属性 // 24
2.2 使用GPU进行深度学习 // 24
2.2.1 深度学习硬件指南 // 26
2.3 深度学习软件框架 // 27
2.3.1 TensorFlow // 27
2.3.2 Caffe // 27
2.3.3 MXNet // 28
2.3.4 Torch // 28
2.3.5 Theano // 28
2.3.6 CNTK // 29
2.3.7 Keras // 29
2.3.8 框架比较 // 29
2.4 基本亚马逊网络服务的深度学习开发环境配置 // 30
2.4.1 从零开始配置 // 30
2.4.2 基于Docker的配置 // 33
2.5 小结 //34
第 3章 神经网络入门 // 35
3.1 多层感知机 // 35
3.1.1 输入层 // 36
3.1.2 输出层 // 36
3.1.3 隐藏层 // 36
3.1.4 激活函数 // 36
3.2 如何进行网络学习 // 39
3.2.1 权值初始化 // 39
3.2.2 前向传播 // 39
3.2.3 反向传播 // 40
3.2.4 梯度消失与爆炸 // 42
3.2.5 优化算法 // 42
3.2.6 正则化 // 43
3.3 深度学习模型 // 43
3.3.1 卷积神经网络 // 43
3.3.2 受限玻耳兹曼机 // 47
3.3.3 循环神经网络(RNN/LSTM网络)// 50
3.3.4 RNN中的单元及其展开 // 51
3.3.5 通过时间的反向传播 // 51
3.3.6 梯度消失与 LSTM网络 // 51
3.3.7 LSTM网络中的单元和网关 // 52
3.4 应用示例 //53
3.4.1 TensorFlow设置与关键概念 // 53
3.4.2 手写数字识别 // 54
3.5 小结 //57
第 4章 计算机视觉中的深度学习 // 58
4.1 卷积神经网络的起源 // 58
4.2 卷积神经网络 // 59
4.2.1 数据变换 // 61
4.2.2 网络层 // 62
4.2.3 网络初始化 // 65
4.2.4 正则化 // 66
4.2.5 损失函数 // 67
4.2.6 模型可视化 // 68
4.2.7 手写数字分类示例 // 69
4.3 微调卷积神经网络 // 71
4.4 主流的卷积神经网络架构 // 72
4.4.1 AlexNet // 72
4.4.2 VGG // 72
4.4.3 GoogLeNet // 73
4.4.4 ResNet // 73
4.5 小结 //74
第 5章 自然语言处理中的向量表示 // 75
5.1 传统的自然语言处理 // 75
5.1.1 BoW // 75
5.1.2 带权的 tf-idf // 76
5.2 基于深度学习的自然语言处理 // 77
5.2.1 动机及分散式表示法 // 77
5.2.2 词嵌入 // 78
5.2.3 Word2Vec // 81
5.2.4 了解 GloVe // 92
5.2.5 FastText // 92
5.3 应用 //93
5.3.1 使用示例 // 93
5.3.2 微调 // 93
5.4 小结 //94
第 6章 高级自然语言处理 // 95
6.1 面向文本的深度学习 // 95
6.1.1 神经网络的局限性 // 95
6.2 循环神经网络 // 96
6.2.1 RNN架构 // 97
6.2.2 基本的RNN模型 // 98
6.2.3 训练RNN很难 // 98
6.3 LSTM网络 //99
6.3.1 使用TensorFlow实现LSTM网络 // 101
6.4 应用 //103
6.4.1 语言建模 // 103
6.4.2 序列标注 // 104
6.4.3 机器翻译 // 106
6.4.4 聊天机器人 // 109
6.5 小结 //110
第 7章 多模态 // 111
7.1 什么是多模态学习 // 111
7.2 多模态学习的挑战 // 111
7.2.1 模态表示 // 112
7.2.2 模态转换 // 112
7.2.3 模态对齐 // 112
7.2.4 模态融合 // 113
7.2.5 协同学习 // 113
7.3 图像标注生成 //113
7.3.1 show&tell算法 // 114
7.3.2 其他类型的方法 // 116
7.3.3 数据集 // 117
7.3.4 评估方法 // 119
7.3.5 注意力模型 // 121
7.4 视觉问答 //125
7.5 基于多源的自动驾驶 //127
7.6 小结 //130
第 8章 深度强化学习 // 131
8.1 什么是强化学习 // 131
8.1.1 问题设置 // 132
8.1.2 基于值函数学习的算法 // 132
8.1.3 基于策略搜索的算法 //134
8.1.4 基于Actor-Critic的算法 // 134
8.2 深度强化学习 // 135
8.2.1 深度Q网络(DQN)// 135
8.2.2 双DQN // 137
8.2.3 竞争DQN // 138
8.3 强化学习实现 // 138
8.3.1 简单的强化学习示例 // 138
8.3.2 以Q-learning为例的强化学习 // 139
8.4 小结 //141
第 9章 深度学习的技巧 // 142
9.1 处理数据 //142
9.1.1 数据清理 // 142
9.1.2 数据扩充 // 142
9.1.3 数据归一化 // 143
9.2 训练技巧 // 143
9.2.1 权值初始化 // 143
9.2.2 优化 // 144
9.2.3 损失函数选择 // 146
9.2.4 防止过拟合 // 147
9.2.5 微调 // 148
9.3 模型压缩 // 149
9.4 小结 // 152
第 10章 深度学习的发展趋势 // 153
10.1 深度学习的最新模型 // 153
10.1.1 生成对抗网络 // 153
10.1.2 Capsule网络 // 154
10.2 深度学习的新应用 // 155
10.2.1 基因组学 // 155
10.2.2 医疗预测 // 157
10.2.3 临床影像学 // 159
10.2.4 唇语 // 160
10.2.5 视觉推理 // 161
10.2.6 代码合成 // 162
10.3 小结 // 164

短评

好书,优惠的额度很好,希望一直保持

2018-10-28 21:34:39

产品特色