CN111723337B - 用于神经网络训练的光子张量核集成电路架构及其神经网络训练方法 - Google Patents
用于神经网络训练的光子张量核集成电路架构及其神经网络训练方法 Download PDFInfo
- Publication number
- CN111723337B CN111723337B CN202010546193.6A CN202010546193A CN111723337B CN 111723337 B CN111723337 B CN 111723337B CN 202010546193 A CN202010546193 A CN 202010546193A CN 111723337 B CN111723337 B CN 111723337B
- Authority
- CN
- China
- Prior art keywords
- matrix
- array
- neural network
- dot product
- optical
- 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.)
- Active
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/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- 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/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Optical Integrated Circuits (AREA)
Abstract
一种用于矩阵计算的光子张量核集成电路的硬件架构及其神经网络训练方法。基于光电混合相干探测与电子累积原理,实现了一种集成化的光子点积计算单元(以下简称DPU),并且将DPU阵列式排布,形成大规模并行化的矩阵乘法计算硬件,即张量核。通过双层扇入波导总线设计,实现了二维大规模DPU阵列的互连。本发明还具体提出了将光子张量核集成电路应用于神经网络训练中的方法。本发明实现高速数据加载与高速矩阵计算;避免的了光电时钟速率不匹配导致的木桶短板效应;双层波导总线设计避免波导交叉的损耗与串扰;可以应用于所有包含矩阵计算的算法中,包括神经网络推理与训练。
Description
技术领域
本发明涉及神经网络,特别是一种光子张量核集成电路架构及其神经网络训练方法。
技术背景
矩阵计算作为最基础的线性数学计算,是现代算法的核心计算单元,广泛应用在包括人工智能、机器学习、自动控制、通信系统等众多系统中。特别是神经网络计算(包括推理与训练)中,矩阵计算被大量使用,成为神经网络计算量最大的部分。近年来,随着深度学习和神经网络技术的发展,需要的矩阵计算资源每三个半月翻一番,导致目前支撑神经网络计算的硬件条件逐渐吃紧。在传统的通用计算机中,矩阵计算在中央处理器(CPU)中执行,由于中央处理器注重通用性,使用了更丰富的指令集但其并行化程度低(通常几个核心),矩阵计算的效率相对较低。随后,图形处理器(GPU)由于其更高的并行化(数千个核心),替代了CPU作为最重要的神经网络计算硬件。由于矩阵计算所需要的计算指令简单,只需要执行乘法与加法计算,使用更精简的指令集和更高的并行度将再一次突破矩阵计算的效率。因此,张量处理器(TPU)被成功实现。在谷歌公司发布的第一代TPU中,数字表示精度降低到8位但集成了65536个乘加核心,从而将矩阵计算效率提升到了电子技术目前的最高水平(约1pJ/MAC)。然而,电子技术始终面临着时钟速率受限、能量效率受限等瓶颈问题,难以将计算效率进一步提升。
在此背景下,光子计算硬件成为了突破电子技术瓶颈的有效途径。光子计算硬件的最大特征为数据传输无能量消耗和超高的时钟速率,这两点特征保证了光子计算硬件在执行矩阵乘法时有潜力突破现有电子技术的最高水平。目前,光子神经网络技术(专用于神经网络计算的光子硬件)开始起步,大量的硬件架构被提出。但在众多的光子神经网络架构中,大量关注在神经网络推理上,少有针对于神经网络训练的架构提出。然而,从目前的神经网络技术发展角度看,神经网络训练是面临电子技术瓶颈最严重的领域,因此,一种针对于高效神经网络训练的光子硬件架构将成为解决电子技术瓶颈问题的关键所在。
发明内容
本发明的目的在于针对上述现有技术的不足,提出一种用于神经网络训练的光子张量核集成电路(以下简称光子张量核)的硬件架构。基于光电混合相干探测与电子累积原理,实现了集成化的光子点积计算单元(以下简称DPU),并且将DPU阵列式排布,形成大规模并行化的矩阵乘法计算硬件。通过双层扇入波导总线设计,实现了二维大规模DPU阵列的互连。
本发明还提出了将光子张量核应用于神经网络训练中的方法。
简要说明矩阵乘法的数学原理。
设两个相乘的矩阵A与B,其矩阵乘法输出矩阵为C=AB。其中A的维度为M×S,B的维度为S×N,通过矩阵乘法,输出矩阵C的维度为M×N。C中的每一个元素都是通过A矩阵的行与B矩阵的列进行点乘运算得到,如下:
其中,Cij表示C矩阵中的第i行第j列元素。因此,计算C=AB总共需要进行M×N次点积运算。
本发明光子张量核集成电路,其特点在于,主要结构包含脉冲光源、分光器阵列、A矩阵调制器阵列、B矩阵调制器阵列、层间耦合器阵列、上层总线波导、下层总线波导、点积单元阵列组成。
在芯片上,光的传输媒介为集成光波导,集成光波导分为上层光波导和下层光波导。
光子张量核的各部件功能描述如下。
脉冲光源提供相干的光脉冲序列。
分光器阵列将光脉冲序列分成2*Q个光脉冲序列副本,其中Q个光脉冲序列副本进入A矩阵调制器阵列,另外Q个进入B矩阵调制器阵列,进入A矩阵调制器阵列的光脉冲序列副本数目应大于等于A矩阵的行数(Q≥M),进入B矩阵调制器阵列的光脉冲序列副本数目应大于等于B矩阵的列数(Q≥N)。
A矩阵调制器阵列包含并行的Q个光调制器,可将矩阵A的数据按行进行幅度调制,调制后,形成Q路调制光脉冲序列,每一路光脉冲序列表示A中一行的数据,比如第i路光脉冲序列的幅度分别为Ai1,Ai2,Ai3…。
B矩阵调制器阵列包含并行的Q个光调制器,可将矩阵B的数据按列进行幅度调制,调制后,形成Q路调制光脉冲序列,每一路光脉冲序列表示B中一列的数据,比如第j路光脉冲序列的幅度分别为B1j,B2j,B3j…。
层间耦合器阵列包含Q个并行的层间耦合器,可将A矩阵调制器阵列输出(或者B矩阵调制器阵列输出)的光脉冲序列从上层波导耦合到下层波导(或从下层波导耦合到上层波导),由于结构的对称性,选择将层间耦合器阵列连接在A矩阵调制器阵列输出后端或者B矩阵调制器阵列输出后端均可以等效地完成功能,同理,利用层间耦合器阵列将光脉冲序列从下层耦合至上层或从上层耦合至下层均可以等效地完成功能。
上层波导总线包含Q路并行的光波导,将上层的光脉冲序列传输至点积单元阵列;下层波导总线包含Q路并行的光波导,将下层的光脉冲序列传输至点积单元阵列。
上层波导总线与下层波导总线相互交叉形成Q*Q个交叉点,每个交叉点部署一个点积单元,因此,点积单元阵列包含Q*Q个点积单元,每个点积单元完成一次如式(1)所示的点积计算,从而整个点积单元阵列同时完成Q*Q次点积计算。因为Q≥M且Q≥N,所以可以完成A矩阵与B矩阵的矩阵乘法。
上下层波导总线的长度必须满足等腰性原则:即从某一个交叉点出发,到A矩阵调制器阵列和到B矩阵调制器阵列的光程相等。所有的交叉点必须满足上述要求。由于波导设计的任意性,上下层波导总线可以任意弯曲,按照上述等腰性原则设计的波导结构均属于本发明保护范围。
上述的部件必须在芯片上集成的包括层间耦合器阵列、上层总线波导、下层总线波导和点积单元阵列,其余的脉冲光源、分光器阵列、A矩阵调制器阵列、B矩阵调制器阵列根据实际光子芯片制备能力择优地选择集成在芯片上或者利用仪器或者分立器件实现。
以层间耦合器阵列位于A矩阵调制器阵列之后且将光脉冲序列从上层波导耦合到下层波导为例(上文描述了其余情况的等效性),本发明光子张量核的各部件连接方式为:脉冲光源的光输出连接至分光器阵列光输入;分光器阵列有2*Q个光输出,其中Q个连接A矩阵调制器阵列的Q个光输入,另外Q个连接B矩阵调制器阵列的Q个光输入;A矩阵调制器阵列具有Q个电输入用于接收数据输入,A矩阵调制器阵列的Q个光输出连接层间耦合器阵列的Q个光输入;层间耦合器阵列的Q个光输出连接下层波导总线的Q个光输入;B矩阵调制器阵列的Q个光输出连接上层波导总线的Q个光输入。由于上层波导总线与下层波导总线都由Q路并行的光波导组成,并且相互交叉,因此形成Q*Q个交叉点,在每一个交叉点位置,上层波导总线与下层波导总线各有一个光输出;这两个光输出连接一个点积单元的两路光输入,经过如上配置,位于第i行第j列的点积单元输入的两路光脉冲序列携带的数据分别为A矩阵的第i行和B矩阵的第j列,从而可以完成A矩阵的行与B矩阵的列之间的点积计算。每一个点积单元内部包含了光域到电域的转换,具有一个电输出,即计算结果输出,点积单元阵列共有Q*Q个矩阵式的计算结果输出。
点积单元阵列包含Q*Q个点积单元,以位于第i行第j列的点积单元为例,单个点积单元的结构组成如下:两路光输入,一路从下层波导总线分光获得,分光比为1:(Q-j),携带的数据为A矩阵的第i行,另一路从上层波导总线分光获得,分光比为1:(Q-i),携带的数据为B矩阵的第j列;位于下层的光输入(即A矩阵的第i行)通过一个层间耦合器将光脉冲序列耦合到上层;位于上层的光输入(即B矩阵的第j列)通过一个移相器调整光脉冲序列的相位,为后续相干探测做准备;随后,两路光脉冲序列经过一个3dB光定向耦合器进行干涉,输出两路光脉冲序列分别进入平衡光电探测器的两路光输入;平衡光电探测器的电输出连接一个电容器,电容器另一端接地;电容器两端跨接一个初始状态为打开的电开关;电容器的电压值即为计算结果输出值。点积单元的物理原理如下。两路输入的光脉冲序列,其中一路序列的幅度分别为Ai1/Q,Ai2/Q,Ai3/Q…,另一路序列的幅度分别为B1j/Q,B2j/Q,B3j/Q…,两路光脉冲序列的相位差为π/2,则平衡探测器输出的光电流脉冲幅度正比于Ai1B1j,Ai2B2j,Ai3B3j…,这些光电流脉冲在电容器上以电荷的形式积累,当S个光脉冲序列全部输入到点积单元中后,最终探测到的电压正比于这些光电流脉冲幅值的累计值,数学表达即为:
可见,上述物理过程得到的结果与式(1)描述的点积数学原理等效。通过将单个点积单元阵列化,可以完成A矩阵与B矩阵的矩阵乘法,输出C矩阵。每次矩阵乘法计算完成后,将所有电容器上跨接的开关闭合,将累计的电荷放电,为下一次矩阵乘法做准备。
在上述矩阵乘法的基础上,可以利用光子张量核完成神经网络训练。神经网络的训练包含了正向传播和反向传播两个阶段,但是其根本的线性计算全部为矩阵乘法计算。下式描述了神经网络其中一层的正向传播原理:
Zl=Wl·Xl-1Xl=fl(Zl). (3)
式中,Xl-1和Xl表示第l-1层和第l层的值,Zl表示经过矩阵乘法的中间值,均为矩阵形式;Wl表示权值矩阵。fl表示第l层的激活函数。上式可见,一层神经网络的正向传播包含一次矩阵乘法和一次激活函数,矩阵乘法可以由光子张量核计算获得,而激活函数可以在额外的电信号处理器中完成。下面三式描述了神经网络其中一层的反向传播原理:
其中,δl、dL/dWl、Λl、Λl-1、Xl-1均为矩阵形式,式(5)和式(6)均可通过光子张量核进行矩阵乘法得到结果;而式(4)为按位乘计算,可以通过额外的电信号处理器完成。值得注意的是,矩阵乘法占上述所有的计算的总计算量的绝大部分,通过本发明提出的光子张量核可以以极高的效率与速率完成上述矩阵乘法计算,从而高效高速的完成神经网络的训练(包括正向传播和反向传播)。
本发明的技术优势在于:
(1)高速光子时钟实现高速数据加载与高速矩阵计算;
(2)只需低速电子探测系统,避免的了光电时钟速率不匹配导致的木桶短板效应;
(3)超高的并行化提升矩阵计算的效率;
(4)双层波导总线设计避免波导交叉的损耗与串扰;
(5)可以应用于所有包含矩阵计算的算法中,包括神经网络推理与训练。
附图说明
图1为本发明光子张量核集成电路架构实施例的部件构成和连接方式。
图2为本发明光子张量核集成电路架构中点积单元实施例的结构图。描述了点积单元的结构与数学原理。
图3为利用本发明光子张量核集成电路进行神经网络训练的原理示意图,其中(a)为单层神经网络的正向传播与反向传播原理示意图,(b)为利用光子张量核进行正向传播与反向传播中的矩阵乘法计算的示意图。
具体实施方式
下面结合附图和实施例对本发明的技术方案作详细说明,给出了详细的实施方式和结构,但本发明的保护范围不限于下述的实施例。
参见图1,图中描述了本发明光子张量核实施例的部件构成和连接方式。由图可见,本发明用于神经网络训练的光子张量核集成电路架构,主要结构包含脉冲光源100、分光器阵列200、A矩阵调制器阵列300、B矩阵调制器阵列400、层间耦合器阵列500、上层总线波导600、下层总线波导700、点积单元阵列800组成。实施例中Q取值为4。
脉冲光源100提供相干的光脉冲序列。
分光器阵列200将光脉冲序列平均分成8个光脉冲序列副本,其中4个光脉冲序列副本进入A矩阵调制器阵列300,另外4个进入B矩阵调制器阵列400,因此上述实施例可以满足输出矩阵C维度小于等于4*4的矩阵乘法计算。
A矩阵调制器阵列300包含并行的4个光调制器301,可将矩阵A的数据按行进行幅度调制,调制后,形成4路调制光脉冲序列,每一路光脉冲序列表示A中一行的数据,比如第1路光脉冲序列的幅度分别为A11,A12,A13…。
B矩阵调制器阵列400包含并行的4个光调制器301,可将矩阵B的数据按列进行幅度调制,调制后,形成4路调制光脉冲序列,每一路光脉冲序列表示B中一列的数据,比如第2路光脉冲序列的幅度分别为B12,B22,B32…。
层间耦合器阵列500包含4个并行的层间耦合器501,可将A矩阵调制器阵列300输出(或者B矩阵调制器阵列400输出)的光脉冲序列从上层波导耦合到下层波导(或从下层波导耦合到上层波导),实施例中展示了将A矩阵调制器阵列300输出的光脉冲序列从上层波导耦合到下层波导。
上层波导总线600包含4路并行的光波导,将上层的光脉冲序列传输至点积单元阵列800;下层波导总线700包含4路并行的光波导,将下层的光脉冲序列传输至点积单元阵列800。
上层波导总线600与下层波导总线700相互交叉形成4*4=16个交叉点,每个交叉点部署一个点积单元810,因此,点积单元阵列包含16个点积单元810,每个点积单元完成一次如式(1)所示的点积计算,从而整个点积单元阵列800同时完成16次点积计算。
为保证波导总线等腰性原则,本实施例中采用了等腰直角三角形的布置方案。
参见图2,图中描述了点积单元810的结构与物理原理。由图可见,单个点积单元810(设其位于第i行第j列)的结构组成如下:两路光输入,一路从下层波导总线分光811获得,分光比为1:4-j,携带的数据为A矩阵的一行,另一路从上层波导总线分光811获得,分光比为1:4-i,携带的数据为B矩阵的一列;位于下层的光输入通过一个层间耦合器812将光脉冲序列耦合到上层;位于上层的光输入通过一个移相器813调整光脉冲序列的相位,为后续相干探测做准备;随后,两路光脉冲序列经过一个3dB光定向耦合器814进行干涉,输出两路光脉冲序列分别进入平衡光电探测器815的两路光输入;平衡光电探测器815的电输出连接一个电容器816,电容器另一端接地;电容器两端跨接一个电开关817;电容器的电压值即为计算结果输出值。点积单元810的物理原理如下。两路输入的光脉冲序列,其中一路序列的幅度分别为Ai1/Q,Ai2/Q,Ai3/Q…,另一路序列的幅度分别为B1j/Q,B2j/Q,B3j/Q…,两路光脉冲序列的相位差为π/2,则平衡探测器815输出的光电流脉冲幅度正比于Ai1B1j,Ai2B2j,Ai3B3j…,这些光电流脉冲在电容器816上以电荷的形式积累,当S个(图中为6个)光脉冲序列全部输入到点积单元中后,最终探测到的电压正比于这些光电流脉冲幅值的累计值,数学表达即为
可见,上述物理过程得到的结果与式(1)描述的点积数学原理等效。通过将单个点积单元阵列化,可以完成A矩阵与B矩阵的矩阵乘法,输出C矩阵。矩阵乘法计算完成后,将所有电容器816上跨接的开关817闭合,将累计的电荷放电,为下一次矩阵乘法做准备。
参见图3,图中描述了利用本发明提出一种光子张量核进行神经网络训练的原理。图3(a)表示了单层神经网络的正向传播与反向传播的数学原理,多层神经网络是由单层神经网络连接而成。神经网络的训练包含了正向传播和反向传播两个阶段,但是其根本的线性计算全部为矩阵乘法计算。下式描述了神经网络其中一层的正向传播原理:
Zl=Wl·Xl-1 (901)
Xl=fl(Zl). (902)
式中,Xl-1和Xl表示第l-1层和第l层的值,Zl表示经过矩阵乘法的中间值,均为矩阵形式;Wl表示权值矩阵。fl表示第l层的激活函数。上式可见,一层神经网络的正向传播包含一次矩阵乘法901和一次激活函数902,矩阵乘法901可以由光子张量核集成电路计算获得,而激活函数902可以在辅助的电信号处理器中完成。下面三式描述了神经网络其中一层的反向传播原理:
其中δl,dL/dWl,Λl,Λl-1,Xl-1均为矩阵形式,上述公式中的矩阵乘法对应了图3中的904与905,均可以由光子张量核计算完成;而上述第一个公式中的按位乘计算(对应图3中的903),可以通过额外的电信号处理器完成。值得注意的是,矩阵乘法所需要的计算量占上述所有计算的总计算量的绝大部分,通过本发明提出的光子张量核可以以极高的效率与速率完成上述矩阵乘法计算,从而高效高速的完成神经网络的训练(包括正向传播和反向传播)。图3(b)展示了通过输入神经网络中的不同矩阵(例如W和X),可以在光子张量核的计算下得到相应的输出矩阵(例如Z),而所有神经网络正向与反向传播中涉及到的矩阵乘法计算均可以由图3(b)中所示的矩阵输出输出模式进行计算。
Claims (4)
1.一种用于神经网络训练的光子张量核集成电路架构,其特征在于,包含脉冲光源(100)、分光器阵列(200)、A矩阵调制器阵列(300)、B矩阵调制器阵列(400)、层间耦合器阵列(500)、上层总线波导(600)、下层总线波导(700)和点积单元阵列(800);
所述的分光器阵列(200)具有2*Q个分光输出端,所述的A矩阵调制器阵列(300)包含并行的Q个光调制器,所述的B矩阵调制器阵列(400)包含并行的Q个光调制器,所述的上层总线波导(600)包含Q根上层波导,所述的下层总线波导(700)包含Q根下层波导,所述的层间耦合器阵列(500)包含Q个层间耦合器(501);
所述的点积单元阵列(800)包含Q*Q个点积单元(810),每个点积单元(810)包括一个第二层间耦合器(812)、一个移相器(813)、一个3dB光定向耦合器(814)、两个平衡光电探测器(815)、一个电容器(816)和一个电开关(817),所述的第二层间耦合器(812)的输入端为一个光输入端,所述的移相器(813)的输入端为另一个光输入端,所述的第二层间耦合器(812)的输出端和所述的移相器(813)的输出端分别与所述的3dB光定向耦合器(814)的两个输入端相连,该3dB光定向耦合器(814)的两个输出端分别与两个平衡光电探测器(815)的输入端相连,所述的平衡光电探测器(815)的电输出端连接一个电容器(816)的一端,该电容器(816)的另一端接地;该电容器(816)的两端跨接一个电开关(817);
所述的脉冲光源(100)的输出端与所述的分光器阵列(200)的输入端相连,所述的分光器阵列(200)的Q个输出端与所述的A矩阵调制器阵列(300)的Q个输入端相连,另外Q个输出端与所述的B矩阵调制器阵列(400)的Q个输入端相连,所述的A矩阵调制器阵列(300)的Q个输出端分别与所述的下层总线波导(700)相连,并经所述的层间耦合器阵列(500)与所述的点积单元阵列(800)包含Q*Q个点积单元(810)的一个输入端相连,所述的B矩阵调制器阵列(400)的Q个输出端经所述的上层总线波导(600)与所述的点积单元阵列(800)包含Q*Q个点积单元(810)的另一输入端相连;
所述的脉冲光源(100)提供相干的光脉冲序列,所述的分光器阵列(200)将光脉冲序列分成2*Q个光脉冲序列副本,其中Q个光脉冲序列副本进入所述的A矩阵调制器阵列(300),另外Q个光脉冲序列副本进入所述的B矩阵调制器阵列(400),进入A矩阵调制器阵列(300)的光脉冲序列副本数目大于等于A矩阵的行数,进入所述的B矩阵调制器阵列(400)的光脉冲序列副本数目大于等于B矩阵的列数;
所述的A矩阵调制器阵列(300)包含并行的Q个光调制器,将矩阵A的数据按行进行幅度调制,调制后,形成Q路调制光脉冲序列,每一路光脉冲序列表示A中一行的数据,即第i路光脉冲序列的幅度分别为Ai1,Ai2,Ai3…;所述的B矩阵调制器阵列(400)包含并行的Q个光调制器,将矩阵B的数据按列进行幅度调制,调制后,形成Q路调制光脉冲序列,每一路光脉冲序列表示B中一列的数据,即第j路光脉冲序列的幅度分别为B1j,B2j,B3j…;
所述的层间耦合器阵列(500)包含Q个并行的层间耦合器(501),所述的Q个层间耦合器(501)将所述的A矩阵调制器阵列(300)输出或者B矩阵调制器阵列(400)输出的光脉冲序列从上层总线波导(600)耦合到下层总线波导(700)或从下层总线波导(700)耦合到上层总线波导(600);
所述的上层总线波导(600)和下层总线波导(700)的长度满足等腰性,即从任意一个点积单元(810)出发,到A矩阵调制器阵列(300)和到B矩阵调制器阵列(400)的光程相等;
所述的上层总线波导(600)与所述的下层总线波导(700)相互交叉形成Q*Q个交叉点,每个交叉点部署一个点积单元(810),即所述的点积单元阵列(800)包含Q*Q个点积单元(810),每个点积单元(810)完成一次点积计算,从而整个点积单元阵列(800)同时完成Q*Q次点积计算;
每一个点积单元(810)内部包含了光域到电域的转换,具有一个电输出,即计算结果输出,点积单元阵列(800)共有Q*Q个矩阵式的计算结果输出。
2.根据权利要求1所述的一种用于神经网络训练的光子张量核集成电路架构,其特征在于,需要在芯片上集成的器件包括层间耦合器阵列(500)、上层总线波导(600)、下层总线波导(700)和点积单元阵列(800),其余部件包括脉冲光源(100)、分光器阵列(200)、A矩阵调制器阵列(300)、B矩阵调制器阵列(400),根据实际光子芯片制备能力择优地集成在芯片上或者利用仪器或者分立器件实现。
3.根据权利要求1所述的一种用于神经网络训练的光子张量核集成电路架构,其特征在于,所述的点积单元(810)的物理原理如下:两路输入的光脉冲序列,其中一路序列的幅度分别为Ai1/Q,Ai2/Q,Ai3/Q…,另一路序列的幅度分别为B1j/Q,B2j/Q,B3j/Q…,两路光脉冲序列的相位差为π/2,则所述的平衡光电探测器(815)输出的光电流脉冲幅度正比于Ai1B1j,Ai2B2j,Ai3B3j…,这些光电流脉冲在电容器(816)上以电荷的形式积累,当S个光脉冲序列全部输入到点积单元(810)中后,最终探测到的电压正比于这些光电流脉冲幅值的累计值,数学表达即为:
上述物理原理得到的结果与点积数学原理等效,通过将单个点积单元(810)阵列化,完成A矩阵与B矩阵的矩阵乘法,输出C矩阵,每次矩阵乘法计算完成后,将所有电容器上跨接的开关闭合,将累计的电荷放电,为下一次矩阵乘法做准备;
4.利用权利要求1所述的光子张量核集成电路进行神经网络训练的方法,其特征在于,该神经网络训练的方法实施还需要电子信号处理器的辅助,具体包括如下步骤:
a)训练需要的条件:待训练的神经网络模型、训练数据集、参数更新方法、训练重复次数N或误差函数终止预设值ε,其中训练数据集包含输入数据与标签数据;下述的具体步骤只描述如何在训练过程中将矩阵乘法合理的加载到光子张量核集成电路中进行计算,不涉及到如何设计和获取神经网络模型、训练数据集与参数更新方法;
b)正向传播:假设待训练的神经网络模型共有L层,L为正整数;以第l层的神经网络正向传播为例,每一层神经网络的正向传播包含两个计算步骤,一是利用光子张量核集成电路计算矩阵乘法,将矩阵Wl和Xl-1作为矩阵A和B输入到光子张量核集成电路中进行矩阵乘法计算,二是矩阵乘法结果的激活函数计算,将计算结果输入辅助的电子信号处理器进行激活函数计算,公式如下:
Zl=Wl·Xl-1 (901)
Xl=fl(Zl) (902)
式中,Xl-1和Xl表示第l-1层和第l层的值,Zl表示经过矩阵乘法的中间值,均为矩阵形式;Wl表示权值矩阵,fl表示第l层的激活函数,通常激活函数使用ReLU函数、Sigmoid函数、Tanh函数,具体使用根据待训练的神经网络模型的设计确定;所述的矩阵乘法901由光子张量核集成电路计算获得,而激活函数902在辅助的电信号处理器中完成;
c)误差函数计算:按照步骤a)的方式逐层计算神经网络的正向传播直至最终神经网络的输出结果,即第L层的神经网络激活函数计算902的结果,将训练集中的标签数据作为参考结果,在辅助的电子信号处理器中计算输出结果与参考结果的误差函数,误差函数的计算方式通常有L1正则、L2正则、交叉熵,具体根据待训练的神经网络模型确定;
d)反向传播:根据步骤c)中计算得到的误差函数,计算反向传播:反向传播包括误差激活函数计算903、误差矩阵计算904与参数梯度计算905,计算公式如下:
δl=Λl⊙f'l(Zl), (903)
Λl-1=Wl T·δl, (904)
式中,δl、dL/dWl、Λl、Λl-1、Xl-1均为矩阵形式,利用辅助的电子信号处理器进行误差激活函数计算903,利用光子张量核集成电路进行误差矩阵计算904与参数梯度计算905,将矩阵WT l和δl作为A和B矩阵输入光子张量核集成电路,可以执行误差矩阵计算904;将矩阵δl和XT l-1作为矩阵A和B输入光子张量核集成电路,可以执行参数梯度计算905;由上述公式计算获得每一层神经网络的参数梯度计算905结果;
e)根据参数梯度计算905的结果更新带训练的神经网络的每一层参数值Wl,通常的参数更新方法有梯度下降法、自适应梯度下降法、自适应动量法,具体参数更新方法根据步骤a)中预设的参数更新方法确定;在完成一次参数更新后即完成一次神经网络训练迭代;
f)重复进行b)-e)的计算步骤,直到达到预设的重复次数N,或者步骤c)计算的误差函数小于误差函数终止预设值ε之后即可终止训练。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010546193.6A CN111723337B (zh) | 2020-06-16 | 2020-06-16 | 用于神经网络训练的光子张量核集成电路架构及其神经网络训练方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010546193.6A CN111723337B (zh) | 2020-06-16 | 2020-06-16 | 用于神经网络训练的光子张量核集成电路架构及其神经网络训练方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111723337A CN111723337A (zh) | 2020-09-29 |
CN111723337B true CN111723337B (zh) | 2023-02-07 |
Family
ID=72566885
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010546193.6A Active CN111723337B (zh) | 2020-06-16 | 2020-06-16 | 用于神经网络训练的光子张量核集成电路架构及其神经网络训练方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111723337B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113051523B (zh) * | 2021-03-16 | 2023-02-24 | 深圳前海黑顿科技有限公司 | 一种用于快速计算矩阵乘法的光学装置 |
CN113452449B (zh) * | 2021-07-08 | 2022-05-17 | 上海交通大学 | 对时域信号进行酉矩阵计算的光学装置 |
CN114399038B (zh) * | 2022-03-24 | 2023-04-07 | 苏州浪潮智能科技有限公司 | 一种光学神经网络训练方法、装置、设备及介质 |
CN114815959B (zh) * | 2022-06-27 | 2022-11-01 | 之江实验室 | 一种基于波分复用的光子张量计算加速方法及装置 |
CN116932459A (zh) * | 2023-08-02 | 2023-10-24 | 光本位科技(苏州)有限公司 | 用于片上大规模矩阵乘法运算的光电混合计算方法及阵列 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201703046A (zh) * | 2015-04-16 | 2017-01-16 | 慧與發展有限責任合夥企業 | 用以執行乘法累加運算之電阻式記憶體陣列 |
CN109272110A (zh) * | 2018-10-31 | 2019-01-25 | 上海交通大学 | 基于光子神经网络芯片的光电融合智能信号处理系统 |
CN109639359A (zh) * | 2019-01-07 | 2019-04-16 | 上海交通大学 | 基于微环谐振器的光子神经网络卷积层芯片 |
WO2019222185A1 (en) * | 2018-05-15 | 2019-11-21 | Lightmatter, Inc. | Photonic processing systems and methods |
CN111095303A (zh) * | 2017-07-11 | 2020-05-01 | 麻省理工学院 | 光学伊辛机器以及光学卷积神经网络 |
CN111208865A (zh) * | 2018-11-22 | 2020-05-29 | 南京大学 | 光电计算单元、光电计算阵列及光电计算方法 |
-
2020
- 2020-06-16 CN CN202010546193.6A patent/CN111723337B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201703046A (zh) * | 2015-04-16 | 2017-01-16 | 慧與發展有限責任合夥企業 | 用以執行乘法累加運算之電阻式記憶體陣列 |
CN111095303A (zh) * | 2017-07-11 | 2020-05-01 | 麻省理工学院 | 光学伊辛机器以及光学卷积神经网络 |
WO2019222185A1 (en) * | 2018-05-15 | 2019-11-21 | Lightmatter, Inc. | Photonic processing systems and methods |
CN109272110A (zh) * | 2018-10-31 | 2019-01-25 | 上海交通大学 | 基于光子神经网络芯片的光电融合智能信号处理系统 |
CN111208865A (zh) * | 2018-11-22 | 2020-05-29 | 南京大学 | 光电计算单元、光电计算阵列及光电计算方法 |
CN109639359A (zh) * | 2019-01-07 | 2019-04-16 | 上海交通大学 | 基于微环谐振器的光子神经网络卷积层芯片 |
Also Published As
Publication number | Publication date |
---|---|
CN111723337A (zh) | 2020-09-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111723337B (zh) | 用于神经网络训练的光子张量核集成电路架构及其神经网络训练方法 | |
Nahmias et al. | Photonic multiply-accumulate operations for neural networks | |
De Marinis et al. | Photonic neural networks: A survey | |
CN109784486B (zh) | 一种光学神经网络处理器及其训练方法 | |
US11238336B2 (en) | Optical convolutional neural network accelerator | |
Sunny et al. | A survey on silicon photonics for deep learning | |
CN109639359A (zh) | 基于微环谐振器的光子神经网络卷积层芯片 | |
CN109784485B (zh) | 一种光学神经网络处理器及其计算方法 | |
KR20220039775A (ko) | 선형 포토닉 프로세서를 이용한 아날로그 계산을 위한 시스템들 및 방법들 | |
WO2022032105A1 (en) | Coherent photonic computing architectures | |
WO2020191217A1 (en) | Optoelectronic computing systems | |
TW202147060A (zh) | 光電計算系統 | |
Dang et al. | BPLight-CNN: A photonics-based backpropagation accelerator for deep learning | |
Hamerly | The future of deep learning is photonic: Reducing the energy needs of neural networks might require computing with light | |
Krasilenko et al. | The structures of optical neural nets based on new matrix-tensor equivalental models (MTEMs) and results of modeling | |
US20230152667A1 (en) | Photonic tensor core matrix vector multiplier | |
Shi et al. | Image classification with a 3-layer soa-based photonic integrated neural network | |
CN113592084B (zh) | 基于反向优化超结构卷积核的片上光子神经网络 | |
Gao et al. | Reservoir computing using arrayed waveguide grating | |
CN114742219A (zh) | 神经网络计算方法及光子神经网络芯片架构 | |
AU2020395435B2 (en) | Flexible precision neural inference processing units | |
Xu et al. | High-energy-efficiency integrated photonic convolutional neural networks | |
US5440671A (en) | Neural net model and neural net optimizing method and system for realizing the same | |
Shiflett et al. | Bitwise neural network acceleration using silicon photonics | |
Dang et al. | BPhoton-CNN: an ultrafast photonic backpropagation accelerator for deep learning |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |