一种光计算设备、计算方法以及计算系统

文档序号:467253 发布日期:2021-12-31 浏览:33次 >En<

阅读说明:本技术 一种光计算设备、计算方法以及计算系统 (Optical computing device, computing method and computing system ) 是由 张翔 云志强 董晓文 于 2020-06-30 设计创作,主要内容包括:一种光计算设备、计算方法以及计算系统,本申请中光计算设备包括管理单元、第一伊辛单元和第二伊辛单元。管理单元连接第一伊辛单元和第二伊辛单元。第一伊辛单元和第二伊辛单元接收第一组信号。第一伊辛单元根据第一组信号和第一问题子矩阵生成第一组反馈信号。第二伊辛单元根据第一组信号和第二问题子矩阵生成第二组反馈信号,第一问题子矩阵和第二问题子矩阵分别为问题矩阵的子矩阵,问题矩阵指示待计算的第一数据。管理单元接收包括第一组反馈信号和第二组反馈信号的第一多组反馈信号,根据第一多组反馈信号生成第一目标反馈信号。本申请提供的光计算设备采用多个伊辛单元并行运算的方式能够增加运算效率。(A light computing device includes a management unit, a first Italic unit, and a second Italic unit. The management unit is connected with the first Yixin unit and the second Yixin unit. The first and second Isci units receive a first set of signals. The first IshCi unit generates a first set of feedback signals based on the first set of signals and the first problem sub-matrix. The second IshCi unit generates a second group of feedback signals according to the first group of signals and a second problem sub-matrix, wherein the first problem sub-matrix and the second problem sub-matrix are sub-matrices of the problem matrix respectively, and the problem matrix indicates first data to be calculated. The management unit receives a first plurality of sets of feedback signals including a first set of feedback signals and a second set of feedback signals, and generates a first target feedback signal according to the first plurality of sets of feedback signals. The optical computing equipment provided by the application can increase the operation efficiency by adopting a mode of parallel operation of a plurality of Italian units.)

一种光计算设备、计算方法以及计算系统

技术领域

本申请涉及信息技术领域,尤其涉及一种光计算设备、计算方法以及计算系统。

背景技术

伊辛模型描述了一个包括大量自旋节点的复杂系统,每个自旋节点具有+1和-1的自旋状态,该系统中,自旋节点之间存在相互作用,自旋节点之间的相互作用可以改变自旋节点的自旋状态,基于自旋节点之间的相互作用,伊辛模型会逐步的实现退火过程,即该系统的哈密度量渐渐降低,直至收敛。组合优化问题可以通过转化变成伊辛模型,利用自旋节点和自旋节点之间的相互作用表征组合优化问题中的参数。

光伊辛机利用物理现象模拟求解伊辛模型。光伊辛机利用多个光信号之间的干涉作用模拟自旋节点之间的相互作用。其中,光信号的相位可以代表伊辛模型中的自旋节点的自旋状态,光信号之间的干涉作用可以实现光信号相位的改变,进而模拟伊辛模型中自旋节点自旋状态的改变。

当伊辛模型中自旋节点的数目变多时,光伊辛机在模拟求解伊辛模型时光伊辛机中的光信号的数量也需要增加,但目前采用的片上集成的方式构建的光伊辛机一次所能引入的光信号的数量受限,并不能实现模拟求解自旋节点数目较多的伊辛模型。

发明内容

本申请提供一种光计算设备、计算方法以及计算系统,用以使光伊辛机可以求解自旋节点数目较多的伊辛模型。

第一方面,本申请提供了一种光计算设备,该设备包括管理单元、第一伊辛单元和第二伊辛单元。管理单元连接第一伊辛单元和第二伊辛单元。光计算设备中可以包括多个伊辛单元(如包括m个伊辛单元,m为不小于2的正整数),这里仅以该多个伊辛单元中包括的第一伊辛单元和第二伊辛单元为例进行说明。

第一伊辛单元和第二伊辛单元可以同时接收第一组信号。第一伊辛单元根据第一组信号和第一问题子矩阵生成第一组反馈信号。第二伊辛单元根据第一组信号和第二问题子矩阵生成第二组反馈信号,其中,第一问题子矩阵和第二问题子矩阵分别为问题矩阵的不同子矩阵,问题矩阵用于指示待计算的第一数据。

每个伊辛单元可以输出一组反馈信号;管理单元可以接收各个伊辛单元输出的第一多组反馈信号,第一多组反馈信号包括第一组反馈信号和第二组反馈信号,根据第一多组反馈信号生成第一目标反馈信号。第一目标反馈信号用于指示光计算设备对第一数据执行伊辛计算的第一中间结果。

在本申请提供的光计算设备中,第一伊辛单元和第二伊辛单元可以并行运行,基于接收的第一组信号以及配置的问题子矩阵生成一组反馈信号,多个伊辛单元并行运算时,能够接收较多的光信号,支持模拟求解自旋节点数目较多的伊辛模型,同时也能够增加运算效率。

在一种可能的设计中,问题矩阵中除了第一问题子矩阵和第二问题子矩阵,还可以包括第三问题子矩阵和第四问题子矩阵。第三问题子矩阵、第四问题子矩阵与第一问题子矩阵和第二问题子矩阵不同。

