Importance Estimation for Neural Network Pruning

Pavlo Molchanov, Arun Mallya, Stephen Tyree, Iuri Frosio, Jan Kautz
6/25/2019
cs.LGcs.CVstat.ML

Official code: NVlabs/Taylor_pruning (323 stars, last commit 2019-11-03).

Abstract

Structural pruning of neural network parameters reduces computation, energy, and memory transfer costs during inference. We propose a novel method that estimates the contribution of a neuron (filter) to the final loss and iteratively removes those with smaller scores. We describe two variations of our method using the first and second-order Taylor expansions to approximate a filter's contribution. Both methods scale consistently across any network layer without requiring per-layer sensitivity analysis and can be applied to any kind of layer, including skip connections. For modern networks trained on ImageNet, we measured experimentally a high (>93%) correlation between the contribution computed by our methods and a reliable estimate of the true importance. Pruning with the proposed methods leads to an improvement over state-of-the-art in terms of accuracy, FLOPs, and parameter reduction. On ResNet-101, we achieve a 40% FLOPS reduction by removing 30% of the parameters, with a loss of 0.02% in the top-1 accuracy on ImageNet. Code is available at https://github.com/NVlabs/Taylor_pruning.

View on arXivView PDF

Code Implementations(1)

Pruning Neural Networks with Taylor criterion in Pytorch

32367PythonMar 29, 20196 years agoNOASSERTION

Cite this paper

@article{molchanov2019importance,
  title  = {Importance Estimation for Neural Network Pruning},
  author = {Pavlo Molchanov and Arun Mallya and Stephen Tyree and Iuri Frosio and Jan Kautz},
  year   = {2019},
  eprint = {1906.10771},
  archivePrefix = {arXiv},
  url    = {https://arxiv.org/abs/1906.10771}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/1906.10771.svg)](https://codeofpaper.com/paper/1906.10771)

Discussion