谷歌、微软、OpenAI等巨头七大机器学习开源项目 看这篇就够了

在人工智能行业,2015-2016 出现了一个不同寻常的趋势:许多重量级机器学习项目纷纷走向开源,与全世界的开发者共享。加入这开源大潮的,不仅有学界师生,更有国内外的互联网巨头们:国内有百度和腾讯,国外的有谷歌、微软、IBM、Facebook、OpenAI 等等。本文总结了国外各家互联网巨头的七大开源机器学习项目:

| Google:TensorFlow

TensorFlow 发布于 2015 年 11 月,是谷歌基于 DistBelief 研发的第二代机器学习系统。它是一个能处理多种语言理解和认知任务的开源软件库。它最初由谷歌大脑(Google Brain)的研究人员开发出来,用于机器学习和深度神经网络方面的研究。但它的通用性使其也可广泛用于其他计算领域。在谷歌,TensorFlow 已用来支持 Gmail、谷歌相册、语音识别、搜索等旗下多款商业化应用。许多开发者把它看作是 Theano 的替代品:这两者都采用了计算图( computational graph)。

现在, TensorFlow 发布已超过一周年,它已成为 GitHub 上最受欢迎的机器学习开源项目。并且,谷歌已为它加入了官方 Windows 支持。

优点:

  • 谷歌表示,TensorFlow 的优点在于:通用,灵活,可移动,容易上手并且完全开源。对于部分任务,它的运行速度能达到上代 DistBelief 的两倍。
  • TensorFlow 不仅仅是深度学习工具,它还支持强化学习以及其他算法。
  • 它既可用来做研究,又适用于产品开发。
  • 但 TensorFlow 最大的优点,应该是用的人多——它是 AI 开发者社区参与度和普及程度最高的开源项目之一。Cambrio 的 CEO Daniel Kuster 表示:“写出能让机器编译、执行的代码或许不难,但让同行们接受就十分不容易了。越多人用,越多的人分担(难题)。”

缺点:

计算资源分配机制使系统更复杂:为使用户精确控制 GPU 节点的使用情况,TensorFlow 牺牲了简洁。另外,启动时它会试图占用全部的可用显存。

评价:

微软机器学习研究员彭河森表示, TensorFlow 是非常优秀的跨界平台:它吸取了已有平台的长处,既能让用户触碰底层数据,又具有现成的神经网络模块,可以让用户非常快速的实现建模。

| Google:DeepMind Lab

这家精通 AI 训练的公司,以在围棋上五局四胜击败李世石的 ALphaGo 扬名于世。这成为 2016 年的 AI 里程碑事件。被谷歌收购后,更使后者的江湖地位得到巩固。

本月初,DeepMind 宣布把 AI 训练平台 Labyrinth 开源,并改名为 DeepMind Lab。

没错,这就是之前的那个“迷宫游戏”:

它是针对基于代理的 AI 研究而开发的 3D 训练平台。DeepMind 表示,它为学习代理提供了一系列颇具挑战的三维探索和解谜任务。该项目旨在为 AI 研究、尤其是深度强化学习提供试验田。

所有场景使用科幻剧风格进行渲染。它采用了第一人称视察方式:通过代理的视角。代理的躯体是一个漂浮的圆球,通过启动背后的推进器前进。“游戏”中,代理可以在 3D 空间中移动,转动“头部”观察周围环境。

DeepMind Lab 具有高度可定制、可扩展性。新的等级可以通过现成的编辑工具制作。另外,DeepMind Lab 包括了纲领性等级创建的交互界面。不同等级可以从多方面来定制:游戏逻辑、捡落物品、旁观、等级重启,奖励机制,游戏内信息等等。

DeepMind 联合创始人 Shane Legg 表示,DeepMind Lab 比其他的 AI 训练环境要出色,因为其游戏环境非常复杂。此前,通过改良传统深度增强学习方法,Deepmind 使代理以高于 A3C(DeepMind 另一个现役代理) 十倍的速度学习,并平均在每个迷宫层达到人类专家水平的 87% 。

