一种高效实现大规模矩阵运算的并行光计算系统的制作方法

文档序号:20161905发布日期:2020-03-24 21:06阅读:517来源:国知局
一种高效实现大规模矩阵运算的并行光计算系统的制作方法

本发明属于光子计算技术领域,特别涉及全光信息处理和波导微纳结构。



背景技术:

传统的矩阵运算需要计算机对计算数据的中间量进行多次存储和读取,随着矩阵规模的扩大,计算时间也成倍增长,人们开始寻求一种可以高效实现大规模矩阵运算的运算方法。光子计算结构具有高速、并行、无源等特性,在处理线性计算上有突出的优势,成为当前国际研究的一个热点。人们采用光波导微纳结构、微透镜阵列等新型光学材料搭建光子计算芯片,应用到不同场景中。



技术实现要素:

发明目的:该结构用于实现高速、并行的大规模矩阵运算,包括矩阵乘法、求逆等,以满足移动通信、人工智能、大数据计算等场景中矩阵高速运算的需求,同时采用微纳波导技术,用于制作小型、无源的专用元器件。

技术方案:为实现上述目的,本发明提供一种高效实现大规模矩阵运算的并行光计算系统,包括光输入单元、并行光计算单元和光输出单元。光输入单元并行输入多个波段的单位振幅光信号,并输入至并行光计算单元。并行光计算单元由多个加载矩阵数值的光学矩阵单元和波导耦合结构组成,计算结果输出至光输出单元。光输出单元采集每个波段的光信号振幅,得到矩阵运算的结果。

进一步的,光输入单元由多路相同强度、相同孔径、不同波长的光源组成,每路光源经光纤耦合入波导。

进一步的,并行光计算单元由多个光学矩阵单元和波导耦合结构(均匀波导分束器和波导合束器)组成。其中,光学矩阵单元包含多个光学调制单元,每个调制单元上加载与矩阵元素数值成正比的电平信号,经电控可以改变每个调制单元的光透射率,从而调节透射光的振幅分布,使其与矩阵数值分布一致。

其中,光学矩阵单元1上加载了矩阵a的数值,光输入单元光源阵列的每一行的出射光,经过一个1*n均匀波导分束器(一路输入,n路输出的波导耦合结构),均匀输入到光学矩阵单元1中对应行上的光学调制单元(输入端第一行对应光学矩阵单元1第一行,以此类推)。在光学矩阵单元1另一侧,每一列的光学调制单元连接了一个m*1的波导合束器(m路输入,一路输出的波导耦合结构),将每一列的出射光叠加,经过一个1*k均匀波导分束器,均匀输入到光学矩阵单元2中对应列上的光学调制单元。光学矩阵单元2上加载了矩阵b的转置的数值。在光学矩阵单元2另一侧,每一行的光学调制单元连接了一个n*1的波导合束器,将每一行的出射光叠加,输出到光输出单元。

进一步的,光输出单元包括多个光接收机,每个接收机检测多个波段的光振幅并量化输出,同波段的光振幅输出组对应矩阵相乘结果的一个行向量,所有波段的光振幅输出则对应矩阵相乘后的结果矩阵。

有益效果:本发明与现有技术相比,具备如下优点:

1、在运算过程中,数据信号不需要存取,运算速度等同于光信号经过该结构的速度,显著提高了矩阵运算的速度。

2、该微纳波导结构可以小型化且能耗低,可以嵌入许多现有的系统中。

3、当光学矩阵单元上读取的矩阵不变时,整个系统可以工作在无源状态,可用于制造专用神经网络芯片、光通信芯片等。

4、整个系统的复杂度较低,光学矩阵单元可用现有的微机电系统(mems)或空间光调制器(slm)来实现。

附图说明

图1为该并行光计算系统的结构框图;

图2为并行光计算单元结构示意图;

图3为优化矩阵数值精度方案一的示意图;

图4为优化矩阵数值精度方案二的示意图;

图5为矩阵相乘运算结构示意图;

图6为矩阵求逆运算结构示意图;

具体实施方式

下面结合附图和具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。

本发明公开了一种高效实现大规模矩阵运算的并行光计算系统,该方法包括光输入单元、并行光计算单元和光输出单元。光输入单元并行输入多个波段的单位振幅光信号,并输入至并行光计算单元。并行光计算单元由多个加载矩阵数值的光学矩阵单元和波导耦合结构组成,计算结果输出至光输出单元。光输出单元采集每个波段的光信号振幅,得到矩阵运算的结果。

如图1所示,该方法由光输入单元、并行光计算单元和光输出单元组成。其中光输入单元与并行光计算单元相连,输入多路相同振幅不同波导的光信号。并行光计算单元与光输入单元和光输出单元相连,包含多个加载矩阵数值的光学矩阵单元和波导耦合结构,用于实现矩阵运算,并将计算结果输出至光输出单元。光输出单元与并行光计算单元相连,采集来自并行光计算单元的不同波段的光信号振幅,得到矩阵运算的结果。

