Soft Filter Pruning for Accelerating Deep Convolutional Neural Networks

TL;DR

提出软滤波器剪枝(SFP),允许剪枝后滤波器在训练中更新,提升模型容量并实现高效加速。

cs.CV 🔴 高级 2018-08-21 43 次浏览
Yang He Guoliang Kang Xuanyi Dong Yanwei Fu Yi Yang
深度学习 模型压缩 滤波器剪枝 神经网络加速 模型训练

核心发现

方法论

SFP通过在训练过程中动态剪枝滤波器,利用`2-范数作为重要性指标,将低重要性滤波器设为零,但允许其在训练中更新。具体包括滤波器选择、剪枝和重建三个步骤,避免传统硬剪枝导致的模型容量损失。该方法支持从零开始训练或基于预训练模型,显著提升模型性能和压缩比。

关键结果

  • 在ResNet-101上,SFP实现超过42%的FLOPs剪枝,同时在ILSVRC-2012数据集上实现0.2%的top-5准确率提升,优于现有最优方法。对CIFAR-10的ResNet-110,速度提升两倍,准确率提升4%。在不同模型和数据集上均验证了其优越性。
  • 在ResNet-50和ResNet-34上,SFP在保持性能的同时,显著减少了模型参数和计算量,优于传统硬剪枝和微调方法。
  • 通过在训练过程中逐步剪枝,避免了模型容量的剧烈下降,增强了模型的泛化能力和鲁棒性。

研究意义

该研究突破了滤波器剪枝对预训练模型的依赖,支持从零开始训练,极大简化了模型压缩流程。其软剪枝策略保持模型容量,有效提升了压缩效率和推理速度,为深度学习模型在移动端和边缘设备的部署提供了新的解决方案。该方法兼容多种先进架构,推动了模型压缩与加速的理论与实践发展。

技术贡献

提出的SFP引入动态更新机制,突破了硬剪枝导致的模型容量限制,结合`2-范数筛选重要滤波器,优化了剪枝策略。算法支持从零训练,减少了对预训练模型的依赖,显著缩短训练时间。通过在多个数据集和网络架构上的实验,验证了其优越性,推动了结构化剪枝技术的边界。

新颖性

首次将软剪枝引入滤波器剪枝领域,允许剪枝后滤波器在训练中持续更新,增强模型容量。区别于传统硬剪枝只在预训练基础上操作,SFP支持从零训练,简化流程,提升性能。其动态剪枝机制和`2-范数筛选策略为模型压缩提供了新思路,具有较强创新性。

局限性

  • 当前方法主要依赖`2-范数作为重要性指标,可能在某些复杂模型中未能充分捕捉滤波器的重要性,影响剪枝效果。
  • 在极高剪枝率下,模型仍可能出现性能下降,需进一步优化剪枝策略。
  • 实际加速效果受硬件和软件环境限制,理论节省与实际速度存在差距。

未来方向

未来将探索多指标融合的滤波器重要性评估方法,提升剪枝效果。结合量化和稀疏技术,进一步优化模型压缩与加速的结合。扩展到其他任务如目标检测和语义分割,验证其泛化能力。

AI 总览摘要

深度卷积神经网络(CNN)在图像识别等任务中表现卓越,但其庞大的模型规模带来计算与存储瓶颈。传统剪枝方法多依赖预训练模型,硬剪枝会显著降低模型容量,影响性能。本文提出软滤波器剪枝(SFP),通过在训练过程中动态剪枝滤波器,并允许其在训练中更新,有效保持模型容量,提升压缩效率。

SFP采用`2-范数作为滤波器重要性指标,逐步筛选低重要性滤波器,将其设为零,但在训练中允许其参数恢复。整个流程包括滤波器选择、剪枝和重建,支持从零开始训练或基于预训练模型,避免传统微调步骤,显著简化流程。

在ILSVRC-2012和CIFAR-10等多个数据集上,SFP实现了优异的性能。在ResNet-101上,剪枝超过42%的FLOPs,同时实现0.2%的top-5准确率提升。在ResNet-110上,速度提升两倍,准确率提升4%。这些结果表明,软剪枝不仅能实现模型压缩,还能提升模型性能,具有广泛的应用潜力。

该方法的核心创新在于引入动态更新机制,突破了硬剪枝的容量限制,为模型压缩提供了新思路。未来,结合量化和稀疏技术,SFP有望在移动端、边缘设备等场景中实现高效部署,推动深度学习模型的普及与应用。

深度分析

研究背景

深度学习中,卷积神经网络(CNN)以其卓越的性能广泛应用于图像识别、目标检测等任务。随着模型深度和宽度不断增加,计算成本和存储需求也急剧上升,限制了其在移动设备和边缘计算中的部署。早期方法如剪枝、量化和低秩分解逐步出现,旨在降低模型复杂度。剪枝技术中,权重剪枝和滤波器剪枝是主流,前者通过稀疏化参数实现压缩,后者通过结构化剪枝减少参数和计算量。代表性工作包括Han等的权重剪枝,Li等的滤波器重要性评估,以及He等的LASSO筛选。尽管取得一定效果,但硬剪枝在剪除滤波器后,模型容量大幅下降,影响性能,且多依赖预训练模型进行微调,流程繁琐。

核心问题

现有滤波器剪枝方法多采用硬剪枝策略,直接删除滤波器,导致模型容量显著降低,影响后续训练和推理性能。此外,大多数方法依赖预训练模型,先训练再剪枝,流程复杂且效率低。硬剪枝后,模型的表达能力受限,难以从零开始训练,限制了其在实际应用中的灵活性和普适性。如何在保持模型性能的同时实现高效压缩,成为亟待解决的问题。

核心创新

本文提出软滤波器剪枝(SFP),引入动态剪枝机制,允许剪除的滤波器在训练中持续更新,保持模型容量。核心创新包括:

  • �� 利用`2-范数筛选低重要性滤波器,避免硬性删除;
  • �� 在训练过程中逐步剪枝,支持从零训练或微调,简化流程;
  • �� 结合重建机制,使剪枝滤波器在训练中恢复,提升模型鲁棒性;
  • �� 支持多架构、多数据集,验证其广泛适用性。这些创新突破了传统硬剪枝的局限,为模型压缩提供了新思路。

