为什么微型芯片是机器学习的命门?

CSDN2018-11-08 19:27:26

Azeem请我在CogX上做一次演讲,并且希望我集中讨论我希望观众领悟的一个点。几年前我的工作的重点就是让人们相信深度学习是一次真正的革命,而不是一时的热潮,但是不断涌现的诸多产品足以回答这个问题了。

在很多人之前我就知道这是真的,这并不是因为我是具有深度洞察力的预言者,而是由于我有机会花费大量时间亲自动手实验该技术。

我对深度学习的价值充满信心,因为我亲眼目睹了它在各种应用程序中发挥的效果,而且我也明白将该技术应用到更广泛领域的唯一障碍就是从研究到部署所需要的时间。

在这里我想讨论一下另一个我可以肯定的趋势,而且这种趋势可以带来同等的影响力,只不过不为人所知。我坚信机器学习可以在微型低功耗芯片上运行,并且这种结合可以解决大量目前我们无法解决的问题。这便是我将要在CogX上谈论的内容,在本文中我将详细解释为何我会如此确信。

由于市场非常分散,所以我们很难拿到准确的数字,但是根据最可信的预估,今年将有超过400亿个微控制器售出,考虑到使用它们的产品通常寿命很长,可能会有数千亿个微型控制器在为人民服务。

微型控制器(或称MCU)是包含一个可能只有几千字节内存的小型CPU封装,可以嵌入消费者、医疗、汽车和工业设备中。它们的设计目的是使用极少的能量,且非常便宜,可以嵌入所有出售产品中,预计今年的平均价格将低于50美分。

没人注意到这些微型控制器,因为它们常常用于替代汽车、洗碗机或遥控器内旧式电子或机械系统的功能。控制这些设备的逻辑几乎与模拟电路和继电器所用的一样,除了可以做一些调整,例如可以编程的远程控制按钮,或根据降雨量调整挡风玻璃雨刷的速度等。

对于制造商来说最大的好处是,标准控制器可以使用软件编程,省却了为每一项任务定制电路的繁琐,因此可以让制造过程更加便宜,更加容易。


有限的能量


所有需要主电源的设备都面临着许多困难。这些设备只能用在有布线的地方,即便有电线,也有可能因为实际原因而很难插入新设备,例如在工厂地板或在手术室等地方。

如果要将某个东西放到房间顶部的角落,那么需要拉电线,或使用以太网供电等代替方案。电子设备需要将主电源的电压转换成各种电路需要的电压,这种转换很昂贵,而且浪费能量。即便是电话或笔记本电脑等便携式设备也需要频繁的充电。

智能产品最大的优势在于可以随时随地部署,且不需要充电或换电池等维护工作。为了做到这一点最大的困难是大多数电子系统的能耗。根据智能手机能量耗费的数据,一般组件所需要的能量大约为:

  • 显示屏可能需要400毫瓦;

  • 使用中的手机无线电接收装置可能需要800毫瓦

  • 蓝牙可能需要100毫瓦

  • 加速度计是21毫瓦

  • 陀螺仪是130毫瓦

  • 导航仪是176毫瓦。

微型控制器本身可能仅需要一毫瓦或者更少的能量,但是外围设备却需要大量能量。一个纽扣电池可以提供2500焦耳的能量,所以即便是能耗为一毫瓦的东西也只能维持大约一个月。

当然目前大多数的产品周期性暂停或休眠的方式来续航,但即便这样能量消耗也很紧张。CPU和传感器基本不消耗电量,但信号接收和显示屏需要很多能量。


从这些数字中我们可以看出,处理器和传感器可以将能耗降到毫瓦的范围(例如高通的名为“Glance”的视觉芯片、可以收集能量的感光元件,以及仅消耗几百微瓦能量的麦克风等),但是显示屏,尤其是无线电接收装置,即便使用低能耗的wifi和仅需几十毫瓦的蓝牙,其消耗的能量也非常高。

