一种光学衍射神经网络、光计算芯片及矩阵乘积计算方法与流程

摘要: 本技术涉及光学神经网络领域,尤其涉及一种光学衍射神经网络、光计算芯片及矩阵乘积计算方法。背景技术:1、光计算具有高并行、低功耗、超高速的优势,大规模矩阵乘法可以...
一种光学衍射神经网络、光计算芯片及矩阵乘积计算方法与流程

本技术涉及光学神经网络领域,尤其涉及一种光学衍射神经网络、光计算芯片及矩阵乘积计算方法。

背景技术:

1、光计算具有高并行、低功耗、超高速的优势,大规模矩阵乘法可以充分发挥光计算的核心优势。

2、现有技术中,光学衍射神经网络计算矩阵乘法通过将输入矩阵编码到光学衍射神经网络的输入光信号中,光学衍射神经网络的功能被训练为拟合矩阵乘法,对光学衍射神经网络输出的光信号进行光电转换即可获得输入矩阵与光学衍射神经网络的光学映射矩阵的乘积。光学衍射神经网络计算任意两个矩阵的乘法通常需要借助相位可调超表面来实现,具体地,光学衍射神经网络中的调制层为相位可调超表面,通过调整相位可调超表面的相位改变光学衍射神经网络的光学映射矩阵,以实现光学衍射神经网络的光学映射矩阵的重构,进而实现输入矩阵与光学衍射神经网络的光学映射矩阵的矩阵乘积计算。

3、但包括相位可调超表面的光学衍射神经网络的架构较为复杂,加工难度较高。

技术实现思路

1、针对上述技术问题,本技术实施例提供了一种光学衍射神经网络、光计算芯片及矩阵乘积计算方法,旨在提供一种架构简单、加工难度低且可用于计算矩阵乘法的光学衍射神经网络。

2、根据本技术实施例的一方面,公开了一种用于矩阵乘法计算的光学衍射神经网络,用于计算第一矩阵和第二矩阵的矩阵乘积,包括:

3、加法计算单元,被配置为对第一向量对应的光信号及第二向量对应的光信号进行加法调制并输出第一光信号;所述第一向量基于所述第一矩阵中的任一元素复制生成,所述第二向量为所述第二矩阵中对应所第一矩阵中的述任一元素列序数的行向量;

4、减法计算单元,与所述加法计算单元具有相同的输入光信号,所述减法计算单元被配置为对所述第一向量对应的光信号及所述第二向量对应的光信号进行减法调制并输出第二光信号;

5、差分光电探测器,用于将所述第一光信号和所述第二光信号转化成电信号并对其进行差分处理。

6、在一些实施例中,所述光学衍射神经网络还包括第一光源阵列,所述第一光源阵列包括多个第一子光源,所述第一子光源的个数与所述第一向量中的元素数目相等以实现元素的复制。

7、在一些实施例中,各所述第一子光源出射的光束的光学参数被编码为所述第一向量中对应的元素;

8、所述光学衍射神经网络还包括第二光源阵列,所述第二光源阵列包括多个第二子光源,所述第二子光源的个数被配置为与所述第二向量中的元素数目相等,各所述第二子光源出射的光束的光学参数被编码为所述第二向量中对应的元素。

9、在一些实施例中,所述光学衍射神经网络还包括光源和调制器,所述光源用于出射光束,所述调制器用于对光束的光学参数进行编码。

10、在一些实施例中,所述光学衍射神经网络还包括光场分发接口,所述光场分发接口被配置为对光信号进行分束并分别传播至所述加法计算单元和所述减法计算单元,以使所述加法计算单元和所述减法计算单元具有相同的输入信号。

11、在一些实施例中,所述光场分发接口出射的光束的总数量为所述第一向量和所述第二向量的总元素数量的2倍。

12、在一些实施例中,所述第一向量对应的光信号及所述第二向量对应的光信号在输入至所述加法计算单元前相互分离;

13、所述第一向量对应的光信号及所述第二向量对应的光信号在输入至所述减法计算单元前相互分离。