第一伊辛单元和第二伊辛单元同时接收第一组信号。第一伊辛单元可以根据第一组信号以及第三问题子矩阵获得第三组反馈信号;第二伊辛单根据第一组信号以及第四问题子矩阵生成第四组反馈信号;其中,第三问题子矩阵和第四问题子矩阵为问题矩阵的不同子矩阵。

管理单元接收包括第三组反馈信号和第四组反馈信号的第二多组反馈信号,并根据第二多组反馈信号生成第二目标反馈信号。第二目标反馈信号用于指示光计算设备对第一数据执行伊辛计算的第二中间结果。

本申请提供的光计算设备中,问题矩阵分解为多组问题子矩阵,对于任一组问题子矩阵,多个问题子矩阵(如第一问题子矩阵和第二问题子矩阵、第三问题矩阵和第四问题子矩阵)可以预先分别配置在多个伊辛单元中,之后,多个伊辛单元基于接收的第一组信号以及配置的问题子矩阵并行生成多个组反馈信号。对于一个问题矩阵的相关运算,可以拆解为多次运算过程。例如多个伊辛单元分别对包括第一问题子矩阵和第二问题子矩阵在内的多个问题子矩阵的计算为一次运算,多个伊辛单元分别对包括第三问题子矩阵和第四问题子矩阵在内的多个问题子矩阵的计算为另一次运算。相应的,多个伊辛单元还可以基于其他问题子矩阵实现多次并行运算。根据这种方式,在对一个问题矩阵进行运算的过程中实现了对伊辛单元的分时复用。光计算设备进行该多次运算为完成了一轮运算过程。根据这种方式,在对待计算的数据进行伊辛计算的过程中,由于不仅采用多个伊辛单元并行进行计算,还可以对多个伊辛单元能够采用分时运算的方式(在一个时间段内完成一次运算过程,在另一个时间段内完成另一次运算过程)进行相关计算,从而能够提高伊辛单元的使用率,有效地增加模拟求解的伊辛模型中的自旋节点数目,增加光计算设备运算效率。

在一种可能的设计中,该光计算设备在进行了一轮运算过程之后,还可以继续基于该轮运算过程中生成的目标反馈信号继续进行多次运算过程(也即进行下一轮运算过程),下面以之后继续进行的多次运算过程中的第一次运算过程为例进行说明:管理单元可以将第一目标反馈信号发送至第一伊辛单元,将第二目标反馈信号发送至第二伊辛单元。

第一伊辛单元可以根据第一组信号、第一目标反馈信号以及第一问题子矩阵获得第五组反馈信号;第二伊辛单元可以根据第一组信号、第二目标反馈信号以及第二问题子矩阵生成第六组反馈信号。

管理单元可以接收包括第五组反馈信号和第六组反馈信号的第三多组反馈信号,并根据第三多组反馈信号生成第三目标反馈信号。第三目标反馈信号用于指示光计算设备对第一数据执行伊辛计算的第三中间结果。

在本申请提供的光计算设备中,光计算设备每完成多次运算过程(如m次运算过程)即完成了一轮运算过程,光计算设备可以进行多轮运算过程,实现多轮运算过程的迭代,以便可以准确的求解伊辛模型。

在一种可能的设计中,管理单元可以对问题矩阵进行分解,从问题矩阵中确定多组问题子矩阵,每组问题子矩阵包括多个问题子矩阵,如包括第一问题矩阵和第二问题子矩阵,或包括第三问题矩阵和第四问题子矩阵,管理单元可以将一组中的多个问题子矩阵分别配置在多个伊辛单元中。

在本申请提供的光计算设备中,管理单元可以实现问题矩阵的分解,以便光计算设备可以模拟求解节点较多的伊辛模型。

在一种可能的设计中,以第一伊辛单元为例,对第一伊辛单元和第二伊辛单元的结构进行说明:第一伊辛单元包括自旋信号生成模块和反馈计算模块。自旋信号生成模块能够生成一组自旋信号,反馈计算模块可以根据一组自旋信号生成一组反馈信号。

第一伊辛单元在生成第一组反馈信号时,自旋信号生成模块可以根据第一组信号获得第一组自旋信号;反馈计算模块可以根据第一组自旋信号以及第一问题子矩阵生成第一组反馈信号。

第一伊辛单元在生成第三组反馈信号时,自旋信号生成模块可以根据第一组信号获得第二组自旋信号;反馈计算模块可以根据第二组自旋信号以及第三问题子矩阵生成第三组反馈信号。

第一伊辛单元在生成第五组反馈信号时,自旋信号生成模块可以根据第一组信号、以及第一目标反馈信号获得第三组自旋信号;反馈计算模块可以根据第三组自旋信号以及第一问题子矩阵生成第五组反馈信号。

在本申请提供的光计算设备中,第一伊辛单元中的旋信号生成模块和反馈计算模块可以配合可以生成一组自旋信号以及一组反馈信号,能够简化反馈信号的生成过程。

在一种可能的设计中,自旋信号生成模块能够生成自旋信号,这里并不限定自旋信号生成模块的结构,例如,自旋信号生成模块包括相位调制器阵列和强度调制器阵列。自旋信号生成模块可以先对第一组信号进行强度调制,之后再进行相位调制。强度调制器阵列对第一组信号进行强度调制,获得第一组调制信号;之后,相位调制器阵列对第一组调制信号进行相位调制,获得第一组自旋信号。自旋信号生成模块也可以先对第一组信号进行相位调制,之后再进行强度调制。相位调制器阵列对第一组信号进行相位调制,获得第二组调制信号;之后,强度调制器阵列对第二组调制信号进行强度调制,获得第一组自旋信号。