如图2所示,并行光计算单元由多个光学矩阵单元和波导耦合结构组成。其中,光学矩阵单元包含多个光学调制单元,每个调制单元上加载与矩阵元素数值成正比的电平信号,经电控可以改变每个调制单元的光透射率,从而调节透射光的振幅分布,使其与矩阵数值分布一致。波导耦合结构包括均匀波导分束器(单路输入,多路输出)和波导合束器(多路输入,单路输出),根据矩阵运算类型的不同,波导耦合结构有所不同。

根据现有技术,光学矩阵单元可用集成微机电系统(mems)或空间光调制器(slm)来实现,矩阵单元中每一个光学调制单元对应矩阵中的一个元素。由于mems或slm的振幅调制精度有限(mems有8个灰度,slm有128个灰度),目前有两种提高精度的方案:

方案一:如图3所示,将多个光学调制单元合并为一个新的光学调制单元,例如16个光学调制单元合并为一个新的光学调制单元,则将精度提高16倍。

方案二:如图4所示,多个光学矩阵单元相级联,例如三个8灰度的光学矩阵单元级联,即将8个灰度提高到了512个灰度。

如图5所示,矩阵相乘运算结构由光输入单元,并行光计算单元和光输出单元组成。其中,并行光计算单元由多个光学矩阵单元和波导耦合结构组成,图中示例为两个矩阵相乘,多矩阵相乘可在此基础上增加光学矩阵单元及波导耦合结构。光学矩阵单元1上加载了矩阵a的数值,光输入单元光源阵列每一行的出射光,经过一个1*n均匀波导分束器(一路输入,n路输出的波导耦合结构),均匀输入到光学矩阵单元1中对应行上的光学调制单元(输入端第一行对应光学矩阵单元1第一行,以此类推)。光学矩阵单元1另一侧,每一列的光学调制单元连接了一个m*1的波导合束器(m路输入,一路输出的波导耦合结构),将每一列的出射光叠加,经过一个1*k均匀波导分束器,均匀输入到光学矩阵单元2中对应列上的光学调制单元。光学矩阵单元2上加载了矩阵b的转置的数值。光学矩阵单元2另一侧,每一行的光学调制单元连接了一个n*1的波导合束器,将每一行的出射光叠加,输出到光输出单元。

光输出单元包括多个光接收机,每个接收机检测多个波段的光振幅并量化输出,同波段的光振幅输出组对应矩阵相乘结果的一个行向量,所有波段的光振幅输出则对应矩阵相乘后的结果矩阵。以下是矩阵乘法运算结构的原理阐述:

设光学矩阵单元1上加载的矩阵1为输入信号y1,y2,y3,…,yn经波导耦合后,分别输入到矩阵的每一行中,可视为矩阵的第i行所有元素与yi分别相乘。然后用波导耦合将阵列输出的列元素合束叠加,得到信号y1’,y’2,y’3,…,y’n,有

第二个调制阵列上加载矩阵b的转置将信号y1’,y’2,y’3,…,y’n经波导耦合后,输入到矩阵的每一列中,然后用波导耦合将阵列输出的行元素合束叠加,用光接收机采集得到输出y1”,y”2,y”3,…,y”n,有

设矩阵c=ab,当输入y1,y2,y3,…,yn为单位向量,例如1,0,0,...,0,输出对应的是矩阵c的第一行。因此如果每一路yi输入为不同波长的单位振幅光信号,在输出端检测不同波长的光振幅,可同时得到矩阵多组行向量的值,即完成两个矩阵的乘法。

如图6所示,矩阵求逆运算结构由光输入单元,并行光计算单元和光输出单元组成。其中,并行光计算单元由多个光学矩阵单元和波导耦合结构组成,图中示例为单个矩阵求逆,其他求逆运算可在此基础上增加光学矩阵单元及波导耦合结构。光学矩阵单元上加载了矩阵d的数值,光输入单元光源阵列每一列的出射光,经过一个1*n均匀波导分束器(一路输入,n路输出的波导耦合结构),均匀输入到光学矩阵单元1中对应列上的光学调制单元(输入端第一列对应光学矩阵单元第一列,以此类推)。光学矩阵单元另一侧,每一行的光学调制单元连接了一个n*1的波导合束器(n路输入,一路输出的波导耦合结构),将每一行的出射光叠加,输入到输出端。

光输出单元包括多个光接收机,每个接收机检测多个波段的光振幅并量化输出,同波段的光振幅输出组对应矩阵d逆矩阵的一个行向量,所有波段的光振幅输出则对应矩阵d的逆矩阵。以下是该矩阵求逆运算结构的原理阐述:

设光学矩阵单元加载的矩阵d为若从左侧输入矩阵d逆矩阵的第i行行向量,根据图1结构的推导和矩阵运算法则,可知右侧输出为单位向量0,...0,1,0...0,其中第i位为1,由于光路是可逆的,因此在右侧输入单位向量,左侧输出的便是矩阵d逆矩阵的行向量。光输入单元每一路输入不同波长的单位振幅光信号,光输出单元检测不同波长的光振幅,可同时得到矩阵d逆矩阵多组行向量的值。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1