一种基于光学神经元波长复用模块的光电计算机
未命名
09-08
阅读:106
评论:0

1.本发明涉及信息技术领域,尤其涉及一种基于光学神经元波长复用模块的光电计算机。
背景技术:
2.在过去的几十年中,微电子技术一直按照摩尔定律发展,即当价格不变时,电路集成度约每隔18-24个月便会增加一倍,性能也将提升一倍。然而在21世纪初,随着电路集成度的不断提高,电子所产生的热量也会迅速增加,串扰、功耗、噪声和时延问题将越来越严重,从而使器件无法正常工作,这使得微电子工业已经很难按照摩尔定律的预测发展,对于人工智能、神经网络这样对算力需求不断膨胀的产业,显然是个不利消息。而与数字计算机中的电子不同,光子作为非相互作用的玻色子,自然具有可以以光速实现多重互连及并行计算的优良特性,今后,逐步使用光电融合乃至全光计算机以满足人工智能和神经网络的算力需求,已成为必然趋势。
3.国际上已有的光计算系统中,波分复用技术作为光学系统的一大优势,已逐步开始进入大众视线,但是主要目光仍集中在线性运算部分,如果聚焦到非线性函数的解决方案,也有课题组和公司提出了相关基于波分复用的全光或光电融合的技术,但对于一个器件(模块),只能实现单输入、单输出的运算,对应到神经网络和人工智能中,即实现一个神经元就需要一个器件(模块),这对于系统的集成度非常不利,也成为了光计算网络进入实际应用的一大阻碍。同时,多数光电融合器件在工作中并不是零功耗,为了维持其在光计算网络中的功能,如光电转换、权重赋值、非线性运算,所用到的光电融合器件都需要产生可观的功耗。因此,对于大规模的、无功耗优化的光计算网络,面向实际应用时也会出现系统整体功耗优势不明显的窘境。
技术实现要素:
4.本发明提供一种基于光学神经元波长复用模块的光电计算机,所述的光学神经元波长复用模块能够通过单个模块实现神经网络中多个神经元的非线性并行运算,从而在非线性运算这块,保证系统通量的情况下进一步减小了系统规模以及功耗。
5.本发明首先提供了一种光学神经元波长复用模块,其作为光学神经网络中实现某一隐藏层或输出层的非线性运算部分,接收该隐藏层或输出层的线性运算部分的向量化输出信号并进行非线性运算;所述光学神经元波长复用模块包括:
6.多路复用器阵列,其用于接收多路不同波长的激光并将其合束,所述多路不同波长的激光是通过将线性运算部分的向量化输出信号编码在多路不同波长激光的强度信息上得到的;
7.波分复用非线性器件阵列,接收多路复用器阵列合束后的合束信号,对合束信号中的不同波长信号进行非线性运算,将算结果以多波长信号合束信号的形式输出并传递至多路解复用器阵列;
8.多路解复用器阵列,接收多路解复用器接收到合束的多波长信号后,将其在空间范围内根据波长分解为多路信号并传递给下一功能模块;
9.其中,所述多路复用器阵列中多路复用器的个数与波分复用非线性器件阵列中波分复用非线性器件的个数相同、信道数相对应,且还与多路解复用器阵列中多路解复用器的个数相同、信道数相对应。
10.根据本发明的一个优选实施方式,所述的波分复用非线性器件阵列为由能够对多信道不同波长的输入数据实现非线性运算的全光或光电器件组成的阵列,同时所述的全光或光电器件组成的阵列将运算后的数据由多信道不同波长的形式输出。
11.根据本发明的一个优选实施方式,所述的波分复用非线性器件阵列为半导体光放大器阵列,半导体光放大器阵列中的半导体光放大器作为波分复用非线性器件。
12.本发明还提供了一种基于前述光学神经元波长复用模块的光电计算机,其具有多层次的架构,不同层的架构间相互级联组成一个光电神经网络,所述的光电神经网路包括若干隐藏层、一个输出层和电学总控部分;其中,隐藏层和输出层具有相同的结构,均包括光学线性运算部分和光学非线性运算部分;
13.所述光学线性运算部分,用于对向量化的输入数据进行向量-矩阵运算,并将运算的结果进行向量化地输出;所述的运算结果被编码于多信道不同波长的信号上,并传递给光学非线性运算部分;
14.至少一个隐藏层或输出层的光学非线性运算部分采用前述的光学神经元波长复用模块;
15.所述的电学总控部分,用于将光电神经网路输入的电信号转换为光信号并输入进光学线性运算部分,以及对光电神经网络的输出进行读取。
16.根据本发明的一个优选实施方式,所述电学总控部分由adc模块、dac模块、fpga、光电转换模块以及电光转换模块
17.所述dac模块将fpga中产生的将用于光学线性运算部分的数字输入信号进行数模转换后传递给光电转换模块;所述光电转换模块将dac模块的输出读取后编码至光域信号上作为光学线性运算部分的输入;所述的电光转换模块将光电神经网络中各层的需要测量、分析、检测的光学信号进行读取,并转换至电域上;所述dac芯片将电光转换模块输出的模拟信号数模转换后传递个fpga;所述fpga控制光电神经网络的数据输出、读取以及存储功能。
18.根据本发明的一个优选实施方式,所述光电计算机中的每一隐藏层或输出层的光学非线性运算部分都采用前述的光学神经元波长复用模块。
19.根据本发明的一个优选实施方式,所述的光学神经网络架构中的各隐藏层或输出层的光学非线性运算部分仅部分采用前述的光学神经元波长复用模块。
20.进一步的,若此光学神经网络中m层中使用的为所述的光学神经元波长复用模块,则输入所述第m层的非线性运算部分的向量化信号将会编码在不同的波长上,在进入光学神经元波长复用模块后,输出的向量化信号也被编码在与输入向量对应的波长上,但输入-输出向量间是一种非线性的对应关系;
21.若所述第m层为隐藏层,则输出向量化信号被传递给m+1层的线性运算部分作为输入;若所述第m层为输出层,则运算后的向量化输出信号则作为网络输出。
22.进一步的,若此光学神经网络中m层的非线性运算部分中使用的为其它非线性运算器件,即不采用所述的光学神经元波长复用模块,则面对线性运算部分输出的编码在不同的波长上的向量化信号,每一个向量的元素会对应输入一个非线性运算器件阵列,输出的向量化信号也被编码在与输入向量化信号对应的波长上;若所述第m层为隐藏层,则输出向量化信号被传递给m+1层的线性运算部分作为输入;若所述第m层为输出层,则运算后的向量化输出信号则作为网络输出。
23.与现有技术相比,本发明提供的光学神经元波长复用模块可广泛兼容多种波分复用光计算网络,所述光学神经元波长复用模块的输入-输出为对应的多波长信号,模块内部实现高速的光学非线性运算。本发明中对应的神经网络中的矩阵运算过程、多神经元的非线性运算过程都为并行过程,大大提高了网络的并行度和速度。同时由于相比传统方案而言,器件数量减少、网络所需光功率减少,整个光电计算机系统的功耗相比传统方案拥有更小的系统规模以及系统功耗。
附图说明
24.图1为本发明实施例一的整体系统结构图;
25.图2为本发明实施例一中所采用光学非线性波长复用模块的结构示意图;
26.图3为一个2信道半导体光放大器的输入-输出对应关系的示意图;
27.图4为本发明实施例一中复用的神经元个数和电神经网络层数对整个系统的功耗的影响。
具体实施方式
28.为明确本发明的架构、实现过程和优势,以下将对发明的技术方案进行更清楚、更详细地描述。诚然,由于架构中所述各模块的选型的自由度,以下所述的实施例仅为本发明的一个实施例,而不是全部的实施例。基于本发明中的实施例,本领域的技术人员若未做出创造性劳动的情况下获得任何其他实施例,都属于本发明保护的范围。
29.本发明提供了一种光学神经元波长复用模块,该模块包括多路复用器(mux)阵列、与多路复用器个数及信道数对应的波分复用非线性器件阵列、与多路复用器个数及信道数对应的多路解复用器(demux)阵列。该光学神经元波长复用模块的工作原理如下:
30.作为光学神经网络中实现某一隐藏层或输出层的非线性运算部分,接收该层的线性运算部分的向量化输出信号,所述向量化输出信号会被编码在多路不同波长激光的强度信息上。多路复用器阵列接收所述的多路不同波长的激光将其合束并传输至波分复用非线性器件阵列,所述合束的信号,指的是空间上的重合,其在频谱上仍表显多波长的特性;波分复用非线性器件阵列接收到合束信号后,在其内部实现对合束信号中的不同波长信号的非线性运算,运算结果也会以多波长信号合束信号的形式输出并传递至多路解复用器阵列;多路解复用器阵列接收到合束的多波长信号后,将其在空间范围内根据波长分解为多路信号。
31.上述的光学神经元波长复用模块,从输出、输入的角度可以理解成一个向量函数,只是输出向量中的每个元素皆为关于输入向量中多个元素的函数。
32.在上述光学神经元波长复用模块中,由于非线性运算的过程中各波长信号的处理
都是并行的,因此,即使在大型的神经网络中需要复用的神经元个数较多,需要引入较多的输入光信号时,也不会增加光学神经元波长复用模块的运算时间。
33.在一种可能的设计中,所述波分复用非线性器件阵列为半导体光放大器阵列,其包括多个半导体光放大器(soa),但对应多路复用器阵列中多路复用器的个数需与半导体光放大器阵列相同,且信道数需对应。同理,多路解复用器阵列也需与半导体光放大器阵列具有相同的个数及对应的信道数。
34.半导体光放大器作为目前较为成熟的波分复用器件,其本身的增益饱和特性能够实现各信道的非线性运算,且其对于各信道的运算是并行的。对于一个2信道输入-输出的半导体光放大器,其由于增益饱和引起的非线性运算如图3所示。其中,x轴信道1(波长1)的输入强度,y轴为信道2(波长2)的输入强度,z轴为信道2(波长2)的输出强度。显然的,信道2的输入与输出有着一种非线性的对应关系,无论信道1的输入为多少。同理,信道1也将拥有这种非线性的对应关系。
35.所述的波分复用非线性器件阵列,包括但不仅限于半导体光放大器阵列,也可以是任何能够对多信道输入数据实现非线性运算的全光或光电器件。
36.本发明进一步提供了一种基于上述光学神经元波长复用模块的光电计算机。该光电计算机具有多层次的架构,不同层的架构间相互级联组成一个光电神经网络,所述的光电神经网路包括若干隐藏层、一个输出层和电学总控部分;其中,隐藏层和输出层具有相同的结构,均包括光学线性运算部分和光学非线性运算部分;
37.所述光学线性运算部分,用于对向量化的输入数据进行向量-矩阵运算,并将运算的结果进行向量化地输出;所述的运算结果被编码于多信道不同波长的信号上,并传递给光学非线性运算部分;
38.至少一个隐藏层或输出层的光学非线性运算部分采用本发明所述的光学神经元波长复用模块;
39.所述的电学总控部分,用于将光电神经网路输入的电信号转换为光信号并输入进光学线性运算部分,以及对光电神经网络的输出进行读取。
40.所述的光学线性运算部分,可采用目前常见的一些波分复用方案。所述的波分复用方案中,假设第n层有a个输入以及b个神经元,其每个输入都被分别编码在b个不同的波长上并广播出去。对于第m个神经元,其与所述a个输入的连接可以用一个向量-向量乘法表示,并且此向量-向量乘法中的元素间的乘加运算都被编码在同一个波长的光上完成。对于第n层的不同神经元,其与第n层的输入的连接所对应的向量-向量乘法,皆在相互独立的波长上完成。所述的线性运算部分包括但不仅限于目前已有的基于马克曾德尔调制器和微环调制器的方案,任何满足上述波长特性的线性运算部分皆可用于本发明所述的光电计算机中。其中n、m、a、b为非零正整数。
41.所述的电学总控部分用于将网路输入电光转换后输入光学线性运算部分,以及将网络的输出读取并处理。具体来看,所述的电学总控部分需具有数模转换(dac)功能、模数(adc)转换功能,数字信号处理功能、控制指令执行功能。在一种可能的设计中,电学总控部分adc模块、dac模块、fpga、光电转换模块以及电光转换模块
42.所述dac模块将fpga中产生的将用于光学线性运算部分的数字输入信号进行数模转换后传递给光电转换模块;所述光电转换模块将dac模块的输出读取后编码至光域信号
上作为光学线性运算部分的输入;所述的电光转换模块将光电神经网络中各层的需要测量、分析、检测的光学信号进行读取,并转换至电域上;所述dac芯片将电光转换模块输出的模拟信号数模转换后传递个fpga;所述fpga控制光电神经网络的数据输出、读取以及存储功能。
43.所述光学非线性运算部分可以为全复用方案,也可以为混合复用方案。
44.所述全复用方案,即所述的光电计算机中的每一层的神经元都由光学神经元波长复用模块构成。若此光学神经网络中m层为隐藏层,则如之前所述的线性部分的运算特性,输入所述第m层的神经元的非线性运算部分的向量将会编码在不同的波长上,在进入光学神经元波长复用模块后,输出的向量也被编码在与输入向量对应的波长上,但输入-输出向量间是一种非线性的对应关系。若所述第m层为隐藏层,则输出向量被传递给m+1层的线性运算部分作为输入;若所述第m层为输出层,则运算后的向量化输出则作为网络输出。所述全复用方案尽可能利用了光学神经元波长复用模块的特性,从而比已有的光学神经网络在非线性运算部分具有更高的集成度。
45.所述混合复用方案,即所述的光学神经网络架构中的神经元都由光学神经元波长复用模块以及已有的传统非线性运算器件阵列混合构成。若此光学神经网络中m层中使用的为光学神经元波长复用模块,则其工作原理与上述全服用方案中描述的相同。若此光学神经网络中m层中使用的为传统非线性运算器件,则面对线性运算部分输出的编码在不同的波长上的向量,每一个向量的元素会对应输入一个传统非线性运算器件阵列,输出的向量也被编码在与输入向量对应的波长上。若所述第m层为隐藏层,则输出向量被传递给m+1层的线性运算部分作为输入;若所述第m层为输出层,则运算后的向量化输出则作为网络输出。此方案具有更强的灵活性,针对光电计算机实际面对的加工难度、功能划分、异构连接或集成等各种问题,给出更大的可能性。
46.实施例一
47.请先参考图1,为本发明的一种具体实施例,以一个全复用方案的光电计算机为例,所述光电计算机为两层结构(一个隐藏层,一个输出层),且所述的隐藏层与输出层均为4个输入与4个输出。
48.在本实施例中,光学神经元波长复用模块采用如图2所示的结构,使用一个4路复用器、一个4信道soa、一个4路解复用器实现。为便于理解,图3给出所述的soa在2信道工作的情况下的输入-输出关系。
49.本实施例采用4个激光器发射出4束不同波长的光,即波长1、波长2、波长3、波长4,进入一个波分复用器(mux)后,被一个分束器等分为8路多波长光,其中4路作为隐藏层的数据载体,另4路作为输出层的数据载体。
50.对于隐藏层,所述的隐藏层的4路多波长光并行输入4个并列的马克曾德尔调制器(此实施例中将输入数据进行电光转换的模块),隐藏层的输入数据(x1x2x3x4)
t
由fpga产生并经过dac芯片转换后加载在所述4个并列的马克曾德尔调制器上。4路被强度调制后的多波长光传递进一个4
×
4的微环调制器阵列,以对每一路的4个波长光进行进一步的强度调制。如图1所示,代表权重w11、w21、w31、w41的4个微环调制器仅会对波长1的光束进行调制,对于其余波长的光可视为无强度调制。同理,代表权重w1k、w2k、w3k、w4k的4个微环调制器仅会对波长k的光束进行调制,对于其余波长的光可视为无强度调制。经过所述4
×
4的微
环调制器阵列后,经过光学神经元波长复用模块的多路复用器,进入半导体光放大器的4个波长光具有独立的强度分布。若用向量化的表示方式表示四个波长的强度分布,即
[0051][0052]
上述向量经过光学神经元波长复用模块后的输出向量中的元素也被编码在对应波长上,即所述输出向量被分别编码在波长1、波长2、波长3、波长4的强度信息上,且所述输出向量与输入向量的对应关系为:
[0053][0054]
所述输出向量所编码在的4个不同波长的光由于光学神经元波长复用模块中的4路解复用器作用,在空间上已可分辨,故用4个光电探测器组成的阵列分别探测其强度,得到电域中对应于(o1o2o3o4)
t
的输出向量(e1e2e3e4)
t
。此向量也作为输出层的输入,被并行地输入到输出层的马克曾德尔调制器阵列上。
[0055]
输出层的整体线性与非线性计算原理与第一层相同。但对于第二层内的光电探测器阵列的输出,其被输入进一个与fpga相连的adc芯片,如图1中所示。fpga芯片负责控制adc和dac芯片的工作,并且将读到的信息根据使用场景进行特定的数据处理。
[0056]
本具体实施例中使用的soa实现光学神经元波长复用模块,其本身具有片上集成技术成熟、片上集成度高、规模较小的优势,同时本方案中仅需一个soa即可实现隐藏层或输出层中4个神经元的非线性运算,其大大降低了非线性运算部分的集成规模,进而对光电计算机整体的尺寸进行了优化。
[0057]
所述光学神经元波长复用模块可以用1个模块实现n个神经元的非线性运算,其降低一个m层的光电神经网络的集成规模的同时,对整个系统的功耗也有一定的降低,其中n、m为正整数。同时随着复用的神经元个数n的上升、光电神经网络层数m的上升,其降低功耗的特性更为突出。如图4所示,我们用pj/mac作为功耗的衡量单位,即整个系统实现一次乘加运算需要消耗的能量。可见随着y轴表示的复用的神经元个数n、x轴表示的电神经网络层数m的分别上升,整个系统的功耗都呈现下降的趋势。
[0058]
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。
技术特征:
1.一种光学神经元波长复用模块,其特征在于,其作为光学神经网络中实现某一隐藏层或输出层的非线性运算部分,接收该隐藏层或输出层的线性运算部分的向量化输出信号并进行非线性运算;所述光学神经元波长复用模块包括:多路复用器阵列,其用于接收多路不同波长的激光并将其合束,所述多路不同波长的激光是通过将线性运算部分的向量化输出信号编码在多路不同波长激光的强度信息上得到的;波分复用非线性器件阵列,接收多路复用器阵列合束后的合束信号,对合束信号中的不同波长信号进行非线性运算,将算结果以多波长信号合束信号的形式输出并传递至多路解复用器阵列;多路解复用器阵列,接收多路解复用器接收到合束的多波长信号后,将其在空间范围内根据波长分解为多路信号并传递给下一功能模块;其中,所述多路复用器阵列中多路复用器的个数与波分复用非线性器件阵列中波分复用非线性器件的个数相同、信道数相对应,且还与多路解复用器阵列中多路解复用器的个数相同、信道数相对应。2.根据权利要求1所述的光学神经元波长复用模块,其特征在于,所述的波分复用非线性器件阵列为由能够对多信道不同波长的输入数据实现非线性运算的全光或光电器件组成的阵列,同时所述的全光或光电器件组成的阵列将运算后s。3.根据权利要求1所述的光学神经元波长复用模块,其特征在于,所述的波分复用非线性器件阵列为半导体光放大器阵列,半导体光放大器阵列中的半导体光放大器作为波分复用非线性器件。4.一种基于权利要求1所述光学神经元波长复用模块的光电计算机,其特征在于,其具有多层次的架构,不同层的架构间相互级联组成一个光电神经网络,所述的光电神经网路包括若干隐藏层、一个输出层和电学总控部分;其中,隐藏层和输出层具有相同的结构,均包括光学线性运算部分和光学非线性运算部分;所述光学线性运算部分,用于对向量化的输入数据进行向量-矩阵运算,并将运算的结果进行向量化地输出;所述的运算结果被编码于多信道不同波长的信号上,并传递给光学非线性运算部分;至少一个隐藏层或输出层的光学非线性运算部分采用权利要求1-3任一项所述的光学神经元波长复用模块;所述的电学总控部分,用于将光电神经网路输入的电信号转换为光信号并输入进光学线性运算部分,以及对光电神经网络的输出进行读取。5.根据权利要求4所述的光电计算机,其特征在于,所述电学总控部分由adc模块、dac模块、fpga、光电转换模块以及电光转换模块所述dac模块将fpga中产生的将用于光学线性运算部分的数字输入信号进行数模转换后传递给光电转换模块;所述光电转换模块将dac模块的输出读取后编码至光域信号上作为光学线性运算部分的输入;所述的电光转换模块将光电神经网络中各层的需要测量、分析、检测的光学信号进行读取,并转换至电域上;所述dac芯片将电光转换模块输出的模拟信号数模转换后传递个fpga;所述fpga控制光电神经网络的数据输出、读取以及存储功能。6.根据权利要求4所述的光电计算机,其特征在于,所述光电计算机中的每一隐藏层或
输出层的光学非线性运算部分都采用权利要求1-3任一项所述的光学神经元波长复用模块。7.根据权利要求4所述的光电计算机,其特征在于,所述的光学神经网络架构中的各隐藏层或输出层的光学非线性运算部分仅部分采用权利要求1-3任一项所述的光学神经元波长复用模块。8.根据权利要求6或7所述的光电计算机,其特征在于,若此光学神经网络中m层中使用的为权利要求1-3任一项所述的光学神经元波长复用模块,则输入所述第m层的非线性运算部分的向量化信号将会编码在不同的波长上,在进入光学神经元波长复用模块后,输出的向量化信号也被编码在与输入向量对应的波长上,但输入-输出向量间是一种非线性的对应关系;若所述第m层为隐藏层,则输出向量化信号被传递给m+1层的线性运算部分作为输入;若所述第m层为输出层,则运算后的向量化输出信号则作为网络输出。9.根据权利要求7所述的光电计算机,其特征在于,若此光学神经网络中m层的非线性运算部分中使用的为其它非线性运算器件,即不采用权利要求1-3任一项所述的光学神经元波长复用模块,则面对线性运算部分输出的编码在不同的波长上的向量化信号,每一个向量的元素会对应输入一个非线性运算器件阵列,输出的向量化信号也被编码在与输入向量化信号对应的波长上;若所述第m层为隐藏层,则输出向量化信号被传递给m+1层的线性运算部分作为输入;若所述第m层为输出层,则运算后的向量化输出信号则作为网络输出。
技术总结
本发明公开了一种基于光学神经元波长复用模块的光电计算机,所述光学神经元波长复用模块作为光学神经网络中实现某一隐藏层或输出层的非线性运算部分,接收该隐藏层或输出层的线性运算部分的向量化输出信号并进行非线性运算,其包括多路复用器阵列、波分复用非线性器件阵列、多路解复用器阵列。所述光电计算机用于实现多层的光电神经网路的功能,所述的光电神经网路包括若干隐藏层、一个输出层和电学总控部分;其中,隐藏层和输出层具有相同的结构,均包括光学线性运算部分和光学非线性运算部分;至少一个隐藏层或输出层的所述的光学非线性运算部分,由采用本发明所述的光学神经元波长复用模块。本发明可以大大提高网络的并行度和速度。行度和速度。行度和速度。
技术研发人员:金潮渊 刘逸丰 李晨晖 翁海中 王博文 黄科杰
受保护的技术使用者:浙江大学
技术研发日:2023.05.24
技术公布日:2023/9/6
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/
上一篇:绿色建筑的制作方法 下一篇:一种匹配信号灯与车道的方法、装置、电子设备及车辆与流程