00.md 12.5 KB
Newer Older
W
wizardforcel 已提交
1 2
# 前言

W
wizardforcel 已提交
3
在本书中,您将学习如何有效地使用 TensorFlow,这是 Google 的深度学习开源框架。 您将实现不同的深度学习网络,例如**卷积神经网络****CNN**),**循环神经网络****RNN**),**深度 Q 学习网络****DQN**)和**生成对抗网络****GAN**),易于遵循独立的配方。 您将学习如何使用 TensorFlow 将 Keras 用作后端。
W
wizardforcel 已提交
4
您将了解如何实现不同的深度神经体系结构以执行工作中的复杂任务。 您将在一些常用数据集(例如 MNIST,CIFAR-10,Youtube8m 等)上学习不同 DNN 的性能。 您不仅将了解 TensorFlow 支持的不同移动和嵌入式平台,还将了解如何为深度学习应用程序设置云平台。 简要了解 TPU 架构以及它们将如何影响 DNN 的未来。
W
wizardforcel 已提交
5
到本书结尾,您将成为在不断增长的实际应用和研究领域中实施深度学习技术的专家,这些领域包括增强学习,GAN,自编码器等。
W
wizardforcel 已提交
6 7 8

# 本书涵盖的内容

W
wizardforcel 已提交
9
“TensorFlow 简介”讨论了 Google 的开源框架 TensorFlow,以及为什么它对深度学习很有用。 我们将讨论如何在 MAC,Windows 和 Ubuntu 上为 CPU 和 GPU 安装 TensorFlow。 我们还将讨论整本书中将使用的其他 python 软件包。 我们将解释 TensorFlow 代码的两个组成部分,图形的定义及其执行。 我们将学习使用 TensorBoard 查看图结构。 我们将了解 TensorFlow 常量,变量和占位符之间的区别。 我们还将品尝 TensorFlow 估算器。
W
wizardforcel 已提交
10

W
wizardforcel 已提交
11
“回归”讨论了回归及其应用。 我们将讨论回归所涉及的概念,了解回归与聚类和分类的不同之处。 我们将学习可能的不同类型的损失函数以及如何在 Tensorflow 中实现它们。 我们学习如何实现 L1 和 L2 正则化。 我们将讨论梯度下降算法,学习如何优化它并在 Tensorflow 中实现它。 我们将简要了解交叉熵函数及其实现。
W
wizardforcel 已提交
12

W
wizardforcel 已提交
13
“神经网络感知器”,涵盖了人工神经网络,并解释了为什么它可以完成 DNN 最近声称的出色任务。 我们将学习激活函数的不同选择。 我们将使用所有这些来构建一个简单的感知器,并将其用于功能建模。 我们将在训练之前了解数据的正则化。 我们还将学习逐步构建多层感知器(MLP)。 我们将看到 TensorFlow 的自动区分器如何使我们的工作更轻松。
W
wizardforcel 已提交
14

W
wizardforcel 已提交
15
“TensorFlow 卷积神经网络”,讨论了卷积的过程及其如何提取特征。 我们将学习 CNN 的三个重要层:卷积层,池化层和完全连接层。 我们还将学习辍学,如何提高性能以及不同的 CNN 架构(例如 LeNET 和 GoogleNET)。
W
wizardforcel 已提交
16

W
wizardforcel 已提交
17
“CNN 的运作”,涵盖了 CNN 的一些令人赞叹的成功案例,例如面部识别。 我们将编写一个使用 CNN 进行情感分析的方法。 我们将讨论 CNN 的预调整,并学习如何实施迁移学习。 我们将学习如何使用 VGG16 进行迁移学习。 我们将使用 VGGNet,ResNet,Inception 和 Xception 学习图像的分类。 我们将使用膨胀的 ConvNet,Wavenet 和 Nsynth 生成音乐。 我们还将学习如何进行 Visual Q &A。我们将学习如何对视频进行分类。
W
wizardforcel 已提交
18

W
wizardforcel 已提交
19
“循环神经网络”讨论了循环神经网络。 我们将学习 RNN 的基本单元 RNN 单元。 我们将学习单词嵌入和时间排序。 我们将简要讨论 LSTM 网络。 我们将学习 seq2seq RNN。 我们将学习如何将 RNN 应用于机器翻译,生成文本和预测未来价值
W
wizardforcel 已提交
20

W
wizardforcel 已提交
21
“无监督学习”,讲授无监督学习范例。 我们将学习聚类和降维。 我们将学习诸如主成分分析(PCA)之类的技术,并了解如何将其用于降维。 我们将学习 k 均值聚类。 我们将了解地形图的概念,并学习如何训练自组织图。 我们将学习受限玻尔兹曼机(RBM)。 我们将讨论 RBM 的体系结构和训练。 我们将学习如何堆叠 RBM 来构成深度信念网络,并且将学习如何对其进行训练。 我们将使用预训练和微调进行情绪检测的概念来训练 DBN。
W
wizardforcel 已提交
22

