当前位置: 首页 > 科技观察

2019年最后一个月,你必须知道的6个最新修剪技巧

时间:2023-03-12 13:01:25 科技观察

你对修剪技巧了解多少?这里有一张备忘单,整理了2019年6篇论文中提到的最新剪枝方法。剪枝是一种深度学习方法,可以帮助神经网络实现更小、更高效的性能。这是一种模型优化技术,可从权重张量中删除不必要的值,从而产生运行速度更快且训练计算成本更低的压缩神经网络。将模型部署到手机等边缘设备时,剪枝效果更加明显。本文精选了神经网络剪枝领域的一些研究论文,供大家参考。论文1:PruningfromScratch(2019)作者提出了一种从头开始修剪的网络修剪过程。他们在CIFAR10和ImageNet数据集上对多个压缩分类模型进行了实验,表明该管道减少了普通剪枝方法的预训练开销,同时提高了网络的准确性。论文链接:https://arxiv.org/pdf/1909.12579.pdf下图展示了传统剪枝过程的三个阶段:预训练、剪枝和微调。本文提出的剪枝技术包括一种新的剪枝程序,可以根据随机初始化的权重进行学习。通道重要性是通过将标量门值与每个网络层相关联来学习的。优化通道重要性通过稀疏正则化提高模型性能。在此过程中,随机权重不会更新。然后,基于给定的资源约束,使用二分搜索策略来确定剪枝模型的通道数配置。下表显示了模型在不同数据集上的准确率:论文2:AdversarialNeuralPruning(2019)本文主要讨论网络潜在特征在面对扰动时的失真。本文提出的方法是学习贝叶斯剪枝掩码来抑制更高级别的失真特征,以最大限度地提高它们对扰动的鲁棒性。论文链接:https://arxiv.org/pdf/1908.04355.pdf作者考虑了深度神经网络中潜在特征的脆弱性。该方法建议修剪掉脆弱的特征,同时保留健壮的特征。这个过程可以通过在贝叶斯框架中对抗性地学习修剪掩码来完成。对抗性神经剪枝(ANP)结合了对抗性训练和贝叶斯剪枝方法。本文提出的新模型及其基线模型是:标准卷积神经网络(Standard)Basenetworkusingbeta-Bernoullidropout(beta-Bernoullidropout),即贝叶斯剪枝(BP)对抗训练网络(AT)对抗神经剪枝(ANP)usingBeta-Bernoullidropout(AT-VS)Regularizedusingvulnerabilitysuppressionloss下表显示了神经剪枝网络(ANP-VS)的性能:论文3:重新思考网络剪枝的价值(ICLR2019)网络剪枝本文提出的方法分为两类,目标剪枝模型的架构由人类或剪枝算法决定。在实验中,作者比较了从头开始训练修剪模型和基于继承权重微调修剪模型的结果,这两种方法均适用于预定义方法和自动化方法。论文链接:https://arxiv.org/pdf/1810.05270v2.pdf下图显示了使用预定义结构化剪枝和基于L1-norm的过滤器剪枝获得的结果。每层剪裁一定比例的具有较小L1范数的过滤器。“PrunedModel”列是用于配置每个模型的预定义目标模型列表。我们可以看到,在每一行中,从头开始训练的模型的性能至少与微调模型一样好。如下表所示,ThiNet贪婪地剪枝了对下一层激活值影响最小的通道。下表显示了基于回归的特征重建方法的结果。该方法最小化下一层的特征图重建误差,从而实现通道剪枝。这个优化问题可以通过LASSO回归来解决。对于NetworkSlimming,L1稀疏性在训练期间被施加到批量归一化层中的通道级缩放因子。之后,通道以较低的比例因子进行修剪。由于通道缩放因子是跨层比较的,因此该方法能够自动发现目标架构。论文4:NetworkPruningviaTransformableArchitectureSearch(NeurIPS2019)本文提出将神经架构搜索直接应用于通道和层数灵活的网络。实现修剪网络的损失最小化有利于学习通道数量。剪枝网络的特征图由基于概率分布采样的K个特征图段组成,损失通过反向传播传递给网络权重和参数化分布。论文链接:https://arxiv.org/pdf/1905.09717v5.pdf根据每个分布大小的最大概率得到剪枝后网络的宽度和深度,然后这些参数从原始网络通过知识迁移得到.作者在CIFAR-10、CIFAR-100、ImageNet数据集上评估了该模型。剪枝方法包括三个步骤:用标准的分类训练步骤训练一个大规模的未剪枝网络;通过TransformableArchitectureSearch(TAS)搜索小型网络的深度和宽度,旨在搜索最佳大小的网络。使用简单的知识蒸馏(KD)方法,将未修剪网络的信息转移到通过搜索获得的小规模网络。下表比较了不同ResNet模型在经过不同剪枝算法后在ImageNet数据集上的表现:论文5:自适应网络剪枝(ICONIP2019)本文提出一种自适应网络剪枝方法(SANP),通过引入自适应网络剪枝方法(SANP)降低CNN的计算成本每个卷积层的显着性和修剪模块(SPM),它可以学习预测显着性分数并修剪每个通道。SANP会根据每一层和每一样本决定相应的剪枝策略。论文链接:https://arxiv.org/pdf/1910.08906.pdf根据下面的架构图,在卷积网络的每一层都嵌入了SPM模块。该模块可以根据输入特征预测通道显着性分数,然后为每个通道生成相应的剪枝决策。对于修剪决策为0的通道,跳过卷积操作,然后使用分类目标和成本目标联合训练骨干网络和SPM模块。计算成本取决于每一层的修剪决策。下表展示了该方法的部分结果:论文6:StructuredPruningofLargeLanguageModels(2019)本文提出的剪枝方法是基于低秩分解和增强拉格朗日L_0范数正则化(augmentedLagrangian10normregularization)原理.L_0正则化放宽了结构化修剪施加的约束,而低秩分解保留了矩阵的密集结构。论文链接:https://arxiv.org/pdf/1910.04732.pdf正则化允许网络选择要移除的权重。权重矩阵被分解成两个更小的矩阵,然后在这两个矩阵之间设置一个对角掩码。在训练期间,使用L_0正则化修剪此掩码。增强的拉格朗日方法用于控制模型最终的稀疏性,论文作者将这种方法称为FLOP(FactorizedL0Pruning)。论文中使用的字符级语言模型在enwik8数据集上进行实验,该数据集包含从维基百科中选取的100M数据。作者在SRU和Transformer-XL模型上评估了FLOP方法。下表显示了一些结果:以上是本次介绍的几种剪枝技术。本文介绍的论文也有代码实现,大家可以自行测试。