方法详解

  • �� 训练前,计算所有滤波器的`2-范数,筛选出低重要性滤波器;
  • �� 将筛选出的滤波器参数设为零,暂时剪除其贡献;
  • �� 在每个训练epoch结束后,允许这些滤波器参数在反向传播中恢复,更新其值;
  • �� 重复筛选、剪除、重建步骤,逐步压缩模型;
  • �� 支持从零开始训练或在预训练模型基础上剪枝,避免繁琐微调。
  • �� 采用统一剪枝率,简化超参数调优,提升效率。

实验设计

在CIFAR-10和ILSVRC-2012数据集上,采用ResNet系列模型进行验证。对比硬剪枝和微调方法,评估模型准确率、压缩比和推理速度。参数设置包括剪枝率(10%-40%)、训练轮数、学习率调整等。通过多次实验,验证SFP在不同剪枝比例下的性能稳定性。还进行了消融实验,分析`2-范数筛选的重要性。测试硬件环境为GPU,测量实际推理时间,验证理论节省与实际加速的差异。

结果分析

SFP在ResNet-101上实现超过42%的FLOPs剪枝,准确率提升0.2%;在ResNet-110上,速度提升两倍,准确率提升4%。在ILSVRC-2012上,剪枝后模型在Top-1和Top-5指标上均优于传统方法。实验还显示,支持从零训练的SFP性能优于微调模型,验证了其高效性和鲁棒性。消融分析表明,`2-范数筛选比`1-范数更优,剪枝比例越高,模型性能下降越慢。

应用场景

该方法适用于需要模型压缩和加速的场景,如移动端图像识别、边缘计算设备。只需在训练过程中加入SFP步骤,无需额外硬件支持,便可显著降低模型复杂度。未来可结合量化和稀疏技术,进一步提升模型部署效率,推动深度学习在实际应用中的普及。

局限与展望

当前方法主要依赖`2-范数作为重要性指标,可能在某些复杂模型中未能充分捕捉滤波器的重要性,影响剪枝效果。极高剪枝比例可能导致性能下降,且实际加速受硬件和软件环境限制。未来需优化指标融合策略,提升鲁棒性,并在多任务、多架构中验证其泛化能力。

通俗解读 非专业人士也能看懂

想象你在整理一个厨房,里面有很多不同的厨具。每次做饭时,你会发现一些厨具用得少或者没用,就会把它们放一边。可是,有时候你会发现,有些厨具虽然暂时不用,但其实还可以用,只要你在做饭时多用用它们。这个方法就像这样,先把一些用得少的厨具“放零”,但在做饭过程中还可以用回来,不会丢掉。这样,厨房既变得更整洁,又还能用到所有的厨具,做饭也更快更好。这个思想就是让模型在剪掉一些“滤波器”的同时,还能在训练中重新“用起来”,保持模型的能力和效果。

简单解释 像给14岁少年讲一样

想象你在学校的图书馆,有很多书。有些书很少借,几乎没人看。你可以把这些书藏起来,腾出空间给常用的书。但如果你只是把它们藏起来,就像把它们扔掉一样,未来可能还会用到。于是,你决定把这些少用的书放在一边,但如果有人需要,你还可以把它们拿出来用。这就像模型中的滤波器,把一些用得少的“滤波器”设为空,但在训练时还能重新用回来。这样,图书馆既变得更整洁,又能保证所有重要的书都在,学习效果也不会变差。这个方法让模型变得更快、更小,但还能保持甚至提升性能,真是聪明又实用!

原文摘要

This paper proposed a Soft Filter Pruning (SFP) method to accelerate the inference procedure of deep Convolutional Neural Networks (CNNs). Specifically, the proposed SFP enables the pruned filters to be updated when training the model after pruning. SFP has two advantages over previous works: (1) Larger model capacity. Updating previously pruned filters provides our approach with larger optimization space than fixing the filters to zero. Therefore, the network trained by our method has a larger model capacity to learn from the training data. (2) Less dependence on the pre-trained model. Large capacity enables SFP to train from scratch and prune the model simultaneously. In contrast, previous filter pruning methods should be conducted on the basis of the pre-trained model to guarantee their performance. Empirically, SFP from scratch outperforms the previous filter pruning methods. Moreover, our approach has been demonstrated effective for many advanced CNN architectures. Notably, on ILSCRC-2012, SFP reduces more than 42% FLOPs on ResNet-101 with even 0.2% top-5 accuracy improvement, which has advanced the state-of-the-art. Code is publicly available on GitHub: https://github.com/he-y/soft-filter-pruning

cs.CV