1.本技术属于神经网络计算领域,具体地,本技术涉及基于光散射的矩阵计算方法及光学神经网络。
背景技术:2.随着深度学习技术的广泛运用,人工智能(ai)在机器视觉、自动驾驶、临床诊断等方面都取得了巨大成功。然而,作为训练和执行人工智能模型载体的集成电路芯片计算能力的增长正在逐渐放缓,逐渐不能满足人工神经网络对计算能力的需求。基于冯
·
诺伊曼架构的集成电路芯片在结构上有着不发规避的缺陷,其在执行运算时会将程序和数据分离,从而导致存储器与计算单元之间会产生潮汐性数据载荷,大量的潮汐性数据载荷会使计算速率下降并且增加运算功耗。当前研究人员主要通过不断提高芯片集成度,进行存内运算等方法来解决这个问题,但随着晶体管尺寸的缩小,晶体管的性能也越来越受到量子效应的影响。除此以外,现有的神经网络算法与存内计算的方法匹配度不高,这二者都限制了存内计算方法的应用。
3.基于光学器件的人工神经网络可以克服上述基于集成电路人工神经网络的缺陷。与电学传输相比,光学传输具有高速、大带宽、低延迟、低能耗、高并行度等优点。因此,光学神经网络能够发挥光子技术的优势,有望突破传统电神经网络的瓶颈。
4.2017年,mit的研究团队提出了一种基于马赫曾德尔干涉仪阵列的结构,实现了光学神经网络的矩阵运算,并利用此结构搭建了片上神经网络芯片。通过重复使用此神经网络芯片,他们实现了一个四输入的神经网络,并实现了对四个元音信号的识别。此光学神经网络使用了56个马赫曾德尔干涉仪阵列和213个移相器,网络规模庞大,当输入信号增加时,需要使用大量mzi和移相器,工艺难度很大。2018年,lin等人提出了一种基于衍射的光子深度神经网络,该全光衍射深度神经网络(d2nn)由多层衍射表面组成,可以以光速执行计算任务。 d2nn的训练由计算机完成,完成训练后,通过泊松表面重建方法完成每个衍射层的3d模型,然后由3d打印机打印衍射表面,完成了手写数字与时尚物品图像的分类任务。此方案的衍射器件尺寸较大,且仅能完成特定机器学习任务,无法重构。
5.申请公布号为cn 112232504 a的专利提供了一种光子神经网络,其中涉及到了光子矩阵计算单元的基本结构,该专利提供了一种基于mzi阵列的矩阵计算单元,每个mzi由2
×
2定向耦合器和移相器组成,实际使用中器件数量巨大,而且在受到外界扰动时,器件稳定性较低,神经网络整体的鲁棒性较差。申请公开号为cn 111680796 a的专利提供了一种基于级联光耦合器的片上光子神经网络装置、芯片及其应用方法,其矩阵计算单元由级联光耦合器构成,且缺少非线性单元,因此可能会造成神经网络的功耗增加、计算性能降低。
6.结合以上情况,需要一种紧凑、可集成度高、鲁棒性好的矩阵计算单元用来实现全光光学神经网络。
技术实现要素:7.本技术要解决的技术问题是提出基于光散射的光学矩阵计算方法,利用光学器件实现光学矩阵计算,在片上实现大带宽、低功耗、以光速运行和可以用于光学神经网络的矩阵计算单元。
8.本发明的基于光散射的矩阵计算方法,包括如下步骤:
9.步骤1,对矩阵w进行分解,分解为酉矩阵和对角矩阵;
10.步骤2,依据分解后的矩阵,基于光散射构建矩阵计算单元,矩阵计算单元包括光散射模块和移相器阵列;光散射模块用于表征酉矩阵,移相器阵列用于表征对角矩阵;
11.步骤3,对输入特征向量进行电光转换,得到n路光信号;其中n等于输入特征向量的维度。
12.步骤4,将n路光信号输入到矩阵计算单元中,得到输入特征向量与矩阵w的乘法运算结果;
13.进一步的,光散射模块由伴随方法进行光子器件反向设计得到。
14.进一步的,步骤1中对矩阵w进行分解,分解为酉矩阵和对角矩阵,具体为:
15.利用矩阵奇异值分解法将矩阵w分解为两个酉矩阵和一个对角矩阵,矩阵w 的函数表达式如下式表示:
16.w=u∑v
t
17.其中,w为m
×
n矩阵,u是m
×
m矩阵,v是n
×
n矩阵,u和v都是酉矩阵,满足uu
t
=i,vv
t
=i,∑是一个对角矩阵。
18.步骤2中所述矩阵计算单元包括第一光散射模块、移相器阵列和第二光散射模块;第一光散射模块、移相器阵列和第二光散射模块依次连接,u和v分别由第一光散射模块和第二光散射模块表征,∑由移相器阵列表征。
19.n列光信号输入至第一光散射模块运算后,再输入至移相器阵列中,最后由第二光散射模块输出以实现光学向量与任意矩阵的乘法运算。此矩阵计算单元具有尺寸小、可集成度高、损耗低、运算速度快等优势。
20.进一步的,步骤1中对矩阵w进行分解,分解为酉矩阵和对角矩阵,具体为:
21.矩阵w分解为n-1个酉矩阵和n个对角矩阵,函数表达式如下:
22.w=∑n·v·
∑
n-1
…
∑2·v·
∑123.其中,v是酉矩阵,∑i表示对角矩阵,i=1,2
…
n。
24.步骤2中所述矩阵计算单元包括n-1个光散射模块和n个移相器阵列;光散射模块与移相器阵列间隔设置,光散射模块与移相器阵列连接。此矩阵计算单元具有可编程、鲁棒性高等优势。
25.本明还提出了一种基于光散射的光学神经网络,包括依次连接的激光器阵列、电光调制器阵列、多个隐藏层和光电探测器阵列;其中隐藏层包括矩阵计算单元和光学非线性单元;矩阵计算单元的输出端连接光学非线性单元的输入端;本发明的非线性单元采用饱和吸收体或非线性折射材料。
26.激光器阵列产生n路光强为i
in
的非相干光源输入到电光调制器阵列,对输入特征向量进行归一化处理,电光调制器阵列将归一化后的数据调制到n路光信号上,输出到隐藏层,在隐藏层中矩阵计算单元可对n路光信号进行矩阵运算,光学非线性单元对n路光信号
进行非线性运算,执行非线性激活函数的作用,可提高神经网络的运算性能;光电探测器阵列包括n个光电探测器,分别与最后一个隐藏层的n路输出光信号一一对应,用于检测输出光强,得到光学神经网络计算结果。
27.进一步的,光学神经网络中的矩阵计算单元包括第一光散射模块、移相器阵列和第二光散射模块;第一光散射模块、移相器阵列和第二光散射模块依次连接。
28.进一步的,光学神经网络中的矩阵计算单元包括n-1个光散射模块和n个移相器阵列;光散射模块与移相器阵列间隔设置,光散射模块与移相器阵列连接,其中n等于输入特征向量的维度。
29.与现有技术相比,本技术具有下述优点:本技术提出的矩阵计算方法中采用的光学矩阵计算单元由光散射模块和移相器阵列组成,与现有技术mzi阵列实现矩阵计算相比,光散射模块的尺寸更紧凑,更易于再芯片上集成;光散射模块利用伴随方法进行反向优化设计,光学性能更好,损耗更低;
30.利用多级光散射单元与移相器阵列级联构成的矩阵计算单元,具有可编程的特性,可在片上重复使用以完成不同的矩阵运算,且鲁棒性高、抗干扰能力强;与在电路中实现矩阵乘法运算相比,本技术提出的光学矩阵计算单元功耗更低且运算速度更快,可以有效提升神经网络的运算速度和能耗比,更符合神经网络的发展趋势。本技术提出的全光光学神经网络可通过光学计算有效缩短计算时间,降低计算损耗。
附图说明
31.图1是本技术实施例一中矩阵计算单元的示意图。
32.图2是本技术实施例二中矩阵计算单元的示意图。
33.图3是四输入四输出的光散射模块的仿真结果图。
34.图4是本技术的光学神经网络结构示意图。
35.图5是本技术使用两层神经网络实现鸢尾花数据集数据分类的流程图。
36.图6是鸢尾花数据集数据分类的测试准确度曲线图。
具体实施方式
37.实施例一
38.本技术的基于光散射的矩阵计算方法,包括如下步骤:
39.步骤1,对矩阵w进行分解,分解为酉矩阵和对角矩阵;
40.利用矩阵奇异值分解(svd)法将矩阵w分解为两个酉矩阵和一个对角矩阵,矩阵w的函数表达式如下式表示:
41.w=u∑v
t
42.其中,w为m
×
n矩阵,u是m
×
m矩阵,v是n
×
n矩阵,u和v都是酉矩阵,满足uu
t
=i,vv
t
=i,u和v分别由两个光散射模块表征;∑是一个对角矩阵,对角元素为奇异值,由移相器阵列表征。
43.步骤2,依据分解后的矩阵,基于光散射构建矩阵计算单元;
44.依据采用矩阵奇异值分解(svd)法分解后的矩阵,基于光散射构建矩阵计算单元。如图1所示,所述矩阵计算单元包括个第一光散射模块、移相器阵列和第二光散射模块,第
一光散射模块、移相器阵列和第二光散射模块通过波导依次连接,u和v分别由第一光散射模块和第二光散射模块表征,∑由移相器阵列表征;其中光散射模块由伴随方法进行光子器件反向设计得到,具有良好的光学性能,损耗低。
45.第一光散射模块和第二光散射模块均用于实现n路光信号的向量酉矩阵乘法,移相器阵列包括n个移相器,n个移相器分别与第一光散射模块输出光信号一一对应,实现光信号的向量对角矩阵乘法,n个移相器输出的光信号分别进入第二光散射模块;通过对光散射模块和移相器阵列具体参数的优化以实现任意矩阵运算。
46.如图3所示,是一种四输入四输出的光散射模块的仿真结果图。利用伴随算法对光散射模块进行反向设计,仿真尺寸为4
×
4μm2,仿真结果为光散射模块的相对折射率分布图,颜色深浅代表相对折射率的大小。仿真优化结果可以导出为gds文件,作为光散射模块的版图,为光学神经网络芯片设计奠定基础。
47.步骤3,对输入特征向量进行电光转换,得到n路光信号;其中n等于输入特征向量的维度。
48.具体的,采用高功率激光器阵列产生n路光强为i
in
非相干光源,将数据集中的输入特征向量进行归一化处理后,使用幅度电光调制器将输入特征向量调制到 n路光信号上,实现输入特征向量的电光转换。
49.步骤4,将n路光信号输入到矩阵计算单元中,实现特征向量与矩阵w的乘法运算;
50.在矩阵计算单元中,使用n路非相干光作为输入光源,在输出波导中,由于光的非相干性质,不同波长光的光强可以直接相加。计算表达式如下所示:
[0051][0052]
式中i
out
为输出光强,i
in
为输入光强,w为矩阵计算单元所表征的矩阵,w
ij
为矩阵w的权重。
[0053]
实施例二
[0054]
基于光散射的矩阵计算方法,包括如下步骤:
[0055]
步骤1,对矩阵w进行分解,分解为酉矩阵和对角矩阵;
[0056]
具体的,矩阵w分解为n-1个酉矩阵和n个对角矩阵,函数表达式如下:
[0057]
w=∑n·v·
∑
n-1
…
∑2·v·
∑1[0058]
其中,v是酉矩阵,可采用光散射模块进行表征,∑i(i=1,2
…
n)表示对角矩阵,可采用n个移相器阵列分别表征;对角矩阵的个数等于输入特征向量的维度。
[0059]
步骤2,依据分解后的矩阵,基于光散射构建矩阵计算单元;
[0060]
当矩阵w分解为n-1个酉矩阵和n个对角矩阵时,基于光散射构建矩阵计算单元;如图2所示,所述矩阵计算单元包括n-1个光散射模块和n个移相器阵列;光散射模块与移相器阵列间隔设置,光散射模块与移相器阵列之间通过波导连接。其中光散射模块由伴随方法
进行光子器件反向设计得到。
[0061]
n路光信号经过级联移相器和光散射模块的可以实现任意的矩阵乘法运算。
[0062]
步骤3,对输入特征向量进行电光转换,得到n路光信号;其中n等于输入特征向量的维度。
[0063]
步骤4,将n路光信号输入到矩阵计算单元中,实现特征向量与矩阵w的乘法运算;
[0064]
实施例三
[0065]
本发明的基于光散射的光学神经网络,是一种全光光学神经网络,图4是本技术全光光学神经网络芯片的结构示意图,包括依次连接的激光器阵列、电光调制器阵列、多个隐藏层和光电探测器阵列,其中隐藏层包括矩阵计算单元和光学非线性单元;矩阵计算单元的输出端连接光学非线性单元的输入端;所述矩阵计算单元是通过本技术矩阵计算方法中的,先将矩阵分解为酉矩阵和对角矩阵,再使用散射单元表征酉矩阵,移相陈列表征对角矩阵,从而得到的矩阵计算单元。
[0066]
所述激光器阵列共有n个输出端,所述电光调制器阵列包括n路输入光信号一一对应的n个幅度调制器,所述矩阵计算单元可对n路光信号进行任意向量矩阵运算,所述光学非线性单元可对n路光信号进行非线性运算,执行非线性激活函数的作用,可提高神经网络的运算性能。所述光电探测器阵列包括与最后一个隐藏层的n路输出光信号一一对应的n个光电探测器。
[0067]
使用高功率激光器阵列产生n路光强为i
in
非相干光源,将数据集中的输入特征向量进行归一化处理后,使用电光调制器阵列将待分类数据调制到n路光信号上,光信号的光强正比与待分类的数据,加载到第一隐藏层的信号振幅为:
[0068][0069]
其中xi为第i路的归一化输入信号,x0经过第一隐藏层中矩阵计算单元运算后得:
[0070][0071]
经过第一隐藏层中的非线性运算单元后得到第一隐藏层的输出y1,y1也作为输入信号x1加载进第二隐藏层中:
[0072][0073]
式中f(zi)是由光学非线性器件模拟实现的非线性激活函数,经过l个隐藏层的计算,最终输出的n路光信号被光电探测器检测输出光强y,得到本发明的光学神经网络计算结果。
[0074]
下面结合具体的数据采用本发明的光学神经网络进行分类。图5展示了使用鸢尾花数据集实现数据分类的神经网络的流程图,鸢尾花数据集包含3类共150条数据,每类各
50个数据,每条记录都有4项特征:花萼长度、花萼宽度、花瓣长度、花瓣宽度,可以通过这4个特征预测鸢尾花卉属于哪一个品种的鸢尾花卉,鸢尾花卉包括山鸢尾、变色鸢尾和北美鸢尾三个品种,图5中 xi(i=1,2,3,4)分别为数据集的4项特征,hi(i=1,2,3,4)分别为神经网络中的4 个神经元,yi(i=1,2,3)为神经网络的输出,输入向量经过权重矩阵w1和w2运算后得到神经网络的输出。
[0075]
采用鸢尾花数据集作为输入特征向量,输入特征向量的维度n=4,将每个数据的特征归一化后,输入到本发明的电光调制器阵列中,输出四路光信号到隐藏层中,经过两个隐藏层的运算,光电探测器阵列探测到输出波导中的输出光强大小来判断鸢尾花卉的类型。图6为测试的结果图,训练次数为1000时,测试准确度可以达到0.87。
[0076]
本技术提出的光学矩阵计算单元尺寸更紧凑,更易于再芯片上集成;第二种矩阵计算单元利用多级光散射单元与移相器阵列级联,具有可编程的特性,可在片上重复使用以完成不同的矩阵运算,且鲁棒性高、抗干扰能力强;光散射模块利用伴随方法进行反向优化设计,光学性能更好,损耗更低。本技术提出的全光光学神经网络对比现有的片上光学神经网络技术,减小了实现神经网络运算的光学器件数量,可以为神经网络的实现提供一种尺寸更小、能耗更低、带宽更大、鲁棒性更好、运算速度更快的实现方案。
技术特征:1.基于光散射的矩阵计算方法,其特征在于,包括如下步骤:步骤1,对矩阵w进行分解,分解为酉矩阵和对角矩阵;步骤2,依据分解后的矩阵,基于光散射构建矩阵计算单元,矩阵计算单元包括光散射模块和移相器阵列;光散射模块用于表征酉矩阵,移相器阵列用于表征对角矩阵;步骤3,对输入特征向量进行电光转换,得到n路光信号;其中n等于输入特征向量的维度。步骤4,将n路光信号输入到矩阵计算单元中,实现输入特征向量与矩阵w的乘法运算。2.根据权利要求1所述基于光散射的矩阵计算方法,其特征在于,光散射模块由伴随方法进行光子器件反向设计得到。3.根据权利要求1或2所述基于光散射的矩阵计算方法,其特征在于,步骤1中对矩阵w进行分解,分解为酉矩阵和对角矩阵,具体为:利用矩阵奇异值分解法将矩阵w分解为两个酉矩阵和一个对角矩阵,矩阵w的函数表达式如下式表示:w=u∑v
t
其中,w为m
×
n矩阵,u是m
×
m矩阵,v是n
×
n矩阵,u和v都是酉矩阵,满足uu
t
=i,vv
t
=i,∑是一个对角矩阵。4.根据权利要求3所述基于光散射的矩阵计算方法,其特征在于,步骤2中所述矩阵计算单元包括第一光散射模块、移相器阵列和第二光散射模块;第一光散射模块、移相器阵列和第二光散射模块依次连接,u和v分别由第一光散射模块和第二光散射模块表征,∑由移相器阵列表征。5.根据权利要求1或2所述基于光散射的矩阵计算方法,其特征在于,步骤1中对矩阵w进行分解,分解为酉矩阵和对角矩阵,具体为:矩阵w分解为n-1个酉矩阵和n个对角矩阵,函数表达式如下:w=∑
n
·v·
∑
n-1
…
∑2·v·
∑1其中,v是酉矩阵,∑
i
表示对角矩阵,i=1,2
…
n。6.根据权利要求5所述基于光散射的矩阵计算方法,其特征在于,步骤2中所述矩阵计算单元包括n-1个光散射模块和n个移相器阵列;光散射模块与移相器阵列间隔设置,光散射模块与移相器阵列连接。7.基于光散射的光学神经网络,其特征在于,包括依次连接的激光器阵列、电光调制器阵列、多个隐藏层和光电探测器阵列;其中隐藏层包括矩阵计算单元和光学非线性单元;矩阵计算单元的输出端连接光学非线性单元的输入端;激光器阵列产生n路光强为i
in
的非相干光源输入到电光调制器阵列,对输入特征向量进行归一化处理,电光调制器阵列将归一化后的数据调制到n路光信号上,输出到隐藏层,在隐藏层中矩阵计算单元可对n路光信号进行矩阵运算,光学非线性单元对n路光信号进行非线性运算,执行非线性激活函数的作用,光电探测器阵列包括n个光电探测器,分别与最后一个隐藏层的n路输出光信号一一对应,用于检测输光强。8.根据权利要求7所述基于光散射的光学神经网络,其特征在于,光学神经网络中的矩阵计算单元采用如权4中所述的矩阵计算单元。
9.根据权利要求7所述基于光散射的光学神经网络,其特征在于,光学神经网络中的矩阵计算单元采用如权6中所述的矩阵计算单元。10.根据权利要求7所述基于光散射的光学神经网络,其特征在于,非线性单元采用饱和吸收体或非线性折射材料。
技术总结本申请公开了基于光散射的矩阵计算方法及光学神经网络,基于光散射的矩阵计算方法,步骤1,将矩阵W分解为酉矩阵和对角矩阵;步骤2,基于光散射构建矩阵计算单元;步骤3,对输入特征向量进行电光转换,得到N路光信号;步骤4,将N路光信号输入到矩阵计算单元中,实现输入特征向量与矩阵W的乘法运算;光信号通过本申请矩阵计算单元后,可以光速执行任意向量矩阵乘法,并几乎没有光学损耗。基于上述矩阵计算单元的全光光学神经网络可以有效减少实现神经网络运算的光学器件数量,可以为人工神经网络的实现提供一种尺寸更小、能耗更低、带宽更大、鲁棒性更好、运算速度更快的实现方案。运算速度更快的实现方案。运算速度更快的实现方案。
技术研发人员:刘旭 王百航 欧瀚文 王春清 曹一凡 吴奕征 梅奇勋 张嘉龙 从哲 刘仁韬
受保护的技术使用者:东南大学
技术研发日:2022.01.14
技术公布日:2022/7/5