[论文解读] Provable Filter Pruning for Efficient Neural Networks
该论文提出了一种可证明高效的卷积神经网络滤波器剪枝方法,利用数据驱动的重要性采样识别并移除冗余滤波器。通过使用小批量数据计算滤波器敏感度,并按敏感度成比例进行剪枝,该方法在模型准确率和稀疏性方面提供了理论保证,且在CIFAR-10上的多个架构中,持续优于当前最先进方法,在准确率、参数量减少和FLOP效率方面表现更优。
We present a provable, sampling-based approach for generating compact Convolutional Neural Networks (CNNs) by identifying and removing redundant filters from an over-parameterized network. Our algorithm uses a small batch of input data points to assign a saliency score to each filter and constructs an importance sampling distribution where filters that highly affect the output are sampled with correspondingly high probability. In contrast to existing filter pruning approaches, our method is simultaneously data-informed, exhibits provable guarantees on the size and performance of the pruned network, and is widely applicable to varying network architectures and data sets. Our analytical bounds bridge the notions of compressibility and importance of network structures, which gives rise to a fully-automated procedure for identifying and preserving filters in layers that are essential to the network's performance. Our experimental evaluations on popular architectures and data sets show that our algorithm consistently generates sparser and more efficient models than those constructed by existing filter pruning approaches.
研究动机与目标
- 为在资源受限设备上部署大型过参数化CNN模型,通过实现高效、紧凑的模型压缩来应对挑战。
- 克服基于启发式方法的滤波器剪枝的局限性,这些方法缺乏理论保证且需要手动调整超参数。
- 开发一种完全自动化、数据驱动的剪枝流程,在最大化稀疏性的同时保持网络性能。
- 建立滤波器可压缩性与重要性之间的理论边界,实现可证明的性能保证。
- 通过生成结构化、滤波器剪枝的子网络,在标准深度学习库中实现高模型效率。
提出的方法
- 该方法通过‘滤波器敏感度’定义滤波器重要性,即利用小批量数据计算每个滤波器的特征图对下一层输出的相对贡献。
- 构建重要性采样分布,使每个滤波器按其敏感度得分成比例采样,从而实现低方差估计。
- 通过从该分布中采样来剪枝滤波器,仅保留采样到的滤波器,形成更纤细且结构化的子网络。
- 剪枝过程按层迭代执行,随后进行微调,形成剪枝-微调循环以维持性能。
- 理论分析建立了剪枝网络规模与泛化误差的可证明边界,将可压缩性与滤波器重要性联系起来。
- 由于滤波器剪枝带来的结构化稀疏性,该方法与架构无关,且与标准深度学习框架兼容。
实验结果
研究问题
- RQ1能否设计一种滤波器剪枝方法,在不依赖启发式方法的前提下,对模型准确率和稀疏性提供可证明的保证?
- RQ2如何以数据驱动、计算高效的方式量化滤波器重要性,以真实反映其对网络输出的影响?
- RQ3能否基于敏感度采样建立关于可压缩性与性能的理论边界?
- RQ4能否开发一种完全自动化、无需超参数调整的剪枝流程,使其在稀疏性与准确率方面均优于现有方法?
- RQ5通过敏感度采样进行滤波器剪枝,是否相比权重剪枝或基于大小的方法能带来更好的泛化性与效率?
主要发现
- 在ResNet20上,该方法实现了43.16%的参数量减少,同时保持8.64%的错误率,与原始模型相比仅出现0.04%的准确率下降。
- 在ResNet110上,剪枝后的模型实现了89.15%的参数量减少和86.97%的FLOP减少,测试错误率为6.35%,比原始模型高出0.08%。
- 在VGG16上,该方法实现了87.06%的参数量减少,同时将错误率从7.28%降低至7.17%,在稀疏性与准确率方面均优于所有基线方法。
- 在所有评估的模型中,该方法生成了最稀疏的模型且测试错误率最低,甚至在某些情况下剪枝后的模型准确率超过了原始模型。
- 该方法在参数量减少、FLOP减少和错误率稳定性方面,持续优于当前最先进方法,如He et al. (2019) 和 Li et al. (2016)。
- 理论分析证实,可压缩性更高的层(即敏感度更低的层)对网络影响较小,从而可有效优先保留关键滤波器。
更好的研究,从现在开始
从论文设计到论文写作,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。