1. 引言
随着人工智能和大数据技术的快速发展,为了打破摩尔定律的限制,光计算开始成为研究的热点。与传统的基于电子的计算相比,光计算有着高带宽、低能耗、抗干扰和高并行性等优势。这些特性使得光计算非常适合处理人工智能、信号处理、组合优化等复杂任务。
近年来,光学衍射神经网络(Diffractive Neural Network, DNN)因其独特的计算方式而受到研究者的关注[1]。DNN通过自由空间中的光传播和衍射实现神经元链接,以光速进行线性乘法运算和求和运算,从而实现高效的光学机器学习。DNN具有三维的物理架构,由多层衍射层级联构成,可以直接处理光学图像模拟信号。与之相比的是以硅光子技术实现的二维光学神经网络[2] [3],它需要先将数据时序化后再进行输入。因此,DNN可以实现更高通量的光学数据处理。DNN的独特优势使其已经被广泛用于图像识别[4] [5]、光学计算[6]-[8]、相位成像[9]和散射图像重建[10]-[12]等任务,而且由于光学系统的高带宽、高互联和内部并行处理能力[13]-[15],DNN在处理大规模数据时显示出强大的鲁棒性[16] [17]。
然而,此前的DNN大多仅能工作于单一波长[18]-[20],使用其他波长的光源时会使衍射层的相位调制发生变化,从而导致DNN失效。实现多波长工作,可以增加DNN的信息通道,从而进一步提高信息通量,因此具有重要意义。同时,目前的DNN是基于连续相位调制进行训练的,在实际制造当中,连续相位的DNN面临着如何制造和集成的技术难题。举例来说,可见光和近红外波段的DNN常用的实现方式是超表面技术[20]-[22]和传统半导体光刻刻蚀技术[23],它们均难以实现连续相位衍射层的制备。二值相位型DNN具有制造简单、鲁棒性和一致性更高的优势,因此更加适合于未来的大规模制造和应用。
在这里,我们提出了一种多波长工作的二值DNN的设计方法。通过多个损失函数进行多目标训练,最终实现了可以在400 nm和800 nm两个波长下同时工作的DNN。该网络具有2层结构,每层之间间距为3 cm,每层神经元数目256 × 256,它可以实现Fashion-Modified National Institute of Standards and Technology (Fashion-MNIST)数据集[24]在两种波长(800 nm和400 nm)下的准确识别,其准确率都能够达到88%以上。本文提出的设计方法可以用于不同波长的二值DNN设计,增加了DNN的信息通道,同时具有制备更加简单、鲁棒性更高的优势,有助于推动DNN的实际应用。
2. 用于多波长的DNN
2.1. DNN原理
图1(a)是我们用于多波长DNN光学推理的示意图,表明它可以在多个波长下同时进行任务。如图1(b)所示,DNN模型主要分为三部分,分别为输入层,隐藏层和输出层,输入层是Fashion-MNIST数据集的振幅信息,通过角谱理论衍射传播至DNN隐藏层。具体衍射表达式为:
(1)
式中
,是自由空间的传递函数。
表示输出光场的复振幅。
Figure 1. For DNN under multi-wavelength operation (a) DNN schematic; (b) network description of DNN physical processes
图1. 用于多波长工作下的DNN (a) DNN原理图;(b) DNN物理过程的网络描述
我们的DNN设计流程如图2所示。首先,我们使用8000张Fashion-MNIST数据集作为输入(每类图像800张),每张的大小为256 × 256像素,单个像素的大小我们设置为8 μm。输入层在自由空间中角谱衍射传播10 cm,到达隐藏的相位层,相位层每层的间距为2 cm。由于我们的DNN是一个多目标优化模型,因此输入会在两个不同的波长下进行传播。在经过相位调制后,再在自由空间中角谱衍射传播3 cm,得到输出平面。我们将两个任务的输出结果与训练的目标进行比较,并利用公式2计算输出平面光强和目标之间的误差均方差,从而得到两个损失函数。
(2)
式中K表示输出平面的测量点数。为了后续方便二值化,我们DNN设计优化的范围控制在
的
范围内,求取
。
然后,我们对这两个损失函数进行加权求和,权重需要根据网络最终输出情况进行调整,本文中我们设置800 nm和400 nm的权重分别为0.3和0.7。接下来,我们将误差反向传播以迭代更新衍射网络,根据目标特性定义损失函数来评估衍射神经网络的输出,并采用随机梯度下降优化算法来迭代优化DNN的相位参数。应用误差反向传播训练DNN,需要计算损失函数对所有网络变量的梯度,损失函数对第q层的误差梯度表达式为
(3)
式中:
为前一层衍射网络神经元的相位因子,
表示输出层复数光场对前面网络层的
神经元相位值的梯度,Real表示对复数光场取实部运算。在误差反向传播的每次迭代过程中,将少量的训练数据输入到衍射神经网络中,计算每个层的上述梯度,并相应地更新DNN。
Figure 2. Flowchart of the DNN training
图2. DNN训练流程图
2.2. 用于多波长的DNN仿真
经过DNN的训练,对其进行离散二值化后得到如图3所示两层相位。
(a) (b)
Figure 3. The training phase layers of DNN (a) layer 1; (b) layer 2
图3. DNN训练相位层结果(a) 第一层相位;(b) 第二层相位
我们在测试集中使用2000张图像(每种类型为200张图像)测试训练好的DNN网络。图4的结果显示,DNN在两种波长情况下,对Fashion-MNIST数据集识别的准确率分别为91.5%和91.4%。结果证明,我们的训练的DNN网络可以在多种波长下同时工作,具有较高的精度(>85%)。如图4所示,当光学图像被输入到DNN中时,输出层上相应的圈状区域将显示出最大的强度。我们注意到输入的光学图像没有被完全调制,这是由于二元相位分布,入射光无法得到充分调制,导致衍射效率下降。从归一化信号中可以看出,DNN具有相对较高的信噪比。与目标区域相比,其他区域的光强明显较低。
Figure 4. The training results of DNN (a) the training results of 800 nm; (b) the training results of 400 nm
图4. DNN输出结果(a) 800 nm训练结果;(b) 400 nm训练结果
2.3. 分析讨论
2.3.1. 对准误差的影响
衍射层之间的对准往往是衍射神经网络实验中最困难的点。我们也模拟了这一对准误差的影响。如图5所示,大于2~3像素(大约16~24 μm)的偏移量才会导致精度的显著下降。现代双面光刻技术已经可以确保对准误差保持在1~2 μm的范围内,因此该误差不会影响芯片的性能。
2.3.2. 波长误差的影响
由于激光器制作过程中的不确定性、温度变化、光学元件的磨损等,可能会导致激光器输出的光波波长与设计或期望的波长之间存在一定的偏差。这一偏差对于某些应用来说可能是关键的,特别是在需要高精度和稳定性的领域。
因此,我们也对我们网络对波长的泛化性进行测试,如图6所示,可以看到网络在一定的波长幅度内,仍然能够对网络进行一个精确的识别。但是,在波长超过±7 nm的变化范围时,准确率就会有所下降,这一问题可以通过增加网络的复杂度来解决,由一个双波长的神经网络逐渐变成三波长以至更多波长的神经网络,最终实现一个宽谱神经网络。
Figure 5. The alignment error of DNN (a) 800 nm; (b) 400 nm
图5. DNN对准误差(a) 800 nm波长下;(b) 400 nm波长下
Figure 6. The wavelength error of DNN (a) 400 nm; (b) 800 nm
图6. DNN波长误差(a) 400 nm波长下;(b) 800 nm波长下
2.3.3. DNN衍射层数的影响
当网络参数固定后为了验证DNN深度信息即层数对结果预测能力的影响,本文分别使用1层、2层、3层和4层的4种深度信息对网络进行训练。经过400次的训练后,最终得到不同层数下的识别准确率(如表1所示)。从1层增加到3层时候,800 nm (400 nm)波长下对Fashion-MNIST数据集的识别准确率从86.8% (88.9%)升到90.4% (92.1%),可见在所选取参数下,衍射器件层数增加对神经网络信息处理能力是有正向影响的。但当层数增加到4层的时,准确率不再升高,这说明深度信息已经饱和,再多的层数也不会使网络性能进一步提高,甚至还会使得网络性能下降。因此认为,网络在完成某项任务的时候所需要的神经元个数是存在最优值的,少了不能实现好的约束结果,多了在神经网络训练过程中会引入了冗余不可控自由度,这可能造成神经网络性能下降。
Table 1. The effect of the number of diffraction layers on the accuracy
表1. 衍射层数对准确率的影响
层数 |
准确率(800 nm) |
准确率(400 nm) |
1 |
86.8% |
88.9% |
2 |
88% |
90% |
3 |
90.4% |
92.3% |
4 |
91.3% |
92.1% |
2.3.4. 多任务训练精度
在我们的研究中,我们仍需要验证多任务训练是否显著优于单任务训练。为此,我们特别关注了在双任务训练框架下,仅执行一个任务时对训练效果的影响。我们的假设是,多任务训练能够提高认知灵活性和任务切换能力,从而在处理复杂或同时出现的任务时表现出更高的效率。
如表2所示,当只进行单波长情况下训练时,训练得到的结果就在另外的波长情况下无法识别出目标图像。这一结果表明,多任务训练显著优于单任务训练。
Table 2. Multi-task training accuracy
表2. 多任务训练精度
|
仅训练800 nm |
仅训练400 nm |
|
800 nm |
400 nm |
800 nm |
400 nm |
准确率 |
92% |
19% |
1% |
94% |
3. 结论
在本项工作中,我们提出了一种可以用于多波长下工作的二值DNN,能够在两种不同波长(800 nm和400 nm)情况下做到精确识别Fashion-MNIST数据集。我们考虑了多种可能存在的误差情况,如DNN对准误差、波长误差,发现DNN具有鲁棒性,能够在一定程度的误差下,依然保持良好的准确率。为了探究神经网络深度对DNN的影响,我们测试了1~4层衍射层DNN对于数据集的识别准确率,发现神经网络的深度信息是存在饱和的。未来,本工作的研究成果可能在光通信、光计算等领域显示出巨大潜力,同时也为人工智能光学芯片的研究做好铺垫。
基金项目
基金项目:国家重点研发计划(2022YFB2804301)。