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获得。