DeepMind Lab 的源代码公布于 GitHub,它目前需要依赖于外部软件库。由于发布时间尚短,开发者社区对于 DeepMind Lab 的反馈很少。

| OpenAI:Universe

本月,正是这家马斯克投资的初创公司一周岁生日。在月初的 NIPS 大会上,它宣布对旗下 AI 训练平台 “Universe”(宇宙)开源。这是一个与 DeepMind Lab 十分类似的平台,两者宣布开源的时间点也十分接近,这引发了公众对两者间竞争关系的猜想。

与 DeepMind Lab 相似,Universe 的目标也是给开发者们训练、测试 AI 代理提供平台。但对于它们之间的不同点,官方给出了解释:

  • Universe 是一个在全世界的游戏、网页和其他应用中,评估、训练智能代理的软件平台。
  • 代理使用了和人类一样地感官输入和控制方式:看到的是像素,控制的是鼠标键盘。这使得任何需要电脑来完成的任务,都可以训练 AI 去做,并且与人类玩家较量。

这十分有野心。对于第一点,OpenAI 给出了进一步说明:Universe 包含上千种不同训练环境,包括 Flash 游戏,网页任务,蛇蛇大作战和侠盗猎车手5 这样的游戏。开发团队在博客中说:“我们的目标是开发出一个单个 AI 代理,能灵活地把它过去的经验应用于 Universe 场景中,来迅速掌握陌生、困难的环境。这会是走向通用智能的关键一步。

OpenAI 认为深度学习系统过于专业化:“AlphaGo 能在围棋上轻松赢你,但是你无法教会它其他棋牌游戏,然后让它跟你玩。”于是,Universe 使得 AI 能够处理多种类型的任务,让它发展出“关于世界的知识和解决问题的战术,并能有效应用于新任务。”

而OpenAI 已经拿到了 EA,微软工作室,Valve 和其他公司的许可,以使用银河飞将3,传送门和环世界 (Rimworld) 等游戏。OpenAI 还在积极联系其他公司、开发者和用户,寻找更多游戏的许可,用不同 Universe 任务训练代理,并把新游戏整合入系统。

对于为什么 OpenAI 和 DeepMind 会一前一后选择开源,外媒 Engadget 认为,目前 AI 已经发展到新阶段——需要更多的学习数据,所以通常情况下“较封闭”的科技公司会选择对外合作。当然,2015-2016 的这波开源大潮中,AI 行业各成员展示出的与公众分享研究成果的精神,也值得肯定。

| Facebook:FastText

与上面两者不同,今年八月 Facebook 推出的 FastText 是一个文本分析工具,旨在为“文本表示和分类”创建可扩展的解决方案。它专为超大型数据库的文本处理而设计,而该领域的另一个主要解决方案——深度神经网络,处理海量数据时容易出现许多问题。Facebook AI 研究部门 “FAIR” 指出,深度神经网络通常训练、测试起来速度很慢。

FastText 能够在几秒钟、或是几分钟之内完成大型数据库的训练。而基于深度学习的方法可能会花费几小时甚至几天。 FastText 已经能够用于垃圾邮件过滤器等重要应用,但是,在将来它还可能为 Siri 和 Google Now 这样的 AI 提供帮助,使它们更快地处理自然语言。

Facebook 宣称,这项新技术“对于超过 10 亿个词汇的训练不超过十分钟”,而这只需要“普通”的多核 CPU。另外,它还能在五分钟内对 30 万个目录下的 50 万个句子进行分类。

| Microsoft:CNTK

CNTK 的全称是 Computational Network Toolkit,意为“计算网络工具箱”,它是一个让开发者们把分布式深度学习应用于他们各自项目的工具。微软在今年一月将它对外发布,在十月份又进行了重大升级,使其有更快的速度和更好的扩展性。

