掌桥专利:专业的专利平台
掌桥专利
首页

光学处理系统

文献发布时间:2023-06-19 09:57:26


光学处理系统

技术领域

本发明总体上涉及机器学习卷积神经网络。特别地,本发明涉及使用基于光学相关性的处理系统来加速卷积神经网络。

背景技术

卷积神经网络(CNN或ConvNet)是众所周知的,已经成为图像分析中杰出的机器学习技术。它们是深度前馈型人工神经网络,实现了图像识别和分类的最先进性能。ConvNet的生命期通常分为训练和推理。但是,训练大型卷积网络非常耗时——即使使用最先进的图形处理单元(GPU),也可能需要数周的时间。在训练和推理阶段,某些更复杂的ConvNet可能需要更长的时间来运行。

在ConvNet中,卷积层代表着计算负荷中非常显著的部分——通常为多数部分。此外,增加卷积的分辨率(resolution)(增加输入大小或内核大小)会带来更大的计算负担。这驱使网络配置避免构建大量高分辨率的卷积层,或者促使网络配置修改卷积层以减少计算负担。

已经尝试了使用例如在GPU或FPGA架构上实现的各种算法,以数字方式加速ConvNet的训练和推理。但是,非常需要进一步的加速。

本发明的实施例试图针对该问题提供解决方案。

发明内容

在第一独立方面,提供了一种光学处理系统,其包括至少一个空间光调制器SLM,至少一个空间光调制器SLM被配置为同时显示第一输入数据模式(a)和作为第二输入数据模式(b)的傅立叶域表示(B)的至少一个数据聚焦模式,光学处理系统还包括检测器,用于检测已被所述输入数据模式和聚焦数据模式连续光学处理过的光,从而产生第一和第二输入数据模式的光学卷积,光学卷积在神经网络中使用。

光学处理系统包括4f光学相关器,其中输入数据模式(A)在相关器的输入平面中,并且数据聚焦模式在傅立叶平面中。数据聚焦模式可以包括卷积核或滤波器。SLM对入射光具有动态调制效果。如PCT/GB2013/051778中所述,SLM可以是例如平行层,或者它们可以在同一平面中。在这样的4f光学相关器中,来自光学输入的光入射到所述显示的模式上并被连续地光学处理,从而在光被检测器捕获之前,每个输入数据模式和聚焦模式形成连续的光路。

数据聚焦模式被选择为第二输入数据模式(b)的傅立叶域表示(B)。也就是说,从第二输入数据模式计算出滤波器,以产生ConvNet所需的卷积。例如,可以以数字方式计算数据聚焦模式。

神经网络可以是卷积神经网络(ConvNet),其中光学卷积适于神经网络的卷积层。通常,第二输入数据模式称为“核”,第一输入数据模式与该核进行卷积。

重要的是,与已知的数字实现方式相比,光学相关器是一种更适合评估(2D)卷积的平台。光学方法提供了比此类方法改进的性能。

在一些实施例中,第一输入数据模式(a)包括多个(N个)分块输入数据模式——或“特征图”——多个图块输入数据模式中的每一个对应于被处理的一“批”图像中的成员,并且其中对于多个图块输入数据模式中的每一个并行地产生多个卷积。在一些实施例中,第二输入数据模式包括多个(M个)分块核数据模式,多个分块核数据模式中的每一个对应于一组滤波核(b)中的不同成员,并且其中对于由所述分块输入数据模式和分块核数据模式形成的每对(N×M)并行地产生多个卷积。

因此,输入的2D图像和/或2D核可以被分块。通过分块,我们的意思是图块彼此不重叠并且在检测器区域的范围内。因此,每个“图块”的分辨率小于探测器分辨率。这导致使用给定硬件分辨率执行多个较低分辨率卷积的不同方式。因此有利地,通过适当地选择分块的输入和核,可以运用检测器(例如相机)的全分辨率。为了充分利用卷积分辨率,对输入和核二者进行分块会产生跨检测器(相机)平面的结果。有利地,对于每个输入和核数据对(每对可以是一个“图块”),并行实现多个卷积。并行卷积可以是“分批的”。一批代表多个较小的傅立叶变换。

