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

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

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


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

技术领域

本发明涉及一种用于FFT平均池化的光学电路实现方法,属于光学神经网络技术领域。

背景技术

近年来,光学神经网络的快速发展引起了人们广泛关注。与传统电子计算相比,光学计算具有显著的优势,其中光学器件具备高速并行计算、低功耗和能够处理大规模数据的独特能力。这些特点赋予了光学计算在加速神经网络计算过程中巨大的潜力。此外,光学计算通过直接处理光信号,避免了光信号到电信号的转换所带来的能量损耗和信号失真问题。因此,光学计算被广泛认为是提高神经网络计算性能的强大工具。

然而,目前基于光子芯片的神经网络在池化层的光学实现方面仍然存在挑战。在基于光电混合的神经网络中,通常需要使用光电探测器将光信号转换为电信号,然后在电域中执行池化运算。这种频繁的光电转换不仅增加了能量开销,还限制了光学神经网络整体计算速度的提升,无法充分发挥光学计算的潜力。此外,在基于空间光计算的神经网络中,虽然可以通过透镜直接对空间光信号执行傅里叶变换以进行后续的池化运算,但透镜的尺寸和复杂性限制了其在光子芯片上的有效集成。

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

发明内容

目的:为了克服现有技术中存在的不足,本发明提供一种用于FFT平均池化的光学电路实现方法,提供一种基于快速傅里叶变换(Fast Fourier Transformation,FFT)算法的面向OCNN(光学卷积神经网络)的平均池化方法。本发明以马赫曾德尔干涉仪(Mach-Zehnder Interferometer,MZI)为实现光学池化层的基础神经元,通过改变MZI的工作参数特别是相位而设置MZI的传输函数,并采用光延迟线对输入、输出信号进行串并转换,从而构建基于FFT算法的平均池化层网格架构,为全光的卷积神经网络提供关键的解决方案,具有高速低功耗的优势。

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

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

步骤1:根据池化尺寸确定池化计算模块的网格架构、MZI的数量,并根据输入图像数据的尺寸来确定延迟线的长度和数量。

步骤2:根据快速傅里叶变换算法和MZI的传输函数,确定池化层中不同位置MZI的相位。

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

作为优选方案,所述池化计算模块实现方法,包括如下步骤:

由U模块对输入序列x(n)做FFT运算得到X(k)。

通过∑模块对输入序列x(n)与池化序列h(n)在频域的点乘操作得到y(m)的傅里叶变化Y(k)。

通过V模块对Y(k)做IFFT运算得到输入序列x(n)平均池化后的结果y(m)。

作为优选方案,所述U模块计算公式如下:

其中,X(0)表示x(n)的FFT运算结果的第一个值,也即U模块的第一个输出端口的输出值,N

作为优选方案,所述∑模块计算公式如下:

Y(k)|

其中,h(n)表示池化核记作长度为N

作为优选方案,所述V模块计算公式如下:

其中,IFFT[*]表示快速傅里叶逆变换,y(m)表示平均池化结果(其中,序列y(m)的N

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

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

其中,x

作为优选方案,所述U模块的每一列的

其中,k是每一列的旋转因子

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

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

其中,x

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

θ=π。

作为优选方案,所述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)×Ωτ用于处理串并转换输入模块的池化窗口在纵向换行过程中由于重叠产生的无效池化窗口,并为池化后的特征图的另一行展平操作做准备。

有益效果:本发明提供的一种用于FFT平均池化的光学电路实现方法,利用快速傅里叶变换(FFT)算法处理光信号,通过MZI等效蝶形运算,实现输入光信号序列的平均池化计算。本发明采用光学电路完成了平均池化计算,可以实现高效的全光学的卷积神经网络,并且有效降低了计算复杂性,提高了处理速度,为大规模图像处理和高速数据传输提供了优越性能。引入光延迟线网络架构,实现光信号的并行输入,增加了光学卷积神经网络的并行计算能力。光延迟线网络架构的配置使得多个光信号能够同时进行处理,进一步提高了系统的数据处理效率。利用FFT网络架构来实现平均池化,具有高速低功耗的优势,在处理大规模图像和高速数据时表现出色,为计算机视觉和光学信息处理领域带来了重要的技术进展。

