业界 | 把机器学习塞进针尖大小的芯片中:微软开源嵌入式学习库ELL

选自微软博客

作者:John Roach

机器之心编译

参与:李泽南、李亚洲、蒋思源

微软华盛顿州 Redmond 总部的实验室成员 Ajay Manchepalli、Rob DeLine、Lisa Ong、Chuck Jacobs、Ofer Dekel、Saleema Amershi、Shuayb Zarar、Chris Lovett 和 Byron Changuion

有时候,展示一个大胆、即将改变世界的技术的最佳场所是花园。以 Ofer Dekel 为例,他正在微软华盛顿州 Redmond 总部的实验室里领导一个机器学习和优化小组。在这里,松鼠经常前来摧残花朵,偷取鸟食,打击他和他的家人养花喂鸟的乐趣。

为了解决这个问题,他训练了一个计算机视觉模型来探测松鼠的行踪,并把这些代码部署在一块树莓派 3 上——这是一种廉价且计算能力有限的单片计算机。这套设备们现在一直在帮助 Dekel 监视着他家的后院,在小动物出现时会呼叫喷水灭火系统进行驱赶。「拥有树莓派的所有计算机爱好者应该都能做到这件事,」Dekel 表示。「但今天,很少有人去做。」

Dekel 是一名机器学习专家,他的工作就是专注解决这类问题。他在 Redmond 与印度班加罗尔领导了一个由大约 30 名计算机科学家、软件工程师和其他研究实习者们组成的团队,正在致力于开发一类全新的机器学习软件和工具,它可以将人工智能塞进面包屑大小的计算机处理器中。

这套系统的早期版本已经开源,可在 GitHub 中获取:https://github.com/Microsoft/ELL

这项计划是微软首席执行官萨提亚·纳德拉最近在 Build 2017 大会上倡导的业界技术新转变的一部分,他曾说道:「我们正从目前的移动优先、云优先转变到云端智能和终端智能的世界。」

终端智能

创造基于终端的人工智能是让智能设备实用化的前置条件——让人工智能嵌入在我们的衣服中,散布在我们的家中和办公室里,充分部署并执行多种任务:异常检测,以及汽车发动机、电梯和钻井设备的预测性维护。

今天,这些类型的设备主要用作传感器,只负责收集和传送数据,而机器学习模型运行在云端。「所有这些过程需要大量的计算,也需要耗费很多存储资源,」微软 Redmond 研究院商务和技术运营负责人 Shabnam Erfani 说道。「你不能把所有这些塞进低成本的嵌入式设备中。」

「Dekel 和他的同事们却试图完成这个不可能的任务,」她又说道。「通过压缩和让机器学习更加高效,你可以让它们运行在终端设备上。」

这些智能设备是物联网(IoT)的一部分,它们是自动,甚至智能化的,有些可以在未连接网络的环境下工作。

印度实验室的研究者们,从左前起:Manik Varma,Praneeth Netrapalli,Chirag Gupta,Prateek Jain,Yeshwanth Cherapanamjeri,Rahul Sharma,Nagarajan Natarajan 和 Vivek Gupta。

「现有的范式是:这些设备是愚蠢的,」微软印度研究院资深研究员,本项目的共同领导人 Manik Varma 说道。「它们可以感受到周围的环境,将传感器读数传送到云端,让机器学习在服务器上运行。然而这种模式并不是我们想象中能够改变世界的样子。」

将机器学习推向设备本身可以减少带宽的压力,打消延迟的困扰——数据从设备传送到服务器不可避免的需要时间。Varma 指出,基于终端设备的机器学习也可以减少传输信息带来的电池消耗,并通过本地保存数据的形式来保护隐私。

在项目中,研究人员想象了所有智能设备的应用场景,从用于精准灌溉的智能土壤传感器到可以向护理人员及时提醒癫病发作的脑机接口设备。

「如果你正在高速公路上开车,连不上网,你肯定不希望脑机接口就停止工作了,」Varma 说道。「事实上,这是你最需要它的时候。」

自顶向下

研究团队采用了自上而下和自下而上的方法来将机器学习模型装载进资源有限的设备中。

自上而下的方法包含开发压缩机器模型算法,在云端经过训练,能够有效运行在树莓派 3 和树莓派 Zero 上。

