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 language | English (US) |
---|---|
Article number | 8966288 |
Pages (from-to) | 1678-1691 |
Number of pages | 14 |
Journal | IEEE Transactions on Circuits and Systems I: Regular Papers |
Volume | 67 |
Issue number | 5 |
DOIs | |
State | Published - May 2020 |
Bibliographical note
Publisher Copyright:© 2004-2012 IEEE.
Keywords
- Convolutional neural network
- Kronecker product
- Winograd algorithm
- deconvolution
- fast convolution
- parallel FIR filter