没有合适的资源?快使用搜索试试~ 我知道了~
ECC:基于双线性回归模型的平台无关能量约束深度神经网络压缩
11206ECC:通过双线性回归模型实现的平台无关能量约束深度神经网络压缩杨海川1,朱宇浩1,刘继2,11罗切斯特大学,罗切斯特,美国2Kwai Seattle AI Lab,西雅图,美国摘要许多支持DNN的视觉应用在严重的能源限制下持续运行,例如无人机、增强现实耳机和智能手机。设计能够满足严格能源预算的DNN变得越来越重要。本文提出了ECC,这是一个压缩DNN以满足给定的能量约束,同时使精度损失最小化。ECC的核心思想是通过一种新的双线性回归函数来模拟DNN的能量能量估计模型允许我们将DNN压缩公式化为约束优化,其在能量约束上最小化DNN损失函数。优化问题,然而,有非平凡的约束。因此,现有的深度学习求解器不能直接应用。我们提出了一种优化算法,结合了交替方向乘法(ADMM)框架的本质与基于梯度的学习算法。该算法将原约束优化问题分解为若干个子问题,并迭代求解。ECC还可以跨不同的硬件平台移植,而不需要硬件知识。实验表明,ECC在相同或更低的能量预算下实现了更高的准确性,与最先进的资源受限DNN压缩技术相比。1. 介绍计 算 机 视 觉 任 务 越 来 越 依 赖 于 深 度 神 经 网 络(DNN)。DNN已经证明了优于传统方法依赖手工制作的功能.然而,神经网络通常比传统方法多几个数量级的计算密集度[34,45]。因此,基于DNN的视觉算法会产生高延迟并消耗过多的能量,对许多延迟-现实世界中的敏感和能源受限场景,例如,在移动AR设备上连续运行人脸检测会在不到45分钟内耗尽电池[20]。减少基于DNN的视觉算法的延迟和能耗不仅可以提高当今视觉应用的用户满意度计算机视觉和硬件架构社区都积极参与提高DNN的计算效率,其中一个突出的技术是压缩(例如,修剪)。网络压缩删除了不重要的网络权重,从而减少了算术运算量。然而,先前的工作[38,39,41]已经表明,网络中非零权重的数量或网络稀疏性与执行延迟和能耗不直接相关因此,提高网络稀疏性不一定导致延迟和能量减少。认识到稀疏性对于延迟和能耗等实际指标来说是一个很差的间接指标,最近的许多压缩工作已经开始直接优化网络延迟[39,11]和能耗[38],并与间接方法相比实现更低的延迟和/或能耗。虽然算法和实现细节不同,但这些算法有一个共同的想法:它们试图以整个模型满足能量/延迟约束的方式搜索每个DNN层的稀疏边界,同时最小化损失。换句话说,它们逐层迭代地搜索层稀疏性,直到满足给定的延迟/能量目标我们称之为基于搜索的方法。基于搜索的方法的有效性取决于它们能够找到每层稀疏度组合的最佳程度。不同的方法在如何搜索最佳稀疏组合方面有所不同。比如说,11207在线奥什基内图1:ECC框架概述。NetAdapt [39]使用一种启发式驱动的搜索算法,而AMC [11]1使用强化学习。然而,基于搜索的方法从根本上受到搜索空间的限制,而搜索空间对于深度网络来说可能是巨大的。在本文中,我们提出了一种替代DNN压缩算法,将所有DNN层压缩在一起,而不是逐层压缩该策略消除了先前逐层方法中所需的许多算法和微调因此,它能够找到导致更好的延迟和能量降低的压缩策略。由于缺乏专门针对能耗的压缩技术,本文将能耗作为一个特定的直接指标来证明我们的方法的有效性,但我们期望我们的方法通常适用于其他直接指标,如延迟和模型大小。我们的算法的关键是使用一个可微模型,数值估计网络的能量消耗利用这个模型,我们将DNN压缩公式化为约束优化问题(受给定能量预算约束)。我们提出了一种有效的优化算法,该算法结合了经典约束优化和基于梯度的DNN训练的思想。至关重要的是,我们的方法是平台无关的,因为它将底层硬件平台视为黑盒。现有的能量约束压缩都需要对底层硬件架构的深入理解[38,37],因此必须与所选择的特定硬件平台相关联。相比之下,我们的框架直接测量目标硬件平台的能耗,不需要任何硬件领域的知识,因此是跨不同平台的便携式。利用约束优化算法,我们提出了ECC,一个DNN压缩框架,自动压缩DNN,以满足给定的能量芽,同时最大限度地提高其准确性。ECC有两个阶段:离线能量建模阶段和在线压缩阶段。给定要压缩的特定网络,of-fline组件在特定目标平台上对网络进行分析,并构建能量估计模型。在线组件利用能量模型来求解AMC中提出的方法最初针对模型大小、FLOP或延迟,但可以使用我们在第3.2节中介绍的建模方法扩展到目标能耗。表1:不同资源受限DNN压缩技术的比较。性质/方法EAP [38]AMC [11] NetAdapt [39] LcP [5] ECC使用直接公制?目标能量?基于优化?无平台?CCCCCCCCCcCC在生成压缩模型之前,首先是约束优化问题,然后是可选的微调阶段。总之,我们做出以下贡献:• 我们提出了一个DNN推理的双线性能耗模型,该模型将DNN推理能量建模为其权重和稀疏设置的函数。能量模型是基于实际的硬件能量测量来构建的,因此不需要硬件架构的领域知识。我们的模型显示了±3%的错误率。<• 我们提出了ECC,一个DNN压缩框架,在满足给定能量预算的同时最大化准确性。ECC利用能量估计模型将DNN压缩公式化为约束优化问题。我们提出了一个有效的优化算法,结合了经典的ADMM框架与最近发展的基于梯度的DNN算法。虽然本文以能量为目标,但我们的框架可以扩展到优化其他指标,如延迟和模型大小。• 我们评估ECC使用广泛的计算机视觉任务的移动平台Jetson TX2和桌面平台与GTX 1080 Ti GPU。我们表明,与包括NetAdapt [39]和AMC [11]在内的最先进的资源受限压缩方法相比,ECC在相同的能量预算下实现了更高的准确性。2. 相关工作网络压缩网络压缩[18]是降低DNN模型复杂度的关键技术它利用了这样的观察结果,即某些网络权重对最终结果的影响较小,因此可以删除(清零)。压缩技术直接减小了DNN模型的大小,这通常也会导致延迟和能量减少。早期的压缩技术专门关注众所周知,模型大小、延迟和能耗并不直接相关[38,39,41]。因此,针对一个度量(诸如模型大小)的压缩并不总是转化为针对其他度量(诸如延迟和能量减少)的最佳压缩结果,反之亦然。资源受限压缩研究人员最近开始研究资源受限压缩,能量约束压缩(ECC)预训练压缩网络网络能源能量估算模型经验测量能量模型构建硬件平台(黑盒)可选微调约束优化11208sion,其在明确的资源约束下压缩DNN(例如,能量、等待时间、乘法累加操作的数量),而不是使用模型大小作为代理,尽管模型大小本身也可以用作约束。表1比较了四种最先进的方法:EAP、AMC、NetAdapt和LcP。EAP [38]压缩模型以减少其能量消耗,同时满足给定的精度阈值。[11]第十一话使用双线性模型估计能量(第3.2节)。最后,我们解释我们的新的基于梯度的算法,解决优化问题(第3.3节)。3.1. 问题公式化我们的目标是在预定义的能量约束下最小化损失函数满足给定资源(大小,FLOP或延迟)约束的模型,同时最大限度地提高准确性。NetAdapt [39]压缩模型以满足给定的延迟约束,minW(W)(1a)E(W)≤E预算,(1b)最大化准确性。LcP [5]压缩模型以满足给定的资源约束(参数数量或乘法累加运算的数量),同时最大化准确度。虽然这四种技术针对不同的指标,有不同的程序,他们的核心是确定每一层的最佳稀疏比的方式,整个模型满足各自的目标。它们在如何确定逐层稀疏比方面有所不同。EAP、LcP和NetAdapt都使用搜索驱动的搜索算法。具体而言,EAP按照各层对总能量的贡献顺序压缩各层,并优先压缩最耗能的层; NetAdapt通过递增地减少延迟预算,以交互方式找到每层稀疏性;LcP为每个卷积滤波器分配一个分数,并根据分数修剪滤波器,直到满足资源约束。AMC使用通过“试错法”确定每层稀疏性的ECC是一种不同的压缩技术,它不是逐层压缩DNN,而是同时压缩所有网络层它避免了启发式搜索,并取得了更好的结果。其中W:={w(u)}u∈U(U是所有层的集合)堆叠所有层的权重张量,并且E(W)表示网络的实际能量消耗,其取决于DNN权值W的结构。压缩影响DNN权重W,从而影响E(W)。是特定于给定学习任务的损失函数。在深度学习中,函数是一个高度非凸的函数。有两种不同的压缩技术。非结构化的细粒度压缩修剪单个元素[9,10];而结构化的粗粒度压缩修剪DNN的规则结构,例如过滤器通道。虽然我们的方法适用于这两种方法,但我们特别关注修剪DNN层中的通道的粗粒度方法[33,44,19,22,12,23,25,7],因为通道修剪在现成的DNN硬件平台(如GPU)上更有效[41],而细粒度方法需要专门的硬件架构才能有效[4,8,37]。利用信道修剪方法,优化问题变成找到每层的稀疏性,即,在每一层中保留的信道的数量,使得总能量满足给定的预算,即,平台依赖性先前的能量约束压缩[38,37]依赖于能量建模,minW,s(W)(2a)到特定的硬件架构。相反,ECC直接从实际硬件测量中构建能量模型,而不需要平台知识,因此通常适用于不同的硬件平台。AMC和NetAdapt也是无平台的,因为它们从硬件中进行实时测量,但它们的目标是延迟和模型大小。特别地,NetAdapt使用查找表来构造延迟模型,而ECCS.T.φ(w(u))≤s(u),u∈ U (2b)E(s)≤E预算,(2c)其中s(u)对应于层u∈ U的稀疏性界限,并且s:={s(u)}u∈U堆叠所有层的(逆)稀疏性DNNE的能量消耗现在可以表示为s2的函数。w(u)表示权重10-层u排序。w(u)的形状为d(u)×c(u)×r(u)×r(u)模型是可微的,这是将DNN压缩公式化为约束优化问题的关键,HW对于具有d(u)个输出声道的卷积层u,c(u)输入通道和空间核大小r(u)× r(u)。与-HW使用基于梯度的算法来解决。出于一般性的损失,我们将全连接层视为特殊卷积层,其中r(u)=r(u)=1。φ(w(u))3. 方法H计算逐层稀疏度为ΣwI(w(u)= 0)我,我,本节介绍建议的ECC框架,能量约束DNN压缩。我们首先将DNN压缩公式化为能量约束下的约束优化(第3.1节)。然后我们描述如何其中I(·)是指示符函数,如果满足内部条件,否则为0。[2]为了简单起见,我们在等式(1b)和等式(2c)中重复使用相同的概念E11209a+3.2. 双线性能耗模型求解方程(2)的关键步骤是识别能量模型E(s),即,将DNN能量建模为每层稀疏度的函数。这一步骤特别重要,因为它提供了一种分析形式来表征能量消耗。现有的DNN能量模型特定于特定的硬件平台[38,37],这需要对硬件有深入的理解,并且不能跨不同的硬件架构移植。相比之下,我们直接从硬件测量构建能量模型,同时将硬件平台视为黑盒。这在精神上类似于NetAdapt [39],它通过硬件测量构建延迟模型。然而,他们的模型是一个巨大的不可微的查找表。然而,我们的目标是构造一个可微模型,以便使用传统的基于梯度的算法来解决优化问题。我们的核心思想是,能量模型可以通过以下方式获得:数据驱动的方法。设E是逼近E的可微函数:E= arg minEs[(f(s)- E(s))2],(3)f∈F其中F是所有势能模型的空间,Es是关于s的期望:=[s1,···,s|U |得双曲余切值.|U+1|]中。为了找到一个可微能量模型E*,我们的直觉是DNN层的能量消耗受到其输入和输出特征映射中通道数量的影响,而这些通道数量又分别相当于当前层和下一层的稀疏性。因此,层j的能量消耗可以通过对sj和sj+1之间的交互进行建模的函数来捕获,其中sj表示层j的(逆)稀疏性(j ∈ [1,|U|])。基于这种直觉,我们使用以下双线性模型来近似计算网络总能耗:F:={f(s)=因为三层神经网络理论上可以逼近任何函数[13]。请注意,我们的约束优化公式只需要能量模型是可微的,因此仍然适用。为了获得E,我们从均匀分布中采样s,测量目标硬件平台上的实际能耗,得到E(s)。完整的实验设置请参见第4.1节。然后,我们使用随机梯度下降(SGD)方法来求解方程(3),并获得E.请注意,对于给定的网络和硬件组合,此过程只执行一次它是脱机执行的,如图1所示,因此没有运行时开销。3.3. 优化算法由等式(2)提出的优化问题是约束优化,而常规DNN训练是无约束的。因此,传统的基于梯度的算法(如SGD)和现有的深度学习求解器在这里不直接适用另一个想法是将基于梯度的算法扩展到投影版本[32]- (随机)梯度下降步骤,随后是到约束的投影步骤[37]。当投影是易处理的[40]或约束是简单的(例如,线性)[29],拉格朗日方法可用于解决DNN的参数或输出上的约束。然而,由于我们的约束的复杂性,投影步骤非常困难。在本文中,我们应用ADMM [3]的框架,这是已知的有效地处理约束优化。ADMM最初被设计用于解决具有线性等式约束和凸目标的优化问题因此,我们提出了一种基于ADMM框架的混合求解器,同时利用了基于梯度的深度学习算法和求解器的最新进展[15]。算法概述我们首先将原始的Σ| U|0j=1ajsjsj+1: a0,a1,..., 一|U |∈R+},其中问题(2)转化为等价的minimax问题[3]:S|U |+1被定义为净工作输出维度y,例如,分类任务中的类别数。系数0,1,...一|U|是定义这个空间的变量。使用双线性结构的基本原理是,在DNN推理过程中,使用定义的minMaxL(W,s,y,z)(4)W,sz≥0,y≥0其中y是为约束(2b)引入的对偶变量,z是为约束(2c)引入的对偶变量。 L被定义为增广拉格朗日量L(W,s,y,z):=n(W)+nL1(W,s,y)+L2(s,z),其中L1(W,s,y):=ρ1[φ(w(u))−s(u)]2+s的近似形式是双线性的。虽然其他更复杂的模型是可能的,双线性模型是2u+y(u)(φ(w(u))−s(u)),L2(s,z):=ρ2[E(s)−Ebudget]2+u2+简单紧凑,易于训练,有效避免了过度拟合。我们将在第4节中展示我们的模型达到了很高的预测精度。敏锐的读者可能会问,如果能量函数基本上不能以双线性形式建模(例如,对于某些特定的DNN架构)。在这种情况下,可以使用神经网络来近似能量函数。z(E(s)−Ebudge t). [·]+表示非线性箝位max(0,·)和ρ1,ρ2是两个预定义的非负超参数。注意ρ1和ρ2的选择只影响收敛的效率,而不影响收敛点(for凸优化)。为了在给定的能量约束下压缩DNN,我们从一个由Wdense表示的稠密模型开始(它可以11210我i+i+算法一:能量约束DNN压缩。输入:能量预算E预算,学习率α,β,惩罚参数ρ1,ρ2。算法2:近端算子proxαL1(·)。输入:输入张量W<$={w<$(u)}u∈U。结果:近端运算结果W={w(u)}u∈U。结果:DNN权重W。(u)(u)2初始化W=W稠密,s ={φ(w(u))}u∈U,y=0,设ai=<$w<$$>·,i,·,·<$B(u),<$u∈U;将a(u)按降序排序,设r(u)为z=0;当E(s)> E预算或u,φ(w(u))>s(u)doa(u)中元素的对应秩;通过近端Adam更新W:W =(7);通过梯度下降更新s:(10);通过预计梯度上升更新y,z:(11)和(12);端foreachLayer u∈ Udof或i←1toc(u)do如果a(u)>ρ1α([r(u)−s(u)]2−[r(u)−1−s(u)]2)+2αy(u)然后W= W.(u)我...(u)我...通过优化无约束目标获得),以及其他(u)我...= 0;解决方程(4)中的问题以获得压缩的网络受ADMM基本框架的启发,我们迭代地求解方程(4),其中每次迭代更新原始变量W,s和对偶变量y,z。算法1给出了算法的伪代码。端结束结束具体地说, 每个 迭代 第一 更新 所述DNN1argmin<$W−(Wt−αB−1<$(Wt))<$2+L(W,s,y).加权W以最小化k,同时防止W具有大于s的逐层(逆)稀疏性。s然后更新为W2αB1(七)减小能量估计E(s)。对偶变量y和z可以被看作是基于如果我们定义proxαL1(·)为函数的邻近算子,作用αL1(·,s,y):关于W和s违反约束(2b)和(2c)的程度。近端1¯2我们现在详细说明三个关键的更新步骤。3.3.1更新原始变量W我们首先固定稀疏边界s和两个对偶变量y,z来更新原始可变权重张量W,通过:argmin θ(W)+L1(W,s,y).(五)W这里的挑战是更新W是耗时的,主要是由于计算argminW(W)的复杂性,其中是非凸损失函数的网络。 随机ADMM [43]可以简化利用随机梯度方法研究了原始更新的复杂性,但它们只考虑了具有浅模型的凸问题。相反,我们建议使用W t处的损失Δ t(W)的代理来提高原始更新(Wt)+2αB其中B是正对角矩阵,通常用于许多自适应优化器,如ADADELTA [42]Adam和Adam[15];由范数vec(W)定义Vec(W)Vec(W),其中vec(·)是向量化操作。不失一般性,我们使用的对角线ma-brab在亚当。Wt是随机梯度,Wt,α是更新W的学习率。 因此,我们认为,方程(5)被简化为近端[27] Adam更新:W=w<$W2;1121111+αL1(W):= arg min<$W − W <$B+αL1(W,s,y),W(八)问题(7 )的最优解有一个封闭形式:p roxαL(Wt−αB−1<$xL(Wt))。 此更新基本上同时执行修剪和微调。德-近似算子proxαL1(·)的尾算法如算法2所示。3.3.2正在更新原始变量% s在这一步中,我们通过以下方式更新原始变量s:argmin L1(W,s,y)+L2(s,z).(九)S与上面类似,而不是搜索精确解在这个子问题中,我们只应用梯度下降步骤:st+1= st−β(sL1(W,st,y)+sL2(st,z)),(10)其中β是更新s的学习率。 为了避免完全移除某个层,为s(u)设置下限。在我们的方法中,如果没有明确提到,它将被设置为1。3.3.3更新对偶变量双重更新简单地固定W,s并通过投影梯度上升以学习速率ρ1,ρ2更新y,z:y(u)t+1=[y(u)t+p(φ(w(u))-s(u))],(11)zt+1=[zt+ρ2(E(s)−Ebudge t)]+.(十二)11212为了稳定训练过程,我们在更新对偶变量时执行一些额外的步骤。对偶变量y控制每个DNN层的稀疏性,并且较大的y(u)修剪层u中的更多通道。 当φ(w(u))≤s(u)时,不需要惩罚φ(w(u)),所以y(u)被修剪以满足φ(w(u))≥s(u). 双变量-能够使用z来惩罚能量成本E(s)的违反,并且较大的z使得s倾向于减小E(s)。在训练过程中,我们希望E(s)单调递减。所以我们将变量z投影到足够大的值,max(sL1(W,s,y)+sL2(s,z))≥,其中是一个小的正数,我们简单地设置10−3。s的梯度也被钳制为非负。4. 评价结果我们评估ECC部署在两个不同的硬件平台上的真实视觉任务。我们首先介绍我们的实验设置(第4.1节),然后介绍能量预测模型的准确性(第4.2节)。最后,我们将ECC与最先进的方法进行了比较(第4.3节)。4.1. 实验装置视觉任务&数据集我们在两个重要的视觉任务上评估ECC:图像分类和语义分割。对于图像分类,我们使用完整的ImageNet数据集[31]。对于语义分割,我们使用最近发布的大规模分割基准Cityscapes [6],其中包含来自50个不同城市的像素级高分辨率视频序列。DNN架构对于图像分类,我们使用两种代表性的DNN架构AlexNet [17]和MobileNet [14]。这两个模型的密集版本分别来自官方的PyTorch模型动物园和官方的对于语义分割,我们选择了最近提出的ERFNet[30],它依赖于剩余连接和因子分解结构,并且被证明在实时分割方面是有效的。我们使用作者发布的预训练ERFNet。这三个网络的集合使我们能够针对不同的DNN层特征(包括全连接,卷积和转置卷积层)评估ECC。硬件平台我们在两个不同的GPU平台上进行实验。GTX 1080 Ti GPU我们使用nvidia-smi实用程序[26]来获得实际硬件的能量测量。第二个是Nvidia Jet- sonTX 2嵌入式设备,广泛应用于移动视觉系统,包含移动Pascal GPU。我们通过I2C接口使用德州仪器的INA3221电压监控芯片重新测试TX2的GPU功率。DNN架构以及我们的ECC框架都是使用PyTorch实现的[28]。基线我们将ECC与两个最新的(如资源受限的压缩方法NetAdapt [39]和AMC [11]。我们根据文件中披露的内容忠实地执行它们。Ne-tAdapt最初被设计为在延迟约束下压缩DNN,AMC被设计为在模型大小、FLOP或延迟约束我们调整它们以获得能量约束的版本进行比较。这两种方法都使用信道修剪进行压缩,与ECC相同。早期的信道修剪方法,如网络瘦身[22],贝叶斯压缩[23]和其他几种[7,12,25]对资源约束是不可知的(例如,能量),因为它们专注于稀疏性本身。它们需要在压缩之前手动设置每个层的稀疏性边界(或正则化权重)。压缩模型仅基于给定的稀疏边界生成因此,我们在这里不与他们比较。超 参数 &执 行细 节根 据GPU内 存容 量,AlexNet和MobileNet的批量大小设置为128,ERFNet的批量大小设置为4我们使用Adam优化器及其默认Beta(0. 九比零。999.第999章他的学习采样率设置为10−5,权重衰减设置为10−4。3所有的压缩方法都是用相同的数据批次/迭代的数量,ImageNet约为这些迭代对应于NetAdapt中的AMC中的强化学习集设置为400,如[11]所述。对于损失函数,我们添加了一个知识蒸馏(KD)项[2],与原始损失相结合(例如,交叉熵损失),因为KD已被证明在DNN压缩任务中有效[24,35,37]。在我们的方法中,稀疏边界s的学习率β被设置为在给定的迭代次数下达到能量预算,并且对偶学习率ρ1,ρ2在ImageNet上被设置为10,在Cityscapes上被设置为1。在获得具有给定能量预算的压缩模型后,我们使用上述设置对每个模型进行100,000次迭代。对于MobileNet,我们还使用衰减的学习率(从3×10−5开始余弦衰减),以最小化交叉熵损失。微调过程训练DNN在其权重张量中具有固定的非零位置4.2. 能源预测模型为了训练能量预测模型,我们获得了不同层稀疏边界下的真实能量测量。我们首先从均匀分布中随机抽样s:s(u)unif{1,c(u)}。对于每个样品,我们3它们的选择有利于最佳的预训练模型准确性,而不是偏向于任何压缩方法。112130.970.780.590.400.210.02100101102103迭代次数(a) GTX 1080 Ti上的MobileNet。0.720.580.450.310.170.03100101102103迭代次数(b) TX2上的MobileNet如图3所示,其中原始的双线性模型具有零隐藏层。我们发现,添加一个MLP并没有明显提高GTX 1080 Ti上的预测精度,但显着降低了TX2上的预测精度因此,我们使用普通的双线性模型进行其余的评估。4.3. DNN压缩结果我们现在展示两个流行的VI的评估结果-图2:使用所提出的双线性模型进行能量预测的相对检验误差。图像分类和语义分割。4.3.1ImageNet分类0.030.0250.020.0150.010 1 23#隐藏层0.060.0550.050.0450.040.0350.030 1 23#隐藏层MobileNet在图4中,我们展示了不同能量预算下压缩MobileNet的验证精度,能量成本以焦耳(J)表示。我们按降序设置了四种不同的能量预算。密集的Mo-bileNet模型具有0.709的top-1精度。在GTX 1080 Ti和Jetson TX2上,密集模型的能量成本分别为0.2877 J和0.0487 J。(a) GTX 1080 Ti上的MobileNet。(b) TX2上的MobileNet0.7090.711图3:使用具有不同隐藏层的MLP模型进行能量预测的相对测试误差。0.6570.6060.6810.651然后构造相应的DNN,并测量其能量E(s)。我们通过取平均值来测量能量0.5540.5030.451ECCNetAdaptAMC密集0.6210.5900.560ECCNetAdaptAMC密集多次试验以最小化偏移运行间变化。对于每个DNN架构,我们收集10,000个(s,E(s))对,0.1970.2150.2330.2520.270 0.288能源成本(J)(a) GTX 1080 Ti.0.0200.0250.0310.0370.043 0.049能源成本(J)(b) Jetson TX2。训练能量模型E.我们随机挑选了8,000对作为训练数据,剩下的作为测试数据。为了优化问题(3),我们使用Adam优化器及其默认超参数,并将权重衰减设置为1.0。我们将批量大小设置为8,000(完整训练数据),并使用10,000次迭代来训练能量模型。应该注意的是,双线性能量模型在可学习参数方面是线性的,这意味着可以使用线性回归求解器。在本节中,我们还比较了双线性模型与非线性模型,亚当更适合。在图2中,我们显示了定义为Es 检验t 的 相 对 检 验 误 差[|E(s)−E (s) |/E (s) ]在两个硬件平台上的MobileNet的每次训练迭代中。我们发现相对测试误差很快收敛到0.03左右。这表明我们的能量模型不仅是准确的,而且是有效的构建。同样的结论也适用于其他网络,但由于篇幅限制而省略。为了评估双线性模型是否足够,我们还通过在双线性模型之后添加多层感知器(MLP)来实验更复杂的预测模型。所有MLP隐藏层的宽度都设置为128,我们使用SELU [16]激活。我们改变隐藏层的数量从1到3。这个增强的能量模型在MobileNet上的预测误差是图4:微调后Mo- bileNet@ImageNet上图像分类的前1名准确率。图4显示了top-1精度与三种方法的能量比较(微调后)。微 调前的结果包 含在补充材料中 。ECC 比NetAdapt和AMC具有更高的精度例如,在Jetson TX2上,在相同的0.0247 J能量预算下,ECC实现了比NetAdapt高2.6%的准确度。与密集模型相比,ECC在Jetson TX2上实现了37%的节能,而精度损失为1%<当能源预算不太小时,AMC与NetAdapt具有相似的性能。在较低的能量预算下,ECC相对于NetAdapt和AMC的准确性改进更为显著这表明在紧张的能量预算下,搜索最佳的每层稀疏组合变得困难,而ECC通过其优化过程能够识别比基于搜索的方法更好的层稀疏。AlexNet我们在AlexNet上也得到了类似的结论。稠密模型具有0.566 top-1精度。在GTX 1080 Ti上,致密模型的能量成本为0.2339 J,0.0498 J在Jetson TX2上。图5分别比较了两个平台上的三种方法(微调后)。的相对测试误差相对测试误差相对测试误差相对测试误差精度精度11214表2:Cityscapes数据集上的分割准确度(平均IoU)比较方法/能源预算GTX 1080 TiJetson TX21.3843 J1.4451 J1.5238 J1.6519 J1.9708 J0.8542焦耳0.9051 J0.9756焦耳1.0724焦耳1.3213 J密集----0.722----0.722ECC0.67130.68300.70070.7163-0.67330.69140.70170.7183-NetAdapt [39]0.63610.65230.68650.7114-0.65670.67080.69160.7084-AMC [11]0.63400.63740.67490.6992-0.63440.64910.66850.6976-0.5660.5701.000.5280.4900.4520.4140.376ECCNetAdaptAMC密集0.5560.5420.5280.5140.500ECCNetAdaptAMC密集1.000.840.680.520.360.200.800.600.400.200.0580.0930.1280.1630.199 0.234能源成本(J)(a) GTX 1080 Ti.0.0180.0240.0300.0370.043 0.050能源成本(J)(b) Jetson TX2。2 4 6 8 101214层索引(a) MobileNet(逆)稀疏性。1 2 3 4 5 6 7层索引(b) AlexNet(逆)稀疏性。图5:微调后AlexNet@ImageNet上的Top-1准确度图像分类。微调前的结果包括在说明材料中。在微调之前,ECC优于Ne-tAdapt,然而 ,在微调之 后,其实现 了与ECCECC在微调前后的性能始终与密集模式相比,ECC分别实现了28%和37%的节能<,6%和<1。在GTX 1080 Ti和Jetson TX2上分别有7%的通过比较AlexNet(7层)和Mo-bileNet(14层)上的结果,我们发现ECC的优势在于在更深的网络中更为明显。这是因为随着网络变得更深,层稀疏搜索空间呈指数级增长,这使得基于搜索的方法(如NetAdapt和AMC)效率降低。稀疏性分析图6a和图6b示出了归一化(逆)稀疏性(即,#(非零通道))。不同的颜色表示图4和图5中使用的不同能量预算。我们发现AlexNet的第5层被修剪得最重.在AlexNet中,它是第一个具有最多权重的全连接层;修剪可以节省很多能源。我们还观察到许多bileNet。我们的直觉是,每两个连续的层可以被看作是一个更大的层的低秩因式分解(忽略层之间的非线性激活)。尖峰可以表明低秩结构可以有效地节省能量。4.3.2城市景观分割现在我们将ECC应用于ERFNet [30]进行语义分割。我们使用成熟的平均交集(IoU)度量,定义为 TP/( FP+ TP+图6:在Jet-son TX 2上压缩后的层(逆)稀疏性。其中TP、FP和FN分别表示真阳性、假阳性和假阴性。训练协议与ImageNet实验相同,只是训练迭代次数为30,000次,并且结果通过10,000次额外迭代进行微调。密集模型的IoU为0.722,GTX 1080 Ti的能量成本为1.9708 J,Jetson TX 2的能量成本为1.3213 J。表2比较了三种压缩技术在不同能量预算下的IoU在相同的能量密度下,ECC始终达到最高的精度.与MobileNet类似,ERFNet也是一个具有51层的深度网络,这导致了大的层稀疏搜索空间,使得基于搜索的方法无效。 与密集模型相比,ECC在<0. GTX 1080 Ti的IoU损失为6%,TX2,分别。5. 结论未来的计算机视觉应用将越来越多地在能量受限的平台上运行,如移动机器人、AR耳机和无处不在的传感器节点。为了加速移动计算机视觉的渗透,本文提出了ECC,这是一种压缩DNN以满足给定能量预算同时最大化准确性的框架我们表明,DNN压缩可以用公式表示为一个约束优化问题,可以使用基于梯度的算法有效地解决这个问题,而不需要传统DNN压缩中使用的许多算法。虽然在本文中将能量作为案例研究,但我们的框架通常适用于其他资源约束,如延迟和模型大小。 我们希望我们的工作这是迈向无障碍、基于优化的DNN改进的第一步,而不是最终结果。0.0370焦耳0.0308焦耳0.0247焦耳0.0196焦耳精度0.0462焦耳0.0313焦耳0.0233焦耳0.0176焦耳精度归一化稀疏性归一化稀疏性11215引用[1] M. 阿巴迪山口Barham,J.Chen,Z.Chen,中国山核桃A.Davis,J.迪恩M. Devin,S.盖马瓦特湾Irving,M. Isard等人张量流:一个大规模机器学习系统。在OSDI,第16卷,第265-283页[2] J. Ba和R.卡鲁阿纳深网真的需要深吗?神经信息处理系统的进展,第2654-2662页,2014年[3] S. 博 伊 德 , N. Parikh , E. 楚 湾 , 澳 - 地 Peleato , J.Eckstein,et al.通过交替方向乘子法的分布优化和统计学习。FoundationsandTrendsMathematicsinMachinelearning g,3(1):1-122,2011.[4] Y.-- H. 陈,J.Emer和V.阿诗Eyeriss:A Spatial Architec-tureforEnergy-efficientDataflowforConvolutionalNeural Networks.ISCA,2016年。[5] T.- W.钦角,澳-地Zhang和D.马库列斯库资源受限卷积神 经 网 络 的 层 补 偿 剪 枝 arXiv 预 印 本 arXiv :1810.00518,2018。[6] M.科德茨,M。奥姆兰,S。拉莫斯,T.雷费尔德,M。恩茨韦勒R.贝南森,美国弗兰克,S。罗斯和B。席勒用于语义城市场景理解的cityscapes数据集。在IEEE计算机视觉和模式识别会议论文集,2016。[7] B.戴角,澳-地Zhu和D. Wipf利用变分信息瓶颈压缩神经网络。arXiv预印本arXiv:1802.10399,2018。[8] S. 汉,X.Liu,H.毛,J.Pu,A.佩德拉姆湾Horowitz和W. Dally EIE:基于压缩深度神经网络的高效推理引擎。ISCA,2016年。[9] S. 汉,H. Mao和W. J·达利 深度压缩:使用修剪、训练量化和霍夫曼编码压缩深度神经网络。arXiv预印本arXiv:1510.00149,2015。[10] S. Han,J.普尔,J。Tran和W.Dally 学习权值和连接以实现高效的神经网络。神经信息处理系统的进展,第1135-1143页,2015年[11] Y. He,J. Lin,Z. Liu,H.王湖,澳-地J. Li和S.韩Amc:Automl,用于移动设备上的模型压缩和加速。在欧洲计算机视觉会议论文集,第784-800页[12] Y.他,X。zhang和J.太阳用于加速非常深的神经网络的通道修剪。在IEEE计算机视觉国际会议论文集,第2卷,2017年。[13] K.霍尼克多层前馈网络的逼近能力。神经网络,4(2):251[14] A. G. Howard , M.Zhu , B.Chen , 中 国 粘 蝇D.Kalenichenko,W.小王,T. Weyand,M. Andreetto和H. Adam. Mobilenets:用于移动视 觉应用的高效 卷积神经网 络。arXiv预印本arXiv:1704.04861,2017。[15] D. P. Kingma和J. BA. Adam:随机最佳化的方法。arXiv预印本arXiv:1412.6980,2014。[16] G.Klambauer , T.Unterthiner , A.Mayr 和 S.Hochreiter。自规范化神经网络神经信息处理系统的进展,第971-980页,2017年[17] A.克里热夫斯基岛Sutskever和G. E.辛顿Imagenet分类与深度卷积神经网络。在神经信息处理系统的进展,第1097-1105页[18] Y. LeCun,J.S. Denker和S.A. 索拉最佳脑损伤。神经信息处理系统进展,第598-605页,1990年[19] H. Li,长穗条锈菌A.卡达夫岛Durdanovic,H. Samet和H. P·格拉夫修剪过滤器以实现高效的卷积。arXiv预印本arXiv:1608.08710,2016。[20] R. LiKamWa,Z.Wang,中国山核桃A.卡罗尔,F.X. Lin和L.锺
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 前端协作项目:发布猜图游戏功能与待修复事项
- Spring框架REST服务开发实践指南
- ALU课设实现基础与高级运算功能
- 深入了解STK:C++音频信号处理综合工具套件
- 华中科技大学电信学院软件无线电实验资料汇总
- CGSN数据解析与集成验证工具集:Python和Shell脚本
- Java实现的远程视频会议系统开发教程
- Change-OEM: 用Java修改Windows OEM信息与Logo
- cmnd:文本到远程API的桥接平台开发
- 解决BIOS刷写错误28:PRR.exe的应用与效果
- 深度学习对抗攻击库:adversarial_robustness_toolbox 1.10.0
- Win7系统CP2102驱动下载与安装指南
- 深入理解Java中的函数式编程技巧
- GY-906 MLX90614ESF传感器模块温度采集应用资料
- Adversarial Robustness Toolbox 1.15.1 工具包安装教程
- GNU Radio的供应商中立SDR开发包:gr-sdr介绍
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功