目前有许多机器学习模型都应用了深度神经网络——一种受人类大脑结构启发的算法机制。Dekel 和他的同事们使用了很多技术把深度神经网络塞进了小型设备中。其中一种技术被称作权重量化(weight quantization),可以通过几个比特,甚至一个比特的长度代表神经网络参数,而无需以往的 32 位。

微软的研究人员正在让机器学习系统可以运行在微控制器中,它们就像 Ofer Dekel 手中的那么小。

「我们可以把更多参数塞入更小的空间里,让计算机运行得更快,」Dekel 说道。

为了展示这种效果,他播放了一个视频,对比了目前最好的计算机视觉神经网络部署在树莓派 3 上的表现,压缩前和压缩后的:两个模型几乎一样准确,而压缩过的版本速度要快 20 倍。

这些算法已经可以在 GitHub 中下载了。微软的团队还希望计算机爱好者、制造商和其他并非机器学习专家的人士可以通过这些技术学会端到端处理过程、收集和清理数据、训练模型并将其部署在终端设备中。

「向人们提供这些强有力的机器学习工具就是 AI 民主化的一部分,」Redmond 实验室人机交互研究院 Saleema Amershi 说道。「如果我们有能够让小型设备智能化的技术,而只有专家才能掌控,那这一切的意义就太小了。」

这个团队探索的另一个方向是剪除或稀疏化神经网络,这可以让算法运行消耗的计算资源更少,可以运行在 ARM Cortex M7 这样的处理器上。

自底向上

所有这些压缩工作只会令现有的机器学习模型精简 10 到 100 倍。而将机器学习部署到 Cortex M0s(最小的 ARM 处理器,物理尺寸只有红辣椒薄片大小)上,模型需要压缩到 1000 到 10000 倍。

Dekel 说:「现在我们并没有方法在 1/10000 的计算资源下继续使用深度学习,并将其精度保留在大型模型的程度。所以我们需要从头开始设计一种长期的方法,即为这些有限资源的平台量身定做新的机器学习技术和工具。」

自底向上的方式从光谱(spectrum)的微端开始,团队成员正在构建一个集成了很多训练算法的库,每个训练算法都已经微调好并可以很好地适应于一组特定的场景。如一个算法专用于大脑植入应用,另一个专用于检测喷气式引擎是否异常和需要维护等。

该团队关注的最小设备是 Arduino Uno,这是一种资源十分有限的单片机,它只有容量为 2 千字节的 RAM。而他们训练的机器学习模型却需要执行一些如回答是否问题、多项选择问题、预测可能的目标值和为项目排序等任务。

这些模型的灵感来源于云端系统,但它们正在进行重新设计而缩减所需要学的数据,因此这些算法能减少计算复杂度和内存要求,但同时还能保持准确性和速度。

Varma 解释说:「最终我们得到的预测几乎和基于云端训练的神经网络一样精准,但是我们的模型规模十分小,因此它可以部署到只有几千字节 RAM 的设备中。」

微软研究院正在研究在微控制器(如上图所示那么小)上可运行的机器学习算法的系统。

展现这一研究潜力的一个设备原型是 Varma(视觉有障碍)的智能拐杖,能够检测摔倒、呼叫帮助。另一潜在的应用是智能手套,能翻译美国手语并通过一个音箱发音。

Varma 说道:「我喜欢帮助有障碍的人群,让他们更有能力、更好的融入社会。」

想象未来

在小设备上做嵌入式 AI 是微软研究团队探求十几年来可普遍存在的科技的愿景之一。对 Dekel 和他的同事而言,有了想法之后付诸实践,每个人都能用一些工具建立智能化、安全的设备。

现在,该研究项目正服务于制造者(maker) 社区,也就是和 Dekel 有同样的问题,并期望用自制技术解决问题的一批人。其他的制造者包括其他领域的专业人士,比如游泳健将想要训练一个健身手环来计算圈数,分别自由式、仰泳和蝶泳。

Varma 预想这些制造在产业中也能发挥作用,为异常检测、预测性维护任务开发智能、安全的优化设备。他提到,「当东西坏的时候修,要比防患于未然成本更高。」

Amershi 认为,如果只把工作留给一小批人工智能计算机科学家,那么这种设备永远不会多起来。她目前在研究减少边缘设备上训练、部署机器学习模型复杂度与单调性的接口与工具,以便于制造者作出各种设备。

