目前,深度学习在越来越多的任务上超越人类,涉及领域包括游戏、自然语言翻译、医学图像分析。然而,在电子处理器上训练和运行深度神经网络的高能量成本阻碍了深度学习的进步。因此,光神经网络替代物理平台进行深度学习的可行性受到广泛关注。从理论上讲,光学神经网络比部署在传统数字计算机上的神经网络更节能。在最近的一项研究中,康奈尔大学等人的研究人员证明,光学神经网络在手写数字分类方面可以达到极高的准确率:其中大约3.2个检测用于权重乘法检测到的光子使准确率达到99%,而仅使用约0.64个光子(约2.4×10^-19J光能)可以达到90%以上的精度。论文链接:https://arxiv.org/pdf/2104.13467.pdf本研究的实验结果是使用定制的自由空间光学处理器实现的,该处理器可以执行高达~500,000标量的大规模并行矩阵向量乘法运算(权重)同时乘法。使用商用光学元件和标准神经网络训练方法,光学神经网络可以在接近标准量子极限的极低光功率下实现高精度。这样的结果证明了低光功率操作的原理,并为实现光处理器开辟了道路:只要精心设计用于数据存储和控制的电子系统,每次标量乘法只需要10^-16J的总能量,这比当前的数字处理器效率高几个数量级。光学矩阵向量乘法器的实验仪器配置。a为光学装置示意图,b为示意图对应的主要实验仪器。大规模光学矩阵向量乘法在光学矩阵向量乘法器中实现能量优势的关键是使要乘法的矩阵和向量尽可能大。一旦放大,大规模的乘法和累加运算就可以完全在光域并行进行,电子信号和光信号之间的转换成本有缓冲空间。在光学中,有几种不同的并行操作方法:波长多路复用、光子学中的集成电路空间多路复用以及3D自由空间光学处理器中的空间多路复用。在迄今为止的所有多路复用方法和架构中,模拟ONN使用小的矢量-矢量点积(作为实现卷积层和全连接层的基本操作)或矩阵-矢量乘法(用于全连接层),这将矢量限制为最多64维(远低于10^3),这是光处理器能耗高于理论预测的根本原因。因此,利用能够进行大规模矩阵-向量乘法的3D自由空间光学处理器,研究人员构建了下图a所示的ONN架构,使用小于一个光子的每标量乘法进行图像分类,实现了ONN的量子限制理论效率峰值。研究人员设计和构建的光学处理器使用以下方案执行矩阵向量乘法:将输入向量的每个元素x_j编码为由光源像素照亮的单个空间模式强度;将每个矩阵元素w_ij编码为像素的调制器透射率;使用有机发光二极管(OLED)显示器作为光源;使用空间光调制器(SLM)进行强度调制。矩阵向量乘法通过三个物理步骤计算:扇出:输入向量的元素在空间上排列为二维块(图1b,左上角)。表示输入矢量图像的2D块被复制的次数等于矩阵W中的行数,然后平铺在OLED显示器上,如图1b(顶行)所示。Item-wiseproduct:编码单个标量元素x_j的每个OLED像素对齐并成像到SLM上的相应像素,其透射率设置为∝w_ij,执行标量乘法w_ijx_j(图1b底部中间)。光学扇入:每个块的强度调制像素通过将它们的透射光聚焦到检测器上进行物理叠加。撞击在第i个探测器上的光子总数与矩阵向量乘积y的元素y_i成正比(图片)(图1b右下角)。每个y_i都可以解释为输入矢量图像与矩阵W的第i行之间的点积。当光通过设置时,矩阵-矢量乘法中涉及的所有标量乘法和加法都是并行完成的。光强度中的向量元素的编码限制了使用具有非负元素的矩阵和向量执行矩阵向量乘法的设置。此外,该系统还可以用于对具有正元素和负元素的矩阵和向量执行矩阵向量乘法,通过使用偏移和缩放将计算转换为仅涉及非负数的矩阵向量乘法。对于系统计算的每个矢量-矢量点积,通过将与逐项乘积对应的空间模式聚焦到单个检测器上来对逐项乘积求和。因此,检测器的输出与点积答案成正比,信噪比(SNR)在散粒噪声限值中缩放为√N。如果矢量足够大,即使每个空间模式的平均光子数远小于1,但撞击检测器的光子总数可能远大于1,因此可以准确读取点积答案,如图1c所示是可能的。亚光子点积的精度为了了解系统在低光功耗下的实际性能,研究人员在调整光子数量的同时表征了精度。在第一个表征实验中,研究人员计算了随机选择的向量对的点积(图乘积计算)。虽然点积计算的答案是标量,因此只需要一个探测器,但编码点积答案的光信号由能够分辨单个光子的灵敏光电探测器测量。每个点积使用的光子数可以通过改变检测器的积分时间并在OLED显示器后立即插入一个中性滤光片来控制。如上面的图2b所示,为了证明该设置可以基于大尺寸矢量,使用每个标量积少于1个光子的计算,研究人员测量了尺寸约为500,000的矢量之间点积的数值精度。在每次标量倍增0.001个光子时,测量误差约为6%,主要是由于探测器的散粒噪声。随着所用光子数量的增加,误差逐渐减小,直到每次乘以2个或更多光子时达到约0.2%的最小误差。为了能够比较实验获得的模拟数字精度和数字处理器中的数字精度,研究人员将每个测量的模拟错误百分比解释为与计算的点积答案相对应的有效位精度。使用度量噪声等效位的6%模拟RMS误差对应于4位,而0.2%RMS误差对应于大约9位。研究人员还证明,当每次标量乘法使用较少数量的光子时,可以计算较短向量之间的点积(图2c)。对于每次乘法0.001到0.1个光子的光子预算,无论测试的所有矢量的大小如何,数值误差都由散粒噪声决定。当使用的光子数量足够大时,误差不再由散粒噪声主导,这与图2b中所示的单一矢量尺寸结果一致。对于每个测试的光子预算,较大向量之间的点积误差较低。这可能是因为较大向量之间的点积涉及较大项的有效平均。由于使用非常有限的光子预算,使用亚光子倍增的ONN会导致倍增误差。为了确定ONN可以容忍多少误差,研究人员运行了经过训练的神经网络,并根据使用的光子数量测量了分类精度。如下图3a所示,研究人员以MNIST数据集手写数字分类为基准任务,针对低精度推理硬件(量化感知训练)设备(MLP)训练了一个带反向传播的四层全连接多层感知器.研究人员首先在5种不同的光子预算下评估了MNIST数据集中的前130张测试图像:每次标量乘法0.03、0.16、0.32、0.64和3.2个光子(图3b中间面板中的橙色点)。然后他们发现,每次乘法使用3.2个光子导致分类准确度约为99%(图3b右上),几乎与在数字计算机上运行的相同训练神经网络的准确度(99%)相同。在亚光子体系中,每次乘法使用0.64个光子,ONN达到>90%的分类精度(图3b中上)。实验结果与使用受散粒噪声影响的ONN执行的同一神经网络的模拟结果非常一致(图3b中间面板,深蓝色线)。如图3b所示,为了达到99%的准确率,每次推断手写数字所检测到的总光能约为1pJ。对于这些实验中使用的权重矩阵,平均SLM透射率约为46%。因此,当考虑到SLM不可避免的损失时,每次推理所需的总光能约为2.2pJ。虽然1pJ接近电子处理器中一次标量乘法所使用的能量,但研究人员的模型每次推理需要89,400次标量乘法。康奈尔大学的研究人员使用标准神经网络模型架构和训练技术来运行模型,而无需执行任何再训练。软件和硬件开发的成功分离也表明,研究人员的光学神经网络(ONN)可以取代其他更传统的神经网络加速器硬件,而无需对ML软件的工作流程进行任何重大更改。同时,这些发现表明,光学神经网络原则上比电子神经网络具有更多的基本能量优势。光学神经网络可以在光子预算机制下运行,其中标准量子极限(即光学散粒噪声)决定了可实现的精度。
