前言
欢迎
自2015年11月TensorFlow第一个开源版本发布以来,它便迅速跻身于最激动人心的机器学习库的行列,并在科研、产品和教育等领域正在得到日益广泛的应用。这个库也在不断地得到改进、充实和优化。与此同时,TensorFlow社区正以惊人的速度发展壮大。无论你是新手还是有经验的用户,笔者都希望通过本书帮助你提升使用TensorFlow的能力,使你自如地充分利用这个功能强大的开源库。
本书的内容编排
第一部分:开启TensorFlow之旅
本书第一部分将帮助读者做好使用TensorFlow的准备。第1章为引言,对TensorFlow的历史脉络进行了简要的梳理,并对TensorFlow的设计模式以及选择TensorFlow作为深度学习库的优势和面临的挑战进行了讨论。
引言之后的第2章将介绍安装TensorFlow时应当考虑的因素,并给出了详细的TensorFlow安装指南,即如何从二进制安装包安装和从源码构建TensorFlow。
第二部分:TensorFlow与机器学习基础
从第3章开始,进入本书第二部分。在TensorFlow安装完毕后,第3章将深入介绍TensorFlow API的基础知识,而不会涉及过多的机器学习概念。这样做是为了将“学习TensorFlow”和“学习如何利用TensorFlow从事机器学习相关工作”区分开来。第3章将对TensorFlow API中许多重要的部分进行深入剖析。此外,还将演示如何用可视化的数据流图表示模型,并将其转化为TensorFlow代码,以及如何利用TensorBoard验证数据流图是否被正确建模。
介绍完TensorFlow API的核心概念之后,便进入第4章。这一章将利用TensorFlow实现一些简单的机器学习模型,如线性回归、对数几率回归(logistic regression)和聚类模型。
第三部分:用TensorFlow实现更高级的深度模型
第三部分由两章构成,每章都只关注一种更为复杂的深度学习模型。每章首先对模型进行描述,然后介绍如何用可视化的数据流图表示所要创建的模型。这两章还将讨论为什么要以特定方式构建这些模型,并对所涉及的数学难点进行讲解,之后再介绍如何利用TensorFlow有效地构建这些模型。
所要研究的第一个模型是卷积神经网络(CNN),对应于第5章。该章会介绍如何使用图像数据训练TensorFlow模型,并对卷积的数学原理和使用目的展开讨论,同时还将介绍如何将图像裸数据转化为一种与TensorFlow兼容的格式,以及如何对最终的输出进行测试。
第6章将探讨如何使用TensorFlow正确地构建循环神经网络(RNN)模型。通过各种自然语言处理(NLP)任务,读者将了解如何利用长短时记忆网络(LSTM)以及如何将预训练的词向量包含到模型中。
第四部分:其他提示、技术与特性
本书最后一部分将探讨TensorFlow API中最新推出的特性,内容包括如何准备用于部署的模型、一些有用的编程模式,以及其他精选主题。
其他机器学习库
TensorFlow并非唯一可用的开源机器学习库。下面列出一份可用于深度学习的简短开源库清单:
Caffe专注于卷积神经网络和图像处理,使用C++语言编写。
Chainer是另一个灵活的机器学习Python库,支持单机多GPU运算。
CNTK是微软公司发布的首个开源机器学习库,它拥有自己的模型定义语言,支持声明式的分布式模型构建。
Deeplearning4j是一个专门针对神经网络的Java库,它易于与Spark、Hadoop和其他基于Java的分布式软件集成,具有良好的可伸缩性。
Nervana Neon是一个高效的Python机器学习库,支持单机多GPU运算。
Theano是一个极为灵活的Python机器学习库,因其出众的用户友好性以及可以用异常简单的方式定义复杂模型等特点,在科研领域深受欢迎。TensorFlow的API与Theano API最为相似。
Torch是一个专注于GPU实现的机器学习库,它是用Lua语言编写的,并由来自若干家大公司的研究团队提供支持。
限于篇幅,本书不打算对上述这些库的优缺点展开深入讨论,但如果有时间,非常值得深入展开。TensorFlow的作者在进行框架设计时,便是从当中的几个库汲取了灵感。
先修知识
虽然本书主要关注TensorFlow API,但笔者希望读者已经熟悉大量数学和编程概念,包括:
微积分(一元和多元)
矩阵代数(尤其是矩阵乘法)
基本的编程原理
机器学习的基本概念
此外,读者若能够掌握下列知识,则将从本书中获得更大的收获:
拥有Python编程及模块组织的经验
拥有NumPy库的使用经验
拥有matplotlib库的使用经验
掌握机器学习中更高级的概念,尤其是前馈神经网络、卷积神经网络和循环神经网络
在适宜的时候,笔者会通过一些提示信息帮助读者重新熟悉那些为充分理解相关数学和Python概念所必需的概念。
预期的收获
通过阅读本书,读者将掌握以下内容:
TensorFlow的核心API
TensorFlow的工作流:数据流图的定义和数据流图的执行
如何在各种设备上安装TensorFlow
组织代码和项目的最佳实践
如何用TensorFlow创建核心机器学习模型
如何用TensorFlow实现RNN和CNN
如何用TensorFlow Serving部署代码
利用TensorBoard分析模型的基础知识
在学习完本书之后,如果读者想对TensorFlow获得更多了解,可参考下列资源:
TensorFlow官网 其中包含最新的文档、API和入门材料。
TensorFlow Github代码库 在此,可对TensorFlow的开源实现做出贡献,并直接对源代码进行审查。
官方发布的用TensorFlow实现的机器学习模型 可原封不动地使用这些模型,也可稍加调整以适合自己的设计目的。
谷歌研究院的博客(Google Research Blog) 提供了来自谷歌的有关TensorFlow的应用和更新的最新消息。
Kaggle 获取公开数据集并与其他从事数据分析工作的人开展竞赛的绝佳网站。
Data.gov 美国政府的门户网站,从中可找到全美国的公开数据集。
至此,“动员演讲”已经结束,现在让我们开启本书的学习之旅吧!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论