An Efficient General-Purpose Optical Accelerator for Neural Networks
<|reference_start|>An Efficient General-Purpose Optical Accelerator for Neural Networks: General-purpose optical accelerators (GOAs) have emerged as a promising platform to accelerate deep neural networks (DNNs) due to their low latency and energy consumption. Such an accelerator is usually composed of a given number of interleaving Mach-Zehnder- Interferometers (MZIs). This interleaving architecture, however, has a low efficiency when accelerating neural networks of various sizes due to the mismatch between weight matrices and the GOA architecture. In this work, a hybrid GOA architecture is proposed to enhance the mapping efficiency of neural networks onto the GOA. In this architecture, independent MZI modules are connected with microring resonators (MRRs), so that they can be combined to process large neural networks efficiently. Each of these modules implements a unitary matrix with inputs adjusted by tunable coefficients. The parameters of the proposed architecture are searched using genetic algorithm. To enhance the accuracy of neural networks, selected weight matrices are expanded to multiple unitary matrices applying singular value decomposition (SVD). The kernels in neural networks are also adjusted to use up the on-chip computational resources. Experimental results show that with a given number of MZIs, the mapping efficiency of neural networks on the proposed architecture can be enhanced by 21.87%, 21.20%, 24.69%, and 25.52% for VGG16 and Resnet18 on datasets Cifar10 and Cifar100, respectively. The energy consumption and computation latency can also be reduced by over 67% and 21%, respectively.<|reference_end|>
@article{fei2024an,
    title={An Efficient General-Purpose Optical Accelerator for Neural Networks},
    author={Sijie Fei and Amro Eldebiky and Grace Li Zhang and Bing Li and Ulf
  Schlichtmann},
    journal={arXiv preprint arXiv:2409.12966},
    year={2024},
    archivePrefix={arXiv},
    eprint={2409.12966},
    primaryClass={cs.NE cs.SY eess.SY}
}