【重磅】谷歌第二代深度学习系统TensorFlow首次解密(70PDF下载)

Google资深系统专家Jeff Dean在最近的湾区机器学习大会做了 Large-Scale Deep Learning for Inelligent Computer Systems 的演讲。

在大会上,Jeff Dean 解密了谷歌未曾在论文上发表过的第二代深度学习系统TensorFlow。

【Jeff Dean】在过去的几年间,我们已经建立了两代用于训练和部署神经网络的计算机系统,并且将这些系统应用于解决很多在传统上来说对计算机而言很难的问题。我们对许多这些领域的最新技术做了很大的改进,我们的软件系统和算法已经被Google的很多小组采用,运用在语音识别、图像识别、视觉检测任务、语言建模、语言翻译和许多其它任务的模型训练上。在这次讲演中,我会介绍我们从第一代分布式训练系统中得到的经验教训,并讨论在设计第二代系统时的一些选择。然后我会讨论一下我们将通过哪些方式把它运用到Google的大量产品上,在这方面通常我们会与其他小组有密切的合作。

第一代系统DistBeliet在可扩缩性上表现很好,但在用于研究时灵活性达不到预期。对问题空间的更深理解让我们可以做出一些大幅度的简化。

这也是第二代系统的研发动机,用 TensorFlow 表达高层次的机器学习计算。它是C++语言编写的核心,冗余少。而不同的前端,现有Python和C++前端,添加其他语言的前端也不是难题。

在2015年10月5日,谷歌为TensorFlow提交了注册商标申请(登记编号86778464),这样描述它:

1.用以编写程序的计算机软件;

2.计算机软件开发工具;

3.可应用于人工智能、深度学习、高性能计算、分布式计算、虚拟化和机器学习这些领域;

4.软件库可应用于通用目的的计算、数据收集的操作、数据变换、输入输出、通信、图像显示、人工智能等领域的建模和测试;

5.软件可用作应用于人工智能等领域的应用程序接口(API)。

以下是关于TensorFlow的图文介绍

Google 在 Deep Learning 上已经有很多使用,例如Android、Apps、Gmail等。前段时间Google刚出了一个产品,邮箱通过人工智能技术,自动回复信息。

这篇演讲从两个方面谈:

1、对第一代深度学习系统的总结

2、介绍第二代深度学习系统 TensorFlow。

TensorFlow:第二代深度学习系统

研发动机:

第一代系统DistBeliet在可扩缩性上表现很好,但在用于研究时灵活性达不到预期。对问题空间的更深理解让我们可以做出一些大幅度的简化。

TensorFlow:表达高层次的机器学习计算

C++语言编写的核心,冗余少。

不同的前端,现有Python和C++前端,添加其他语言的前端也不是难题。

TensorFlow代码举例(批量逻辑回归)

计算可以用一张数据流图来理解。

我们输入数据、权重、误差以及标签,在不同节点进行不同的运算。

这是使用张量计算的示意图。

这是使用状态计算的示意图。

这是使用分布式计算的示意图。

它能够在各个平台上自动运行模型:电话上,单个机器上(CPU或GPU),由成百上千的GPU卡组成的的分布式系统

TensorFlow名字的意义

Tensor(张量)意味着N维数组。1维时就是向量,2维时就是矩阵;通过图像可以代表更高维的数据流,比如,图像可以用三维张量(行,列,颜色)来表示。

Flow(流)意味着基于数据流图的计算。有许多运算(图中的节点)应用在数据流上。

张量从图象的一端流动到另一端,这就是“TensorFlow”。“边”代表张量(数据),节点代表运算处理。

它的灵活性体现在它通用的计算基础设施上,包括:在内核之上有一组库支持深度学习;对其他机器学习算法也很有用;也有可能胜任高性能计算的任务;抽象出潜在的设备或计算性硬件

它的可延展性体现在它的核心系统定义了大量的标准运算函数和内核函数(实现对特定设备的操作)以及它易于定义新的运算函数和/或内核函数。