微软表示,CNTK 是一个“统一的深度学习工具箱,它把神经网络描述为通过有向图进行的(directed graph)一系列计算步骤”。对于部分业内人士,它是其他深度学习框架、资料库和工具箱(例如TensorFlow, Theano 和 Torch)的替代物。但其实,CNTK 最开始的用途是语音识别。虽然现在它已成为通用的、独立于平台的深度学习系统,但相比通用深度学习社区,它在语音识别社区的知名度更高。

CNTK 支持对常用深度神经网络架构的结构性执行,比如卷积神经网络 (CNNs),循环神经网络 (RNNs )和长短期记忆网络 (LSTMs)。因此,它应用了随机梯度下降 (SGD) 、反向传播(SGD)和自动区分(auto differentiation)。CNTK 的一大优点是:它支持多个计算设备以及多个 GPU 的计算。相比之下, TensorFlow 最近才开始加入对横跨不同计算设备的运算支持。

在内部测试中微软首席语音科学家黄学东表示,在开发者们为语音、图像识别任务创建深度学习模型方面, CNTK 被证明比其他四种主流工具箱都要快。他说:

“与任何已知的方法相比,CNTK 难以置信得快。”

CNTK、Theano、TensorFlow、Torch 7、Caffe 之间的 GPU 运算速度对比。竖轴是帧/每秒,蓝色柱代表单个 GPU,橙柱代表一组四个 GPU,绿柱代表两组四个 GPU。测试时,其他工具箱尚不支持多计算设备,Theano 不支持多 GPU。

以下是微软官方宣传中 CNTK 的三大优点:

  • 速度和扩展性

CNTK 训练和评估深度学习算法比其他工具箱都要快,在一系列情况下的可扩展性都非常好——不管是一个 CPU、多个 GPU、还是多个计算机,与此同时保持效率

  • 商用级别的质量

CNTK 的复杂算法使它能在海量数据库中稳定运行。Skype、微软小冰、必应搜索、Xbox 和业内顶级的数据科学家已经在使用 CNTK 来开发商用 AI。

  • 兼容性

CNTK 提供了最有表达力、最容易使用的架构。它允许你使用所有内置训练算法,或者使用你自己的。

| Amazon:MXNet

MXNet 诞生于学界,并不是亚马逊开发的开源平台,但已成为它的御用系统。

它是一个多语言的机器学习资料库,旨在降低开发机器学习算法的门槛,尤其是对于深度神经网络而言。它支持卷积神经网络(CNN)以及 LSTMs( long short-term memory networks)。它通过把符号式编程(symbolic programming)和命令式编程(imperative programming)组合起来,以最大化效率和生产力。它的核心是一个 dependency scheduler,能同时进行符号式和命令式任务。这之上的图优化层(graph optimization layer)使得符号式程序执行快速、高效。MXNet 具有轻便和可移动的特点,在设计之初就考虑到了对多 GPU 、多个计算机以及不同计算平台的支持。从移动设备到分布式 GPU 集群,都可用于 MXNet。

国内的图森互联和地平台机器人是 MXNet 的使用者之一。但真正使它声名大噪的,是 11 月亚马逊宣布把 MXNet 选其为官方深度学习平台,用于亚马逊网路服务系统 AWS,并将在未来成为 MXNet 的主要贡献者。亚马逊表示,选择 MXNet 有以下三点原因:

  1. 扩展到多 GPU 系统的潜力。这使得亚马逊能充分利用计算性能。
  2. 开发速度和可编程性。亚马逊希望选择一个开发者能快速上手的平台。
  3. 移动能力。限制在大型服务器运行的机器学习应用,价值有限。亚马逊希望能在多种计算设备运行机器学习工具。

MXNet 创始者之一的解浚源表示:“MXNet的速度,节省内存,接口灵活性,和分布式效率都是可圈可点。”

| IBM:SystemML

SystemML 始于 2010 年,它的技术来自于 IBM 开发 Watson 的过程,最初是 IBM 为 BigInsights 数据分析平台而开发。2015 年,IBM 把它捐赠给 Apache Spark 开源社区,从此 SystemML 又被称为 Apache SystemML。它与 Apache 的另一个项目“Spark” 有着高度的整合

