一种实现光学神经网络的方法及系统

文档序号:1847062 发布日期:2021-11-16 浏览:21次 >En<

阅读说明:本技术 一种实现光学神经网络的方法及系统 (Method and system for realizing optical neural network ) 是由 吴睿振 王凛 陈静静 黄萍 于 2021-08-19 设计创作,主要内容包括:本发明公开了一种实现光学神经网络的方法及系统,方法包括:获取三角函数的第一拟合函数;构建所述第一拟合函数的光电转换结构;基于所述光电转换结构和所述第一拟合函数得到第二拟合函数;基于所述第一拟合函数和所述第二拟合函数构建所述第二拟合函数的乘加结构;将所述乘加结构和所述光电转换结构连接得到光学神经网络的卷积计算结构以实现光学神经网络。通过本发明的方案,减少了光电转换,提高了运算速度,实现了全光神经网络的卷积运算。(The invention discloses a method and a system for realizing an optical neural network, wherein the method comprises the following steps: obtaining a first fitting function of a trigonometric function; constructing a photoelectric conversion structure of the first fitting function; obtaining a second fitting function based on the photoelectric conversion structure and the first fitting function; constructing a multiply-add structure of the second fitting function based on the first fitting function and the second fitting function; and connecting the multiplication and addition structure with the photoelectric conversion structure to obtain a convolution calculation structure of the optical neural network so as to realize the optical neural network. By the scheme of the invention, photoelectric conversion is reduced, the operation speed is improved, and the convolution operation of the all-optical neural network is realized.)

一种实现光学神经网络的方法及系统

技术领域

本发明涉及光学神经网络技术领域,尤其涉及一种实现光学神经网络的方法及系统。

背景技术

通过MZI(Mach–Zehnder interferometer,马赫曾德尔干涉仪)实现光运算的方式具有易于控制的特点,是现今工业界采用最多的方法,而相应的基于MZI实现ONN(opticalneural network,光学神经网络)中卷积运算是其中的研究热点。但是现有技术中都是使用MZI去做ANN(Artificial Neural Network,人工神经网络)中的卷积(乘加)运算,在人工神经网络的数学模型中,数据一般以二进制串的形式表示,利用二进制串表示的数字是离散的,例如整数或浮点值;在光学神经网络中,数据是通过调制激光脉冲的振幅(或相位)来进行编码的,产生的是连续实数值,改变光场的强度或相位会改变所表示的实数,因此对于光学运算还需要将光信号转化为电信号,在计算机中执行,这样的实现方式极大的限制了运算的速度和性能。在数学模型上,利用可编程移相器、马赫曾德尔干涉仪等结构,可以使用奇异值分解的方式实现任意维度的矩阵乘法运算,奇异值分解是一种重要的矩阵分解方式,同时也是机器学习中常用的算法之一,在提取特征、简化数据、推荐系统中应用广泛,因此光学神经网络中的数学模型上任意维度的实数矩阵都可以通过奇异值分解的方法分解为三个矩阵的积,通过MZI连接架构实现。但是这种实现针对的是线性乘加运算,对于非线性的乘加运算普通的MZI连接架构是无法实现的,并且每次光电转换都会涉及很多损耗,这也是一直困扰光学神经网络卷积运算的主要问题。

发明内容

有鉴于此,本发明提出了一种实现光学神经网络的方法及系统,减少了光电转换次数,提高了运算速度,实现了全光神经网络的卷积运算。

基于上述目的,本发明实施例的一方面提供了一种实现光学神经网络的方法,具体包括如下步骤:

获取三角函数的第一拟合函数;

构建所述第一拟合函数的光电转换结构;

基于所述光电转换结构和所述第一拟合函数得到第二拟合函数;

基于所述第一拟合函数和所述第二拟合函数构建所述第二拟合函数的乘加结构;

将所述乘加结构和所述光电转换结构连接得到光学神经网络的卷积计算结构以实现光学神经网络。

在一些实施方式中,所述三角函数为tanh激活函数、第一拟合函数为第一tanh拟合函数、第二拟合函数为第二tanh拟合函数。

在一些实施方式中,获取三角函数的第一拟合函数,包括:

基于tanh激活函数获取所述tanh激活函数的第一tanh拟合函数。