似乎只要是与传输数据相关,其物理过程就需要很多能量。似乎有个规则说,操作需要的能量与比特传送的距离成正比。

CPU和传感器的传输距离只有几微米,所以它们是低能耗,无线电的传输距离长达几米甚至更远,所以所需能量也多。我觉得,即便整体科技发展,这种关系也基本无法改变。

事实上,我看到很多可以降低计算电量消耗的机遇,因此我认为计算和无线电所需能耗的差距会加大。


传感器捕获了太多用不到的数据


几年以前,我曾跟一些从事微型卫星捕捉影像的工程师进行过交谈。他们的问题是他们基本上只是用手机相机,虽然可以拍摄高清视频,但是他们的卫星上只有很小的内存来保存这些视频,且每几个小时只有有限的带宽将视频下载到地球上的基站。

我意识到我们在所有部署了传感器的地方都面临着相同的难题。即便是家用相机也受限于wifi和宽带网络的带宽。

我常说的一个例子是,我有一个朋友,12月份他家网络的使用会比一年中其他月份都高出很多,最后他找到了原因,因为圣诞节闪烁的彩灯导致视频压缩率急剧降低,因为视频的每一帧都不一样!

还有更多诸如此类的例子,所有我们可穿戴的设备和手机上的加速度计都只用于探测可能唤醒设备的事件,或者只是当作基本的计步器,而我们从没有尝试过用它们检测更复杂的活动。


对机器学习的意义


如果你同意上述所有观点,那么很显然大量未开发的市场正等着我们用正确的技术去解锁。我们需要能在便宜的微型控制器上工作的东西,它能耗非常小,依赖于计算而非无线电,且可以将我们浪费掉的传感器数据转换成有用的东西。这就是机器学习尤其是深度学习的发展空间。

深度学习是计算密集型,且可以在已有的微型控制器上运行,我喜欢从事深度学习的原因之一是深度学习的实现几乎全是计算密集型的。

这一点非常重要,因为几乎所有我参与过的应用程序都受到随机访问大量内存时的速度的限制。相反,神经网络的大部分时间都用于大型矩阵的乘法运算,其中大量的数字在不同的组合中反复使用。

这意味着CPU将大部分的时间耗费在计算两个缓存数字的乘法,而从内存读取新值的时间很少。

这点很重要,因为从DRAM(动态随机存取存储器)中取值消耗的能量往往是数学运算的一千倍。这是另一个距离与能量关系的例子,因为DRAM的物理距离要比注册表远。

较低的内存需求(仅需几十或几百个千字节)还意味着我们可以使用低能耗的SRAM(静态随机存取存储器)或闪存来存储数据。这有利于深度学习应用程序适应微型控制器,特别是在进行8比特运算(非浮点运算)时,因为微型控制器通常支持的类似于数字信号处理的指令很适合这种运算。

这个想法不是新出现的,苹果和Google在这种芯片上运行不间断的语音识别网络,但是只有为数不多的几个机器学习或嵌入式的人员意识到机器学习可以很好地与微型控制器相结合。


深度学习可以实现高效节能


我花了很长时间思考每个操作所需的皮焦(即10-12焦耳)数。这个指标可以用以衡量CPU上的一条数学运算操作所消耗的能量,它很实用,因为如果我知道神经网络一次可以运行多少个操作的话,那么我可以粗略预估它将消耗多少能量。

例如,MobileNetV2图像分类网络在最低配置下,可以运行2200万个操作(每个乘法加法组合是两个操作)。如果我知道某个系统每执行一个操作需要5皮焦,那么它需要花费110微焦的能量(5皮焦 x 2200万)。

如果我们每秒钟分析一帧,那么能耗只有110微瓦,一个纽扣电池可以维持将近一年。这些数字利用目前的数字信号处理能力完全能够做到,而且很可能节能还将进一步发展。

