没有合适的资源?快使用搜索试试~ 我知道了~
1学习过滤器修剪标准深度卷积神经网络加速杨和1丁宇航2刘平1朱林超1张汉旺3杨毅1雷勒悉尼科技大学2百度研究3南洋理工大学yang.he-student.uts.edu.au,{dyh. ustc. uts,pino. pingliu,zhulinchao 7}@gmail.comhanwangzhang@ntu.edu.sg,yee.i. gmail.com摘要滤波器剪枝在神经网络的压缩和加速中有着广泛的应用.现有的方法通常利用预定义的修剪标准,如klp-范数,修剪不重要的过滤器。这些方法有两个主要的局限性。首先,现有的方法没有考虑滤波器在层间分布的多样性。为了从粗层次到细层次提取特征,不同层次的滤波器具有不同的分布。因此,对不同的功能层使用相同的剪枝准则是不合适的。其次,目前流行的逐层打印方法独立地、顺序地处理每一层,没有考虑到网络中的所有层图1.(a) 以前的过滤器修剪方法手动选择一个共同做出最后的预测。本文提出了学习滤波剪枝准则(LFPC)来解决上述问题。具体来说,我们开发了一个可微修剪标准采样器。该采样器是可学习的,并通过从采样标准获得的修剪网络的验证损失来优化通过这种方式,我们可以自适应地为不同的功能层选择合适的修剪此外,LFPC在评价抽样准则时,同时综合考虑了各层的贡献。实验验证了我们的方法在三个图像分类基准。值得注意的是,在ILSVRC-2012上,我们的LFPC在ResNet-50上减少了60%以上的FLOP,而前5位精度损失仅为0.83%1. 介绍卷积神经网络在各种计算机视觉研究应用中取得了重大进展[43,15,47]。然而,大多数这些手动设计的体系结构,VGG [43],ResNet [15]通常具有巨大的模型大小和沉重的计算成本。很难在场景中部署这些模型,*通讯作者。标准并将其应用于所有层;(b)我们的修剪方法学习基于滤波器分布的不同层的适当标准在蓝色虚线框中,不同颜色的实心框表示不同的修剪标准。没有阴影的黄色框对应于网络中未修剪的层,而有阴影的是通过选定的修剪标准修剪的层。要求实时回复近年来,关于模型压缩和加速的研究不断涌现。由于其有效性,修剪策略在以前的研究中引起了关注[14,27,20]。修剪的最新进展可分为两类,即,[14]和过滤器修剪[27]。与权重修剪相比,过滤器修剪是首选,因为过滤器修剪可以使修剪后的模型更具结构性并实现实际加速[20]。现有的过滤器修剪方法遵循三阶段流水线。(1)训练:在目标数据集上训练一个大模型。(2)修剪:基于特定的标准,修剪来自预训练模型的不重要的过滤器。(3)微调(重新训练):修剪后的模型被重新训练以恢复原始性能。在这三个阶段中,选择合适的修剪标准是关键.然而,以前的作品有一些缺点,在实际场景中可能不是最好的选择。第一,2009先前修剪方法图像我们的修剪方法图像标签标签剪枝准则剪枝准则图像图像标签标签网络层修剪后的图层前向过程修剪过程2010我们的工作是手动指定修剪标准,并对不同的层使用相同的修剪标准。如[52]所示,不同的层具有不同的滤波器分布和各种功能。较低的层倾向于提取粗水平的特征,例如线、点和曲线,而较高的层倾向于提取细水平的特征,例如常见的对象和形状。在这种情况下,为所有功能层固定一个第二,流行的方法以贪婪的逐层方式修剪网络,即,不同层的修剪过程是彼此独立的。考虑到在训练和推理期间,所有层的过滤器协同工作以做出最终预测,自然建议以协同而不是独立的方式进行修剪。换句话说,优选的是,可以同时评估所有层的滤波器重要性。我们提出了学习过滤器修剪标准(LFPC),2. 相关工作以前的工作修剪可以分为权重修剪和过滤器修剪。权重修剪[14,13,12,48,2,56,6]专注于修剪过滤器的细粒度权重,从而导致模型中的非结构化稀疏性。相比之下,过滤器修剪[27]可以实现结构化稀疏性,因此修剪后的模型可以充分利用高效的基本线性代数子程序(BLAS)语言来实现更好的加速。考虑到如何评价过滤器重要性,我们可以将过滤器剪枝方法大致分为两类,基于权重的标准和基于激活的标准。此外,修剪算法还可以按修剪的频率粗略地分组,即,贪婪修剪和一次性修剪。我们在Tab中说明了1.一、解决上述问题。LFPC的核心组件是可区分标准采样器(DCS),其目的是为不同的层采样不同的标准这算法标准W|一频率ω |G由于采样器是可微的,因此可以有效地更新以找到适当的标准。首先,DCS为所有层提供了一个可学习的标准概率对于每一层,DCS根据过滤器和准则概率进行准则前向,得到准则特征图准则转发的过程见第3.2.3.在对所有层进行准则后,我们得到准则损失,并将其用作监督信号。准则损失可以被反向传播以更新准则概率分布,从而更好地拟合网络的滤波器分布。与以往的逐层剪枝方法不同,该方法通过准则损失同时考虑所有层和所有剪枝准则。在完成训练DCS之后,优化的标准作为网络的修剪标准,如图所示。1.一、剪枝后,我们对剪枝后的模型进行一次微调,以得到一个高效准确的模型.捐款. 捐款概述如下:(1) 我们提出了一个有效的学习框架,学习过滤器修剪标准(LFPC)。该框架可以学习为每个功能层选择最合适的修剪标准。此外,所提出的可区分准则采样器(DCS)可以端到端地训练,并且在修剪期间同时考虑所有层。据我们所知,这是该研究方向的第一项工作。(2) 在三个基准测试上的实验证明了LFPC的有效性。值得注意的是,它将ResNet- 110的速度提高了两倍,甚至比CIFAR-10的相对精度提高了0.31%。此外,我们在ResNet-50上减少了60%以上的FLOP,而前5个精度损失仅为0.83%。PFEC [27]、SFP [18]、FPGM [20] W O[39]第51话:我的世界[32]第一次,他是一个很有才华的人,也是一个很有才华的人。[30]第41话:我的世界[22],[23],[24],[25],[26],PRE [39]、DCP [57]、LPF [23]、A G[53]第五十三章:你是我的女人表1.不同类别的过滤器修剪算法。“W” and重量标准。一些方法[27,18,51,20,17,21,50]利用过滤器的权重来确定过滤器的重要性。[27]修剪具有小范数的滤波器。[18]使用了N2-范数准则来选择滤波器并对这些选择的滤波器进行软修剪。[51]在批量归一化(BN)层的缩放参数上引入稀疏性以修剪网络。[20]声称应该修剪几何中值附近的滤波器All theworks utilize the same pruning criteria for different layersand do not take into account that different layers havevarious functions and different filter distributions.激活标准。 一些作品[32,36,22,39,10、45、54、57、23、19、30、29、38、24、41]利用火车-检查数据和过滤器激活以确定修剪的过滤器。[45]采用主成分分析(PCA)方法来指定网络的哪一部分应该被保留。[36]建议使用来自下一层的信息来指导过滤器选择。[10]最小化训练集样本激活的重构误差,并应用奇异值分解(SVD)来获得滤波器的分解。[49]探讨了不同特征图中的线性关系,以消除相关性中的冗余。2011n=1OO O O卷积滤波器贪婪和一次性修剪。 贪婪剪枝[53,5],或预言剪枝,意味着剪枝和再训练应该多次操作。虽然贪婪修剪有利于准确性,但它是耗时的,并且需要大量的计算资源。相比之下,一次性修剪[20,27]修剪网络一次,重新训练一次以恢复准确性。它比贪婪剪枝方法效率更高,但需要仔细选择剪枝准则.本文主要研究一次性剪枝。其他修剪和搜索方法。一些作品使用强化学习[19,23]或元学习[33]。用于修剪。相比之下,我们专注于通过差分采样器学习不同层的正确修剪标准[4]提出了向心SGD,使多个过滤器收敛到一个点。 [54]这是一个全球性的骗局。ing方法,但修剪的神经元的重要性没有传播。我们的学习标准的想法与神经架构搜索(NAS)作品[58,31]和Autoaugment [3]有一些相似之处,不同之处在于我们的搜索空间是修剪标准,而不是网络架构或增强策略。3. 方法3.1. 预赛我们假设神经网络有L层,并且我们将第l个卷积层的权重表示为W(l)∈RK×K×C(l)×C(l),其中K是核大小,C(l)和C(l)无评分用分数修剪过滤器正常向前标准前瞻向后标准标准空间标准分布使用标准正常向前标准向后更新标准损失标准前瞻图2.标准在网络中向前和向后。灰色框是正常的过滤器。初始化三个层的标准概率分布,如大橙色阴影所示。在使用四个标准进行修剪之后,我们为每一层获得四个“修剪版本”,它们被表示为紫色,绿色,橙色和蓝色的盒子。这些过滤器用于向前执行标准。然后我们得到验证集上的准则损失其中L( ·)是标准损失函数(例如,交叉入口损失),C(·)是从过滤器集合生成的网络的计算成本,并且r是计算成本与交叉入口损失的比率。在修剪网络和原始未修剪网络之间。I OI O分别是输入和输出通道的数量。在这样,W(l)∈RK×K×C(l)3.2. 学习过滤器修剪标准我我表示第i个滤波器,卷积层我们将I和O表示为输入,输出特征图,并且I∈C(l)×H(l)×W(l)和O∈在本节中,我们说明了我们提出的LFPC,它可以自动和自适应地选择一个合适的cri。我我我C(l)×H(l)×W(l),其中H()和W()分别是特征图的高度和宽度。第i层的卷积运算可以写为:Oi=W(l)<$Ifor1≤i≤C(l),(1)基于其各自的过滤器分布对每个层进行过滤第整个学习过程如图所示。二、3.2.1修剪标准I O假设h,e滤波器集合F由网中的所有滤波器e,rs功:F=W(l),i∈[1,C(l)],l∈[1,L]. 划分为了简单起见,我们引入基于以下的修剪准则:Lthlay e,r. 中的滤波器表示为滤波器集I OF(l)=W(l), i∈[1,C(l)].在l层,修剪crite-F分成两个不相交的子集:保持的滤波器集合K和re-移动过滤器集合R,我们有:KR=F,KR= F。(二)现在我们的目标变得明确了。滤波器剪枝的目的是在稀疏性约束下最小化损失函数值。 给定数据集D={(xn,yn)}N其中xn表示第n个输入,yn是相应的输出,第i O个rion,表示为Crit(l)(·),用于获得过滤器的重要性然后我们有score( l) = Crit( l) ( F( l) )(4)其中score(l)∈RC(l)是第l层中滤波器的重要性得分向量。 例如,c,准则[27]可以表示为Crit(l)(F(l)) 为约束优化问题可以公式化为:(l)(l)(l)、(l)暴击ΣN(Wi )= Wi 对于i∈[1,CO],最小L(K;D)=最小1K K Nn=1L(K;(xn,yn))(3)然后基于score(l)进行过滤器修剪:keepid(l)= Topk(score(l),n(l))C(K)2012S.T. C(F)≤rK(1)= Prune(F(1),keepid(1)),(五)2013候选修剪层通过标准O我S概率p1 p2 p3p4p1 p2 p3 p4输入要素我是说+p1 p2 p3 p4标准评分过滤器评分过滤器对齐的权重总和获取分数向前修剪图3.标准在层内向前不同颜色的框表示不同的修剪标准。首先,我们根据不同的标准评估过滤器的重要性其次,我们修剪过滤器与小的重要性得分,并得到四个版本的修剪层与不同的概率。之后,输出特征图是修剪层的四个特征图的对齐加权和。其中n(l)是要保留的过滤器的数量,并且T_opk(·)基于其重要性得分返回k个索引被表示为keepid(l)。Givenkeepid(l),PruneK·)使用keepid(l)中指定的索引来保存关键过滤器,并修剪其他过滤器。修剪之后的滤波器集合表示为K(1)。3.2.2空间复杂性如果我们想在第l层中保留n(l)个滤波器,这必须计算C(l)个滤波器,那么选择的数量可以是算法1:LFPC的算法描述输入:训练数据X,验证数据Y;带参数的预训练模型W ={W(l),l≤l≤L};S候选准则和准则参数α;计算成本的期望比率r;输出:紧凑型模型及其参数W1forepoch←1 toepochmaxdo2forl←1 toLdo3基于Eq.的样本标准7;4用公式计算标准特征9和r;.(l)国际劳工组织CO=n(l).ΣC(l)!哦,在哪儿n(l)! (C(l)−n(l))!表示com-5端6根据Y使用等式更新α11人;7端bination [1]. 对于那些经常使用的CNN架构,选择的数量可能惊人地大。. 对于x-648得到最终准则集T并进行剪枝;9用X重新训练修剪后的模型,并获得W。例如,从64个过滤器层中修剪10个过滤器,10151,473,214,816个选择。 这一数字将增加如果考虑到更多的层因此exp((log(pi)+oi)/τ)是不可能从头开始学习修剪标准为了-pi=Sexp((log(p)+o)/τ)与此同时,在以前作品[27,20]的建议标准的帮助下,我们可以减少标准空间复杂性-. C(l)j=1j jS.T. oi=−log(−log(u))u<$U(0,1)(七)伊蒂从领养的On(l)到S,也就是我们其中U(0,1)是0和1之间的均匀分布,u是来自分布U(0,1)的样本,τ是softmax温度。 We表示p∈=[p∈1,. -是的-是的 ,pj,. -是的-是的]作为3.2.3可区分标准采样器假设在准则空间中有S个候选准则,我们可以用α(l)∈RS来表示第l层可能准则的分布。选择第i个标准的概率可以用公式表示为:Gumbel-softmax分布改变参数τ将导致不同的p值。 当τ→∞时,p→ ∞成为统一分布. 当τ→0时,来自p的样本变成单次的,并且它们与来自猫的样本相同经济分布[25]。标准向前。准则的说明.exppi=S(l)我.ΣΣ其中 1≤i≤S(6)(l)对于第l层,如图3所示。为了简单起见,我们重写了Eq。4和方程式 5作为K(1)= g(F(1),Crit(1),n(1))。为第l层,其具有S个采样的j=1expαj然而,由于Eq。6需要从离散采样公式为:K(l)=g(F(l),Crit(l),n(l))对于s∈[1,S](8)S s概率分布,我们不能反向传播梯度,通过pia(l)。为了允许反向传播,其中,Crit(l)表示利用第s次修剪从[9]中,我们应用Gumbel-Softmax [25,37]重新制定当量6、Eq。第七章:输出特征图标准分布P2P4P1P3α2014S标准,以获得第l个过滤器的重要性得分层,K(l)是在第s个准则下保持的滤波器集合。到2015SSO啊,...... 哦年代我sssS在训练过程中综合考虑每个标准的贡献,输出特征图被 定 义 为 来 自 不 同 K( l ) 的 特 征 图 的 对 齐 加 权 和(AWS),其可以被公式化为:DCS培训后通过选择具有最大概率的准则,我们得到所有层的最终准则集T。然后,我们进行一个传统的修剪操作的基础上的优化标准T得到修剪网络。然后重新训练修剪后的网络以获得OAWS=ΣSs=1Align(ps×Os),(九)最终精确剪枝模型。整个过程在Alg中显示。1.一、Align(O年代我′)=O(l)i∈ [1,n(l)].s,keepids[i]其中OAWS是层r的标准特征图,ps是第s个标准的概率,×表示标量乘法,O 是K(l)的输出特征图,并且O是对齐的特征。对于第二公式,keepid(l)[i]是keepid的第i个元素(等式10)。5)在lth层r中的s th标准下。为了说明Align(·)函数,我们采用图3中的第三个数字例如3紫色的第一通道网络只能添加到第一个通道或- ange网络,而不是绿色和蓝色的。这种操作可以避免来自不同信道的信息的干扰此外,我们有:4. 实验4.1. 实验环境数据集。在本节中,我们在三个基准数据集CIFAR-10、CIFAR-100 [26]和ILSVRC-2012 [42]上验证了我们的加速方法的有效性。的CIFAR-10数据集包含50,000张训练图像和10,000张测试图像,共60,000张32×32彩色图像,分为10个不同的类别。CIFAR-100有100个类,图像数量与CIFAR-10相同。ILSVRC-2012年[42]包含128万张训练图像和50k1000个类的验证图像O=Σˆ ˆ ˆ Σs,1s,2s,n(l)(十)架构设置。由于ResNet具有快捷结构,事实上,现有的作品[7,36,22]声称ResNet具有更少的O<$s,i=K(l)<$I,s∈[1,S],i∈[1,n(l)],冗余比VGGNet [43]和加速ResNet是比加速VGGNet更困难。 所以我们其中O年代我是第i个 K(l)的输出特征,并且k是coni。遵循[8]专注于修剪具有挑战性的ResNet。卷积运算在所有层的标准转发我们可以得到准则损失,如图所示。二、TrainingObjec.这是我的。对于一个L层的网络工作,关键是-正常训练设置。对于CIFAR上的ResNet-10和CIFAR-100,我们使用相同的培训时间表如[55]。在CIFAR实验中,我们运行每个设置RIA参数α=α(1),α(2),., α(L). 我们的目标是找到一个三次,并报告 在ILSVRC-我们要以正确的态度来指导自己能够用于不同的层。具体而言,通过最小化训练损失Ltrain来训练准则网络θα之后,通过最小化验证损失Lval来找到α:最小L值(θθ,α)2012实验中,我们使用默认参数设置,与[15,16]相同,与官方PyTorch [40]示例相同的数据DCS培训设置。基于权重的标准被选为我们的候选标准,他们的效率。具体-αα上,α-范数[27],α-范数[18]和几何方法,中国(11)S.T. θα= arg minLtrain(θα,α),[20 ]第20话标准标准可以是公式-θα(l)(l)(l)(l)(l)其中,θe是最优条件下的优化准则网络L.注册为Crit(Wi )=Wi 第1000章:暴击(Wi)=的αα(l)。. 2模糊准则集α. 训练损失是交叉熵2CO . W(l)− W(l)。对于i∈[1,C(l)]. 注意我们的网络的分类损失。为了进一步考虑修剪网络的计算成本,计算成本的惩罚也包括在验证损失中:j=1。ij.O框架可以扩展到更多的标准。我们根据比较修剪设置所需的FLOPLval =L临界值+λcomp L组分 、(十二)算法和Eq.12为2。我们随机分开训练集的一半作为Eq. 11个国家。我们其中Lcrit是准则网络的标准分类损失,即准则损失,Lcomp是修剪网络的计算损失。λcomp是一个平衡,这两个损失,其细节可以在柔软的材料中找到。这样就可以得到不同计算约束下网络的最优准则参数α2016标准落后。 我 们 在等式中向后Lval。12为α同时协作更新这些参数这一过程的说明如图所示。二、通过Adam优化标准参数,我们使用0.001的恒定学习率和0.001的权重衰减在CIFAR上,我们训练DCS 600个epoch,批量大小为256。在ILSVRC-2012上,我们训练DCS 35个epoch,批量大小为256。等式中的τ。7从5线性衰减到0.1。在训练DCS的过程中,我们固定了预训练的权重[8]以减少过拟合。修剪设置。在训练DCS之后,我们用优化的标准修剪网络,并用完整的训练集微调网络。我们分析一下差异-2017深度方法初始化预训练基线acc. (%)修剪,根据(%)累积↓(%)FLOPsFLOPs↓(%)MIL [7]✗92.3390.741.594.70E731.2[第18话]✗92.63(±0.70)92.08(±0.08)0.554.03E741.532[20]第二十话✗92.63(±0.70)92.31(±0.30)0.324.03E741.5我们✗92.63(±0.70)92.12(±0.32)0.513.27E752.6PFEC [27]✗93.0491.311.759.09E727.6我们✗93.59(±0.58)93.56(±0.29)0.036.64E747.1简体中文[CN]✗92.8090.901.90–50.0[第18话]✗93.59(±0.58)92.26(±0.31)1.335.94E752.6[20]第二十话✗93.59(±0.58)92.89(±0.32)0.705.94E752.6我们✗93.59(±0.58)93.34(±0.08)0.255.91E752.956PFEC [27]✓93.0493.06-0.029.09E727.6NISP [54]✓––0.03–42.6我们✓93.59(±0.58)93.72(±0.29)-0.136.64E747.1简体中文[CN]✓92.8091.801.00–50.0AMC [19]✓92.8091.900.90–50.0[20]第二十话✓93.59(±0.58)93.26(±0.03)0.335.94E752.6我们✓93.59(±0.58)93.24(±0.17)0.355.91E752.9PFEC [27]✗93.5392.940.611.55E838.6MIL [7]✗93.6393.440.19-34.2[第18话]✗93.68(±0.32)93.38(±0.30)0.301.50E840.8反思[34]✗93.77(±0.23)93.70(±0.16)0.071.50E840.8[20]第二十话✗93.68(±0.32)93.73(±0.23)-0.051.21E852.3110我们✗93.68(±0.32)93.79(±0.38)-0.111.01E860.3PFEC [27]✓93.5393.300.201.55E838.6NISP [54]✓––0.18–43.8GAL [30]✓93.2692.740.81–48.5[20]第二十话✓93.68(±0.32)93.74(±0.10)-0.161.21E852.3我们✓93.68(±0.32)93.07(±0.15)0.611.01E860.3表2.在CIFAR-10上比较修剪后的ResNet在“Init pretrain”列中,“Init”和“Init”分别表示是否使用预训练模型作为初始化。“Acc. ↓”是修剪模型与基线模型之间的精度下降,越小越好。在“Acc. ↓”表示模型精度提高。对临时模型和预训练模型进行补间修剪。为了修剪scratch模型,我们利用常规的训练时间表,而无需额外的微调。为了修剪预训练的模型,我们将学习率降低到原始学习率的十分之一。为了进行公平的比较,我们使用与[20]相同的基线模型进行修剪。在重新训练期间,我们使用余弦调度器[35,8]获得稳定的结果。每层的修剪率以与DCS1相同的方式采样,因此我们可以自动和自适应地搜索比率[8]。我们将我们的方法与现有的最先进的加速算法进行比较, [27]第27话,我的心,ThiNet [36],SFP [18],NISP [54],FPGM [20],LFC[44],[49][实验表明我们的LFPC达到了与这些作品相当的性能。我们的实验基于Py- Torch [40]框架。 没有显著的性能差异-1详见补充资料。2018在PaddlePaddle框架中已经观察到了这一点4.2. CIFAR 10对于CIFAR-10数据集,我们在ResNet上测试了深度为32、56和110的LFPC。如Tab.所示。2、实验结果验证了该方法的有效性。例如,MIL [7]将随机初始化的 ResNet-32 加 速 了 31.2% 的 加 速 比 , 精 度 下 降 了1.59%,但我们的LFPC实现了52.6%的加速比,精度下降了0.51%。当我们在ResNet-32上实现与FPGM [20]相似的精度时,我们的加速比远大于FPGM [20]。与SFP [18]相比,当我们修剪随机初始化的ResNet-56的类似FLOP时,我们的LFPC比SFP [18]的准确度提高了1.07%。对于修剪预训练的ResNet-56,我们的方法实现了比CP更高的加速比[22],比CP [22]提高了0.65%的准确性。与PFEC [27]相比,我们的方法将随机初始化的ResNet-110加速了60.3%的加速比,甚至0.11%的准确率。2019初始基线深度法预训练top-1修剪顶部-1基线前5名修剪top-5Top-1 Top-5 FLOPs↓acc. ↓(%) acc. ↓(%)(%)acc.(%)acc.(%)acc.(%)acc.(%)[第18话]✗76.1574.6192.8792.061.540.8141.8[20]第二十话✗76.1574.1392.8791.942.020.9353.5我们✗76.1574.1892.8791.921.970.9560.8DDS [24]✓76.1274.1892.8691.911.940.9531.1ThiNet [36]✓72.8872.0491.1490.670.840.4736.750[第18话]✓76.1562.1492.8784.6014.018.2741.8NISP [54]✓––––0.89–44.0IMP [38]✓76.1874.501.6845.0简体中文[CN]✓––92.2090.80–1.4050.0利物浦[44]✓75.3073.4092.2091.401.900.8050.0ELR [49]✓––92.2091.20–1.0050.0[20]第二十话✓76.1574.8392.8792.321.320.5553.5我们✓76.1574.4692.8792.041.690.8360.8表3. 在ImageNet上比较修剪后的ResNet。“Init Pretrain”和“acc.“↓”与表2含义相同。快速改进,而PFEC [27]实现了21.7%的加速比,精度下降0.61%。我们优越的结果的原因是,我们提出的方法自适应地选择合适的标准,为每个功能层的基础上,各自的过滤器分布。相反,以前的作品[18,22,27]都没有这样做。我们注意到,从零开始修剪模型有时比修剪预训练模型的性能稍好,这与[34]一致。请注意,我们在ResNet-110上实现了比[34]更高的加速比我们推测,优化准则可能会改变随机初始化为这个结果与[11]的结论一致,即适当的初始化对网络至关重要。标准可视化。在CIFAR-10上学习的ResNet-56的修剪标准如图4所示。蓝色、橙色和绿色分别表示用1-范数、2-范数和几何中值修剪该层剪枝后的网络正确率为93.54(±0.14)%,FLOPs剪枝率为53.0%. 在该图中,我们发现基于GM的准则在较高层中更多地采用,而在较低层中优选基于BFP范数的准则。一种解释是,更高层的过滤器倾向于提取语义信息,并且它们的激活在语义上彼此相关[46]。因此,我们的LFPC选择基于关系的147101316192225283134374043464952550 10 20 30 40 50 60数量的滤波器图4.在CIFAR-10上对ResNet-56的学习标准和保留过滤器进行可视化。灰色条带指示修剪前的层。蓝色、橙色和绿色分别表示1-范数、2-范数和几何中值准则。例如,底部的绿色条表示对于第55层中的所有64个滤波器,基于该层上的滤波器分布,自动选择GM准则来修剪这些滤波器的一半。方法对CIFAR-100没有实验结果。当实现相似的加速度比时,我们的LFPC可以获得比候选算法[18]和[20]高得多的精度。这一结果再次验证了我们方法的有效性。标准,而不是基于幅度的标准时,修剪较高层。24.3. CIFAR 100在CIFAR-100上修剪ResNet-56的结果如表14.第一章我们只列出几种方法,2GM是一种基于关系的准则,而GM-范数是一种基于数量的准则,修剪Acc.FLOPs标准不同的过滤器分布见补充资料。表4. 在CIFAR-100上比较修剪的ResNet-56。剪枝前L1范数剪枝L2范数剪枝GM剪枝层索引深度法Acc.(%)↓(%)FLOPs↓(%)MIL [7]68.372.967.63E7百分之三十九点三2020剪枝前用L1范数剪枝用L2范数使用对抗性L1范数剪枝使用对抗性L2范数层索引37我1对抗性47101316192225常规FLOPs精度28表5。对抗性标准分析。“w Adv”和“w/o Adv”3134分别表示是否包含对抗性标准374043461494527550 10 20 30 40 50 60数量的滤波器10 GM13161922图5.传统标准和对抗性标准的可视化2528在CIFAR-10上的ResNet-56灰色条表示层31在修剪之前。不同的蓝色和绿色代表不同的34剪枝标准4043464.4. ResNet on ILSVRC20124952对于ILSVRC-2012数据集,我们在55个数据集上测试了我们的方法。ResNet-50.与[20]相同,我们不修剪投影快捷方式。选项卡. 3显示我们的LPFC优于现有的-L2L1训练时期在ILSVRC-2012上的方法。对于随机初始化的ResNet-50,当我们的LFPC比FPGM [20]多修剪7.3%的 FLOP时,准确度甚至高于FPGM [20]。对于修剪预训练的ResNet-50,当我们修剪60.8%的FLOP时,我们实现了92.04%的前5名准确率。而以前的方法(CP [22],LFC[44],ELR [49])在修剪较少的FLOP(50%)时具有较低的前5个准确度。当ThiNet [36]的加速比低于我们的LFPC时,它的精度也低于该方法的优越性在于考虑了不同层的不同滤波器分布。4.5. 更多探索对抗性标准。为了进一步验证我们的LFPC的有效性,我们将对抗性标准添加到我们的系统中,这是当前修剪标准的对抗性版本。例如,传统的基于范数的准则保持滤波器具有大的范数。相比之下,对抗性的基于范数的标准保持过滤器具有小的Crit(l)(W(l))=Crit(l)(W(l))图6. 在训练标准采样器期间学习的标准。L1、L2和GM分别表示传统的L1-范数、L2-范数和几何中值准则。培训DCS如图所示。六、特定颜色的小条带意味着网络的层在当前时期使用相应的修剪标准。我们发现,采样器逐渐收敛到一个有规律的模式的标准,这为下一步修剪步骤提供了稳定的指导。再培训我们在重新训练期间比较余弦调度器[35]和步骤调度器[20]。当对ResNet-56的FLOP进行47.6%的剪枝时,余弦调度器可以达到93.56(±0.15)%的准确率,而步进调度器可以达到93.56(±0.15)%的准确率。可获得93.54(±0.16)%的准确度。 这表明LFPC可以用余弦调度器实现稍微稳定的结果5. 结论和未来工作在本文中,我们提出了一种新的用于深度CNN加速的学习滤波器修剪准则(LFPC)框架1W(l)对于i∈[1,C(l)Oi与现有方法不同,LFPC明确地包含-忽略层之间的差异,并自适应地选择CIFAR-10上ResNet-56的学习标准是示于图五、在本实验中,我们使用了四个标准,包括:1-范数,2-范数,对抗性1-范数,对抗性2-范数。如Tab.所示。在ResNet-56的55个标准中,对抗性标准只占很小的比例(16.4%)。这意味着我们的LFPC成功地选择了传统标准,并绕过了对抗性标准,这将是我们的LFPC有效性的另一个证据。培训期间的标准一组适合不同层的标准学习标准有效,我们利用Gumbel-softmax使标准采样过程可微。LFPC在几个基准测试中实现了在未来,我们可以考虑将更多的准则应用到LFPC中,并将其与其他加速算法相结合,矩阵分解[28],以进一步提高性能。此外,该方法对移动网等紧凑型互联网也有一定的借鉴意义.层索引1275379105131157183209235261287313339365391417443469495521547573599]中。设置标准(%)标准(%)↓(%)(%)w高级百分之十83.6%58.093.09(±0.09)2021引用[1] A. T. 本杰明和J.J. 奎恩真正重要的证明:组合证明的艺术。27号MAA,2003年。4[2] M. A. Carreira-Perpi na′ n和Y. Idelbay ev.在CVPR,2018年。2[3] E. D. 库布克湾Zoph、D.Mane,V.Vasudevan和Q.诉乐自动扩增:从数据中学习增强策略。在CVPR,2019年。3[4] X.丁氏G.丁氏Y. Guo和J. Han.用于修剪具有复杂结构的非常深的卷积网络的向心sgd。在CVPR,2019年。3[5] X. 丁氏G.丁氏Y.Guo,J.Han和C.燕. 用于破坏性cnn宽度优化的近似oracle过滤器修剪。在ICML,2019。二、三[6] X. Dong,S.Chen和S.锅学习通过逐层优化脑外科医生修剪深度NeurIPS,2017。2[7] X.董,黄,Y. Yang和S.燕.多即少:一个更复杂的 网络,具有更低的推理复杂性。在CVPR,2017年。五、六、七[8] X. Dong和Y. 杨经由可变换架构搜索的网络修剪。NeurIPS,2019。五、六[9] X. Dong和Y.杨在4个GPU小时内搜索一个强大的神经系统结构。在CVPR,2019年。4[10] A.杜比,M。Chatterjee和N.阿胡佳基于核心集的神经网络压缩。arXiv预印本arXiv:1807.09810,2018。2[11] J. Frankle和M.卡宾彩票假说:寻找稀疏的、可训练的神经网络。 2019年,在ICLR。7[12] Y. Guo,中国古猿A.Yao和Y.尘高效DNN的动态网络手术InNeurIPS,2016. 2[13] S.汉,H. Mao和W. J·达利深度压缩:使用修剪、训练量化和霍夫曼编码压缩深度神经网络。2015年,国际会议。2[14] S. Han,J.普尔,J。Tran和W.Dally 学习权值和连接以实现高效的神经网络。InNeurIPS,2015. 一、二[15] K.他,X。Zhang,S. Ren和J. Sun.用于图像识别的深度残差学习。在CVPR,2016年。一、五[16] K.他,X。Zhang,S. Ren和J. Sun.深度剩余网络中的身份映射。在ECCV,2016年。5[17] Y.他,X。Dong,G.康,Y。富角,澳-地Yan和Y.杨深度 卷 积 神 经 网 络 的 渐 近 软 滤 波 器 修 剪 。 IEEETransactions on Cybernetics,第1-11页,2019年。2[18] Y.他,G.康,X.董,Y. Fu和Y.杨用于加速深度卷积神经网络的软滤波器修剪在IJCAI,2018。二五六七[19] Y. He,J. Lin,Z. Liu,H.王湖,澳-地J. Li和S.韩Amc:Automl , 用 于 移 动 设 备 上 的 模 型 压 缩 和 加 速 。 在ECCV,2018。二、三、六[20] Y. 他,P。Liu,Z.Wang和Y.杨通过几何中值的修剪滤波器用于深度卷积神经网络加速。在CVPR,2019年。一二三四五六七八[21] Y. 他,P。柳湖,加-地Zhu和Y.杨Meta过滤器修剪以加速 深 度 卷 积 神 经 网 络 。 arXiv 预 印 本 arXiv :1904.03961,2019。2[22] Y.他,X。zhang和J.太阳用于加速非常深的神经网络的通道修剪。InICCV,2017. 二五六七八[23] Q. Huang,K. Zhou,S.你和你。诺伊曼 学习修剪卷积神经网络中的过滤器。在WACV,2018。二、三[24] Z. Huang和N.王.深度神经网络的数据驱动稀疏结构选择。在
下载后可阅读完整内容,剩余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直接复制
信息提交成功