开源 | 微软开源嵌入式机器学习库ELL:把人工智能扩展到边缘设备

微软雷德蒙研究院的研究员,从左至右:Ajay Manchepalli,Rob DeLine,Lisa Ong,Chuck Jacobs,Ofer Dekel,Saleema Amershi,Shuayb Zarar,Chris Lovett,Byron Changuion

编者按:在今年Build 2017大会上,微软首席执行官萨提亚∙纳德拉提出“我们正在从目前‘移动优先、云优先’的世界转移到由智能云和智能边缘组成的新世界中”,边缘计算正变得越来越重要。来自美国雷德蒙和印度班加罗尔的研究团队开源了一套嵌入式学习库ELL,帮助开发者把深度神经网络部署到边缘设备上。

本文译自AI’s big leap to tiny devices opens world of possibilities(有删减),原文地址:https://blogs.microsoft.com/next/2017/06/29/ais-big-leap-tiny-devices-opens-world-possibilities/

有时,自家花园就是展示大胆甚至有望改变世界的技术的最佳场所。微软研究院机器学习和优化研究组的负责人Ofer Dekel则是例证之一。

 

在Ofer Dekel家的花园里,松鼠经常啃咬花苞,偷吃投喂器里的鸟食,这使得他和家人无法欣赏到绽放的花朵和悦耳的鸟鸣。为了解决这个问题,Dekel训练了一个计算机视觉模型来侦测松鼠的出没,并将代码部署到Raspberry Pi 3(一种廉价且计算能力有限的单板计算机)上。该设备时刻监测着Dekel的后院,一旦有松鼠光顾,就会触发喷灌系统。“任何拥有Raspberry Pi的爱好者都应该可以实现类似的工作,”Dekel说:“但今天,他们中仍然很少有人可以做到。”

 

身为机器学习专家的Dekel正在努力解决这个问题。他领导着一支由30多名计算机科学家、软件工程师和研究实习生组成的多学科融合团队,成员分布在美国雷德蒙和印度班加罗尔的微软研究院中。目前,Dekel的团队正在开发一类新的机器学习软件和工具,将人工智能嵌入到只有面包屑大小的计算机处理器中。这款软件的早期预览版已可以通过GitHub下载:

https://github.com/Microsoft/ELL(点击【阅读原文】下载)。

 

这个项目是行业技术变革的一部分,最近在美国西雅图举行的微软开发者大会Build 2017上,微软首席执行官萨提亚·纳德拉就曾对这一新变革进行了阐述,他说:“我们正在从目前‘移动优先、云优先’的世界转移到由智能云和智能边缘组成的新世界中。”



智能边缘

在未来世界中,每个角落都将充斥着微型智能设备——嵌在我们的衣服中,遍布在我们的住所和办公室里,部署在汽车发动机、电梯、手术室和石油钻机等各种场合,执行异常监测和预防性维护等多种任务。创造智能边缘正是实现这一前景的前提之一。

 

目前,此类设备主要用作传感器,收集数据并发送给在云端运行的机器学习模型。微软雷德蒙研究院商务和技术运营总监Shabnam Erfani说:“所有这些处理都需要大量计算,海量存储空间,但现在并不可能实现把所有需要的硬件都装入低成本的嵌入式设备中。”

 

她补充说,Dekel和他的同事正在试图完成这个不可能的任务。“要大幅度缩减机器学习系统的大小并使之更加高效,以便在移动设备上运行。”这些智能设备是物联网(IoT)的组成部分,只不过它们在即使没有网络连接的情况下也可以正常工作。

微软印度研究院的研究员,从左前起:Manik Varma,Praneeth Netrapalli,Chirag Gupta,Prateek Jain,Yeshwanth Cherapanamjeri,Rahul Sharma,Nagarajan Natarajan,Vivek Gupta

微软印度研究院资深研究员、该项目的共同负责人之一Manik Varma表示:“主流范式认为这些设备是非智能的。它们只能感知周边环境,并将传感器读数传输到云端,进行机器学习。然而这种模式无法解决我们认为有望改变世界的一些关键应用场景。”

 

将机器学习推广到边缘设备,可减少带宽限制,并消除对网络延迟(即数据传输到云端进行处理并将结果返回设备所需的时间)的担忧。Varma指出,利用设备自身进行机器学习,也可以降低因不断与云端沟通数据而带来的电池消耗;而且将个人及其他敏感信息保留在本地,也有助于保护隐私。

 

研究人员设想了许多可以通过这种方法创造的智能设备,例如用于对远程农场进行精准灌溉的智能土壤湿度传感器,以及可对即将发生的癫痫提出预警以便用户及早抵达安全场所并呼叫护理人员的大脑植入体。

 

“如果你正行驶在没有网络的高速公路上,你肯定希望植入体依然可以正常工作,”Varma说:“事实上,这才是你最需要帮助的时候。”



自上而下

研究团队正在采用“自上而下”和“自下而上”两种方法,将机器学习模型部署到资源受限的设备上。

 

所谓“自上而下”的方法涉及到开发一系列算法,压缩原先针对云端训练的机器学习模型,使之能够在Raspberry Pi 3和Raspberry Pi Zero等设备上有效运行。

 

