ImageNet预学习模型的修剪在下游任务中是如何进行的?
三个要点
✔️ 调查修剪后的ImageNet预训练模型的过渡学习性能
✔️ 渐进稀疏化、正则化和LTH等修剪方法的分析
✔️ 证明不同的剪枝方法在学习过渡期时有不同的表现
How Well Do Sparse Imagenet Models Transfer?
written by Eugenia Iofinova, Alexandra Peste, Mark Kurtz, Dan Alistarh
(Submitted on 26 Nov 2021 (v1), last revised 21 Apr 2022 (this version, v5))
Comments: CVPR2022.
Subjects: Computer Vision and Pattern Recognition (cs.CV); Artificial Intelligence (cs.AI); Machine Learning (cs.LG)
code:![]()
![]()
本文所使用的图片要么来自论文、介绍性幻灯片,要么是参考这些图片制作的。
介绍
深度学习模型的计算成本很高,缓解这一问题的模型压缩技术是一个快速发展的领域。
本文研究了修剪方法(将一些权重设置为零)在一般的过渡学习环境中是如何工作的,即把在ImageNet上训练的卷积神经网络(CNN)适应于下游任务。
这项研究的结果表明,稀疏模型的性能与密集模型的过渡学习性能一样好,甚至更好,推理和学习的速度可以大大加快,而且各种剪枝方法的行为也有所不同。
实验装置
实验研究了应用各种模型压缩技术时的过渡学习性能。实验设置如下。
设置转移学习。
在学习过渡期时考虑两种设置:完全微调和线性微调。完全微调优化了整个特征集,而线性微调只优化了最后一层的线性分类器。
在前一种情况下,只有原始模型的非零权重被优化,除了在最后一层,面具保持固定。我们也没有在从头开始的设置中进行实验,因为从头开始的学习(from-scratch)通常比过渡学习的表现更差。实验中也没有对下游任务的模型进行修剪。
网络架构
实验主要使用ResNet50来分析稀疏模型的过渡学习。
稀疏化方法。
实验中考虑的修剪方法可分为三大类
- 渐进式稀疏化方法:从一个高度精确的基线模型开始,以微调期为间隔的几个步骤逐步删除权重。
- 正则化方法:在模型训练过程中,采用了改善稀疏性的机制。
- 彩票假说(LTH)方法:从一个完全训练好的模型开始,在一个或多个增量步骤中获得一个稀疏的权重掩码,并在该掩码上限制再训练。
对于这三种情况,都采用了以下具体方法
增量稀疏化技术
正则化技术
长寿法
关于下游任务
用于转移学习的下游任务包括
如表中所述,每项任务的Top-1准确率或每类平均验证准确率被用作性能指标。
对于每个下游任务和模型,还计算了相对于密集模型基线的误差增加以及每种方法的快速程度,并将其作为性能指标。
实验结果
ImageNet中的验证准确性。
首先,我们检查了通过剪枝后的模型在ImageNet中的验证准确性。结果如下。
稀疏度和验证集版本不同,存在差异,但总的来说,WoodFisher和RigL ERK 5x显示出特别好的结果。
线性微调
接下来,在下游任务中只对线性分类器进行微调的情况下,研究了不同修剪方法的性能。结果如下。
请注意,LTH-T方法是为全面微调而设计的,因此被排除在本分析之外。该图还显示了稀疏度为80%时的结果(见线性微调部分)。
总的来说,可以看出,上游任务中修剪方法的选择对下游任务的表现有很大的影响。
这种差异在具有精细等级的专业化下游任务中更为明显,例如,在飞机上,表现最好的AC/DC和RigL ERK 5x与表现最差的WoodFisher之间可以看到Top-1的准确性相差15%。
基于这些结果,当使用密集骨干模型和修剪模型之间的Top1准确率差异作为每个下游任务的难度指标时,每种方法的行为如下。
图中显示,随着任务难度的增加,正则化方法(AC/DC、STR和RigL)往往比密集骨干的基线表现更好。这在90%的稀疏度下更为明显。
另一方面,渐进式稀疏化方法(GMP,WoodFisher)不显示这种行为。这表明,在线性微调中,基于正则化的修剪方法似乎更适合下游任务的专业化或困难化。
同样值得注意的是,稀疏性与下游任务的表现没有很好的关联。例如,AC/DC和RigL显示,80%和90%的稀疏度的模型在ImageNet的准确性上有1~2%的差异,而与密集基线的相对误差保持平稳。然而,在极端稀疏的情况下(98%),性能趋于恶化。
总的来说,发现了以下结果
- 一些稀疏化方法显示出与密集模型一致的性能,有时甚至超过了密集模型。
- 正则化方法的过渡学习性能与下游任务难度之间存在着关联。
- 高稀疏度并不一定不利于过渡性能。
全面微调
然后,对整个模型进行微调的结果如下。
与线性微调的情况一样,修剪方法之间也存在着相当大的性能差异。
首先,有一个一致的趋势,即质量随着稀疏程度的增加而下降。与其他方法相比,增量稀疏化方法(WoodFisher, GMP)也有表现出优越的过渡学习性能的趋势。特别是在80%和90%的稀疏度下,下游任务的表现几乎与密集模型的表现一样好,这与线性微调的情况相反。
此外,在观察下游任务的表现时,WoodFisher和GMP始终表现出一流的性能,而其他方法的性能往往因任务不同而有很大差异。
一般来说,增量稀疏化方法被视为对下游任务进行全面微调的良好选择。在80%或90%的稀疏度下,这些方法的表现与密集骨干网一样好。
进一步考虑。
一个有趣的结果是,最佳修剪方法因选择线性或完全微调而不同。为了研究这个结果,我们测量了ResNet50骨干中完全修剪的卷积过滤器的百分比。(见原论文的附录E)。
结果显示,AC/DC比其他方法平均多出2~4个被完全消除的通道。这一结果似乎与全面微调期间可用于训练的特征较少有关。
相比之下,GMP和WoodFisher的稀疏性是非结构化的,这可能会增加在全面微调过程中可以表达的特征数量。
在线性微调的情况下,可以看到与渐进稀疏化方法的关系是相反的,正则化方法产生的特征更加稳健。
关于提高线性微调中的学习速度。
线性微调修复了稀疏的骨干,导致了更快的训练时间。为了研究这种影响,我们对训练时间的提高和测试准确性的变化之间的关系进行了如下调查。
一般来说,人们发现学习时间可以加快2~3倍,而不会对准确性产生不利影响。
补充实验
在本文的附录中,在ResNet18、ResNet34和MobileNet以及YOLOv3和YOLOv5上进行了实验,以测量物体检测任务的性能,结果支持之前的分析。
与非结构化方法相比,用结构化稀疏模型进行全面微调的结果也显示出过渡学习性能降低的趋势。
摘要
对ImageNet预训练模型通过剪枝方法进行稀疏化时的过渡学习性能的广泛分析表明,即使在ImageNet分类精度相当的情况下,也可以根据下游任务和学习设置取得不同的性能。
特别是,我们发现,基于正则化的方法在线性微调时表现最好,而逐步稀疏化的方法在完全微调时表现最好。
这些分析的局限性在于,它们侧重于模型压缩技术中的修剪,过渡学习性能的唯一指标是准确性,以及没有包括涉及领域转移的更复杂的过渡学习情景,这些都有待进一步研究。
与本文相关的类别