在一些实施方式中,基于tanh激活函数获取所述tanh激活函数的第一tanh拟合函数,包括:

对所述tanh激活函数进行泰勒展开,得到拟合曲线最接近tanh激活函数的曲线的第一tanh拟合函数,所述第一tanh拟合函数的表达式为:y=0.0075x5-0.1248x3+0.8679x。

在一些实施方式中,构建所述第一拟合函数的光电转换结构,包括:

基于马赫曾德尔干涉仪结构构建所述第一tanh拟合函数的光电转换结构。

在一些实施方式中,基于马赫曾德尔干涉仪结构构建所述第一tanh拟合函数的光电转换结构,包括:

将光信号作为第一马赫曾德尔干涉仪结构的输出,将所述第一马赫曾德尔干涉仪结构的输出的一端连接第二马赫曾德尔干涉仪结构的输入端,将所述第一马赫曾德尔干涉仪结构的输出的一端还连接二极管的一端,将所述二极管的另一端连接第二马赫曾德尔干涉仪结构的调相器。

在一些实施方式中,基于所述光电转换结构和所述第一拟合函数得到第二拟合函数,包括:

基于所述光电转换结构对所述第一tanh拟合函数进行拟合运算,并基于所述拟合运算得到第二tanh拟合函数。

在一些实施方式中,基于所述光电转换结构对所述第一tanh拟合函数进行拟合运算,并基于所述拟合运算得到第二tanh拟合函数,包括:

基于所述光电转换结构得到如下的光电转换表达式,基于所述光电转换表达式对所述第一tanh拟合函数进行拟合运算得到所述第二tanh拟合函数;

k*|x|2=2θ

其中,k为放大系数,θ为移相器的值。

在一些实施方式中,基于所述光电转换表达式对所述第一tanh拟合函数进行拟合运算得到所述第二tanh拟合函数,包括:

基于所述光电转换表达式,引入正弦三角函数,对所述第一tanh拟合函数进行拟合得到第二tanh拟合函数,所述第二tanh拟合函数的表达式为:y=0.3113x5+x3+x。

在一些实施方式中,基于所述第一拟合函数和所述第二拟合函数构建所述第二拟合函数的乘加结构,包括:

基于所述第一tanh拟合函数将所述第二tanh拟合函数转换为乘加矩阵,并对所述乘加矩阵进行奇异值分解,得到所述乘加矩阵对应的乘加运算;

基于所述乘加运算和所述马赫曾德尔干涉仪结构构建所述第二tanh拟合函数的乘加结构。

在一些实施方式中,基于所述第一tanh拟合函数将所述第二tanh拟合函数转换为乘加矩阵,包括:

将所述第二tanh拟合函数按所述第一tanh拟合函数的标准输出;

在所述第二tanh拟合函数按所述第一tanh拟合函数的标准输出后,将所述第二拟合函数转换为所述乘加矩阵,所述乘加矩阵为:

在一些实施方式中,对所述乘加矩阵进行奇异值分解,得到所述乘加矩阵对应的乘加运算,包括:

对所述乘加矩阵中的矩阵[0.8679 -0.1248 0.0241]进行奇异值分解,得到所述矩阵的乘加运算。

在一些实施方式中,基于所述乘加运算和所述马赫曾德尔干涉仪结构构建所述第二tanh拟合函数的乘加结构,包括:

将第三马赫曾德尔干涉仪结构的输出作为第四马赫曾德尔干涉仪结构的第一输入以使所述第三马赫曾德尔干涉仪结构与所述第四马赫曾德尔干涉仪结构连接,并在所述第四马赫曾德尔干涉仪结构的输出处连接放大器;

将所述第二tanh拟合函数中的一次项作为所述第三马赫曾德尔干涉仪结构的第一输入,将所述第二tanh拟合函数中的三次项作为所述第三马赫曾德尔干涉仪结构的第二输入,将所述第二tanh拟合函数中的五次项作为所述第四马赫曾德尔干涉仪的第二输入。

在一些实施方式中,将所述乘加结构和所述光电转换结构连接得到光学神经网络的卷积计算结构,包括:

将所述第一马赫曾德尔干涉仪结构的输出与所述第二马赫曾德尔干涉仪结构的输入、所述第三马赫曾德尔干涉仪结构的所述第一输入连接;

