Designing Energy-Efficient Convolutional Neural Networks using Energy-Aware Pruning
Tien-Ju Yang, Yu-Hsin Chen, Vivienne Sze

TL;DR
This paper introduces an energy-aware pruning method for CNNs that directly estimates and minimizes energy consumption, leading to significant energy reductions on mobile devices while maintaining high accuracy.
Contribution
The authors propose a novel energy-aware pruning algorithm that uses energy estimation to guide pruning, resulting in more energy-efficient CNNs suitable for mobile devices.
Findings
AlexNet energy reduced by 3.7x with <1% accuracy loss
GoogLeNet energy reduced by 1.6x with <1% accuracy loss
Energy-aware pruning outperforms traditional methods in energy savings
Abstract
Deep convolutional neural networks (CNNs) are indispensable to state-of-the-art computer vision algorithms. However, they are still rarely deployed on battery-powered mobile devices, such as smartphones and wearable gadgets, where vision algorithms can enable many revolutionary real-world applications. The key limiting factor is the high energy consumption of CNN processing due to its high computational complexity. While there are many previous efforts that try to reduce the CNN model size or amount of computation, we find that they do not necessarily result in lower energy consumption, and therefore do not serve as a good metric for energy cost estimation. To close the gap between CNN design and energy consumption optimization, we propose an energy-aware pruning algorithm for CNNs that directly uses energy consumption estimation of a CNN to guide the pruning process. The energy…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsAdvanced Neural Network Applications · Human Pose and Action Recognition · Advanced Memory and Neural Computing
MethodsPruning · 1x1 Convolution · Convolution · Average Pooling · Local Response Normalization · Auxiliary Classifier · Inception Module · Grouped Convolution · *Communicated@Fast*How Do I Communicate to Expedia? · Dropout
