将神经网络引入手机

麻省理工学院的研究人员设计了一种新的方法来削减神经网络,使它们在手持设备上更有效地运行。

通过Larry Hardesty,麻省理工学院新闻办公室 2017年8月4日

近年来,在自动驾驶、语音识别、计算机视觉和自动翻译等领域,表现最好的人工智能系统都得益于被称为神经网络的软件系统。

但神经网络占用大量内存,消耗大量电力,因此它们通常运行在云服务器上,从桌面或移动设备接收数据,然后发回分析结果。

2016年,麻省理工学院电气工程和计算机科学副教授Vivienne Sze及其同事推出了一种新型节能计算机芯片,该芯片针对神经网络进行了优化,可以使强大的人工智能系统在移动设备上本地运行。

现在,Sze和她的同事们从相反的方向解决了同样的问题,他们采用了一系列技术来设计更节能的神经网络。首先,他们开发了一种分析方法,可以确定神经网络在特定类型的硬件上运行时会消耗多少能量。然后,他们用这种方法来评估减少神经网络的新技术,以便它们在手持设备上更有效地运行。

研究人员在计算机视觉和模式识别会议上发表的论文中描述了这项工作。在论文中,他们报告说,这些方法比神经网络的标准实现减少了73%的功耗,比之前削减网络的最佳方法减少了43%。

能源评估者

神经网络松散地基于大脑的解剖结构,由数千甚至数百万个简单但紧密相连的信息处理节点组成,通常被组织成层。不同类型的网络根据其层数、节点之间的连接数以及每层中的节点数而有所不同。

节点之间的连接有与之相关的“权重”,这些权重决定了给定节点的输出对下一个节点的计算有多少贡献。在训练过程中,网络会展示它正在学习执行的计算示例,这些权重会不断重新调整,直到网络最后一层的输出与计算结果一致。

Sze说:“我们做的第一件事是开发一个能量建模工具,用于解释数据移动、交易和数据流。”“如果你给它一个网络架构和它的权重值,它会告诉你这个神经网络需要多少能量。人们提出的一个问题是,‘浅的网络权重更大,还是深的网络权重更小,哪个更节能?“这个工具让我们对能量流向有了更好的直觉,这样算法设计师就可以更好地理解并将其作为反馈。”我们做的第二件事是,现在我们知道了能量的实际去向,我们开始使用这个模型来驱动我们的节能神经网络设计。”

Sze解释说,在过去,研究人员试图降低神经网络的功耗,使用了一种称为“修剪”的技术。节点之间的低权重连接对神经网络的最终输出贡献很小,所以它们中的许多可以安全地消除或修剪。

有原则的修剪

在他们的能量模型的帮助下,Sze和她的同事,都是电气工程和计算机科学专业的研究生Yang Tien-Ju和Yu-Hsin Chen改变了这种方法。尽管切断大量的低权重连接对神经网络的输出影响很小,但切断所有连接可能会产生影响,因此修剪技术必须有某种机制来决定何时停止。

因此,麻省理工学院的研究人员开始修剪网络中消耗能量最多的那些层。这样一来,节能就能最大限度地节约能源。他们称这种方法为“节能修剪”。

神经网络中的权重可以是正的,也可以是负的,所以研究人员的方法也会寻找与相反符号的权重的联系往往会相互抵消的情况。给定节点的输入是下一层节点的输出,乘以它们连接的权重。因此,研究人员的方法不仅关注权重,还关注相关节点处理训练数据的方式。只有具有正权重和负权重的连接组始终相互抵消,才能安全切断。与早期的修剪方法相比,这导致了更有效的网络,连接更少。

麻省理工学院

www.mit.edu

-内容专家汉娜·考克斯编辑控制工程, CFE传媒,hcox@cfemedia.com.查看更多控制工程制造IT故事。