在本申请提供的光计算设备中,自旋信号生成模块包括相位调制器阵列和强度调制器阵列,能够针对性的调整信号的相位和强度。

在一种可能的设计中,强度调制器阵列包括多个强度调制器,强度调制器可以为马赫-曾德尔干涉仪、或电吸收调制器,以适用于不同的应用场景。

在一种可能的设计中,反馈计算模块包括多个马赫-曾德尔干涉仪,以便可以较好的加载问题子矩阵(如第一问题子矩阵或第三问题子矩阵)。

在一种可能的设计中,管理单元在光计算设备每完成一轮运算过程后,可以根据获得多个目标反馈信号计算哈密顿量,哈密顿量用于表征第一数据对应的系统能量。当该哈密顿量不再降低,也即哈密顿量收敛时,光计算设备停止运算,管理单元可以根据各个伊辛单元中生成的多组自旋信号获得第一数据的计算结果。当该哈密顿量不收敛时,光计算设备继续运算,之后哈密顿量收敛。

第二方面,本申请提供了一种计算方法,有益效果可以参见第一方面的相关描述,此处不再赘述。该方法由光计算设备执行,光计算设备包括管理单元、第一伊辛单元和第二伊辛单元,管理单元连接第一伊辛单元和第二伊辛单元。

第一伊辛单元可以根据第一组信号以及第一问题子矩阵获得第一组反馈信号。

第二伊辛单元可以根据第一组信号以及第二问题子矩阵生成第二组反馈信号,其中,第一问题子矩阵和第二问题子矩阵分别为问题矩阵的不同子矩阵,问题矩阵用于指示待计算的第一数据。

管理单元接收包括第一组反馈信号和第二组反馈信号的第一多组反馈信号,并根据第一多组反馈信号生成第一目标反馈信号。

在一种可能的设计中第一伊辛单元可以根据第一组信号以及第三问题子矩阵获得第三组反馈信号;

第二伊辛单元可以根据第一组信号以及第四问题子矩阵生成第四组反馈信号;其中,第三问题子矩阵和第四问题子矩阵为问题矩阵的不同子矩阵;

管理单元可以接收包括第三组反馈信号和第四组反馈信号的第二多组反馈信号,并根据第二多组反馈信号生成第二目标反馈信号。

在一种可能的设计中,管理单元可以将第一目标反馈信号发送至第一伊辛单元,将第二目标反馈信号发送至第二伊辛单元。

第一伊辛单元可以根据第一组信号、第一目标反馈信号以及第一问题子矩阵获得第五组反馈信号。

第二伊辛单元可以根据第一组信号、第二目标反馈信号以及第二问题子矩阵生成第六组反馈信号。

管理单元可以接收包括第五组反馈信号和第六组反馈信号的第三多组反馈信号,并根据第三多组反馈信号生成第三目标反馈信号。

第三方面,本申请提供了一种计算系统,计算系统可以包括如第一方面或第一方面的任意一种可能的实现方式中的光计算设备以及激光器,该激光器用于向所述光计算设备发送第一组信号。

第四方面,本申请还提供了一种计算机程序产品,包括程序代码,所述程序代码包括的指令被计算机所执行,以实现上述第二方面或第二方面的任意一种实现方式中的计算方法。

第五方面,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储程序代码,所述程序代码包括的指令被计算机所执行,以实现前述第二方面或第二方面的任意一种实现方式中的计算方法。

附图说明

图1为本申请提供的一种光计算设备的结构示意图;

图2为本申请提供的一种问题子矩阵的分解示意图;

图3为本申请提供的一种自旋信号生成模块的结构示意图;

图4为本申请提供的一种反馈计算模块的结构示意图;

图5为本申请提供的一次运算过程的示意图;

图6为本申请提供的一轮运算过程的示意图;

图7为本申请提供的一种计算系统的示意图;

图8为本申请提供的一种计算方法示意图。

具体实施方式

如图1所示,为本申请实施例提供的一种光计算设备10,该光计算设备10包括管理单元100、m个伊辛单元200,m为不小于2的整数。需要说明的是,在本发明实施例中,光计算设备10可以是一种电路或芯片的形式,在此不对光计算设备10的具体实现形式进行限定。如图1所示,管理单元100能够对问题矩阵进行分解,可以将问题矩阵分解为m组问题子矩阵(在本申请实施例中问题子矩阵为问题矩阵的子矩阵),每组问题子矩阵中包括m个问题子矩阵,对于任一组问题子矩阵,管理单元100可以将该组问题子矩阵的m个问题子矩阵分别配置在m个伊辛单元200中。每个伊辛单元200上配置该组问题子矩阵中的一个问题子矩阵。

对于m个伊辛单元200中的任一伊辛单元200,可以根据接收第一组信号和配置的问题子矩阵生成一组反馈信号。具体的,伊辛单元200可以根据第一组信号(以及目标反馈信号),生成一组自旋信号,之后,还可以利用配置的问题子矩阵和该组自旋信号生成一组反馈信号。

