Our new X account is live! Follow @wizwand_team for updates
WorkDL logo mark

RNNPool: Efficient Non-linear Pooling for RAM Constrained Inference

About

Standard Convolutional Neural Networks (CNNs) designed for computer vision tasks tend to have large intermediate activation maps. These require large working memory and are thus unsuitable for deployment on resource-constrained devices typically used for inference on the edge. Aggressively downsampling the images via pooling or strided convolutions can address the problem but leads to a significant decrease in accuracy due to gross aggregation of the feature map by standard pooling operators. In this paper, we introduce RNNPool, a novel pooling operator based on Recurrent Neural Networks (RNNs), that efficiently aggregates features over large patches of an image and rapidly downsamples activation maps. Empirical evaluation indicates that an RNNPool layer can effectively replace multiple blocks in a variety of architectures such as MobileNets, DenseNet when applied to standard vision tasks like image classification and face detection. That is, RNNPool can significantly decrease computational complexity and peak memory usage for inference while retaining comparable accuracy. We use RNNPool with the standard S3FD architecture to construct a face detection method that achieves state-of-the-art MAP for tiny ARM Cortex-M4 class microcontrollers with under 256 KB of RAM. Code is released at https://github.com/Microsoft/EdgeML.

Oindrila Saha, Aditya Kusupati, Harsha Vardhan Simhadri, Manik Varma, Prateek Jain• 2020

Related benchmarks

TaskDatasetResultRank
Image ClassificationImageNet-1k (val)--
1453
Face DetectionWIDER FACE (val)
mAP (Easy)92
62
Image ClassificationImageNet-10 (test)
Accuracy96.4
42
Face DetectionWIDER FACE <= 3 faces (val)
mAP (Easy)0.95
7
Head DetectionSCUT-HEAD random 80%-20% split (val)
mAP58
2
Showing 5 of 5 rows

Other info

Code

Follow for update