[论文解读] Structured Probabilistic Pruning for Convolutional Neural Network Acceleration
SPP 引入面向 CNN 的概率化、结构化剪枝,在加速模型的同时允许对先前被剪枝的权重进行恢复,并逐步调整剪枝概率;在 AlexNet、VGG-16 和 ResNet-50 上实现了在极小精度损失下的明显加速。
In this paper, we propose a novel progressive parameter pruning method for Convolutional Neural Network acceleration, named Structured Probabilistic Pruning (SPP), which effectively prunes weights of convolutional layers in a probabilistic manner. Unlike existing deterministic pruning approaches, where unimportant weights are permanently eliminated, SPP introduces a pruning probability for each weight, and pruning is guided by sampling from the pruning probabilities. A mechanism is designed to increase and decrease pruning probabilities based on importance criteria in the training process. Experiments show that, with 4x speedup, SPP can accelerate AlexNet with only 0.3% loss of top-5 accuracy and VGG-16 with 0.8% loss of top-5 accuracy in ImageNet classification. Moreover, SPP can be directly applied to accelerate multi-branch CNN networks, such as ResNet, without specific adaptations. Our 2x speedup ResNet-50 only suffers 0.8% loss of top-5 accuracy on ImageNet. We further show the effectiveness of SPP on transfer learning tasks.
研究动机与目标
- 通过在移动/嵌入式部署场景下降低计算量和存储需求来推动 CNN 的加速
- 提出一个概率化、结构化的剪枝框架,使权重在训练过程中能够重新获得重要性
- 在多样化的架构(AlexNet、VGG-16、ResNet-50)和任务(ImageNet、CIFAR-10、迁移学习)上证明有效性
- 提供在保持结构化稀疏性且兼容标准深度学习工具链方面的实用指南
提出的方法
- 为每个权重组(例如权重矩阵的列)分配一个剪枝概率 p,并通过按 p 的分布进行采样来实现剪枝
- 基于一个基于重要性准则的竞争机制更新 p,使用权重组 L1 范数的秩来确定增量 Δ(r)
- 使用中心对称的指数函数 Δ(r) 控制剪枝增量,确保在最终阶段恰好有 RNc 个组被剪枝
- 所有层同时(非逐层)剪枝以获得可预测的运行时间;通过蒙特卡罗采样从 p 生成掩码 g,并在训练中应用掩码
- 每 t 次迭代更新 p,剪枝达到目标比率 R 后重新训练以恢复准确度
- 提供一个实用算法(Algorithm 1)和默认超参数(A=0.05, u=0.25, t=180)
实验结果
研究问题
- RQ1在常见架构和数据集上, probabilistic, structured pruning (SPP) 是否能够在保持精度的同时加速 CNN?
- RQ2允许剪枝概率恢复(而非永久性提前剪枝)是否相较于确定性剪枝能提升最终模型性能?
- RQ3SPP 在多分支网络(如 ResNet)和迁移学习场景中的表现如何?
- RQ4在真实硬件上可实现的实际加速比是多少,与理论 FLOP 减少之间有什么关系?
- RQ5哪些剪枝准则和更新 schedules 在不同架构下能达到鲁棒结果?
主要发现
| Method | 2x | 4x | 6x | 8x | 10x | Increase in Err (%) |
|---|---|---|---|---|---|---|
| TP Molchanov et al. (2017) | 3.9 | 9.2 | 13.9 | - | - | - |
| FP Li et al. (2017) (impl.) | 0.6 | 4.1 | 4.7 | - | - | - |
| SSL Wen et al. (2015) | 1.3 | 4.3 | 5.3 | - | - | - |
| SPP (ours) | 0 | 0.3 | 1.2 | 1.5 | 2.4 | - |
- SPP 在 ImageNet 的 AlexNet 上实现了 4x 加速,顶端 5 精度损失仅为 0.3%。
- SPP 在 VGG-16 上实现了 4x 加速,顶端 5 精度损失在 0.3%–0.8% 之间,具体取决于设置(2x 时为 0.3%,4x 时最高到 0.8%)。
- SPP 在 ImageNet 的 ResNet-50 上实现了 2x 加速,顶端 5 精度损失为 0.8%。
- SPP 可以应用于多分支网络且不需要特殊适配,在 CPU 实现上显示出实际加速。
- SPP 展现了迁移学习收益,在 Oxford Flower-102 的迁移任务中优于 Taylor Pruning。
- 在 CIFAR-10 与 ImageNet 的场景中,SPP 在相似加速下通常在精度上优于竞争的结构化剪枝方法(TP、FP、SSL、CP)。
更好的研究,从现在开始
从论文设计到论文写作,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。