[论文解读] Group Fisher Pruning for Practical Network Compression
本文提出 Group Fisher Pruning,是一种通用的通道剪枝框架,能够处理耦合通道的复杂体系结构,通过自动分组层、共享掩码,并使用基于内存的 Fisher 信息来为通道重要性打分,在实际 GPU 加速方面实现更好的现实世界加速。
Network compression has been widely studied since it is able to reduce the memory and computation cost during inference. However, previous methods seldom deal with complicated structures like residual connections, group/depth-wise convolution and feature pyramid network, where channels of multiple layers are coupled and need to be pruned simultaneously. In this paper, we present a general channel pruning approach that can be applied to various complicated structures. Particularly, we propose a layer grouping algorithm to find coupled channels automatically. Then we derive a unified metric based on Fisher information to evaluate the importance of a single channel and coupled channels. Moreover, we find that inference speedup on GPUs is more correlated with the reduction of memory rather than FLOPs, and thus we employ the memory reduction of each channel to normalize the importance. Our method can be used to prune any structures including those with coupled channels. We conduct extensive experiments on various backbones, including the classic ResNet and ResNeXt, mobile-friendly MobileNetV2, and the NAS-based RegNet, both on image classification and object detection which is under-explored. Experimental results validate that our method can effectively prune sophisticated networks, boosting inference speed without sacrificing accuracy.
研究动机与目标
- 在具有复杂结构的网络中推动并解决剪枝问题(残差、组卷积/深度卷积、特征金字塔网络 FPN),其中通道在层之间耦合。
- 提出一种层分组算法,用于自动识别应当一起剪枝的耦合通道。
- 为单通道和耦合通道开发统一的、基于 Fisher 信息的重要性度量。
- 通过内存减少来归一化通道重要性,以便更好地与实际的 GPU 加速相关联。
- 在分类和目标检测的骨干网络与体系结构上展示该方法的有效性。
提出的方法
- 引入一个二进制通道掩码,对于每个输入通道初始化为1。
- 通过在计算图上的 DFS 构建层分组算法,以形成耦合通道的组并在组内共享掩码。
- 使用基于 Fisher 信息的损失变化近似来估计通道重要性 s_i,近似为掩码梯度平方。
- 按照链式法则,通过对组中所有通道的梯度求和来计算耦合通道的重要性。
- 通过迭代将最不重要的掩码置零并对模型进行微调来剪枝。
- 通过内存减少来归一化通道重要性(而非 FLOPs),以选择在实际 GPU 上能获得更好速度提升的通道。
实验结果
研究问题
- RQ1如何在复杂架构中识别并高效剪枝耦合通道?
- RQ2在耦合通道之间共享掩码是否会带来比单独剪枝更好的实际推理加速,同时不牺牲精度?
- RQ3内存减少是否比 FLOPs 更适合作为归一化代理,以使剪枝决策与 GPU 加速相关?
- RQ4基于 Fisher 信息的通道重要性是否能够扩展到如 GConv、DWConv 和基于 FPN 的网络等结构?
- RQ5Group Fisher Pruning 对多样化的骨干网和任务(分类和目标检测)的影响是什么?
主要发现
- 该方法在保持精度的同时实现对含有残差连接、组卷积、深度卷积和特征金字塔的网络进行剪枝。
- 层分组和掩码共享带来比剪枝独立通道更高的实际速度提升。
- 内存归一化的 Fisher 重要性在准确性-速度权衡方面优于未归一化、FLOPs 归一化和不考虑内存的方法。
- 在 ResNet、ResNeXt、MobileNetV2、RegNet 及检测框架上的实验显示,在精度损失极小的情况下实现显著的 GPU 加速。
- 在分类与检测任务中,在可比 FLOPs 约束下,该方法优于若干 SoTA 剪枝方法。
更好的研究,从现在开始
从论文设计到论文写作,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。