管理单元100还可以接收每个伊辛单元200中输出的一组反馈信号。管理单元100可以根据获取的m组反馈信号生成目标反馈信号。当管理单元100生成了m个目标反馈信号后,可以将该m个目标反馈信号分别发送给m个伊辛单元200。每个伊辛单元200接收m个目标反馈信号的一个目标反馈信号。

具体到任一伊辛单元200的内部,每个伊辛单元200中包括自旋信号生成模块210以及反馈计算模块220。

当管理单元100将一组问题子矩阵的m个问题子矩阵分别配置在m个伊辛单元200中时,可以将该组问题子矩阵的m个问题子矩阵分别配置在m个伊辛单元200中的反馈计算模块220上。每个反馈计算模块220上配置该组问题子矩阵中的一个问题子矩阵。

当管理单元100将该m个目标反馈信号分别发送给m个伊辛单元200时,可以将m个目标反馈信号分别发送给每个伊辛单元200中的自旋信号生成模块210,每个自旋信号生成模块210接收m个目标反馈信号的一个目标反馈信号。

自旋信号生成模块210用于生成自旋信号,自旋信号生成模块210可以根据接收的第一组信号生成一组自旋信号,该组自旋信号可以传输至该伊辛单元200中的反馈计算模块220。

需要说明的是,当自旋信号生成模块210接收到目标反馈信号时,自旋信号生成模块210在生成一组自旋信号时,可以根据接收的第一组信号和目标反馈信号生成一组自旋信号。

该伊辛单元200中的反馈计算模块220可以根据接收的该组自旋信号和已配置的问题子矩阵生成一组反馈信号。

下面对本申请实施例中光计算设备10中信号的传输过程进行说明,在本申请实施例中,由于m个反馈计算模块220上同时配置的问题子矩阵为问题矩阵分解后的一组问题子矩阵。管理单元100每为m个反馈计算模块220配置一组问题子矩阵,m个伊辛单元200可以一同运行生成m组反馈信号,为方便说明,将管理单元100为m个反馈计算模块220配置一组问题子矩阵,m个伊辛单元200运行生成m组反馈信号的过程称为一次运算过程。管理单元100为m个反馈计算模块220配置m组问题子矩阵(也即配置了问题矩阵),m个伊辛单元200运行生成m*m组反馈信号的过程是进行了m次运算过程,这样的m次运算过程称为一轮运算过程。每次运算过程中,管理单元100接收每个伊辛单元200输出的一组反馈信号(共m组反馈信号),可以根据m组反馈信号生成一个目标反馈信号,当光计算设备10进行了m次运算过程,管理单元100可以共生成m个目标反馈信号,管理单元100可以将该m个目标反馈信号发送给m个伊辛单元200(自旋信号生成模块210)。之后,该光计算设备10还可以进行m次运算过程,也即再进行一轮运算过程,这样每轮运算过程产生的m个目标反馈信号发送给m个伊辛单元200(自旋信号生成模块210),以便进行下一轮运算过程,实现多轮运算过程的迭代。

下面分别对一次运算过程、一轮运算过程,以及多轮运算过程的迭代分别进行说明。

(1)、一次运算过程

管理单元100可以先对问题矩阵进行分解,这里并不限定管理单元100对问题矩阵分解的方式,凡是能够将问题矩阵分解为m组问题子矩阵的方式均适用于本申请实施例。本申请实施例并不限定管理单元100的结构,例如,管理单元100可以为现场可编程逻辑门阵列(field programmable gate array,FPGA),也可以为数字信号处理芯片(digitalsignal processing,DSP)。

问题矩阵用于指示待计算的第一数据,该第一数据也可以理解为由组合优化问题转换的伊辛模型,问题矩阵可以是对组合优化问题进行数据模拟提取后得到的矩阵,矩阵中的每个元素代表伊辛模型中不同自旋节点之间的相互作用,问题矩阵通常可以为对称矩阵。

如图2所示,为本申请实施例提供的一个问题矩阵分解示意图,管理单元100可以将该问题矩阵分解为m*m个问题子矩阵Jn*n,每个问题子矩阵Jn*n包括n*n个元素,每m个问题子矩阵划分为一组问题子矩阵。图2中以列为单位,将每列问题子矩阵为一组问题子矩阵。管理单元100可以将该组问题子矩阵依次配置给m个伊辛单元200(反馈计算模块220)。

在一次运算过程中,每个伊辛单元200可以同时接收第一组信号,第一组信号包括至少一个信号,在本申请实施例中,以第一组信号中包括n个信号为例进行说明。本申请实施例并不限定第一组信号中信号的类型,可以为光信号,也可以为电信号。每个伊辛单元200根据接收的第一组信号和配置的问题子矩阵生成一组反馈信号。

下面以管理单元100为多个伊辛单元200配置第一组问题子矩阵为例,对多个伊辛单元200中的第一伊辛单元和第二伊辛单元参与的一次运算过程进行说明,管理单元100将第一组问题子矩阵中的第一问题子矩阵配置在第一伊辛单元,管理单元100将第一组问题子矩阵中的第二问题子矩阵配置在第二伊辛单元。

第一伊辛单元可以根据第一组信号以及第一问题子矩阵获得第一组反馈信号;第二伊辛单元可以根据第一组信号以及第二问题子矩阵生成第二组反馈信号。

管理单元100接收多个伊辛单元200输出的多组反馈信号(为方便区分,这里将该多组反馈信号称为第一多组反馈信号),其中,该第一多组反馈信号包括第一组反馈信号和第二组反馈信号,管理单元100根据第一多组反馈信号生成第一目标反馈信号。

在图1所示的光计算设备中,每个伊辛单元200输出一组反馈信号,管理单元100可以接收m个伊辛单元200输出的一组反馈信号,共可以接收m组反馈信号,该m组反馈信号即为第一多组反馈信号,根据该m组反馈信号可生成第一目标反馈信号,该第一目标反馈信号为光计算设备对第一数据执行伊辛计算的第一中间结果。

对于任一伊辛单元200,伊辛单元200中的自旋信号生成模块210能够调整第一组信号中每个信号的相位和强度,输出一组自旋信号。一组自旋信号中包括n个自旋信号。

本申请实施例并不限定自旋信号生成模块210调整第一组信号中每个信号的相位和强度的方式,对于不同类型的信号,自旋信号生成模块210调整第一组信号中每个信号的相位和强度的方式也不同,下面以第一组信号中的信号为光信号(如光脉冲)为例,对自旋信号生成模块210调整第一组信号中每个信号的相位和强度的方式进行说明:

参见图3,为本申请实施例提供的一种自旋信号生成模块210的结构示意图,该自旋信号生成模块210中包括强度调制器阵列211和相位调制器阵列212。

强度调制器阵列211包括多个强度调制器,能够对接收的信号进行强度调制。相位调制器阵列212包括多个相位调制器,能够对接收的信号进行相位调制。

其中,强度调制器可以为马赫-曾德尔干涉仪(mach-zehnder interferometer,MZI)、电吸收调制器(electro-absorption modulator,EAM)、半导体光放大器(semiconductor optical amplifier,SOA)、或可调光衰减器(variable opticalattenuator,VOA)。相位调制器可以为波导。

本申请实施例并不限定对第一组信号进行强度调制和相位调制的先后顺序,可以先进行强度调制,再进行相位调制(强度调制器阵列211先接收第一组信号,对第一组信号进行强度调制,输出一组调制信号,相位调制器阵列212对强度调制器阵列211输出的一组调制信号进行相位调制,输出一组自旋信号);也可以先进行相位调制,再进行强度调制(相位调制器阵列212先接收第一组信号,对第一组信号进行相位调制,强度调制器阵列211对相位调制器阵列212输出的一组信号进行强度调制,输出一组自旋信号)。

若第一组信号中的信号为电信号,自旋信号生成模块210可以为FPGA或DSP,实现对电信号的强度调制。

上述说明中自旋信号生成模块210的结构仅是举例,本申请实施例并不限定自旋信号生成模块210的结构,凡是能够根据第一组信号生成一组自旋信号的模块均适用于本申请实施例。

自旋信号生成模块210输出一组自旋信号后。反馈计算模块220接收该组自旋信号,基于配置的问题子矩阵和该组自旋信号生成一组反馈信号。

本申请实施例并不限定反馈计算模块220基于问题子矩阵和一组自旋信号生成一组反馈信号的方式,对于不同类型的信号,反馈计算模块220基于问题子矩阵和一组自旋信号生成一组反馈信号的方式也不同,下面以一组自旋信号中的信号为光信号为例,对反馈计算模块220基于问题子矩阵和一组自旋信号生成一组反馈信号的方式进行说明。

参见图4,为本申请实施例提供的一种反馈计算模块220的结构示意图,反馈计算模块220包括相互作用矩阵221和光电探测器阵列222。

相互作用矩阵221包括多个马赫-曾德尔干涉仪(mach-zehnder interferometer,MZI),MZI的数量与问题子矩阵Jn*n中元素的数量有关,在本申请实施例中,相互作用矩阵221包括n2个马赫泽德干涉仪,利用n2个马赫泽德干涉仪构建问题子矩阵Jn*n。每个马赫泽德干涉仪上的相位调制器单元213可以利用薄膜铌酸锂实现,并通过异质集成技术将薄膜铌酸锂和传输波导集成在一起。利用薄膜铌酸锂的电光特性实现的Jn*n加载,利用传输波导可以实现问题子矩阵Jn*n的分时刷新。n2个马赫泽德干涉仪构建问题子矩阵Jn*n时,可以将问题子矩阵Jn*n分解为酋矩阵U、对角矩阵∑和转置酋矩阵U,一组自旋信号(可看作列向量)传输通过相互作用矩阵221后,完成了矩阵向量的乘法运算,并生成了一组反馈光信号。一组反馈光信号中包括n个反馈光信号。

光电探测器阵列222包括n个光电探测器,光电探测器可以将光信号转换为电信号,一组反馈光信号经过光电探测器阵列222,实现光电转换,输出一组反馈信号,一组反馈信号中包括n个反馈信号。

参见图5,以管理单元100为多个伊辛单元200配置第一组问题子矩阵为例,对第一伊辛单元中的反馈计算模块220和第二伊辛单元中的反馈计算模块220生成的一组反馈信号进行说明,第一伊辛单元中自旋信号生成模块210输出的第一组自旋信号为{σ1,σ2},第一伊辛单元中反馈计算模块220加载的第一问题子矩阵为输出的第一组反馈信号为第二伊辛单元中自旋信号生成模块210输出的第二组自旋信号为{σ3,σ4},第二伊辛单元中反馈计算模块220加载的第二问题子矩阵为输出的第二组反馈信号为