注意,在对核分块的情况下,以适当的填充在直接表示(b)中对它们分块。然后将它们转换为傅立叶域滤波器表示(B)。由于滤波器生成的特性,这种转换并不完美,并且可能导致不同操作之间的串扰。

优选地,光学处理系统还包括处理器,用于从第二输入数据模式(b)数字地获得数据聚焦模式(B)。因此,从核以数字方式计算4f光学相关器的滤波器。由于低滤波器分辨率(与光学检测器分辨率相比),这是相对快的过程。此外,一旦已经训练了网络,就可以重复使用这些模式;它们不需要重新计算。

处理器可以被配置为使用最小欧几里得距离(MED)方法获得数据聚焦模式。该方法假设用于表示给定复数值的合适的可用SLM调制值是最接近复平面上测得距离的值。

有利地,可以采用4f光学相关器来加速ConvNet的推理过程,该网络已经在常规数字平台上以光学系统的特质的知识而进行了训练。

可替换地,可以将4f光学相关器并入网络并直接用于训练过程中。在通过网络的前向传播期间使用光学相关器,而在向后传播期间使用常规的数字卷积。

应当理解,由于空间光调制器的属性而对滤波图像的约束限制了可以显示的数据聚焦模式(B),并因此限制了可以实现的相应卷积核(b)。然而,在某些实施例中,重要的是限制数据聚焦模式(B)的最大空间频率分量,因为这确定了相应核(b)的有效大小。作为回顾,数据聚焦模式(B)和核(b)通过离散傅立叶变换(DFT)链接。在数据聚焦模式设计期间必须考虑这一事实。因此,系统控制滤波器的最大空间频率含量,以限制有效核宽度;也就是说,核的大小和输入中超出这些点的距离不会影响输出中的相应点。这防止了不同卷积操作之间的不合期望的连接性。成功操作的关键是控制此连接性。

在一些实施例中,第二输入数据模式(b)是具有正和负分量的带符号核。

在一些实施例中,将核分解成1)正值核p和2)均匀偏差核b1,使得从两个正值卷积重构f*k=f*(p-bl)。这克服了检测器(相机)无法测量负振幅的事实。

在一些实施例中,SLM是二进制SLM而不是多级SLM。二进制SLM具有高带宽,提供高性能,但要求应用程序适应设备的限制。

在一些实施例中,系统还包括用于调节放大和用于光学池化神经网络的透镜或透镜选择。

在另外的方面,提供了一种使用如上所述的光学处理系统产生光学卷积的方法。这样的方法可以用于卷积或卷积和池化神经网络的层。例如,该方法可以用于训练或推理卷积神经网络。

在另外的方面,提供了如上所述的系统在深度机器学习中用于图像分析的用途。

在第二独立方面,提供了一种使用4f光学相关器配置神经网络的方法,该方法包括以下步骤:

显示第一输入数据模式(a);

确定作为第二输入数据模式(b)的傅立叶域表示(B)的至少一个数据聚焦模式(B);

显示至少一个数据聚焦模式(B);

检测已经由所述输入数据模式和聚焦数据模式连续光学处理的光,从而产生第一和第二输入数据模式的光学卷积;以及

使用光学卷积作为神经网络的一部分。

在一些实施例中,该方法还包括以下步骤:对第一输入数据模式和第二输入数据模式中的至少一个分块,并且并行地产生多个光学卷积。

在一些实施例中,不同的系统组件以不同的速度操作。以比输入SLM更慢操作的相机跨多个帧被曝光,以便产生作为多个光学卷积之和的结果。

将理解的是,参考系统方面描述的所有可选实施例均适用于这些方法。

附图说明

图1是从申请人自己的现有技术得出的光路图;

图2是示出已知的“4f”光学系统的另一光路图;

图3(a)至3(c)示出两个函数的光学相关性的示例;

图4是复平面的相位矢量图(Argand diagram);

图5是基于现有技术的2D卷积(ConvNet)的示意表示;可以从http://deeplearning.net/tutorial/lenet.html获得进一步的示例;

图6是傅立叶域卷积的示例;

图7(a)-7(d)示出使用固定输入硬件执行多个较低分辨率卷积的不同方式;

图8是将10MPx输入分成P批时与数字傅立叶变换相比的“减速因子”S相对于屋顶线性能的曲线图;

