Pruning-aware Sparse Regularization for Network Pruning
This addresses the issue of under-fitting in pruning methods for deep convolutional neural networks, offering improved efficiency with minimal accuracy trade-offs, though it is incremental as it builds on existing sparsity-training-based approaches.
The paper tackles the problem of performance degradation in structural neural network pruning by proposing MaskSparsity, a method with pruning-aware sparse regularization that applies regularization only to specific filters selected by a pruning mask, achieving 63.03% FLOPs reduction on ResNet-110 with no accuracy loss on CIFAR-10 and over 51.07% FLOPs reduction on ResNet-50 with only 0.76% accuracy loss on ILSVRC-2012.
Structural neural network pruning aims to remove the redundant channels in the deep convolutional neural networks (CNNs) by pruning the filters of less importance to the final output accuracy. To reduce the degradation of performance after pruning, many methods utilize the loss with sparse regularization to produce structured sparsity. In this paper, we analyze these sparsity-training-based methods and find that the regularization of unpruned channels is unnecessary. Moreover, it restricts the network's capacity, which leads to under-fitting. To solve this problem, we propose a novel pruning method, named MaskSparsity, with pruning-aware sparse regularization. MaskSparsity imposes the fine-grained sparse regularization on the specific filters selected by a pruning mask, rather than all the filters of the model. Before the fine-grained sparse regularization of MaskSparity, we can use many methods to get the pruning mask, such as running the global sparse regularization. MaskSparsity achieves 63.03%-FLOPs reduction on ResNet-110 by removing 60.34% of the parameters, with no top-1 accuracy loss on CIFAR-10. On ILSVRC-2012, MaskSparsity reduces more than 51.07% FLOPs on ResNet-50, with only a loss of 0.76% in the top-1 accuracy. The code is released at https://github.com/CASIA-IVA-Lab/MaskSparsity. Moreover, we have integrated the code of MaskSparity into a PyTorch pruning toolkit, EasyPruner, at https://gitee.com/casia_iva_engineer/easypruner.