没有合适的资源?快使用搜索试试~ 我知道了~
神经网络剪枝的重要性估计及其在ResNet-101上的效果对比
11264神经网络剪枝的重要性估计Pavlo Molchanov,Arun Mallya,Stephen Tyree,Iuri Frosio,JanKautz NVIDIA{pmolchanov,amallya,styree,ifrosio,jkautz}@ nvidia.com摘要32神经网络参数的结构修剪减少了30计算、能量和内存传输成本。我们提出了一种新的方法,估计神经元(滤波器)对最终损失的贡献,并迭代地删除那些分数较小的神经元。我们使用第一和第二种方法描述我们的方法的两种变化24泰勒展开近似滤波器第这两种方法都可以在任何网络层上一致地扩展,而不需要每层的敏感性分析,并且可以应用于任何类型的层,包括跳过控制。GFLOPSResNet-34ResNet-50参数(1e7)ResNet-101联系对于在ImageNet上训练的现代网络,我们通过实验测量了通过我们的方法计算的贡献与真实重要性的可靠估计之间的高(> 93%)相关性。修剪与所提出的方法在精度、FLOP和参数减少方面优于现有技术。在ResNet-101上,我们通过删除30%的参数实现了40%的FLOPS减少,ImageNet上的前1名准确率损失了0.02%。代码可在https://github.com/NVlabs/Taylor_pruning上获得。1. 介绍卷积神经网络(CNN)广泛应用于当今的计算机视觉应用中。扩大数据集的大小以及在其上训练的模型是深度学习成功的原因。层的数量从AlexNet [20]中的8个急剧增加到ResNet-152 [11]中的100多个,使深度网络能够在ImageNet [31]分类任务上实现比人类更好的性能从经验上讲,虽然较大的网络表现出更好的性能,可能是由于彩票假设[5],但它们也被认为是严重的过度参数化[34]。CNN的不断增长的大小可能与其在具有有限计算资源的移动或嵌入式设备上的部署即使在云服务的情况下,预测延迟和能耗也是重要的考虑因素。所有这些用例都将受益于-没有修剪泰勒-FO-BN(我们的)SSS [17] Li et al.[23] ThiNet [25] NISP [31] Ye et al.[32个]图1:在ImageNet数据集上修剪ResNets所提出的左下角比较好。非常适合更紧凑的网络的可用性。修剪是一种常用的方法来获得紧凑的网络– after training, some structural portion of the parameters已经提出了各种修剪方法,基于贪婪算法[26,33],稀疏正则化[21,23,32]和强化学习[13]。他们中的许多人相信,权重的大小和它的重要性是密切相关的。我们质疑这种信念,并观察到一个显着的差距,基于权重的修剪决策和经验最佳的一步决策之间的相关我们将注意力集中在扩展先前提出的方法[2,22,27],其中包含新的修剪标准和迭代地从训练模型中删除最不重要的神经元集(通常是滤波器)我们将重要性定义为从网络中删除特定滤波器引起的损耗的平方变化。由于计算精确的重要性对于大型网络来说是非常昂贵的,我们用泰勒展开(类似于[27])近似它,从而产生了一个在标准训练期间随时可用的参数梯度计算的标准。我们的方法很容易实现在现有的框架,以最小的开销。我们的新标准的其他好处包括:a)不前1位误差(%)282611265设置超参数,而不是提供期望数量的神经元进行修剪;b)我们的准则跨网络层的全局一致的尺度,而不需要每层灵敏度分析; c)针对所有神经元并行计算准则的简单方式,而不需要逐层贪婪计算;以及d)将该方法应用于网络中的任何层的能力,包括跳过连接。我们的主要贡献如下:• 我们提出了一种新的方法来估计,与一个小的计算开销在训练中,神经元(过滤器)的最终损失的为此,我们使用在训练期间容易获得的平均梯度和权重值。• 我们比较了我们的方法的两个变体,分别使用一阶和二阶泰勒展开,针对贪婪搜索(我们还发现,使用平方损失作为贡献的度量,与符号差相比,与预言机的相关性更好,准确性更高[22]。Spearman估计的与ResNets上的oracle和ImageNet上训练的DenseNets的相关性显示出显著的一致性(>93%),比以前的方法有很大的改进ODS [17,22,23,27,32],导致改进的修剪。• 在CIFAR-10和ImageNet上训练的各种网络的修剪结果,包括那些具有跳过连接的网络,显示出比最先进的网络有所改进。2. 相关工作降低神经网络计算复杂度的方法之一是训练一个可以模仿较大模型输出的较小模型Hinton等人提出了一种称为网络蒸馏的方法。[15]第10段。这种方法的最大缺点是需要预先定义较小的提取模型的架构。修剪--结构修剪通常应用于两种形式:a)具有预定义的每层修剪比率,或者b)同时在所有层上。第二种形式允许修剪自动找到更好的架构,如[1]所修剪的精确解决方案将是最小化所有神经元的范数,并移除那些都被清零了然而,最小化100是不切实际的,它是非凸的、NP难的,并且需要组合搜索。因此,先前的工作已经尝试使用贝叶斯方法[25,29]或正则化项来放松优化。Hanson和Pratt [9]使用正则化的第一个作品之一,使用权重衰减以及其他能量最小化函数来降低神经网络的复杂性ral网络与此同时,Chauvin [2]发现,用能量项的正单调函数来增加损失可以导致学习稀疏解。受稀疏编码成功的启发,几种方法用正则化1或正则化 2 来 放 松 最 这 些 方 法 属 于 迭 代 收 缩 和 保 持 算 法(ISTA)家族[4]。Han等人[8]应用类似的方法来去除神经网络的各个权重,以获得稀疏的非正则卷积核。Li等[23]将该方法扩展到去除具有小范数的滤波器。由于批量归一化[18]层在最近的网络[11,16]中的流行,已经提出了几种基于批量范数参数的过滤器修剪方法[24,32]。这些工作正则化批量范数层的缩放项(γ)此外,还可以包括基于FLOPS的惩罚,以直接降低计算成本[6]。[17]提出了一种更通用的方案,该方案在缩放因子上使用类似ISTA的方法,并且可以应用于任何层。所有上述方法都明确地依赖于权重或神经元的大小与其重要性强相关的信念。早在1988年,Mozer [28]就对此进行了研究,他提出在要修剪的每一层之后添加一个门控函数。当门值初始化为1时,负梯度的期望值被用作重要性的近似值。Mozer指出,权重大小仅仅反映了重要性的统计数据LeCun等. [22]还质疑幅度是否是神经 元重要性的 合理衡量标 准。作者 建议使用Hessian对角线和平方权重的乘积这种方法假设在收敛后,Hessian是一个正定矩阵,这意味着删除任何神经元只会增加损失。然而,由于在有限的观察集下和存在鞍点的情况下使用小批量训练的随机性,确实存在神经元,其去除将减少损失。我们的方法并不假设所有神经元的贡献因此,当神经元被移除时,我们近似损失的平方差,并且如果Hessian可用,则可以使用一阶或二阶近似来这样做。一些工作已经从经验上估计了神经元的重要性。Luo等人[26]建议使用贪婪的每层过程来找到最小化重建损失的神经元子集,但计算成本很高。Yu等人[33]估计输入特征对线性分类器的重要性,并假设Lipschitz连续性来传播它们的重要性,这需要额外的计算成本,11266M∂wMSS2SΣ(2).嗯嗯M1 2M特征分数计算的平凡实现我们提出的方法是能够优于这些方法,同时需要很少的额外计算和工程。修剪方法(如[13,14,23,26,33])需要灵敏度分析,以估计应应用于特定层的修剪率。Molchanov等人[27]假设所有层在前馈网络中具有相同的重要性然而,这种方法在具有跳过连接的网络中失败。此外,它使用网络激活来计算标准,这增加了因此,在批量归一化[6,17,24,32]上操作的修剪方法不需要敏感性分析,并且可以在全局范围内应用。我们的标准具有全球可比的设计规模,不需要敏感性分析。它可以有效地应用于网络中的任何层,包括具有和不具有参数(wm)的预测误差:我m=.E(D,W)− E(D,W|w m= 0)(三)如(3)中那样,计算每个参数的Im在计算上是昂贵的,因为它需要评估网络的M个版本,每个版本用于每个移除的参数。我们可以通过在W附近用它的二阶泰勒展开近似Im来避免评估M个不同的网络12I(W)=g W−WH W,(4)2其中gm=Σ E是梯度g的元素,Hi,j=M跳过连接,而不仅仅是batch-norm层。一些先前的作品已经利用修剪作为网络2Ewi是HessianH的元素,Hm是第m个训练正则化器。Han等人[7]修剪后重新初始化权重,并对其进行微调,以实现更好的准确性排一个更紧凑的近似计算使用一阶展开,其简化为:比最初的模型。He等人[12]通过训练过滤器来扩展这个想法,即使在过滤器被归零之后。虽然我们的工作只集中在从网络中删除过滤器,I(1)(W)=.gmwm2.(五)也许可以把它扩展成正则化子3. 方法给定神经网络参数W ={w0,w1,...,w M}和数据集D ={(x0,y0),(x1,y1),.,(xK,yK)}由输入(xi)和输出(yi)对组成,训练的任务是通过求解以下问题来最小化误差EminE(D,W)= min E(y|x,W)。(一)在Eq中的重要性(5)因为梯度g已经可以从反向传播中获得。对于本节的其余部分,我们将主要使用一阶近似,但大多数陈述也适用于二阶近似。在未来的参考文献中,我们表示一阶重要性近似的集合:I(1)(W)={I(1)(W),I(1)(W),., I(1)(W)}。(六)近似一个结构集的联合重要性在修剪的情况下,我们可以在成本函数中包含稀疏化项,以最小化模型的大小:对于参数WS,例如卷积滤波器,我们有两个替代品. 我们可以把它定义为一种群体贡献:最小E(D,W)+ λ||W||0,(2)W其中λ是缩放系数,并且||0是0.00范数,||0is the ℓ0normwhichI(1)(W),.s∈S2gs ws、(7)表示非零元素的数量。不幸没有有效的方法来最小化NP0范数,因为它是非凸的、NP困难的,并且需要组合搜索。另一种方法是从完整的参数集开始,在原始优化(1)收敛时设置W,并逐渐每次减少几个参数或者可替换地,对集合中I^(1)(W),则I ^(1)(W)=I ^(gsws)2。(八)s∈Ss∈SΣΣ11267在这种增量设置中,可以通过单独考虑每个参数的重要性(假设参数独立)来决定删除哪些参数。我们把这种简化的近似完全组合搜索称为贪婪一阶搜索。一个参数的重要性可以通过去除它所引起的误差来量化。在一个身份证下。假设,该引起的误差可以被测量为平方差为了深入了解这两个选项,并简化计算,我们将“门”添加门控层使重要性分数计算更容易,因为它们:a)不参与优化; b)具有恒定值,因此允许从等式中省略W。(4-8)以及c)隐式地组合滤波器权重和偏置的贡献。11268M.ΣS. ΣM伊茨MXX如果门zm跟随由权重W,则重要性近似I(1)为:3.2. 实现细节s∈SmI(1)(z)=E2zm.s∈Sm2gs wsM=I(1)M(W)、(9)Hessian计算 计算完整的Hessian 由方程式(4)在计算上要求很高,因此我们使用对角近似。在ImageNet的实验中,由于内存限制,我们无法计算Hessian重要性分数累积。 在训练或罚款期间-其中S表示计算前一层的输出所需的内部尺寸,例如,线性层的输入维度,或者卷积层的空间和输入维度。我们看到,门的重要性相当于前一层参数的基团贡献通过一些操作,我们可以从我们提出的方法中连接到信息论。让我们利用小批量进行调整,将观察到的梯度组合以计算单个重要性分数E1=E1。重要性分数聚合。在这项工作中,我们计算的重要性,结构参数作为一个总和的individad-在等式中定义的年度贡献(8)除非使用门,否则自动计算来自前一层的参数上的基团贡献 二阶方法是记为hm=E=gTWs∈S观察,总是在门上计算我们注意到,zms∈S mm“贡献”标准在方程。(7)表现出非常低的辐射-假设在收敛时,E(hm)2=0):Var(hm)=E(h2)−E(hm)2= I(1)(z),(10)其中方差是跨观测计算的。如果误差函数E(·)被选择为对数似然函数,则假设梯度被估计为当hx=lnp(x;z)时,借用信息论[3]中的概念,我们得到如果参数集S太大,由于梯度在收敛时趋于零的期望,则具有“真”重要性(3)。星门位置。 除非另有说明,否则门被放置在批归一化层之后,以同时捕获来自缩放和移位参数的贡献。对于在门处的特征图m计算的一阶准则可以被示为I(1)(γ m,β m)=(γ m<$E+β m<$E)2,其中γ和β是尺度和移位γmVar x(h)=E。hxhT=J(h),(11)其中J是期望Fisher信息矩阵。我们的结论是梯度的方差是梯度的外积的期望,等于期望的Fisher信息矩阵。因此,所提出的度量I(1)可以解释为方差估计和Fisher信息矩阵的对角线。3.1. 剪枝算法我们的修剪方法将训练好的网络作为输入,并在迭代微调过程中以较小的学习率对其进行在每个epoch期间,重复以下步骤:1. 对于每个minibatch,我们计算参数梯度并通过梯度下降更新网络权重。我们还使用在小批量上平均的梯度来计算每个神经元(或滤波器)的重要性,如(7)或(8)中所述。(Or,如果Hessian可用,则可以计算二阶重要性估计。2. 在预定义数量的小批量之后,我们在小批量上平均每个神经元(或滤波器)的重要性得分,并删除具有最小重要性得分的N个微调和修剪继续进行,直到目标数量的神经元被修剪,或者不能再实现最大可容忍的损失。批量标准化的参数。在修剪迭代中平均重要性分数我们在修剪迭代之间平均重要性分数-使用系数为0的指数移动平均滤波器(动量)。9 .第九条。修剪策略。我们发现,当我们定义要删除的神经元数量时,该方法的性能更好,然后对网络进行微调。另一种方法是只要训练或验证损失低于阈值,就不断修剪。后一种方法导致优化进入局部最小值,最终结果略差。修剪迭代之间的小批量数量需要足以捕获总体数据的统计信息我们对CIFAR数据集使用10个小批量和一个小批量,但对Ima-geNet修剪使用更大的(256)批量和30个小批量,如每个实验所示。每次迭代修剪的神经元数量需要基于神经元彼此之间的相关程度来选择。我们观察到过滤器4. 实验我们在CIFAR-10 [19]和ImageNet [31]数据集上的各种神经网络架构上评估了我们的方法。我们还尝试了我们的方法的变化,以了解最好的变体。每当我们提到重量时=Σ11269.要评估的进料器焊程的基本数量权值或BN标度,我们使用N_2范数。4.1. 关于CIFAR 10使用CIFAR-10数据集,我们通过修剪较小的网络来评估4.1.1LeNet3我们从一个简单的网络LeNet 3开始,在CIFAR-10数据集上进行训练,以达到73%的测试准确率。LeNet的体系结构由2个卷积层和3个线性层组成,以C-R-P-C-R-P-L-R-L-R-L(C:卷积,R:ReLU,P:池化,L:线性)顺序,分别具有16、32、120、84和10个神经元。我们修剪前2个卷积层和前2个线性层,而不改变输出线性层或修剪后的微调。单层修剪。在这个设置中,我们只修剪第一个卷积层。这个设置允许我们使用组合预言机,真正的最小化器:我们计算可以修剪的k个神经元的所有可能组合的损失,并选择最好的一个。请注意,这需要一个expo-nKk,其中n是滤波器的数量,k是滤波器的数量因此对于多层或更大的网络是不实际我们比较了贪婪的搜索近似,贪婪的预言机,详尽地找到一个最好的神经元删除在每个修剪步骤,重复k次。结果示于图2显示损失与修剪的神经元数量。我们观察到,组合预言机是不是显着优于贪婪的预言机时,prun- ing少量的神经元。考虑到前者具有指数级的计算复杂度,在随后的实验中,我们使用贪婪的oracle(简称为Oracle)作为最佳可能结果的表示。图2:使用Combinatorial oracle和Greedy oracle在CIFAR-10上修剪LeNet 3的第一层。网络仍然是固定的,没有微调。Greedy oracle的结果是30个种子的平均值对每个种子的组合预言的最佳观察结果进行平均。所有层修剪。图3示出了当使用各种标准修剪所有层时的修剪结果。我们将基于泰勒展开的方法称为泰勒FO/泰勒SO,分别表示所用近似的阶数,一阶和二阶。我们考虑直接应用于卷积滤波器权重(我们将线性层视为1×1卷积。在所有情况下,修剪移除整个滤波器及其对应的偏置。在每次修剪迭代中,我们移除具有由所使用的标准测量的最小重要性的神经元,并测量训练集上的损失。结果见图。3表明Oracle剪枝执行得最好,其次分别是二阶和一阶Taylor展开准则一阶和二阶泰勒方法在超过损失阈值之前修剪的神经元数量几乎与Oracle相同。基于权重的修剪,其去除具有最小范数的神经元,表现得与随机去除神经元一样差。OBD [22]执行类似于Oracle和Taylor方法。在LeNet上的实验证实了以下几点:(1)对于网络的小变化,贪婪预言机的修剪性能与组合预言机(2)在这种情况下,我们的一阶方法(泰勒FO)与二阶方法(泰勒SO)相当4.1.2ResNet-18现在,我们比较来自预激活家族的更复杂架构ResNet-18上的修剪标准[11]。每个残差块具有BN 1-ReLU-conv 1-BN 2-ReLU-conv 2的架构,以及从输入到输出的跳过连接,总共重复8个块。 在CIFAR-10上训练后,ResNet-18的测试准确率达到94。百分之七十九对于修剪,我们考虑整个图3:使用各种标准在CIFAR-10上修剪LeNet 3网络仍然是固定的,没有微调。结果在50粒种子上平均,具有平均值和标准偏差。当损失达到1时修剪的神经元的数量。0显示在括号中。11270方法残差块所有层表 1 : 不 同 标 准 与 CIFAR-10 上 的 Oracle 和 ResNet-18 的Spearman相关性。(FG表示完全渐变,如文中所述)。conv层中的特征映射,因为它们控制计算资源的最大份额。在这些实验中,我们研究了以下估计我们的标准的方法:(1)将其直接应用于卷积滤波器权重,(2)使用置于BN2之前和conv2之后的门,以及(3)使用置于BN2之后和conv2之后的门。我们每20个小批次移除100个神经元,并报告10个种子的平均最终结果我们还使用小批量平均的梯度和每个数据样本获得的梯度进行比较,后者表示为我们应该注意到,使用全梯度改变了计算基团贡献的门公式7)个人贡献的总和(Eq.(八)。表1给出了各种修剪标准和贪婪预言机之间的斯皮尔曼相关性。残差区组列中的结果是所有8个区组的平均值。所有层列包括附加层:第一卷积层(不是残差块的一部分)、残差块中的所有卷积以及所有跨步卷积。我们观察到,将门置于BN 2之前显著降低了相关性。- conv 1的相关性从0下降。95比0 28对于Tay- lor FO,这表明随后的批次归一化层显著影响从门计算的标准我们观察到,当使用全梯度时,效果不太显著,但它与Oracle的整体相关性较小OBD的相关性低于我们基于泰勒的方法。Taylor SO的相关性最高,Taylor FO紧随其后。由于在BN 2之后放置门极大地改善了结果,这表明批量归一化层在确定相应滤波器的贡献方面起着关键作用。在没有微调的情况下修剪ResNet-18的结果如图所示。4.我们观察到,对于给定数量的修剪神经元,Oracle实现了最佳精度。除了“-fixed”和Random之外,所有方法图4:修剪在CIFAR-10上训练的ResNet-18,没有微调。当损失达到0时修剪的神经元数量。5在括号中显示。在每个迭代步骤之后,并且可以调整到修剪的网络。Oracle固定和Taylor FO固定是在与非固定标准相同的批数上计算的。我们注意到,固定标准的性能明显比Oracle差得多,这强调了在每次修剪迭代后重新估计标准的重要性,允许值根据网络架构的变化进行调整一个有趣的观察结果是,尽管与表1中的预言具有良好的相关性,但OBD方法表现不佳。这种差异的原因是,当我们评估与预言的相关性时,我们平方了OBD的估计值,以使它们与预言的估计方式相当。然而,在修剪期间,我们使用OBD的有符号值,如[22]中所规定的。如前所述,对于深度网络,Hessian的对角线并非对所有元素都是正的,删除那些具有负面影响的元素会导致网络不稳定性增加因此,如果不进行微调,OBD就不太适合修剪。另一个重要的观察是,如果Hesian可用,使用Taylor SO展开可以得到更好的修剪和相关性。令人惊讶的是,我们没有观察到使用全梯度的改善,可能是因为从群体到个人的贡献切换。在这个阶段,在CIFAR-10 数据集上使用较小的LeNet 3网络和较大的ResNet-18进行实验后,我们进行了以下观察:(1)我们提出的基于修剪损失的泰勒展开的准则与预言机产生的神经元排名具有非常高的相关性。(2)一阶和二阶泰勒准则是可比的。由于TaylorFO可以用更低的内存占用更快地计算,因此仅使用此标准在conv1conv2Taylor FO on conv weight0的情况。7260的情况。7660的情况。892重量大小0的情况。6600的情况。6770的情况。861BN2后的门控泰勒FO0的情况。9550的情况。8110的情况。924泰勒SO0的情况。9680的情况。8490的情况。957OBD0的情况。8550的情况。7070的情况。901112714.2. ImageNet上的结果在这里,我们将我们的方法应用于在ImageNet [31]上训练的修剪网络的挑战性任务,特别是ILSVRC2012版本。对于本节中的所有实验,我们使用PyTorch [30]和默认的预训练模型作为网络修剪的起点。我们使用标准的预处理和增强:重新调整图像大小以具有256的最小维度,随机裁剪224×224的补丁,随机应用水平翻转,并通过减去每个数据集的平均值并除以每个数据集的标准差来归一化图像。在测试期间,我们使用大小为224×224的中心裁剪。4.2.1神经元重要性相关研究我们比较了使用各种度量的修剪方法,例如权重大小[21,23],批量范数尺度的大小,BN尺度[6,24,32]和基于输出的度量(泰勒扩展应用于层输出)[27]。我们估计过滤器的“真正重要性”和这些标准之间的相关性估计实际重要性,或在去除神经元时损失值的变化,需要多次运行推理,同时依次将每个单独的滤波器设置为0(Note Oracle基于该值对神经元进行排名)。对于ResNet-101,我们修剪了每个残差块的前2个卷积层然后,我们在每个模块的输入和输出处添加门以跳过连接。对于VGG 11-BN架构,我们用batch-norms(0。5标度和0移位),并微调12个epoch,直到测 试精 度 达 到 70。 8% , 与[1]相 当。 对 于DenseNet201,我们考虑了每个密集层中第一个1×1表2总结了统计学和测量重要性之间的统计相关性。相关性是在由几千张图像组成的ImageNet子集上测量的。我们评估了我们的方法的各种实现,但始终使用一阶泰勒展开,表示为泰勒FO。如前所述,最有希望的变化在每个批次范数层之后使用门。“所有层相关性”列显示标准在层之间的缩放程度。 我们的方法显示>93%所有三个网络的斯皮尔曼相关性。重量放大器Tude和BN量表的相关性很低,表明震级并不能很好地代表重要性。[27]中提出的基于输出的扩展在VGG 11-BN网络上具有高度相关性令人惊讶的是,我们观察到ResNet和DenseNet的Pearson相关性>92%,这表明我们几乎可以准确预测每个神经元的损失变化。我们还能够通过在每个残差块的输出之后添加门我们将跳过连接添加到完整的过滤器集合中,并评估方法我们的平均每层所有层泰勒FOPearsonSpearman肯德尔Pearson斯皮尔曼·肯德尔ResNet-101BN后的门C0的情况。8770的情况。8700的情况。7100的情况。9250的情况。9650的情况。843BN-FG后的闸门C0的情况。7720的情况。8170的情况。6440的情况。7780的情况。9440的情况。803转换权重C0的情况。7190的情况。7400的情况。5700的情况。7800的情况。8740的情况。698BN标度C0的情况。7030的情况。6640的情况。5010的情况。7920的情况。8660的情况。681BN标度0的情况。3710的情况。4050的情况。2960的情况。6320的情况。8070的情况。621重量大小0的情况。5660的情况。6510的情况。4930的情况。3760的情况。5870的情况。432泰勒输出[27]0的情况。5200的情况。5860的情况。4290的情况。3810的情况。2870的情况。198BN后的门C包括跳过连接0的情况。8740. 8670. 7070的情况。8060的情况。9460的情况。809BN-FG后的闸门C0的情况。7680的情况。8140的情况。6400的情况。7250的情况。8730的情况。727VGG11-BNBN后的门C0的情况。9640的情况。9740的情况。8940的情况。7980的情况。9990的情况。972Conv/线性权重C0的情况。6590的情况。6270的情况。5070的情况。8430的情况。9830的情况。893BN-FG后的闸门C0的情况。8250的情况。8000的情况。6660的情况。8120的情况。9820的情况。887BN标度C0的情况。7510的情况。7180的情况。5860的情况。6340的情况。9680的情况。846BN标度0的情况。4740的情况。4380的情况。3510的情况。0310的情况。2570的情况。213重量大小0的情况。6040的情况。6030的情况。4740的情况。5370的情况。8120的情况。654泰勒输出[27]0的情况。5900的情况。5810的情况。4680的情况。5340的情况。9680的情况。876DenseNet-201BN后的门C0的情况。8250的情况。8490的情况。7400的情况。9670的情况。9320的情况。811BN-FG后的闸门C0的情况。8910的情况。8980的情况。7420的情况。7640的情况。9440的情况。798转换权重C0的情况。8250的情况。8360的情况。6590的情况。7010的情况。8170的情况。627BN标度C0的情况。6450的情况。6450的情况。4790的情况。6770的情况。4340的情况。307BN标度0的情况。4720的情况。4710的情况。3420的情况。5060的情况。5970的情况。436重量大小0的情况。7250的情况。7370的情况。5580的情况。3000的情况。3000的情况。208泰勒输出[27]0的情况。6730的情况。6990的情况。5300的情况。4550的情况。4720的情况。333表2:不同标准和Oracle在ImageNet数据集上的相关性研究斯皮尔曼和肯德尔测量等级相关性。BN代表批量归一化,FG代表全梯度。它们的相关性,在表2中表示为“包括跳过连接”。我们也观察到该标准与跳跃连接的高度相关性。鉴于这一结果,我们采用这种方法来修剪ResNet,并同时从跳过连接和瓶颈层中删除通道我们将这种方法的变体称为Taylor-FO-BN。4.2.2修剪和微调我们使用以下设置:4个GPU和256个示例的批量大小;我们使用初始学习率为0的SGD进行了优化。01(或0.001.第001章6.2)每10个纪元衰减10倍动量设为09;修剪和微调总共运行25个epoch;我们报告了观察到的最佳验证准确性。每隔30个小批次,我们删除100个神经元,11272直到我们达到预定义的神经元数量,然后我们重置动量缓冲区并继续微调。通过将修剪后保留的神经元百分比设置为X,我们得到了最终模型的不同版本,并将其称为Taylor-FO-BN-X%。通过所提出的方法和其他方法在ImageNet上对修剪网络进行的比较在表3中给出,其中我们报告了FLOP总数,参数数量和前1错误率。比较按网络架构类型和参数数量分组。对于ResNet-101,我们观察到更小的错误率和更少的GFLOP(至少1。22GFLOP),与BN- ISTA方法[32]相比。只修剪跳过的连接会显示更大的错误,但会使最终的网络更快(参见第6.2节)。 通过从原始ResNet-101中删除40%的FLOP和30%的参数,我们只损失了0。02%的准确率。112731.00.80.60.40.20.01.00.80.60.40.20.011 61116 21 26 31 36 41 46 51 56 61层数图5:在使用Taylor-FO-BN-50%修剪ResNet-101之前(顶部)和之后(底部),每层排名的箱形图统计数据前4层对应于跳过连接,其余是由每块的前2个卷积层表示的残差块。我们可以注意到,经过修剪后,大多数神经元变得比修剪前更平等。修剪方法GFLOPs参数(107)↓误差,%ResNet-101仅修剪跳过连接泰勒-FO-BN-52%(我们的)6. 573. 6022. 94泰勒-FO-BN-22%(我们的)5. 192. 8624. 77泰勒-FO-BN-72%(我们的)二、251 .一、42二十五50NISP-50-B [31]≈2。291 .一、43二十七岁93ThiNet-70 [25]≈2。581 .一、69二十七岁96泰勒-FO-BN-81%(我们的)二、661 .一、79二十四岁52SSS [17],ResNet-32二、821 .一、86二十五82NISP-50-A [31]≈2。971 .一、86二十七岁25泰勒-FO-BN-91%(我们的)3 .第三章。27二、2623岁57不修枝4.第一章09二、5623岁82SSS [17],ResNet-413 .第三章。47二、53二十四岁56ResNet-34不修枝3 .第三章。64二、18二十六岁69泰勒-FO-BN-82%(我们的)二、831 .一、72二十七岁17Li等[23日]二、761 .一、93二十七岁80不修枝VGG11-BN7 .第一次会议。61十三岁2929岁16泰勒-FO-BN-50%(我们的)六、933 .第三章。1829岁35从零开始[1]≈6。93≈3。18三十00[24]第24话,从≈6。93≈3。1831岁38DenseNet-201没有修剪4. 29二、2023岁20泰勒-FO-BN-60%(我们的)3 .第三章。021 .一、2523岁49泰勒-FO-BN-36%(我们的)二、210的情况。90二十四岁72不修枝二、740的情况。76二十五57.6412825651264128256512归一化秩,越小越好归一化秩,越小越好跳过连接跳过连接泰勒-FO-BN-40%(我们的)1 .一、761 .一、36二十五84泰勒-FO-BN-50%(我们的)二、471 .一、78二十四岁62BN-ISTA v2 [32]3 .第三章。691 .一、73二十五44泰勒-FO-BN-55%(我们的)二、85二、07二十四岁05ResNet-50泰勒-FO-BN-56%(我们的)1。34Taylor-FO-BN-56%(无跳过) 1. 28[25]第25话170的情况。790的情况。850的情况。8728岁31三十7431岁58表3:ImageNet上的剪枝结果(1-作物有效期离子误差)11274在ResNet-50和ResNet-34上的剪枝结果表明,与其他方法相比,有显著的改进。此外,我们研究了我们的方法没有修剪跳过连接,标记为修剪前后ResNet-101中不同层的每层排名比较如图所示。五、一步修剪神经元。作为迭代修剪的替代方案,我们在3000个小批次之后用单个步骤执行10000个神经元的修剪,然后进行微调。这给出了25的top-1错误。3%,即0。比Taylor-FO-BN-50%高68%,再次强调了在修剪迭代之间重新评估准则的益处删除其他网络。我们还修剪了VGG 11-BN和DenseNet网络。前者是一个简单的前馈结构,没有跳接.我们在所有层中修剪了50%的神经元,如之前的工作[1,24]。我们的方法显示只有0。在移动76%的参数后,准确度损失19%,并且比先前报告的结果提高0。65%[1]和2%以上[24]。De-seNets多次重用特征映射,可能使它们不太容易被修剪. 我们修剪了DenseNet-201,并观察到与DenseNet-121具有相同数量的FLOP(Taylor-FO- BN-52%),我们有1。79%的错误率。5. 结论在这项工作中,我们提出了一种新的方法估计的贡献,神经元使用泰勒展开应用于损失的平方变化,通过删除选定的神经元。我们证明,即使是一阶近似也显示出与真实重要性的显著一致性经过广泛的分析,我们表明,在实际的计算和内存限制下,在批量范数之后应用一阶准则会产生最好的11275引用[1] 匿名提交。重新思考网络修剪的价值。ICLR,2019。[2] Y.肖文最佳使用隐藏单元的反向传播算法。NIPS,1989年。[3] T. M. Cover和J. A.托马斯信息论的基本原理。JohnWiley Sons,2012.[4] I. Daubechies,M. Defrise和C.德莫稀疏约束下线性反问题的迭代阈值算法。《纯粹数学与应用数学通讯》,2004年。[5] J. Frankle和M.卡宾彩票假说:训练修剪的神经网络。arXiv预印本arXiv:1803.03635,2018。[6] A. Gordon,E.埃班岛O. 纳丘姆湾Chen,H.吴,T-J.Yang和E.崔Morphnet:深度网络的快速简单资源约束结构学习。在CVPR,2018年。[7] S. Han,J. Pool,S. Narang,H. Mao,S. Tang、黄毛菊E. 埃尔森B. Catanzaro,J. Tran和W. J·达利Dsd:使用密集-稀疏-密集训练流正则化深度神经网络。arXiv预印本arXiv:1607.04381,2016年。[8] S. Han,J.普尔,J。Tran和W.Dally 学习权值和连接以实现高效的神经网络。2015年,在NIPS[9] S.汉森和L. Y.普拉特最小网络构造与反向传播的偏差比较。NIPS,1989年。[10] K.他,X。Zhang,S. Ren和J. Sun.用于图像识别的深度残差学习。在CVPR,2016年。[11] K.他,X。Zhang,S. Ren和J. Sun.深度剩余网络中的身份映射。在ECCV,2016年。[12] Y.他,X。Dong,G.康,Y。Fu和Y.杨通过软过滤器修剪实现渐进式深度神经网络加速arXiv预印本arXiv:1808.07471,2018。[13] Y.他和S。韩Adc:利用强化学习实现自动深度压缩和加速。arXiv预印本arXiv:1802.03494,2018。[14] Y. 他,X。zhang和J.太阳用于加速深度神经网络的通道修剪InICCV,2017.[15] G. Hinton,O.Vinyals和J.Dean. 在神经网络中提取在arXiv预印本arXiv:1503.02531,2015。[16] G. Huang,Z.柳湖,加-地Van Der Maaten和K.Q. 温伯格密集连接的卷积网络。在CVPR,2017年。[17] Z. Huang和N.王. 深度神经网络的数据驱动稀疏结构arXiv预印本arXiv:1707.01213,2017。[18] S. Ioffe和C.赛格迪批次标准化:通过减少内部协变量偏移 来 加 速 深 度 网 络 训 练 。 arXiv 预 印 本 arXiv :1502.03167,2015。[19] A. Krizhevsky和G.辛顿从微小的图像中
下载后可阅读完整内容,剩余1页未读,立即下载
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
会员权益专享
最新资源
- 基于单片机的瓦斯监控系统硬件设计.doc
- 基于单片机的流量检测系统的设计_机电一体化毕业设计.doc
- 基于单片机的继电器设计.doc
- 基于单片机的湿度计设计.doc
- 基于单片机的流量控制系统设计.doc
- 基于单片机的火灾自动报警系统毕业设计.docx
- 基于单片机的铁路道口报警系统设计毕业设计.doc
- 基于单片机的铁路道口报警研究与设计.doc
- 基于单片机的流水灯设计.doc
- 基于单片机的时钟系统设计.doc
- 基于单片机的录音器的设计.doc
- 基于单片机的万能铣床设计设计.doc
- 基于单片机的简易安防声光报警器设计.doc
- 基于单片机的脉搏测量器设计.doc
- 基于单片机的家用防盗报警系统设计.doc
- 基于单片机的简易电子钟设计.doc
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)