附图说明

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

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

图3是本发明提供的池化层网络架构示意图。

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

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

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

图7是本发明提供的基于FFT算法的池化计算模块框架图。

图8是本发明提供的简化的基于FFT算法的池化计算模块框架图。

图9是本发明提供的池化尺寸为2×2的平均池化计算模块的实施例。

图10是数字图片“0”在采用池化尺寸为2×2的光学平均池化层的OCNN模型上的计算结果。

图11是本发明提供的池化尺寸为4×4的平均池化计算模块的实施例。

图12是数字图片“0”在采用池化尺寸为4×4的光学平均池化层的OCNN模型上的计算结果。

图13是本发明提供的池化尺寸为7×7的平均池化计算模块的实施例。

图14数字图片“0”在采用池化尺寸为7×7的光学平均池化层的OCNN模型上的计算结果。

具体实施方式

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

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

本发明提供了一种用于FFT平均池化的光学电路实现方法,所述方法包括以下步骤:

步骤一:池化计算模块网络架构的设计。根据池化尺寸确定池化计算模块的网格架构、MZI的数量,以及延迟线的长度和数量,以满足平均池化的要求。

步骤二:光学器件的参数设置。根据快速傅里叶变换算法和MZI的传输函数,确定池化层中不同位置MZI的相位。根据池化尺寸来确定单输入单输出MZI的相位。通过对这些参数的设置,来实现平均池化的功能。

步骤三:串并转换输入模块、串并转换输出模块中的光延迟线网络架构设计。通过适当设置延迟线的数量和长度,确保光信号输入到池化计算模块的输入端口时,同一时刻的并行输入构成一个完整的数据窗口(Patch),数据窗口的大小即池化尺寸为N×N。此外,通过设置延迟线的数量和长度来对池化计算模块的输出结果进行展平操作,使光信号并行输入到全连接层进行后续的运算。

进一步改进在于:所述步骤一中通过设计不同的延迟线和MZI的数量来实现不同尺寸的池化操作,最大程度地减少光学器件的复杂性和资源占用,提高光学池化的效率和性能。

进一步改进在于:所述步骤二中通过FFT算法和MZI传输函数来确定不同位置MZI的相位。FFT算法充分发挥光计算的高度并行性可以大幅度提升计算速度和处理效率。MZI在处理光信号时具备精确的相位调控能力。这种结合将带来更优质的图像特征提取和模式识别能力。

进一步改进在于:所述步骤三利用光延迟线网络架构阵列来实现输入、输出模块的光信号的串并转换。串并转换输入模块的光信号在经过不同的时间延迟后,可以在同一时刻并行输入到池化计算模块的多个MZI输入端口。同样,串并转换输出模块的光信号在经过不同的时间延迟后,可以在同一时刻并行输入到后续的全连接层的多个MZI输入端口。

池化层计算模块采用的是基于MZI的FFT架构。首先,激光器发射的光信号在经过卷积层的输出光信号作为池化层的输入光信号,然后利用光延迟线对这些输入光信号做相应的时间延迟,使得一个数据窗口的数据信号能够在同一时刻到达池化计算模块的串并转换输入模块端口。这些并行输入的光信号在池化计算模块内参与运算,并在池化计算模块第一个输出端口输出池化后的光信号。最后用串并转换的输出模块使得池化后的光信号并行输入到全连接层参与后续的运算。

实施例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τ的延迟单元,就可以并行输出池化计算后的特征图。

图6示出的是MZI结构及其等效结构的示意图。该MZI由外置移相器-第一分束器-内置移相器-第二分束器逐一构造,其中使用的第一分束器,第二分束器的分束比为50:50。本发明所使用的MZI在不做特殊说明的情况下默认都这种类型,该MZI的传输函数T