她说道:「机器学习不是一蹴而就的,它是一种艺术,需要花费努力,不断迭代,引导机器学习模型去做你想让他们做的事。」

相关资源:嵌入式学习库

链接:https://github.com/Microsoft/ELL

嵌入式学习库(Embedded Learning Library,ELL)能让你在嵌入式平台上建立、部署机器学习管道,例如树莓派、Arduinos、micro:bits 以及其他微控制器。部署的机器学习模型在设备上运行,脱离云的连接。我们的 API 既可从 C++ 使用,又可从 Python 使用。

该项目由微软研究院的团队开发,是一个持续发展的项目。以下链接是个教程,能让你在树莓派上用一个 web cam 做图像识别,即使脱离云端。部署到派上的软件将能够识别大量的物体,并在屏幕上附上识别出的物体名称。

建立与安装指南(链接见原文)

  • Windows 安装指南
  • Ubuntu Linux 安装指南
  • Mac OS X 安装指南

原文地址:https://blogs.microsoft.com/next/2017/06/29/ais-big-leap-tiny-devices-opens-world-possibilities/

本文为机器之心编译,转载请联系本公众号获得授权。

原文发布于微信公众号 - 机器之心(almosthuman2014)

原文发表时间:2017-06-30

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏企鹅号快讯

用照片也能追踪手机?人脸识别迎来“终结者”

就像世界上没有两片相同的雪花,你用手机拍摄的每张照片也是独一无二的。布法罗大学的研究人员掌握了一种方法,可以通过分析照片来追踪拍摄的手机,这项研究为身份验证提供...

29250
来自专栏专知

【CIKM2018】从大数据到大信息和大知识教程(附PPT下载)

CIKM创办于1992年,是由美国计算机协会针对信息检索、知识管理以及数据库主办的全球顶尖学术会议。CIKM每年汇聚了最前沿的科研人员,探讨先进知识及信息系统面...

21930
来自专栏AI科技评论

学界 | Facebook 最新研究:自主学习一个会和世界互动的智能体

AI 科技评论按:本文由来自 Facebook 人工智能研究院的研究员 Dhruv Batra 和 Devi Parikh 共同撰写,文中介绍了 Faceboo...

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

技术贴:大数据告诉你,如何给微信公众号文章取标题?

267个新闻时政类自媒体公号在11月23日—11月29日(周日—周六)的统计周期里共发表了1447篇文章。此次我们选择其中的1000篇文章作为样本进行分析。 ?...

34140
来自专栏BestSDK

一周简报|Uber推出机器学习平台Michelangelo,可训练API

声网SDK与V-cube达成战略合作,共同开拓日本视频市场;北汽与百度签署战略合作,打造“人工智能+汽车”生态;智齿客服加入“大数据星火联盟” 助力企业服务转型...

449100
来自专栏ATYUN订阅号

MIT RF-Pose项目:利用AI使设备可以透过墙壁感知人体动作

X光透视长期以来似乎只是一种天马行空的幻想,但在过去的十年中,麻省理工学院计算机科学与人工智能实验室(CSAIL)的Dina Katabi教授领导的研究小组不断...

11340
来自专栏新智元

全球十五年脑神经研究并未作废,人工智能大国竞争继续

【新智元导读】日前有媒体报道,一篇PNAS论文的发现让“15年的脑神经科学研究作废”。脑科学正是大国竞争之地,相关研究也与人工智能发展联系紧密,该结果真的具有这...

43660
来自专栏人工智能快报

人工智能平台可有效预测网络攻击

现今使用的安全系统通常分为两类:基于人或机器的安全系统。所谓“分析师驱动的解决方案”(analyst-driven solutions)基于的是真人专家所建立的...

36050
来自专栏AI研习社

演员要失业了?AI 实时模拟面部表情,传神效果堪比真人克隆

两年以前,也就是 2016 年,我们提到过一篇论文,其内容主旨是有关面部模拟的——大家只要坐在照相机前,AI 能够把我们的面部动作表现在虚拟演员身上。这项工作叫...

11230
来自专栏FreeBuf

关于机器学习在网络安全中的五大误解

机器学习已经渗透到了人类活动的所有领域,它不仅在语音识别、手势识别、手写识别和图像识别上起着关键的作用,这些领域如果没有机器学习在现代医学、银行、生物信息和存在...

21650

扫码关注云+社区

领取腾讯云代金券