手机运行神经网络,MIT 新方法使神经网络能耗降低 73%

麻省理工的研究人员已经设计出了一种新型的精简神经网络的方法。此方法通过给神经网络的能耗进行建模的方式使整个系统更加轻便,可在掌上设备中更加有效地运行。

近年来,在自动驾驶、语音识别、计算机视觉和自动翻译等领域表现优秀的人工智能系统无不受益于神经网络。

但是,神经网络会消耗大量内存和能源,因此往往需要在云端服务器上运行,从桌面或移动设备上获取数据,然后返回分析结果。

去年,MIT 电气工程和计算机科学系(EECS)副教授 Vivienne Sze 和同事研发出一种新的适用于神经网络的高能效计算机芯片,这种芯片可使人工智能系统在移动设备上进行本地运行。

现在,Sze 和同事还试图从另一个方向解决该问题,即运用电池技术设计更节能的神经网络。他们首先提出一种方法,该方法能够确定神经网络在特定类型的硬件上运行时的能耗。然后,他们使用该方法评估降低神经网络能耗的新技术,以使神经网络能够更高效地在掌上设备中运行。

研究者在下周计算机视觉与模式识别大会(Computer Vision and Pattern Recognition Conference,CVPR)的参会论文中详述了这项工作。该论文介绍了将神经网络标准耗电量降低 73% 的方法,这比之前降低网络耗电量的最优方法低了 43%。

能耗评估器

以大脑解剖学为设计基础的神经网络包含成千上万甚至数百万的简单但紧密互联的信息处理节点,这些节点通常形成多个连接层。神经网络的类型根据层数、节点之间连接线的数量、以及每一层的节点总数的不同而发生变化。

节点之间的连接有“权重”,即给定节点的输出对下一个节点计算能力的影响力大小。在训练过程中,向神经网络提供大量学习样本,并持续调整其权重,直到网络最后一层的输出与计算结果保持持续相符。

“我们首先开发了一个能量模型工具,用来记录数据移动、交易和数据流动,”Sze说,“只要给它一个神经结构和权重值,它就能告诉你该神经网络的能耗。人们会问‘权重高的浅层网络能耗大,还是权重低的深层网络能耗大?’该工具可以帮助我们更好地了解能量的去向,这样算法设计者可以将其作为反馈,从而对能耗情况有更全面的了解。了解能量实际去向之后,我们开始使用该模型设计节能的神经网络。”

Sze说,过去研究者使用“精简”(pruning)法降低神经网络的能耗。节点之间低权重的连接对神经网络最终输出结果贡献极小,因此许多连接被去除或者说被修剪掉了。

原则性精简


在能量模型的帮助下,Sze 和她的同事 —— 第一作者 Tien-Ju Yang 和 Yu-Hsin Chen(电气工程与计算机科学系的研究生),改变了此方法。尽管去掉大量的低权重连接(low-weight connections)对神经网络输出仅有一些小的影响,但是如果把所有都去掉的话可能就会产生比较大的负面作用了,所以在精简方法中必须有一些机制来决定何时停止。

因此 MIT 的研究人员就开始精简网络中那些消耗能量最多的连接层。他们把这种方法命名为“能源感知型精简”。

神经网络中的权重既可以是正的,也可以是负的,所以研究人员也在寻找哪些具有相反符号的连接有相互抵消的倾向。已知节点的输入,是其下方连接层的输出与它们之间的权重的乘积。因此研究人员的方法不仅要关注权重本身,也要关注相关节点处理训练数据的方式。 在早期,只有当拥有正负权重的连接组合持续地进行相互性补偿时,它们才可以被安全地削减掉。这就引出了比早期精简方法拥有更少连接的,且更高效的网络。

最近,“深度学习界的很多活动已经指向了有限计算力平台下的高效神经网络结构的相关研发工作”,谷歌移动端视觉团队的领导Hartwig Adam 说道,“然而,大多数相关研究都聚焦于减小模型规格或计算能力,其实由于电池使用率和热限制(heat restriction)的存在,智能手机和很多其它设备的能耗问题才是最为重要的。”我们的工作正在采用一种关于CNN结构优化的先进性方法,直接通过使用一种精良的新型能量评估工具使其能耗最小化,并且它展现出了比以计算能力为中心的方法更高的增益。我希望这一领域内的其他研究人员会跟随此种方法,并且把这种一般方法论应用到神经网络模型设计当中。

理论MIT神经网络移动端理论论文CVPR 2017CVPR
暂无评论
暂无评论~