其中,i为虚数单位,θ为MZI的内置相位,φ为MZI的外置相位。

快速傅里叶变换(FFT)是一种高效的计算离散傅里叶变换(Discrete FourierTransform,DFT)的算法。时域抽取(Decimation in Time,DIT)-FFT是一种常见的FFT实现方式。在DIT-FFT算法中,数据序列首先被分解成若干级数,每一级包含了一些蝶形运算。蝶形运算是DIT-FFT算法的关键步骤,用于在频域中对信号进行逐级的合并和分裂。在每一级中,输入数据被分成对应数量的偶数索引序列和奇数索引序列,然后通过蝶形运算将偶数索引序列和奇数索引序列合并成更大规模的频域结果。这个过程不断重复,直到达到最终的输出结果。DFT每一级的变换结果如公式(2)所示,其中E

X

对上面公式(2)和(3)做等效变换得到公式(4),其中U

因此,MZI传输函数与蝶形运算之间可以建立相应的等效关系。公式(5)给出了FFT部分MZI相位的确定方法。同理,公式(6)给出了快速傅里叶逆变换(Inverse Fast FourierTransformation,IFFT)部分MZI相位的确定方法:

将同一时刻进入池化层的一个池化窗口的数据记作长度为N

其中,R

因此本发明提出了图7所示的基于FFT算法的池化计算模块框架图,其中U、∑和V分别是FFT模块、频域点乘模块以及IFFT模块。其主要目的是为实现输入序列与池化序列的循环卷积运算,并取V模块的第一个端口的输出作为池化结果。具体来说,首先由U模块对输入序列x(n)(序号n要满足是2的整数次幂,不满足则需要补零,为了作图展示U模块的FFT连接方式,图7取输入序列个数为8,但该模块的计算具有普适性,因此后续描述中均以N

由于池化序列h(n)每个元素都为

其中,

图8示出的为简化后的池化计算模块架构示意图。由于池化层的输入序列与池化序列的频域点乘结果Y(k)只有第一个序号值不等于0,且该值为输入序列数据的累加。因此只需要在V模块用一个单输入单输出的MZI对累加的结果进行取平均操作即可完成平均池化运算,本发明用MZI来实现数学上的除法运算。因此,图7的V模块可以简化图8所示的仅包含一个单输入单输出MZI的V模块。

为了完成上述的除法运算,本发明采用了单输入单输出的MZI作为∑和V模块(不含外置移相器的等效结构2,见图6)来处理单个输入的光信号。在公式(11)中给出单输入单输出的MZI传输函数:

当V模块的MZI只有一个输入光信号x

θ=π

同理,如公式(12)所示,可根据池化尺寸(即满足

在下面的一系列实施例中,本发明都是基于图1所示的OCNN模型对MNIST手写数字图片集进行训练和识别。卷积层、全连接层以及非线性函数都保持一致,仅池化层结构不同。

实施例3:

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

实施例4:

如图11所示,该实施例提供了基于FFT算法的4×4池化模块MZI架构。池化模块的输入端口数目为16(16=2

实施例5:

如图13所示,该实施例提供了基于FFT算法的7×7池化模块MZI架构。池化模块的输入端口数目为64(64=7×7+15=2

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

本发明在光学卷积神经网络中引入快速傅里叶变换(FFT)算法,利用马赫曾德干涉器(MZI)来等效蝶形运算,实现高效的光学池化信号处理。光学延迟线的配置使光信号能够进行并行输入,提升了系统的并行计算能力。光学池化方法具有高带宽、低能耗和并行计算优势,不仅可以实现全光学的卷积神经网络,并且有效增强了光学卷积神经网络的性能和稳定性。本发明的应用可广泛应用于大规模图像处理和高速数据传输,推动了计算机视觉和光学信息处理领域的技术进步。

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

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

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

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

技术分类

06120116576368