55
49

Fast Neural Networks with Circulant Projections

Abstract

The basic computation of a fully-connected neural network layer is a linear projection of the input signal followed by a non-linear transformation. The linear projection step consumes the bulk of the processing time and memory footprint. In this work, we propose to replace the conventional linear projection with the circulant projection. The circulant structure enables the use of the Fast Fourier Transform to speed up the computation. Considering a neural network layer with dd input nodes, and dd output nodes, this method improves the time complexity from O(d2)\mathcal{O}(d^2) to O(dlogd)\mathcal{O}(d\log{d}) and space complexity from O(d2)\mathcal{O}(d^2) to O(d)\mathcal{O}(d). We further show that the gradient computation and optimization of the circulant projections can be performed very efficiently. Our experiments on three standard datasets show that the proposed approach achieves this significant gain in efficiency and storage with minimal loss of accuracy compared to neural networks with unstructured projections.

View on arXiv
Comments on this paper