的计算方法如下:

利用JN*N为对称矩阵的特性(Jij=Jji),上述公式可以转换如下:

管理单元100获取m组反馈信号,对m组反馈信号进行求和,生成第一目标反馈信号。

仍以图5所示的第一组反馈信号和第二组反馈信号为例进行说明,管理单元100对求和,生成第一目标反馈信号

其中,N为m个自旋信号生成模块210输出的m组自旋信号中包括的自旋信号的总数m*n,在上述例子中,可以认为m和n均为2,N为4。

基于前述推理可知,任一目标反馈信号为包括n个信号的信号列,目标反馈信号中第j个信号fj如下:

其中,N为m个自旋信号生成模块210输出的m组自旋信号中包括的自旋信号的总数m*n,σi为m组自旋信号中包括所有自旋信号中第i个自旋信号。

由上可知,一个目标反馈信号为是自旋信号与问题矩阵中一组问题子矩阵的运算结果。在本申请实施例中,第一目标反馈信号为在此次运算过程中m个伊辛单元生成的自旋信号与第一组问题子矩阵的运算结果。

(2)、一轮运算过程

在一次运算过程中,m个反馈计算模块220中只加载了问题矩阵中的m个问题子矩阵,以光计算设备10进行一次运算过程的时间为t,光计算设备10进行第一次运算过程的时间为t1。m个反馈计算模块220中加载了问题矩阵中的m*m个问题子矩阵,则需要的时间为m*t。

下面以前述一次运算过程为第一次运算过程,对一轮运算过程中剩余的m-1次运算过程中的一次运算过程进行说明:

管理单元100将另一组问题子矩阵中的m个问题子矩阵分别配置在m个伊辛单元200中,每个伊辛单元200配置一个问题子矩阵;

在该次运算过程中,每个伊辛单元200再同时接收第一组信号,每个伊辛单元200根据接收的第一组信号和配置的问题子矩阵生成一组反馈信号。

以管理单元100为多个伊辛单元200配置第二组问题子矩阵为例,对多个伊辛单元200中的第一伊辛单元和第二伊辛单元参与的一次运算过程进行说明,管理单元100将第二组问题子矩阵中的第三问题子矩阵配置在第一伊辛单元,管理单元100将第二组问题子矩阵中的第四问题子矩阵配置在第二伊辛单元。第二组问题子矩阵和第一组问题子矩阵不同,也即第二问题子矩阵和第一问题子矩阵、与第三问题子矩阵和第四问题子矩阵是问题矩阵中不同的子矩阵。

第一伊辛单元可以根据第一组信号以及第三问题子矩阵获得第三组反馈信号;第二伊辛单元可以根据第一组信号以及第四问题子矩阵生成第四组反馈信号。

管理单元100接收多个伊辛单元200输出的多组反馈信号(为方便区分,这里将该多组反馈信号称为第二多组反馈信号),其中,该第二多组反馈信号包括第三组反馈信号和第四组反馈信号,管理单元100根据第二多组反馈信号生成第二目标反馈信号。

在图1所示的光计算设备中,每个伊辛单元200输出一组反馈信号,管理单元100可以接收m个伊辛单元200输出的一组反馈信号,共可以接收m组反馈信号,该m组反馈信号即为第二多组反馈信号,根据该m组反馈信号可生成第二目标反馈信号,该第二目标反馈信号为光计算设备对第一数据执行伊辛计算的第二中间结果。

在本申请实施例中,第二目标反馈信号为此次运算过程中m个伊辛单元生成的自旋信号与第二组问题子矩阵的运算结果。

对于任一伊辛单元200,伊辛单元200中的自旋信号生成模块210对第一组信号进行强度调制和相位调制,输出的一组自旋信号。自旋信号生成模块210输出的一组自旋信号的方式可以参见前述说明,此处不再赘述。

每个反馈计算模块220基于配置的问题子矩阵和一组自旋信号生成一组反馈信号;反馈计算模块220基于问题子矩阵和一组自旋信号生成一组反馈信号的方式,可以参见前述说明,此处不再赘述。

以光计算设备10每进行一次运算过程,m个反馈计算模块220中加载问题矩阵中一列问题子矩阵为例对光计算设备10的一轮计算过程为例进行说明。

如图6所示,光计算设备10的一轮计算过程中m次运算过程中,每次运算过程中m个反馈计算模块220中加载的问题子矩阵。

从图6中,在t1时间内,光计算设备10进行第一次运算过程中,m个反馈计算模块220加载问题矩阵中的第一列问题子矩阵,m个反馈计算模块220输出m组反馈信号{f11,f21,...fm1},其中,f11为第一个反馈计算模块220在t1时间内输出的一组反馈信号,f21为第二个反馈计算模块220在t1时间内输出的一组反馈信号,fm1为第m个反馈计算模块220在t1时间内输出的一组反馈信号;管理单元100对m组反馈信号{f11,f21,...fm1}求和,输出一个目标反馈信号f1。目标反馈信号f1为一个包括n个信号的信号列。{f11,f21,…fm1}。