图9图示使用光学系统执行卷积的示例;以及

图10示出根据本发明的实施例获得的数字计算的带符号卷积和相应光学卷积的两个示例。

具体实施方式

本发明人已经认识到,可以以特定方式利用光学相关器来评估处于卷积神经网络(CNN)或ConvNet核心的卷积。换句话说,光学处理正被应用于深度学习过程,尤其是用于评估ConvNet所需的卷积。但是,由于光学卷积具有需要考虑的特定特质,因此该应用并非无关紧要。具体地,如将在下面详细描述的,问题与可用的电光和光电硬件的限制有关。

相干光学处理系统是已知的。在诸如光学相关器之类的相干处理系统中,通常采用一个或多个空间光调制器(SLM)设备以相位或振幅或两者的组合来调制的激光器或其他相干源。SLM是对入射光具有动态调制效果的设备。这些通常包括液晶设备,但也可以是微镜微机电(MEM)设备。光学相关器设备通常用作光学模式识别系统。在4f匹配滤波器或联合变换相关器(JTC)系统中,SLM设备利用函数来寻址,所述函数通常基于要与输入函数“匹配”的参考函数/模式的傅立叶变换表示来表示输入或参考模式(其可以是图像)和/或滤波器模式。

诸如互补金属氧化物半导体(CMOS)或电荷耦合器件(CCD)传感器之类的相机通常位于光学系统的输出平面中,以捕获所产生的光学强度分布,在光学相关器系统的情况下,所述光学强度分布可以包含标示输入和参考函数的相似性和相对对齐的局部相关强度。

相干光学信息处理运用以下事实:简单的透镜呈现傅立叶变换,并且在涉及现有技术和本发明的相干光学系统类型中使用的最常见函数是光学傅立叶变换(OFT)——时间分解,或者在这种情况下,空间分布为其频率分量。这类似于由以下等式标示的二维傅立叶变换的纯形式:

其中(x,y)表示空间/时间变量,并且(u,v)是频率变量。

OFT可以通过图1所示的光学系统来实现,其中波长λ为1的准直相干光(通常为激光)1由空间光调制器2(SLM,通常为液晶或机电MEM阵列)进行相位或振幅调制。然后,调制光束穿过焦距为f的正会聚透镜3并聚焦在透镜的后焦平面中,诸如CMOS阵列4的检测器定位在所述后焦平面处以捕获所得傅立叶变换的强度。

前焦平面(为清晰起见,其可以称为下游焦平面)精确地包含在后焦平面(为了清晰起见,其可以称为上游焦平面)处存在的复数域的傅立叶变换——振幅和相位二者。这与以下事实一致:对于无限空间范围内的完美平坦光束,获得单个光斑(傅立叶理论中的“DC”术语)。

在光学处理系统中,OFT可以用作基于电子/软件的快速傅立叶变换(FFT)系列算法的直接替代,在处理时间和分辨率方面提供显著优势。该过程可以用作各种函数的基础。

可以通过两种主要方式在光学系统中实现两个或更多函数之间的相关性。第一种方式是匹配滤波过程,记为下式:

r(x,y)*g(x,y)=FT[R(u,v)

其中大写函数表示其小写等效项的傅立叶变换;“*”指示相邻函数的复共轭,并且“*”标示相关函数。

实现关联的第二种方式是使用联合变换关联过程,例如EP1546838(W02004/029746)中描述的1/f JTC。

在每种情况下,相关性都形成为两个函数的乘积的傅立叶逆变换,它们本身已经进行了傅立叶变换。在匹配滤波的情况下,一个函数通过透镜光学地进行傅立叶变换;并且一个函数在滤波器设计过程期间电子地进行傅立叶变换。在JTC情况下,两者都是光学地进行傅立叶变换。

图2示出了可用于实现匹配滤波器或其他基于卷积的系统的“4f”光学系统。图2示出了波长为λ的准直相干光源5,其由SLM像素阵列6(“输入数据”a)调制,并且然后通过透镜7(“透镜1”)传输并聚焦在第二SLM像素阵列8上,从而在第二SLM 8的像素处形成显示在第一SLM上的函数的

对于匹配滤波过程,由第一SLM 6的像素显示的模式将是“输入场景,a”g(x,y),并且在第二SLM 8上显示的模式将表示参考函数r(x,y)的傅立叶变换的版本。

如图2所示,使用SLM 6、8在平面a和B处将数据输入到光学相关器系统中。例如,如果复振幅A(x,y)的光束穿过具有空变透射函数t(x,y)的SLM,则所得光束具有振幅A(x,y)·t(x,y).

输入数据a置于系统的前面。滤波器8(B)有效地将光场乘以2D函数B。相机传感器10对输出光束c

卷积理论使用傅立叶变换通过简单的乘法来影响两个函数f和g的卷积(*):

本发明人已经认识到光学系统的作用是评估卷积

相关性的输入之一a直接输入到光学系统中。相关性的第二输入b被数字地处理。这是离线执行的,使用数字离散傅立叶变换产生B,接着进行后处理以映射到可用的滤波器级(恰当使用光学相关器会在从目标b生成滤波器B时引起小开销)。

因此,本发明人认识到,相关性与卷积处理紧密相关,对应于被卷积的函数中倒转坐标。注意,在2D图像中,每个坐标的倒转是图像的旋转。为了清晰起见,这些函数为了清晰而定义在1D中,但是它们自然地扩展到2D。

两个函数f(x)和g(x)的卷积(*)以离散和连续表示二者定义为:

f*g(x)=∑

f*g(x)=∫f(χ)g(x-χ)dχ。

相同的两个函数f(x)和g(x)的卷积(o)定义为:

从这些定义中可以看出,在函数之一的坐标倒转下,运算是可互换的。通过旋转滤波器在光学相关器中执行此倒转。因此,对于对称函数,相关和卷积是等效的。重要的是,本发明人已经认识到光学相关器也可以被认为是光学卷积器。

除其他事项外,相关性对于模式匹配应用非常有用。该过程可以看作是将一个函数拖到另一个函数上,并在所有位移的集合处取得它们之间的点积(投影)。两个函数将具有大的点积,并在光学上产生“相关点”,对应于其位移版本匹配所在的位置。

图3(a)至3(c)示出了两个函数的相关性的示例。测试图像(a)与目标(b)相关。输出(c)中的峰值示出存在匹配的位置——这在图3(c)中圈出。

通过使用SLM将信息编码到光束中。SLM本质上是非常小的显示器(实际上,光学处理器系统中使用的某些设备起源于显示投影仪)。这些设备使用液晶技术——结合光学偏振器——来调制光束。通常,可以调制光束的振幅和相对相位。不同的设备提供不同的能力。通常,设备可以分为两类:多级SLM和二进制SLM。

对于多级SLM,可以将设备上的每个像素设置为数个不同级别(通常为8位或256个级别)之一。取决于光学偏振,设备可以以不同的方式调制光场的振幅或相位。SLM无法独立调制光场的幅值和相位。通常,存在一些耦合调制。这种调制可以用“操作曲线”来表达;即复平面上描述可访问调制的路径。图4是复平面的阿根图,示出了SLM的256个调制级别所在的曲线示例。多级SLM设备通常在100Hz左右操作。

二进制SLM的操作通常比多级SLM快得多,大约为10KHz。但是,二进制SLM仅提供2个不同的调制级别,可以是振幅调制、相位调制或两者兼有。尽管仅提供两个级别,但高得多的速度意味着二进制SLM是带宽最高的设备。

注意,如果将二进制SLM用作滤波器SLM,则它不限于表示二进制卷积核,因为二进制函数的傅立叶变换不一定是二进制的。但是,二进制滤波器的确约束了控制滤波器空间频率含量的能力。

图5概述了2D ConvNet的示例示意图。特别地,将输入图像11分为图块,并对这些图块执行2D卷积。然后接着是不同层的处理。这些层包括降低样本分辨率的“池化”层;另外的卷积层;非线性应用函数的应用;和经典的“全连接”神经网络层。

ConvNet通常包括数个链接在一起的不同层,包括:

·卷积层,其中(多个)输入与给定核进行卷积。

·池化层,其中对层进行空间下采样。

·激活层,其中应用(非线性)激活函数。

·全连接层,其是经典的全连接神经网络,在每个节点之间具有完全指定的权重。这些层用于生成最终的分类节点值。

尽管将理解,ConvNet有许多细微差别,但这里概述的只是规范架构的高级综述。这些层可以以各种各样不同方式组合。正确地配置神经网络——具有良好的性能并且没有过多的计算需求——是该领域的关键挑战之一。

在每一层(除了完全连接的层之外),向前传递的网络状态是3D对象(或当包括批维度时为4D),由于应用不同卷积核的缘故,该3D对象包括一组x、y“特征图”。

在各层内,还有另外的配置选项。例如,卷积层可以有许多方式组合来自前一层的不同特征图,并且存在各种非线性激活函数。

ConvNet的生命期可以分为训练和推理。

定义网络配置后,必须对其进行训练。网络中有大量必须凭经验确定的参数,包括卷积核和完全连接层的权重。

最初,这些参数是随机设置的。训练它们需要大量的预分类数据集。该训练数据集通过网络馈送,并且正确分类和所报告的分类之间的误差随后通过网络反馈(反向传播)。与网络中每个点有关的误差与梯度下降方法一起使用,以优化该点处的变量(即核中的权重)。在反向传播期间执行卷积。由于较高的精度要求,不太可能以光学方式实现这些卷积。

一旦训练完成,就可以部署网络进行推理,其中将数据简单地呈现给网络并传播直到最终的分类层。

光学4f相关器可用于评估卷积,并且特别是加速ConvNet推理应用。有利地,可以使推理以相对较低的精度工作(这是与训练相比,为了使数值梯度下降方法鲁棒地工作——特别是在反向传播期间,训练要求高精度)。

卷积的光学实现不是对称操作。参考回上面的“光学傅立叶变换和光学相关器”部分,一个自变量a直接输入到光学系统,而对于第二自变量b,其傅立叶域表示B在光学相关器的本地被计算并显示为“滤波器”。这与其中a和b可互换的纯卷积相反。

因此,创建滤波器和输入的过程导致性能不对称。示意性地,该傅立叶域卷积概述在图6中。图6图示了参照4f相关器对卷积进行光学评估的原理。对输入进行光学傅立叶变换,将其光学乘以滤波器,并然后反向进行光学傅立叶变换以产生卷积。滤波器是从核以数字方式计算的。(由于低滤波器分辨率,这可以是快速的过程)。

这种架构要求基于核的滤波器的数字计算。这不是巨大的开销。一旦训练结束,就可以存储预先计算的滤波器,从而消除干扰期间的开销。第二,核的相对低的分辨率简化了滤波器计算。核计算的技术方面将在下面讨论。

考虑到硬件,光学卷积是O(1)过程。在系统的“循环时间”(即系统更新自身所花费的时段)中,以SLM和相机的分辨率执行卷积。系统的不同方面(输入SLM、滤波器SLM和相机)可以具有不同的循环时间。系统的有效吞吐量由最快组件的速度确定;较慢的组件会限制系统可以执行的实际操作。

这些硬件考虑导致使用光学处理器评估在神经网络中使用的卷积方面的至少四个不同的技术问题:

1.O(1)操作是固定分辨率卷积。另一方面,应该容纳在卷积分辨率方面需要灵活性的应用。

2.SLM的有限操作范围意味着无法将任意数据输入到系统中。这对输入和滤波器二者都有影响。

3.通过使用相机传感器测量结果,测量的是强度而不是复振幅。即使输出是实数,这也不仅阻止了测量输出的相位,而且无法确定正数和负数(带符号的结果)。

4.硬件限制意味着系统的不同组件(输入、滤波器、相机)可能以不同的速度操作。具体而言,相机的操作可能会比输入和/或滤波器SLM慢。因此,系统的输出在数个不同的帧上集成。

现在依次解决这些问题及其解决方案。

1.固定分辨率卷积

如所讨论的,所执行的卷积取决于系统硬件的分辨率。尽管ConvNet可能具有相对高分辨率的输入,但池化阶段意味着随着网络的进展,卷积的分辨率降低。即使第一卷积层也不大可能利用相关器的分辨率。可以通过使卷积光学并行化来解决此问题。通过在输入SLM上布置数个输入,可以存在相对于相同核的并行卷积。

参考回图2,一组输入被分块以形成函数a。所期望的卷积核b转换为适当的滤波器B。所得光学卷积跨输出平面c布置。

输入必须适当分离。在评估离散卷积时,“完整”卷积将使核宽度扩展超出输入覆盖区。因此,必须以足够的分离对不同输入分块,以允许提取该数据而不会在不同结果之间有串扰。为了仅获得“有效”卷积,可以通过忽略结果的边界来更紧密地分块。优选地,当更紧密地分块时,系统可以被配置为避免完整卷积区域与相邻图像的相同填充区域重叠。

从技术上讲,这可以称为“相同填充”卷积。在CNN术语中:“有效”卷积是指其中未应用零填充的情况(即核必须完全停留在图像尺寸定义的“有效”区域内):这会导致是小于输入图像的核-宽度的输出图像。对于小核,这是很小的差异,但是在大多数CNN情况下,优选“相同填充”卷积,而不是完整或有效卷积。

但是,输入分块不是唯一可用的分块形式。在将核转换为光学滤波器之前,也可以对其进行分块。相应的卷积然后将被分块。分块的核之间应允许足够的空间,使得所得卷积不会相互碰撞。这种分块形式的实现更具挑战性,因为它对光学滤波器函数的需求更高,并且随着更多核被分块在一起,可能导致性能降级。

图7(a)至7(d)示出了使用固定输入硬件卷积执行多个较低分辨率卷积的不同方式。通过适当地组合输入和核,有可能确保有效地使用硬件卷积分辨率;目标是确保输出(相机)分辨率得到充分利用。

评估一批较低分辨率的傅立叶变换不像使用系统评估单个高分辨率的傅立叶变换那样有效。相对于数字方法,这种方式的并行化会影响光学方法的竞争力。有利地,与由数字傅立叶变换提供的O(N log N)过程相比,光学方法提供了傅立叶变换作为O(1)过程。傅立叶变换的大小由系统的分辨率确定。是当运用这种全分辨率时我们可以实现最大的性能增益。

当我们不利用全分辨率傅立叶变换时,尽管分块某种程度上弥补此问题,但我们未利用完整系统性能。尽管我们仍在利用系统的全分辨率,但我们并未利用相应傅立叶变换的高分辨率。取而代之的是,我们使用它来实现“批”卷积过程。该批方法取而代之地等效于数个较小的傅立叶变换。

当不直接使用固有傅立叶变换的全分辨率而是将其用于执行一批较低分辨率的变换时,潜在性能的一部分会“丢失”。使用简单的计算比例自变量在这两个应用之间进行以下比较。

比较计算比例被认为是由傅立叶变换的比例决定的(按元素的乘法相比较而言“便宜”)。因此,可以将我们的性能分别比较为:

FFT:O(N log N)

OFT:O(1),

总共有N个像素。现在不评估一个大小为N的变换,而是评估一批P个大小为M的变换,其中N=M·P。相同的O(1)比例适用于OFT,但FFT现在具有比例:

Balch-FFT:O(P·M log M)。

定义了“减速因子”S,它描述了我们可以实现的屋顶线性能的因子,遵循以下这些简单的比例自变量:

该公式中的对数基数无关紧要。该公式是光学系统相对于预期在执行成批操作时实现的计算机的屋顶线性能优势的一部分。

图8是将10MPx输入分成P批时与数字傅立叶变换相比的“减速因子”S相对于屋顶线性能的曲线图。可以看到,该行为是相对有利的——即使将输入分为一百万个10-像素批次,性能损失也只有十分之一。

2.容纳SLM操作范围

如所讨论的,输入和滤波器SLM二者都具有有限的操作范围。这意味着不能执行任意卷积。简单地以光学方式实现卷积核并不一定是直接的情况。

这可以通过考虑滤波器SLM来说明。考虑我们有目标核,并希望确定相应的滤波器。给定SLM的已知操作范围,就可以找到该滤波器的最佳表示。但是,它将不会确切表示目标核,而是不同的核。在CNN应用中,我们可以将该实际核称为“隐藏核”。此过程在图9中图示。

如图9所示,核20和输入21在神经网络内一起数字卷积以产生光学卷积22。在给定SLM操作范围的情况下,产生对应于给定核的最佳滤波器23。给定该滤波器并针对真正的“隐藏”核进行反向计算,预期看到不同的卷积,如24处所示。测得的光学卷积在25处示出——可以观察到与理论光学卷积24的良好一致性。

该新核具有仍然选择与原始核相同特征的属性,但是并不完全相同。但是,如图9所示,光学系统正如预期那样执行。为避免疑问,该系统确实以高保真度执行光学卷积;它只是不能执行所有卷积——包括图9中所示的任意示例。但是,实际上实现的隐藏核被良好定义且是熟知的。有数种不同方式从目标核得到滤波器并因此得到相应隐藏核。

解决的广泛工作流是在常规数字计算机上训练网络,并然后将其部署在光学平台上用于加速推理应用。训练必须对光学器件的性能有认知。利用的基本原理是以下事实:在训练ConvNet时探索的最小化格局并不是特别引人注目。在光学卷积可访问的区域中应该有适当的解决方案。有两种基本方式可以解决有限的SLM范围,它们以不同方式的形式可以从核得到滤波器:

1.第一,可以使用一种策略,该策略使用如由某个度量所确定的给定目标核的最佳光学滤波器实现。在训练网络时,可以假设最佳实现足够接近常规的数字卷积,或者可以将此光学卷积的属性并入网络的训练中。

2.第二,可以训练网络无需知晓光学卷积属性,并且忽略任何复杂的滤波器设计策略。例如,这可以通过直接参数化核来完成。例如,不是使用5x5核的25个参数直接指定核,而是可以使用它们通过某个适当的基础函数集来对滤波器进行参数化。适当的基础函数集是傅立叶基础;核将进行傅立叶变换,并且结果按比例被适当缩放以直接映射到SLM的驱动值上。这导致与驱动卷积核值任意相关的隐藏核。为了使反向传播仍成功训练,网络的连接性必须与常规卷积的连接性相同(核的相同元素将输入和输出特征图中的该相同像素链接在一起),并且必须在反向传播期间使用准确卷积。

在一种实现中,使用常规的卷积运算或相关器的高保真度仿真来完全以数字方式进行训练。然后,潜在地在中间量化或校准步骤之后,将经训练的神经网络部署在光学器件上用于推理。在第二实现中,光学卷积在训练期间直接使用。考虑到光学像差、设备缺陷等,预期后者最有效地工作。

注意,对核表示的约束在训练步骤期间具有影响。反向传播涉及将卷积核设置为有误差,并且需要以适当的保真度被执行。如果在计算机中训练模型并然后被光学部署(开发中重要的第一步),则这不是问题。可以使用数种技术通过改善滤波器性能来使得能够以光学方式实现有误差核,例如:改进的SLM特性和优化;滤波时空抖动;以及结合使用多个SLM来扩展SLM调制范围。

当尝试实现给定核时,要使用的适当方法是在生成用于相关器的光学滤波器中常用的最小欧几里得距离(MED)方法。原理是在复平面上找到与滤波器的傅立叶变换所需的给定复数值最接近的可访问点。

如果SLM可用的复数值(“操作曲线”)是混合模式的,则该方法最为成功,因为它们调制振幅和相位二者。

重要的是,滤波器不包含使核有效地大于其应有的大小的空间频率分量。在大多数实施例中,不能同时计算同一输入的后续层,因此在图像批处理中的不同训练示例之间而不是网络的不同层之间发生滤失(filter-bleed)串扰。

一种避免这种情况的技术是确保核设计过程不会引入任何较高空间频率分量。例如,如果需要较高核分辨率在SLM上显示,则填充零,并然后进行傅立叶变换,或者进行傅立叶变换,并然后执行正弦插值都是有效的方法(其他插值方案——尽管次优——但可能提供足够的性能)。

3.双极性结果

使用相机测量光学强度意味着无法直接确定输出函数的符号。虽然某些网络配置可以容忍此问题,但由于例如通常应用的非线性(例如ReLu)取决于所测量函数的符号,因此其仍然潜在地是重要的问题。然而,本发明人已经开发了通过利用偏差函数来直接确定所得卷积的符号的方法。

考虑到目的是光学评估卷积f*k,其中f为正且k为双极性核。(此处使用粗体标示2D矩阵)。可以将此卷积处理为两个单独卷积之间的差:

其中I是与核大小相同的单位矩阵。为了产生正偏核p,将偏差b应用于核。然后,我们具有第二核,其简单地是多个1的矩阵;该核的应用与boxcar平均相同。现在,这两个卷积都排他地具有正输入,因此具有正输出。相机可以进行测量而不会丢失振幅信息,因为其是先验已知的。然后,这两个函数之间的差产生所期望的卷积。

图10示出了使用上述方法获得的数字计算双极性卷积和相应光学卷积的两个示例。如图10所示,该方法在获得双极性卷积方面是有效的。所呈现的卷积不是直接从相机成像的,而是这种差分过程的结果。

此方法具有最小的性能开销。对应于核I的滤波器是微不足道的,并且对两个函数的差分开销是微不足道的。这两个操作可以并行进行。

此外,如果输入f也是双极性的,则可以将其分为正分量和负分量,单独地对其进行处理,并且通过组合所得卷积来重构结果。

4.相机比SLM慢

由于硬件限制,通常情况下,相机的操作比SLM慢。因此,尽管系统将能够以由SLM的吞吐量确定的速率处理数据,但无法独立捕获所得的帧。一种特定的实现可以涉及快速输入SLM、较慢的滤波器SLM和中速相机。

但是,该系统仍然可以有用地使用。相机曝光可以跨越多个输入SLM帧。然后,相机捕获多个卷积,所述多个卷积被光学集成;帧被加在一起。

这有助于在神经网络内存在的典型的卷积运算,所述神经网络积极地实现了该加法。例如,考虑Theano神经网络中的卷积层在4D张量上操作。操作输入(A,B)和输出(C)定义为:

A=A(batch,input_channel,x,y)%Feature maps

B=B(output_channel,input_channel,x,y)%Kernels

C=C(batch,output_channel,x,y)%Outputs

=∑

可以看到,虽然基本运算是2D卷积,但这立即并入与其他2D卷积的求和中。通过贯穿多个输入帧曝光相机,可以直接对此进行光学模拟(但是要注意的是,我们将对强度振幅求和,而不是对表示真实卷积结果的振幅求和)。

在一些实施例中,池化方案是光学实现的。池化的目的是使用某种下采样方案降低给定特征图的分辨率。通过对系统的光学比例进行工程设计,可以将给定的输入分辨率呈现到给定(更小)的输出分辨率上。这样的效果自然是实现了l2池化(强度之和)。

最高带宽SLM是二进制的,并且可以用于表示滤波器。可以制作对应于通用得多的核b的二进制滤波器B。由于二进制滤波器——例如对称性的缘故,对核有一些约束,但是对此有数种解决方式(例如,将固定随机相位掩模与滤波器SLM结合使用)。滤波器为二进制的限制不对应于核为二进制的限制。但是,其对于限制滤波器的光谱内容确实具有显著影响,并且用二进制滤波器控制核宽度是有挑战性的。出于此原因,优选地不使用二进制SLM作为滤波器SLM。

另一——更有用的——方式是可以使用高带宽二进制SLM代替输入,其通过时间或空间抖动表示多级输入,或者可以实现设计为使用只有二进制输入的网络配置。

驱动侧集成的重要要求是以最小延迟快速地转移进出光学域。ConvNet表示不同基本操作的高计算负荷——应对这种计算带宽要求高性能系统。此外,为了实现高系统利用率,必须将数个作业一起分批。但是,这将对延迟产生影响。

基于FPGA的驱动系统的使用提供了强大的能力和灵活性。除了简单地驱动I/O,它还可以用于利用光学系统的能力。诸如组织批处理、滤波器生成和确定双极性卷积之类的功能可以在硬件中实现。

此外,在某些实施例中,FPGA允许在卷积层之外开发集成解决方案。非线性激活功能可以在硬件中实现。此外,还可以以光学方式、在FPGA中的硬件中或软件中实现池化方案。

在另外的实现中,可以提供集成的解决方案,其中驱动电子器件还实现神经网络的其他层。这意味着可以将数据快速数字化,并然后以最小的延迟将其转移回卷积层之间的光学域。

技术分类

06120112364251