14、在一些实施例中,所述差分光电探测器包括第一光电转换单元、第二光电转换单元和差分处理单元;所述第一光电转换单元用于将所述第一光信号转化为第一电信号,所述第二光电转换单元用于将所述第二光信号转化为第二电信号,所述差分处理单元用于对所述第一电信号和所述第二电信号进行差分处理。

15、本技术实施例的第二方面提供了一种光计算芯片,包括至少两个上述任一项所述的光学衍射神经网络,各所述光学衍射神经网络在同一平面阵列排布和/或沿高度方向堆叠设置。

16、本技术实施例的第三方面提供了一种基于如上述任一项所述的光学衍射神经网络的矩阵乘积计算方法,所述方法用于计算第一矩阵和第二矩阵的矩阵乘积,所述方法包括:

17、基于所述第一矩阵的任一元素作为目标元素进行复制以获得第一向量,并基于所述目标元素的列序数选取所述第二矩阵中对应的行向量作为第二向量;

18、基于所述加法计算单元对所述第一向量对应的光信号及所述第二向量对应的光信号进行加法调制并获取第一光信号,基于所述减法计算单元对所述第一向量对应的光信号和所述第二向量对应的光信号进行减法调制并获取第二光信号;基于所述差分光电探测器对所述第一光信号和所述第二光信号进行差分处理以获得目标输出向量,所述目标输出向量的行序数等于所述目标元素的行序数;

19、根据所述目标输出向量的行序数对全部的所述目标输出向量进行排序和合并以获得所述第一矩阵和所述第二矩阵的矩阵乘积。

20、在一些实施例中,根据所述目标输出向量的行序数对全部的所述目标输出向量进行排序和合并以获得所述第一矩阵和所述第二矩阵的矩阵乘积,包括:

21、将由相同所述第二向量参与获得的所述目标输出向量基于行序数排列以获得中间矩阵;

22、对全部第二向量对应的全部中间矩阵相加以获得输出矩阵,所述输出矩阵为所述第一矩阵和所述第二矩阵的矩阵乘积。

23、在一些实施例中,所述中间矩阵的秩为1。

24、在一些实施例中,根据所述目标输出向量的行序数对全部的所述目标输出向量进行排序和合并以获得所述第一矩阵和所述第二矩阵的矩阵乘积,包括:

25、将由位于同一行的所述目标元素参与获得的所述目标输出向量相加以获得中间输出向量,所述中间输出向量的行序数等于参与获得所述中间输出向量的目标元素的行序数;

26、基于行序数对所述中间输出向量进行排序以得到输出矩阵,所述输出矩阵为所述第一矩阵和所述第二矩阵的矩阵乘积。

27、在一些实施例中,所述光学衍射神经网络还包括光源,所述光源用于向所述加法计算单元和所述减法计算单元输入光信号;

28、基于所述第一矩阵的任一元素作为目标元素进行复制以获得第一向量,并基于所述目标元素的列序数选取所述第二矩阵中对应的行向量作为第二向量,包括:

29、将所述第一矩阵的各行中的各元素依次作为目标元素以获得所述第一向量;

30、将所述第一向量和对应的所述第二向量共同编码到所述光源输出光信号的时域。

31、本技术所提供的光学衍射神经网络用于计算第一矩阵和第二矩阵的乘积,光学衍射神经网络包括:加法计算单元被配置为对第一向量对应的光信号及第二向量对应的光信号进行加法调制并输出第一光信号;第一向量基于第一矩阵中的任一元素复制生成,第二向量为第二矩阵中对应第一矩阵中的任一元素列序数的行向量;减法计算单元与加法计算单元具有相同的输入光信号,减法计算单元被配置为对第一向量对应的光信号及第二向量对应的光信号进行减法调制并输出第二光信号;差分光电探测器用于将第一光信号和第二光信号转化成电信号并对其进行差分处理。本技术提供的光学衍射神经网络可用于计算第一矩阵和第二矩阵的乘积,通过动态改变第一矩阵和第二矩阵,可实现计算任意两个矩阵的乘积。本技术提供的光学衍射神经网络具有架构简单、加工难度低、生产成本低的优点。