[论文解读] An Entropy-based Pruning Method for CNN Compression
本文提出一种基于熵的滤波器裁剪方法,以加速和压缩CNN,降低中间激活并通过微调保持准确性;在 VGG-16 和 ResNet-50 上实现显著的加速和压缩。
This paper aims to simultaneously accelerate and compress off-the-shelf CNN models via filter pruning strategy. The importance of each filter is evaluated by the proposed entropy-based method first. Then several unimportant filters are discarded to get a smaller CNN model. Finally, fine-tuning is adopted to recover its generalization ability which is damaged during filter pruning. Our method can reduce the size of intermediate activations, which would dominate most memory footprint during model training stage but is less concerned in previous compression methods. Experiments on the ILSVRC-12 benchmark demonstrate the effectiveness of our method. Compared with previous filter importance evaluation criteria, our entropy-based method obtains better performance. We achieve 3.3x speed-up and 16.64x compression on VGG-16, 1.54x acceleration and 1.47x compression on ResNet-50, both with about 1% top-5 accuracy decrease.
研究动机与目标
- 动机:在资源受限设备上部署时,减少CNN的计算量和内存占用。
- 引入基于熵的准则,通过激活通道的信息熵内容来评估滤波器的重要性。
- 开发一种在训练和推理阶段均可应用的裁剪策略,无需专门的库。
- 提出一种学习计划,以在裁剪速度和最终模型准确性之间取得平衡。
- 在使用 ImageNet (ILSVRC-12) 的 VGG-16 与 ResNet-50 上展示效果。
提出的方法
- 在全局平均池化后,计算激活通道的通道级熵以估计滤波器的重要性。
- 按熵值对滤波器进行排序,并通过移除低熵通道及其后续层相应通道,按固定压缩率进行裁剪。
- 对剪枝后的网络进行微调以恢复精度,并调整学习计划以提高训练速度。
- 针对不同网络结构采用定制化策略进行裁剪(例如:裁剪 VGG-16 的前几卷积层;裁剪 ResNet 区块的中间层)。
- 与基线方法(Pruning、APoZ、Taylor 展开)进行比较,并评估在 CUB-200-2011 与 Indoor-67 数据集上的领域适应性。
实验结果
研究问题
- RQ1基于熵的激活信息是否能有效识别CNN中不重要的滤波器以进行裁剪?
- RQ2基于熵的裁剪对标准CNN的速度、参数数量和中间激活内存有何影响?
- RQ3裁剪后的网络在ImageNet微调后能否保持有竞争力的准确性并迁移到其他领域?
- RQ4在如VGG-16和ResNet-50等体系结构中,哪种学习计划在裁剪速度与最终准确性之间取得最佳平衡?
主要发现
- 在 VGG-16 上,基于熵选择的裁剪实现 3.3x 的加速和 16.64x 的压缩,Top-5 损失约为 1%。
- 在 ResNet-50 上,该方法实现 1.54x 加速和 1.47x 压缩,Top-5 损失约为 1%。
- 基于熵的裁剪相较于 APoZ 和基于 Taylor 的准则有利,且在保持对现成库兼容性的同时可超越部分基线。
- 一种逐层裁剪并在步骤之间进行简短微调的学习计划,在显著减少训练时间的同时,相较于简单迭代裁剪仍能保持性能。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。