Dynamic Deep Neural Networks: Optimizing Accuracy-Efficiency Trade-offs by Selective Execution
arXiv:1701.00299
Abstract
We introduce Dynamic Deep Neural Networks (D2NN), a new type of feed-forward deep neural network that allows selective execution. Given an input, only a subset of D2NN neurons are executed, and the particular subset is determined by the D2NN itself. By pruning unnecessary computation depending on input, D2NNs provide a way to improve computational efficiency. To achieve dynamic selective execution, a D2NN augments a feed-forward deep neural network (directed acyclic graph of differentiable modules) with controller modules. Each controller module is a sub-network whose output is a decision that controls whether other modules can execute. A D2NN is trained end to end. Both regular and controller modules in a D2NN are learnable and are jointly trained to optimize both accuracy and efficiency. Such training is achieved by integrating backpropagation with reinforcement learning. With extensive experiments of various D2NN architectures on image classification tasks, we demonstrate that D2NNs are general and flexible, and can effectively optimize accuracy-efficiency trade-offs.
fixed typos; updated CIFAR-10 results and added more details; corrected the cascade D2NN configuration details
References in corpus (10)
- Deep Learning with Limited Numerical Precision
- Recurrent Models of Visual Attention
- DRAW: A Recurrent Neural Network For Image Generation
- Multiple Object Recognition with Visual Attention
- Learning Structured Sparsity in Deep Neural Networks
- Speeding-up Convolutional Neural Networks Using Fine-tuned CP-Decomposition
- Conditional Computation in Neural Networks for faster models
- Deep Networks with Internal Selective Attention through Feedback Connections
- Deep Sequential Neural Network
- ProNet: Learning to Propose Object-specific Boxes for Cascaded Neural Networks