Fast 2D Convolution Algorithms for Convolutional Neural Networks

Chao Cheng, Keshab K. Parhi

Research output: Contribution to journalArticlepeer-review

22 Scopus citations

Abstract

Convolutional Neural Networks (CNN) are widely used in different artificial intelligence (AI) applications. Major part of the computation of a CNN involves 2D convolution. In this paper, we propose novel fast convolution algorithms for both 1D and 2D to remove the redundant multiplication operations in convolution computations at the cost of controlled increase of addition operations. For example, when the 2D processing block size is 3\times 3 , our algorithm has multiplication saving factor as high as 3.24, compared to direct 2D convolution computation scheme. The proposed algorithm can also process input feature maps and generate output feature maps with the same flexible block sizes that are independent of convolution weight kernel size. The memory access efficiency is also largely improved by the proposed method. These structures can be applied to different CNN layers, such as convolution with stride > 1, pooling and deconvolution by exploring flexible feature map processing tile sizes. The proposed algorithm is suitable for both software and hardware implementation.

Original languageEnglish (US)
Article number8966288
Pages (from-to)1678-1691
Number of pages14
JournalIEEE Transactions on Circuits and Systems I: Regular Papers
Volume67
Issue number5
DOIs
StatePublished - May 2020

Bibliographical note

Publisher Copyright:
© 2004-2012 IEEE.

Keywords

  • Convolutional neural network
  • Kronecker product
  • Winograd algorithm
  • deconvolution
  • fast convolution
  • parallel FIR filter

Fingerprint

Dive into the research topics of 'Fast 2D Convolution Algorithms for Convolutional Neural Networks'. Together they form a unique fingerprint.

Cite this