Abstract
Convolutional neural networks (CNNs) have dramatically improved the accuracy of image, video, and audio processing for tasks such as object recognition, image segmentation, and interactive speech systems. CNNs require large amounts of computing resources for both training and inference, primarily because the convolution layers are computationally intensive. Fast convolution algorithms such as Winograd convolution can greatly reduce the computational cost of these layers. However, Winograd convolution has poor numeric properties, such that greater savings in computation cause exponentially increasing floating point errors.

A defining feature of each Winograd convolution algorithm is a set of real-value points where polynomials are sampled. The choice of points impacts the numeric accuracy of the algorithm, but the optimal set of points for small convolutions remains unknown. Existing work considers only small integers and simple fractions as candidate points. In this work, we propose a novel approach to point selection using points of the form

\(\lbrace -\frac{1}{c},-c,c,\frac{1}{c}\rbrace\)

using the full range of real-valued numbers for
c
. We show that groups of this form cause cancellations in the Winograd transform matrices that reduce numeric error. We find empirically that the error for different values of
c
forms a rough curve across the range of real-value numbers. It is therefore possible to localize the values of
c
that lead to lower error. We show that it is not necessary to choose integers or simple fractions as evaluation points, and that lower errors can be achieved with non-obvious real-valued points. We study a range of sizes for small convolutions and achieve reduction in error ranging from 2% to around 59% for both 1D and 2D convolution, when compared to state of the art. Furthermore, we identify patterns in cases when we select a subset of our proposed points that will always lead to a lower error. Finally, we implement a complete Winograd convolution layer and use it to run state-of-the-art deep convolution neural networks on real datasets and show that our proposed points achieve reduction in error, ranging from 22% to 63%, while also showing how an increased Winograd output size can result in execution speed-up for some cases.
Topics

No keywords indexed for this article. Browse by subject →

References
38
[2]
Barbara Barabasz and David Gregg. 2019. Winograd convolution for DNNs: Beyond linear polynomials. In Proc. Int. Conf. Italian Association for Artificial Intelligence. Springer International Publishing, 307–320.
[4]
Marco Bodrato. 2007. Towards optimal Toom-Cook multiplication for univariate and multivariate polynomials in characteristic 2 and 0. In Arithmetic of Finite Fields, Claude Carlet and Berk Sunar (Eds.). Springer, Berlin, 116–133. 10.1007/978-3-540-73074-3_10
[5]
J. Chen and X. Ran. 2019. Deep learning with edge computing: A review. 107 8 (2019) 1655–1674. 10.1109/jproc.2019.2921977
[6]
S. A. Cook. 1966. On the Minimum Computation Time of Functions. Ph.D. Dissertation. Cambridge, MA.
[7]
Javier Fernandez-Marques Paul N. Whatmough Andrew Mundy and Matthew Mattina. 2020. Searching for Winograd-aware Quantized Networks. arXiv:2002.10711.
[9]
Walter Gautschi. 1990. How (un)stable are Vandermonde systems. Asymptotic and Computational Analysis 124 (1990), 193–210.
[10]
Deep Residual Learning for Image Recognition

Kaiming He, Xiangyu Zhang, Shaoqing Ren et al.

2016 IEEE Conference on Computer Vision and Patter... 10.1109/cvpr.2016.90
[13]
Forrest N. Iandola, Matthew W. Moskewicz, Khalid Ashraf, Song Han, William J. Dally, and Kurt Keutzer. 2016. SqueezeNet: AlexNet-level accuracy with 50x fewer parameters and <1MB model size. CoRR abs/1602.07360 (2016). http://arxiv.org/abs/1602.07360.
[14]
Caffe

Yangqing Jia, Evan Shelhamer, Jeff Donahue et al.

Proceedings of the 22nd ACM international conferen... 10.1145/2647868.2654889
[16]
Alex Krizhevsky. 2009. Learning Multiple Layers of Features from Tiny Images. Technical Report. https://www.cs.toronto.edu/kriz/learning-features-2009-TR.pdf.
[17]
Alex Krizhevsky, Ilya Sutskever, and Geoffrey E. Hinton. 2012. ImageNet classification with deep convolutional neural networks. In Proc. Int. Conf. Neural Inf. Proc. Sys. - Volume 1 (NIPS’12). 1097–1105.
[18]
ImageNet classification with deep convolutional neural networks

Alex Krizhevsky, Ilya Sutskever, Geoffrey E. Hinton

Communications of the ACM 10.1145/3065386
[19]
A. Lavin and S. Gray. 2016. Fast algorithms for convolutional neural networks. In Proc. IEEE Conf. Comput. Vision Pattern Recog.IEEE, 4013–4021.
[24]
Keshab K. Parhi. 1999. VLSI Digital Signal Processing Systems, Design and Implementation. Wiley-Interscience.
[26]
The Emergence of Edge Computing

Mahadev Satyanarayanan

Computer 10.1109/mc.2017.9
[27]
Edge Computing: Vision and Challenges

Weisong Shi, Jie Cao, Quan Zhang et al.

IEEE Internet of Things Journal 10.1109/jiot.2016.2579198
[28]
Karen Simonyan and Andrew Zisserman. 2014. Very Deep Convolutional Networks for Large-scale Image Recognition. arXiv:1409.1556.
[29]
Going deeper with convolutions

Christian Szegedy, Wei Liu, Yangqing Jia et al.

2015 IEEE Conference on Computer Vision and Patter... 10.1109/cvpr.2015.7298594
[30]
Going deeper with convolutions

Christian Szegedy, Wei Liu, Yangqing Jia et al.

2015 IEEE Conference on Computer Vision and Patter... 10.1109/cvpr.2015.7298594
[32]
A. L. Toom. 1963. The complexity of a scheme of functional elements realizing multiplication of integers. Soviet Mathematics - Doklady 3 (1963), 714–716.
[33]
Kevin Vincent, Kevin Stephano, Michael Frumkin, Boris Ginsburg, and Julien Demouth. 2017. On improving the numerical stability of Winograd convolution. In Proc. Int. Conf. Learning Representation.
[35]
S. Winograd. 1980. Signal processing and complexity of computation. In Proc. IEEE Int. Conf. Acoust. Speech Signal Process.IEEE, 94–101.
Metrics
22
Citations
38
References
Details
Published
Nov 30, 2022
Vol/Issue
21(6)
Pages
1-28
License
View
Funding
Science Foundation Ireland Award: 13/RC/2094_P2
European Union’s Horizon 2020 Award: 754489
Science Foundation Ireland and European Union’s Horizon 2020 programme
Cite This Article
Syed Asad Alam, Andrew Anderson, Barbara Barabasz, et al. (2022). Winograd Convolution for Deep Neural Networks: Efficient Point Selection. ACM Transactions on Embedded Computing Systems, 21(6), 1-28. https://doi.org/10.1145/3524069
Related

You May Also Like

HiCH

Iman Azimi, Arman Anzanpour · 2017

138 citations

Building timing predictable embedded systems

Philip Axer, Rolf Ernst · 2014

79 citations

A Survey of Blockchain Data Management Systems

Qian Wei, Bingzhe Li · 2022

68 citations

LiBrA-CAN

Bogdan Groza, Stefan Murvay · 2017

43 citations