# 前言 深度学习架构由代表高级抽象的多级非线性操作组成。 这使您可以从数据中学习有用的要素表示。 《使用 Python 的动手深度学习架构》为您简要介绍了用于深度和浅层架构的基本学习算法。 本书包含构建高效人工智能系统的实际实现和思想,将帮助您学习神经网络在构建深度架构中如何发挥重要作用。 您将通过易于理解的代码和图表,了解各种深度学习架构,例如 AlexNet,VGG Net,GoogleNet 等。 除此之外,这本书还将指导您构建和训练各种深度架构,例如玻尔兹曼机制,自编码器,**卷积神经网络**(**CNN**),**循环神经网络**(**RNN**),**自然语言处理**(**NLP**),**生成对抗网络**(**GAN**)和其他内容,以及实际的实现方式。 本书介绍了用于深层和浅层架构的基本学习算法。 到本书结尾,您将能够使用流行的框架和数据集以及每种架构所需的设计模式来构建深度模型。 您将准备探索当今世界中深层架构的可能性。 # 这本书是给谁的 如果您是数据科学家,机器学习开发人员/工程师,深度学习从业人员,或者对 AI 领域感到好奇,并且想升级各种深度学习架构的知识,那么本书将对您有吸引力。 您应该具有一些统计知识和机器学习算法知识,才能从本书中获得最大收益。 # 本书涵盖的内容 “第 1 章”,“深度学习入门”涵盖了机器和人工智能中的智能进化,以及最终的深度学习。 然后,我们将研究深度学习的一些应用程序,并建立用于通过深度学习模型进行编码的环境。 完成本章后,您将学习以下内容。 “第 2 章”,“深度前馈网络”涵盖了深度前馈网络及其架构的发展历史。 我们还将演示如何提供和预处理数据以训练深度学习网络。 “第 3 章”,“受限玻尔兹曼机和自编码器”解释了幕后的算法,称为受限玻尔兹曼机(RBM)及其演化路径。 然后,我们将更深入地研究其背后的逻辑,并在 TensorFlow 中实现 RBM。 我们还将应用它们来构建电影推荐器。 然后,我们将学习自编码器,并简要介绍它们的发展路径。 我们还将说明各种自编码器,按其架构或形式化形式进行分类。 “第 4 章”,“CNN 架构”涵盖了一类重要的图像深度学习网络,称为**卷积神经网络**(**CNN**)。 我们还将讨论 CNN 在深度前馈网络上的好处。 然后,我们将详细了解一些著名的图像分类 CNN,然后在 CIFAR-10 数据集上构建第一个 CNN 图像分类器。 然后,我们将继续使用 CNN 和 TensorFlow 检测模型 zoo 进行对象检测。 “第 5 章”,“移动神经网络和 CNN”讨论了用于在实时应用中进行 CNN 工作的移动神经网络的需求。 我们还将讨论 Google 推出的两种基准 MobileNet 架构-MobileNet 和 MobileNetV2。 稍后,我们将讨论 MobileNet 与对象检测网络(例如 SSD)的成功组合,以在移动设备上实现对象检测。 “第 6 章”,“循环神经网络”解释了最重要的深度学习模型之一,循环神经网络(RNN),其架构以及 RNN 的进化路径。 稍后,我们将讨论按递归层分类的各种架构,包括香草 RNN,LSTM,GRU 和双向 RNN,并应用香草架构来编写我们自己的《战争与和平》(毫无意义)。 我们还将介绍双向架构,该架构允许模型保留序列的过去和将来上下文中的信息。 “第 7 章”,“生成对抗网络”解释了最有趣的深度学习模型之一,生成对抗网络(GANs)及其演化路径。 我们还将以图像生成为例来说明各种 GAN 架构。 我们还将探索四种 GAN 架构,包括香草 GAN,深度卷积 GAN,条件 GAN 和信息最大化 GAN。 “第 8 章”,“深度学习的新趋势”讨论了一些我们已经发现今年有影响力并且在未来会更加突出的深度学习思想。 我们还将学习贝叶斯深度学习结合了贝叶斯学习和深度学习的优点。 # 充分利用这本书 读者需要具备 Python,TensorFlow 和 Keras 的先验知识。 # 下载示例代码文件 您可以从 [www.packt.com](http://www.packt.com) 的帐户中下载本书的示例代码文件。 如果您在其他地方购买了此书,则可以访问 [www.packt.com/support](http://www.packt.com/support) 并注册以将文件直接通过电子邮件发送给您。 您可以按照以下步骤下载代码文件: 1. 登录或注册 [www.packt.com](http://www.packt.com) 。 2. 选择支持选项卡。 3. 单击代码下载和勘误。 4. 在搜索框中输入书籍的名称,然后按照屏幕上的说明进行操作。 下载文件后,请确保使用以下最新版本解压缩或解压缩文件夹: * Windows 的 WinRAR/7-Zip * Mac 版 Zipeg/iZip/UnRarX * 适用于 Linux 的 7-Zip/PeaZip 本书的代码包也托管在 [GitHub](https://github.com/PacktPublishing/Hands-On-Deep-Learning-Architectures-with-Python) 中。 如果代码有更新,它将在现有的 GitHub 存储库中进行更新。 我们还从[这里](https://github.com/PacktPublishing/)提供了丰富的书籍和视频目录中的其他代码包。 去看一下! # 下载彩色图像 我们还提供了 PDF 文件,其中包含本书中使用的屏幕截图/图表的彩色图像。 [您可以在此处下载](https://www.packtpub.com/sites/default/files/downloads/9781788998086_ColorImages.pdf)。 # 使用约定 本书中使用了许多文本约定。 `CodeInText`:指示文本,数据库表名称,文件夹名称,文件名,文件扩展名,路径名,虚拟 URL,用户输入和 Twitter 句柄中的代码字。 这是一个示例:“将下载的`WebStorm-10*.dmg`磁盘映像文件安装为系统中的另一个磁盘。” 代码块设置如下: ```py import tensorflow as tf import numpy as np import matplotlib.pyplot as plt from sklearn.model_selection import train_test_split ``` 当我们希望引起您对代码块特定部分的注意时,相关行或项目以粗体显示: ```py import tensorflow as tf import numpy as np import matplotlib.pyplot as plt from sklearn.model_selection import train_test_split ``` 任何命令行输入或输出的编写方式如下: ```py conda activate test_env conda install tensorflow ``` **粗体**:表示新术语,重要单词或您在屏幕上看到的单词。 例如,菜单或对话框中的单词会出现在这样的文本中。 这是一个示例:“从管理面板中选择系统信息。” 警告或重要提示如下所示。 提示和技巧如下所示。