模型剪枝经典论文精读:Importance Estimation for Neural Network Pruning
2026/7/16 4:28:42 网站建设 项目流程

一、论文基本信息

论文题目:Importance Estimation for Neural Network Pruning

作者:Pavlo Molchanov、Arun Mallya、Stephen Tyree、Iuri Frosio、Jan Kautz

发表信息:CVPR 2019

论文链接:CVF Open Access / arXiv

官方代码:NVlabs/Taylor_pruning

这篇论文发表于CVPR 2019,由 NVIDIA 研究团队提出。论文的核心目标是:估计神经元或 filter 对最终 loss 的贡献,然后迭代删除贡献最小的结构单元。CVF 页面显示该论文收录于Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, 2019, pp. 11264–11272

官方代码仓库为NVlabs/Taylor_pruning。仓库 README 明确说明该代码用于复现论文Importance Estimation for Neural Network Pruning的结果,代码基于 PyTorch,并提供了 ResNet-50 / ResNet-101 等 ImageNet 剪枝配置。


二、论文要解决的问题

在这篇论文之前,很多结构化剪枝方法使用比较简单的启发式指标,例如:

L1 / L2 weight magnitude: 权重范数越小,越不重要。 BN scale: BatchNorm gamma 越小,通道越不重要。 Activation magnitude: 激活越小,通道越不重要。

这些方法有一个共同假设:

权重越小,贡献越小; 激活越小,贡献越小; BN gamma 越小,通道越不重要。

但是这篇论文质疑了这个假设。作者指出,权重大小和真实重要性之间可能存在明显差距;真正应该关心的是:删掉某个 filter 后,网络 loss 会增加多少。论文在引言中明确指出,很多方法依赖 weight magnitude 与 importance 强相关的假设,但作者观察到 weight-based pruning decision 与经验最优 one-step decision 之间存在明显相关性差距。

所以,这篇论文要解决的问题是:

不是问: 这个 filter 的权重大不大? 而是问: 如果删掉这个 filter, loss 会变化多少?

如果删掉某个 filter 后 loss 几乎不变,说明它不重要,可以优先剪掉。

如果删掉某个 filter 后 loss 明显上升,说明它重要,应该保留。


三、核心思想

这篇论文的核心思想可以概括为一句话:

用 Taylor 展开近似估计删除某个神经元 / filter 引起的 loss 变化,并把这个 loss 变化作为重要性分数。

最理想的 filter 重要性定义是:

真实重要性 = 删除该 filter 前后的 loss 差异

但是,如果网络里有很多 filters,逐个删除、逐个前向评估,会非常昂贵。

假设网络中有 (M) 个可剪单元,如果要精确计算每个单元的重要性,就需要构造 (M) 个删减版本并分别计算 loss。

这显然不适合大模型。

所以论文使用 Taylor expansion 近似:

真实删除影响: E(W) - E(W | w_m = 0) Taylor 近似: 用梯度和参数值估计这个变化

这就把一个高成本的 brute-force evaluation 问题,变成了一个几乎可以从反向传播中直接得到的 gradient-based scoring 问题。论文摘要中也明确说,作者提出了一阶和二阶 Taylor expansion 两种方式来近似 filter contribution。


四、方法细节

4.1 剪枝重要性的理想定义

给定网络参数:

训练目标是最小化误差:

剪枝可以理解为在训练目标中加入约束:

但是优化是非凸、NP-hard 的,需要组合搜索,因此不可直接求解。论文在方法部分明确指出,minimization 没有高效优化方式,因为它非凸、NP-hard,并且需要 combinatorial search。

于是,论文采用 greedy pruning 思路:每次删除一小批当前最不重要的神经元 。

对某个参数 (w_m),真实重要性定义为删除它前后的 loss 差异平方:

这个定义非常直观:

删掉它,loss 变化大: 重要性高。 删掉它,loss 变化小: 重要性低。

但问题是:直接计算每个需要评估很多个删减网络,计算代价太高。


4.2 一阶 Taylor 重要性

论文用 Taylor 展开近似删除参数造成的 loss 变化。

对单个参数,一阶近似可以写成:

其中:

也就是说:

参数重要性 ≈ 参数值 × loss 对该参数的梯度

再平方后作为正的重要性分数。

直观理解:

w_m 很大,但梯度很小: 删掉它对 loss 不一定敏感。 w_m 很小,但梯度很大: 它可能仍然很重要。 w_m × g_m 大: 说明 loss 对删除该参数比较敏感。

论文指出,一阶形式很容易计算,因为梯度 (g) 在反向传播中已经可用。


4.3 二阶 Taylor 重要性

论文也给出了二阶 Taylor 近似:

其中:

  • H:Hessian 矩阵;

  • :Hessian 的第 (m) 行;

  • :一阶梯度。

