Fast Sparse ConvNets

11/21/2019
by   Erich Elsen, et al.
0

Historically, the pursuit of efficient inference has been one of the driving forces behind research into new deep learning architectures and building blocks. Some recent examples include: the squeeze-and-excitation module, depthwise separable convolutions in Xception, and the inverted bottleneck in MobileNet v2. Notably, in all of these cases, the resulting building blocks enabled not only higher efficiency, but also higher accuracy, and found wide adoption in the field. In this work, we further expand the arsenal of efficient building blocks for neural network architectures; but instead of combining standard primitives (such as convolution), we advocate for the replacement of these dense primitives with their sparse counterparts. While the idea of using sparsity to decrease the parameter count is not new, the conventional wisdom is that this reduction in theoretical FLOPs does not translate into real-world efficiency gains. We aim to correct this misconception by introducing a family of efficient sparse kernels for ARM and WebAssembly, which we open-source for the benefit of the community as part of the XNNPACK library. Equipped with our efficient implementation of sparse primitives, we show that sparse versions of MobileNet v1, MobileNet v2 and EfficientNet architectures substantially outperform strong dense baselines on the efficiency-accuracy curve. On Snapdragon 835 our sparse networks outperform their dense equivalents by 1.3-2.4×– equivalent to approximately one entire generation of MobileNet-family improvement. We hope that our findings will facilitate wider adoption of sparsity as a tool for creating efficient and accurate deep learning architectures.

READ FULL TEXT
research
03/30/2020

Rethinking Depthwise Separable Convolutions: How Intra-Kernel Correlations Lead to Improved MobileNets

We introduce blueprint separable convolutions (BSConv) as highly efficie...
research
03/04/2020

Neural Kernels Without Tangents

We investigate the connections between neural networks and simple buildi...
research
07/04/2012

Bayes Blocks: An Implementation of the Variational Bayesian Building Blocks Framework

A software library for constructing and learning probabilistic models is...
research
02/06/2022

Learning Features with Parameter-Free Layers

Trainable layers such as convolutional building blocks are the standard ...
research
03/21/2023

Sparse Iso-FLOP Transformations for Maximizing Training Efficiency

Recent works have explored the use of weight sparsity to improve the tra...
research
09/05/2017

Deep learning: Technical introduction

This note presents in a technical though hopefully pedagogical way the t...
research
12/06/2020

Rethinking FUN: Frequency-Domain Utilization Networks

The search for efficient neural network architectures has gained much fo...

Please sign up or login with your details

Forgot password? Click here to reset