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

一种基于SVD的平均池化光学电路实现方法

文献发布时间:2024-04-18 20:01:30


一种基于SVD的平均池化光学电路实现方法

技术领域

本发明涉及一种基于SVD(Singular Value Decomposition)的平均池化光学电路实现方法,属于光学神经网络技术领域。

背景技术

与传统卷积神经网络相比,光学卷积神经网络(Optical Convolutional NeuralNetwork,OCNN)利用光波作为载体进行信息处理,通过光学计算可以在光子集成平台或自由空间上实现超低能耗的高速并行信息处理,从而避免了能量损耗和信号失真。因此,光学计算是一种有望推动深度学习计算效率的前沿技术。

然而,目前基于光子芯片的神经网络在池化层的光学实现方面仍然存在挑战。在基于光电混合的神经网络中,通常需要使用光电探测器将光信号转换为电信号,然后在电域中执行池化运算。这种频繁的光电转换不仅增加了能量开销,还限制了光学神经网络整体计算速度的提升,无法充分发挥光学计算的潜力。

综上所述,如何在光学领域解决池化计算问题,同时促进在光子芯片上的规模化集成,是当前亟待解决的技术难题。

发明内容

目的:为了克服现有技术中存在的不足,本发明提供一种基于SVD的平均池化光学电路实现方法,提供一种基于SVD的面向光学卷积神经网络(Optical ConvolutionalNeural Network,OCNN)的平均池化方法,以马赫曾德尔干涉仪(Mach-ZehnderInterferometer,MZI)为实现光学池化层的基础神经元,MZI可以对通过的光信号进行调制,被广泛应用于光电混合的神经网络。本发明基于奇异值分解算法确定MZI的连接方式,通过连接多个MZI来构建N行N列的网格状布局的MZI阵列。其中,根据平均池化的矩阵运算要求,确定MZI相位以及相应的MZI传输函数。此外,采用光延迟线对输入、输出信号进行串并转换。最终构建基于奇异值分解的MZI阵列的平均池化层网格架构,为全光的卷积神经网络提供关键的解决方案。

技术方案:为解决上述技术问题,本发明采用的技术方案为:

一种基于SVD的平均池化光学电路实现方法,包括如下步骤:

步骤1:根据池化核序列的SVD分解结果来确定池化计算模块的光学网格架构、MZI的数量,并根据输入图像数据的尺寸来确定延迟线的长度和数量。

步骤2:根据MZI传输函数的置0运算,来确定池化计算模块中U模块、∑模块和V模块的不同位置MZI的相位。

步骤3:通过确定的延迟线的数量和长度,使得串并转换输入模块输出的光信号并行地输入到池化计算模块的输入端口,同一时刻的并行输入构成一个完整的数据窗口,数据窗口的大小即池化尺寸,为N×N;通过串并转换输出模块对池化计算模块的输出结果进行展平操作,使光信号并行输出。

作为优选方案,所述U模块由

作为优选方案,所述U模块的MZI处理输入光信号的计算公式如下:

其中,x

作为优选方案,所述∑模块和V模块由一个单输入单输出的MZI组成。

作为优选方案,所述∑模块和V模块的MZI处理输入光信号的计算公式如下:

其中,x

作为优选方案,所述U模块中的MZI的相位计算公式如下:

其中,θ

θ

i、j的取值满足

当奇数斜线计算置0时,将θ

当偶数斜线计算置0时,将θ

作为优选方案,所述∑模块中单输入单输出的MZI的相位θ计算公式如下:

θ=π

作为优选方案,所述V模块中单输入单输出的MZI的相位θ计算公式如下:

作为优选方案,所述串并转换输入模块实现方法,包括如下步骤:

随着光信号的不断输入,池化窗口将在特征图上从左往右移动直至包含前N行的所有数据,即Ω/N个池化窗口,然后进行换行、从第N+1行继续从左往右移动,直至换行Ω/N-1次后遍历完特征图的所有数据,Ω为卷积层输出的特征图尺寸。

每隔Nτ提取一个新的池化窗口的数据,第二个池化窗口数据的输入时刻为t

当池化输入在横向上遍历完前N行的所有数据点时,添加额外的延迟单元(N-1)×Ωτ,以换行至第N+1行,在第N+1行到第2N行的范围内横向移动来提取Ω/N个池化窗口。

