Filter pruning has emerged as a crucial technique facilitating the efficient deployment of Convolutional Neural Networks (CNNs) on edge devices. The resultant lightweight models often present a challenging trade-off between performance and compression rate. Moreover, the excessive granularity of filter selection, coupled with intricate fine-tuning procedures, hampers the practical applicability of numerous pruning methodologies. To tackle these limitations, our paper introduces a novel pruning approach that initially constructs an undirected graph, effectively capturing convolutional layer redundancy by quantifying the similarity among output feature maps. Subsequently, our method iteratively eliminates highly redundant and low-value filters, employing both k-core decomposition and importance ranking criteria. In practical implementation, we adopt a one-shot pruning strategy, thereby minimizing the requirement for extensive fine-tuning. Comprehensive comparative experiments demonstrate the efficacy of our proposed approach in achieving remarkable improvements in model compression without compromising performance. For instance, with CIFAR-10, our method achieves state-of-the-art results on DenseNet-40 with a mere 70 fine-tuning epochs, while effectively removing 49.39% of FLOPs, resulting in a mere 0.01% accuracy loss. Furthermore, in the context of ImageNet, our approach excels by removing 48.81% of FLOPs and 23.71% of parameters from ResNet-50, exhibiting only 1.47% and 0.83% decline in Top-1 and Top-5 Accuracy respectively. The code is publicly available at https://github.com/lijiang99/redundancy-graph-decomposition.
Read full abstract