Abstract
The prevalence of convolution in applications within signal processing, deep neural net-works, and numerical solvers has motivated the development of numerous fast convolution algorithms. In many of these problems, convolution is performed on terabytes or petabytes of data, so even constant factors of improvement can significantly reduce the computation time. We leverage the formalism of bilinear algorithms to describe and analyze all of the most popular approaches. This unified lens permits us to study the relationship between different variants of convolution as well as to derive error bounds and analyze the cost of the various algorithms. We provide new derivations, which predominantly leverage matrix and tensor algebra, to describe the Winograd family of convolution algorithms as well as reductions between 1D and multidimensional convolution. We provide cost and error bounds as well as experimental numerical studies. Our experiments for two of these algo-rithms, the overlap-Add approach and Winograd convolution algorithm with polynomials of degree greater than one, show that fast convolution algorithms can rival the accuracy of the fast Fourier transform without using complex arithmetic. These algorithms can be used for convolution problems with multidimensional inputs or for filters larger than size of four, extending the state of the art in Winograd-based convolution algorithms.
Original language | English (US) |
---|---|
Pages (from-to) | 743-777 |
Number of pages | 35 |
Journal | SIAM Review |
Volume | 62 |
Issue number | 4 |
DOIs | |
State | Published - 2020 |
Externally published | Yes |
Keywords
- Winograd convolution
- bilinear algorithms
- convolution
- convolutional neural networks
ASJC Scopus subject areas
- Theoretical Computer Science
- Computational Mathematics
- Applied Mathematics