Skip to main content
QUICK REVIEW

[论文解读] AutoPruner: An End-to-End Trainable Filter Pruning Method for Efficient Deep Model Inference

Jian-Hao Luo, Jianxin Wu|arXiv (Cornell University)|May 23, 2018
Domain Adaptation and Few-Shot Learning参考文献 30被引用 34
一句话总结

AutoPruner 提出了一种端到端可训练的滤波器剪枝方法,将通道选择与模型微调整合到单一框架中,通过可微分的二值码生成层自动识别并移除不重要的滤波器。该方法在压缩率高于以往方法的同时实现了最先进(SOTA)的准确率,在 ImageNet 和 CUB200-2011 数据集上甚至优于从零开始训练的性能。

ABSTRACT

Channel pruning is an important family of methods to speed up deep model's inference. Previous filter pruning algorithms regard channel pruning and model fine-tuning as two independent steps. This paper argues that combining them into a single end-to-end trainable system will lead to better results. We propose an efficient channel selection layer, namely AutoPruner, to find less important filters automatically in a joint training manner. Our AutoPruner takes previous activation responses as an input and generates a true binary index code for pruning. Hence, all the filters corresponding to zero index values can be removed safely after training. We empirically demonstrate that the gradient information of this channel selection layer is also helpful for the whole model training. By gradually erasing several weak filters, we can prevent an excessive drop in model accuracy. Compared with previous state-of-the-art pruning algorithms (including training from scratch), AutoPruner achieves significantly better performance. Furthermore, ablation experiments show that the proposed novel mini-batch pooling and binarization operations are vital for the success of filter pruning.

研究动机与目标

  • 为了解决现有滤波器剪枝方法将剪枝与微调视为独立、非交互步骤的局限性。
  • 探究是否可通过将剪枝整合到训练过程中,使微调引导滤波器选择。
  • 开发一种可训练的、端到端的框架,联合优化模型准确率与滤波器剪枝。
  • 实现自适应压缩率和多层剪枝,同时保持高准确率。
  • 证明通过梯度传播实现的自动、一致的滤波器剪枝可提升模型效率与性能。

提出的方法

  • 提出 AutoPruner 作为可微分、可学习的层,以特征图作为输入,输出一个 C 维的二值码,指示应剪除哪些滤波器。
  • 采用一种新颖的缩放 Sigmoid 函数,配备可学习的温度参数 α,逐步实现输出的二值化,从而在训练过程中实现从软剪枝到硬剪枝的过渡。
  • 使用小批量池化和最大池化,聚合一批样本中的激活统计信息,确保不同输入下滤波器重要性评分的一致性。
  • 应用一种促进稀疏性的损失函数,促使二值码收敛至预设的压缩率,同时允许网络自适应确定实际稀疏度。
  • 支持端到端训练,使来自通道选择层的梯度可反向传播至先前层,从而改善特征学习与剪枝准确性。
  • 通过同时在多个卷积层上应用 AutoPruner 层,支持多层剪枝,降低训练成本并提升效率。

实验结果

研究问题

  • RQ1将滤波器剪枝与模型微调整合到单一端到端可训练框架中,是否能提升模型准确率与压缩效率?
  • RQ2来自通道选择层的梯度信息是否能增强早期卷积层的训练?
  • RQ3所提方法是否能在保持高压缩率的同时,优于从零开始训练的性能?
  • RQ4不同输入批次间二值索引码的一致性如何影响剪枝的可靠性与模型准确率?
  • RQ5新颖的小批量池化与二值化操作在实现稳定有效的滤波器剪枝中起到何种作用?

主要发现

  • 在 CUB200-2011 和 ImageNet 数据集上,AutoPruner 均优于最先进滤波器剪枝方法,在相似或更高的压缩率下实现了更高的 top-1 准确率。
  • 在 ImageNet 上使用 ResNet-50 时,AutoPruner 达到 74.76% 的 top-1 准确率,超过 180 个周期从零开始训练的 73.90% 准确率。
  • 即使 SSS 剪除了整个残差块,该方法在 ResNet-50 上仍比 SSS 高出 2% 的 top-1 准确率,且 FLOPs 相当。
  • 消融实验表明,小批量池化与自适应 Sigmoid 二值化相结合至关重要——若移除 α 或池化操作,性能显著下降(例如,无 α 时准确率仅为 9.154%)。
  • 生成的二值索引码在不同输入批次间保持一致,确保被标记为零的滤波器可安全剪枝且性能无下降。
  • 来自 AutoPruner 层的梯度传播改善了早期层的训练,表明剪枝与微调之间存在相互促进的协同效益。

更好的研究,从现在开始

从论文设计到论文写作,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。