首页>参考读物>计算机科学与技术>人工智能

TensorFlow深度学习实战
作者 : [波兰]安东尼奥·古利(Antonio Gulli)[印度] 阿米塔·卡普尔( Amita Kapoor) 著
译者 : 李飞 徐从安 顾佼佼 尹高扬 译 李健伟 王丽英 审校
出版日期 : 2018-12-24
ISBN : 978-7-111-61575-0
定价 : 99.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 364
开本 : 16
原书名 : TensorFlow 1.x Deep Learning Cookbook
原出版社: Packt Publishing Ltd.
属性分类: 店面
包含CD : 无CD
绝版 : 未绝版
图书简介

本书将介绍如何有效地使用Google的开源框架TensorFlow进行深度学习。通过学习,你将实现不同的深度学习网络,如卷积神经网络(CNN)、循环神经网络(RNN)、深度Q learning网络(DQN)和生成对抗网络(GAN),以及如何使用TensorFlow的高级封装Keras工具。

图书特色

图书前言

本书介绍如何有效地使用Google的开源框架TensorFlow进行深度学习。你将实现不同的深度学习网络,如卷积神经网络(CNN)、循环神经网络(RNN)、深度Q learning网络(DQN)和生成对抗网络(GAN),并将学习如何使用TensorFlow的高级封装工具Keras。
你将了解如何使用不同的深层神经架构来执行复杂的任务,并在一些常用数据集(如MNIST、CIFAR-10、Youtube8m等)上了解不同DNN的性能,不仅可以了解TensorFlow支持的不同移动和嵌入式平台,还可以了解如何为深度学习应用程序搭建云平台。你将深入了解TPU架构,以及它们将如何影响DNN的未来。
学完本书,你将理解深度学习实践技术,能够独立开发现实世界中的一些应用,开展如强化学习、GAN、自动编码机等领域的研究。
本书主要内容
第1章 讨论Google的开源框架TensorFlow,以及为什么它对深度学习有用。这一章将讨论如何在Mac、Windows和Ubuntu上为CPU和GPU安装TensorFlow,还将讨论在整本书中使用的其他Python包。我们将解释TensorFlow代码的两个组成部分、图的定义及其执行,学习使用TensorBoard来查看图表结构,了解TensorFlow常量、变量和占位符之间的区别,也会体验一下TensorFlow Estimator。
第2章 讨论回归及其应用。这一章将讨论回归中涉及的概念,了解它与聚类和分类有何不同,学习不同类型的损失函数,以及如何在TensorFlow中实现它们。我们将学习如何实现L1和L2正则化,并讨论梯度下降算法,学习如何优化它并在TensorFlow中实现它,还将简要介绍一下交叉熵函数及其实现。
第3章 涵盖人工神经网络基础知识,并解释为什么它可以完成DNN所要求的任务,还将学习如何选择不同的激活函数,使用它们来构建一个简单的感知机,并将其用于函数建模。在训练数据之前有必要了解数据的正则化,并将学习逐层构建多层感知机(MLP)。
第4章 讨论卷积过程以及如何提取特征,将学习CNN的三个重要的层:卷积层、池化层和全连接层。我们也将学习dropout正则化,以及为何其能提高性能,并学习不同的CNN架构,如LeNET和GoogleNET。
第5章 涵盖诸如面部识别CNN的一些成功案例。我们将写一个使用CNN进行情感分析的程序,并学习如何实现迁移学习。还将学习如何使用VGG16网络进行迁移学习,并用VGGNet、ResNet、Inception和Xception来学习图像的分类。我们将使用扩张ConvNet、Wavenet和Nsynth来生成一段音乐,还将学习如何做视觉问答、如何做视频分类。
第6章 将介绍RNN的基本单元、单词嵌入和时间排序。我们将简要讨论LSTM网络,并学习seq2seq RNN,还学习如何使用RNN进行机器翻译、生成文本和预测未来值。
第7章 主要介绍无监督学习范式。我们将学习聚类和降维,学习像主成分分析(PCA)这样的技术,并了解它们如何用于降维。我们将学习均值聚类,了解地形图的概念,并学习如何训练自组织映射网络。我们将学习受限玻尔兹曼机(RBM),并讨论其架构和训练机制。我们将学习如何堆叠RBM来构建深度置信网络(DBN),并学习如何训练它们。我们还将使用预训练和微调情绪检测的概念来训练DBN。
第8章 将揭开自动编码机的神秘面纱。我们将学习自动编码机及其应用程序,讨论各种可以使用自动编码机的真实案例,讨论编码和后续重建的过程,学习重建错误,学习稀疏自动编码机、KL散度的概念,学习去噪自动编码机,并使用它们来根据被噪声污染的图像重建纯净的图像。我们将学习如何构建卷积自动编码机和堆叠自动编码机。
第9章 涵盖不同的强化学习算法。我们将学习Q learning算法、讨论Bellman-Ford方程,以及如何选择学习率、折扣因子,还将学习如何使用OpenAI Gym框架。我们将学习经验回放和缓存的概念来实现价值迭代Q网络,使用Q learning和策略梯度来构建游戏agent。最后,我们将学习如何创建自己的DQN,简要介绍AlphaGo Zero及其取得的胜利。
第10章 将介绍移动端深度学习的不同应用。我们将在Windows平台上学习如何在Android studio上使用TensorFlow,学习如何使用TensorFlow和XCode来制作基于ios的应用程序,学习如何优化移动端的TensorFlow计算图,以及学习如何为移动设备转换TensorFlow计算图。
第11章 从生成对抗网络开始,首先探索不同的预测模型。我们将阐述GAN及其运行背后的动机,了解基本的GAN架构,并探索一些非常酷的GAN应用。我们将学习另一个生成网络——变分自动编码机。最后,我们将了解最近提出的胶囊网络。
第12章 解释云环境、Docker、容器的概念,以及如何使用它们,学习如何使用多个CPU或多个服务器运行分布式TensorFlow,学习如何设置AWS进行深度学习,学习如何为深度学习应用设置谷歌云,学习如何为深度学习应用设置Microsoft Azure云。我们还将了解其他可用的云服务。
附录A 简要介绍AutoML和孪生网络。
附录B 包括张量处理单元和它的基本架构,以及它将如何影响DNN的未来。
阅读本书前的准备工作
为更好地学习本书,你需要安装Python 3.5版本(https://www.continuum.io/ downloads)以及TensorFlow(www.tensorflow.org)。建议使用以下硬件配置:
CPU架构:x86_64
系统内存:8 GB~32 GB
CPU:4~8 核
GPU:可选,最低NVDIA GTX 650
本书读者对象
本书主要面向想要定期执行机器学习任务的数据科学家、机器学习从业者和深度学习爱好者。对深度神经网络已有了解并希望获得CNN和RNN等方面实践经验的人会发现本书很有用。
本书结构
在这本书中,你会发现几个频繁出现的小标题(准备工作、具体做法、解读分析、更多内容、拓展阅读),具体含义如下。
准备工作
这部分主要介绍需要做什么,并介绍如何安装所需的软件并进行初步设置。
具体做法
这部分包括实现相应功能的具体步骤。
解读分析
这部分通常包含对具体步骤的详细解释。
更多内容
这部分是扩充知识,以使读者对其有更多的了解。
拓展阅读
这部分将列出一些相关的网址。
下载示例代码
本书的示例代码,可以从http://www.packtpub.com通过个人账号下载,也可以访问华章图书官网http://www.hzbook.com,通过注册并登录个人账号下载。

上架指导

计算机/人工智能/机器学习

封底文字

深度神经网络(DNN)已经在计算机视觉、语音识别、自然语言处理等领域取得了巨大的成功。本书既介绍DNN理论的学习,又包含丰富的案例,可帮助你利用人工智能技术来解决现实问题。
通过阅读本书,你将学习如何有效地使用谷歌的深度学习开源框架TensorFlow,实现不同的深度学习网络,如卷积神经网络(CNN)、循环神经网络(RNN)、深度Qlearning网络(DQN)、生成对抗网络(GAN)。同时,还将学习如何使用TensorFlow的高级封装工具Keras。
你还能学习如何处理一些流行的数据集,如MNIST、CIFAR-10以及YouTube-8M等。不仅可以了解 TensorFlow支持的移动端和嵌入式平台,还能够学习如何设置深度学习云平台,以及TPU架构和它如何影响DNN的未来。
本书主要内容:
各种有影响力的数据集,例如MNIST、CIFAR-10、YouTube-8M,以及如何在TensorFlow代码中获取和使用它们。
使用TensorBoard理解神经网络架构、优化学习过程,以及查看神经网络内部结构。
使用不同的回归技术进行预测和分类。
在TensorFlow中构建单层和多层感知机。
在TensorFlow中实现CNN和RNN,并使用它们解决现实问题。
学习如何使用受限玻尔兹曼机来推荐影片。
利用自动编码机和深度置信网络进行情绪检测。
用神经网络智能体和各种强化学习技术玩游戏。

译者序

凭借Google强大的开发实力,TensorFlow 在2015年年底一出现就受到了极大的关注。与其他机器学习框架相比,TensorFlow在GitHub上的Fork数和Star 数都是最多的,而且在图形分类、音频处理、推荐系统和自然语言处理等场景下都有丰富的应用。毫不夸张地说,TensorFlow已成为当下热门的深度学习框架。TensorFlow计算资源不仅包含CPU、GPU,还包括TPU,比如AlphaGo和AlphaZero就用到了TPU集群,大大提高了训练速度,当然还能够通过Google Cloud进行训练。
除了常见的网络结构外,TensorFlow还支持深度强化学习乃至其他计算密集的科学计算。用户能够将训练好的模型方便地部署到多种硬件、操作系统平台上,对Linux、Mac和Windows的支持也越来越成熟,同时在移动设备上表现得也很好。在工业生产环境中,硬件设备新旧不一,TensorFlow的异构性让它能够全面地支持各种硬件和操作系统。TensorFlow 还集成了一个功能强大的可视化组件TensorBoard,能可视化网络结构和训练过程,对于观察复杂的网络结构和监控时间长、规模大的训练很有帮助。
本书对一些常见的模型进行了理论介绍,并给出了完整的实现代码,不仅能够对深度学习初学者进行理论与实践的指导,还能为开发人员提供程序设计借鉴。然而由于译者水平有限,特别担心未能完美传达原作者的意思,建议有条件的读者去阅读英文原著。
本书的翻译工作由海军航空大学的一些深度学习研究者完成,具体分工如下:第1~5章由徐从安翻译,第6~10、12章以及附录A由李飞完成,第11章由尹高扬完成,附录B由顾佼佼完成,李健伟、顾佼佼、王丽英对全书进行了审校。同时感谢刘锦涛、张梦玲、丁鹏程在本书翻译过程中提供了指导与帮助。

图书目录

译者序
前言
作者简介
审校者简介
第1章 TensorFlow简介 1
1.1 引言 1
1.2 TensorFlow安装 2
1.3 Hello world 6
1.4 理解TensorFlow程序结构 8
1.5 常量、变量和占位符 10
1.6 使用TensorFlow 执行矩阵操作 15
1.7 使用数据流图 17
1.8 从0.x迁移到1.x 18
1.9 使用XLA提升运算性能 19
1.10 调用CPU/GPU设备 21
1.11 TensorFlow与深度学习 24
1.12 DNN问题需要的Python包 28
第2章 回归 30
2.1 引言 30
2.2 选择损失函数 31
2.3 TensorFlow中的优化器 33
2.4 读取CSV文件和数据预处理 36
2.5 房价估计——简单线性回归 39
2.6 房价估计——多元线性回归 42
2.7 MNIST数据集的逻辑回归 45
第3章 神经网络——感知机 50
3.1 引言 50
3.2 激活函数 52
3.3 单层感知机 58
3.4 计算反向传播算法的梯度 60
3.5 使用MLP实现MNIST分类器 63
3.6 使用MLP逼近函数来预测波士顿房价 66
3.7 调整超参数 71
3.8 高级API——Keras 72
第4章 卷积神经网络 75
4.1 引言 75
4.2 创建一个ConvNet来分类手写MNIST数字 79
4.3 创建一个ConvNet来分类CIFAR-10数据集 84
4.4 用VGG19做风格迁移的图像重绘 87
4.5 使用预训练的VGG16网络进行迁移学习 96
4.6 创建DeepDream网络 100
第5章 高级卷积神经网络 105
5.1 引言 105
5.2 为情感分析创建一个ConvNet 106
5.3 检验VGG预建网络学到的滤波器 109
5.4 使用 VGGNet、ResNet、Inception和Xception分类图像 113
5.5 重新利用预建深度学习模型进行特征提取 125
5.6 用于迁移学习的深层InceptionV3网络 126
5.7 使用扩张ConvNet、WaveNet和 NSynth生成音乐 129
5.8 关于图像的问答 134
5.9 利用预训练网络进行视频分类的6种方法 140
第6章 循环神经网络 144
6.1 引言 144
6.2 神经机器翻译——seq2seq RNN训练 150
6.3 神经机器翻译——seq2seq RNN推理 156
6.4 你所需要的是注意力—另一个seq2seq RNN例子 157
6.5 使用RNN像莎士比亚一样写作 161
6.6 基于RNN学习预测比特币价格 165
6.7 多对一和多对多的RNN例子 174
第7章 无监督学习 176
7.1 引言 176
7.2 主成分分析 176
7.3 k均值聚类 181
7.4 自组织映射 186
7.5 受限玻尔兹曼机 191
7.6 基于RBM的推荐系统 196
7.7 用DBN进行情绪检测 198
第8章 自动编码机 205
8.1 引言 205
8.2 标准自动编码机 207
8.3 稀疏自动编码机 212
8.4 去噪自动编码机 217
8.5 卷积自动编码机 221
8.6 堆叠自动编码机 225
第9章 强化学习 231
9.1 引言 231
9.2 学习OpenAI Gym 232
9.3 用神经网络智能体玩Pac-Man游戏 235
9.4 用Q learning玩Cart-Pole平衡游戏 238
9.5 用DQN玩Atari游戏 244
9.6 用策略梯度网络玩Pong游戏 252
第10章 移动端计算 259
10.1 引言 259
10.2 安装适用于macOS和Android的TensorFlow mobile 260
10.3 玩转TensorFlow和Android的示例 265
10.4 安装适用于macOS和iPhone的TensorFlow mobile 268
10.5 为移动设备优化TensorFlow计算图 271
10.6 为移动设备分析TensorFlow计算图 273
10.7 为移动设备转换TensorFlow计算图 275
第11章 生成式模型和CapsNet 278
11.1 引言 278
11.2 学习使用简单GAN虚构MNIST图像 284
11.3 学习使用DCGAN虚构MNIST图像 289
11.4 学习使用DCGAN虚构名人面孔和其他数据集 294
11.5 实现变分自动编码机 297
11.6 学习使用胶囊网络击败MNIST前期的最新成果 305
第12章 分布式TensorFlow和云深度学习 319
12.1 引言 319
12.2 在GPU上使用TensorFlow 322
12.3 玩转分布式TensorFlow:多个GPU和一个CPU 323
12.4 玩转分布式TensorFlow:多服务器 324
12.5 训练分布式TensorFlow MNIST分类器 326
12.6 基于Docker使用TensorFlow Serving 328
12.7 使用计算引擎在谷歌云平台上运行分布式TensorFlow 330
12.8 在谷歌CloudML上运行分布式TensorFlow 333
12.9 在Microsoft Azure上运行分布式TensorFlow 334
12.10 在Amazon AWS上运行分布式TensorFlow 337
附录A 利用AutoML学会学习(元学习) 342
附录B TensorFlow处理器 350

教学资源推荐
作者: 周昌乐 著
作者: [美]詹姆?普斯特若夫斯基(James Pustejovsky), [美]安伯•斯塔布斯(Amber Stubbs)著
参考读物推荐
作者: 刘祥龙 杨晴虹 谭中意 蒋晓琳 等编著深度学习技术及应用国家工程实验室、百度技术学院 组编
作者: 朱龙春 刘会福 柴亚团 万正勇 著