在t2时间内,光计算设备10进行第二次运算过程中,m个反馈计算模块220加载问题矩阵中的第2列问题子矩阵,m个反馈计算模块220输出m组反馈信号{f12,f22,...fm2},其中,f12为第一个反馈计算模块220在t2时间内输出的一组反馈信号,f22为第二个反馈计算模块220在t2时间内输出的一组反馈信号,fm2为第m个反馈计算模块220在t2时间内输出的一组反馈信号;管理单元100对m组反馈信号{f12,f22,...fm2}求和,输出一个目标反馈信号f2。目标反馈信号f2为一个包括n个信号的信号列。

在tm时间内,光计算设备10进行第m次运算过程中,m个反馈计算模块220加载问题矩阵中的第m列问题子矩阵,m个反馈计算模块220输出m组反馈信号{f1m,f2m,...fmm},其中,f1m为第一个反馈计算模块220在tm时间内输出的一组反馈信号,f2m为第二个反馈计算模块220在tm时间内输出的一组反馈信号,fmm为第m个反馈计算模块220在tm时间内输出的一组反馈信号。管理单元100,对m组反馈信号{f1m,f2m,...fmm}求和,输出一个目标反馈信号fm。目标反馈信号fm为一个包括n个信号的信号列。

光计算设备10的第m次运算过程结束后,光计算设备10完成一轮运算过程,在该轮运算过程中,光计算设备10累计生成m个目标反馈信号{f1,f2,...fm}。

(3)、多轮运算过程迭代

光计算设备10完成一轮运算过程,管理单元100会生成m个目标反馈信号{f1,f2,...fm},为了进行下一轮计算过程,管理单元100可以将m个目标反馈信号{f1,f2,...fm}分别发送给m个伊辛单元200。一个伊辛单元200接收一个目标反馈信号。

具体的,管理单元100可以将m个目标反馈信号{f1,f2,...fm}按照m个伊辛单元200的排列顺序,依次发送给m个伊辛单元200。例如,管理单元100可以将目标反馈信号f1发送给第一个伊辛单元200,管理单元100可以将目标反馈信号f2发送给第二个伊辛单元200。管理单元100可以将目标反馈信号fm发送给第m个伊辛单元200。

管理单元100在将一个目标反馈信号发送给一个伊辛单元200时,可以将该目标反馈信号发送给该伊辛单元200的自旋信号生成模块210。

以管理单元100将目标反馈信号f1发送给一个自旋信号生成模块210上的方式为例进行说明,目标反馈信号f1包括n个信号,管理单元100将该n个信号分别加载在该自旋信号生成模块210中强度调制器阵列211的n个强度调制器上,一个强度调制器上加载n个信号中一个信号。

管理单元100在将m个目标反馈信号{f1,f2,...fm}分别发送给m个伊辛单元200(自旋信号生成模块210)后,光计算设备10可以进行m次运算过程,也即一轮运算过程。

光计算设备10可以进行一轮运算过程的方式可以参见前述说明,这里需要说明的是,由于每个自旋信号生成模块210上加载了一个目标反馈信号,每个自旋信号生成模块210在一次运算过程中,对第一组信号进行强度调制和相位调制时,可以基于该目标反馈信号对第一组信号进行强度调制和相位调制。

自旋信号生成模块210基于该目标反馈信号对第一组信号进行强度调制和相位调制时,若第一组信号中的信号为光信号,自旋信号生成模块210可以根据目标反馈信号的振幅和相位对第一组信号中的光信号分别进行强度和相位调制。若第一组信号中信号为电信号,自旋信号生成模块210可以根据目标反馈信号的振幅对第一组信号中的电信号进行强度调制。每个伊辛单元200根据接收的第一组信号、目标反馈信号和配置的问题子矩阵生成一组反馈信号。

下面以管理单元100为多个伊辛单元200配置第一组问题子矩阵为例,对多个伊辛单元200中的第一伊辛单元和第二伊辛单元参与的一次运算过程进行说明,管理单元100将第一组问题子矩阵中的第一问题子矩阵配置在第一伊辛单元,管理单元100将第一组问题子矩阵中的第二问题子矩阵配置在第二伊辛单元。管理单元100将第一目标反馈信号发送给第一伊辛单元,管理单元100将第二目标反馈信号发送给第二伊辛单元。

第一伊辛单元可以根据第一组信号、第一目标反馈信号以及第一问题子矩阵获得第五组反馈信号;第二伊辛单元可以根据第一组信号、第二目标反馈信号以及第二问题子矩阵生成第六组反馈信号。

管理单元100接收多个伊辛单元200输出的多组反馈信号(为方便区分,这里将该多组反馈信号称为第三多组反馈信号),其中,该第三多组反馈信号包括第五组反馈信号和第六组反馈信号,管理单元100根据第三多组反馈信号生成第三目标反馈信号。

对于任一伊辛单元200,伊辛单元200中的自旋信号生成模块210根据一组信号和目标反馈信号输出一组自旋信号。

伊辛单元200中的反馈计算模块220基于问题子矩阵和该组自旋信号生成一组反馈信号;

管理单元100接收m个所述伊辛单元200中的反馈计算模块220输出的一组反馈信号,可以对m个组反馈信号求和生成第三目标反馈信号。

