QAMNet: Fast and Efficient Optical QAM Neural Networks
<|reference_start|>QAMNet: Fast and Efficient Optical QAM Neural Networks: The energy consumption of neural network inference has become a topic of paramount importance with the growing success and adoption of deep neural networks. Analog optical neural networks (ONNs) can reduce the energy of matrix-vector multiplication in neural network inference below that of digital electronics. However, realizing this promise remains challenging due to digital-to-analog conversion: even at low bit precisions $b$, encoding the $2^b$ levels of digital weights and inputs into the analog domain requires specialized and power-hungry electronics. Faced with similar challenges, the field of telecommunications has developed the complex-valued Quadrature-Amplitude Modulation (QAM), the workhorse modulation format for decades. QAM maximally exploits the complex amplitude to provide a quadratic $O(N^2) \to O(N)$ energy saving over intensity-only modulation. Inspired by this advantage, this work introduces QAMNet, an optical neural network hardware and architecture with superior energy consumption to existing ONNs, that fully utilizes the complex nature of the amplitude of light with QAM. When implemented with conventional telecommunications equipment, we show that QAMNet accelerates complex-valued deep neural networks with accuracies indistinguishable from digital hardware, based on physics-based simulations. Compared to standard ONNs, we find that QAMNet ONNs: (1) attain higher accuracy above moderate levels of total bit precision, (2) are more accurate above low energy budgets, and (3) are an optimal choice when hardware bit precision is limited.<|reference_end|>
@article{bacvanski2024qamnet:,
    title={QAMNet: Fast and Efficient Optical QAM Neural Networks},
    author={Marc Gong Bacvanski, Sri Krishna Vadlamani, Kfir Sulimany, Dirk Robert
  Englund},
    journal={arXiv preprint arXiv:2409.12305},
    year={2024},
    archivePrefix={arXiv},
    eprint={2409.12305},
    primaryClass={cs.ET}
}