爱吧机器人网 » 技术 > 机器学习 > 正文

谷歌发布深度学习库TensorFlow Fold,支持动态计算图

选自Google Research
作者:Moshe Looks、Marcello Herreshoff、DeLesley Hutchins
机器之心编译
参与:李亚洲、朱思颖
 
   在大部分的机器学习过程中,用于训练 (training) 和推理 (inference) 的数据都需要进行数据的预处理,通过预处理将不同的输入数据(例如图像)规整至相同尺寸并进行批(batch)存储。这一步使高性能的深度学习库,例如 TensorFlow,可以并行的处理批存储中的所有输入,且以相同的计算图(computation graph)进行处理。批处理(Batching)利用现代 GPU 和多核 CPU 的单指令流多数据流(SIMD)性能来加速运算执行。但是,当输入数据的尺寸和结构变化时会产生诸多问题,例如在自然语言理解中的解析树(parse tree)、源代码中的抽象语法树(abstract syntax tree)、网页的文档树(DOM tree)等。在这些情况下,不同的输入数据需要不同的计算图,通常这些计算图不能够批存储在一起,导致处理器、存储器以及缓存利用率低。
 
    今天我们发布 TensorFlow Fold 来解决这些困难。TensorFlow Fold 使得处理不同数据尺寸和结构的深度学习模型更容易实现。不仅如此,TensorFlow Fold 将批处理的优势赋予这些模型,使得这些模型在 CPU 上的运行速度有超过 10 倍的提升,在 GPU 上的运行有超过 100 倍的提升(相比于其他实现方式)。这一提升来源于动态批存储(dynamic batching)技术,在我们的论文中有详细介绍(Deep Learning with Dynamic Computation Graphs)。

\
 
    以上动图演示了动态批处理运行的递归神经网络。带有同样的颜色的运算聚成一批,这使得 TensorFlow 能够更快的运行它们。Embed 运算将单词转换为向量表征。完全连接(fully connected,FC)运算结合词向量,从而形成段落向量表征。网络的输出是一个完整语句的向量表征。尽管上图只演示了一个语句解析树,但在多种任意形状与大小的解析树上,这个网络同样也能运行并实现批处理运算。
 
    TensorFlow Fold 库首先会为每个输入建立一个独立的计算图。
 
    因为单独的输入可能有不同的大小和结构,计算图也可能是这样。动态批处理自动结合这些图,从而获取在输入内以及整个输入进行批处理机会的优势,并且插入额外的指令在批处理操作之间移动数据。(查看技术细节请参考论文)
 
    想要了解更多,也可以查看我们的 github 网址:https://github.com/tensorflow/fold。我们希望 TensorFlow Fold 能够帮助研究人员与从业者在 TensorFlow 中部署动态计算的神经网络。
 
    论文:DEEP LEARNING WITH DYNAMIC COMPUTATION GRAPHS
    摘要:在包括自然语言处理(解析树)与化学信息学(分子图)在内的多个领域中,在图结构上进行计算的神经网络是解决问题的天然方式。然而,因为每个输入的计算图有不同的形状与大小,所以网络通常不能直接进行批训练或推断。它们也难以部署到流行的深度学习库中,因为这些库是基于静态数据流图的。我们引入了一种称之为动态批处理(Dynamic Batching) 的技术,它不仅能批处理不同输入图(形状也不类似)之间的运算,也能批处理单个输入图内的不同节点。该技术使得我们能够创造静态图、使用流行的库、模仿任意形状与大小的动态计算图。我们进一步展现了组成区块的高层次库,从而简化了创造动态图模型的过程。使用这一库,我们论证了文献中多种模型的简洁且明智的批处理并行实现。


上一篇:机器学习和人工智能有什么区别?
下一篇:无监督学习、GAN和强化学习将构建机器学习的未来
精选推荐
受大脑控制的机器人
受大脑控制的机器人

[2017-03-21]   想让机器人做我们想做的,首先,他得全面地了解我们。通常,这就意味着人类需要要付出更多。比如,教机器人复杂的人类语言或者把一项任务 ...