在图1所示的光计算设备中,每个伊辛单元200输出一组反馈信号,管理单元100可以接收m个伊辛单元200输出的一组反馈信号,共可以接收m组反馈信号,该m组反馈信号即为第三多组反馈信号,根据该m组反馈信号可生成第三目标反馈信号,该第三目标反馈信号为光计算设备对第一数据执行伊辛计算的第三中间结果。

在本申请实施例中,第三目标反馈信号为此次运算过程中m个伊辛单元生成的自旋信号与第一组问题子矩阵的另一个运算结果。这里的自旋信号是基于第一目标反馈信号生成的。

在每一轮运算过程结束后,管理单元100可以利用该轮确定的m个目标反馈信号计算哈密度量H,哈密度量其中,σi和σj是该轮运算过程中,自旋信号生成模块210输出的一组自旋信号中的自旋信号。

哈密度量H指示该第一数据对应的系统能量,当第一数据对应的系统能量不再降低,也即伊辛模型的系统能量不再降低,也即哈密度量H收敛,不再变小时,光计算设备10所求解的伊辛模型完成收敛,光计算设备10可以停止运算。此时,各个自旋信号生成模块210输出的一组自旋信号即为最优解。当第一数据对应的系统能量仍降低,也即伊辛模型的系统能量降低,也即哈密度量H不收敛,继续变小,光计算设备10仍需要继续进行运算,也即继续进行一轮运算,直至哈密度量H收敛。

如图7所示,为本申请实施例提供的一种计算系统,该计算系统中包括光计算设备10和激光器20,该激光器20能够输出第一组信号,以便光计算设备10接收该第一组信号,进行运算。

为了使方案描述更加清楚,下面将结合前面的实施例,以如图8所示的计算方法为例,对本发明实施例中提供的光计算设备的工作流程进行概括介绍。如图8所示,在工作过程中:管理单元100对问题矩阵进行分解,从问题矩阵中确定第一组问题子矩阵。管理单元100将第一组问题子矩阵中的第一问题子矩阵配置在第一伊辛单元中。将第一组问题子矩阵中的第二问题子矩阵配置在第二伊辛单元中。

第一伊辛单元接收第一组信号(步骤1),根据接收的第一组信号和第一问题子矩阵生成第一组反馈信号(步骤2)。

第一伊辛单元接收第一组信号(步骤3),根据接收的第一组信号和第二问题子矩阵生成第一组反馈信号(步骤4)。

管理单元100接收第一多组反馈信号(其中,包括第一组反馈信号和第二组反馈信号)(步骤5),根据第一多组反馈信号生成第一目标反馈信号(步骤6)。

上述过程为光计算设备中一次运算过程的执行方式,光计算设备可以继续执行m-1次运算过程,其中,一次运算过程如下:

管理单元100将第二组问题子矩阵中的第三问题子矩阵配置在第一伊辛单元,管理单元100将第二组问题子矩阵中的第四问题子矩阵配置在第二伊辛单元。

第一伊辛单元可以根据第一组信号以及第三问题子矩阵获得第三组反馈信号;第二伊辛单元可以根据第一组信号以及第四问题子矩阵生成第四组反馈信号。

管理单元100接收第二多组反馈信号其中,该第二多组反馈信号包括第三组反馈信号和第三组反馈信号,管理单元100根据第二多组反馈信号生成第二目标反馈信号。

前述说明中,光计算设备的m次运算过程为光计算设备执行的一轮运算过程,光计算设备可以采用类似的方式进行多轮运行过程,将前述过程作为第一轮运算过程,下面对光计算设备执行的下一轮运算过程中的第一次运算过程为例对光计算设备在下一轮运算过程中的任一运算过程进行说明:

管理单元100将第一目标反馈信号发送给第一伊辛单元,管理单元100将第二目标反馈信号发送给第二伊辛单元。

第一伊辛单元可以根据第一组信号、第一目标反馈信号以及第一问题子矩阵获得第五组反馈信号;第二伊辛单元可以根据第一组信号、第二目标反馈信号以及第二问题子矩阵生成第六组反馈信号。

管理单元100接收多个伊辛单元200输出的多组反馈信号(为方便区分,这里将该多组反馈信号称为第三多组反馈信号),其中,该第三多组反馈信号包括第五组反馈信号和第六组反馈信号,管理单元100根据第三多组反馈信号生成第三目标反馈信号。

本发明实施例提供的光计算设备,将求解伊辛模型的过程分解为一轮或多轮运算过程,每轮运算过程包括m次运算过程(分时计算),每次运算过程中可以利用m个伊辛单元并行运算的方式实现(并行计算)。能够支持自旋节点数目较多的伊辛模型的求解,提高运算效率。

此外,由于本发明实施例提供的光计算设备结构简单,能够在片上实现,并且,整个计算过程通过光信号或电信号的方式实现,信号传输速度快,计算速度也得到很大提升,因此,本发明实施例提高的计算设备可以应用于神经网络系统中,例如,可以用于实现神经网络系统中的反馈控制。

需要说明的是,本申请所提供的实施例仅仅是示意性的。所属领域的技术人员可以清楚的了解到,为了描述的方便和简洁,在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。在本发明实施例、权利要求以及附图中揭示的特征可以独立存在也可以组合存在。在本发明实施例中以硬件形式描述的特征可以通过软件来执行,反之亦然。在此不做限定。

20页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种时钟相位调整方法及相关装置

网友询问留言

已有0条留言

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

精彩留言,会给你点赞!