前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >XNOR.ai要简化数学,让人工智能从云端走进普通设备

XNOR.ai要简化数学,让人工智能从云端走进普通设备

作者头像
量子位
发布2018-01-30 14:54:32
6750
发布2018-01-30 14:54:32
举报
文章被收录于专栏:量子位量子位

来源 | TechCrunch 编译 | 量子位 陈桦

与许多计算机概念类似,在讨论人工智能、机器学习或深度卷积网络时,人们关注的是数学。这些高性能网络的核心是只有超级计算机才能实现的大量运算,而这样的运算成本也正是阻碍人工智能成为设备大脑的关键。

如果这一成本可以下降几个数量级,那么人工智能将可以被轻易地集成至任何设备。来自艾伦人工智能研究所(Allen Institute for AI,简称“AI2”)的XNOR.ai将使这一目标成为可能。

从本质上来看,XNOR.ai是一种计算机原生的数学,帮助计算机视觉和语音识别等人工智能模型更简单地运行。这将给整个行业带来变革。

AI2高级研究经理Ali Farhadi表示:“在最先进的人工智能和普通计算之间存在割裂。”AI2专注“面向公共利益的人工智能”,尽管规模不大,但已经是美国最大的非营利人工智能研究机构。

Farhadi表示,机器学习依赖于卷积神经网络,这其中涉及重复执行的、简单而数量庞大的数据运算。由于这类运算自身的特点,许多运算需要串行执行,而无法并行执行。

例如,你可以很容易地将一组数千个数据中的每个数据乘以2,因为所有运算都是独立的,可以由数千个处理器或线程并行执行。

然而,如果每个运算都依赖于前一运算的结果,那么情况又有所不同。这意味着,你需要依次进行每个运算。这将导致花费的时间成千倍上升。

不幸的是,训练机器学习系统从事各种人工智能任务都是非常耗费计算资源的过程。

从哪里突破?

Farhadi表示:“当你需要大量处理能力时,规模将很难扩大。”即使拥有大量服务器和工作站去从事人工智能任务,但如果应用至手机,那么运行这样的任务会导致手机电量在一分钟内耗尽。目前的解决方案很麻烦:拿出想要分析的数据,通过互联网将其发送至数据中心,数千公里外的计算机将会计算出结果,在一两秒钟内将结果返回给你。

如果对实时性要求不高,那么这并不是问题。但如果任务是在高画质设置下玩游戏,那么你会希望视频中的每帧能实时显示。在这种情况下,远程传送数据将不切实际。

Farhadi及其团队希望让这种更复杂的人工智能模型变为可能。那么,他们要如何缩短数十亿次串行运行所需的时间?

他表示:“我们决定将所有操作二进制化。”通过以二进制的方式简化数学运算,他们可以将人工智能模型的运行速度和效率提升几个数量级。

原因何在?即使最简单的数学运算也涉及到大量的基本操作,因为晶体管并不能理解数据,而只有开启和关闭两种状态。用6减去4得到2,这看起来很简单。但如果想用计算机进行这样的运算,那么你需要首先定义6、4、2,减法操作,以及如何进行检查以确保正确。即使得到最简单的结果也需要用到大量的逻辑。

芯片具备内建的功能,可以完成被称作逻辑门的简单操作。一种逻辑门在输入1时会输出0,反之亦然。这被称作非门。另一种逻辑门在输入两个1时会输出1,在输入一个1和一个0时会输出0。这被称作与非门。

△如图所示的是同或门(XNOR),当输入值相同时输出1;输入值不同时输出0。
△如图所示的是同或门(XNOR),当输入值相同时输出1;输入值不同时输出0。

这样简单的操作在晶体管层面完成,因此速度很快。这也是计算机可以完成的最快的计算。即使使用普通的处理器,大量数据也可以通过这样的逻辑完成运算。

目前的问题在于,将复杂运算转化成为逻辑门可以解决的问题并不容易。而开发一种算法,将数学运算转化为二进制操作更困难。这正是AI2研究员关注的问题。

保留1%的数据