池化窗口在横向移动过程中需要间隔Nτ来选取下一个池化窗口,而池化窗口的纵向换行操作则需要间隔额外的延迟单元(N-1)×Ωτ。

作为优选方案,所述串并转换输出模块实现方法,包括如下步骤:

延迟单元Nτ用于筛选掉池化窗口在特征图上横向移动过程产生的无效池化窗口,并将池化后的特征图的某一行进行展平。

延迟单元(N-1)×Ωτ用于处理串并转换输入模块的池化窗口在纵向换行过程中由于重叠产生的无效池化窗口,并为池化后的特征图的另一行展平操作做准备。

有益效果:本发明提供的一种基于SVD的平均池化光学电路实现方法,该光学电路分为串并转换输入模块、池化计算模块和串并转换输出模块。根据SVD的分解结果和池化尺寸来确定池化计算模块的光学电路架构和MZI的数量;通过MZI传输函数的置0运算来确定不同位置MZI的相位;通过设计串并转换输入模块中延迟线的光学电路架构来确保光信号在同一时刻、并行输入到池化计算模块,并构成一个完整的数据窗口。由于光学电路中固有的并行性,该光学电路能够以低功耗和高速度执行矩阵乘法,从而提升了处理速度和识别精度,为大规模图像处理和高速数据传输带来卓越性能。

附图说明

图1是本发明提供的OCNN的架构示意图。

图2是本发明提供的池化尺寸为2×2的平均池化的原理图。

图3是本发明提供的池化层中串并转换输入模块的通用的延迟线网络架构实施方案。

图4是本发明提供的池化层中串并转换输出模块的通用的延迟线网络架构实施方案。

图5是本发明提供的均值范围为2×2的池化计算过程示意图。

图6是本发明提供的池化尺寸为2×2的平均池化的原理图。

图7是本发明提供的MZI结构及其等效结构示意图。

图8是池化尺寸为2×2的网格型拓扑结构的池化实施例。

图9是池化尺寸为4×4的网格型拓扑结构的池化实施例。

具体实施方式

下面结合本发明实例中的附图,对本发明实例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域技术人员在没有做创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。

下面结合具体实施例对本发明作更进一步的说明。

本发明一种基于SVD的平均池化光学电路实现方法,包括如下步骤:

步骤1:池化计算模块网络架构的设计。根据池化核序列的SVD分解结果来确定池化计算模块的光学网格架构、MZI的数量,并根据输入图像数据的尺寸来确定延迟线的长度和数量。

步骤2:MZI的参数设置。根据MZI传输函数的置0运算,来确定池化计算模块中U模块、∑模块和V模块的不同位置MZI的相位。

步骤3:通过确定的延迟线的数量和长度,使得串并转换输入模块输出的光信号并行地输入到池化计算模块的输入端口,同一时刻的并行输入构成一个完整的数据窗口,数据窗口的大小即池化尺寸,为N×N;通过串并转换输出模块对池化计算模块的输出结果进行展平操作,使光信号并行输出。

进一步改进在于,所述U模块由

进一步改进在于,所述U模块的MZI处理输入光信号的计算公式如下:

其中,x

进一步改进在于,所述∑模块和V模块由一个单输入单输出的MZI组成。

进一步改进在于,所述∑模块和V模块的MZI处理输入光信号的计算公式如下:

其中,x

进一步改进在于,所述U模块中的MZI的相位计算公式如下:

其中,θ

进一步改进在于,所述∑模块中单输入单输出的MZI的相位θ计算公式如下:

θ=π(5)

进一步改进在于,所述V模块中单输入单输出的MZI的相位θ计算公式如下:

进一步改进在于,所述串并转换输入模块实现方法,包括如下步骤:

随着光信号的不断输入,池化窗口将在特征图上从左往右移动直至包含前N行的所有数据,即Ω/N个池化窗口(Ω可以被N整除),然后进行换行、从第N+1行继续从左往右移动,直至换行Ω/N-1次后遍历完特征图的所有数据,Ω为卷积层输出的特征图尺寸。

为了避免相邻的池化窗口发生重叠,需要每隔Nτ提取一个新的池化窗口的数据,因此第二个池化窗口数据的输入时刻为t

当池化输入在横向上遍历完前N行的所有数据点时,需要添加额外的延迟单元(N-1)×Ωτ,以换行至第N+1行,从而在第N+1行到第2N行的范围内横向移动来提取Ω/N个池化窗口。

