卷积神经网络在语音识别和图像识别等众多领域取得了突破性进展,限制其大规模应用的很重要的一个因素就是其计算复杂度,尤其是其中空域线性卷积的计算。利用卷积定理在频域中实现空域线性卷积被认为是一种非常有效的实现方式,该文首先提出一种统一的基于时域抽取方法的分裂基-2/(2a) 1维FFT快速算法,其中a为任意自然数,然后在CPU环境下对提出的FFT算法在一类卷积神经网络中的加速性能进行了比较研究。在MNIST手写数字数据库以及Cifar-10对象识别数据集上的实验表明:利用分裂基-2/4 FFT算法和基-2 FFT算法实现的卷积神经网络相比于空域直接实现的卷积神经网络,精度并不会有损失,并且分裂基-2/4能取得最好的提速效果,在以上两个数据集上分别提速38.56%和72.01%。因此,在频域中实现卷积神经网络的线性卷积操作是一种十分有效的实现方式。
Convolution Neural Networks (CNN) make breakthrough progress in many areas recently, such as speech recognition and image recognition. A limiting factor for use of CNN in large-scale application is, until recently, their computational expense, especially the calculation of linear convolution in spatial domain. Convolution theorem provides a very effective way to implement a linear convolution in spatial domain by multiplication in frequency domain. This paper proposes an unified one-dimensional FFT algorithm based on decimation-in-time split- radix-2/(2a), in which a is an arbitrary natural number. The acceleration performance of convolutional neural network is studied by using the proposed FFT algorithm on CPU environment. Experimental results on the MNIST database and Cifar-10 database show great improvement when compared to the direct linear convolution based CNN with no loss in accuracy, and the radix-2/4 FFT gets the best time savings of 38.56% and 72.01% respectively. Therefore, it is a very effective way to realize linear convolution operation in frequency domain.