SystemML 为使用大数据的机器学习提供了一个理想的环境。它可运行于 Apache Spark 之上,自动给一行行的数据标量(scale data),来决定你的代码是否运行在驱动或是 Apache Spark 集群之上。

SystemML 是一个机器学习算法的解码器,帮助开发者创建用于不同工业领域预测分析的机器学习模型。开源版本的 SystemML,即 Apache SystemML,旨在帮助数据科学家把算法转化到生产环境,而不需要重新编写底层代码。因次,IBM 号称能把数据分析从笔记本电脑扩展到大数据中心。

IBM Analytics 副主席 Rob Thomas 表示:“这使专业领域或专门行业的机器学习成为可能,给开发者带来一系列的帮助,从底层代码到定制应用。”

它有两个优点:

  1. 表达定制逻辑分析有完全的灵活性。
  2. 数据独立于输入格式和物理数据表达。

原文发布于微信公众号 - AI科技评论(aitechtalk)

原文发表时间:2017-01-01

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏云计算D1net

云计算与粒计算

云计算,不必细说谁都知道是什么,人们多多少少都有所耳闻。云计算是继20世纪80年代大型计算机到C/S转变之后,IT界的又一次巨变,它通过互联网将某计算任务分布到...

35510
来自专栏思影科技

社会交互时的脑网络变化可反映社会网络结构

来自密歇根州立大学的Ralf Schmälzle等人在PNAS上发文,主要介绍了社交交互过程中的脑网络的大脑连接的变化,并发现基于脑网络可以一定程度地揭示社交网...

3196
来自专栏CSDN技术头条

《机器学习实战》作者Peter Harrington:如何成为一位数据科学家

Peter Harrington,拥有电气工程学士和硕士学位,他曾经在美国加州和中国的英特尔公司工作7年。Peter拥有5项美国专利,在三种学术期刊上发表过文章...

1959
来自专栏机器之心

观点 | 双盲评审靠谱吗?这篇谷歌清华论文也许能给出答案

选自Google Research 作者:Andrew Tomkins、William D. Heavlin 机器之心编译 参与:刘晓坤、黄小天 谷歌联合清华大...

2686
来自专栏量子位

NEC新技术带来比Apach Spark快50倍的机器学习能力

陈桦 编译自 SiliconAngle 量子位 报道 | 公众号 QbitAI 日本计算机巨头NEC宣布,已经开发出一种新的数据处理技术,能加快向量计算机的机器...

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

【学习】写给新人数据挖掘基础知识介绍

一、数据挖掘技术的基本概念 随着计算机技术的发展,各行各业都开始采用计算机及相应的信息技术进行管理和运营,这使得企业生成、收集、存贮和处理数据的能力大大提高,数...

2946
来自专栏ATYUN订阅号

赫尔辛基大学AI基础教程:我们如何定义人工智能(1.1节)

也许你已经注意到,人工智能目前是一个“热门话题”:关于人工智能的媒体报道和公众讨论几乎是不可避免的。但是,你也许也会注意到,它对不同的人意味着不同的东西。对于有...

932
来自专栏PHP技术

人工智能和工作的未来

原文出处: Lukas Biewald 译文出处:腊八粥 技 术淘汰了某些种类的工作,并创造了其它种类的工作——从石器时代就是如此。在过去,机器取代了需要...

34212
来自专栏专知

前途光明的机器学习将走向何方?这里有 5 个关于它的未来预测

机器学习目前是 IT 领域最热门的话题之一,这是因为它在看似无限的应用场景中都能发挥自身的作用。从检测欺诈网站到自动驾驶汽车,再到识别你的“金牌会员”身份以进行...

3266
来自专栏IT技术精选文摘

快消品图像识别丨无人店背后的商品识别技术

人工智能一浪接一浪地席卷全球,AI的其中一个重要分支——计算机视觉,也如雨后春笋,不断涌现出新的想法和应用。人脸识别已经逐渐渗透我们的日常生活,机器能够认准人脸...

2387

扫描关注云+社区