池化窗口在横向移动过程中需要间隔Nτ来选取下一个池化窗口,而池化窗口的纵向换行操作则需要间隔额外的延迟单元(N-1)×Ωτ。

进一步改进在于,所述串并转换输出模块实现方法,包括如下步骤:

延迟单元Nτ用于筛选掉池化窗口在特征图上横向移动过程产生的无效池化窗口,并将池化后的特征图的某一行进行展平。

延迟单元(N-1)×Ωτ用于处理串并转换输入模块的池化窗口在纵向换行过程中由于重叠产生的无效池化窗口,并为池化后的特征图的另一行展平操作做准备。

实施例1:

本实施例1提供一种OCNN模型。图1示出的是本发明提供的基于光学池化层的OCNN模型示意图。在这个模型中,共包括三个隐藏层,分别是卷积层、池化层、全连接层,其中卷积层和全连接层分别包括非线性激活函数。

池化层在神经网络中起到下采样和特征提取的作用。它通过减少特征图的尺寸,减少计算量和参数数量,提高计算效率。同时,池化能够保留图像中的重要特征,提高网络的鲁棒性和泛化能力。通过池化操作,神经网络能够更有效地处理大规模图像数据,并从中提取出关键特征,用于后续的分类、识别和回归任务。图2给出的是平均池化的示意图,池化尺寸为2×2。平均池化的数学运算可以表示为

实施例2:

本实施例2是针对MNIST手写数字图片集的识别任务,所以卷积层串行输出的是大小为28×28的手写数字图片的特征图所对应的光信号。图4、图5分别为串并转换输入模块和串并转换输出模块的通用的延迟线网络架构示意图。串并转换输入模块的延迟线网络架构的作用是将串行光信号并行化,然后输入到池化计算模块,延迟线的数量为N

具体来说,光信号在经过延迟单元τ后会发生时间上的延迟,其中τ是手写数字图片输入时一个像素点对应的光信号的时间周期。取前N行的前N个元素为第一个Patch,Patch为池化窗口,将光信号进入池化层的时间记为t

图4所示为串并转换输入模块的通用的延迟线网络架构。该延迟线阵列一共包含N组延迟操作,前面N-1组延迟操作都包含28个延迟单元τ和N根延迟线,最后一组延迟操作仅含(N-1)个延迟单元τ和N根延迟线。图4所示的串并转换输入模块给出了第1组和第N组的延迟线结构,中间省略的N-2组延迟线结构分别重复第1组的延迟线结构。以第一个池化窗口为例,当这个池化窗口的最后一个数据(第N行第N个数据)到达第1根延迟线的时候,池化窗口中第n(n<=N)行的N个数据分别到达第n(n<=N)组延迟操作的N根延迟线,此时这个池化窗口中第一个数据(第1行第1个数据)恰好到达第N

在串并转换输入模块,随着光信号的不断输入,池化窗口将在特征图移动(先从左往右移动直至包含前N行的所有数据,即28/N个池化窗口,然后进行换行、从第N+1行继续从左往右移动,直至换行28/N-1次后遍历完特征图的所有数据),为了避免相邻的池化窗口发生重叠,需要每隔Nτ提取一个新的池化窗口的数据,因此第二个池化窗口数据的输入时刻为t

图5所示为串并转换输出模块的通用的延迟线网络架构。该串并转换输出模块分为两个阶段,第一个阶段是展平阶段,延迟单元Nτ用于筛选掉池化窗口在特征图上横向移动过程产生的无效池化窗口,并将池化后的特征图的某一行进行展平。第二个阶段是过渡阶段,延迟单元(N-1)×28τ用于处理串并转换输入模块的池化窗口在纵向换行过程中由于重叠产生的无效池化窗口,并为池化后的特征图的另一行展平操作做准备。

图5所示的延迟线网络架构展示了池化后的特征图第1行和第N行数据的展平操作,中间省略的28/N-2行展平操作用于对池化后的特征图中间的28/N-2行数据进行展平操作,其延迟线架构与第1行和第N行相同,并且相邻展平阶段的之间都有一个过渡阶段。因此,串并转换输出模块的延迟线阵列一共包含28/N个展平阶段和28/N-1个过渡阶段,每个展平阶段需要28/N个Nτ延迟单元和28/N根延迟线,每个过渡阶段只需要1个(N-1)×28τ的延迟单元,就可以并行输出池化计算后的特征图。

