每天一篇论文 323/365 Designing Energy-Efficient Convolutional Neural Networks using Energy-Aware Pruning

每天一篇论文汇总list
Designing Energy-Efficient Convolutional Neural Networks using Energy-Aware Pruning
摘要

FyDeep卷积神经网络(CNN)是最先进的计算机视觉算法不可或缺的。然而,它们仍然很少部署在电池驱动的移动设备上,比如智能手机和可穿戴设备,在这些设备上,视觉算法可以实现许多革命性的现实应用。关键的限制因素是美国有线电视新闻网处理的高能耗,因为其高的计算复杂度。虽然之前有很多努力试图减少CNN模型的大小或计算量,但我们发现它们并不一定会导致较低的能耗。因此,这些指标不能作为估算能源成本的良好指标。为了缩小CNN设计与能耗优化之间的差距,提出了一种基于能量感知的CNN剪枝算法,该算法直接利用CNN的能耗来指导剪枝过程。能量估计方法使用从实际硬件测量推断的参数。提出的分层剪枝算法通过最小化输出特征映射的误差而不是滤波器的权值,比以前提出的剪枝方法更具有攻击性。对于每一层,首先对权值进行剪枝,然后使用闭合形式的最小二乘解对权值进行局部微调,以快速恢复精度。在所有层都被剪除之后,整个网络使用反向传播进行全局微调。 采用该修剪方法,AlexNet和GoogLeNet的能耗分别降低了3.7×和1.6×左右,精度损失小于1%。我们还发现,减少AlexNet中的目标类数量会大大减少权重的数量,但对能量消耗的影响有限。

贡献

我们进一步提出了一种新的CNN剪枝算法,其目标是在边际精度下降的情况下最小化总体能量消耗。与以前的剪枝方法不同,它直接最小化对输出特征映射的更改,而不是对滤波器的更改,并获得更高的压缩比(即,移除的权重数除以总权重数)。有能力直接估计一个CNN的能源消耗,建议修剪方法识别的CNN可以最大限度地降低能源成本,修剪的权重比以前提出的方法更积极,以最大限度地减少能源。
总之,这项工作的主要贡献包括:
•能量估算方法:由于权重或操作的数量不一定是指导CNN设计朝着更高能效方向发展的良好指标,因此我们直接使用CNN的能量消耗来指导其设计。该方法基于[21]中提出的用于实际电池供电系统的框架,例如智能手机、可穿戴设备等。然后,我们进一步扩展它,以模拟数据稀疏性和比特宽度减少的影响。相应的能量估算工具见[23]。
•能量感知剪枝:我们提出了一种新的逐层剪枝方法,这种方法可以通过最小化特征映射的变化而不是过滤器的变化来积极地减少非零权重的数量。最大化能量减少,算法开始修剪消耗能量最多的层,而不是最大数量的权重,因为随着更多层被修剪,修剪变得更加困难。首先对每一层进行剪枝,并用闭式最小二乘法对保留的权值进行局部微调,以快速恢复精度,提高压缩比。在所有层都被剪除之后,整个网络通过反向传播进一步进行全局微调。结果表明,对AlexNet来说,修剪后可以减少3.7倍的能耗,比修剪前降低1.7倍[8]中提出的流行的网络剪枝方法。即使对于像GoogLeNet这样的紧凑型CNN,所提出的修剪方法仍然可以减少1.6倍的能耗。删节后的模型将在[23]发布。由于许多嵌入式应用程序只需要一组有限的类,我们还展示了修剪AlexNet对于减少目标类数量的影响。
•CNN能耗分析:我们评估广泛使用或删减的CNN模型的能耗与准确度的权衡。我们的主要见解是:(1)在美国有线电视新闻网中最大限度地减少权重或MACS的数目不一定导致优化的能量消耗,并且需要映射特征图,(2)卷积(CONV)层,而不是完全连接(FC)层,支配美国有线电视新闻网中的总能量消耗,(3)较低的CNNs,具有较少的权重,e、 例如,GoogLeNet和squezenet不一定比具有更多权重的较浅cnn消耗更少的能量,例如,AlexNet,并且(4)与减小权重的比特宽度(甚至到二进制)相比,稀疏滤波器可以提供相等或更多的能量减少。

方法
 能量估计方法基于[21]中提出的框架,该框架在内存层次结构的每个级别优化内存访问,以实现最低的能量消耗。然后,我们进一步考虑数据稀疏性和比特宽度减少的影响,并使用从实际硬件测量[22]中外推的能量数来计算计算和数据移动的能量。

在这里插入图片描述

能量分层推断

对于每个CNN层,框架通过将其分为两部分来计算能量消耗:计算能量消耗、Ecomp和数据移动能量消耗Edata。Ecomp的计算方法是计算层中MAC的数量,并将其与运行计算核心中的每个MAC操作所消耗的能量进行权衡。Edata的计算方法是计算硬件中每个级别的内存访问次数,并将其与该级别的每个访问所消耗的能量进行权衡。为了获得内存访问次数,[21]提出了一个优化过程来搜索最优次数在内存层次结构的所有级别上对所有数据类型(功能图和权重)的访问,从而导致最低的能耗。对于每个MAC操作和内存访问的能量数,我们使用从针对电池供电设备的平台的实际硬件测量中推断出的数字。

在这里插入图片描述
在步骤1中,层的修剪顺序是根据第2.1节中描述的能量确定的。
步骤2、3和4分别为网络中的一个层移除、恢复和局部微调权重;
对于网络中的每个层重复此内部循环。剪枝和恢复权值涉及到权值的选择,而局部微调权值涉及到权值的更改,同时将输出特征映射误差最小化。
在步骤2中,使用简单的基于幅度的修剪方法来快速移除高于目标压缩比的权重(例如,如果目标压缩比为30%,则在此步骤中移除35%的权重)。移除的额外权重的数量是根据经验确定的。
在步骤3中,对减小输出误差影响最大的相关权重被恢复到其原始非零值以达到目标压缩比(例如,恢复5%的权重)。步骤4中,使用闭合形式的最小二乘解对保留的权重进行局部微调,以进一步减小输出特征映射误差。

实验结果

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值