Fast Algorithms for Convolutional Neural Networks
Andrew Lavin, Scott Gray

TL;DR
This paper introduces Winograd-based algorithms that significantly accelerate convolutional neural network computations, especially for small filters and batch sizes, enabling faster training and inference on GPUs.
Contribution
The paper presents a novel class of fast convolution algorithms using Winograd's minimal filtering, optimized for small filters and batch sizes in neural networks.
Findings
Achieves state-of-the-art throughput on GPU with VGG network
Significantly reduces computation time for small filters
Effective for batch sizes from 1 to 64
Abstract
Deep convolutional neural networks take GPU days of compute time to train on large data sets. Pedestrian detection for self driving cars requires very low latency. Image recognition for mobile phones is constrained by limited processing resources. The success of convolutional neural networks in these situations is limited by how fast we can compute them. Conventional FFT based convolution is fast for large filters, but state of the art convolutional neural networks use small, 3x3 filters. We introduce a new class of fast algorithms for convolutional neural networks using Winograd's minimal filtering algorithms. The algorithms compute minimal complexity convolution over small tiles, which makes them fast with small filters and small batch sizes. We benchmark a GPU implementation of our algorithm with the VGG network and show state of the art throughput at batch sizes from 1 to 64.
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.
Code & Models
Videos
Fast Algorithms for Convolutional Neural Networks· youtube
Taxonomy
TopicsAdvanced Neural Network Applications · Generative Adversarial Networks and Image Synthesis · Advanced Image and Video Retrieval Techniques
MethodsDropout · Dense Connections · *Communicated@Fast*How Do I Communicate to Expedia? · Max Pooling · Softmax · Ethereum Customer Service Number +1-833-534-1729 · Convolution