如今的许多机器学习模型都使用了深层神经网络。而Dekel和他的同事正使用各种技术来压缩深层神经网络,使之适应小型设备。例如,一种名为“权重量化”(weightquantization)的技术可以只用几个bit的信息量来表征每个神经网络参数,而不是标准的32bit。

微软主管研究员Ofer Dekel

Dekel说:“我们可以将更多参数压缩到更小的空间内,而计算机也能用比以往快得多的速度来处理这些参数。”

 

为了说明差异,他播放了一个视频,对比了最先进的计算机视觉神经网络在压缩前和压缩后分别在Raspberry Pi 3s上的表现:两个模型的精准度相同,而压缩版本的运行速度却提高了20倍。

 

这些训练算法的早期预览版现已可在GitHub上下载。研究团队目前仍在开发一些工具,帮助爱好者、创客和其他非机器学习领域的专家顺利完成数据采集和清洗、模型训练以及在设备上部署的端到端流程。

 

微软雷德蒙研究院人机交互领域研究员Saleema Amershi表示:“向日常用户提供强大的机器学习工具,才是AI的普及和全民化。即便我们掌握了将智能功能移植到小型设备上的技术,但如果只有机器学习专家才能够使用它们,这又有什么意义呢?”

 

目前,研究团队正在探索的另一种压缩技术是对神经网络进行修剪或稀疏化以消除冗余,这将缩短计算时间,并能够将其部署到小型计算设备(如ARM Cortex M7)上。

微软印度研究院的研究员,从左后起:Vivek Seshadri,Harsha Vardhan Simhadri,Suresh Parthasarathy,Priyan Vaithilingam



自下而上

上述压缩方法只能让现有的机器学习模型缩小至原来的十分之一到百分之一。但如果要将机器学习部署到Cortex M0s上(这是市面上最小的ARM处理器,物理尺寸与菜肴里磨碎了的红辣椒片相当,Dekel将其称为“尘埃计算机”),这些模型需要缩小至原来的千分之一到万分之一。

 

“目前还没有办法让深层神经网络在仅消耗万分之一资源的情况下仍然保持同样的精准。”Dekel说:“为此,我们有一个长期计划——另起炉灶,为这些资源受限的平台开发量身定制的全新机器学习技术和工具。”

 

自下而上的方法是从头开始的,团队成员专注于构建一个集成了多种训练算法的数据库,每种训练算法都经过了精细调校,可以在一系列专用场景下发挥最佳效能。例如,其中一类用于脑部植入应用,而另一类则用来监测喷气发动机等设备中的异常以及预测何时需要维护。

 

研究团队所关注的最小设备是Arduino Uno,这是一种资源严重受限的单板计算机,RAM只有2K。研究人员用算法训练机器学习模型来执行解答是非题和多选题、预测可能目标的价值以及对项目进行排序等任务。

 

这些模型灵感来自基于云端的系统,但研究人员正在对它们进行重新设计,旨在缩减需要学习的数据量、降低计算复杂性和限制内存需求,同时保持准确性和运行速度。

 

Varma解释说:“最终,我们的模型会几乎与基于云端的神经网络一样精准,而规模却非常小,可以将其部署到只有几K的RAM系统上。”

能够展示此项研究潜力的原型设备之一是为视力受损的Varma本人量身定制的智能手杖,一旦使用者跌倒,它就会发出求援呼叫。另一项应用则是一种智能手套,它可以翻译美国手语,并通过扬声器读出手语所表达的词汇。

 

Varma说:“我喜欢帮助人们克服障碍,赋予他们生产力,帮忙他们更好地融入社会。”



想象未来

微软研究院旨在研究从现在开始十年之内有望普及的技术,而将AI嵌入微型设备的研究也是其中之一。在Dekel及其同事们看来,这将是一个充满了智能和安全设备的世界,而且任何有创意并想要付诸实施的人都能够获得相应的工具。

 

目前,该研究项目已经开始为创客社区——那些遇到问题(就像Dekel碰到的松鼠问题一样)并希望通过技术解决问题的人——提供服务。其中的创客是一些各领域的专家,例如一名游泳选手希望能训练出(智能)健身手环,用来计算圈数并能够区分自由泳、蛙泳和蝶泳等不同泳姿。

 

Varma还站在整个行业的高度上为这些创造者设想了一个角色:开发异常监测和维护预警的智能安全设备。他说:“等出了故障再补救,其成本要比在出故障之前就找出问题要高得多。”

 

Amershi指出,如果单纯依靠少数持有人工智能博士学位的计算机科学家们来制造这些设备,那么这些设备中绝大部分都会化为泡影。她正在开发一些界面和其他工具,以减少训练的复杂性和单调性,并将机器学习模型部署到边缘设备上,让各种类型的创客都能够提高生产力。

 

她说:“机器学习不是一蹴而就的,而是一门艺术。要花一些功夫、费一些周折,引导机器学习模型按照你的意愿去完成工作。”

​原文链接: http://mp.weixin.qq.com/s/yWz-tlvj7amjUNuUtHlzRQ

微软研究院AI头条
微软研究院AI头条

专注科研19年,盛产黑科技

工程 微软亚洲研究院 开源 工程 物联网 移动端