使用衍射深度神经网络的全光学机器学习
深度学习一直在改变我们使用计算机执行高级推理任务的能力。 在这里,我们介绍了一种物理机制,通过演示全光学衍射深度神经网络(D2NN, diffractive deep neural network)架构来执行机器学习,该架构可以使用基于深度学习的设计的集成工作的被动衍射层实现各种功能。 我们创建了3D打印的D2NN,它实现了手写数字和时尚产品图像的分类,以及太赫兹光谱成像镜头的功能。 我们的全光学深度学习框架可以以光速执行基于计算机的神经网络可以执行的各种复杂功能; 将在全光学图像分析,特征检测和对象分类中找到应用; 并且还将支持使用D2NN执行独特任务的新相机设计和光学组件。
深度学习是增长最快的机器学习方法之一(1)。该方法使用在计算机中实现的多层人工神经网络以数字方式学习数据表示和抽象,并以与人类专家的性能相当或甚至更优的方式执行高级任务。最近深度学习在机器学习中取得重大进展的例子包括医学图像分析(2),语音识别(3),语言翻译(4)和图像分类(5)等(1,6)。除了这些主流应用之外,深度学习方法也被用于解决逆成像问题(7-13)。
在这里,我们介绍了一种全光学深度学习框架,其中神经网络由多层衍射表面物理地形成,这些衍射表面协同工作以光学地执行网络可以统计学习的任意函数。此外,物理的推理和预测机制网络是全光学的,导致其设计的学习部分是通过计算机完成的。该框架是一个衍射深度神经网络(D2NN),通过模拟和实验证明其推理能力。我们的D2NN可以通过使用几个透射和/或反射层(14)进行物理创建,其中给定层上的每个点传输或反射入射波,表示通过光学衍射连接到后续层的其他神经元的人工神经元(图1A)。根据惠更斯 - 菲涅耳原理,我们的术语是基于给定层上的每个点作为波的二次源,其幅度和相位由输入波和复合波的乘积确定。在该点处的有价值的透射或反射系数[见(14)关于一个D2NN内的波的分析]。因此,D2NN中的人造神经元通过由较早层产生的输入干涉图案和该点处的局部透射或反射系数两者在幅度和相位上调制的次级波连接到后续层的其他神经元。作为标准深度神经网络的类比(图1D),可以将每个点或神经元的透射或反射系数视为多重“偏差”项,这是一个可学习的网络参数,在衍射训练过程中迭代调整网络,使用错误反向传播方法。在该数值训练阶段之后,固定D2NN设计并确定所有层的神经元的透射或反射系数。这种D2NN设计-曾经使用3D打印或平版印刷等技术进行物理制造 - 然后可以以光速执行其训练的特定任务,仅使用光学衍射和无源光学组件或不需要电源的层从而创建一种有效且快速的方式来实现机器学习任务。
通常,每个神经元的相位和幅度可以是可学习的参数,在每一层提供复值调制,这改善了衍射网络的推理性能(图S1)(14)。对于具有仅相位调制的相干透射网络,每层可以近似为薄光学元件(图1)。通过深度学习,通过在输入层馈送训练数据然后通过光学衍射计算网络输出,迭代地调整(训练)衍射网络的每层的神经元的相位值以执行特定功能。 根据由目标输出确定的计算误差(由所需函数确定),通过误差反向传播算法优化网络结构及其神经元相位值,该算法基于传统深度学习中使用的随机梯度下降法(14)。
为了演示D2NN框架的性能,我们首先将其训练为数字分类器,以执行从0到9的手写数字的自动分类(图1B和2A)。对于该任务,通过从MNIST(修改的国家标准和技术研究所)手写数字数据库(15)训练具有55,000个图像(5000个验证图像)的五层D2NN来设计仅相位传输掩模。将输入数字编码到D2NN的输入场的幅度中,并且训练衍射网络以将输入数字映射到10个检测器区域,每个数字一个。分类标准是找到具有最大光学信号的探测器,这也被用作网络训练期间的损失函数(14)。
在训练之后,使用来自MNIST测试数据集的10,000个图像(其不用作训练或验证图像集的一部分)对D2NN数字分类器的设计进行数值测试,并且实现了91.75%的分类准确度(图3C和图S1)。除了衍射网络的分类性能之外,我们还分析了在网络输出平面上观察到的相同10,000个测试数字的能量分布(图3C),其结果清楚地表明衍射网络学会了根据其训练聚焦每个手写数字(输入)的能量进入正确的探测器区域(即目标)。通过使用复值调制和衍射网络中的层数、神经元和连接数量的增加,我们的分类精度可以进一步提高(图S1和S2)。例如,图 S2演示了D2NN框架的类似乐高的物理传输学习行为,其中已经存在的D2NN的推理性能可以通过添加新的衍射层来进一步改善-或者在某些情况下,通过剥离(即丢弃)一些现有的层 - 其中要添加的新层被训练以改进推理(来自整个衍射网络:新旧层)。通过使用添加到现有和固定D2NN设计(N = 5层)的两层补丁,,我们将MNIST分类精度提高到93.39%(图S2)(14);据报道,该状态的卷积神经网络性能为99.60至99.77%(16-18)。补充材料(14)中提供了关于重新配置D2NN设计的更多讨论。
(A)D2NN包括多个透射(或反射)层,其中给定层上的每个点充当神经元,具有复值传输(或反射)系数。可以通过使用深度学习来训练每层的传输或反射系数,以在网络的输入和输出平面之间执行功能。在这个学习阶段之后,D2NN设计是固定的;一旦制作或3D打印,它以光速执行学习功能。 L,层。 (B和C)我们训练并实验性地实施了不同类型的D2NN:(B)分类器(用于手写数字和时尚产品)和(C)成像器。 d,距离。 (D)D2NN与传统神经网络(14)之间的比较。基于相干波,D2NN对复值输入进行操作,具有乘法偏置项.D2NN中的权重基于自由空间衍射,并确定由前一层进行相位和/或幅度调制的二次波的干扰 。 “o”表示Hadamard产品操作。 “电子神经网络”是指虚拟地在计算机中实现的传统神经网络。 Y,给定层的光场; Φ,光场的相位; X,光场的幅度; F,非线性整流器功能[参见(14)讨论D2NN中的光学非线性]。
根据这些数值结果,我们3D打印了我们的五层D2NN设计(图2A),每层的面积为8厘米×8厘米,接着是衍射网络输出平面上定义的10个探测器区域(图1B)和3A)。然后我们使用0.4 THz的连续波照射来测试网络的推理性能(图2,C和D)。使用每个3D打印神经元的相对厚度对每层神经元的相位值进行物理编码。这种五层D2NN设计的数值测试在〜10,000个测试图像上实现了91.75%的分类精度(图3C)。为了量化这些数值测试结果与我们的实验之间的匹配,我们3D打印了50个手写数字(每个数字五个不同的输入),选择了相同的91.75%的测试图像,数字测试成功。对于用太赫兹光源均匀照射的每个输入物体,我们对D2NN的输出平面进行成像,以映射分配给数字的每个探测器区域的强度分布。结果(图3B)证明了3D打印衍射神经网络的成功及其推理能力:每个输入数字的网络输出平面的平均强度分布清楚地表明3D打印的D2NN能够聚焦输入光束的能量并在分配给该数字的相应检测器区域获得最大信号。尽管存在3D打印错误,可能的对齐问题以及我们设置中的其他实验误差源(14),我们的五层D2NN设计的实验和数值测试之间的匹配被发现为88%(图3B)。与我们的数值测试相比,实验网络的性能有相对较小的降低,对于数字0尤其明显,因为对数字中心的大空隙区域进行3D打印是具有挑战性的。对于具有空隙区域的其他数字也观察到类似的印刷挑战;例如,6,8和9(图3B)。
接下来,我们使用更复杂的图像数据集测试了D2NN框架的分类性能 - 即Fashion-MNIST数据集(19),其中包括10个类别,每个类别代表一种时尚产品(T恤,裤子,套头衫,连衣裙,大衣,凉鞋,衬衫,运动鞋,包和踝靴;参见图S3的样品图片)。通常,对于相干照明的D2NN,我们可以使用输入平面的幅度和/或相位通道来表示要分类或处理的数据。在我们之前报道的数字分类结果中,输入对象使用幅度通道进行编码,为了演示网络输入的相位通道的效用,我们将对应于时尚产品的每个输入图像编码为仅相位对象调制( 14)。我们对时尚产品分类的D2NN推断结果(作为层数,神经元和连接数的函数)总结在图S4和S5中。为了提供我们性能的示例,具有N = 5个衍射层(与图2A中所示的数字分类D2NN共享相同的物理网络尺寸)的仅相位和复值调制D2NN分别达到81.13和86.33%的精度(图S4)。通过将衍射层的数量增加到N = 10并将神经元的总数增加到0.4百万,我们的分类准确度增加到86.60%(图S5)。对于基于卷积神经网络的标准深度学习,使用890万可学习参数和250万个神经元(20),已经报道了Fashion-MNIST分类准确度的最新性能为96.7%。
为了通过物理D2NN实验证明时尚产品分类的性能,我们在数字分类所采用的相同程序的基础上,3D打印了我们的仅相位五层设计和用作测试对象的50种时尚产品(每类五个)衍射网络(图2A和3),除了每个输入对象信息都在相位信道中编码。我们的结果总结在图4中,揭示了我们的五层D2NN设计的实验和数值测试之间的90%匹配,50个时尚产品中有五个错误。与数字分类(50位数中的6个错误;图3)相比,该实验在实验和数值测试结果之间产生了稍微好一点的匹配(尽管时尚-MNIST数据集的性质更具挑战性),可能是因为我们使用了相位通道编码时尚产品的输入图像信息,从而没有与空白区域的3D打印相关的挑战[例如在数字0,6,8和9(图3)中]。
(A和B)在训练阶段之后,显示手写数字分类器,时尚产品分类器和成像器D2NN的五个不同层(L1,L2,...,L5)的最终设计。在网络层的右侧 ,示出了相应的3D打印的D2NN的图示。 (C和D)实验太赫兹装置的示意图(C)和照片(D)。 放大器 - 倍增器链用于产生0.4THz的连续波辐射,并且混频器 - 放大器 - 倍增器链用于在网络的输出平面处进行检测。 RF,射频; f,频率。
接下来,我们测试了由五个3D打印的传输层组成的相位D2NN的性能,以实现幅度成像(图2B)。该网络使用ImageNet数据库(21)在其输出平面上输入光场幅度的创建图像~9cm×9cm) - 即输出图像具有与输入对象(14)相同的物理尺寸。如图所示S6,A和C,经过训练的网络最初将输入平面上的每个振幅点连接到下面各层的各个神经元和特征,然后将光聚焦回输出(即图像)平面上的点。正如预期的那样,与自由空间衍射(即没有衍射网络)的情况完全不同,如图S6,B和D所示。
(A)3D打印的D2NN基于网络输出平面上的10个不同检测器区域成功地对手写输入数字(0,1,...,9)进行分类,每个检测器区域对应于一个数字。作为示例,示出了用于手写输入“5”的3D打印的D2NN的输出图像,其中红色虚线方块表示每个数字的训练的检测器区域。我们的实验结果的其他例子如图S9所示。(B)我们的实验结果的混淆矩阵和能量分布百分比,使用3D打印从数值测试成功的图像中选择的50个不同的手写数字(每个数字五个)。 (C)与(B)相同,除了总结10,000个不同手写数字的数字测试结果(每个数字约1000个),使用五层设计实现91.75%的分类精度。我们的分类精度通过将衍射层的数量增加到7来增加到93.39%,使用添加到现有已固定D2NN的两个额外衍射层的补片(图S2)。
经过训练和盲测,数值上证明了网络的成像能力(图S6和S7),然后我们3D打印了设计的D2NN。使用图2中C和D所示的相同实验设置,对3D打印的D2NN的输出平面进行了扫描,以获得由0.4THz的连续波辐射均匀照射各种输入物体的图像。图S8总结了我们使用这种3D打印的D2NN实现的实验结果,该D2NN成功地在网络的输出平面上投影输入图案的单位放大图像,学习成像器或物理自动编码器的功能。为了评估这个D2NN的点扩散函数,我们对不同直径(1,2和3 mm)的针孔进行成像,得到输出图像,每个输出图像的半高宽分别为1.5,1.4和2.5 mm(图.S8B)。我们的研究结果还表明,印刷网络可以在0.4 THz(相当于空气中的0.75mm波长)下解析1.8 mm的线宽,与我们的D2NN设计的数值测试相比,分辨率略差,网络可以解析~1.2 mm的线宽(图S7C)。衍射网络性能的这种实验性降级可能是由于诸如3D打印错误,潜在的未对准以及3D打印网络中的吸收相关损失等因素造成的(14)。
(A)作为示例,说明用于凉鞋输入的3D打印D2NN的输出图像(Fashion-MNIST class 5)。 红色虚线方块表示每种时尚产品的训练的检测器区域。 我们的实验结果的其他例子如图S10所示。 (B)我们的实验结果的混淆矩阵和能量分布百分比,使用从数字测试成功的图像中选择的50个不同的时尚产品(每个类别5个)进行3D打印。 (C)与(B)相同,除了总结我们对10,000种不同时尚产品(每类约1000)的数值测试结果外,使用五层设计实现81.13%的分类精度。 通过将衍射层数增加到10,我们的分类精度提高到86.60%(图S5)。
由于光学系统的并行计算能力和功率效率,人工神经网络中的机器学习的光学实现是有希望的(22-24)。与之前基于光电子学的学习方法(22,25-27)相比,D2NN框架提供了一种独特的全光学机器学习引擎,可以使用无源元件和光学衍射以光速高效运行。 D2NN的一个重要优势是可以使用各种高吞吐量和大面积3D制造方法(如软光刻和增材制造)以及宽视场光学元件和检测系统轻松扩展它们,从而节省成本以可扩展和低功耗的方式达到数十亿到数亿个神经元和数千亿个连接。例如,将D2NN与无透镜片上成像系统(28,29)集成在一个经济有效的便携式平台中可以提供极端的并行性。这样的大规模D2NN对于各种应用可以是变形的,包括图像分析,特征检测和对象分类,并且还可以使得能够使用D2NN执行特定成像任务的新显微镜或相机设计。为了实现这些新技术,需要非线性光学材料(14)和作为3D制造方法的一部分的组合网络的所有层单片D2NN设计。在其他技术中,基于双光子聚合的激光光刻(30)可以提供用于产生这种D2NN的解决方案。