Scuola Superiore Sant'Anna, Pisa, 56124, Italy; National Research Council of Italy - Institute of Electronics, Information Engineering and Telecommunications (CNR-IEIIT), Pisa, 56122, Italy; Sma-RTy Italia Srl, Carugate, 20061, Italy.
Scuola Superiore Sant'Anna, Pisa, 56124, Italy.
Neural Netw. 2023 May;162:531-540. doi: 10.1016/j.neunet.2023.03.007. Epub 2023 Mar 21.
In this paper we present CHARLES (C++ pHotonic Aware neuRaL nEtworkS), a C++ library aimed at providing a flexible tool to simulate the behavior of Photonic-Aware Neural Network (PANN). PANNs are neural network architectures aware of the constraints due to the underlying photonic hardware, mostly in terms of low equivalent precision of the computations. For this reason, CHARLES exploits fixed-point computations for inference, while it supports both floating-point and fixed-point numerical formats for training. In this way, we can compare the effects due to the quantization in the inference phase when the training phase is performed on a classical floating-point model and on a model exploiting high-precision fixed-point numbers. To validate CHARLES and identify the most suited numerical format for PANN training, we report the simulation results obtained considering three datasets: Iris, MNIST, and Fashion-MNIST. Fixed-training is shown to outperform floating-training when executing inference on bitwidths suitable for photonic implementation. Indeed, performing the training phase in the floating-point domain and then quantizing to lower bitwidths results in a very high accuracy loss. Instead, when fixed-point numbers are exploited in the training phase, the accuracy loss due to quantization to lower bitwidths is significantly reduced. In particular, we show that for Iris dataset, fixed-training achieves a performance similar to floating-training. Fixed-training allows to obtain an accuracy of 90.4% and 68.1% with the MNIST and Fashion-MNIST datasets using only 6 bits, while the floating-training reaches an accuracy of just 25.4% and 50.0% when exploiting the same bitwidths.
在本文中,我们提出了 CHARLES(C++ 光子感知神经网络),这是一个 C++ 库,旨在提供一个灵活的工具来模拟光子感知神经网络(PANN)的行为。PANN 是一种感知底层光子硬件约束的神经网络架构,主要体现在计算的等效精度较低。出于这个原因,CHARLES 在推理中利用定点计算,同时支持浮点和定点数值格式进行训练。通过这种方式,我们可以比较在训练阶段使用经典浮点模型和利用高精度定点数的模型进行训练时,推理阶段量化的影响。为了验证 CHARLES 并确定最适合 PANN 训练的数值格式,我们报告了考虑三个数据集(Iris、MNIST 和 Fashion-MNIST)时获得的模拟结果。当在适合光子实现的位宽上执行推理时,固定训练被证明优于浮点训练。实际上,在浮点域中执行训练阶段,然后量化到较低的位宽会导致非常高的精度损失。相反,当在训练阶段利用定点数时,量化到较低位宽的精度损失会显著降低。特别是,我们表明,对于 Iris 数据集,固定训练可以实现与浮点训练相似的性能。固定训练可以在 MNIST 和 Fashion-MNIST 数据集上使用仅 6 位获得 90.4%和 68.1%的准确率,而在利用相同位宽时,浮点训练仅达到 25.4%和 50.0%的准确率。