W
wizardforcel 已提交
23
“自编码器”,使自编码器神秘化。 我们将学习自编码器及其应用。 我们将讨论可以使用自编码器的各种实际示例。 我们将讨论编码和后续重构的过程。 我们将学习重建误差。 我们将学习稀疏自编码器,即 KL 散度的概念。 我们将学习去噪自编码器,并在给定嘈杂图像的情况下使用它们来重建清晰图像。 我们将学习如何构建卷积自编码器和堆叠式自编码器。
W
wizardforcel 已提交
24

W
wizardforcel 已提交
25
“强化学习”,涵盖了不同的强化学习算法。 我们将学习 Q 学习算法。 我们将讨论 Bellman-Ford 方程以及如何选择学习率,折扣因子。 我们将学习如何使用 OpenAI Gym 框架。 我们将学习体验重播和缓冲的概念,以实现价值迭代 Q 网络。 我们将使用 Q 学习和策略梯度来构建游戏代理。 最后,我们将学习如何建立自己的深度 Q 学习网络(DQN)。 简要描述 AlphaGo Zero 及其大获胜。
W
wizardforcel 已提交
26

W
wizardforcel 已提交
27
第 10 章,“TensorFlow 移动计算”,涵盖了 TensorFlow 移动。 我们将学习移动深度学习的不同应用。 我们将学习如何在 Windows 平台上的 Android Studio 中使用 Tensorflow。 我们将学习如何结合使用 Tensorflow 和 XCode 来制作基于 IOS 的应用程序。 我们将学习如何优化移动设备的 Tensorflow 图。 我们还将学习如何为移动设备转换 Tensorflow 图。
W
wizardforcel 已提交
28

W
wizardforcel 已提交
29
第 11 章,“TensorFlow 生成对抗网络(GAN),变分自编码器和胶囊网络”,从生成对抗网络及其相对于其他 DNN 的优势开始。 我们探索了不同的预测模型。 我们了解 GAN 的动机及其直观工作。 我们了解基本的 GAN 架构。 我们将探索 GAN 的一些非常酷的应用程序。 我们将学习另一种生成网络,即变分自编码器。 最后,我们将了解最近提出的胶囊网络
W
wizardforcel 已提交
30

W
wizardforcel 已提交
31
第 12 章,“分布式 TensorFlow 和云深度学习”,介绍了云环境,泊坞窗,容器以及如何使用它们。 *我们将学习如何使用具有多个 GPU 和多个服务器的分布式 Tensorflow。 我们将学习如何设置 AWS 进行深度学习。* 我们将学习如何为深度学习应用程序设置 Google 云。 我们将学习如何为深度学习应用程序设置 Microsoft Azure 云。 我们了解其他可用的云服务
W
wizardforcel 已提交
32

W
wizardforcel 已提交
33
附录 A,“通过 AutoML 学习(元学习)”,简要讨论了 AutoML 和暹罗网络。
W
wizardforcel 已提交
34

W
wizardforcel 已提交
35
附录 B,“TensorFlow 处理单元”,涵盖了 Tensor 处理单元,其基本架构以及它将如何影响 DNN 的未来。
W
wizardforcel 已提交
36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120

# 这本书需要什么

