当前位置:系统粉 >   IT资讯 >   微软资讯 >  微软想在面包屑大小的芯片上运行神经网络,发布嵌入式学习库ELL

微软想在面包屑大小的芯片上运行神经网络,发布嵌入式学习库ELL

时间:2017-07-01 来源:互联网 浏览量:

李林 编译自 ZDNet
量子位 报道 | 公众号 QbitAI

微软昨天发布了一个嵌入式学习库(Embedded Learning Library, ELL),包括一个用在树莓派上等开发板上的预训练图像识别模型。

比如说把图像识别模型放到树莓派上,连接一个摄像头,它不用联网就能认出很多日常物体,然后在树莓派接入的显示器上显示一个标签:

微软想在面包屑大小的芯片上运行神经网络,发布嵌入式学习库ELL(1)

微软一直想缩小机器学习模型,让它们能在各种设备的低能耗芯片上运行,这样,我们身边的摄像头、家用电器不用联网,也能智能起来。这也就是微软CEO纳德拉在今年Build开发者大会上所强调的边缘计算。

ELL正是成果之一。

ELL的早期预览版已经放到了GitHub上,C++和Python都可用。地址:

https://github.com/Microsoft/ELL

微软想在面包屑大小的芯片上运行神经网络,发布嵌入式学习库ELL(2)

Ofer Dekel

微软Redmond研究院的Ofer Dekel领导了这项研究,他带领着30人的小组,其中包括Redmond和印度班加罗尔的计算机科学家、软件工程师、研究实习生。

微软想在面包屑大小的芯片上运行神经网络,发布嵌入式学习库ELL(3)

微软Redmond研究院参与这项研究的部分成员

微软想在面包屑大小的芯片上运行神经网络,发布嵌入式学习库ELL(4)

微软班加罗尔研究院参与这项研究的部分成员

微软在官方博客中说,在树莓派上运行神经网络并不是他们的终极目标,这个团队最终想把模型压缩到更小,小到能在面包屑大小的ARM Cortex-M0上运行,也就是上图Dekel手中的那个芯片。

他们现在已经把机器学习模型压缩到了原来的1/10,甚至1/100,不过要在M0上运行,需要压缩到1/1000-1/10000。

目前,微软研究员们尝试过的最小的芯片是Arduino Uno,RAM只有2 kilobytes。

为了将机器学习模型缩小,Dekel的团队尝试了各种方法,其中之一叫做权重量化(weight quantization),不用标准的32比特来表示神经网络参数,而是用个位数的比特值,甚至1比特。

同时,这个团队也在尝试剪枝的方法,或者叫稀疏化。这种方法想通过去除神经网络的冗余部分,来压缩模型大小。

当机器学习模型能在极小的芯片上运行,会给我们的世界带来很多新型智能设备,比如在边远地区自动探测土壤湿度的灌溉设施,比如植入人脑的芯片。

【完】

一则通知

量子位正在组建自动驾驶技术群,面向研究自动驾驶相关领域的在校学生或一线工程师。李开复、王咏刚、王乃岩、王弢等大牛都在群里。欢迎大家加量子位微信(qbitbot),备注“自动驾驶”申请加入哈~

我要分享:

最新热门游戏

版权信息

Copyright @ 2011 系统粉 版权声明 最新发布内容 网站导航