将所述第二马赫曾德尔干涉仪结构的第一输出与所述第三马赫曾德尔干涉仪结构的第二输入连接;

将所述第二马赫曾德尔干涉仪结构的第一输出与所述第四马赫曾德尔干涉仪结构的第二输入连接。

本发明实施例的另一个方面还提供了一种实现光学神经网络的系统,系统包括:

第一拟合模块,配置为获取三角函数的第一拟合函数;

第一构建模块,配置为构建所述第一拟合函数的光电转换结构;

第二拟合模块,配置为基于所述光电转换结构和所述第一拟合函数得到第二拟合函数;

第二构建模块,配置为基于所述第一拟合函数和所述第二拟合函数构建所述第二拟合函数的乘加结构;

连接模块,配置为将所述乘加结构和所述光电转换结构连接得到光学神经网络的卷积计算结构以实现光学神经网络。

本发明具有以下有益技术效果:通过构建的光学神经网络的卷积计算结构,减少了光学神经网络计算中的光电转换次数,提高了运算速度,实现了全光神经网络的卷积运算。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。

图1为本发明提供的实现光学神经网络的方法的一实施例的框图;

图2为本发明提供的tanh激活函数的曲线图;

图3为本发明提供的光电转换结构的一实施例的结构图;

图4为本发明提供的乘加矩阵的乘加运算的一实施例的结构图;

图5为本发明提供的光学神经网络的卷积计算结构的一实施例的结构图;

图6为本发明提供的实现光学神经网络的系统的一实施例的结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。

需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。

基于上述目的,本发明实施例的第一个方面,提出了一种实现光学神经网络的方法的实施例。如图1所示,其包括如下步骤:

S101、获取三角函数的第一拟合函数;

S103、构建所述第一拟合函数的光电转换结构;

S105、基于所述光电转换结构和所述第一拟合函数得到第二拟合函数;

S107、基于所述第一拟合函数和所述第二拟合函数构建所述第二拟合函数的乘加结构;

S109、将所述乘加结构和所述光电转换结构连接得到光学神经网络的卷积计算结构以实现光学神经网络。

光学神经网络中常用的激活函数有Sigmoid激活函数、tanh激活函数以及ReLU激活函数,tanh激活函数为双曲正切函数,是双曲正弦函数与双曲余弦函数的比值,是一种三角函数。本实施例通过tanh激活函数实现光学神经网络的卷积计算结构。

具体的,通过分析tanh激活函数的函数特性,对tanh激活函数进行泰勒展开得到了tanh激活函数的第一拟合函数,第一拟合函数为以x为自变量的多项式,对多项式进行分析,除了一次项外,其他项难以用MZI结构实现卷积运算,因此针对多项式中,除一次项外的其他项构建光电转换结构以实现其他项的卷积运算,基于构建的光电转换结构,对其他项进行泰勒展开,最终得到第一拟合函数的第二拟合函数,将第二拟合函数按照第一拟合函数的形式输出以将第二拟合函数转换为乘加矩阵,并对乘加矩阵进行奇异值分解,得到乘加矩阵对应的乘加运算,将乘加运算构建成拟合函数的乘加结构,将乘加结构和光电转换结构连接得到光学神经网络的卷积计算结构,通过构建的卷积计算结构,减少了光学神经网络计算中的光电转换次数,提高了运算速度,实现了全光神经网络的卷积运算。

在一些实施方式中,所述三角函数为tanh激活函数、第一拟合函数为第一tanh拟合函数、第二拟合函数为第二tanh拟合函数。

在一些实施方式中,获取三角函数的第一拟合函数,包括:

基于tanh激活函数获取所述tanh激活函数的第一tanh拟合函数。

在一些实施方式中,基于tanh激活函数获取所述tanh激活函数的第一tanh拟合函数,包括:

对所述tanh激活函数进行泰勒展开,得到拟合曲线最接近tanh激活函数的曲线的第一tanh拟合函数,所述第一tanh拟合函数的表达式为:y=0.0075x5-0.1248x3+0.8679x。

下面通过具体的实施例对本发明的多个实施方式进行说明。

首先分析tanh激活函数的函数特性,

其输出曲线的分布特性,如图2所示,通过观察可知,tanh激活函数的输出落在[-1,1]之间,在靠近0的范围,激活函数的变化最为明显,并且随着输入大于3或小于3,输出不再有明显的变化。因此为进行曲线拟合,我们取光学神经网络中卷积运算后输出范围在[-3,3]之间作为拟合的实现。

