  The widespread adoption of machine learning and other matrix intensive
computing algorithms has inspired renewed interest in analog optical computing,
which has the potential to perform large-scale matrix multiplications with
superior energy scaling and lower latency than digital electronics. However,
most existing optical techniques rely on spatial multiplexing to encode and
process data in parallel, requiring a large number of high-speed modulators and
detectors. More importantly, most of these architectures are restricted to
performing a single kernel convolution operation per layer. Here, we introduce
a fiber-optic computing architecture based on temporal multiplexing and
distributed feedback that performs multiple convolutions on the input data in a
single layer (i.e. grouped convolutions). Our approach relies on temporally
encoding the input data as an optical pulse train and injecting it into an
optical fiber where partial reflectors create a series of delayed copies of the
input vector. In this work, we used Rayleigh backscattering in standard single
mode fiber as the partial reflectors to encode a series of random kernel
transforms. We show that this technique effectively performs a random
non-linear projection of the input data into a higher dimensional space which
can facilitate a variety of computing tasks, including non-linear principal
component analysis, support vector machines, or extreme learning machines. By
using a passive fiber to perform the kernel transforms, this approach enables
efficient energy scaling with orders of magnitude lower power consumption than
GPUs, while using a high-speed modulator and detector maintains low latency and
high data-throughput. Finally, our approach is readily integrated with
fiber-optic communication links, enabling additional applications such as
processing remote sensing data transmitted in the analog domain.
