Author:
Narkhede Meenal,Mahajan Shrinivas,Bartakke Prashant,Sutaone Mukul
Abstract
AbstractConvolutional Neural Networks (CNNs) use convolutional kernels to extract important low-level to high-level features from data. The performance of CNNs improves as they grow deep thereby learning better representations of the data. However, such deep CNNs are compute and memory-intensive, making deployment on resource-constrained devices challenging. To address this, the CNNs are compressed by adopting pruning strategies that remove redundant convolutional kernels from each layer while maintaining accuracy. Existing pruning methods that are based on feature map importance, only prune the convolutional layers uniformly and do not consider fully connected layers. Also, current techniques do not take into account class labels while pruning the less important feature maps and do not explore the need for retraining after pruning. This paper presents pruning techniques to prune convolutional and fully connected layers. This paper proposes a novel class-specific pruning strategy based on finding feature map importance in terms of entropy for convolutional layers and the number of incoming zeros to neurons for fully connected layers. The class-specific approach helps to have a different pruning threshold for every convolutional layer and ensures that the pruning threshold is not influenced by any particular class. A study on the need for retraining the entire network or a part of the network after pruning is also carried out. For Intel image, CIFAR10 and CIFAR100 datasets the proposed pruning method has compressed AlexNet by 83.2%, 87.19%, and 79.7%, VGG-16 by 83.7%, 85.11%, and 84.06% and ResNet-50 by 62.99%, 62.3% and 58.34% respectively.
Publisher
Springer Science and Business Media LLC