这意味着对于使用电池的不间断设备的电量来说,在当前硬件上运行已有神经网络的能耗已经很好,而且随着神经网络模型架构和硬件的改善,能耗会进一步降低。


深度学习可以合理利用感应传感器的数据


最近这几年,我们忽然可以利用神经网络从充满噪声的图片、音频或加速度计的信号中提取出有意义的数据。由于我们可以在微型控制器上运行这些神经网络,而传感器本身所需的能耗很少,所以我们可以从目前被忽略的传感器数据中解读出更多信息。

例如,我希望每个设备都有简单的语音界面。通过掌握少量的词汇,并利用图像传感器做视线探测,我们无需伸手按下按钮或使用手机上的应用,就应该可以控制周围环境中的一切。

我渴望有一种语音界面组件,它的价格低于50美分,并可以在一个纽扣电池上运行一年,而且我相信以我们现在技术力完全可以实现。

再举一个例子,我希望有一种微型的用电池的图像传感器,我可以编程让它帮忙照看农作物,一旦发现害虫或杂草就发出警告。这些传感器可以散布到田地中,指导我们用更加环保和友好的方式处理杂草和杀虫。

有一个工业上的例子让我印象深刻,有一个叫做“汉斯”的工厂工人,他是长期的工程师,每天早上他都在一排排的机器旁忙碌,将一只手放在机器上,倾听,然后根据经验和直觉告诉工头哪台机器需要暂停维修。

每个工厂都有一个这样的人,但是很多人马上就要面临退休了。如果可以将一个使用电池的加速器和话筒放在每台机器上(“机器汉斯”),用于学习正常的操作和信号,这样就可以在异常情况发生之前找到问题。

我可以想象出一百个其他的产品,但是坦白说我最感兴趣的是,我想象不出应该如何使用这些新的设备,因为这些产品背后的技术如此让人叹为观止,所以人们会创建这样的产品,并会涌现我无法想象的全新的应用程序。

对于我来说,这种感觉有点像一个18岁的孩子拥有第一台计算机。我不知道情况会变成怎样,目前大多数的人仅用机器学习玩游戏或存地址薄,但是我知道很许许多多可能的新世界将会出现。


总结


与发送文档相比,我们更倾向于面对面会议的唯一理由是,信息背后的情绪也可以得到沟通。我希望与CogX的观众分享的是,我很感兴趣,也很确信在微型设备上运用机器学习的未来,虽然一篇博文并不能起到太大作用,但是我希望我介绍了一些有用的观点。

我并不清楚未来将会怎样,但是我知道微型、廉价、使用电池的芯片上的机器学习即将到来,它可以为伟大的新应用程序打开大门!

原文链接:https://petewarden.com/2018/06/11/why-the-future-of-machine-learning-is-tiny/

作者:Pete Warden,曾担任Jetpac(该公司被Google收购)的CTO,现在Google的TensorFlow团队担任深度学习的工作。主要著作有The Public Data Handbook和The Big Data Glossary(O'Reilly出版),创建了OpenHeatMap、the Data Science Toolkit,以及其他开源项目。

译者:弯月,责编:胡巍巍



征稿啦

CSDN 公众号秉持着「与千万技术人共成长」理念,不仅以「极客头条」、「畅言」栏目在第一时间以技术人的独特视角描述技术人关心的行业焦点事件,更有「技术头条」专栏,深度解读行业内的热门技术与场景应用,让所有的开发者紧跟技术潮流,保持警醒的技术嗅觉,对行业趋势、技术有更为全面的认知。

如果你有优质的文章,或是行业热点事件、技术趋势的真知灼见,或是深度的应用实践、场景方案等的新见解,欢迎联系 CSDN 投稿,联系方式:微信(guorui_1118,请备注投稿+姓名+公司职位),邮箱(guorui@csdn.net)。


————— 推荐阅读 —————



Copyright © 古田计算器虚拟社区@2017