此时,对tanh激活函数作5次拟合,得到的拟合公式为:

其中,y1、y3、y5具有不同的拟合公式,因此将y1、y3、y5的曲线与tanh激活函数的曲线比较,得出y5的曲线与tanh激活函数的曲线最接近,且输出几乎都在[-1,1]之间,因此将y5作为tanh激活函数的第一tanh拟合函数,y=0.0075x5-0.1248x3+0.8679x。

在一些实施方式中,构建所述第一拟合函数的光电转换结构,包括:

基于马赫曾德尔干涉仪结构构建所述第一tanh拟合函数的光电转换结构。

在一些实施方式中,基于马赫曾德尔干涉仪结构构建所述第一tanh拟合函数的光电转换结构,包括:

将光信号作为第一马赫曾德尔干涉仪结构的输出,将所述第一马赫曾德尔干涉仪结构的输出的一端连接第二马赫曾德尔干涉仪结构的输入端,将所述第一马赫曾德尔干涉仪结构的输出的一端还连接二极管的一端,将所述二极管的另一端连接第二马赫曾德尔干涉仪结构的调相器。

下面通过具体的实施例对本发明的多个实施方式进行说明。

第一tanh拟合函数中的0.8679x可以通过标准的SVD分解后与x相连接,利用MZI结构实现乘加运算,但是x3、x5的乘加运算难以实现。考虑到x在做光电转换时使用的是能量,因此构建如图3所示的光电转换结构,在该光电转换结构中x首先经过光电二级管转化为电能,因为电能是基于光能量转换的,x为光信号,其能量为自己的平方,因此此时参数为|x|2,对其得到的电压进行k倍的放大,再经过电转化为热,控制MZI的调相器进行调相。

在一些实施方式中,基于所述光电转换结构和所述第一拟合函数得到第二拟合函数,包括:

基于所述光电转换结构对所述第一tanh拟合函数进行拟合运算,并基于所述拟合运算得到第二tanh拟合函数。

在一些实施方式中,基于所述光电转换结构对所述第一tanh拟合函数进行拟合运算,并基于所述拟合运算得到第二tanh拟合函数,包括:

基于所述光电转换结构得到如下的光电转换表达式,基于所述光电转换表达式对所述第一tanh拟合函数进行拟合运算得到所述第二tanh拟合函数;

k*|x|2=2θ

其中,k为放大系数,θ为移相器的值。

具体的,基于所述光电转换结构得到光电转换表达式后,使用正弦三角函数实现光电转换结构中第二MZI结构的乘加运算,得到第二tanh拟合函数。

在一些实施方式中,基于所述光电转换表达式对所述第一tanh拟合函数进行拟合运算得到所述第二tanh拟合函数,包括:

基于所述光电转换表达式,引入正弦三角函数,对所述第一tanh拟合函数进行拟合得到第二tanh拟合函数,所述第二tanh拟合函数的表达式为:y=0.3113x5+x3+x。

具体的,基于所述光电转换表达式k*|x|2=2θ,引入正弦三角函数对图3中的第二MZI结构的输出进行计算,对计算结果进行拟合,得到第二tanh拟合函数y=0.3113x5+x3+x。

在一些实施方式中,基于所述第一拟合函数和所述第二拟合函数构建所述第二拟合函数的乘加结构,包括:

基于所述第一tanh拟合函数将所述第二tanh拟合函数转换为乘加矩阵,并对所述乘加矩阵进行奇异值分解,得到所述乘加矩阵对应的乘加运算;

基于所述乘加运算和所述马赫曾德尔干涉仪结构构建所述第二tanh拟合函数的乘加结构。

在一些实施方式中,基于所述第一tanh拟合函数将所述第二tanh拟合函数转换为乘加矩阵,包括:

将所述第二tanh拟合函数按所述第一tanh拟合函数的标准输出;

在所述第二tanh拟合函数按所述第一tanh拟合函数的标准输出后,将所述第二拟合函数转换为所述乘加矩阵,所述乘加矩阵为:

具体的,将y=0.3113x5+x3+x按照y=0.0075x5-0.1248x3+0.8679x的标准输出,则其实现的关系式如下:

y=ax+bx3+c*0.3113x5

因此a=0.8679,b=-0.1248,c=0.0241,将这三个参数设为需要实现的矩阵,得到的乘加矩阵为

在一些实施方式中,对所述乘加矩阵进行奇异值分解,得到所述乘加矩阵对应的乘加运算,包括:

对所述乘加矩阵中的矩阵[0.8679 -0.1248 0.0241]进行奇异值分解,得到所述矩阵的乘加运算。

在一些实施方式中,基于所述乘加运算和所述马赫曾德尔干涉仪结构构建所述第二tanh拟合函数的乘加结构,包括:

将第三马赫曾德尔干涉仪结构的输出作为第四马赫曾德尔干涉仪结构的第一输入以使所述第三马赫曾德尔干涉仪结构与所述第四马赫曾德尔干涉仪结构连接,并在所述第四马赫曾德尔干涉仪结构的输出处连接放大器;

将所述第二tanh拟合函数中的一次项作为所述第三马赫曾德尔干涉仪结构的第一输入,将所述第二tanh拟合函数中的三次项作为所述第三马赫曾德尔干涉仪结构的第二输入,将所述第二tanh拟合函数中的五次项作为所述第四马赫曾德尔干涉仪的第二输入。

具体的,基于乘加运算和MZI结构构建如图4所示的实现基于第二tanh拟合函数得到的乘加矩阵的乘加结构,并根据矩阵[0.9894 -0.1423 0.0275]计算图4中两个调相器的θ1,θ2,得到θ1=1.4278,θ2=1.5433,并将0.8772作为放大器的值输入到放大器中。

在一些实施方式中,将所述乘加结构和所述光电转换结构连接得到光学神经网络的卷积计算结构,包括:

将所述第一马赫曾德尔干涉仪结构的输出与所述第二马赫曾德尔干涉仪结构的输入、所述第三马赫曾德尔干涉仪结构的所述第一输入连接;

将所述第二马赫曾德尔干涉仪结构的第一输出与所述第三马赫曾德尔干涉仪结构的第二输入连接;

将所述第二马赫曾德尔干涉仪结构的第一输出与所述第四马赫曾德尔干涉仪结构的第二输入连接。

具体的,将如图3所示的光电转换结构和如图4所示的乘加矩阵的乘加结构连接起来,形成如图5所示的卷积计算结构,即将第一MZI结构的输出x,分别作为第二MZI结构的输入和第三MZI结构的第一输入,将第二MZI结构的第一输出x3和第二输出0.3113x5分别作为第三MZI结构的第二输入和第四MZI结构的第二输入,最终实现了卷积神经网络的卷积计算结构。

需要说明的是通过如图5所示的结构实现的乘加运算最为简单,但并非唯一实现方式,通过本发明得到的第二拟合函数,还可以通过Gridnet、FFTnet等多种方式实现第二拟合函数的乘加运算。

基于同一发明构思,根据本发明的另一个方面,如图6所示,本发明的实施例还提供了一种实现光学神经网络的系统,系统包括:

第一拟合模块110,配置为获取三角函数的第一拟合函数;

第一构建模块120,配置为构建所述第一拟合函数的光电转换结构;

第二拟合模块130,配置为基于所述光电转换结构和所述第一拟合函数得到第二拟合函数;

第二构建模块140,配置为基于所述第一拟合函数和所述第二拟合函数构建所述第二拟合函数的乘加结构;

连接模块150,配置为将所述乘加结构和所述光电转换结构连接得到光学神经网络的卷积计算结构以实现光学神经网络。

本发明的实施例还提供了一种计算机设备,在该计算机设备中包括处理器以及存储器,存储器存储有可在处理器上运行的计算机程序,处理器执行程序时执行如上的步骤。

本发明的实施例还提供了一种计算机可读存储介质,计算机可读存储介质存储有被处理器执行时执行如上方法的计算机程序。

最后需要说明的是,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关硬件来完成,程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,程序的存储介质可为磁碟、光盘、只读存储记忆体(ROM)或随机存储记忆体(RAM)等。上述计算机程序的实施例,可以达到与之对应的前述任意方法实施例相同或者相类似的效果。

以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。

应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。

上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。

15页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:优化问题的求解方法、系统、装置及存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!