二阶项理论上更精确,因为它考虑了 loss 曲率。

但是它的问题也很明显:

需要 Hessian 或 Hessian 近似; 显存和计算成本更高; 大规模 ImageNet 网络上难以使用。

论文在实现细节中说明,完整 Hessian 计算非常昂贵,因此使用 diagonal approximation;在 ImageNet 实验中,由于内存限制,不能计算 Hessian,所以大规模实验主要使用一阶 Taylor criterion。


4.4 从单个参数到整个 filter

结构化剪枝不是删除单个 weight,而是删除一个 filter / neuron。

一个 filter 包含一组参数:

论文给出两种结构单元重要性估计方式。

第一种是group contribution

第二种是individual importance sum

二者区别是:

group contribution: 先把所有 g_s w_s 加起来,再平方。 更强调整个 filter 作为一个整体的贡献。 individual importance sum: 每个参数先算重要性,再求和。 更像参数级贡献累加。

论文后续主要使用 gate 形式来简化 filter / neuron 级别的重要性计算。


4.5 Gate:让 filter 重要性更容易计算

论文引入了一个很重要的技巧:在每个 neuron / feature map 后面加一个 gate。

设 gate 为:

它的初始值固定为 1,不参与普通优化。

如果某个 gate 置为 0,就等价于关闭对应 neuron / feature map。

加入 gate 后,重要性可以写成:

这个形式非常方便。因为 gate 本身恒为 1,所以不需要再显式乘参数值;对 gate 的梯度已经隐式包含了前一层 filter 权重和 bias 对 loss 的贡献。

论文指出,gate 可以简化重要性分数计算,因为 gate 不参与优化、值恒定,并且可以隐式合并 filter weights 和 bias 的贡献。

直观理解:

给每个 filter 输出加一个开关 gate。 如果 loss 对这个 gate 的梯度很小: 说明关掉这个 gate 影响小; 对应 filter 可以剪掉。 如果 loss 对这个 gate 的梯度很大: 说明关掉它会明显影响 loss; 对应 filter 应该保留。

4.6 Taylor-FO-BN:为什么 gate 放在 BN 后面?

论文比较了多种实现方式:

Conv weight BN scale Gate after BN Gate after BN - full gradient Taylor-output

最终发现,在 ImageNet 的 ResNet / VGG / DenseNet 上,Gate after BN的相关性最好,也就是把 gate 放在 BatchNorm 后面。论文把这种主要方法称为:

Taylor-FO-BN

其中:

Taylor: Taylor expansion FO: First Order,一阶近似 BN: gate 放在 BatchNorm 后

论文的相关性实验显示,Gate after BN 在 ResNet-101、VGG11-BN、DenseNet-201 上都能和真实 oracle importance 保持很高相关性;其中 All layers Spearman 相关性在三个网络上均超过 93%。

这说明 Taylor-FO-BN 的分数不仅能在单层内部排序,也具有跨层比较能力。


4.7 与 Fisher Information 的关系

论文还指出,一阶 Taylor gate importance 可以解释为 gradient variance,也可以看作 Fisher Information Matrix 的对角线近似。

简单理解:

如果某个 gate 的梯度方差很大, 说明 loss 对该 gate 很敏感; 这个 gate 对应的 filter 更重要。

论文在方法部分说明,在 log-likelihood loss 下,gradient 的方差等于 Fisher information matrix 的期望外积,因此提出的 metric 可以解释为 variance estimate,也可以解释为 Fisher information matrix 的 diagonal。

这给 Taylor pruning 提供了更强的理论解释:它不是随便构造的启发式指标,而是和 loss sensitivity / Fisher information 有联系。


五、完整剪枝算法流程

论文的剪枝流程是iterative pruning + fine-tuning

整体过程如下:

输入: 一个预训练网络 目标剪枝比例 一阶 Taylor importance criterion Step 1: 在可剪位置加入 gate。 通常放在 BN 后面。 Step 2: 用小学习率 fine-tune 网络。 Step 3: 每个 mini-batch 反向传播时, 计算每个 gate 的梯度。 Step 4: 根据 gate 梯度计算每个 filter 的重要性分数。 Step 5: 累积多个 mini-batch 的 importance score。 Step 6: 每隔一定 mini-batches, 删除 importance 最小的一批 filters。 Step 7: 继续 fine-tuning。 Step 8: 重复 pruning + fine-tuning, 直到达到目标剪枝数量。

论文 Algorithm 的核心正是:每个 mini-batch 更新网络权重并计算重要性;经过若干 mini-batches 后,对重要性取平均,然后删除 (N) 个最小分数的 neurons / filters。


六、关键公式

6.1 真实重要性


6.2 一阶 Taylor 参数重要性


6.3 二阶 Taylor 参数重要性


6.4 Filter / group 重要性


6.5 参数重要性求和