实施例3:

本发明提出的光学实现池化层是通过光学器件实现特定范围的平均值计算。经过卷积层和非线性层处理后的特征图大小为28×28。平均池化层将特征图划分为矩形池化区域,并计算每个区域的平均值,将平均值作为池化后的区域结果以实现下采样。每个n×n的小矩阵首先序列化为n

本发明中的MZI以网格型拓扑结构进行布局连接,以实现乘法和加法。其中,光信号的相位和幅度通过MZI进行调制,以携带计算信息。图7所示为MZI结构及其等效结构的示意图。该MZI由移相器-分束器-移相器-分束器构造,其中分束器的分束比为50:50,其透射系数和反射系数均为

其中,i为虚数单位,θ是MZI内置可调移相器的角度,是外置可调移相器的角度。由于池化的计算矩阵为实数矩阵,因此通过SVD分解的酉矩阵也是实矩阵,所使用的MZI只有一个内置相位θ,即外置相位,因此后面的T

通过特定的排列方式连接多个MZI,可以实现N行N列矩阵。将任何酉矩阵U写成下式:

其中S定义了双模变换的特定有序序列,D是具有复数元素的对角矩阵。T

下面介绍本文使用的分析计算光学元件T

分解结束后,可以得到4×4矩阵的表达式为:

可以写为:

因为D由单模相移组成,那么对于任何T

U=D'T

U模块中,奇数列与偶数列中的MZI个数不同,奇数行和偶数行的MZI个数也不同。对于一个N×N的U矩阵,其奇数列或奇数行中的MZI个数为

偶数列的传输矩阵为N×N的矩阵,与奇数列不同的是:偶数列的传输矩阵的第一行与最后一行元素都为0。

每一列的矩阵排列后构成矩阵U,因此根据MZI的传输函数,可以确定池化层中不同位置MZI的相位。

下面通过对矩阵U利用矩阵乘法逐步实现非对角线元素置0的过程,来分析各MZI的相位计算方法。在这一过程中,初始矩阵U可被表示为:

此时的

U矩阵右乘

其中,*为矩阵中确定元素,可以通过上述矩阵乘法计算得到。此时根据矩阵乘法的计算,可以很容易地得到:

因此,可以确定出此时

接下来,对上一步置0的结果A矩阵进行下一步的非对角线元素置0,即左乘

其中,A矩阵中的各项元素可由U矩阵和

同样地,可以很容易地得到:

因此,可以确定出此时T

以此类推,在逐步实现U矩阵的非对角线元素置0的过程中,可以根据多组T

实施例4:

如图8所示,该实施例提供了基于SVD的池化尺寸为2×2的平均池化计算模块架构。池化模块的输入端口数目为4(4=2

实施例5:

如图9所示,该实施例提供了基于SVD的池化尺寸为4×4的平均池化计算模块架构。池化模块的输入端口数目为16(16=2

最后需要说明的是,本领域相关技术人员应充分理解,上述权利要求书所描述的OCNN平均池化方法仅为本发明的示例性实施例,不限制本发明权利要求的范围。在不偏离权利要求限定的前提下,可以对本发明的实施方式进行适当的变化和修改。本发明权利的保护范围应由附加的权利要求决定,其包括所有在技术上等同于以下权利要求书所述内容的替代和变化。

本发明提供了一种用于SVD平均池化的光学电路实现方法,利用SVD算法将池化计算矩阵分解为多个矩阵的乘积,并采用酉矩阵分解算法来确定不同位置MZI的相位,从而提升了处理速度和识别精度,为大规模图像处理和高速数据传输带来卓越性能。同时,光学卷积神经网络通过引入光延迟线,实现了光信号的并行输入,从而增强了并行计算能力。利用光延迟线的配置,系统能够同时处理多个光信号,有效地提高了数据处理效率。

以上是本发明公开的示例性实施例,但应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以通过合理的修改和变换来实现本发明。本发明权利的保护范围应由附加的权利要求决定,其包括所有在技术上等同于以下权利要求书所述内容的替代和变化。

在本发明的实际应用过程中,还可以对具体步骤、参数和构造等进行适当的调整和改进,以适应不同的应用场景和实际需求。

本发明的实施不仅局限于上述具体实施例,还可以根据实际需要进行变化和修改,以达到与本发明同样有效和有益的效果。

以上所述仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

以上所述仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

技术分类

06120116556932