Farhadi在手机上打开了一款应用,并将手机指向窗外。Fremont当地的景色出现在手机屏幕上,而画面打上了标签,例如“船只”、“汽车”、“手机”。这代表了计算机视觉的最新成果。

然而,这样的成果仍是通过超级计算机和并行GPU去完成的,用到了大量的计算资源。这其中涉及到对每个像素的分析,以及根据边缘去识别每个独立的对象,将其与已知对象的形状进行比对。对于计算机视觉系统,即使最简单的对象识别也非常复杂。

这款原型应用运行在普通智能手机上,花了10秒钟时间才完成这些识别。

Farhadi表示:“你可以让这个应用在手机中运行几个小时,而我们还没有针对电池耗电进行优化。”手机需要从事超级计算机的任务,但手机性能只足以运行一款游戏,并且只能使用CPU的单一核心。

随后,Farhadi展示了运行在树莓派Zero上的实时对象识别技术。树莓派Zero是最简单、价格最低的当代计算机。他们甚至使用了微软HoloLens。

通过逻辑门来提高人工智能系统的效率,他们将这一技术称作XNOR.ai。

这不是一种神奇的技术,而是在效率和准确性之间做出的平衡。团队意识到,卷积神经网络的计算并不一定需要非常精确,因为运算结果是信心值,而不是准确数字。训练用于识别船只的神经网络并不会得出一个对应于“船只”的准确数值。神经网络只是通过计算去确定,对象有55%的可能是一只鸭子,或是有84%的可能是一艘船。

该团队认为,得出这些信心值的运算可以用更简单的方式来完成,而不会损失太多的准确性。这一简化过程可能会抛弃99%的数据,只保留1%。但Farhadi表示,只要这1%是最有意义的部分,那么这样做就没太大问题。真正的问题在于保留哪1%。

被丢弃的数据有助于提高信心值,但这并不必要。你可能会损失5%的准确性,但速度可以提升100倍。这就是XNOR.ai的思路。

目前并不清楚,这样的二进制化是如何实现的。Farhadi表示,用于将卷积神经网络串行运算转化成二进制逻辑的算法是该团队的秘密。

分拆独立

XNOR.ai的技术可以用于许许多多的应用,例如安防摄像头等低端设备的对象识别,用手机去分类和标记图像,准确的方言识别和合成,以及其他需要大量使用CPU的任务。这可能将变革许多电子产品的基础,无论是家用设备还是工业设备。

AI2的其他项目也希望用计算机去模拟人类的各种智能,这些项目的代码会定期发布并升级。与此类似,XNOR.ai的代码被发布在GitHub上,而有人已经利用这些代码创建了自主项目。

尽管这项研究是开放的,代码可以免费下载,但这并不适合用于其他项目或设备。作为非营利机构,AI2在进行授权和技术支持工作时并不方便。因此XNOR.ai被分拆成为了一家同名的公司。

AI2 CEO Oren Etzioni表示:“AI2曾经并将继续分拆令人兴奋的创业公司,让我们开发的人工智能技术发挥最大的影响力。对于XNOR.ai,我们认为商业化是让这一技术充分发挥潜力的最佳发展道路。”

这家新公司负责知识产权,而营收分享模式已做好了准备,但AI2拒绝透露具体信息。这并不是AI2分拆的第一家公司。自然语言处理平台KITT.ai去年进行了分拆,并获得了风投的投资。不过,XNOR.ai将采取不同的策略。

目前很难预测,XNOR.ai是否能取得成功。不过业内人士认为,XNOR.ai的方法将充分发挥机器学习的潜力。

题图来自TechCrunch

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-01-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 量子位 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 从哪里突破?
  • 保留1%的数据
  • 分拆独立
相关产品与服务
语音识别
腾讯云语音识别(Automatic Speech Recognition,ASR)是将语音转化成文字的PaaS产品,为企业提供精准而极具性价比的识别服务。被微信、王者荣耀、腾讯视频等大量业务使用,适用于录音质检、会议实时转写、语音输入法等多个场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档