CN113688353A - 光计算芯片以及光计算装置 - Google Patents
光计算芯片以及光计算装置 Download PDFInfo
- Publication number
- CN113688353A CN113688353A CN202010421892.8A CN202010421892A CN113688353A CN 113688353 A CN113688353 A CN 113688353A CN 202010421892 A CN202010421892 A CN 202010421892A CN 113688353 A CN113688353 A CN 113688353A
- Authority
- CN
- China
- Prior art keywords
- optical signal
- data
- data matrix
- optical
- modulator
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/15—Correlation function computation including computation of convolution operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computational Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Optical Modulation, Optical Deflection, Nonlinear Optics, Optical Demodulation, Optical Logic Elements (AREA)
- Optical Communication System (AREA)
Abstract
本申请公开了一种光计算芯片以及光计算装置,属于光计算技术领域。光计算芯片通过光信号发射模块发射第一数据矩阵中每个数据的多个角度离散的第一光信号,由第一调制阵列根据调制的第二数据矩阵中的数据,输出多个第二光信号,合束器将从同一角度进入合束器的多个第二光信号发送给同一个探测器,从而探测器阵列根据多个探测器接收到的多个第二光信号的总光强,获得第一数据矩阵和第二数据矩阵的卷积计算结果。本申请提供的光计算芯片,在执行卷积计算的过程中,无需分解第一数据矩阵和第二数据矩阵的卷积计算过程,就可以快速执行完第一数据矩阵和第二数据矩阵的之间的卷积计算,实现卷积计算过程所占用的时间较短,提高了卷积计算的效率。
Description
技术领域
本申请涉及光计算技术领域,特别涉及一种光计算芯片以及光计算装置。
背景技术
随着光学集成技术的快速发展,多个光学器件可以集成在一个芯片中,由多个光学器件通过对光信号的处理,实现数学计算,也即是进行了光计算。
例如包括马赫-曾德尔干涉仪(Mach–Zehnder interferometer,MZI)调制阵列的芯片,该芯片可以用于卷积计算,其中,输入矩阵与权值矩阵之间的卷积过程可以拆分为多个输入数据与多个权值之间的乘加计算,而MZI调制阵列中的每个MZI调制器通过对输入的光信号进行调制,以实现一个输入数据和一个权值的乘积,芯片中的控制器可以对多个MZI调制器所实现的乘积进行求和,进而可以实现多个输入数据与多个权值之间的乘加计算,以获取输入矩阵与权值矩阵之间的卷积结果。
由于芯片内MZI调制阵列中MZI调制器个数有限,MZI调制阵列每次所能计算出的乘积的数目有限,当输入矩阵中输入数据较多时,需要在芯片上通过MZI调制阵列进行多次光计算,才能获取到卷积过程所涉及到的所有乘积,控制器才能根据卷积过程所涉及到的所有乘积,获取最终的卷积结果,从而导致卷积计算过程所占用的时间较长,卷积计算的效率低。
发明内容
本申请实施例提供了一种光计算芯片以及光计算装置,能够提高卷积计算的效率。该技术方案如下:
第一方面,提供了一种光计算芯片,所述芯片包括光信号发射模块、第一调制器阵列、合束器以及探测器阵列。所述光信号发射模块用于根据第一数据矩阵中的每个数据生成多个角度离散的第一光信号;所述第一调制器阵列包括多个第一调制器,每个第一调制器用于接收所述第一数据矩阵中的至少两个数据的一个第一光信号,并根据所述第一调制器上调制的第二数据矩阵中的数据输出多个第二光信号,其中,所述多个第二光信号中的每个第二光信号用于指示所述第一数据矩阵中的一个数据和所述第二数据矩阵中的一个数据的乘积;所述合束器用于接收所述第一调制器阵列输出的多个第二光信号,并将所述多个第二光信号发送给所述探测器阵列中的多个探测器,其中,从同一角度进入所述合束器的多个第二光信号被发送给同一个探测器;所述探测器阵列包括所述多个探测器,用于根据所述多个探测器接收到的多个第二光信的总光强获得计算结果,其中,所述计算结果用于指示所述第一数据矩阵和所述第二数据矩阵的卷积计算结果。
光计算芯片通过光信号发射模块发射第一数据矩阵中每个数据的多个角度离散的第一光信号,由第一调制阵列根据调制的第二数据矩阵中的数据,输出多个角度离散的第二光信号,合束器将从同一角度进入合束器的多个第二光信号发送给同一个探测器,从而由探测器阵列根据多个探测器接收到的多个第二光信号的总光强,获得第一数据矩阵和第二数据矩阵的卷积计算结果。本发明实施例提供的光计算芯片,在计算过程中,无需分解第一数据矩阵和第二数据矩阵的卷积计算过程以执行多次计算,可以只需要执行一次计算,就可以以光速执行完第一数据矩阵和第二数据矩阵的之间的卷积计算。实现卷积计算过程所占用的时间较短,提高了卷积计算的效率。
在一种可能实现方式中,所述探测阵列中一个探测器接收的多个第二光信号的总光强用于指示所述探测器接收的多个第二光信号所指示的数据的乘积的和。
在一种可能实现方式中,所述光信号发射模块包括:
发光阵列,包括多个光信号发射器,每个光信号发射器用于根据所述第一数据矩阵中的一个数据生成第四光信号;
分光阵列,用于接收所述第一数据矩阵中的每个数据的第四光信号,对接收到的每个第四光信号进行分光,得到一个数据的多个角度离散的第一光信号,输出得到的多个角度离散的第一光信号。
在一种可能实现方式中,所述光信号发射模块包括:
面光源,用于发射目标光信号;
第二调制器阵列,包括多个第二调制器,每个第二调制器用于接收所述目标光信号,根据所述第二调制器上调制的所述第一数据矩阵中的数据输出一个第四光信号;
分光阵列,用于接收每个第二调制器输出的第四光信号,对接收到的每个第四光信号进行分光,得到一个数据的多个角度离散的第一光信号,输出得到的多个角度离散的第一光信号。
在一种可能实现方式中,所述分光阵列包括多个分光组件;
每个分光组件,用于接收所述第一数据矩阵中的一个数据的第四光信号,对接收到第四光信号进行分光,得到一个数据的多个角度离散的第一光信号,输出得到的多个角度离散的第一光信号。
在一种可能实现方式中,所述芯片还包括:
微透镜阵列,包括多个微透镜,每个微透镜的中心位于所述分光阵列的至少一个发射中心与至少一个第一调制器的中心之间的连线上;
每个微透镜用于接收所述至少一个发射中心输出的第一光信号,对接收到每个第一光信号进行收束,透射收束后的第一光信号。
第二方面,提供了一种光计算装置,所述装置包括处理器以及第一方面提供的任一种芯片;
所述处理器用于获取第一数据矩阵以及第二数据矩阵,向所述芯片发送所述第一数据矩阵以及所述第二数据矩阵,并接收所述芯片发送的所述第一数据矩阵和所述第二数据矩阵的卷积计算结果。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种光计算芯片的结构示意图;
图2是本申请实施例提供的一种卷积计算过程的示意图;
图3是本申请实施例提供的一种光信号发射模块的示意图;
图4是本申请实施例提供的一种第一光信号发射示意图;
图5是本申请实施例提供的一种反射式合束器的示意图;
图6是本申请实施例提供的一种互连式合束器的示意图;
图7是本申请实施例提供的一种光计算装置的示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
图1是本申请实施例提供的一种光计算芯片的结构示意图,参见图1,光计算芯片100包括:
光信号发射模块101,用于根据第一数据矩阵中的每个数据生成多个角度离散的第一光信号;
第一调制器阵列102,包括多个第一调制器1021,每个第一调制器1021用于接收该第一数据矩阵中的至少两个数据的一个第一光信号,并根据该第一调制器1021上调制的第二数据矩阵中的数据输出多个第二光信号,其中,该多个第二光信号中的每个第二光信号用于指示该第一数据矩阵中的一个数据和该第二数据矩阵中的一个数据的乘积;
合束器103,用于接收该第一调制器阵列102输出的多个第二光信号,并将该多个第二光信号发送给探测器阵列104中的多个探测器1041,其中,从同一角度进入该合束器103的多个第二光信号被发送给同一个探测器1041;
探测器阵列104,包括多个探测器1041,用于根据该多个探测器1041接收到的多个第二光信号的总光强获得计算结果,其中,该计算结果用于指示该第一数据矩阵和该第二数据矩阵的卷积计算结果。
其中,该芯片100可以用于对该第一数据矩阵和第二数据矩阵进行卷积计算。当第一数据矩阵由输入数据组成时,该第一数据矩阵也即是输入矩阵,当第一数据矩阵由权值组成时,该第一数据矩阵也即是卷积核。当第二数据矩阵由输入数据组成时,该第二数据矩阵也即是输入矩阵,当第二数据矩阵由权值组成时,该第二数据矩阵也即是卷积核。输入矩阵中的输入数据可以是任一类型的数据,可以是图像数据,也可以是音频数据,也可以是文本数据,本申请实施例对该输入矩阵中的输入数据的类型以及形式不做具体限定。第一数据矩阵中每个数据均为大于或等于0,第二数据矩阵中的每个数据均为大于或等于0。需要说明的是,本申请实施例以第一数据矩阵为输入矩阵,第二数据矩阵为卷积核为例进行说明。
第一数据矩阵中的一个数据的多个角度离散的第一光信号可以视为一个光信号组,一个光信号组中每个第一光信号均用于指示第一数据矩阵中的同一个数据,每个第一光信号的光强均正比于该数据。该光信号组中各个第一光信号的光强可以相同也可以不同,只要保证该光信号组中的每个第一光信号在达到第一调制器阵列102时,每个第一光信号的光强相同即可,以保证第一调制器阵列102接收到的该组光信号中每个第一光信号均能指示相同的数据。其中,一个光信号的光强也即是该光信号的发光强度。
该光信号发射模块101输出的多个光信号组的排列方式和该第一数据矩阵中数据的排列方式相同。例如,第一数据矩阵为A=[a1,a2],则光信号发射模块101可以发射2个光信号组,这个2个光信号组为一行,其中,第1个光信号组中的每个第一光信号均用于指示数据a1,第2个光信号组中的每个第一光信号均用于指示数据a2。
第一数据矩阵与第二数据矩阵的卷积计算过程可以包括多个滑动过程,在每个滑动过程完成后,第二数据矩阵执行一次卷积子运算,并将每次卷积子运算的卷积子结果组成卷积结果矩阵,卷积结果矩阵也即是第一数据矩阵和第二数据矩阵的卷积计算结果。例如图2所示的本申请实施例提供的一种卷积计算过程的示意图,以第一数据矩阵为A=[a1,a2],第二数据矩阵为B=[b1,b2,b3],第一数据矩阵A的滑动步长为1为例,在对第一数据矩阵A和第二数据矩阵B进行卷积计算过程中,第一数据矩阵A在第二数据矩阵B上滑动4次,第二数据矩阵B执行了4次卷积子运算,具体过程为:第一数据矩阵A在第二数据矩阵B上滑动一次后,第二数据矩阵B执行第1次卷积子运算[a2*b1=LR(1)];第一数据矩阵A在第二数据矩阵B上再向右滑动一次,第二数据矩阵B执行第2次卷积子运算[a1*b1+a2*b2=LR(2)];第一数据矩阵A在第二数据矩阵B上再向右滑动一次,第二数据矩阵B执行第3次卷积子运算[a1*b2+a2*b3=LR(3)];第一数据矩阵A在第二数据矩阵B上再向右滑动一次,第二数据矩阵B执行第4次卷积子运算[a1*b3=LR(4)];其中,LR(1)、LR(2)、LR(3)以及LR(4),分别为第二数据矩阵B执行4次卷积子运算的运算结果,也即是4次卷积子运算的卷积子结果,LR(1)、LR(2)、LR(3)以及LR(4)所组成的卷积结果矩阵也即是对第一数据矩阵A和第二数据矩阵B的卷积计算结果。
一个光信号组中各个第一光信号为多个角度离散的光信号,也即该光信号组中各个第一光信号的发射角度不同,每个发射角度对应第二数据矩阵执行一次卷积子运算过程,也即是,每个第一光信号的发射角度对应第一数据矩阵在第二数据矩阵上的一次滑动过程。需要说明的是,相同卷积子运算过程所对应的发射角度相同,不同卷积子运算过程所对应的发射角度不同,本申请实施例对每个卷积子运算过程所对应的发射角度不做具体限定。仍以图2为基础,以第二数据矩阵B执行的4次卷积子运算分别对应发射角度30度、60度、90度以及120度为例,则用于指示数据a1的一个光信号组可以包括4个第一光信号,这4个第一光信号的发射角度分别为30度、60度、90度以及120度,其中,30度对应第二数据矩阵B执行的第1次卷积子运算过程,60度对应第二数据矩阵B执行的第2次卷积子运算过程,90度对应第二数据矩阵B执行的第3次卷积子运算过程,120度对应第二数据矩阵B执行的第4次卷积子运算过程。
第一调制器阵列102中第一调制器1021的排列与第二数据矩阵中数据的排列相同,每个第一调制器1021对应第二数据矩阵中的一个数据,控制每个第一调制器1021的第一电信号用于指示每个第一调制器1021所对应的一个数据。以第二数据矩阵B为例,图1中第一调制器阵列102包括1行3列的第一调制器1021,位于第1列的第一调制器1021对应第二数据矩阵B中的数据b1,位于第2列的第一调制器1021对应第二数据矩阵B中的数据b2,位于第3列的第一调制器1021对应第二数据矩阵B中的数据b3。一个第二光信号对应一个第一光信号,该第二光信号为对应的第一光信号经第一调制器1021调制后的光信号,该第二光信号的发射角度和对应的第一光信号的发射角度相同,也即是第一调制器1021对第一光信号进行调制时不改变第一光信号的发射角度,仅改变第一光信号的光强。由于输入一个第一调制器1021的第一电信号用于指示该第一调制器1021所对应的第二输入矩阵中的一个数据,第一光信号又用于指示一个第一数据矩阵中的一个数据,该第一调制器1021可以基于用于指示第二输入矩阵中的一个数据的第一电信号对该第一光信号进行调制,所得到的第二光信号可以用于指示该第一数据矩阵中的一个数据与第二输入矩阵中的一个数据的乘积。由于一个发射角度对应第二数据矩阵执行一次卷积子运算过程,且一个第二光信号用于指示第一数据矩阵中的一个数据和第二数据矩阵中的第一个数据的乘积,且每个第一调制器1021可以对多个第一光信号进行调制,从而可以达到复用一个第一调制器1021的目的。
合束器103将从同一角度进入合束器103的多个第二光信号发送给同一个探测器1041,以便该探测器1041可以探测这多个第二光信号的总光强,该总光强可以用于指示这多个第二光信号所指示的数据的乘积的和,也即是用于指示第二数据矩阵执行一次卷积子运算的卷积子结果,则多个探测器1041探测到的多个总光强可以用于指示第一数据矩阵和第二数据矩阵的卷积计算结果。
为了进一步说明该芯片100各个部分的具体结构以及各个部分的工作原理,参见下述1.1-1.4中的内容。
1.1、光信号发射模块101
在一种可能的实现方式中,该光信号发射模块101包括:
发光阵列1011,包括多个光信号发射器1011a,每个光信号发射器1011a用于根据该第一数据矩阵中的一个数据生成第四光信号;
分光阵列1012,用于接收该第一数据矩阵中的每个数据的第四光信号,对接收到的每个第四光信号进行分光,得到一个数据的多个角度离散的第一光信号,输出得到的多个角度离散的第一光信号。
其中,发光阵列1011中光信号发射器1011a的排列方式与第一数据矩阵中数据的排列方式相同,每个光信号发射器1011a对应第一数据矩阵中的一个数据,仍以第一数据矩阵A为基础,参见图1中的发光阵列1011包括一行2列的光信号发射器1011a,其中位于第1列的光信号发射器1011a可以对应数据a1,位于第2列的光信号发射器1011a可以对应数据a2。对于任一光信号发射器1011a,输入该光信号发射器1011a的第二电信号与该光信号发射器1011a对应的数据对应,也即是第二电信号对应第一输入矩阵中的一个数据,该光信号发射器1011a基于该第二电信号所输出的一个第四光信号用于指示第一数据矩阵中的一个数据,以实现该光信号发射器1011a根据第一数据矩阵中的一个数据生成第四光信号,该第四光信号的光强以及该第二电信号均可以正比于该第一数据矩阵中的一个数据,以达到与该第一数据矩阵中的一个数据对应的目的。
发光阵列1011所在的平面可以和分光阵列1012所在的平面平行,每个光信号发射器1011a输出的第四光信号垂直于分光阵列1012所在的平面。制备发光阵列1011所用的发光材料可以是III-V族化合物,例如镓(Ga)、铟(In)、铝(Al)、砷(As)、磷(P)以及锑(Sb)等元素组成的二元、三元或四元化合物,化合物内化学元素之间的配比不同,所制备的发光材料发射的光信号的波长不同,也即是材料不同决定了发光阵列1011的工作波长的差别。
在一种可能的实现方式中,光信号发射器1011a可以是硅基的量子点激光器。在一种可能的实现方式中,发光阵列1011还可以是垂直共振腔表面放射激光器(verticalcavity surface emitting laser,VCSEL)阵列,每个光信号发射器1011a为一个VCSEL。该发光阵列1011还可以是基于VCSEL阵列技术,去除谐振腔结构后所制备的垂直发射的发光二极管(light emitting diode,LED)阵列,垂直发射的LED阵列中的LED也即是光信号发射器1011a。
在一种可能的实现方式中,参见图3所示的本申请实施例提供的一种光信号发射模块的示意图,图3中的光信号发射模块101包括:
面光源1013,用于发射目标光信号;
第二调制器阵列1014,包括多个第二调制器1014a,每个第二调制器1014a用于接收该目标光信号,根据该第二调制器1014a上调制的该第一数据矩阵中的数据输出一个第四光信号;
分光阵列1012,用于接收每个第二调制器1014a输出的第四光信号,对接收到的每个第四光信号进行分光,得到一个数据的多个角度离散的第一光信号,输出得到的多个角度离散的第一光信号。
面光源1013的大小可以和第二调制器阵列1014的大小相同,该面光源1013可以是一个立方体,该面光源1013的发光面可以和第二调制器阵列1014所在的平面平行,该面光源1013可以向第二调制器阵列1014发射目标光信号,发射的目标光信号垂直于第二调制器阵列1014所在的平面。
该第二调制器阵列1014中第二调制器1014a的排列方式和与第一数据矩阵中数据的排列方式相同,每个第二调制器1014a对应第一数据矩阵中的一个数据,仍以第一数据矩阵A为例,第二调制器阵列1014包括一行2列的第二调制器1014a,其中位于第1列的第二调制器1014a可以对应数据a1,位于第2列的第二调制器1014a可以对应数据a2。对于任一第二调制器1014a,输入该第二调制器1014a的第三电信号与该第二调制器1014a对应的数据对应,也即是第三电信号对应第一数据矩阵中的一个第一数据,该第三电信号也可以正比于该数据,以达到与该数据对应的目的。该第二调制器1014a基于该第三电信号,对面光源1013所发射出的目标光信号进行调制,得到一个第四光信号,向分光阵列1012垂直发射该第四光信号。
该分光阵列1012对接收到每个光信号的分光效果可以相同也可以不同,在一种可能的实现方式中,当该分光阵列1012对接收到每个第四光信号的分光效果均相同时,一个光信号组中第一光信号的总个数等于第一目标个数,也即是一个数据的多个角度离散的第一光信号的数目为第一目标个数,该第一目标个数为该第二数据矩阵执行卷积子运算的总次数。
仍以图2中第一数据矩阵A和第二数据矩阵B的卷积计算过程为例,第二数据矩阵B执行了4次卷积子运算,则第一目标个数为4,分光阵列1012接收到第四光信号a1和第四光信号a2,第四光信号a1用于指示数据a1,第四光信号a2用于指示数据a2,分光阵列1012对第四光信号a1进行分光得到4个第一光信号(这4个第一光信号也即是一个光信号组),分别为第一光信号a11-a14,分光阵列1012对第四光信号a2进行分光得到4个第一光信号(这4个第一光信号也即是一个光信号组),分别为第一光信号a21-a24,分光阵列1012向第一调制器阵列102发射第一光信号a11-a14和第一光信号a21-a24,其中,第一光信号a11-a14的发射角度分别为30度、60度、90度以及120度,第一光信号a21-a24的发射角度分别为30度、60度、90度以及120度。
该第一调制器阵列102还可以包括多个挡光板,每个挡光板用于吸收接收到的第一光信号,该挡光板吸收的第一光信号所指示的数据不参与吸收的第一光信号的发射角度所对应的卷积运子算过程。该多个挡光板可以位于第一调制器阵列102中的每个第一调制器1021之间,还可以位于第一调制器阵列102的外侧,例如第一调制器阵列102的左侧以及右侧。
挡光板用于吸收未参与卷积子运算的第一光信号,由于每个光信号组包括的第一光信号的发射角度分别对应于第二数据矩阵执行一次卷积子运算过程,但是对于第一数据矩阵中任一数据,随着第一数据矩阵在第二数据矩阵上的滑动,该数据可能仅参与第二数据矩阵执行的部分次数的卷积子运算中,例如图2中第二数据矩阵B执行的4次卷积子运算,数据a1未参与第二数据矩阵B执行的第1次卷积子运算,但是参与了第二数据矩阵B执行的第2-4次卷积子运算,发送发射角度与第二数据矩阵执行第1次卷积子运算过程对应,且用于指示数据a1的第一光信号,可以被挡光板吸收,以避免发射到第一调制器1021中参与光计算,影响计算结果。再以图2为例,在第二数据矩阵执行第1次卷积子运算过程中,仅有数据a2和数据b1参与了计算,发射角度为30度的第一光信号a21可以发射至第一调制器阵列102中与数据b1对应的第一调制器1021,以便由该第一调制器1021实现a2*b1。而数据a1未参数第1次卷积子运算,且发射角度为30度的第一光信号a11与发射角度为30度的第一光信号a21为平行光,第一光信号a21已经发射至第一调制器阵列102最左侧的第一调制器1021(也即是数据b1对应的第一调制器1021),发射角度为30度的第一光信号a11则会照射不到最左侧的第一调制器1021,可以照射到该第一调制器1021左侧的挡光板上,由挡光板吸收第一光信号a11,以避免第一光信号a11发射至该第一调制器1021上,进而参与光计算,影响最终的计算结果。再以图2为例,在第2次卷积子运算过程中,发射角度为60度的第一光信号a12正好发射至第一调制器阵列102中与数据b1对应的第一调制器1021,以便由该第一调制器1021实现a1*b1,发射角度为60度的第一光信号a22正好发射至第一调制器阵列102中与数据b2对应的第一调制器1021,以便由该第一调制器1021实现a2*b2。再以图2为例,在第4次卷积子运算过程中,发射角度为120度的第一光信号a14正好发射至第一调制器阵列102中与数据b3对应的第一调制器1021,以便由该第一调制器1021实现a1*b3,而数据a2未参与第4次卷积子运算,且发射角度为120度的第一光信号a14与发射角度为120度的第一光信号a24为平行光,而第一光信号a14已经发射至第一调制器阵列102最右侧的第一调制器1021(也即是数据b3对应的第一调制器1021),发射角度为120度的第一光信号a24则不会照射到最右侧的第一调制器1021,可以照射到该第一调制器1021右侧的挡光板,由挡光板吸收第一光信号a24,以避免第一光信号a24发射至该第一调制器1021上,进而参与光计算,影响最终的计算结果。
在一种可能的实现方式中,该分光阵列1012包括多个分光组件;每个分光组件,用于接收该第一数据矩阵中的一个数据的第四光信号,对接收到第四号进行分光,得到一个数据的多个角度离散的第一光信号,输出得到的多个角度离散的第一光信号。该分光阵列1012中分光组件的排列方式和第一数据矩阵中数据的排列方式相同,每个分光组件对应第一数据矩阵中的一个数据。
当分光阵列1012对每个第四信号的分光效果不同时,一个光信号组中第一光信号的总个数还可以等于第二目标个数,该第二目标个数为该光信号组所指示的数据参与第二数据矩阵所执行的卷积子运算的次数,也即是,一个数据的多个角度离散的第一光信号的数量为第二目标个数。
考虑到在第一数据矩阵与第二数据矩阵进行卷积计算的过程中,第一数据矩阵中的任一数据可能不会参与第二数据矩阵所执行的所有卷积子运算过程,但是只要该数据参与第二数据矩阵所执行的一次卷积子运算过程,该数据一定会与第二数据矩阵中的一个数据相乘,因此,在对第一数据矩阵与第二数据矩阵进行卷积计算的过程中,该数据最多和第二数据矩阵中的每一个数据分别进行一次相乘,所以该第二目标个数小于或等于第二数据矩阵中数据的数目。当第二数据矩阵中数据的数目大于第一数据矩阵中数据的数目时,随着第一数据矩阵的滑动,第一数据矩阵中的每个数据均可以与第二数据矩阵中每个数据相乘一次,此时该第二目标个数等于第二数据矩阵中数据的数目。仍以图2为例,在第二数据矩阵执行的第2-4次卷积子运算过程中,数据a1分别与第二数据矩阵中的每个数据相乘,则用于指示该数据a1的光信号组可以包括3个第一光信号,这3个光信号的发射角度分别对应第二数据矩阵执行的第2-4次卷积子运算过程。当第二数据矩阵中数据的数目小于第一数据矩阵中数据的数目时,随着第一数据矩阵的滑动,第一数据矩阵中的每个数据并不一定可以与第二数据矩阵中的每个数据相乘,也即是第一数据矩阵中的每个数据不一定能参与第二数据矩阵所执行的每一次卷积子运算,此时该第二目标个数小于第二数据矩阵中数据的数目。例如第一数据矩阵中包括3行3列的数据,第二数据矩阵包括2行2列的数据,滑动步长为1,在该第一数据矩阵和该第二数据矩阵的卷积计算过程中,第一数据矩阵中第1行第1列的数据仅能参与第二数据矩阵执行的第1次卷积子运算过程,只能与第二数据矩阵中第1行第1列的数据相乘,此时用于指示第一数据矩阵中第1行第1列的数据的光信号组可以仅包括一个第一光信号,且该第一光信号的发射角度对应第1次卷积子运算过程。
当光信号发射模块101包括发光阵列1011时,一个分光组件对应一个光信号发射器1011a,该光信号发射器1011a向该分光组件输出一个垂直于该分光组件的第四光信号,以便该分光组件可以接收到该光信号发射器1011a输出的一个第四光信号,并将该第四光信号分光为一个光信号组,该光信号组中第一光信号的总个数可以等于该第二目标个数。当光信号发射模块101包括第二调制器阵列1014时,一个分光组件对应一个第二调制器1014a,该第二调制器1014a向该分光组件输出一个垂直于该分光组件的第四光信号,以便该分光组件可以接收到该第二调制器1014a输出的一个第四光信号,并将该第四光信号分光为一个光信号组,该光信号组中第一光信号的总个数等于该第二目标个数。此时,每个光信号组中第一光信号的数目可以不同也可以相同,则分光阵列1012对每个第四光信号的分光效果可以相同也可以不同。
以图2为基础,以分光阵列1012包括1行2列的分光组件为例,分光阵列1012包括分光组件1和分光组件2,分光组件1对第四光信号a1进行分光,得到3个第一光信号(也即是一个光信号组),分别为第一光信号a12-a14,这3个第一光信号a12-a14的发射角度分别为60度、90度以及120度,分别对应第二数据矩阵执行的第2-4次卷积子运算过程。分光组件2对第四光信号a2进行分光,得到3个第一光信号(也即是一个光信号组),分别为第一光信号a21-a23(也即是一个光信号组),这3个第一光信号a22-a23发射角度分别为30度、60度以及90度,分别对应第二数据矩阵执行的第1-3次卷积子运算过程。
该分光阵列1012可以由微纳结构来实现,例如,二维微纳光栅、超表面或微透镜阵列。当该分光阵列1012为微纳结构时,若分光阵列1012对每个第四光信号的分光效果都相同时,则组成该分光阵列1012的微纳单元的排列是均匀的,以便该分光组件可以对每个第四光信号的分光效果相同。当该分光阵列1012包括多个分光组件时,每个分光组件也可以由微纳结构来实现,由于第一数据矩阵中不同位置的数据参与第二数据矩阵所执行的卷积子运算的次数不同,因此多个分光组件对第四光信号的分光效果可能不同也能相同,对于对第四光信号的分光效果相同,且位于分光阵列1012不同位置的多个分光组件,组成这多个分光组件的微纳单元的排列方式可以相同,也即是这多个分光组件可以是相同的,以便这多个分光组件可以达到相同的分光效果。对于对第四光信号的分光效果不同,且位于分光阵列1012不同位置的多个分光组件,组成这多个分光组件的微纳单元的排列方式不相同,以便这多个分光组件可以达到不同分光效果。
1.2、第一调制器阵列102
每个第一调制器1021可以根据输入的第一电信号的强度产生不同的透射率或反射率,使通过该第一调制器1021的第一光信号的光信号光强发生变化,得到该第一光信号对应的第二光信号,以实现输入的第一电信号所指示的数据与该第一光信号所指示的数据的乘积。例如,第一调制器阵列102包括1行3列的第一调制器,第一调制器1位于第一调制器阵列102的第1行第1列,而第二数据矩阵中第1行第1列的数据为0.8,该0.8对应的第一电信号为0.8V的电压,则当该第一调制器1输入0.8V的电压后,对输入的第一光信号可以产生80%透射率,得到第二光信号,得到的第二光信号的光强为输入的第一光信号的光强的80%,且该第二光信号的光强用于指示权值0.8与接收的第一光信号所指示的数据的乘积。再例如,第一调制器2位于第一调制器阵列102的第1行第2列,而第二数据矩阵中第1行第2列的数据为0.6,该0.6对应的第一电信号为0.6V的电压,则当该第一调制器2输入0.6V的电压后,对输入的第一光信号可以产生60%透射率,得到第二光信号,得到的第二光信号的光强为输入的第一光信号的光强的60%,且该第二光信号的光强用于指示数据0.6与接收的第一光信号所指示的数据的乘积。
第一调制器阵列102中的第一调制器1021可以是基于电致折射效应的调制器,例如基于普克尔斯(Pockels)效应的电光调制器、液晶光阀、基于电克尔效应的电光调制器、MZI调制器、微型谐振腔调制器(micro ring resonator,MRR)等。该第一调制器1021还可以是基于电致吸收效应的调制器,例如,基于弗朗兹一凯尔迪什(Franz-Keldysh)效应的调制器、基于量子限制斯塔克效应的调制器、基于等离子色散效应的调制器。该第一调制器1021还可以是基于电泵光放大效应的调制器,例如基于半导体光放大器的调制器。该第一调制器1021和第二调制器1014a可以是相同类型的调制器,在此本申请实施例对第二调制器1014a不做赘述。
每个第一调制器1021在第一调制器阵列102中的位置,与第二数据矩阵中一个数据的位置相同,也即是每个第一调制器1021对应第二数据矩阵中的一个数据。在第一数据矩阵和第二数据矩阵的卷积计算过程中,若第二数据矩阵中的每个数据均与第一数据矩阵中的每个数据相乘,则每个第一调制器1021可以接到第一数据矩阵中的每个数据的一个第一光信号,也即是可以接收到每个光信号组中的一个第一光信号。
在一种可能的实现方式中,每个第一调制器1021还用于接收至少一个光信号组中的一个第一光信号,且接收到的至少一个第一光信号的发射角度均不同,由于每个光信号组用于指示第一数据矩阵中的一个数据,因此,至少一个光信号组中的一个第一光信号也就是第一数据矩阵中的至少一个数据的第一光信号。一个第一调制器1021接收到第一光信号的总个数可以为第三目标个数,该第三目标个数为第二数据矩阵中的一个数据参与第二数据矩阵所执行的卷积子运算的次数,该数据与该第一调制器1021、输入该第一调制器1021的第一电信号对应。当第二数据矩阵中数据的数目大于第一数据矩阵中数据的数目时,随着第一数据矩阵的滑动,第二数据矩阵每执行一次卷积子运算并不是所有的数据均参计算,此时第三目标个数小于第二数据矩阵所执行的卷积子运算的总次数。当第二数据矩阵中数据的数目小于第一数据矩阵中数据的数目时,随着第一数据矩阵的滑动,第二数据矩阵每执行一次卷积子运算,第二数据矩阵中每个数据都会与第一数据矩阵中的一个数据相乘,此时第三目标个数等于第二数据矩阵所执行的卷积子运算的总次数。
仍以图2为基础,以第一调制器阵列102包括1行3列的第一调制器为例,分别为第一调制器1-3,其中,第一调制器1接收发射角度为60度的第一光信号a12以及发射角度为30度的第一光信号a21,基于与数据b1对应的第一电信号,对第一光信号a12和第一光信号a21分别进行调制,得到发射角度为60度的第二光信号a12以及发射角度为30度的第二光信号a21,向合束器103发射第二光信号a12和第二光信号a21,其中,第二光信号a12用于指示第2次卷积子运算过程中的a1*b1,第二光信号a21用于指示第1次卷积子运算过程中的a2*b1,第二光信号a12对应第一光信号a12,第二光信号a21对应第一光信号a21。第一调制器2接收发射角度为90度的第一光信号a13以及发射角度为60度的第一光信号a22,基与数据b2对应的第一电信号,对第一光信号a13和第一光信号a22分别进行调制,得到发射角度为90度的第二光信号a13以及发射角度为60度的第二光信号a22,向合束器103发射第二光信号a13和第二光信号a22,其中,第二光信号a13用于指示第3次卷积子运算过程中的a1*b2,第二光信号a22用于指示第2次卷积子运算过程中的a2*b2。第一调制器3接收发射角度为120度的第一光信号a14以及发射角度为90度的第一光信号a23,基于与数据b3对应的第一电信号,对第一光信号a14和第一光信号a23分别进行调制,得到发射角度为120度的第二光信号a14以及发射角度为90度的第二光信号a23,向合束器103发射第二光信号a14和第二光信号a23,其中,第二光信号a14用于指示第4次卷积子运算过程中的a1*b3,第二光信号a23用于指示第3次卷积子运算过程中的a2*b3。其中上述第一调制器1-3可以分别是图1中的3个第一调制器1021。
在一种可能的实现方式中,第一调制器1021之间可以设置有第一填充层,该第一填充层由不透光材料制备,可以是金属材料或对工作波长不透光的介电材料,以避免有未经调制的第一光信号进入后端,影响后端所进行的光计算,本申请实施例对第一填充层的结构和材料不做具体限定,该第一填充层可以是挡光板。
需要说明的是,对于任一第四光信号,分光阵列1012可以将该第四光信号分光为一个光信号组,并向第一调制器阵列102发射该光信号组,该光信号组离开该分光阵列1012时所处的区域中心可以视为该光信号组的发射中心或者该分光阵列1012的一个发射中心,其中,该光信号组离开该分光阵列1012时所处的区域可以视为光源等效单元,该光源等效单元的中心也即是该光信号组的发射中心。对于该光信号组中的任一第一光信号,当该第一光信号从该发射中心以一定的发射角度射向第一调制器1021后,该第一光信号在传输过程中可能会出现发散现象,导致该第一光信号偏离第一调制器1021,从而导致该第一光信号无法参与计算,影响最终的计算结果。例如,图4所示的本申请实施例提供的一种第一光信号发射示意图,第一光信号x从光源等效单元1的中心(也即是发射中心M)向第一调制器y发射,但是由于第一光信号x出现发散现象,第一光信号x偏移出第一调制器y,发射至第一调制器y与第一调制器z之间,使得第一光信号x无法被第一调制器y调制。对于这种情况,可以在光信号发射模块101和第一调制器阵列102之间设置一个微透镜阵列,以对光信号发射模块101发射出的第一光信号进行收束。在一种可能的实现方式中,该芯片100还包括:
微透镜阵列105,包括多个微透镜,每个微透镜的中心位于该分光阵列1012的至少一个发射中心与至少一个第一调制器1021的中心之间的连线上;
每个微透镜用于接收该至少一个发射中心输出的第一光信号,对接收到每个第一光信号进行收束,透射收束后的第一光信号。
由于每个微透镜的中心位于至少一个光信号组的发射中心与至少一个第一调制器1021的中心之间的连线上,可以使得两个光信号组的发射中心与一个微透镜的中心所组成的三角形和两个第一调制器1021的中心与该微透镜的中心所组成的三角形为相似三角形。例如图4中的发射中心M、发射中心N以及微透镜的中心O可以组成三角形MNO,第一调制器y的中心P、第一调制器y的中心Q以及及微透镜的中心O可以组成三角形PQO,三角形MNO和三角形PQO相似。当第一光信号x从发射中心M向第一调制器y发射的过程中,微透镜阵列105对第一光信号x进行收束,使得第一光信号x发射至第一调制器y上,以避免第一光信号x偏移出第一调制器y。
在一种可能的实现方式中,光信号发射模块101和第一调制器阵列102之间还可以设置第二填充层,该第二填充层用于传输光信号发射模块101发送的各个第一光信号,以保证各个第一光信号以最佳效果照射在第一调制器阵列102上,减少各个第一光信号在光信号发射模块101与第一调制器阵列102之间传播时所产生的传播消耗。该第二填充层的材料可以是硅、二氧化硅、氮化硅等。该第二填充层各处的材料都是均匀的。上述的微透镜阵列105可以设置在该第一填充层中。
在一种可能的实现方式中,第一调制器阵列102和合束器103之间还可以设置第三填充层,该第三填充层用于传输第一调制器阵列102模块发送的各个第二光信号,以保证各个第二光信号以最佳效果照射在合束器103上,减少各个第二光信号在第一调制器阵列102与合束器103之间传播时所产生的传播消耗。该第三填充层的材料可以是硅、二氧化硅、氮化硅等。该第三填充层各处的材料都是均匀的。
1.3合束器103
合束器103用于将入射光信号合束汇聚,在一种可能的实现方式中,相同入射角度的离散光信号可以被合束到同一空间区域内,不同入射角度的光信号汇合位置在不同的空间区域,可以在相同入射角度的离散光信号被合束到的同一空间区域内设置一个探测器,以便该探测器可以探测该空间区域内的离散光信号的总能量。
合束器103对多个第二光信号进行合束,并非将多个第二光信号合束成一束光信号,而是仅是改变每个第二光信号的发射角度,而是将从同一角度进入合束器103的多个第二光信号改变发射角度后,可以发送给同一个探测器1041。其中,该合束器103改变一个第二光信号的发射角度后,该第二光信号可以视为一个第三光信号,也即是每个第二光信号对应的一个第三光信号,一个第二光信号的光强和对应的第三光信号光强相同,从而可以使得每个第三光信号可以用于指示第一数据矩阵中一个数据和第二数据矩阵中一个数据的乘积。合束器103可以将从同一角度进入合束器103的多个第二光信号改变发射角度后组成一组第三光信号,该组第三光信号包括多个第三光信号,该多个第三光信号中每个第三光信号分别对应这多个第二光信中的一个第二光信号。该合束器103可以将一组第三光信号发送至同一个空间区域内,也即是可以发送给同一个探测器。
该合束器103可以是透射式合束器103,透射式合束器103可以以等效透镜方式来实现。在一种可能的实现方式中,该合束器103的结构为超表面结构、光栅结构或金属微结构中。在一种可能的实现方式,可以利用超表面技术,来实现由超表面结构所形成的合束器103。在一种可能的实时方式中,还可以利用微结构对光波的衍射效应,来实现由光栅结构所形成的合束器103。在一种可能的实现方式中,还可以利用金属微纳结构的表面等离激元共振效应,来实现由金属微纳结构所形成的合束器103。
该合束器103还可以是反射式合束器103,在一种可能的实现方式中,该合束器103可以是凹面反射镜。当凹面为抛物面时,该凹面反射镜可以等价于理想的透镜,当凹面为球面时,凹面反射镜可看成非理想透镜。光信号传播整体方向需要有一定倾斜角,凹面反射镜才可将入射光与反射光分离开。探测器阵列104可以位于凹面反射镜的像方焦平面附近,不要求完全在像方焦平面处,也不要求与理论焦平面平行,因为光信号离散,探测器阵列104中的探测器可以在一定面积内进行积分探测,因此允许合束器103合束的光信号在探测器阵列104平面处不完全汇聚,只要保证光信号汇合进入探测器的有效面积内即可。例如图5所示的本申请实施例提供的一种反射式合束器的示意图,图5中凹面反射镜为合束器103,可以将来自不同第一调制器的相同发射角度的第二光信号反射至探测器阵列的一个探测器上,以实现对相同发射角度的第二光信号进行合束的目的,且将不同发射角度的第二光信号反射至不同的探测器上。
在一种可能的实现方式中,合束器103可以在超表面或光栅上方覆盖一层反射层来实现,该合束器103可以比凹面反射镜更节省空间。
该合束器103还可以是互连式合束器103,在一种可能的实现方式中,该合束器103包括:
多组波导,每组波导中的每个波导的入光口分别位于一个第一调制器1021的一个发射光路上,每组波导中的每个波导的出光口位于同一个探测器探测区域内;
每个波导,用于接收一个第一调制器1021发射的一个第二光信号,将接收到的第二光信号传输至一个探测器的探测区域内;
进入每组波导的第二光信号的发射角度相同。
当一个第二光信号射入一个波导后,该第二光信号以第三光信号的形式在该波导中传输,因此,每组波导中传输的光信号也即是一组第三光信号。对于这种互连式合束器103,可以利用类似激光直写技术制备在三维(three dimensional,3D)空间内扭曲的波导。在一种可能的实现方式中,可以先制备一层厚度适中的第四填充层,第四填充层的材料可以根据激光直写技术的需求来决定,然后在该第四填充层内直写出所需的波导,汇合至设计的探测器阵列104所在的平面,以实现3D互连方式。例如图6所示的本申请实施例提供的一种互连式合束器的示意图,在图6中合束器包括第1组波导、第2组波导以及第3组波导,每组波导的入光口位于平面0,每组波导的出光口均与同一个探测器所在的平面,第一调制器阵列102中有3个第一调制器1021,每个第一调制器1021都可以发送发射角度为α、β以及γ的3个第二光信号,每个第一调制器1021都向第1组波导中一个波导发送发射角度为α的第二光信号,在平面0上每个第一调制器1021输发送的发射角度为α的第二光信号分别进入第1组波导的一个波导中,当每个发射角度α的第二光信号进入到波导后变为第三光信号,第三光信号可以通过第1组波导发送至平面1所在的探测器1上;每个第一调制器1021都向第2组波导中一个波导发送发射角度为β的第二光信号,在平面0上每个第一调制器1021发送的发射角度为β的第二光信号分别进入第2组波导的一个波导中,当每个发射角度为β的第二光信号进入到波导后变为第三光信号,第三光信号可以通过第2组波导发送至平面2所在的探测器2上;每个第一调制器1021都向第3组波导中一个波导发送发射角度为γ的第二光信号,在平面0上每个第一调制器1021发送的发射角度为γ的第二光信号分别进入第3组波导的一个波导中,当每个发射角度为γ的第二光信号进入到波导后变为第三光信号,第三光信号可以通过第3组波导发送至平面3所在的探测器3上。
1.4、探测器阵列104
探测器阵列104可以包括多个探测器1041,多个探测器1041中的任意一个探测器1041用于:
接收该合束器103发送的多个第二光信号,并探测接收到的多个第二光信号的总光强。实际应用中,从同一角度进入合束器的第二光信号被发送给同一个探测器。一个探测器探测的多个第二光信号的总光强用于指示该探测器1041接收的多个第二光信号所指示的数据的乘积的和。
该多个探测器1041的个数等于在第二数据矩阵和第一数据矩阵的卷积计算过程中第二数据矩阵执行卷积子运算的总次数,也即是第一目标个数,也即是第一数据矩阵与第二数据矩阵进行卷积计算所得到的卷积结果矩阵中卷积子结果的个数,也即是第一数据矩阵和第二数据矩阵进行卷积计算的卷积结果矩阵中卷积子结果的个数。当对LA*WA的第一数据矩阵与LB*WB的第二数据矩阵进行卷积计算时,若每次滑动步长为1,且允许做数值0的填充(padding)时,该第一数据矩阵与第二数据矩阵的卷积结果矩阵中有效元素的个数最多可以是(LA+LB-1)*(WA+WB-1),此时探测器阵列104中探测器1041的个数最多可以为(LA+LB-1)*(WA+WB-1),其中,LA和WA分别为第一数据矩阵的行数和列数,LB和WB分别为第二数据矩阵的行数和列数,一个有效元素也即是第二数据矩阵执行一次卷积子运算的卷积子结果。
每个探测器1041用于接收从同一角度进入合束器103的多个第二光信号,也即是合束器输出的一组第三光信号,并对该组第三光信号进行探测以获取该组第三光信号的总光强,其中,该组第三光信号的总光强为该组第三光信号中各个第三光信号的光强之和,也即是从同一角度进入合束器103的多个第二光信号的总光强。由于一组第三光信号所对应的第二光信号具有相同的发射角度,也即是每个探测器1041接收到一组第三光信号中的每个第三光信号可以指示第二数据矩阵执行一次卷积子运算过程中的一个乘积,因此,每个探测器1041探测到的一组第三光信号的总光强可以用于表示该组第三光信号对应的多个第二光信号所指示的数据的乘积的和,也即是第二数据矩阵执行一次卷积子运算过程中各个乘积的和值,也即是第二数据矩阵执行一次卷积子运算的卷积子结果,从而每个探测器1041可以根据一组第三光信号的光强,获取从同一角度进入合束器103的多个第二光信号所指示的数据的乘积的和。
仍以图1和图2为基础,以第一调制器1向合束器103发射第二光信号a12和第二光信号a21,第一调制器2向合束器103发射第二光信号a13和第二光信号a22,第一调制器3向合束器103发射第二光信号a14和第二光信号a23为例,合束器103改变发射角度为30度的第二光信号a21的发射轨迹,得到第三光信号a21,将第三光信号a21发射至探测器1,其中,第三光信号a21和第二光信号a21的光强相同;合束器103对发射角度为60度的第二光信号a12以及第二光信号a22进行合束,改变第二光信号a12以及第二光信号a22的发射轨迹,得到第三光信号a12和第三光信号a22,并将第三光信号a12和第三光信号a22发射至探测器2,其中,第三光信号a12和第二光信号a12的光强相同,第三光信号a22和第二光信号a22的光强相同;合束器103对发射角度为90度的第二光信号a13和第二光信号a23进行合束,改变第二光信号a13以及第二光信号a23的发射轨迹,得到第三光信号a13和第三光信号a23,并将第三光信号a13和第三光信号a23发射至探测器3,其中,第三光信号a13和第二光信号a13的光强相同,第三光信号a23和第二光信号a23的光强相同;合束器103改变发射角度为120度的第二光信号a14的发射轨迹,得到第三光信号a14,将第三光信号a14发射至探测器4,其中,第三光信号a14和第二光信号a14的光强相同。探测器1探测第三光信号a21的光强1,该光强1可以用于指示第二数据矩阵执行第1次卷积子运算的卷积子结果LR(1)=a2*b1,探测器2探测第三光信号a12和第三光信号a22的总光强(记为光强2),该光强2可以用于指示第二数据矩阵执行第2次卷积子运算的卷积子结果LR(1)=a1*b1+a2*b2,探测器3探测第三光信号a13和第三光信号a23的总光强(记为光强3),该光强3可以用于指示第二数据矩阵执行第3次卷积子运算的卷积子结果LR(3)=a1*b2+a2*b3,探测器4探测第三光信号a14的光强4,该光强4可以用于指示第二数据矩阵执行第4次卷积子运算的卷积子结果LR(4)=a1*b3。其中,上述第一调制器1-3分别为图中第一调制器阵列中的3个第一调制器,上述探测器1-4分别为图中探测器阵列中的4个探测器。
每个探测器1041探测到光强后,可以用第四电信号指示探测到的光强,并输出第四电信号,一个第四电信号对应第二数据矩阵执行一次卷积子运算的卷积子结果,一个第四电信号可以正比于探测到的光强、第二数据矩阵执行一次卷积子运算的卷积子结果,以实现与第二数据矩阵执行一次卷积子运算的卷积子结果对应,以实现积分式探测。
探测器阵列104可以是光电探测器(photodetector,PD)阵列,光电导探测器阵列104(如光敏电阻阵列),或者,探测器阵列104也可以参考相机技术中的电荷耦合器件(charge coupled device,CCD)相机技术或互补金属氧化物半导体(complementary metaloxide semiconductor,CMOS)相机技术来制备。
由于不同发射角度的第二光信号可以输出至不同探测器,从而可以避免不同发射角度的第二光信号所对应的第三光信号相互影响,从而可以避免透镜对像差之类的高要求。
探测器阵列104中探测器的排布可以根据合束器103的合束方式来进行设置。从同一角度进入合束器的多个第二光束也即是具有相同发射角度的多个第二光信号,当合束器103为透射式合束器103时,对于具有相同发射角度的多个第二光信号,在该多个第二光信号的透射光路上设置一个探测器,只要这个探测器可以探测到该多个第二光信号所对应的一组第三光信号的光强即可。当合束器103为反射式合束器103时,对于相同发射角度的多个第二光信号,在该多个第二光信号的反射光路上设置一个探测器,只要这个探测器可以探测到该多个第二光信号所对应的一组第三光信号的光强即可,例如图5中的探测器。当合束器103为互连式合束器103时,每个探测器只要能够接收到同一组波导中传输的第三光信号即可,例如图6中的探测器。
需要说明的是,上述的各个阵列都需要和外围系统进行电通信,以获取相应的电信号,以便各个阵列中的各个光器件(例如第一调制器1021)可以基于获取的电信号对光信号进行处理,也即是各个阵列中各个光器件之间需要电路提供电信号,各个阵列中的电极及走线方案可参考硅基液晶(liquid crystal on silicon,LCoS)等显示技术,可以使用透明电极(如氧化铟锡电极)或在光器件之间的非透光区域走线。
该芯片100的制备流程可以是:先制备光信号发射模块101,然后,在光信号发射模块101的发射光路上制备第二填充层,在第二填充层的上面制备第一调制器阵列102,然后,在第一调制器阵列102的发射光路上制备第三填充层,当合束为透射式合束器103时,在第二填充层的发射光路上制备透射式合束器103,在透射式合束器103的透射光路上制备探测器阵列104;当合束器103为反射式合束器103时,可以先制备探测器阵列104,再在第二填充层的发射光路上制备反射式合束器103,并保证探测器阵列104位于反射式合束器103的反射光路上;当合束器103为互连式合束器103,在第二填充层的发射光路上制备互连式合束器103,在互连式合束器103的每组波导的出光口方向制备探测器阵列104。在一种可能的实现方式,该芯片100的光信号发射模块101还可以位于芯片100的顶层,第一调制器阵列102位于光信号发射模块101的下面,透射式合束器103位于第一调制器阵列102的下面,探测器阵列104位于透射式合束器103的下面。本申请实施例对该芯片100中各个结构的位置以及制备流程不做具体限定。
此时该芯片100可以为使用光计算实现卷积计算的一个独立芯片,可以与电芯片通过系统级封装(system in package,SIP)方式封装在一个基板上,形成卷积计算加速模块或其他专用场景的加速模块。
本申请实施例提供的芯片,通过光信号发射模块发射第一数据矩阵中每个数据的多个角度离散的第一光信号,由第一调制阵列根据调制的第二数据矩阵中的数据,输出多个角度离散的第二光信号,合束器将从同一角度进入合束器的多个第二光信号发送给同一个探测器,由探测器阵列根据多个探测器接收到的多个第二光信号的总光强,获得第一数据矩阵和第二数据矩阵的卷积计算结果。从而根据本发明实施例提供的光计算芯片,在执行卷积计算时,无需分解第一数据矩阵和第二数据矩阵的卷积计算过程,无需执行多次计算。而是可以通过一次计算过程,就可以以光速执行完第一数据矩阵和第二数据矩阵的之间的卷积计算,实现卷积计算过程所占用的时间较短,提高了卷积计算的效率。并且,由于每个第一调制器均可以输出多个第二电信号,从而可以实现复用第一调制器的目的,并且,该芯片中传输的均是离散光信号,可支持非相干光光源,因而可免去相干噪声、相位敏感及级联过深带来的误差。并且,利用芯片的垂直维度,将光信号发射模块、第一调制器阵列、合束器以及探测器阵列集成为一个该芯片,提高了芯片的集成度。
图7是本申请实施例提供的一种光计算装置的示意图,光计算装置700包括处理器701以及芯片702,其中,该芯片702可以是上述任一种芯片;
该处理器701用于获取第一数据矩阵以及第二数据矩阵,向该芯片702发送该第一数据矩阵以及该第二数据矩阵,并接收该芯片702发送的该第一数据矩阵和该第二数据矩阵的卷积计算结果。
其中,该处理器701获取的第一数据矩阵和第二数据矩阵的过程可以是:处理器701获取第一目标数据矩阵和第二目标数据矩阵,若第一目标数据矩阵中数据的数目和第一数据矩阵中数据的数目相同,且第二目标数据矩阵中数据的数目和第二数据矩阵中数据的数目相同,则处理器701可以将该第一目标数据矩阵视为第一数据矩阵,可以将第二目标数据矩阵视为第二数据矩阵。
若第一目标数据矩阵中数据的数目大于第一数据矩阵中数据的数目时,则处理器701可以将该第一目标数据矩阵拆分为多个第一子矩阵,每个第一子矩阵中数据的数目可以等于第一数据矩阵中数据的数目,若一个第一子矩阵中数据的数目小于第一数据矩阵中数据的数目,则处理器701还可以在该第一子矩阵中补0,使得补0后的第一子矩阵中数据的数目可以等于第一数据矩阵中数据的数目。若第二目标数据矩阵中数据的数目大于第二数据矩阵中数据的数目时,则处理器701可以将该第二目标数据矩阵拆分为多个第二子矩阵,每个第二子矩阵中数据的数目可以等于第二数据矩阵中数据的数目,若一个第二子矩阵中数据的数目小于第二数据矩阵中数据的数目,则处理器701可以在该第二字矩阵中补0,使得补0后的第二子矩阵中数据的数目可以等于第二数据矩阵中数据的数目。
当多个第一子矩阵和多个第二子矩阵中任意一个子矩阵中包括负值数据时,则处理器701可以通过正负数分离的方式或者对加偏置数的方式,将该子矩阵转换为多个不包含负值数据的子矩阵。
该处理器701可以将处理器701后的每个第一子矩阵视为一个第一数据矩阵,将处理后的每个第二子矩阵视为一个第二数据矩阵,将处理后的每个第一子矩阵和处理后每个第二子矩阵分别作为一组卷积计算任务下发至芯片702,由芯片702计算处理后的每个第一矩阵和处理后的每个第二子矩阵的计算结果,并由处理器701根据处理后的每个第一矩阵和处理后的每个第二子矩阵的计算结果,获取第一目标数据矩阵和第二目标数据矩阵的卷积计算结果。
此时该芯片702可以与处理器701以系统芯片(system on chip,SoC)的方式集成在基板上,光计算器与处理器701可以实现近邻高速通信的优势,同时发挥处理器701擅长逻辑运算和该芯片702高并行、光速执行的优势。
在本申请所提供的几个实施例中,应该理解到,以上所描述的光计算芯片仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口。
该作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
上述所有可选技术方案,可以采用任意结合形成本公开的可选实施例,在此不再一一赘述。以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (7)
1.一种光计算芯片,其特征在于,包括:
光信号发射模块,用于根据第一数据矩阵中的每个数据生成多个角度离散的第一光信号;
第一调制器阵列,包括多个第一调制器,每个第一调制器用于接收所述第一数据矩阵中的至少两个数据的一个第一光信号,并根据所述第一调制器上调制的第二数据矩阵中的数据输出多个第二光信号,其中,所述多个第二光信号中的每个第二光信号用于指示所述第一数据矩阵中的一个数据和所述第二数据矩阵中的一个数据的乘积;
合束器,用于接收所述第一调制器阵列输出的多个第二光信号,并将所述多个第二光信号发送给探测器阵列中的多个探测器,其中,从同一角度进入所述合束器的多个第二光信号被发送给同一个探测器;
所述探测器阵列,包括所述多个探测器,用于根据所述多个探测器接收到的多个第二光信号的总光强获得计算结果,其中,所述计算结果用于指示所述第一数据矩阵和所述第二数据矩阵的卷积计算结果。
2.根据权利要求1所述的芯片,其特征在于,所述探测阵列中一个探测器接收的多个第二光信号的总光强用于指示所述探测器接收的多个第二光信号所指示的数据的乘积的和。
3.根据权利要求1所述的芯片,其特征在于,所述光信号发射模块包括:
发光阵列,包括多个光信号发射器,每个光信号发射器用于根据所述第一数据矩阵中的一个数据生成第四光信号;
分光阵列,用于接收所述第一数据矩阵中的每个数据的第四光信号,对接收到的每个第四光信号进行分光,得到一个数据的多个角度离散的第一光信号,输出得到的多个角度离散的第一光信号。
4.根据权利要求1所述的芯片,其特征在于,所述光信号发射模块包括:
面光源,用于发射目标光信号;
第二调制器阵列,包括多个第二调制器,每个第二调制器用于接收所述目标光信号,根据所述第二调制器上调制的所述第一数据矩阵中的数据输出一个第四光信号;
分光阵列,用于接收每个第二调制器输出的第四光信号,对接收到的每个第四光信号进行分光,得到一个数据的多个角度离散的第一光信号,输出得到的多个角度离散的第一光信号。
5.根据权利要求3或4所述的芯片,其特征在于,所述分光阵列包括多个分光组件;
每个分光组件,用于接收所述第一数据矩阵中的一个数据的第四光信号,对接收到第四光信号进行分光,得到一个数据的多个角度离散的第一光信号,输出得到的多个角度离散的第一光信号。
6.根据权利要求2-5任一项权利要求所述的芯片,其特征在于,所述芯片还包括:
微透镜阵列,包括多个微透镜,每个微透镜的中心位于所述分光阵列的至少一个发射中心与至少一个第一调制器的中心之间的连线上;
每个微透镜用于接收所述至少一个发射中心输出的第一光信号,对接收到每个第一光信号进行收束,透射收束后的第一光信号。
7.一种光计算装置,其特征在于,所述装置包括处理器以及权利要求1-6中任一项权利要求所述的芯片;
所述处理器用于获取第一数据矩阵以及第二数据矩阵,向所述芯片发送所述第一数据矩阵以及所述第二数据矩阵,并接收所述芯片发送的所述第一数据矩阵和所述第二数据矩阵的卷积计算结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010421892.8A CN113688353A (zh) | 2020-05-18 | 2020-05-18 | 光计算芯片以及光计算装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010421892.8A CN113688353A (zh) | 2020-05-18 | 2020-05-18 | 光计算芯片以及光计算装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113688353A true CN113688353A (zh) | 2021-11-23 |
Family
ID=78575649
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010421892.8A Pending CN113688353A (zh) | 2020-05-18 | 2020-05-18 | 光计算芯片以及光计算装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113688353A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023116496A1 (zh) * | 2021-12-23 | 2023-06-29 | 华为技术有限公司 | 光计算装置、方法和系统 |
WO2023138585A1 (zh) * | 2022-01-18 | 2023-07-27 | 华为技术有限公司 | 光计算装置及光计算方法 |
-
2020
- 2020-05-18 CN CN202010421892.8A patent/CN113688353A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023116496A1 (zh) * | 2021-12-23 | 2023-06-29 | 华为技术有限公司 | 光计算装置、方法和系统 |
WO2023138585A1 (zh) * | 2022-01-18 | 2023-07-27 | 华为技术有限公司 | 光计算装置及光计算方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11860666B2 (en) | Matrix multiplication using optical processing | |
US5568574A (en) | Modulator-based photonic chip-to-chip interconnections for dense three-dimensional multichip module integration | |
US5432722A (en) | Global interconnect architecture for electronic computing modules | |
JP2523115B2 (ja) | 自己電気光学効果デバイスによる光論理装置 | |
KR20200028446A (ko) | 고체 상태 광 검출 및 레인징(lidar) 시스템, 그리고 고체 상태 광 검출 및 레이징(lidar) 분해능을 향상시키는 시스템 및 방법 | |
CN113688353A (zh) | 光计算芯片以及光计算装置 | |
US10001583B2 (en) | Structured light projection using a compound patterned mask | |
JP2536452B2 (ja) | 光電子記憶処理装置および光学式修正符号付きディジット算術演算実行方法 | |
CN111338423A (zh) | 一种光学装置 | |
CN206725818U (zh) | 用于cxp光模块的光学组件 | |
CN116957031B (zh) | 一种基于光学多神经元激活函数模块的光电计算机 | |
US20200355983A1 (en) | Chip-Scale Optical Phased Array For Projecting Visible Light | |
KR940002349B1 (ko) | 다수의 비선형 광소자들을 광학적으로 상호 접속하는 상호접속기와, 그 상호접속기의 제조방법 및 제조장치 | |
US4705344A (en) | Optical interconnection arrangement | |
US20220147095A1 (en) | Optical Computing Chip and System, and Data Processing Technology | |
US8526771B2 (en) | In-plane optical wave guide with area based splitter | |
CN214795194U (zh) | 电子设备以及透射分束器 | |
Peserico et al. | PhotoFourier: silicon photonics joint transfer correlator for convolution neural network | |
CN109581574B (zh) | 背光模组及显示装置 | |
Xu et al. | Optoelectronic-VLSI packaging with polarization-selective computer-generated holograms | |
US20230118658A1 (en) | Low-Power Integrated Beam Steering Switch Matrix Platform | |
US20230204782A1 (en) | Three-dimensional distance information acquisition system and electronic device including the same | |
WO2022179157A1 (zh) | 一种光计算装置、光计算系统以及方法 | |
KR0170192B1 (ko) | 광투과 기판을 사용한 병렬 광논리 처리시스템의 구조 | |
JPH0618953A (ja) | 光ニューラルコンピュータおよびこれを用いた光学部品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |