没有合适的资源?快使用搜索试试~ 我知道了~
12287CHEX:CNN模型压缩的通道探索侯泽江1* 秦明海2孙飞2马小龙3<$坤元2徐毅4陈艳光2荣进2谢元2孔孙元11普林斯顿大学2阿里巴巴集团3东北大学4大连理工摘要通道修剪已被广泛认为是降低深度卷积神经网络的计算和存储成本的有效技术。然而,传统的修剪方法具有局限性,因为它们仅限于修剪过程,并且它们需要完全预训练的大型模型。这样的限制可能导致次优模型质量以及过多的存储器和训练成本。在本文中,我们提出了一种新的渠道探索方法,被称为CHEX,以纠正这些问题。与仅修剪策略相反,我们建议在整个训练过程中重复修剪和重新生长通道,这降低了过早修剪重要通道更确切地说:从层内从层间的方面,我们的再生阶段打开了一条路径,用于动态地重新分配通道的数量在所有层的全局通道稀疏约束下。此外,所有的探索过程都是在一次训练中完成的,而不需要预先训练的大型模型。实验结果表明,CHEX可以有效地 减 少各 种 CNN 架 构 在各 种 计 算 机视 觉 任 务 上 的FLOP,包括图像分类,对象检测,实例分割和3D视觉。例如,我们在ImageNet数据集上压缩的ResNet-50模型实现了76%的top-1准确率,而原始ResNet-50模型的FLOP仅为25%,优于之前最先进的通道修剪方法。检查点和代码可在这里。1. 介绍尽管深度卷积神经网络(CNN)在许多计算机视觉任务上取得了经验性的成功,但过高的计算和内存成本阻碍了它们在移动或边缘设备上的部署。因此,*在阿里巴巴集团达摩院实习期间完成的工作†部分工作在阿里巴巴集团实习期间完成。在阿里巴巴集团工作期间完成的部分工作。787776757473721 1.5 2 2.5 3GFLOPS图1. ImageNet上压缩的ResNet-50模型的精度-FLOPs Pareto曲线比较。与以前的方法相比,CHEX显示了性能最好的帕累托边界。并且我们在不预先训练大模型的情况下获得子模型探索模型压缩,在最大限度地保持准确性的同时减少模型中的冗余。在各种模型压缩方法中,通道修剪被认为是在通用硬件上实现实际内存节省和推理加速的有效工具。为了导出子模型,通道修剪移除冗余通道以及连接到这些通道的所有关联滤波器。大多数现有的信道修剪方法[3,13,24,25,27,28,39,53,54,57,70,72,75,80,82]采用渐进式修剪训练流水线:预训练大型模型直到收敛,通过预定义的标准修剪一些不重要的通道,并微调修剪后的模型以恢复准确性。最后两个阶段通常以交错的方式重复执行已经进行了各种尝试来提高修剪效率。基于训练的信道修剪方法[14,40,41,45,48,81]在训练期间对模型参数施加稀疏正则化,例如LASSO或组LASSO然而,这些通常采用的正则化可能不会使参数精确地为零。去除CHEX(Ours)GDPCafeNet眼缝修剪DMCPPFSDSNetMetaPruning瘦身ImageNet Top-1准确度(%)12288××××图2.我们的CHEX方法的说明,该方法在一次训练中从头开始联合优化权重值并探索子模型结构。在CHEX中,子模型中的保留通道和重新生长通道都是活动的,参与训练迭代。许多小但非零的参数不可避免地损害模型精度。虽然这个问题可以通过应用专门的优化器[5,32]或模型重命名技巧[7]来解决,但这些方法需要一个经过良好预训练的大型模型,这与我们提高修剪效率的目标背道而驰。基于采样的方法[11,30,34,51,58,78]直接训练稀疏模型。然而,这些方法可能会受到训练不稳定性的影响,并收敛到次优点[17]。[36,66,67,74]缩短或消除预训练阶段,并在早期阶段或甚至从随机初始化中提取子模型。这些方法不能恢复过早修剪的重要信道,这限制了模型容量并导致不可接受的精度下降。为了纠正上述限制,我们提出了一种称为CHEX的通道探索方法,以获得高精度的子模型,而无需预先训练大型模型或微调修剪模型。与永久删除通道的传输修剪方法[39,53,76,82]相比,我们通过定期修剪和重新生长过程动态调整通道的重要性,这允许恢复过早修剪的通道,并防止模型在训练过程早期失去表示能力从层内从层间这导致子模型结构探索技术,以在给定预算下跨所有层动态地只需从头开始一次训练,我们获得的子模型在相同的FLOPs减少下比以前的方法产生更好的此外,我们的方法的简单性使我们能够推导出一个对CHEX的培训行为进行理论分析,以提供进一步的见解和解释。本文的贡献突出如下:• 我们提出了一种具有三个新特征的信道探索方法CHEX:(1)周期性的信道修剪和重新生长过程,(2)修剪准则(即,基于列子集选择的杠杆分数),以及(3)子模型结构探索技术。• 我们的方法从头开始在一次训练中获得子模型,有效地降低了训练成本,因为它避免了昂贵的预训练-修剪-微调周期。• 实验上,CHEX表现出优越的准确性,根据不同的FLOPs约束(如图1所示),并适用于大量的计算机视觉任务。对于ImageNet上的图像分类,我们的压缩ResNet-50模型减少了4个FLOP,同时实现了76%的top-1准确率,将之前的最佳结果[63]提高了0.7%。对于COCO数据集上的目标检测,我们的方法在SSD模型上实现了2 FLOPs的减少,同时提高了0。比未修剪的基线高7%mAP例如COCO数据集上的分割和ShapeNet数据集上的3D点云分割,我们的方法在Mask R-CNN和PointNet++模型上分别实现了2和11个FLOP的减少,与未修剪的模型相比,质量损失可以忽略不计。• 我们从非凸优化设置的角度提供了CHEX方法的理论收敛性保证,这适用于深度学习。2. 方法我们的方法将现有的CNN模型作为我们的通道探索空间,它提供了最大数量的探索通道。如图2所示,我们描述12289- --- − −-− −DD∈≤--关于我们不 |不|[−|*jC∈≤*j× × ××CCFCC2l ll−1lL{∈ T}Llǁ·ǁ†ǁ·ǁCHEX的训练流程使用3层CNN模型作为示例,其中我们将目标信道稀疏度设置为1至50%。从上到下,这三个层分别包含6、8和10个通道,表示为Conv6810个。我们的方法从一个随机初始化的子模型开始。在训练期间,在周期性间隔的训练迭代(例如,在CHEX中,如果使用预先确定的迭代,则执行信道修剪和重新生长过程,这被称为CHEX中的一个步骤。总共应用N个步骤,每个步骤由以下阶段组成:• 修剪阶段将不重要的信道移除到目标稀疏度。通道的数量经由子模型结构探索技术跨所有不同层重新分配。例如,在图2中,步骤1中修剪的子模型具有架构Conv345,保留24个通道中的12个。稍后可在步骤2中将其调整为Conv2 3 7。这样的适配在循环中跨N个步骤继续。• 在修剪之后,信道重新生长阶段立即重新生长回先前修剪的信道的一部分,其权重值在被修剪之前被恢复到其最近使用的值注意,可以在多个步骤之前修剪重新生长的通道采用衰减调度器来逐渐减少跨N个步骤的再生通道例如,在图2中,步骤1中的通道再生阶段重新激活六个通道,而在步骤2中它仅重新激活四个通道。我们的方法将模型训练和周期性修剪-再生阶段交错进行。由于每一步再生信道的总数都在减少,因此训练中的子模型的计算量逐渐减少,最终收敛到目标信道稀疏度作为算法指南,在算法1中提供了CHEX的伪代码。2.1. 河道修剪期假设CNN包含L个带参数的层{w1,…wL},其中wl∈RHWC×C表示重构后的2卷积权矩阵.Cl−1,Cl,Hl×Wl算法1:CHEX方法概述。1 输入:具有权重的L层CNN模型W=w1,.,wL;目标信道稀疏性S;总训练迭代Ttotal;初始再生长因子δ0;两个连续步骤之间的训练迭代T total;总修剪-再生长步骤Tmax;训练集;2输出:满足目标稀疏度S及其最优权值W的子模型;3 随机初始化模型权重W;4 对于每个训练迭代t[Ttotal],5从模型 权重W中采样小批量并更新模型权重W;6如果Mod(t,T_max)= 0,则7.通过等式{κl,l∈[L]}重新分配子模型中每一层的信道数量。(4);8通过基于CSS的修剪κl Cl,l [L]通道算法2中的剪枝;9通过衰减调度器函数计算信道再生因子;10在算法3中执行基于重要性采样的信道重新生长;假设kl表示第l层的信道稀疏性对于每一层,信道修剪识别具有索引集合l(l=(1κ l)Cl)的重要信道集合,其保留wl中的最重要信息,使得剩余的信道wl,j /l可在对模型准确性具有最小影响的情况下被丢弃。换句话说,信道修剪从w 1中选择可以以最小误差重构原始权重矩阵的最从这个角度来看,通道修剪可以自然地表示为线性代数中的列子集选择(CSS)问题[12]。这为有原则地设计信道修剪准则提供了新的理论指导,而不是依赖于算法。为了严格描述矩阵中最具“代表性”的定义2.1(列子集选择)。 给定一个矩阵wlRK×C,设c C l是要选择的列数。找到wl的c列,用wl表示,这将最小化:wl−wlwl<$wl<$2或表示输入通道数,输出通道数,put通道和内核大小。第l层中的第j个信道表示为wl.也就是说,wl中的列表示卷积中的一个通道用于符号为了简单起见,我们在下文中使用Kl=Hl Wl Cl−1也就是说,wl∈RK×C.[1]我们遵循[68]中引入的结构稀疏性概念。我们的子模型是一个更瘦的密集CNN模型。2为了便于推导,我们将大小为HlWl的卷积权重张量C l−1Cl到大小为Hl Wl Cl−1的矩阵Cl,其中通道被列为整形权重矩阵中的列。其中F和2分别表示矩阵的Frobenius范数和谱范数。由于通道修剪和CSS共享相同的目标,即通过其列的子集最好地恢复完整矩阵,因此我们可以利用CSS的丰富理论基础来导出新的修剪标准。我们的通道修剪阶段在训练期间定期进行,因此我们采用计算高效的确定性CSS算法,称为杠杆分数采样[60]。核心12290ClJ*j不JJG{ }J2Lǁǁ\ T}{1}|∈J[−|JJn=n[V]j,:n对于所有j∈[C];JL∈算法2:基于CSS的信道修剪。1 输入:模型权重wl;修剪比率κl;2 输出:修剪后的层l;3 计算保留通道Cl=)(1−κl)Cl<$;4计算wl的上C_(?)l右奇异向量Vl;没有足够的训练。在训练的早期阶段,修剪决策可能不是最优的,并且一些重要的通道被过早地修剪。因此,在每个修剪阶段之后,我们的方法将先前修剪的通道的一部分在后续训练中更新重新生长的通道如果它们对模型很重要,它们可能会在以后的修剪阶段中幸存下来。5 计算层ll l2ljC.1992年6 保留重要渠道,Tl=Ar gT opK({nl};Cnl);7.从层l中修剪信道{wl,j∈/Tl};算法3:基于采样的信道再生长。1输入:子模型中活动通道的指数l;再生因子δt;2 输出:再生层l;3 通过等式计算重要性抽样概率。(二)对于所有j∈[Cl]\Tl,pl=exp(gl)/n′exp(gl′);a number数of iterations迭代of training训练.此外,通道再生阶段使模型在训练期间具有更好的表示能力,因为模型容量不像一次性修剪方法那样永久受限。为了完成重新生长阶段,我们需要为新激活的通道分配适当的权重值。一个简单的选择是为稳定训练分配零值,因为重新生长的通道不会影响模型的输出然而,我们发现,重新生长通道与零将接收零梯度在随后的训练迭代。这是不期望的,因为再生的通道将保持停用状态,并且该方法退化为4计算再生通道数kl=)δt Cl<$;5 执行重要性抽样l=Multinomial(pl;kl);6 恢复所选通道{w∈l,j∈Gl};7将信道{w∈Gl,j∈Gl}重新分配到层l;涉及矩阵W1的杠杆分数,其定义如下:定义2.2(杠杆分数)。设VcRC×c是wl的前c个右奇异向量(c表示从wl中选择的列数). 然后,第j列的杠杆分数为:[Vc]j:表示Vc的第j个r。杠杆分数采样算法对与w1的最大c个杠杆分数相对应的w1的c列进行采样。 尽管它很简单,[60]中的理论分析表明,这种确定性解可证明获得方程的接近最优的低秩近似误差。(一).基于上述分析,我们提出了一种基于CSS的杠杆分数抽样的频道修剪方法,如算法2所示。当给定层l的修剪比率κ l时,我们需要选择并保留[(1−κ l)C l|重要渠道。 我们首先计算top [(1 − κ l)C l|权[74 ]第74话.基于我们的消融,我们发现最好的方案是,新激活的通道恢复其最近使用的(MRU)参数,这是最后的值之前,他们被修剪。我们不断地维护修剪通道的权重值的副本,以防它们在未来的再生阶段中重新生长。注意,重新生长阶段可以重新生长在多个步骤之前被修剪的信道,而不是仅仅重新激活在当前重新生长阶段之前的修剪阶段被修剪的信道。为了确定要再生的通道,一种简单的方式是从候选集合j[Cl]1执行均匀采样。然而,均匀采样不考虑子模型中幸存的活动通道与要重新生长的候选通道相反,我们提出了一个重要性采样策略的基础上,信道正交性的重新生长,如算法3所示。信道正交性自动地意味着线性独立性,这有助于避免新重新生长的信道位于活动信道的跨度中的平凡重新生长。信道正交性还可以实现信道分集并提高模型精度[1]。形式上,我们用矩阵表示层l中的有源信道,WLL候选信道中的信道的正交性矩阵权重矩阵w的奇异向量。然后,我们调用-Tj j按照定义2.2计算该层所有渠道的杠杆得分,并按降序排列Fi-可以通过经典的正交投影公式[26]来计算相对于活动通道设置:最后,我们确定要保留的一组重要渠道,Jl=lT l†LT- 是的(二)Tl = ArgTopK({l};[(1 − κ l)C l|),它给出了在-j jwTl(wTlwTl)wTlwj2具有最高(1κl)Cl的通道的骰子利用wl的分数。其余的排名最低的通道被修剪。2.2. 河道再生期由于该方法从随机初始化的模型进行训练,并且修剪阶段可以基于被随机初始化的权重。较高的正交性值指示信道更难以被其他信道近似,并且可以具有更好的机会被保留在未来步骤的CSS修剪阶段中因此,可以以相对较高的概率对相应的信道进行采样。我们使用正交值来设计重要性抽样分布,L212291J{1}|∈\T}[|Ⓢ2002年C0Σǁ∇2JJJ∈[−|JJJ'J1个以上2不 公司简介δ0Wt∈Rd是第t个训练迭代的模型参数,κ l=.[1][2][3][4]√t=0重新生成信道概率P1被给出为:P1 = P2-P3-P4-P5-J Jp l= exp(λ l)/λexp(λ l′)。(三)在训练期间考虑改变层重要性。多亏了我们的再生阶段,探索空间,我们的方法可以动态地重新分配然后,根据分布多项式(p lj)对要再生的通道进行采样[C l]l;δ t C l),其中-其中δ t是再生因子,如下所述。在再生阶段,我们采用余弦衰减方案-从不太重要的层到更重要的层的通道,导致更好的子模型结构。3. 理论证明我们现在为CHEX提供收敛保证逐步减少再生渠道的数量,子模型收敛到目标信道稀疏度,法设F(W)=ExD[f(W;x)]是损失函数训练的结束具体地说,在第t次的再生因子深度学习任务,其中x是a之后的数据步长计算为:1 .一、cos.t·π,分布D和E[·]是期望。此外,让其中δMax是初始再生因子,T表示并且mt∈ {0,1}d是二进制信道掩码向量,0最大值t= 1,···,T. 显然,量W <$m ∈ Rd是一个子-total exploration steps,并且RQT表示调用修剪-重新生长步骤的频率。2.3. 子模型结构探索起始模型架构可能没有平衡的层分布。有些层对模型精度更重要,需要保留更多的通道,而其他一些层可能包含过多的通道。为了更好地保持模型的准确性,我们的方法在每个修剪阶段动态地重新分布不同层的幸存通道这种重新分布被称为子模型结构探索。受[48]的启发,我们使用批归一化(BN)3[33]中的可学习缩放因子来反映层重要性。表示所有通道的BN比例因子,所有层通过r ={γ1,..., γL},γl∈ RCl,t t从Wt修剪的模型,其中表示逐元素乘积。证明了当学习速率适当时,CHEX将以O(1/ T)由于篇幅所限,我们将其证明放在附录中。第一项提案(保证趋同)。假设损失函数F(W)是L-光滑的,采样的随机梯度是无偏的,方差有界,每个掩码引入的相对误差有界,即,W−Wm t2≤δ2<$W<$2和 <$$> F( W ) − <$ F ( W )<$ mt <$2≤对于常数δ∈[0,1]和ε∈[0,1],如果学习率η=σ<$L(T+1),其中C0=E[F(W0)],则通过CHEX获得的子模型将如下收敛:不目标信道稀疏度。我们通过将所有缩放因子按降序排列并保留通道的前1%1E[F(WT+ 1t=04σ法LC0[mt)]2L2δ2然后,层l的稀疏度kl被给出为:Σ≤(1−1)2简体中文(T+ 1)(1−1)2E[Wt2]。(五)其中1{γl≤q(Γ,S)}为0,如果γl> q(Γ,S)和1,如果γl≤备注。 如果没有修剪(即,mt=1Rd)在训练过程中,它认为δ= 0,θ= 0。代以q(r,S).q(r,S)表示所有参数的第S个百分位数,比例因子r。因此,子模型的每一层中的通道的数目被获得为(1κ l)Cl。[48]依赖于LASSO正则化来识别不重要的通道,它以一次性方式从完全预训练的模型中提取子模型,并且随后的微调过程在没有自适应的情况下修复架构。相比之下,我们的方法提出了一个基于CSS的修剪标准,而不需要任何稀疏正则化。我们提倡一种重复修剪和再生的模式,而不是只修剪的策略。我们使用BN比例因子仅用于重新分配通道的数量。 我们3BN将仿射变换应用于标准化的输入特征图:X输出=γX输入+β,其中γ/β是可学习的缩放/移位因子。不Jδt=j∈[Cl]1{γl≤q(Γ,S)}不12292ǁ∇ ǁ→/在(5)中,我们发现CHEX方法可以精确地收敛到稳态解,即,当T增加到无穷大时,E[F(WT)2] 0当利用稀疏信道掩码时,δ0和δ 2= 0成立。在这种情况下,掩模引起的误差将不可避免地影响训练的子模型的准确性,即,常数δ和δ将影响上界(5)中第二项的大小。4. 实验为了评估CHEX的有效性和通用性,我们使用不同的CNN架构对各种计算机视觉任务进行了实验。所有实 验 都 在 PyTorch 框 架 上 运 行 , 基 于 NVIDIA 的DeepLearningExamples [59]12293减少减少××方法PT FLOPs Top-1 Epoch方法PT FLOPs Top-1 EpochResNet-18 ResNet-50方法FLOPsAPAP50AP75APSAPMAPLSSD对象检测基线[47] 0%25.2 42.7 25.8 7.327.1四十点八DMCP [15] 50%24.1 41.2 24.7 6.725.6三十九点二CHEX-150%25.943.0 26.8 7.827.8四十一点七CHEX-275%24.341.0 24.9 7.125.640.1Mask R-CNN对象检测基线[18] 0% 37.3 59.0 40.2 21.9 40.9 48.1CHEX50%37.358.5 40.4 21.7 39.0 49.5Mask R-CNN实例分割基线[18] 0% 34.2 55.9 36.2 15.8 36.9 50.1CHEX50%34.555.7 36.7 15.9 36.1 51.2(b)第(1)款方法#点 FLOPs质量3D形状分类(质量即准确性)基线[61] 1公里0% 92.8%CHEX1k 87%92.9%3D零件分割(质量是类/实例mIoU)基线[61] 2k 0% 82.5%/85.4%(一)表1.(a):ResNet在ImageNet数据集上的结果 (b):COCO 2017上SSD和COCO 2014上Mask R-CNN的结果对于目标检测,我们评估边界框AP。例如分割,我们评估掩模AP。(c)PointNet++在ModelNet40数据集上进行3D点云分类和在ShapeNet数据集上进行分割的结果Tesla V100 GPU。我们设δ0= 0。其中δ0表示初始再生长因子,并且δT是两个连续迭代之间的训练迭代次数。修剪-再生步骤。为了保持我们的方法简单和通用,上述超参数在我们的实验中保持恒定。我们在默认设置中设置其余的超参数,并在附录中指定它们。在本文中,FLOP是通过以下[20]将乘法和加法计数为一个操作来计算的。4.1. 图像识别对于图像识别,我们将CHEX应用于ResNet [20],在ImageNet [4] 上 具 有 不 同 的 深 度 基 线 ResNet-18/34/50/101模型分别具有1.8/3.7/4.1/7.6 GFLOP,分别具有70.3%/73.9%/77.8%/78.9%的top-1准确度。如表1(a)所示,在相同的FLOP下,CHEX实现了比现有技术的信道修剪方法明显例如,与MetaPruning[49],DCMP [15]和CafeNet [63]相比,我们的精简ResNet-50模型减少了4个FLOP,分别提高了2.6%,1.6%和0.7%的top-1准确度。另一方面,在相同的目标精度,CHEX实现更高的FLOPs减少。例如,CHEX在ResNet-101模型上实现了4FLOP减少,其中top-1为77.6%私营部门筹资和伙伴关系司[42]Y1.27G 67.4%270GBN [75]Y2.4G 百分之七十六点二350SCOP [65]Y1.10G 69.2%230LeGR [3]Y2.4G 百分之七十五点七150[22]第二十二话Y1.04G 67.1%200SSS [32]N2.3G 百分之七十一点八100[24]第二十四话Y1.04G 68.4%200土耳其旅游局[8]N2.3G 百分之七十六点二240DMCP [15]N1.04G 69.0%150GAL [45]Y2.3G72.0%150ChexN1.03G69.6%250[43]第四十三话Y2.3G 百分之七十五点零570ResNet-34泰勒[57]Y2.2G 百分之七十四点五-泰勒[57]Y2.8G 72.8%-C-SGD [5]Y2.2G74.9%-[22]第二十二话Y2.2G 71.8%200SCOP [65]Y2.2G76.0%230[24]第二十四话Y2.2G 72.5%200每日生活津贴[58]N2.0G 百分之七十四点七120[第72话]Y2.1G 72.9%240咖啡网[63]N2.0G 百分之七十六点九300DMC [11]Y2.1G 72.6%490CHEX-1N2.0G 77.4%250NPPM [10]Y2.1G 73.0%390SCP [34]N1.9G 百分之七十五点三200ADMM [62]2k百分之九十77.1%/84.0%Chex2k百分之九十一82.3%/85.2%12294精度,与最新的工作NPPM [10]相比,其产生2.2×FLOPs减少。表1(a)中的结果也显示了我们的CHEX方法的一个有趣的当我们搜索具有小FLOPs目标的子模型时,最好在较大的模型上开始我们的方法,而不是在较小的 模 型 上 。 例 如 , 将 ResNet-50 模 型 修 剪 到 1GFLOPs,比将ResNet-18模型修剪到1 GFLOPs的准确率高6.6%。这表明,CHEX执行训练时的结构探索更有效地当给定一个更大的参数空间。为了进一步说明这一点,我们通过将CHEX应用于通道数量是ResNet-50模型两倍的模型来进行额外的实验值得注意的是,这个子模型在4.1 GFLOPs时达到了78.9%的top-1准确度。这表明CHEX具有优化现有CNN的潜力。4.2. 对象检测对于对象检测,我们将CHEX应用于COCO2017数据集[46]上的SSD模型[47]。表1(b)总结了不同FLOP降低情况下的性能。我们的修剪模型比基线模型高出0.7%AP(25.9 vs. 25.2),同时实现2×FLOPs降低。12295××××方法Top-1基线73.9%+ 定期修剪和再生74.8%[39]第48话我的世界,我的世界预训练-修剪-微调73.1% 73.8% 74.6%CHEX 75.3% 75.7% 76.0%+ 动态子模型结构探索75.6%+ 基于重要抽样的再生76.0%表2. CHEX中不同组分的消融研究与之前的SOTA通道修剪方法[15]相比,我们的方法实现了1.8%的AP(25.9 vs. 24.1),减少了2倍FLOPs。此外,我们的方法实现了4倍FLOPs减少,AP损耗小于1%。4.3. 实例分割例如分割,我们将CHEX应用于COCO 2014数据集上的Mask R-CNN模型[18]。由于Mask R-CNN是一个多任务框架,我们评估了用于对象检测的边界框AP和用于实例分割的掩码AP。如表1(b)所示,使用我们的方法修剪的模型实现了2 FLOP减少而没有AP损失,即使对于具有挑战性的实例分割任务,其中模型需要正确检测图像中的所有对象,同时精确分割每个实例。4.4. 3D点云除了2D计算机视觉问题外,我们还应用CHEX压缩PointNet++[61],用于ModelNet40 [69]数据集上的3D形状分类和ShapeNet [73]数据集上的3D零件分割。结果示于表1(c)中。在形状分类上,使用我们的方法修剪的模型实现了大约7.5 FLOPs的减少,同时与未修剪的基线相比稍微提高了准确性。在部分分割上,使用我们的方法修剪的模型实现了11 FLOPs的减少,同时与未修剪的基线相比保持类似的mIoU。5. 消融分析我们通过消融研究调查了CHEX方法中不同成分的有效性以下所有结果都是基于ImageNet数据集上将ResNet-50模型修剪消融研究。在表2中,我们研究了CHEX中不同组件的有效性,即周期性通道修剪和重新生长过程、子模型结构探索技术和基于重要性采样的重新生长。基线是一次性早期修剪[74],其中模型在总训练时期的6%之后很早就被CSS修剪,并且没有重新生长阶段。子模型架构基于BN缩放因子并且在后续训练中保持固定。周期性修剪和重新生长过程重复地对重要通道进行采样,并防止通道被过早地修剪。 这带来了0。9%的准确度提高。当每个层中的通道的数量也是表3.在预训练-修剪-微调框架和我们的CHEX方法中,修剪准则对前1精度的影响再生河道设计选择零随机EMA MRU Top-1 74.1% 74.5% 75.5%76.0%再生因子设计选择δ0=0。1δ0=0。2δ0=0。3δ0=0。4全顶-1 75.2% 75.6% 76.0% 75.9%76.0%渠道再生器设计选择恒定线性衰减余弦衰减Top-1 75. 3% 75. 6% 76. 0修枝再生频率设计选择<$T= 1 <$T= 2 <$T= 5 <$T= 10 <$T= 20前一名75.2% 76.0% 75.8% 75.3% 74.9%表4.比较CHEX方法再生阶段的不同设计选择动态调整,而不是坚持在训练中很早就确定的固定结构,我们可以获得更优化的子模型结构,这进一步将准确度提高了0. 百分之八最后,使用等式中描述的重要性采样策略。(3)在再生长阶段采用均匀取样代替均匀取样,将前1位的准确率提高到76%。剪枝准则的影响。我们通过比较CSS与表中的滤波器幅度[39]和BN[48]修剪来3. 正如[28,39,53,57]所建议的,修剪标准是传统预训练-修剪-微调(PPF)方法中的重要因素。事实上,当使用PPF方法时,我们提出的CSS显示出最好的准确性,优于幅度和BN修剪0。8%和1. 5%,分别。另一方面,我们观察到CHEX对修剪标准更鲁棒,因为它提高了所有三个标准的准确性,并且它们之间的准确性差距变得更小:CSS优于幅度和BN修剪0。3%和0。7%,分别。我们怀疑这是因为CHEX可以动态地调整信道重要性,并可以从次优修剪决策中恢复。再生阶段的设计选择。在表4中,我们研究了CHEX的通道再生阶段中不同方案的影响:(1) 再生通道的不同初始化方案我们已经通过使用随机正态分布[19]、零权重、指数移动平均(EMA)权重和最近使用的(MRU)权重初始化重新生长的通道,试验了几种方法。结果表明,MRU产生最好的top-1精度,优于其他三种初始化0的方案。5%1. 9%。(2) 初始再生因子δ0也影响模型质量。直觉上,一个大的再生因子可以维持12296在训练的前期模型容量相对较大如图所示,随着δ0的增加,精度提高了0.8从0. 1比0。3、以更多的培训成本为代价然而,在这方面,当再生因子从δ 0 = 0增加时,我们没有观察到进一步的改善。3到全模型大小,在这种情况下,CHEX中的一个步骤包括修剪到目标通道稀疏度并重新生长所有修剪的通道。这表明,重新生长一小部分以前修剪的如果我们也以节省更多的培训成本为目标,那么渠道可能已经足够全面地探索(3) 我们在每个再生阶段中衰减再生通道的数量,以逐渐限制探索范围我们比较了几种衰减器,包括常数,线性和余弦。余弦衰减调度器执行更好,比其他两个计划的0.7%和0.4%的准确性,分别。使用衰减调度器,训练下的子模型将享受逐渐降低的计算成本。(4) 两个连续的修剪-再生长步骤之间的训练迭代,也会影响模型的质量。一个更小的BQT会在CHEX中产生更频繁的修剪-再生步骤,从而通常会导致更好的准确性我们使用T= 2epoch,因为它提供了最佳的精度。6. 相关作品通道修剪方法可以大致分为三类。(1) 训练后修剪方法遵循三个阶段的流水线:预训练大型模型,修剪重要通道,以及微调修剪后的模型。该类别中的现有技术主要集中于比较不同的修剪标准。用于评估通道重要性的示例性度量包括权重范数[3,21,22,39,70]、几何中值[24]、交叉熵损失的泰勒展开[44,57,75]、最终响应层的差异[76]、特征图重建误差[25,53,82]、特征图秩[43]、KL-发散[52]、具有最大损失减少的贪婪前向选择[72]、特征图判别信息[27,28,35]。我们的方法与这些方法有很大的不同,我们不预先训练一个大型模型。相反,紧凑子模型是在从头开始的正常训练过程中探索的(2) 训练过程中的修剪方法[14,16,30,32,34,40,41,45,48,55,71,77,81]联合执行通道选择和模型训练,通常通过对通道尺度因子进行稀疏正则化并采用专门的优化器来解决它。尽管这些方法通常由于联合优化而产生良好的加速,但其中许多方法[14,40,41,45,48,79,81]在完全预训练的大型模型上执行稀疏正则化训练。因此,这些方法仍然遭受昂贵的训练成本。相比之下,我们的方法不依赖于稀疏正则化。相反,周期性信道修剪和重新生长过程自适应地探索信道训练中的重要性(3) 早期修剪方法在随机初始化或训练的早期阶段压缩模型[9,36,50,56,64,66,67,74]。虽然训练成本降低,但基于训练不足的模型权重的一次性修剪可能无法正确反映信道重要性,并且模型表示能力在开始时过早降低,导致显著的准确性损失。相比之下,所提出的方法可以恢复过早修剪的通道,并更好地保持模型的容量。基于AutoML或NAS的修剪方法自动搜索CNN每层中的最佳通道数量[23] 使 用 强 化 学 习 以 分 层 方 式 搜 索 压 缩 策 略 。MetaPruning [49]预训练一个超网络来预测候选修剪模型的权重NetAdapt [70]逐步将预先训练的模型适应移动平台,直到满足资源预算。DMCP [13]提出了一种通过将信道 修剪建模 为马尔可 夫过程的可 微搜索方 法CafeNet [63]提出了用于一次性模型宽度搜索的局部自由权重共享。[29]提出了一种用于优化多维压缩策略的高斯过程搜索。这些方法通常依赖于预先训练的超网,并需要一个单独的搜索过程,涉及大量的搜索评估迭代。相比之下,CHEX执行子模型结构学习以及权重优化,使其比基于搜索的方法更有效通道修剪也已被纳入NAS中,以进一步调整搜索到的架构,以实现不同的延迟目标[2,31]。由于CHEX不会增加训练时间,因此可以将其用作AutoML中的一个步骤。7. 结论我们提出了一种新的通道探索方法CHEX,以降低深度CNN在训练和推理方面的计算成本。CHEX(1)基于周期性的修剪和重新生长过程动态地调整信道重要性,这防止了重要信道被过早地修剪;(2)在全局稀疏性约束下动态地重新分配信道的数量,以在训练期间搜索最优的子模型结构。通过提出一种基于列子集选择的剪枝准则和一种基于通道正交性的重要性采样的再生长准则,设计了剪枝和再生长过程中的组件。这使我们能够在一次训练中从头开始获得高精度的子模型,而无需预先训练大型模型或需要额外的微调。在多个深度学习任务上的实验表明,与最先进的方法相比,我们的方法可以有效地降低各种CNN模型的FLOP,同时实现更高的准确性。鸣谢本工作由阿里巴巴集团通过阿里巴巴研究实习生项目提供支持。12297引用[1] Nitin Bansal,Xiaohan Chen,and Zhangyang Wang.在训练深度cnn时,我们能从正交正则化中获得更多吗?Proceedings of Advances in Neural Information ProcessingSystems,2018。4[2] Han Cai,Chuang Gan,Tianzhe Wang,Zhekai Zhang,and宋涵。一次性:训练一个网络并使其专业化以实现高效部署。2020年学习表征国际会议论文集。8[3] Ting-Wu Chin,Ruizhou Ding,Cha Zhang,and DianaMar-库列斯库。通过学习全局排名实现有效的模型压缩。IEEE计算机视觉与模式识别会议论文集,2020年。一、六、八[4] Jia Deng,Wei Dong,Richard Socher,Li-Jia Li,KaiLi,and Li飞飞Imagenet:一个大规模的分层图像数据库。IEEE计算机视觉和模式识别会议论文集,第248-255页,2009年。6[5] 小寒丁、桂光丁、玉辰郭、军公韩用于修剪具有复杂结构的非常深的卷积网络的向心sgd。IEEE计算机视觉和模式识别会议论文集,第4943-4953页,2019年。二、六[6] 丁小寒、丁贵光、郭雨辰、韩军公、和严成刚。用于破坏性cnn宽度优化的近似oracle过滤器修剪。国际机器学习会议论文集,2019年。6[7] 丁晓涵,郝天祥,谭建超,刘继,宫涵,郭雨辰,丁桂光。基于记忆和遗忘解耦的cnn通道无损修剪IEEE/CVF计算机视觉国际会议论文集,2021年。二、六[8] 董轩逸和杨毅。网络修剪通过trans-可成形架构搜索。神经信息处理系统,第7596[9] 乔纳森·弗兰克尔和迈克尔·卡宾。彩票假设:寻找稀疏、可训练的神经网络。2019年学习表征国际会议主办单位。8[10] 高尚乾,黄飞虎,蔡卫东,黄恒。通过性能最大化进行网络修剪IEEE/CVF计算机视觉和模式识别会议论文集,第9270-9280页,2021年。6[11] 高尚乾,黄飞虎,裴健,黄恒。深度神经网络资源约束下的离散模型压缩IEEE/CVF计算机视觉和模式识别会议论文集,第1899- 1908页,2020年。二、六[12] Ming Gu和Stanley C Eisenstat.高效算法计 算 强 等 级 揭 示 QR 因 子 分 解 。 SIAM Journal onScientific Computing,17(4):848-869,1996. 3[13] 郭金阳、欧阳万里、徐东。信道修剪由分类损失和特征重要性指导AAAI的进展,2020年。1、8[14] 金阳 郭、 万里 欧阳 和董旭。多-dimensionalpruning : 一 个 统 一 的 框 架 模 型 压 缩 。IEEE/CVF计算机视觉和模式识别会议论文集,第15081、8[15] Shaopeng Guo,Yujie Wang,Quanquan Li,a
下载后可阅读完整内容,剩余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直接复制
信息提交成功