TensorFlow中的深度学习:

1. 典型的神经网络的每一“层”会对应到一个或多个张量运算。

2. 专用于深度学习运算的库,包括了:许多高层次的运算,如2D 和3D卷积,池化(Pooling), Softmax回归等等;标准损失函数,如交叉熵(Corss Entropy),L1,L2等等;多种优化方法,如梯度下降(Gradient Descent), AdaGrad, L-BFGS等等。

3. 自动微分。

4. 易于使用(甚至混合使用)许多种不同的模型,包括LSTMs,卷积模型,注意力模型, 强化学习,Embedding模型, 类图灵机模型等等。

没有明确的参数服务器子系统时:

1、参数是图像中的节点。

2、数据并行训练画出来的示意图不过是更复杂一点而已。

这是同步变量的情况。

Jeff Dean 还对第一代谷歌深度学习系统的应用以及出现的问题进行了总结,也阐述了第二代深度学习系统之所以要出现的重要原因。

如需了解更多,请下载PDF全文阅读。

原文发布于微信公众号 - 新智元(AI_era)

原文发表时间:2015-11-05

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏目标检测和深度学习

资源 | DLL:一个炙手可热的快速深度神经网络库

571
来自专栏量子位

量子机器学习入门科普:解读量子力学和机器学习的共生关系

原作:Reena Shaw 安妮 编译自 KDnuggets 量子位 出品 | 公众号 QbitAI 量子机器学习(Quantum ML)是量子力学和机器学习的...

3196
来自专栏IT派

量子机器学习入门科普:解读量子力学和机器学习的共生关系

IT派 - {技术青年圈} 持续关注互联网、大数据、人工智能领域 原作:Reena Shaw 安妮 编译自 KDnuggets 量子位 出品 | 公众号 Qb...

3266
来自专栏CVer

[计算机视觉论文速递] 2018-06-06

这篇文章有4篇论文速递信息,涉及目标跟踪、GAN、Zero-Shot Learning、视频分类和行人重识别等方向(含一篇IJCAI 2018和一篇IROS 2...

592
来自专栏智能算法

基于 10 大编程语言的 30 个深度学习库

本文介绍了包括 Python、Java、Haskell等在内的一系列编程语言的深度学习库。 Python Theano 是一种用于使用数列来定义和评估数学表达的...

3445
来自专栏AI科技评论

学界 | 殊途同归还是渐行渐远?MIT神经科学教授James DiCarlo谈如何通过人类神经理解神经网络

AI 科技评论按:国际计算机视觉与模式识别顶级会议CVPR 2017于 7 月 21 日至7 月 26 日在美国夏威夷召开。我们的记者团也特赴夏威夷为大家带来一...

3129
来自专栏PPV课数据科学社区

学习攻略 | 机器学习 学习路线图

1. 引言 也许你和这个叫『机器学习』的家伙一点也不熟,但是你举起iphone手机拍照的时候,早已习惯它帮你框出人脸;也自然而然点开今日头条推给你的新闻;也习惯...

3808
来自专栏java一日一条

基于 10 大编程语言的 30 个深度学习库

本文介绍了包括 Python、Java、Haskell等在内的一系列编程语言的深度学习库。

361
来自专栏机器之心

前沿 | 首次大规模神经机器翻译架构分析结果出炉,LSTM 优于GRU

选自arxiv 作者:Denny Britz等 机器之心编译 参与:微胖、蒋思源、吴攀 这样的实验只有谷歌级别的公司才能处理的了。这篇文章对大型 NMT 模型训...

40010
来自专栏ATYUN订阅号

【科技】太牛了!这个机器人还原魔方只用了0.38秒!

AiTechYun 编辑:Yining 机器人再次展示了对于人类的优势。由软件开发人员贾里德·迪·卡洛和麻省理工学院生物统计学实验室的学生本·卡茨创建的这个新机...

33810

扫描关注云+社区