可编辑神经网络,有望简化深度学习?
可编辑神经网络,有望简化深度学习?

[2019-10-04]  深度学习是一个计算繁重的过程。 降低成本一直是 Data curation 的一大挑战。 关于深度学习神经网络大功耗的训练过程,已经有研究人员 ...

美国普渡大学研发快动作软体机器人,灵感来自变色龙舌头捕食
美国普渡大学研发快动作软体机器人,灵感来自变色龙舌头捕食

[2019-10-31]  本文图片均来自:Ramses v Martinez 普渡大学变色龙、蝾螈和许多蟾蜍利用积蓄的弹性能量,向距离1 5倍体长的毫无防备的昆虫伸出粘糊糊的舌 ...

MIT用深度学习处理3D点云数据 应用于无人汽车等领域
MIT用深度学习处理3D点云数据 应用于无人汽车等领域

[2019-10-23]  如果你见过自动驾驶汽车,也许会对车顶上那个一直在旋转的圆柱体感到好奇。这是一个雷达传感器,无人驾驶汽车依靠它在现实世界中进行导航。 ...

智能农业:种地的事儿未来全交给这些机器人吧
智能农业:种地的事儿未来全交给这些机器人吧

[2019-12-07]  SRC公司创始人Sam与温波尔庄园农场经理Callum Weir以及监控机器人Tom总部位于英国的农业科技初创公司SRC(Small Robot Company),正在 ...

机器人iCub作为嵌入式AI的标准机器人研究平台的重要性
机器人iCub作为嵌入式AI的标准机器人研究平台的重要性

[2017-12-24]  机器人的研究在过去10年中得益于一个具有嵌入式人工智能(AI)的标准化开源平台——人形机器人iCub。iCub最初在意大利被创建,如今在欧洲、美国、韩国、新加坡和日本的实验室......

苹果AI主管透露自动驾驶汽车项目关于机器学习方面的进展
苹果AI主管透露自动驾驶汽车项目关于机器学习方面的进展

[2017-12-11]  苹果隐秘的自动驾驶汽车项目多年来一直在转移焦点,但今年似乎正在加速。 4月份,公司获得了在加利福尼亚州进行自动驾驶汽车测试的许可证,而在6月份,苹果公司首席执行官库......

深度神经网络揭示了大脑喜欢看什么
深度神经网络揭示了大脑喜欢看什么

[2019-11-06]  爱吧机器人网编者按:近日,《自然-神经科学》发表了一篇论文,研究人员创建了一种深度人工神经网络,能够准确预测生物大脑对视觉刺激所产 ...

本周栏目热点

顶级AI会议NIPS压轴2017(附PPT、视频、代码大汇总)

[2017-12-19]  NIPS,全称神经信息处理系统大会(Conference and Workshop on Neural Information Processing Systems),是一个关于机器学习和计算神经科学的国际会议。该会议固定在每年的12月举行...

机器学习选择深层模型的原因

[1970-01-01]   深度学习采用的模型为深层神经网络(Deep Neural Networks,DNN)模型,即包含多个隐藏层(Hidden Layer,也称隐含层)的神经网络(Ne ...

机器学习—自由编码器

[1970-01-01]   一种常见的深层模型是由自编码器(Auto-Encoder)构造的。自编码器可以利用一组无标签的训练数据{x(1), x(2), &hellip }(其中x(i)是一个n ...

【NIPS最佳论文出炉】冷扑大师能战胜AlphaZero吗?No(Science论文)

[2017-12-19]  拿下NIPS2017 最佳论文,登上Science,“冷扑大师”最近有点热。18日,两位作者,CMU博士生Noam Brown和Tuomas Sandholm教授在Reddit上回答问题。对“为什么不使用深度学习......

日本开发团队给机器人嵌入神经网络

[2016-08-18]    近日在日本国立科学博物馆展出的 机器人 Alter,可谓是目前世界上最为先进的机器人之一,因为它是一款嵌入了神经网络的机器人,来自日本 ...