Winograd Convolution for DNNs: Beyond Linear Polynomials

  • Barbara BarabaszEmail author
  • David Gregg
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11946)


Winograd convolution is widely used in deep neural networks (DNNs). Existing work for DNNs considers only the subset Winograd algorithms that are equivalent to Toom-Cook convolution. We investigate a wider range of Winograd algorithms for DNNs and show that these additional algorithms can significantly improve floating point (FP) accuracy in many cases. We present results for three FP formats: fp32, fp16 and bf16 (a truncated form of fp32) using 2000 inputs from the ImageNet dataset. We found that in fp16 this approach gives us up to 6.5 times better image recognition accuracy in one important case while maintaining the same number of elementwise multiplication operations in the innermost loop. In bf16 the convolution can be computed using \(5\%\) fewer innermost loop multiplications than with currently used Winograd algorithms while keeping the accuracy of image recognition the same as for direct convolution method.


DNN Convolution Winograd convolution Accuracy Floating point 



This work was supported by Science Foundation Ireland grant 12/IA/1381. We also extend our thanks to Andrew Mundy from Arm ML Research Lab for his contribution.


  1. 1.
    Barabasz, B., Anderson, A., Soodhalter, K.M., Gregg, D.: Error analysis and improving the accuracy of winograd convolution for DNNs. CoRR abs/1803.10986 (2018).
  2. 2.
    Biggs, N.L.: Discrete Mathematics, 2nd edn. Oxford University Press, New York (2002)zbMATHGoogle Scholar
  3. 3.
    Blahut, R.E.: Fast Algorithms for Signal Processing. Cambridge University Press, New York (2010)CrossRefGoogle Scholar
  4. 4.
    Cook, S.A.: On the minimum computation time of functions. Ph.D. thesis, Harvard University, Cambridge, Massachusetts (1966)Google Scholar
  5. 5.
    Lavin, A., Gray, S.: Fast algorithms for convolutional neural networks. In: 2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), pp. 4013–4021. IEEE, Las Vegas (2016)Google Scholar
  6. 6.
    Meng, L., Brothers, J.: Efficient winograd convolution via integer arithmetic. CoRR abs/1901.01965 (2019)Google Scholar
  7. 7.
    Selesnick, I.W., Burrus, C.S.: Extending winograd’s small convolution algorithm to longer lengths. In: 1994 IEEE International Symposium on Circuits and Systems, ISCAS 1994, London, England, UK, 30 May–2 June 1994, pp. 449–452 (1994)Google Scholar
  8. 8.
    Simonyan, K., Zisserman, A.: Very deep convolutional networks for large-scale image recognition. In: International Conference on Learning Representations (2015)Google Scholar
  9. 9.
    Tolimieri, R., An, M., Lu, C.: Algorithms For Discrete Fourier Transform and Convolution, 2nd edn. Springer, New York (1997). Scholar
  10. 10.
    Toom, A.L.: The complexity of a scheme of functional elements realizing multiplication of integers. Sov. Math. Dokl. 3, 714–716 (1963)zbMATHGoogle Scholar
  11. 11.
    Vincent, K., Stephano, K., Frumkin, M., Ginsburg, B., Demouth, J.: On improving the numerical stability of winograd convolutions. In: Proceedings of the 5th International Conference on Learning Representations, Toulon, France, p. 4 (2017).
  12. 12.
    Winograd, S.: Arithmetic Complexity Computations. SIAM Publications, Bristol (1980)CrossRefGoogle Scholar
  13. 13.
    Zhao, Y., Wang, D., Wang, L., Liu, P.: A faster algorithm for reducing the computational complexity of convolutional neural networks. Algorithms 11(10) (2018)., Scholar

Copyright information

© Springer Nature Switzerland AG 2019

Authors and Affiliations

  1. 1.School of Computer Science and StatisticsTrinity College DublinDublin 2Ireland

Personalised recommendations