6.6 Gate 形式的重要性

其中是对应 filter / neuron 后面的 gate。


七、实验设置

论文在CIFAR-10ImageNet ILSVRC2012上验证。CIFAR-10 主要用于分析 oracle、Taylor 一阶、Taylor 二阶、weight magnitude 等指标之间的相关性;ImageNet 上测试了 ResNet-34、ResNet-50、ResNet-101、VGG11-BN 和 DenseNet-201 等模型。

ImageNet 实验使用 PyTorch 默认预训练模型作为起点;数据预处理包括将图像短边 resize 到 256、随机裁剪 (224\times224)、随机水平翻转、标准化,测试时使用中心裁剪。

ImageNet 剪枝 fine-tuning 设置包括:

4 GPUs batch size = 256 SGD 初始学习率 0.01 或 0.001 每 10 epochs 衰减 10 倍 momentum = 0.9 pruning + fine-tuning 共 25 epochs 每 30 mini-batches 删除 100 个 neurons

这些设置来自论文 ImageNet pruning and fine-tuning 部分。


八、实验结果解读

8.1 Taylor-FO-BN 与 oracle 高相关

论文首先研究不同剪枝准则与真实 importance 的相关性。

真实 importance 的估计方式是:

逐个 filter 置零 ↓ 计算 loss 变化 ↓ 得到 oracle ranking

结果显示,Taylor-FO-BN 和 oracle ranking 的相关性非常高。在 ResNet-101、VGG11-BN、DenseNet-201 上,All layers Spearman correlation 均超过 93%。相比之下,weight magnitude 和 BN scale 的相关性明显较低。

这说明:

只看权重大小,并不能可靠判断 filter 重要性; 用 loss sensitivity / Taylor gradient 估计更接近真实删除影响。

这也是论文最核心的实验论证。


8.2 一阶 Taylor 足够有效,二阶成本太高

论文在 CIFAR-10 和小模型上比较了一阶 Taylor 和二阶 Taylor。

结论是:

一阶和二阶 Taylor 相关性都不错; 二阶理论上更完整; 但一阶计算更快、显存更低; 大规模 ImageNet 实验主要使用一阶。

论文明确指出,经过 LeNet3 和 ResNet-18 / CIFAR-10 实验后,作者观察到一阶和二阶 Taylor criteria 表现接近;由于 Taylor FO 更快且内存占用更低,因此 ImageNet 大模型实验使用一阶 criterion。

这也解释了为什么后续很多论文更常用一阶 Taylor pruning。


8.3 ResNet-101 / ImageNet:40% FLOPs reduction 几乎不掉点

在 ResNet-101 / ImageNet 上,原始模型:

GFLOPs = 7.80 Params = 4.47 × 10^7 Top-1 error = 22.63%

Taylor-FO-BN-75%:

GFLOPs = 4.70 Params = 3.12 × 10^7 Top-1 error = 22.65%

也就是说,剪掉约 40% FLOPs 和 30% 参数后,Top-1 error 只增加 0.02%。论文摘要和实验部分都强调了这个结果。

这个实验说明:

Taylor importance 能在大规模 ResNet 上找到较安全的冗余 filters; 适度剪枝时几乎不损失 ImageNet 精度。

8.4 ResNet-50 / ImageNet:优于 ThiNet、NISP、SSS 等方法

在 ResNet-50 上,论文报告:

No pruning: GFLOPs = 4.09 Params = 2.56 × 10^7 Top-1 error = 23.82% Taylor-FO-BN-72%: GFLOPs = 2.25 Params = 1.42 × 10^7 Top-1 error = 25.50% Taylor-FO-BN-81%: GFLOPs = 2.66 Params = 1.79 × 10^7 Top-1 error = 24.52% Taylor-FO-BN-91%: GFLOPs = 3.27 Params = 2.26 × 10^7 Top-1 error = 23.57%

论文表 3 中,Taylor-FO-BN 在多个压缩点上相比 ThiNet、NISP、SSS 等方法具有更好的 accuracy / FLOPs trade-off。

尤其值得注意的是,Taylor-FO-BN-91% 的 Top-1 error 甚至略低于未剪枝模型,这说明轻度结构化剪枝有时也能起到正则化效果。


8.5 剪 skip connection 很重要

论文不仅剪普通卷积通道,还尝试在 ResNet 的 skip connections 上加 gate,并一起估计重要性。

结果显示,Taylor criterion 对 skip connections 也有较高相关性;因此作者在 ResNet 中同时剪 bottleneck layers 和 skip connections,并把该方法称为 Taylor-FO-BN。论文指出,不剪 skip connections 的变体在 ResNet-50 上有更明显精度损失。

这点很重要,因为很多早期剪枝方法会避开残差连接,只剪 block 内部层;而这篇论文说明:

如果重要性估计尺度足够一致, skip connection 也可以纳入统一剪枝过程。

8.6 迭代剪枝优于一次性剪枝

论文还比较了一次性剪掉大量 neurons 和迭代剪枝。

结果显示,一次性剪掉 10000 个 neurons 后再 fine-tuning,Top-1 error 为 25.3%,比 Taylor-FO-BN-50% 高 0.68%。作者认为,这说明剪枝过程中反复重新评估 importance 是有必要的。

原因很直观:

剪掉一批 filters 后, 网络结构和特征分布会变化; 原来的 importance ranking 不一定仍然准确; 所以需要迭代重新计算。

这和 Gate Decorator 的 Tick-Tock、CHIP 的重新校准思想是一致的。


九、方法优点

9.1 直接估计 loss sensitivity

这篇论文最大的优点是:它不再依赖权重大小这种间接指标,而是直接估计删除某个 filter 对 loss 的影响。

这比单纯 L1 / L2 norm 更接近剪枝真正目标。


9.2 可以跨层全局比较

Taylor-FO-BN 的重要性分数在不同层之间具有较好尺度一致性。论文强调,该方法不需要 per-layer sensitivity analysis,可以跨网络层一致缩放,并且可以应用于包括 skip connections 在内的各种层。

这使它比逐层固定比例剪枝更灵活。


9.3 计算开销较低

一阶 Taylor 只需要反向传播中的梯度,因此实现成本相对较低。

相比逐个 filter 删除并评估 loss,它极大降低了 importance estimation 的计算量。


9.4 支持不同网络结构

论文在 ResNet、VGG、DenseNet 上都进行了实验,说明该方法不局限于简单 sequential CNN。

尤其是它能处理 skip connection,这对 ResNet 系列很重要。


9.5 理论解释较清楚

该方法可以从 Taylor expansion、loss sensitivity、Fisher information diagonal 等角度解释,不只是一个经验启发式指标。


十、方法局限

10.1 仍然是一阶近似

一阶 Taylor 只是在当前参数点附近近似 loss 变化。

但真正删除一个 filter 是较大的结构扰动,可能超出局部线性近似范围。

因此,它仍然可能误判某些 filter 的长期重要性。


10.2 需要反向传播和数据

该方法依赖梯度,所以需要一批训练或校准数据进行 forward/backward。

相比纯权重范数剪枝,它不是完全 data-free。


10.3 仍需要 fine-tuning

剪枝后模型必须继续 fine-tuning 才能恢复精度。

论文中的 ImageNet 实验也是 pruning + fine-tuning 共 25 epochs,而不是直接剪完就部署。


10.4 二阶方法成本较高

虽然二阶 Taylor 更接近真实 loss 曲率,但 Hessian 计算成本和显存开销都很高。

论文在 ImageNet 中主要使用一阶方法,本质上也是工程成本限制。


10.5 对 Transformer / LLM 不能直接照搬

这篇论文主要面向 CNN 的 neurons / filters / feature maps。

对于 ViT、LLM、VLM,剪枝对象可能变成:

attention heads MLP neurons tokens layers vision tokens KV cache entries

不过思想可以迁移:

给结构单元加 gate ↓ 计算 loss 对 gate 的梯度 ↓ 用 Taylor 近似估计删除该单元的影响 ↓ 剪掉低 importance 单元

所以它对后续 head pruning、neuron pruning、token pruning 都有启发意义。


十一、和前面论文的关系

这篇论文可以和前面几篇形成清晰对比:

L1 Filter Pruning: 看 filter 权重范数。 FPGM: 看 filter 在权重空间中的几何冗余。 HRank: 看 feature map 的 rank。 CHIP: 看 feature maps 之间的独立性。 Gate Decorator: 用 gate × gradient 的 Taylor loss 变化做全局排序。 Importance Estimation: 系统地从 Taylor expansion 出发, 估计删除 neuron / filter 对 loss 的贡献。

尤其是和Gate Decorator很接近。二者都使用 gate 和 Taylor 思想。

区别是:

Importance Estimation: 更系统地分析一阶 / 二阶 Taylor importance; 强调与 oracle importance 的相关性; 在 ResNet / VGG / DenseNet 上验证跨层一致性。 Gate Decorator: 更强调 global filter importance ranking; 引入 GBN、Tick-Tock、Group Pruning 等完整框架。

十二、一句话总结

《Importance Estimation for Neural Network Pruning》提出用 Taylor expansion 近似估计删除神经元 / filter 对 loss 的影响,并以此作为结构化剪枝的重要性分数;其中一阶 Taylor-FO-BN 方法只需利用反向传播中的 gate 梯度,就能实现跨层一致的重要性估计,在 ResNet、VGG、DenseNet 等 ImageNet 模型上取得优于传统 weight magnitude 和 BN scale 的剪枝效果。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询