对于这本书,您将需要 Python 版本 3.5( [https://www.continuum.io/downloads](https://www.continuum.io/downloads) )和 TensorFlow( [www.tensorflow.org](http://www.tensorflow.org) )。 建议使用以下硬件规格:

*   CPU 架构:x86_64
*   系统内存:8-32 GB
*   CPU:4-8 核
*   GPU :(可选,最低 NVDIA®GTX 650)

# 这本书是给谁的

本书面向希望定期执行机器学习任务的数据科学家,机器学习从业人员和深度学习爱好者。 稍微熟悉深度神经网络并希望获得与 CNN 和 RNN 一起工作的专业知识的人会发现这本书很有用。

# 栏目

在本书中,您会发现经常出现的几个标题(准备工作,如何做……,如何工作……,还有更多……以及另请参见)。 为了给出有关如何完成配方的明确说明,我们使用以下部分。

# 做好准备

本节将告诉您配方中的预期内容,并介绍如何设置配方所需的任何软件或任何初步设置。

# 怎么做…

本节包含遵循食谱所需的步骤。

# 这个怎么运作…

本节通常包括对上一节中发生的情况的详细说明。

# 还有更多…

本节包含有关配方的其他信息,以使读者对配方有更多的了解。

# 也可以看看

本节提供了指向该食谱其他有用信息的有用链接。

# 约定

在本书中,您将找到许多可以区分不同类型信息的文本样式。 以下是这些样式的一些示例,并解释了其含义。 文本,数据库表名称,文件夹名称,文件名,文件扩展名,路径名,虚拟 URL,用户输入和 Twitter 句柄中的代码字显示如下:“在数据库中为 JIRA 创建新用户并授予该用户访问 我们刚刚使用以下命令创建了`jiradb`数据库:“

代码块设置如下:

```py
<Contextpath="/jira"docBase="${catalina.home}
/atlassian- jira" reloadable="false" useHttpOnly="true">
```

任何命令行输入或输出的编写方式如下:

```py
 mysql -u root -p
```

**新术语****重要词**以粗体显示。 您在屏幕上看到的单词,例如在菜单或对话框中,将以如下形式出现:“从“管理”面板中选择“系统信息”。

Warnings or important notes appear like this.Tips and tricks appear like this.

# 读者反馈

始终欢迎读者的反馈。 让我们知道您对这本书的看法-您喜欢或不喜欢的书。 读者反馈对我们很重要,因为它可以帮助我们开发出您真正能充分利用的标题。 要向我们发送一般反馈,只需发送电子邮件`feedback@packtpub.com`,然后在您的邮件主题中提及该书的标题。 如果您有专业知识的主题,并且对写作或撰写书籍感兴趣,请参阅 [www.packtpub.com/authors](http://www.packtpub.com/authors) 上的作者指南。

# 客户支持

既然您是 Packt 书的骄傲拥有者,我们可以通过很多方法来帮助您从购买中获得最大收益。

# 下载示例代码

您可以从 [http://www.packtpub.com](http://www.packtpub.com) 的帐户中下载本书的示例代码文件。 如果您在其他地方购买了此书,则可以访问 [http://www.packtpub.com/support](http://www.packtpub.com/support) 并注册以将文件直接通过电子邮件发送给您。 您可以按照以下步骤下载代码文件:

1.  使用您的电子邮件地址和密码登录或注册到我们的网站。
2.  将鼠标指针悬停在顶部的“支持”选项卡上。
3.  单击代码下载和勘误。
4.  在搜索框中输入书籍的名称。
5.  选择您要下载其代码文件的书。
6.  从购买本书的下拉菜单中选择。
7.  单击代码下载。

您还可以通过在 Packt Publishing 网站上的图书网页上单击“代码文件”按钮来下载代码文件。 通过在“搜索”框中输入书名可以访问该页面。 请注意,您需要登录到 Packt 帐户。 下载文件后,请确保使用以下最新版本解压缩或解压缩文件夹:

*   Windows 的 WinRAR / 7-Zip
*   Mac 版 Zipeg / iZip / UnRarX
*   适用于 Linux 的 7-Zip / PeaZip

W
wizardforcel 已提交
121
本书的代码包也托管在 GitHub 的 [https://github.com/PacktPublishing/TensorFlow-1x-Deep-Learning-Cookbook](https://github.com/PacktPublishing/TensorFlow-1x-Deep-Learning-Cookbook) 上。 我们还从 [https://github.com/PacktPublishing/](https://github.com/PacktPublishing/) 提供了丰富的书籍和视频目录中的其他代码包。 去看一下!
W
wizardforcel 已提交
122 123 124 125 126 127 128 129 130 131 132 133

# 勘误

尽管我们已尽一切努力确保内容的准确性,但还是会发生错误。 如果您发现我们的其中一本书中有错误-可能是文字或代码中的错误-请向我们报告,我们将不胜感激。 这样,您可以使其他读者免于沮丧,并帮助我们改进本书的后续版本。 如果您发现任何勘误,请访问 [http://www.packtpub.com/submit-errata](http://www.packtpub.com/submit-errata) 进行报告,选择您的图书,点击“勘误提交表格”链接,然后输入勘误的详细信息 。 一旦您的勘误得到验证,您的提交将被接受,勘误将被上载到我们的网站或添加到该标题的勘误部分下的任何现有勘误列表中。 要查看以前提交的勘误,请转到 [https://www.packtpub.com/books/content/support](https://www.packtpub.com/books/content/support) ,然后在搜索字段中输入书籍的名称。 所需信息将出现在“勘误”部分下。

# 海盗行为

互联网上版权材料的盗版在所有媒体中都是一个持续存在的问题。 在 Packt,我们非常重视版权和许可的保护。 如果您在 Internet 上以任何形式发现我们的作品的任何非法副本,请立即向我们提供位置地址或网站名称,以便我们寻求补救。 请通过`copyright@packtpub.com`与我们联系,并提供指向可疑盗版材料的链接。 感谢您在保护我们的作者方面的帮助以及我们为您带来有价值的内容的能力。

# 问题

如果您对本书的任何方面都有疑问,可以通过`questions@packtpub.com`与我们联系,我们将尽力解决该问题。