HackerPapers

arXiv:1312.5851cs.CV

Fast Training of Convolutional Networks through FFTs

Michael Mathieu, Mikael Henaff, Yann LeCun

Abstract

Convolutional networks are one of the most widely employed architectures in computer vision and machine learning. In order to leverage their ability to learn complex functions, large amounts of data are required for training. Training a large convolutional network to produce state-of-the-art results can take weeks, even when using modern GPUs. Producing labels using a trained network can also be costly when dealing with web-scale datasets. In this work, we present a simple algorithm which accelerates training and inference by a significant factor, and can yield improvements of over an order of magnitude compared to existing state-of-the-art implementations. This is done by computing convolutions as pointwise products in the Fourier domain while reusing the same transformed feature map many times. The algorithm is implemented on a GPU architecture and addresses a number of related challenges.

arXiv comments
Journal reference
DOI
Subjects
cs.CVComputer Vision and Pattern Recognition cs.LGMachine Learning cs.NENeural and Evolutionary Computing

On Hacker News

Linked by 3 identifiable commenters in 3 comments across 3 threads, from Apr 2015 to Sep 2020.

Comments linking this paper, per year.

Discussed in comments3 threads

    • You should use FFT's for the convolution, see http://arxiv.org/abs/1312.5851 Also, while the original Blas was in Fortran, you probably want OpenBlas, which is in C. Or maybe Intels MKL.

      im3w1lView on HNParent context

Submitted to Hacker News

Connected through shared HN threads, not inferred similarity or a recommendation.