Full-Stack Filters to Build Minimum Viable CNNs
arXiv:1908.02023
Abstract
Deep convolutional neural networks (CNNs) are usually over-parameterized, which cannot be easily deployed on edge devices such as mobile phones and smart cameras. Existing works used to decrease the number or size of requested convolution filters for a minimum viable CNN on edge devices. In contrast, this paper introduces filters that are full-stack and can be used to generate many more sub-filters. Weights of these sub-filters are inherited from full-stack filters with the help of different binary masks. Orthogonal constraints are applied over binary masks to decrease their correlation and promote the diversity of generated sub-filters. To preserve the same volume of output feature maps, we can naturally reduce the number of established filters by only maintaining a few full-stack filters and a set of binary masks. We also conduct theoretical analysis on the memory cost and an efficient implementation is introduced for the convolution of the proposed filters. Experiments on several benchmark datasets and CNN models demonstrate that the proposed method is able to construct minimum viable convolution networks of comparable performance.
arXiv commentTech report
References in corpus (14)
- Distilling the Knowledge in a Neural Network
- MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications
- Caffe: Convolutional Architecture for Fast Feature Embedding
- MobileNetV2: Inverted Residuals and Linear Bottlenecks
- Exploiting Linear Structure Within Convolutional Networks for Efficient Evaluation
- Deep Learning with Limited Numerical Precision
- Rethinking the Value of Network Pruning
- Speeding up Convolutional Neural Networks with Low Rank Expansions
- Convolutional neural networks with low-rank regularization
- Provable Bounds for Learning Some Deep Representations
- Bayesian Dark Knowledge
- ChannelNets: Compact and Efficient Convolutional Neural Networks via Channel-Wise Convolutions
- Learning Implicitly Recurrent CNNs Through Parameter Sharing
- Constructing Fast Network through Deconstruction of Convolution