Learning to Prune Filters in Convolutional Neural Networks
Authors:
- Qiangui HuangQHQiangui Huang
- Kevin ZhouKZKevin Zhou
- Suya YouSYSuya You
- Ulrich NeumannUNUlrich Neumann
- 1 March 2018
- conference paper
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- p. 709-718
Abstract
Many state-of-the-art computer vision algorithms use large scale convolutional neural networks (CNNs) as basic building blocks. These CNNs are known for their huge number of parameters, high redundancy in weights, and tremendous computing resource consumptions. This paper presents a learning algorithm to simplify and speed up these CNNs. Specifically, we introduce a “try-and-learn” algorithm to train pruning agents that remove unnecessary CNN filters in a data-driven way. With the help of a novel reward function, our agents removes a significant number of filters in CNNs while maintaining performance at a desired level. Moreover, this method provides an easy control of the tradeoff between network performance and its scale. Performance of our algorithm is validated with comprehensive pruning experiments on several popular CNNs for visual recognition and semantic segmentation tasks.Keywords
All Related Versions
This publication has 11 references indexed in Scilit:
- Channel Pruning for Accelerating Very Deep Neural Networks2017
- Coordinating Filters for Faster Deep Neural Networks2017
- More is Less: A More Complicated Network with Less Inference Complexity2017
- EIEACM SIGARCH Computer Architecture News, 2016
- Accelerating Very Deep Convolutional Networks for Classification and DetectionIEEE Transactions on Pattern Analysis and Machine Intelligence, 2015
- Going deeper with convolutions2015
- Fully convolutional networks for semantic segmentation2015
- Data-free Parameter Pruning for Deep Neural Networks2015
- Semantic object classes in video: A high-definition ground truth databasePattern Recognition Letters, 2009
- Simple Statistical Gradient-Following Algorithms for Connectionist Reinforcement Learning1992