ViP: Virtual Pooling for Accelerating CNN-based Image Classification and Object Detection
This work addresses efficiency issues for practitioners deploying CNNs in resource-constrained environments, offering a complementary acceleration method with tunable trade-offs.
The paper tackles the computational intensity and energy demands of CNNs by proposing Virtual Pooling (ViP), a model-level approach that accelerates CNN-based image classification and object detection with provable error bounds, achieving up to 2.1x speedup with less than 1.5% accuracy degradation on ImageNet with VGG-16 and reducing mobile energy consumption by up to 70%.
In recent years, Convolutional Neural Networks (CNNs) have shown superior capability in visual learning tasks. While accuracy-wise CNNs provide unprecedented performance, they are also known to be computationally intensive and energy demanding for modern computer systems. In this paper, we propose Virtual Pooling (ViP), a model-level approach to improve speed and energy consumption of CNN-based image classification and object detection tasks, with a provable error bound. We show the efficacy of ViP through experiments on four CNN models, three representative datasets, both desktop and mobile platforms, and two visual learning tasks, i.e., image classification and object detection. For example, ViP delivers 2.1x speedup with less than 1.5% accuracy degradation in ImageNet classification on VGG-16, and 1.8x speedup with 0.025 mAP degradation in PASCAL VOC object detection with Faster-RCNN. ViP also reduces mobile GPU and CPU energy consumption by up to 55% and 70%, respectively. As a complementary method to existing acceleration approaches, ViP achieves 1.9x speedup on ThiNet leading to a combined speedup of 5.23x on VGG-16. Furthermore, ViP provides a knob for machine learning practitioners to generate a set of CNN models with varying trade-offs between system speed/energy consumption and accuracy to better accommodate the requirements of their tasks. Code is available at https://github.com/cmu-enyac/VirtualPooling.