机器学习的未来——微型化(二)

摄影:Kevin Steinhardt
文 / Pete Warden

本文译自 Google AI 成员,数据科学家 Pete Warden 的一篇文章,介绍了机器学习在小型设备上的应用前景,这将解决目前的一些瓶颈问题。在上一篇中我们谈到了这些问题,下面来看一下 ML + MCU 这对组合给我们带来的惊喜,希望能给你带来一些启示。

深度学习受计算量限制,在 MCU 上运行良好

我喜欢深度学习的一个原因是,在实现中它们几乎总受计算量限制。我工作中的其它类应用程序都受到内存访问速度的限制,结果通常不可预测。相比之下,神经网络的大部分时间用于矩阵运算,其中相同的数字以不同的组合重复使用。这意味着 CPU 花大部分时间进行算术运算以将两个缓存数字相乘,而从存储器中获取新值的时间要少得多。

这一点非常重要,因为从 DRAM 中取值的能耗相当于执行计算的一千倍(这是 距离/能量 关系的另一个例子,因为 DRAM 在物理上远比寄存器更远)。相对较低的内存要求(仅几十或几百 kb)也意味着可以使用较低功率的 SRAM 或闪存进行存储。这使得深度学习应用非常适合微控制器,尤其是当使用 8 位运算代替浮点运算时,因为微控制器通常已经具有非常适合的类 DSP 指令。

这个想法并不是特别新颖,苹果 和谷歌都将这类芯片应用于永久在线的语音识别网络,但机器学习或嵌入式设备开发领域中很多人似乎都没有意识到深度学习和微控制器可以高度融合。

深度学习也可以非常节能

我花了很多时间去思考每个操作的能耗 (picojoules per op, CPU 执行指令的功耗) 是多少?如果知道给定的神经网络运行一次所需执行的运算次数,就可以大致估计其所需的能耗。

例如,MobileNetV2 图像分类网络在 最低配置 中可执行 2200 万次运算(每个乘加运算为两次操作)。如果某个特定系统每执行一次运算需要消耗 5 皮焦耳的能量,则总计需要消耗 110 微瓦(5 皮焦耳 * 22,000,000)的能量。如果我们每秒分析 1 帧,则只需 110 微瓦能量,一枚纽扣电池可以为其持续供电将近一年。

这样的能耗使用现有 DSP 完全可以维持,并且我乐观估计效率还会继续提升。这意味着运行现有神经网络的能源成本已经完全在电池供电设备的预算范围之内,并且随着神经网络模型架构和硬件的改进,能耗问题还将得到进一步优化。

深度学习让传感器数据的意义更丰富

在过去的几年中,通过使用神经网络,我们能够采集图像、音频或加速度计等噪声信号,并能从中提取宝贵数据。我们可以在微控制器中运行这些网络,而传感器自身所需功耗很少,因此可以处理更多目前被我们忽略的传感器数据。

例如,我希望每一个设备都拥有一个简单的语音接口。通过理解简短的词汇或使用图像传感器来完成指令,我们应该能够更轻松控制所处环境中的设备,而不用必须通过按钮来完成很多操作。我希望这种语音交互组件 (voice interface component) 价格低于 50 美分,依靠纽扣电池供电即可使用一年,而且我认为现有的技术已经可以实现此类产品。

此外,我希望有一个可用电池供电的小型图像传感器,可通过编程来查找特定农作物害虫或杂草等物体,并在发现危害物体时发出警报。这样我们就可以将这些传感器布置在田间,以更环保的方式执行如除草或杀虫等干预措施。

还有一个工业方面的实例。 “Hans” 是一位资深工程师,每天早晨都会沿着一排机器行走,把手放在每台机器上,然后倾听,根据经验和直觉告诉工头哪些机器需要停机维修,而这一切均基于他过往几十年的经验与直觉。每个工厂都有一位这样经验丰富的工程师,可这样经验丰富的人大多都即将退休。若能在每台机器上安装一个由电池驱动的加速度传感器和麦克风(我们可以之称为“Cyber-Hans”),该装置能够学习与了解常规操作和信号,倘若出现异常,你就可以得到预警。

我可能设想过超过一百种可以结合 ML 的产品实例。说实话,我并不知道这些新设备将被如何使用,但想想它们背后令人称赞的技术,以及即将出现的无法想象的全新应用,就非常令我欣喜。

这就像是 80 年代的孩子看到了第一台家用电脑时的惊喜。当时我不知道电脑会发展成什么样,尤其当时的大多数人都用它来玩游戏或存储通讯录,但是我知道一个全新的世界将就此展开。

总结

面对面的会议能让我向听众传递真情实感,我想和 CogX 听众分享的是我的欢欣雀跃,以及对未来机器学习微型化的前景充满信心。

虽然本文无法替代现场演讲,不像我就在你面前那般容易让你信服,但我希望可以通过本文向读者传达一些信息——我不知道未来会如何发展,但是我知道可用于机器学习的微型化、廉价化的电池驱动的芯片正在崛起,它将带来一批无法想象的新应用。

原文:Why the Future of Machine Learning is Tiny?
中文:TensorFlow 公众号