没有合适的资源?快使用搜索试试~ 我知道了~
115180通过学习的全局排序实现高效模型压缩0Ting-Wu Chin 1,Ruizhou Ding 1,Cha Zhang 2,Diana Marculescu 130卡内基梅隆大学1,微软云和AI2,德克萨斯大学奥斯汀分校30{ tingwuc, rding } @andrew.cmu.edu, chazhang@mirosoft.com, dianam@utexas.edu0摘要0修剪卷积滤波器已经证明在压缩ConvNets方面是有效的。修剪滤波器的先前方法要求用户为所得到的架构指定目标模型复杂度(例如,模型大小或FLOP计数)。然而,确定目标模型复杂度对于优化各种体现AI应用(如自主机器人、无人机和面向用户的应用程序)可能是困难的。首先,ConvNets的准确性和速度都会影响应用程序的性能。其次,在推理过程中评估ConvNets时,很难评估应用程序的性能。因此,通过修剪滤波器在准确性和速度之间找到一个最佳点,这需要通过试错的方式进行,可能是耗时的。本研究通过将模型压缩的目标改为生成一组具有不同准确性和延迟权衡的ConvNets,而不是生成一个针对某些预定义延迟约束的ConvNet,以使此过程更加高效。为此,我们提出了一种学习ConvNet不同层之间滤波器的全局排序的方法,该方法通过修剪排名较低的滤波器来获得一组具有不同准确性/延迟权衡的ConvNet架构。我们提出的算法LeGR在CIFAR-100数据集上针对七个修剪后的ResNet-56的不同准确性/FLOPs配置文件时,显示出比先前工作快2倍到3倍的速度,同时具有相当或更好的性能。此外,我们还使用ResNet-50和Mo-bileNetV2在ImageNet和Bird-200上评估了LeGR以证明其有效性。代码可在https://github.com/cmu-enyac/LeGR上获得。01. 引言0在视觉感知的成功基础上构建 [ 49 ,017 , 18 ], 自然语言处理 [ 10 , 11 ], 和语音识别 [ 6 , 45 ]结合深度学习,研究人员开始探索具有体现AI应用的可能性。在体现AI中,目标是使代理根据某些环境中的感知采取行动 [ 51 ]。0我们设想下一代体现AI系统将在移动设备上运行,例如自主机器人和无人机,其中计算资源有限,因此需要模型压缩技术将这些智能代理引入我们的生活。特别是修剪Con-vNets中的卷积滤波器,也称为滤波器修剪,已经显示出是一种有效的技术 [ 63 , 36 , 60 , 32],可以通过牺牲准确性来提高推理速度。滤波器修剪的核心思想是通过最小化准确性降低和最大化速度提升来找到最不重要的滤波器进行修剪。最先进的滤波器修剪方法 [ 16 ,20 , 36 , 70 , 46 , 8]需要整个ConvNet的目标模型复杂度(例如,总滤波器数、FLOP计数1、模型大小、推理延迟等)来获得修剪后的网络。然而,决定优化体现AI应用的目标模型复杂度可能是困难的。例如,考虑使用自主无人机进行交付,物体检测器的推理速度和准确性都会影响无人机的速度 [ 3],从而影响推理速度和准确性2。对于一个用户面向的自主机器人,它必须执行复杂的任务,如MovieQA [ 56],VQA [ 2 ]和室内导航 [ 1],视觉感知模块的速度和准确性都会影响用户体验。这些应用程序需要多次试错来找到ConvNets速度和准确性之间的最佳权衡点。更具体地说,在这些场景中,从业者必须通过试错的方式确定模型复杂度和准确性的最佳点。使用现有的滤波器修剪算法多次探索不同准确性与速度权衡的影响可能是耗时的。图1演示了在上述场景中优化ConvNets的滤波器修剪的用法。使用先前的方法,必须经历通过修剪-ConvNets找到满足约束的ConvNets的过程,通过一个修剪-01.计算ConvNet进行推理所需的浮点运算次数。2.更高的速度需要更快的计算,并可能由于输入视频流的模糊效果而导致准确性下降。15190图1:使用滤波器剪枝优化嵌入式AI应用的ConvNet。与先前的方法一样,通过每个剪枝过程产生一个ConvNet,我们的方法提供了一组ConvNet供从业者高效地探索权衡。0对于每个考虑的模型复杂性,传统的方法需要为每个模型复杂性设计一个剪枝算法,直到从业者对准确性与加速比的权衡满意为止。我们的工作是减轻上述范式的低效性的第一步。我们提出将剪枝的目标从输出单个具有预定义模型复杂性的ConvNet改为生成一组具有不同准确性/速度权衡的ConvNet,同时实现与最先进方法相当的准确性(如图4所示)。通过这种方式,可以大大减少模型压缩开销,从而更实际地使用滤波器剪枝。为此,我们提出了学习全局排名(或LeGR),一种学习在不同速度/准确性权衡下对卷积滤波器进行排名的算法,以便通过删除排名最低的滤波器轻松获得不同速度/准确性权衡的ConvNet架构。然后对获得的架构进行微调以生成最终的模型。在这种公式中,可以通过学习一次排名来获得一组架构。我们使用CIFAR-10/100、Bird-200和ImageNet数据集对所提出的方法进行了广泛的实证分析,证明了其有效性。本文的主要贡献如下:0•我们提出了学习全局排名(LeGR),它生成一组具有不同准确性/速度权衡的剪枝ConvNet。LeGR在ConvNet剪枝方面比先前的方法更快,同时在三个数据集和两种类型的ConvNet上实现了与最先进方法相当的准确性。0•我们的剪枝公式是第一个全局考虑不同层之间学习排列滤波器的工作,解决了基于幅度的滤波器剪枝先前研究的局限性。02.相关工作0已经开发了各种方法来压缩和/或加速ConvNet,包括权重量化[47, 71, 29, 30, 65, 24, 12, 7],高效卷积操作符[25,22, 61, 26, 67],神经架构搜索[69, 9, 4, 15, 54, 53,52],调整图像分辨率[55,5]和本文中考虑的滤波器剪枝。关于滤波器剪枝的先前研究可以分为两类,取决于是否假设已给出剪枝ConvNet的架构。0预定义架构在这个类别中,各种工作提出了不同的度量标准来评估每个层内滤波器的重要性。例如,一些先前的工作[32,19]提出使用滤波器权重的L2范数作为重要性度量。另一方面,其他工作还研究了使用剪枝和未剪枝网络之间的输出差异作为重要性度量[23,40]。然而,对于在层内局部排列滤波器的方法,关键缺点是往往很难决定整体目标剪枝架构。为了应对这个困难,通常采用在所有层中均匀剪枝相同比例的滤波器[19]。0在这个类别中,剪枝算法可以自动学习给定可控参数的结果结构,以确定剪枝ConvNet的复杂性。为了鼓励具有较小幅度的权重,Wen等人提出了将组Lasso正则化添加到滤波器范数中,以鼓励滤波器权重为零。随后,Liu等人提出在批归一化层上添加Lasso正则化以实现训练期间的剪枝。Gordon等人提出在滤波器范数上添加计算加权Lasso正则化。Huang等人提出在输出神经元上添加Lasso正则化,而不是权重。尽管正则化会使不重要的滤波器具有较小的权重,但最终的全局阈值设定假设不同的层具有相同的重要性。后来,Louizos等人提出了具有随机松弛的L0正则化。从贝叶斯的角度来看,Louizos等人以稀疏引起的先验概率的形式提出了概率化的剪枝。类似地,Zhou等人提出了建模层间依赖性的方法。从不同的角度来看,He等人提出了一种自动模型压缩框架(AMC),该框架使用强化学习来搜索满足用户指定复杂性约束的ConvNet。尽管这些先前的方法在给定目标模型复杂性下提供了有竞争力的剪枝ConvNet,但在压缩嵌入式AI应用中往往很难指定复杂性参数。为了解决这个问题,我们的工作提出生成一组15200修剪的ConvNet在不同复杂度值之间进行比较,而不是在目标模型复杂度下获得单个修剪的ConvNet。我们注意到,一些先前的工作通过在修剪一个过滤器和微调之间交替进行修剪来逐渐修剪ConvNet,因此也可以获得一组具有不同复杂度的修剪的ConvNet。例如,Molchanov等人[43]提出使用损失的归一化Taylor近似作为修剪过滤器的度量。具体来说,他们贪婪地每次修剪一个过滤器,并在修剪继续之前对网络进行几个梯度步骤的微调。沿着这个范例,Theis等人[57]提出从一阶Taylor切换到Fisher信息。然而,我们的实验结果表明,通过这些方法获得的修剪的ConvNet的准确性较差,与生成单个修剪的ConvNet的方法相比。为了获得具有竞争性能的不同复杂度的ConvNet集合,我们提出以数据驱动的方式学习跨不同层的过滤器的全局排名,以便通过修剪掉排名较低的过滤器来获得具有不同复杂度的架构。03. 学习的全局排名0所提出方法的核心思想是学习跨不同层的过滤器的排名,以便通过修剪掉排名较低的过滤器轻松地获得给定复杂度的ConvNet。在本节中,我们讨论了实现这一目标的假设和公式。如前面在第1节中提到的,卷积神经网络的准确性和延迟通常都会影响整个应用的性能。在这些设置中,模型压缩的目标是通过找到准确性与速度之间的权衡点,为特定应用程序使用模型压缩来探索准确性与速度之间的权衡点。因此,在这项工作中,我们使用FLOP计数作为模型复杂度来采样ConvNet。正如我们将在第5.3节中展示的那样,我们发现FLOP计数对于延迟具有预测性。03.1. 全局排名0为了获得具有不同FLOP计数的修剪的ConvNet,我们提出在各层之间全局学习过滤器的排名。在这样的公式中,给定ConvNet的全局排名只需要学习一次,就可以用来获得具有不同FLOP计数的ConvNet。然而,这样的公式存在两个挑战。首先,全局排名公式强制要求较小的性能更好的ConvNet是较大的性能更好的ConvNet的一个合适子集。这个假设可能是强的,因为有很多方法可以在不同层之间设置过滤器计数以实现给定的FLOP计数,这意味着在某些层中,性能更好的较小网络可以具有更多的过滤器计数,而在其他层中则具有较少的过滤器计数。0与性能更好的更大的ConvNet相比,这个假设使得全局过滤器排序的想法成为可能,可以高效地生成具有不同FLOP计数的修剪ConvNet。此外,第5.1节的实验结果表明,在这个假设下修剪的ConvNet在性能方面与不考虑这个假设得到的修剪的ConvNet竞争力相当。我们在下面更正式地陈述子集假设。0假设1(子集假设)对于具有FLOP计数f的最优修剪ConvNet,令F(f)l为第l层的过滤器计数。子集假设指出,如果f≤f0,则F(f)l≤F(f0)l,对于所有l。0学习全局排名的另一个挑战是问题的难度。获得最优的全局排名可能是昂贵的,即需要 O(K�K!) 轮网络微调,其中 K是过滤器的数量。因此,为了使其可行,我们假设过滤器范数能够在层内(即层内)对过滤器进行排序,但不能在层间(即层间)进行全局排序。0假设2(范数假设)`2范数可以用来比较每个层内过滤器的重要性,但不能在层间进行比较。0我们注意到,先前的研究[32,62,20]采用了范数假设并进行了实证验证。为了在不同层之间比较滤波器的范数,我们提出在滤波器范数上学习逐层的仿射变换。具体而言,滤波器i的重要性定义如下:0Ii = �l(i)kΘik22 + �l(i), (1)0其中l(i)是第i个滤波器的层索引,k∙k2表示`2范数,Θi表示第i个滤波器的权重,α∈RL,κ∈RL是可学习的参数,表示逐层的缩放和偏移值,L表示层数。我们将在第3.2节详细介绍如何学习α-κ对以最大化整体准确性。基于从式(1)(即α-κ对)中学到的这些仿射变换,LeGR-Pruning通过使用I对滤波器进行全局排序并修剪掉底部排名较低的滤波器,即I较小的滤波器,以满足所需的FLOP计数,如图2所示。这个过程可以高效地完成,无需训练数据(因为修剪的知识被编码在α-κ对中)。03.2. 学习全局排名0要学习α和κ,可以考虑构建一个具有α和κ的排名,然后均匀采样不同FLOP计数下的ConvNet来评估排名。然而,不同FLOP计数下获得的ConvNet的验证准确性差异很大,因此人们必须15210图2:LeGR-Pruning的流程。kΘk22表示滤波器范数。根据学到的逐层仿射变换,即α-κ对,LeGR-Pruning返回确定哪些滤波器被修剪的滤波器掩码。在LeGR-Pruning之后,修剪后的网络将进行微调以获得最终的网络。0了解修剪的Pareto曲线3以规范不同FLOP计数下获得的ConvNet的验证准确性。为了解决这个困难,我们提出将从考虑的最低FLOP计数获得的ConvNet的验证准确性作为由α-κ对引起的排名的目标。具体而言,为了学习α和κ,我们将LeGR视为一个优化问题:0arg max α, κ Accval(ˆΘl) (2)0其中0ˆΘl = LeGR-Pruning(α, κ, ˆ�l). (3)0LeGR-Pruning通过剪枝底部排名较低的滤波器,直到满足所需的FLOP计数,如图2所示。ˆ�l表示考虑的最低FLOP计数。正如我们稍后在第5.1节中讨论的那样,我们还研究了ˆ�对学习排名的影响,即学习排名如何影响修剪网络的准确性。具体而言,为了学习α-κ对,我们依赖于超参数优化文献中的方法。虽然优化算法有几种选择,但我们采用了在神经架构搜索空间中提出的正则化进化算法(EA)[48],因为它在效果上非常有效。我们的EA的伪代码概述在算法1中。我们还研究了用于求解α-κ对的策略梯度,详见附录B。我们可以将每个α-κ对等同于通过LeGR-Pruning获得的网络架构。一旦获得修剪后的架构,我们通过ˆ�梯度步骤对其进行微调,并使用其在验证集上的准确性作为适应度(即03Pareto曲线描述了两个感兴趣指标之间的最优权衡曲线。具体而言,不能在不降低另一个指标的情况下改善一个指标。我们在这项工作中考虑的两个指标是准确性和FLOP计数。4我们将原始训练集的10%拆分为验证集使用。0算法1:使用正则化的进化算法(EA)学习α和κ0输入:模型Θ,最低约束ˆ�l,随机游走大小σ,总搜索迭代次数E,样本大小S,变异比例u,种群大小P,微调迭代次数ˆ�输出:α,κ将Pool初始化为大小为P的队列for e = 1to E do α = 1, κ = 0 if Pool中有S个样本 then V = Pool.sample(S) α, κ =argmaxFitness(V) end if Layer = Sample u%的层进行变异for l ∈ Layer do stdl =computeStd([Mi 8 i ∈ l]) αl = αl�ˆαl,其中ˆαl�eN(0,σ2)0κl = κl + ˆκl,其中ˆκl � N(0, stdl) end for ˆΘl =LeGR-Pruning-and-�ne-tuning(α, κ, ˆ�l, ˆ�, Θ) Fitness= Accval(ˆΘl) Pool.replaceOldestWith(α, κ, Fitness)end for0验证准确性)对应的α-κ对。我们注意到我们使用ˆ�来近似�(完全微调步骤),并且我们经验性地发现在修剪设置中,ˆ�=200梯度更新在我们研究的数据集和网络上效果良好。更具体地说,我们首先生成一组候选者(α和κ值),并记录每个候选者的适应度,然后重复以下步骤:(i)从候选者中随机选择一个子集,(ii)确定最适合的候选者,(iii)通过变异最适合的候选者生成一个新的候选者,并相应地测量其适应度,(iv)用生成的候选者替换池中最旧的候选者。为了mu-Our work is evaluated on various image classificationbenchmarks including CIFAR-10/100 [31], ImageNet [50],and Birds-200 [58]. CIFAR-10/100 consists of 50k trainingimages and 10k testing images with a total of 10/100 classesto be classified. ImageNet is a large scale image classifica-tion dataset that includes 1.2 million training images and50k testing images with 1k classes to be classified. Also,we benchmark the proposed algorithm in a transfer learningsetting since in practice, we want a small and fast modelon some target datasets. Specifically, we use the Birds-200dataset that consists of 6k training images and 5.7k testingimages covering 200 bird species.For Bird-200, we use 10% of the training data as the val-idation set used for early stopping and to avoid over-fitting.The training scheme for CIFAR-10/100 follows [19], whichuses stochastic gradient descent with nesterov [44], weightdecay 5e�4, batch size 128, 1e�1 initial learning rate withdecrease by 5⇥ at epochs 60, 120, and 160, and train for200 epochs in total. For control experiments with CIFAR-100 and Bird-200, the fine-tuning after pruning is done asfollows: we keep all training hyper-parameters the samebut change the initial learning rate to 1e�2 and train for 60epochs (i.e., ⌧ ⇡ 21k). We drop the learning rate by 10⇥ at30%, 60%, and 80% of the total epochs, i.e., epochs 18, 36,and 48. To compare numbers with prior art on CIFAR-10and ImageNet, we follow the number of iterations in [72].Specifically, for CIFAR-10 we fine-tuned for 400 epochswith initial learning rate 1e�2, drop by 5⇥ at epochs 120,240, and 320. For ImageNet, we use pre-trained models andwe fine-tuned the pruned models for 60 epochs with initiallearning rate 1e�2, drop by 10⇥ at epochs 30 and 45.For the hyper-parameters of LeGR, we select ˆ⌧ = 200,i.e., fine-tune for 200 gradient steps before measuring thevalidation accuracy when searching for the α-κ pair. Wenote that we do the same for AMC [20] for a fair compari-son. Moreover, we set the number of architectures exploredto be the same with AMC, i.e., 400. We set mutation rateu = 10 and the hyper-parameter of the regularized evolu-tionary algorithm by following prior art [48]. In the fol-lowing experiments, we use the smallest ⇣ considered as ˆ⇣l15220为了选择最适合的候选者,我们随机选择一组层Layer的子集,并从它们的当前值开始进行一步随机游走,即�l,�l 8 l 2Layer。我们注意到我们的逐层仿射变换公式(Eq.1)可以从优化的角度解释。也就是说,可以通过假设损失函数在Lipschitz连续性上的上界来上界化预训练的ConvNet与其修剪和微调后的对应物之间的损失差异,详见附录A。04. 评估04.1. 数据集和训练设置0为了搜索可学习变量α和κ。找到的α-κ对用于获得不同FLOP计数下的修剪网络。例如,对于使用CIFAR-100的ResNet-56(图3a),我们使用ˆ�l =20%来获得α-κ对,并使用相同的α-κ对使用图2中描述的流程获得七个网络(�=20%,...,80%)。ˆ�l和ˆ�的消融在第5.2节中详细说明。我们在所有卷积层上修剪滤波器。我们通过对它们的重要性度量进行求和来联合修剪相关通道。重要性度量是指在学习的仿射变换之后的度量。具体来说,我们将深度卷积中的通道与前一层中的相应通道进行分组。我们还将通过残差连接相加的通道进行分组。04.2. CIFAR-100结果0在本节中,我们考虑ResNet-56和Mo-bileNetV2,并将LeGR与四种主要的滤波器修剪方法进行比较,即MorphNet [16],AMC [20],Fisher- Pruning[57]和在各个层上均匀修剪滤波器的基线。具体而言,基线是根据从不同的先前方法组中选择的一种主要方法确定的。我们从修剪-学习方法中选择一种方法[16],从搜索修剪方法中选择一种方法[20],从连续修剪方法中选择一种方法[57],并将基线扩展到各种FLOP计数。我们注意到FisherPruning是一种连续修剪方法,我们使用0.0025的学习率,并在每次修剪滤波器后执行500个梯度步骤,如[57]所述。如图3a所示,我们首先观察到FisherPruning的效果不如其他方法好,我们假设原因是微调阶段中的小固定学习率使优化器难以摆脱局部最优解。此外,我们发现FisherPruning几乎修剪掉了某些层的所有滤波器。另一方面,我们发现所有其他方法在高FLOP计数范围内都优于均匀基线。然而,当修剪更加激进时,AMC和MorphNet的方差较高。在这两种情况下,LeGR优于先前的方法,特别是在低FLOP计数范围内。更重要的是,我们提出的方法旨在减轻修剪的成本,当目标是在准确性和推理延迟之间探索权衡曲线时。从这个角度来看,我们的方法在很大程度上优于先前的方法。具体而言,我们使用我们的硬件(即NVIDIA GTX 1080Ti)测量每个算法获得七个修剪后的ResNet-56的平均时间,如图3a所示。图3b显示了AMC,MorphNet,FisherPruning和提出的LeGR的效率。成本可以分为两部分:(1)修剪:搜索具有所需FLOP计数的网络所需的时间。715230图3:(a)使用各种方法在CIFAR-100上修剪ResNet-56和MobileNetV2的权衡曲线。我们对三次试验进行平均,并绘制平均值和标准差。(b)使用各种方法在CIFAR-100上针对ResNet-56的七个FLOP计数训练成本。我们报告考虑七个FLOP计数的平均成本,即从20%到80%的FLOP计数,每次增加10%。成本已归一化为LeGR的成本。0一些预定义的FLOP计数和(2)微调:微调修剪网络权重所需的时间。对于MorphNet,我们对每个FLOP计数进行三次试验,以找到一个适当的超参数λ,以满足所需的FLOP计数。这些数字被归一化为LeGR的成本。在修剪时间方面,LeGR比AMC和MorphNet分别快7倍和5倍。这种效率来自于LeGR只搜索一次α-κ对,并在不同的FLOP计数之间重复使用它。相比之下,AMC和MorphNet必须为每个考虑的FLOP计数搜索网络。FisherPruning总是一次修剪一个滤波器,因此无论我们对多少个FLOP计数感兴趣,最低的FLOP计数水平都决定了修剪时间。04.3. 与先前方法的比较0尽管这项工作的目标是开发一种模型压缩方法,可以在不同的FLOP计数下生成一组ConvNets,但我们还将我们的方法与专注于为特定FLOP计数生成ConvNet的先前方法进行了比较。0CIFAR-10在表1中,我们将LeGR与在CIFAR-10上报告结果的先前方法进行比较。首先,对于ResNet-56,我们发现LeGR在FLOP计数和准确性两个维度上优于大多数先前方法,并与[19,72]表现类似。对于VGG-13,LeGR的结果明显优于先前的方法。0ImageNet结果对于ImageNet,我们使用LeGR修剪ResNet-50和MobileNetV2,以与先前的方法进行比较。对于LeGR,我们使用ResNet-50的47% FLOP计数和MobileNetV2的50%FLOP计数学习排序,并使用学习到的排序来获得其他FLOP的ConvNets0表1:在CIFAR-10上与先前方法的比较。我们根据不同的FLOP计数将方法分组。我们的方法的值是在三次试验中平均计算的,并报告均值和标准偏差。我们使用粗体表示最佳数字,并使用�表示我们的实现。准确性以预训练的7!修剪和微调的格式表示。0网络方法 A CC .(%)MFLOP COUNT0R ES N ET -560PF [32] 93.0 −→ 93.0 90.9(72%)0T AYLOR [43] � 93.9 −→ 93.2 90.8(72%)0L E GR 93.9 −→ 94.1 ± 0.0 87.8(70%)0DCP-A DAPT [72] 93.8 −→ 93.8 66.3(53%)0CP [23] 92.8 −→ 91.8 62.7(50%)0AMC [20] 92.8 −→ 91.9 62.7(50%)0DCP [72] 93.8 −→ 93.5 62.7(50%)0SFP [19] 93.6 ± 0.6 −→ 93.4 ± 0.3 59.4(47%)0L E GR 93.9 −→ 93.7 ± 0.2 58.9(47%)0VGG-130BC-GNJ [38] 91.9 −→ 91.4 141.5(45%)0BC-GHS [38] 91.9 −→ 91 121.9(39%)0VIBN ET [8] 91.9 −→ 91.5 70.6(22%)0L E GR 91.9 −→ 92.4 ± 0.2 70.3(22%)0感兴趣的计数。我们与17种先前的方法进行了比较,这些方法报告了在ImageNet数据集上对ResNet-50和/或MobileNetV2的修剪性能。虽然我们的重点是快速探索速度和准确性权衡曲线的滤波器修剪,但我们提出的方法与最先进的方法相比要好或相当,如图4所示。详细的数值结果在附录C中。我们要强调的是,要使用先前的方法获得修剪的ConvNet,必须对考虑的每个FLOP计数运行修剪算法。相比之下,我们提出的方法只需学习一次排序,然后使用它来获得不同FLOP计数的ConvNets。ered FLOP count (ˆ⇣l) during learning to evaluate the per-formance of a ranking. We are interested in understandinghow this design choice affects the performance of LeGR.Specifically, we try LeGR targeting ResNet-56 for CIFAR-100 with ˆ⇣l 2 {20%, 40%, 60%, 80%}. As shown in Fig-ure 6, we first observe that rankings learned using differ-ent FLOP counts have similar performances, which empiri-cally supports Assumption 1. More concretely, consider thenetwork pruned to 40% FLOP count by using the rankinglearned at 40% FLOP count. This case does not take advan-tage of the subset assumption because the entire learningprocess for learning α-κ is done only by looking at the per-formance of the 40% FLOP count network. On the otherhand, rankings learned using other FLOP counts but em-ployed to obtain pruned-networks at 40% FLOP count haveexploited the subset assumption (e.g., the ranking learnedfor 80% FLOP count can produce a competitive network15240图4:ImageNet的结果。LeGR与先前的方法相比要好或相当。此外,它的目标是输出一组ConvNets而不是一个ConvNet。详细的数值结果在附录C中。04.4. 迁移学习:Bird-2000我们分析了LeGR在迁移学习设置中的性能,其中我们有一个在大型数据集(即ImageNet)上预训练的模型,并且我们希望将其知识转移到适应较小数据集(即Bird-200)。我们直接按照先前方法的做法在目标数据集上修剪微调网络[68,40]。我们首先使用Bird-200数据集上的微调MobileNetV2和ResNet-50获得的top-1准确率分别为80.2%和79.5%。这与先前方法中报告的值相当[33,41]。如图5所示,我们发现LeGR优于Uniform和AMC,这与第4.2节中的先前分析一致。0图5:Bird-200的结果。05.消融研究05.1. 排名性能和ˆ � l0图6:对超参数ˆ � l的鲁棒性。先前的方法作为参考绘制(参见图3a)。[1] Peter Anderson, Qi Wu, Damien Teney, Jake Bruce, MarkJohnson, Niko S¨underhauf, Ian Reid, Stephen Gould, and15250图7:使用不同的ˆ�和FLOP计数约束,通过学习α和κ,使用LeGR对CIFAR-100的ResNet-56进行剪枝。0对于40%的FLOP计数,我们发现使用或不使用假设1的LeGR对于剪枝网络的性能相似。05.2. 微调迭代0由于我们在学习α-κ对时使用ˆ�来近似�,因此可以预期,ˆ�越接近�,LeGR能够找到的α-κ对就越好。我们使用LeGR对CIFAR-100的ResNet-56进行剪枝,并在三个FLOP计数ˆ�l 2{10%,30%,50%}下学习α-κ。在这种情况下,我们认为�恰好等于ˆ�l。对于ˆ�,我们尝试了{0,50,200,500}。我们注意到,一旦学习到α-κ对,我们使用LeGR-剪枝来获得剪枝后的ConvNet,对其进行�步的微调,并绘制出结果的测试准确率。在这个实验中,�被设置为21120个梯度步骤(60个周期)。如图7所示,结果与我们的直觉一致,即增加ˆ�会有递减的回报。我们观察到,在学习排名的较低FLOP计数水平下,ˆ�对剪枝ConvNet的准确性影响更大,这意味着在低FLOP计数的情况下,微调几步后的验证准确率可能不具有代表性。这是有道理的,因为当剪枝掉很多滤波器时,可以认为网络远离了局部最优点,而微调阶段早期的梯度步骤是嘈杂的。因此,在认为准确率代表完全微调准确率之前,需要更多的梯度步骤。05.3. FLOP计数和运行时间0我们使用ResNet-50和Mo- bileNetV2在PyTorch0.4上使用两种类型的CPU,展示了剪枝在墙时钟时间加速方面的有效性。具体来说,我们考虑了台式机级别的CPU,即Intel i7,和嵌入式CPU,即ARMA57,并使用LeGR作为剪枝方法。输入是一张单通道的RGB图像0图8:延迟降低与FLOP计数降低的关系。FLOP计数降低可以指示延迟降低。0大小为224x224,程序(Python withPyTorch)使用单线程运行。如图8所示,剪枝可以在没有专门软件或硬件支持的情况下产生近线性的加速(斜率约为0.6)。06. 结论0为了缓解在优化大型系统中使用模型压缩时的瓶颈,我们提出了LeGR,这是一种新颖的公式,供从业者通过滤波器剪枝高效地探索准确性与速度之间的权衡。更具体地说,我们提出了学习滤波器范数上的逐层仿射变换,以构建滤波器的全局排序。这种公式解决了无法以可学习的方式比较不同层中的滤波器范数的限制,并为从业者提供了一种有效的方式来获得具有不同FLOP计数的ConvNet架构。此外,我们对所提出的仿射变换公式进行了理论解释。我们使用ResNet和MobileNetV2在包括CIFAR、Bird-200和ImageNet在内的数据集上进行了广泛的实证分析,并展示了LeGR在不同FLOP计数下生成剪枝ConvNet的训练成本较低,同时实现了与最先进的剪枝方法相当的性能。0致谢0这项研究得到了Pittsburgh超级计算中心(PSC)的NSFCCF Grant No. 1815899、NSF CSR Grant No.1815780和NSF ACI Grant No. 1445606的部分支持。0参考文献15260Anton van den Hengel.视觉与语言导航:在真实环境中解释基于视觉的导航指令。在《计算机视觉和模式识别IEEE会议论文集》中,页码3674-3683,2018年。10[2] Stanislaw Antol, Aishwarya Agrawal, Jiasen Lu, MargaretMitchell, Dhruv Batra, C Lawrence Zitnick, and Devi Parikh.Vqa: 视觉问答.在计算机视觉国际会议论文集中,第2425-2433页,2015年。 10[3] Behzad Boroujerdian, Hasan Genc, Srivatsan Krishnan,Wenzhi Cui, Aleksandra Faust, and Vijay Reddi. Mavbench:微型空中飞行器基准测试.在2018年第51届IEEE/ACM国际微体系结构研讨会(MICRO)中,第894-907页。IEEE,2018年。 10[4] Han Cai, Ligeng Zhu, and Song Han. Pro
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- zigbee-cluster-library-specification
- JSBSim Reference Manual
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功