Structure pruning is an effective method to compress and accelerate neural networks. While filter and channel pruning are preferable to other structure pruning methods in terms of realistic acceleration and hardware compatibility, pruning methods with a finer granularity, such as intra-channel pruning, are expected to be capable of yielding more compact and computationally efficient networks. Typical intra-channel pruning methods utilize a static and hand-crafted pruning granularity due to a large search space, which leaves room for improvement in their pruning performance. In this work, we introduce a novel structure pruning method, termed as dynamic structure pruning, to identify optimal pruning granularities for intra-channel pruning. In contrast to existing intra-channel pruning methods, the proposed method automatically optimizes dynamic pruning granularities in each layer while training deep neural networks. To achieve this, we propose a differentiable group learning method designed to efficiently learn a pruning granularity based on gradient-based learning of filter groups. The experimental results show that dynamic structure pruning achieves state-of-the-art pruning performance and better realistic acceleration on a GPU compared with channel pruning. In particular, it reduces the FLOPs of ResNet50 by 71.85% without accuracy degradation on the ImageNet dataset. Our code is available at https://github.com/irishev/DSP.
翻译:结构剪枝是压缩和加速神经网络的有效方法。尽管在实际加速效果和硬件兼容性方面,滤波器剪枝与通道剪枝优于其他结构剪枝方法,但具有更细粒度的剪枝方法(如通道内剪枝)被认为能够生成更紧凑且计算效率更高的网络。由于搜索空间巨大,典型的通道内剪枝方法通常采用静态且手工设计的剪枝粒度,这导致其剪枝性能仍有提升空间。本文提出一种新颖的结构剪枝方法——动态结构剪枝,旨在为通道内剪枝确定最优剪枝粒度。与现有通道内剪枝方法不同,所提方法能够在训练深度神经网络的过程中自动优化各层的动态剪枝粒度。为此,我们提出一种可微分分组学习方法,通过基于梯度的滤波器组学习高效地学习剪枝粒度。实验结果表明,与通道剪枝相比,动态结构剪枝在GPU上实现了最先进的剪枝性能和更优的实际加速效果。特别地,该方法在ImageNet数据集上使ResNet50的FLOPs降低71.85%且未造成精度损失。我们的代码已发布于https://github.com/irishev/DSP。