给手机带来神经网络

给手机带来神经网络

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

但是,神经网络占用了大量的内存并消耗了大量的电源,所以它们通常在云中的服务器上运行,服务器接收来自台式机或移动设备的数据,然后发回分析。

去年,美国麻省理工学院电气工程和计算机科学副教授Vivienne Sze和同事们公布了一个新的,神经网络优化节能的电脑芯片,它可以使强大的人工智能系统上本地运行的移动设备。

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

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

能量计算器

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

节点之间的连接具有与它们相关联的“权重”,它决定给定节点的输出对下一个节点的计算有多大贡献。在训练过程中,网络以其学习的计算实例为例,不断地调整这些权值,直到网络最后一层的输出与计算结果一致。

“我们做的第一件事是建立一个能源建模工具,占移动数据,交易数据流,”Sze说。如果你给它一个网络体系结构和它的权值,它会告诉你这个神经网络需要多少能量。人们所面临的一个问题是:拥有浅网络、更多权重或更深层网络的权重更低的能源效率更高吗?这个工具让我们对能量的位置有了更好的直觉,这样算法设计者就可以更好地理解和使用这个反馈。我们所做的第二件事是,现在我们知道能量实际上在哪里,我们开始使用这个模型来驱动我们的节能神经网络的设计。”

在过去,Sze解释说,研究人员试图降低神经网络的功耗使用一种名为“修剪”。低重量的节点之间的连接有助于神经网络的最终产量很小,所以他们中的许多人可以安全地消除,或修剪。

原则性的修剪

随着他们的能量模型的帮助下,Sze和她的同事们第一作者Tien Ju Yang和Yu Hsin Chen,都生在电气工程和计算机科学的不同方法。尽管切断大量的低重量连接对神经网络的输出几乎没有影响,但所有这些可能都会削减,因此修剪技术必须有一些机制来决定何时停止。

因此,麻省理工学院的研究人员开始修剪那些消耗能量最多的网络层。这样,削减转化为最大可能的节约能源。他们称这种方法为“能量感知修剪”。

神经网络中的权重可以是正的,也可以是负的,因此研究人员的方法也会寻找那些与相反符号的权重的连接趋向于相互抵消的情况。对给定节点的输入是下面层中节点的输出,乘以它们连接的权重。因此,研究人员的方法不仅着眼于权重,而且关注关联节点处理训练数据的方式。只有具有正和负权的组之间相互抵消,才能安全地切断它们。这导致了比以前修剪方法更有效的连接较少的网络。

“最近,在深度学习领域的许多活动已经指向有效的神经网络体系结构的发展,计算受限的平台,”Hartwig Adam说,在谷歌移动视觉团队领导。然而,大多数的研究都集中在减少模型尺寸或计算,而对于智能手机和许多其他设备,能源消耗是至关重要的,因为电池的使用和热限制。这项工作是一种创新的方法,以美国有线电视新闻网[卷积神经网络结构优化,直接指导使用一个复杂的新能源估计工具的功耗最小化,它演示了大的性能增益超过计算为重点的方法。我希望其他领域的研究人员也能效仿,并将这种通用方法应用到神经网络模型体系结构设计中。

相关新闻