CN116502689A - 光计算装置及光计算方法 - Google Patents
光计算装置及光计算方法 Download PDFInfo
- Publication number
- CN116502689A CN116502689A CN202210054701.8A CN202210054701A CN116502689A CN 116502689 A CN116502689 A CN 116502689A CN 202210054701 A CN202210054701 A CN 202210054701A CN 116502689 A CN116502689 A CN 116502689A
- Authority
- CN
- China
- Prior art keywords
- optical signals
- optical
- data
- output
- laser
- 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
- 230000003287 optical effect Effects 0.000 title claims abstract description 348
- 238000004364 calculation method Methods 0.000 title claims abstract description 52
- 238000000034 method Methods 0.000 claims description 21
- 238000013473 artificial intelligence Methods 0.000 abstract description 4
- 239000013598 vector Substances 0.000 description 31
- 239000011159 matrix material Substances 0.000 description 15
- 238000010586 diagram Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 9
- 238000012545 processing Methods 0.000 description 7
- 238000005530 etching Methods 0.000 description 5
- 238000013527 convolutional neural network Methods 0.000 description 4
- 239000004065 semiconductor Substances 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 239000006185 dispersion Substances 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 239000012782 phase change material Substances 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000006798 recombination Effects 0.000 description 2
- 238000005215 recombination Methods 0.000 description 2
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 238000010521 absorption reaction Methods 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000003776 cleavage reaction Methods 0.000 description 1
- 238000005094 computer simulation Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000000704 physical effect Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 230000007017 scission Effects 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/067—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using optical means
-
- 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)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Computational Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Biomedical Technology (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Neurology (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Optical Modulation, Optical Deflection, Nonlinear Optics, Optical Demodulation, Optical Logic Elements (AREA)
Abstract
本申请涉及人工智能领域,尤其涉及一种光计算装置及光计算方法。本申请实施例提供了一种光计算装置,该装置包括:激光器,用于输出不同波长的m个第一光信号;调制器阵列,用于根据m个第一光信号指示的第一数据和调制的第二数据输出多个第二光信号;波长路由器,用于接收调制器阵列输出的多个第二光信号,将多个第二光信号重新组合得到并输出重新组合后的多个第二光信号,重新组合后的多个第二光信号指示第一数据和第二数据的计算结果。本申请实施例提供的光计算装置能够一次性实现卷积运算,大大提高了光学卷积计算效率。
Description
技术领域
本申请涉及人工智能领域,尤其涉及一种光计算装置及光计算方法。
背景技术
人工神经网络(Artificial Neural Network,ANN)是一种模拟人脑处理信息的计算模型。其中,卷积神经网络(Convolutional Neural Network,CNN)是一种新型的ANN,已经在图像处理、视频处理、自然语言处理等领域取得了广泛应用。CNN中最核心的运算是卷积运算,相关技术中在计算卷积时,需要将卷积运算分解成多次向量或矩阵的乘法运算,这样会消耗较多算力。
光计算利用光本身的物理性质可以实现大规模并行信号处理和传输,具有运算速度快,功耗低等优势。然而,相关技术中基于级联马赫-曾德干涉仪(Mach-ZehnderInterferometer,MZI)的光芯片中,实现的片上光学卷积仍然是通过将卷积运算分解为多次矩阵乘法运算来实现的,浪费较多的计算资源,计算效率较低。
相关技术中,尚未提供一种合理且有效的光计算方案。
发明内容
有鉴于此,提出了一种光计算装置及光计算方法。本申请实施例通过光计算装置的激光器输出不同波长的多个第一光信号,通过调制器阵列根据接收到的m个第一光信号指示的第一数据,以及调制的第二数据输出多个第二光信号,以便波长路由器将多个第二光信号重新组合,输出重新组合后的多个第二光信号,其中重新组合后的多个第二光信号指示第一数据和第二数据的计算结果;该系统能够一次性实现卷积运算,无需多次循环才能计算卷积结果,大大提高了光学卷积计算效率,节省了光计算资源。
第一方面,本申请的实施例提供了一种光计算装置,所述装置包括:
激光器,用于输出不同波长的m个第一光信号,所述m个第一光信号指示第一数据,所述m为大于1的正整数,所述激光器的光学谐振腔包括光波导阵列和与所述光波导阵列连接的波分器件,所述光波导阵列包括多个光波导,所述光波导用于为所述光学谐振腔提供回路增益,所述波分器件用于确定所述m个第一光信号各自对应的波长;
调制器阵列,用于接收所述激光器输出的所述m个第一光信号,根据所述m个第一光信号指示的所述第一数据和调制的第二数据输出多个第二光信号;
波长路由器,用于接收所述调制器阵列输出的所述多个第二光信号,将所述多个第二光信号重新组合得到并输出重新组合后的多个第二光信号,所述重新组合后的多个第二光信号指示所述第一数据和所述第二数据的计算结果。
在该实现方式中,该光计算装置包括激光器、调制器阵列和波长路由器,一方面,由于激光器包括光波导阵列和与光波导阵列连接的波分器件,光波导阵列包括多个光波导,光波导用于为光学谐振腔提供回路增益,波分器件用于确定所述m个第一光信号各自对应的波长,使得该光计算装置的激光器能够输出不同波长的多个第一光信号,激光器输出的光信号为发散光,相比采用其它光源(如激光器阵列或光频梳),激光器后面无需复杂的分光结构;另一方面,通过调制器阵列接收激光器输出不同波长的m个第一光信号,根据其指示的第一数据和调制的第二数据输出多个第二光信号,以便波长路由器将多个第二光信号重新组合得到并输出重新组合后的多个第二光信号,重新组合后的多个第二光信号指示第一数据和第二数据的计算结果,该系统能够一次性实现卷积运算,提高了光学卷积计算效率,节省了光计算资源。
在一种可能的实现方式中,所述多个第二光信号指示所述第一数据中的m个第一元素与所述第二数据中的n个第二元素两两相乘得到的乘积结果,所述n为正整数。
在该实现方式中,由于多个第二光信号指示第一数据中的m个第一元素与第二数据中的n个第二元素两两相乘得到的乘积结果,保证了该系统能够一次性实现卷积运算,无需多次循环才能计算卷积结果,进一步提高了光学卷积计算效率。
在另一种可能的实现方式中,所述激光器,还用于获取待计算的所述第一数据,根据所述第一数据输出不同波长的所述m个第一光信号,所述第一数据中的所述m个第一元素与所述m个第一光信号一一对应。
在该实现方式中,激光器用于根据第一数据中的m个第一元素,对应输出不同波长的m个第一光信号,使得激光器输出的多个第一光信号能够指示第一数据中的所有元素。
在另一种可能的实现方式中,所述调制器阵列包括n个调制器,所述n个调制器用于分别加载调制的所述第二数据中的一个所述第二元素;
每个所述调制器,用于接收所述激光器输出的所述m个第一光信号,根据所述m个第一光信号指示的所述第一数据和调制的一个所述第二元素输出m个所述第二光信号。
在该实现方式中,调制器阵列中的每个调制器用于接收激光器输出的所有第一光信号,并通过该调制器上加载的第二元素完成乘法操作,最终调制器阵列用于输出得到m*n个第二光信号,即该系统仅需一步计算卷积(m*n次相乘),无需多次迭代,保证了光学卷积计算效率。
在另一种可能的实现方式中,所述波长路由器,还用于根据所述多个第二光信号的波长和输入端口,将所述多个第二光信号重新组合得到所述重新组合后的多个第二光信号,将所述重新组合后的多个第二光信号从多个输出端口输出。
在该实现方式中,波长路由器还用于根据多个第二光信号的波长和输入端口,按照一定的路由法则将多个第二光信号重新组合(相当于执行卷积运算中的滑动操作),将重新组合后得到的重新组合后的多个第二光信号从多个输出端口输出,该过程不需要任何外部控制,不产生不必要的功耗。
在另一种可能的实现方式中,所述装置还包括探测器阵列;
所述探测器阵列,用于检测所述波长路由器的所述多个输出端口各自对应的光强,根据所述多个输出端口各自对应的光强,确定所述第一数据和所述第二数据的所述计算结果。
在该实现方式中,探测器阵列用于根据检测到的多个输出端口各自对应的光强,确定第一数据和第二数据的计算结果,从而保证探测器阵列获取到最终的计算结果。
在另一种可能的实现方式中,所述波分器件包括阵列波导光栅(Arrayedwaveguide grating,AWG)、刻蚀衍射光栅(Etched diffraction grating,EDG)、级联MZI,亚波长光栅中的任意一种。
在该实现方式中,激光器中采用的波分器件可以有多种实现方式,比如波分器件包括AWG、EDG、级联MZI,亚波长光栅中的任意一种,使得波分器件可以利用光的干涉、耦合、色散等物理现象完成波分处理,进而保证了激光器可以输出不同波长的多个第一光信号。
第二方面,本申请的实施例提供了一种光计算方法,用于光计算装置中,所述光计算装置包括激光器、调制器阵列和波长路由器,所述激光器的光学谐振腔包括光波导阵列和与所述光波导阵列连接的波分器件,所述光波导阵列包括多个光波导,所述光波导用于为所述光学谐振腔提供回路增益,所述波分器件用于确定所述m个第一光信号各自对应的波长,所述方法包括:
所述激光器输出不同波长的m个第一光信号,所述m个第一光信号指示第一数据,所述m为大于1的正整数;
所述调制器阵列接收所述激光器输出的所述m个第一光信号,根据所述m个第一光信号指示的所述第一数据和调制的第二数据输出多个第二光信号;
所述波长路由器接收所述调制器阵列输出的所述多个第二光信号,将所述多个第二光信号重新组合得到并输出重新组合后的多个第二光信号,所述重新组合后的多个第二光信号指示所述第一数据和所述第二数据的计算结果。
在一种可能的实现方式中,所述多个第二光信号指示所述第一数据中的m个第一元素与所述第二数据中的n个第二元素两两相乘得到的乘积结果,所述n为正整数。
在另一种可能的实现方式中,所述激光器输出不同波长的m个第一光信号,包括:
所述激光器获取待计算的所述第一数据;
所述激光器根据所述第一数据输出不同波长的所述m个第一光信号,所述第一数据中的所述m个第一元素与所述m个第一光信号一一对应。
在另一种可能的实现方式中,所述调制器阵列包括n个调制器,所述方法还包括:
所述n个调制器分别加载调制的所述第二数据中的一个所述第二元素;
每个所述调制器接收所述激光器输出的所述m个第一光信号;
每个所述调制器根据所述m个第一光信号指示的所述第一数据和调制的一个所述第二元素输出m个所述第二光信号。
在另一种可能的实现方式中,所述波长路由器将所述多个第二光信号重新组合得到并输出重新组合后的多个第二光信号,包括:
所述波长路由器根据所述多个第二光信号的波长和输入端口,将所述多个第二光信号重新组合得到所述重新组合后的多个第二光信号;
所述波长路由器将所述重新组合后的多个第二光信号从多个输出端口输出。
在另一种可能的实现方式中,所述装置还包括探测器阵列,所述方法还包括:
所述探测器阵列检测所述波长路由器的所述多个输出端口各自对应的光强;
所述探测器阵列根据所述多个输出端口各自对应的光强,确定所述第一数据和所述第二数据的所述计算结果。
附图说明
包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本申请的示例性实施例、特征和方面,并且用于解释本申请的原理。
图1示出了本申请一个示例性实施例提供的光计算装置的结构示意图。
图2示出了本申请一个示例性实施例提供的光计算方法的流程图。
图3示出了本申请一个示例性实施例提供的光计算方法涉及的原理示意图。
图4示出了本申请一个示例性实施例提供的激光器的示意图。
图5示出了本申请另一个示例性实施例提供的激光器的示意图。
图6示出了本申请另一个示例性实施例提供的激光器的示意图。
具体实施方式
以下将参考附图详细说明本申请的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
另外,为了更好的说明本申请,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本申请同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本申请的主旨。
首先对本申请实施例涉及的名词进行解释。
1、卷积运算:本申请实施例中采用人工智能(Artificial Intelligence)领域对卷积运算的定义:h(step)=∑nf(n)g(n-step),即向量/矩阵f与向量/矩阵g的卷积得到向量/矩阵h,其中n为积分用的序标,step为滑动长度。
相关技术中,一种基于级联MZI的光芯片可以实现向量和矩阵的乘法,其中功能可表示为:Y1×N=X1×NWN×N,其中,X1×N和Y1×N是N维向量,WN×N是N×N的矩阵。在一个示意性的例子中,N=4,光芯片包括4个输入端口和4个输出端口,输入信号为X1×4,输出信号为Y1×4,整个光芯片可看作一个4输入4输出的系统,该系统的传输矩阵为W4×4,通过热调谐的方式改变矩阵的值。任意N×N矩阵都可以用级联MZI的方法实现。
在上述方法中只实现了矩阵乘法,需要将卷积分解为多次矩阵乘法运算来实现,即需要多次循环才能计算卷积结果,计算效率较低。并且,MZI的原理是通过调相位来调强度,所以芯片上加的电信号和矩阵中的数据没有直接的对应关系,也就是说,把特定的矩阵映射到该芯片上的过程比较麻烦。
本申请实施例提供一种光计算装置,该光计算装置包括激光器、调制器阵列和波长路由器,通过调制器阵列接收激光器输出不同波长的m个第一光信号,根据其指示的第一数据和调制的第二数据输出多个第二光信号,以便波长路由器将多个第二光信号重新组合得到并输出重新组合后的多个第二光信号,重新组合后的多个第二光信号指示第一数据和第二数据的计算结果,该系统能够一次性实现卷积运算,无需多次循环才能计算卷积结果,大大提高了光学卷积计算效率,节省了光计算资源。
请参考图1,其示出了本申请一个示例性实施例提供的光计算装置的结构示意图。该装置可以包括片上集成光计算系统。该装置包括激光器10、调制器阵列20和波长路由器30。
激光器10用于输出不同波长的m个第一光信号,m个第一光信号指示第一数据,m为大于1的正整数。
调制器阵列20用于接收激光器10输出不同波长的m个第一光信号,根据m个第一光信号指示的第一数据和调制的第二数据输出多个第二光信号。可选地,多个第二光信号指示第一数据中的m个第一元素与第二数据中的n个第二元素两两相乘得到的乘积结果,n为正整数。
波长路由器30用于接收调制器阵列20输出的多个第二光信号,将多个第二光信号重新组合得到并输出重新组合后的多个第二光信号,重新组合后的多个第二光信号指示第一数据和第二数据的计算结果。可选地,第一数据和第二数据的计算结果为第一数据和第二数据的卷积计算结果。
下面,分别对激光器10、调制器阵列20和波长路由器30进行介绍。
激光器10包括光学谐振腔11,光学谐振腔11用于产生不同波长的多个第一光信号。光学谐振腔11包括光波导阵列12和与光波导阵列12连接的波分器件13。即光波导阵列12和波分器件13在光学谐振腔11的内部,光学谐振腔11、光波导阵列12和波分器件13构成激光器10。
光学谐振腔11是光波在其中来回反射从而提供光能反馈的空腔,是激光器10的必要组成部分。光学谐振腔11的两端各有一个反射面,反射面可以通过解理面、刻蚀面、一个或多个解蚀槽等方式来实现,但不一定构成单独的器件,比如可以将增益波导阵列的一侧端面做成深刻蚀面来实现反射。
光波导阵列12用于为光学谐振腔11提供回路增益。光波导阵列12为激光器10提供光放大的增益介质,光波导本身发出宽谱光。光波导阵列12的材料可以选择III-V族材料,刻蚀成波导形状,并以电泵或光泵的形式注入能量。光波导阵列12包括多个光波导,光波导用于为光学谐振腔11提供回路增益,每个光波导对应激光器10的一路输出波长(也称波长)。
波分器件13用于对接收到的光信号进行波分处理。波分器件13是利用光的干涉、耦合、色散等物理现象完成波分处理的器件。可选地,波分器件13包括AWG、EDG、级联MZI,亚波长光栅中的任意一种。本申请实施例对此不加以限定。
其中,激光器10可以是多波长激光器,该激光器10也可以称腔内集成多波长激光器。
其中,调制器阵列20用于对接收到的多个第一光信号的强度进行调制,相当于对输入的多个第一光信号的光强做乘法运算。调制方式通常包括热调方式或者电调方式。电调可以通过掺杂硅波导、电吸收调制器、半导体光放大器(semiconductor opticalamplifier,SOA)等结构实现。当调制器阵列上加载的数据不需要快速变化时,也可以采用相变材料(Phase Change Material,PCM)等方案。本申请实施例对此不加以限定。
其中,波长路由器30是对光信号进行路由的器件,包括多个输入端口和多个输出端口,对任意一个输入端口和任意一个输出端口,总存在一个波长,使之建立连接。波长路由器30是一种根据输入端口和波长决定输出端口的器件。
可选地,波长路由器30的实现方式包括但不限于如下两种:阵列波导光栅路由器(Arrayed waveguide grating router,AWGR),刻蚀衍射光栅路由器(Etched diffractiongrating router,EDGR)。本申请实施例对此不加以限定。
该装置还可以包括探测器阵列40。探测器阵列40用于检测波长路由器的多个输出端口各自对应的光强,根据多个输出端口各自对应的光强,确定第一数据和第二数据的计算结果。
探测器阵列40用于波长路由器的多个输出端口各自对应的光强。可选地,探测器阵列40包括半导体光电二极管阵列、光电导探测器阵列(如光敏电阻阵列)等。本申请实施例对此不加以限定。
下面,采用示例性实施例对本申请实施例提供的光计算方法进行介绍。
请参考图2,其示出了本申请一个示例性实施例提供的光计算方法的流程图,本实施例以该方法用于图1所示的光计算装置中来举例说明。该方法包括以下几个步骤。
步骤201,激光器输出不同波长的m个第一光信号,m个第一光信号指示第一数据,m为大于1的正整数。
其中,激光器的光学谐振腔包括光波导阵列和与光波导阵列连接的波分器件,光波导阵列包括多个光波导,光波导用于为光学谐振腔提供回路增益,波分器件用于确定m个第一光信号各自对应的波长。
可选地,激光器获取待计算的第一数据,根据第一数据输出不同波长的m个第一光信号,其中m个第一光信号是发散的,即m个第一光信号会进入调制器阵列中的每个调制器。
其中,第一数据可以是向量或者矩阵,第一数据包括m个第一元素,第一元素是指第一数据中的元素,即第一数据中的所有元素数量为m。第一数据中的每个第一元素对应一个特定的输出波长。即第一数据中的m个第一元素与m个第一光信号一一对应。
比如,第一数据为向量A=(a1,a2,…,aL),向量A中的每一个元素ai对应一个光波导,而每个光波导对应激光器的一个特定的输出波长,因此每个元素ai对应一个特定的输出波长。
步骤202,调制器阵列接收激光器输出的m个第一光信号,根据m个第一光信号指示的第一数据和调制的第二数据输出多个第二光信号。
可选地,多个第二光信号指示第一数据中的m个第一元素与第二数据中的n个第二元素两两相乘得到的乘积结果,n为正整数。
可选地,调制器阵列包括n个调制器,n个调制器分别加载调制的第二数据中的一个第二元素;每个调制器接收激光器输出不同波长的m个第一光信号,根据m个第一光信号指示的第一数据和调制的一个第二元素输出m个第二光信号。
其中,第二数据可以是向量或者矩阵,第二数据包括n个第二元素,第二元素是指第二数据中的元素,即第二数据中的所有元素数量为n。第二数据中的每个第二元素对应波长路由器的一个输入端口。
比如,调制的第二数据为向量B=(b1,b2,…,bM),向量B中的每一个元素bj对应一个调制器,同时也对应波长路由器的一个输入端口。调制器阵列中的每个调制器接收激光器输出的m个光信号(比如m个光信号指示上述的向量A),通过该调制器上加载的元素bj完成乘法操作,得到多组aibj。
步骤203,波长路由器接收调制器阵列输出的多个第二光信号,将多个第二光信号重新组合得到并输出重新组合后的多个第二光信号,重新组合后的多个第二光信号指示第一数据和第二数据的计算结果。
可选地,根据多个第二光信号的波长和输入端口,将多个第二光信号重新组合得到重新组合后的多个第二光信号,将重新组合后的多个第二光信号从多个输出端口输出,相当于执行卷积运算中的滑动操作。即波长路由器的多个输出端口的数量和计算结果所包括的元素数量是相同的。可选地,计算结果为卷积计算结果,比如该计算结果的表现形式为向量。
其中,第一数据包括m个第一元素,第二数据包括n个第二元素,调制器阵列输出的多个第二光信号的数量等于m*n。重新组合后的多个第二光信号的数量仍为m*n,波长路由器的多个输出端口的数量、计算结果所包括的元素数量均等于m+n-1。
在一种可能的实现方式中,基于上述提供的向量A和向量B,波长路由器的输出端口数量按m+n-1设计并按顺序编号,此时波长路由器的路由法则为:i-j相等的aibj将被路由到同一个输出端口k,输出端口k满足k=m-(i-j),k为正整数。如果只需要计算结果的一部分,可以按此对应关系舍弃多余的波长路由器的输出端口。
比如,m=3,n=3,第一数据为向量A=(a1,a2,a3),第二数据为向量B=(b1,b2,b3),调制器阵列输出的9个第二光信号,9个第二光信号指示第一数据中的元素ai与第二数据中的元素bj两两相乘得到的9个乘积结果,即“a1b1”、“a1b2”、“a1b3”、“a2b1”、“a2b2”、“a2b3”、“a3b1”、“a3b2”、“a3b3”。波长路由器接收调制器阵列输出的9个第二光信号,按照预设的路由法则将这9个第二光信号重新组合后从5个输出端口输出。其中,波长路由器的路由法则可以为:将“i-j=2”对应的一个光信号(指示a3b1的第二光信号)路由到输出端口1,将“i-j=1”的两个光信号(指示a2b1的第二光信号和指示a3b2的第二光信号)路由到输出端口2,将“i-j=0”的三个光信号(指示a1b1的第二光信号、指示a2b2的第二光信号和指示a3b3的第二光信号)路由到输出端口3,将“i-j=-1”的两个光信号(指示a1b2的第二光信号和指示a2b3的第二光信号)路由到输出端口4,将“i-j=-2”对应的一个光信号(指示a1b3的第二光信号)路由到输出端口5。
可选地,探测器阵列检测波长路由器的多个输出端口各自对应的光强,根据多个输出端口各自对应的光强,确定第一数据和第二数据的计算结果。
可选地,探测器阵列检测波长路由器的每个输出端口输出的光信号的光强,根据多个输出端口各自对应的光强,确定第一数据和第二数据的计算结果。
可选地,第一数据和第二数据的计算结果为多个输出端口各自对应的光强所组成的向量,或者,第一数据和第二数据的计算结果与多个输出端口各自对应的光强所组成的向量呈正相关关系(比如正比关系)。
在一个示意性的例子中,如图3,激光器包括两个反射面、光波导阵列和波分器件,波分器件可以采用EDG,光波导阵列的左侧通过刻蚀或解理形成一个反射面,和增益介质后面的刻蚀槽之间形成光学谐振腔,增益介质的作用是为所有谐振波长提供公共增益。激光器输出的光信号为不同波长的多个第一光信号,多个第一光信号的波长数量等于光波导的数量,这些光信号发散地进入调制器阵列中,每个调制器都会接收到所有的不同波长的多个第一光信号。可选地,波长路由器的实施方式有AWGR和EDGR两种。该光计算装置的功能可以是计算向量A和向量B的卷积,其中向量A包含m个元素,向量B包含n个元素。激光器发出m种不同波长的第一光信号,每种波长分别以强度调制的方式加载向量A中的一个元素。调制器阵列中含有n个调制器,分别加载了向量B中的一个元素。第一光信号通过调制器相当于乘法运算,即将向量A的m个元素与向量B的n个元素两两相乘,得到m*n个乘积结果,调制器阵列输出对应的m*n个第二光信号。波长路由器将这m*n个第二光信号重新组合后从m+n-1个输出端口输出,探测器阵列探测每个输出端口输出的光信号的光强,探测器阵列输出的m+n-1个所组成的向量即向量A和向量B的计算结果,其中向量A和向量B的计算结果所包括的元素数量为m+n-1。
基于图1提供的光计算装置,该光计算装置的激光器可以是多波长激光器,也称为腔内集成多波长激光器,根据采用的波分器件的不同,腔内集成多波长激光器的实现方式包括但不限于如下三种。
在一种可能的实现方式中,腔内集成多波长激光器为基于EDG的激光器。如图4所示,光波导阵列的左侧通过深刻蚀等方式形成反射面,和下面的刻蚀槽构成光学谐振腔的两个反射面。
光波导阵列发出的光信号在平板区衍射后照射到EDG的整个光栅面上,被光栅面反射后的光信号互相干涉,特定波长的光信号能够在刻蚀槽的中间处干涉加强,这个波长就是激光器的输出波长。
光波导阵列中的每个光波导对应不同的输出波长,不同波长的光信号的光强由相应的光波导上的驱动电流决定,所有波长的光信号都从同一个点输出并形成发散的光信号。
可选地,腔内集成多波长激光器还包括一个公共增益区,公共增益区用于为所有波长的光信号提供增益。
在另一种可能的实现方式中,腔内集成多波长激光器为基于AWG的激光器。
如图5所示,光波导阵列的左侧有反射面,光波导阵列、AWG和公共增益区依次相连,公共增益区的右侧有反射面,该反射面可以是半反半透面。其中光波导阵列、AWG和两端的反射面构成该激光器的光学谐振腔。
光波导阵列中的每个光波导发出的光信号在星形耦合器中衍射后进入阵列波导,不同的光波导输出的光信号互相干涉,特定波长的光信号能够在输出端口处干涉加强,这个波长就是激光器的输出波长。
光波导阵列中的每个光波导对应不同的输出波长,不同波长的光信号的光强由相应的光波导上的驱动电流决定,所有波长的光信号都从同一个点输出并形成发散的光信号。
在另一种可能的实现方式中,腔内集成多波长激光器为基于级联MZI的激光器。
如图6所示,光波导阵列的左侧有反射面,光波导阵列、级联MZI和公共增益区依次相连,公共增益区的右侧有反射面,该反射面可以是半反半透面。其中光波导阵列、级联MZI和两端的反射面构成该激光器的光学谐振腔。
光信号在两个反射面之间谐振,不同的光波导对应的谐振波长不同,因此对应的激光器输出波长也不同,不同波长的光信号的光强由相应的光波导上的驱动电流决定,所有波长的光信号都从同一个点输出并形成发散的光信号。
需要说明的是,上述实施例提供的装置,在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
综上所述,本申请实施例提供了一种光计算装置,该光计算装置可以为用于卷积加速的片上集成光计算系统,包括激光器、调制器阵列、波长路由器、探测器阵列。激光器和调制器阵列用于加载第一数据和第二数据,波长路由器按照预设的路由法则将光信号重新组合(相当于执行卷积运算中的滑动操作),探测器阵列用于获取最终的计算结果。在一方面,相比与相关技术中的矩阵乘法器芯片(VMM),能够一步计算卷积,无需多次迭代,计算效率高;在另一方面,波长路由器的路由法则是根据预先设置好的,不需要任何外部控制,不产生不必要的功耗;在另一方面,激光器包括光波导阵列和与光波导阵列连接的波分器件,光波导阵列包括多个光波导,光波导用于为光学谐振腔提供回路增益,波分器件用于确定m个第一光信号各自对应的波长,使得激光器输出的光信号为发散光,相比采用其它光源(如激光器阵列或光频梳),激光器后面无需复杂的分光结构。
需要说明的是,附图中的流程图和框图显示了根据本申请的多个实施例的装置、系统、方法的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。
也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行相应的功能或动作的硬件(例如电路或ASIC(Application SpecificIntegrated Circuit,专用集成电路))来实现,或者可以用硬件和软件的组合,如固件等来实现。
尽管在此结合各实施例对本申请进行了描述,然而,在实施所要求保护的本申请过程中,本领域技术人员通过查看所述附图、公开内容、以及所附权利要求书,可理解并实现所述公开实施例的其它变化。在权利要求中,“包括”(comprising)一词不排除其他组成部分或步骤,“一”或“一个”不排除多个的情况。单个处理器或其它单元可以实现权利要求中列举的若干项功能。相互不同的从属权利要求中记载了某些措施,但这并不表示这些措施不能组合起来产生良好的效果。
以上已经描述了本申请的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (13)
1.一种光计算装置,其特征在于,所述装置包括:
激光器,用于输出不同波长的m个第一光信号,所述m个第一光信号指示第一数据,所述m为大于1的正整数,所述激光器的光学谐振腔包括光波导阵列和与所述光波导阵列连接的波分器件,所述光波导阵列包括多个光波导,所述光波导用于为所述光学谐振腔提供回路增益,所述波分器件用于确定所述m个第一光信号各自对应的波长;
调制器阵列,用于接收所述激光器输出的所述m个第一光信号,根据所述m个第一光信号指示的所述第一数据和调制的第二数据输出多个第二光信号;
波长路由器,用于接收所述调制器阵列输出的所述多个第二光信号,将所述多个第二光信号重新组合得到并输出重新组合后的多个第二光信号,所述重新组合后的多个第二光信号指示所述第一数据和所述第二数据的计算结果。
2.根据权利要求1所述的装置,其特征在于,所述多个第二光信号指示所述第一数据中的m个第一元素与所述第二数据中的n个第二元素两两相乘得到的乘积结果,所述n为正整数。
3.根据权利要求1所述的装置,其特征在于,
所述激光器,还用于获取待计算的所述第一数据,根据所述第一数据输出不同波长的所述m个第一光信号,所述第一数据中的所述m个第一元素与所述m个第一光信号一一对应。
4.根据权利要求1至3任一所述的装置,其特征在于,所述调制器阵列包括n个调制器,所述n个调制器用于分别加载调制的所述第二数据中的一个所述第二元素;
每个所述调制器,用于接收所述激光器输出的所述m个第一光信号,根据所述m个第一光信号指示的所述第一数据和调制的一个所述第二元素输出m个所述第二光信号。
5.根据权利要求1至4任一所述的装置,其特征在于,
所述波长路由器,还用于根据所述多个第二光信号的波长和输入端口,将所述多个第二光信号重新组合得到所述重新组合后的多个第二光信号,将所述重新组合后的多个第二光信号从多个输出端口输出。
6.根据权利要求5所述的装置,其特征在于,所述装置还包括探测器阵列;
所述探测器阵列,用于检测所述波长路由器的所述多个输出端口各自对应的光强,根据所述多个输出端口各自对应的光强,确定所述第一数据和所述第二数据的所述计算结果。
7.根据权利要求1至6任一所述的装置,其特征在于,所述波分器件包括阵列波导光栅AWG、刻蚀衍射光栅EDG、级联马赫-曾德干涉仪MZI,亚波长光栅中的任意一种。
8.一种光计算方法,其特征在于,用于光计算装置中,所述光计算装置包括激光器、调制器阵列和波长路由器,所述激光器的光学谐振腔包括光波导阵列和与所述光波导阵列连接的波分器件,所述光波导阵列包括多个光波导,所述光波导用于为所述光学谐振腔提供回路增益,所述波分器件用于确定所述m个第一光信号各自对应的波长,所述方法包括:
所述激光器输出不同波长的m个第一光信号,所述m个第一光信号指示第一数据,所述m为大于1的正整数;
所述调制器阵列接收所述激光器输出的所述m个第一光信号,根据所述m个第一光信号指示的所述第一数据和调制的第二数据输出多个第二光信号;
所述波长路由器接收所述调制器阵列输出的所述多个第二光信号,将所述多个第二光信号重新组合得到并输出重新组合后的多个第二光信号,所述重新组合后的多个第二光信号指示所述第一数据和所述第二数据的计算结果。
9.根据权利要求8所述的方法,其特征在于,所述多个第二光信号指示所述第一数据中的m个第一元素与所述第二数据中的n个第二元素两两相乘得到的乘积结果,所述n为正整数。
10.根据权利要求8所述的方法,其特征在于,所述激光器输出不同波长的m个第一光信号,包括:
所述激光器获取待计算的所述第一数据;
所述激光器根据所述第一数据输出不同波长的所述m个第一光信号,所述第一数据中的所述m个第一元素与所述m个第一光信号一一对应。
11.根据权利要求8至10任一所述的方法,其特征在于,所述调制器阵列包括n个调制器,所述方法还包括:
所述n个调制器分别加载调制的所述第二数据中的一个所述第二元素;
每个所述调制器接收所述激光器输出的所述m个第一光信号;
每个所述调制器根据所述m个第一光信号指示的所述第一数据和调制的一个所述第二元素输出m个所述第二光信号。
12.根据权利要求8至11任一所述的方法,其特征在于,所述波长路由器将所述多个第二光信号重新组合得到并输出重新组合后的多个第二光信号,包括:
所述波长路由器根据所述多个第二光信号的波长和输入端口,将所述多个第二光信号重新组合得到所述重新组合后的多个第二光信号;
所述波长路由器将所述重新组合后的多个第二光信号从多个输出端口输出。
13.根据权利要求12所述的方法,其特征在于,所述装置还包括探测器阵列,所述方法还包括:
所述探测器阵列检测所述波长路由器的所述多个输出端口各自对应的光强;
所述探测器阵列根据所述多个输出端口各自对应的光强,确定所述第一数据和所述第二数据的所述计算结果。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210054701.8A CN116502689A (zh) | 2022-01-18 | 2022-01-18 | 光计算装置及光计算方法 |
PCT/CN2023/072680 WO2023138585A1 (zh) | 2022-01-18 | 2023-01-17 | 光计算装置及光计算方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210054701.8A CN116502689A (zh) | 2022-01-18 | 2022-01-18 | 光计算装置及光计算方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116502689A true CN116502689A (zh) | 2023-07-28 |
Family
ID=87317112
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210054701.8A Pending CN116502689A (zh) | 2022-01-18 | 2022-01-18 | 光计算装置及光计算方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN116502689A (zh) |
WO (1) | WO2023138585A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118394172B (zh) * | 2024-06-26 | 2024-10-01 | 光本位科技(苏州)有限公司 | 一种利用阵列激光器的光子计算阵列及方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019142198A1 (en) * | 2018-01-21 | 2019-07-25 | Infinidome Ltd. | Phased-array anti-jamming device and method |
CN109639359B (zh) * | 2019-01-07 | 2021-10-08 | 上海交通大学 | 基于微环谐振器的光子神经网络卷积层芯片 |
CN112783260A (zh) * | 2019-11-01 | 2021-05-11 | 华为技术有限公司 | 一种光计算设备、光运算方法以及计算系统 |
CN112883534A (zh) * | 2019-11-30 | 2021-06-01 | 华为技术有限公司 | 一种光计算设备以及光信号处理方法 |
CN113688353A (zh) * | 2020-05-18 | 2021-11-23 | 华为技术有限公司 | 光计算芯片以及光计算装置 |
US12050997B2 (en) * | 2020-05-27 | 2024-07-30 | International Business Machines Corporation | Row-by-row convolutional neural network mapping for analog artificial intelligence network training |
US11556312B2 (en) * | 2020-07-10 | 2023-01-17 | International Business Machines Corporation | Photonic in-memory co-processor for convolutional operations |
CN111882052B (zh) * | 2020-08-19 | 2022-11-22 | 北京大学 | 光子卷积神经网络系统 |
CN112506265B (zh) * | 2020-11-13 | 2024-08-09 | 华为技术有限公司 | 一种光计算装置以及计算方法 |
-
2022
- 2022-01-18 CN CN202210054701.8A patent/CN116502689A/zh active Pending
-
2023
- 2023-01-17 WO PCT/CN2023/072680 patent/WO2023138585A1/zh unknown
Also Published As
Publication number | Publication date |
---|---|
WO2023138585A1 (zh) | 2023-07-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10656336B1 (en) | Method for phase-based photonic computing | |
CN103678258B (zh) | 一种提高硅基光学矩阵处理器数据分辨率的方法 | |
KR20210020912A (ko) | 광자 처리 시스템들 및 방법들 | |
CN112232503B (zh) | 计算装置、计算方法以及计算系统 | |
Tait | Quantifying power in silicon photonic neural networks | |
WO2022160784A1 (zh) | 一种光计算装置、系统及卷积计算方法 | |
CN112506265B (zh) | 一种光计算装置以及计算方法 | |
US20240127040A1 (en) | Photonic accelerator for deep neural networks | |
CN117077750B (zh) | 一种并行光子卷积运算芯片及系统 | |
US20240063936A1 (en) | Systems and methods for utilizing photonic degrees of freedom in a photonic processor | |
Dang et al. | BPLight-CNN: A photonics-based backpropagation accelerator for deep learning | |
WO2023138585A1 (zh) | 光计算装置及光计算方法 | |
Chen et al. | Iterative photonic processor for fast complex-valued matrix inversion | |
CN114565091A (zh) | 光学神经网络装置、芯片及神经网络计算的光学实现方法 | |
CN116739063A (zh) | 一种基于多模干涉仪以及相干检测的神经网络加速器 | |
Boikov et al. | Direct coupling of nonlinear integrated cavities for all-optical reservoir computing | |
Chen et al. | I/O-efficient iterative matrix inversion with photonic integrated circuits | |
CN112232487A (zh) | 光学神经网络芯片及其计算方法 | |
US20230142781A1 (en) | Photonic Ising Compute Engine with An Optical Phased Array | |
CN117709423B (zh) | 一种深度神经网络光子加速芯片及其运算系统 | |
CN118821880A (zh) | 光学系统、数据处理方法和计算系统 | |
Nakajima | Parallel neuromorphic computing on space and wavelength division multiplexed photonic processor | |
WO2023091675A1 (en) | Optical neural network with gain from parity time optical couplers | |
CN117332836A (zh) | 一种片上光计算装置 | |
CN115641494A (zh) | 一种基于微环调制器的神经网络图像处理系统 |
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 |