Gate Decorator: Global Filter Pruning Method for Accelerating Deep Convolutional Neural Networks

Zhonghui You, Kun Yan, Jinmian Ye, Meng Ma, Ping Wang
9/18/2019
cs.CVcs.LGeess.IV

Official code: youzhonghui/gate-decorator-pruning (193 stars, Apache-2.0, last commit 2020-02-21).

Abstract

Filter pruning is one of the most effective ways to accelerate and compress convolutional neural networks (CNNs). In this work, we propose a global filter pruning algorithm called Gate Decorator, which transforms a vanilla CNN module by multiplying its output by the channel-wise scaling factors, i.e. gate. When the scaling factor is set to zero, it is equivalent to removing the corresponding filter. We use Taylor expansion to estimate the change in the loss function caused by setting the scaling factor to zero and use the estimation for the global filter importance ranking. Then we prune the network by removing those unimportant filters. After pruning, we merge all the scaling factors into its original module, so no special operations or structures are introduced. Moreover, we propose an iterative pruning framework called Tick-Tock to improve pruning accuracy. The extensive experiments demonstrate the effectiveness of our approaches. For example, we achieve the state-of-the-art pruning ratio on ResNet-56 by reducing 70% FLOPs without noticeable loss in accuracy. For ResNet-50 on ImageNet, our pruned model with 40% FLOPs reduction outperforms the baseline model by 0.31% in top-1 accuracy. Various datasets are used, including CIFAR-10, CIFAR-100, CUB-200, ImageNet ILSVRC-12 and PASCAL VOC 2011. Code is available at github.com/youzhonghui/gate-decorator-pruning

View on arXivView PDF

Code Implementations(1)

Apache-2.0

Code for the NuerIPS'19 paper "Gate Decorator: Global Filter Pruning Method for Accelerating Deep Convolutional Neural Networks"

19328Python, Jupyter NotebookSep 17, 20196 years agoApache-2.0
channel-pruning

Cite this paper

@article{you2019gate,
  title  = {Gate Decorator: Global Filter Pruning Method for Accelerating Deep Convolutional Neural Networks},
  author = {Zhonghui You and Kun Yan and Jinmian Ye and Meng Ma and Ping Wang},
  year   = {2019},
  eprint = {1909.08174},
  archivePrefix = {arXiv},
  url    = {https://arxiv.org/abs/1909.08174}
}

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/1909.08174.svg)](https://codeofpaper.com/paper/1909.08174)

Discussion