SBNet: Leveraging Activation Block Sparsity for Speeding up Convolutional Neural Networks

Mengye Ren, Andrei Pokrovsky, Bin Yang, Raquel Urtasun
8 min readintermediate
--
View Original

Overview

The article discusses SBNet, an open-source algorithm developed by Uber ATG that leverages activation block sparsity to enhance the speed of Convolutional Neural Networks (CNNs). It highlights the algorithm's application in autonomous driving, particularly in improving the efficiency of 3D LiDAR object detection systems.

What You'll Learn

1

How to implement SBNet for speeding up CNN inference

2

Why leveraging block sparsity can improve CNN performance

3

When to apply SBNet in autonomous driving applications

Prerequisites & Requirements

  • Understanding of Convolutional Neural Networks and deep learning concepts
  • Familiarity with TensorFlow

Key Questions Answered

How does SBNet improve the speed of Convolutional Neural Networks?
SBNet improves CNN speed by exploiting activation block sparsity, allowing for significant reductions in computation time. It achieves speedups of up to one order of magnitude when integrated with architectures like ResNet, making it suitable for real-time applications in autonomous driving.
What are the benefits of using SBNet in 3D vehicle detection?
Using SBNet in 3D vehicle detection allows for faster inference times and improved detection accuracy. The algorithm leverages sparsity in LiDAR data, resulting in a speedup of 2x or more, while also enhancing average precision by 2 percentage points.
What types of sparsity does SBNet leverage?
SBNet leverages block sparsity in CNN activations, which can be derived from a priori knowledge or through thresholding averaged activations. This approach allows for efficient computation while maintaining accuracy in deep learning tasks.

Key Statistics & Figures

Speedup achieved with SBNet
up to one order of magnitude
When combined with the ResNet architecture for autonomous driving applications.
Average precision gain
2 percentage points
Resulting from retraining the detector with SBNet architecture.
Sparsity level with road map variant
80 percent
Achieving a corresponding 2x+ speedup.
Sparsity level with predicted mask variant
90 percent
Achieving a corresponding 3x speedup.

Technologies & Tools

Some links below are affiliate links. We may earn a commission if you make a purchase.

Key Actionable Insights

1
Implement SBNet to optimize CNNs for real-time applications, especially in autonomous driving.
By utilizing SBNet, developers can achieve significant speed improvements in CNN inference, which is critical for applications that require immediate responses, such as self-driving vehicles.
2
Focus on leveraging block sparsity to enhance model performance and reduce computational costs.
Understanding and applying block sparsity can lead to more efficient neural network designs, allowing for deeper architectures without a proportional increase in computational resources.

Common Pitfalls

1
Overlooking the importance of sparsity in CNNs can lead to inefficient models.
Many developers may not recognize that a significant portion of CNN computations can be wasted on irrelevant data, which can be mitigated by applying sparsity techniques.

Related Concepts

Deep Learning Architectures
Convolutional Neural Networks
Sparse Neural Networks
Autonomous Driving Technologies