Batch Processing and Data Streaming Fourier-based Convolutional Neural
  Network Accelerator
  Decision-making by artificial neural networks with minimal latency is
paramount for numerous applications such as navigation, tracking, and real-time
machine action systems. This requires the machine learning hardware to handle
multidimensional data with a high throughput. Processing convolution operations
being the major computational tool for data classification tasks,
unfortunately, follows a challenging run-time complexity scaling law. However,
implementing the convolution theorem homomorphically in a Fourier-optic
display-light-processor enables a non-iterative O(1) runtime complexity for
data inputs beyond 1,000 x 1,000 large matrices. Following this approach, here
we demonstrate data streaming multi-kernel image batch-processing with a
Fourier Convolutional Neural Network (FCNN) accelerator. We show image batch
processing of large-scale matrices as passive 2-million dot-product
multiplications performed by digital light-processing modules in the Fourier
domain. In addition, we parallelize this optical FCNN system further by
utilizing multiple spatio-parallel diffraction orders, thus achieving a
98-times throughput improvement over state-of-art FCNN accelerators. The
comprehensive discussion of the practical challenges related to working on the
edge of the system's capabilities highlights issues of crosstalk in the Fourier
domain and resolution scaling laws. Accelerating convolutions by utilizing the
massive parallelism in display technology brings forth a non-van Neuman-based
machine learning acceleration.
