(19)中华人民共和国国家知识产权局

(12)发明专利申请

(10)【申请公布号】CN110516802A
(43)【申请公布日】20191129

(21)【申请号】201910594088.7
(22)【申请日】20190703
(71)【申请人】 上海交通大学 ; 【地址】 200240 上海市闵行区东川路800号 ;
(72)【发明人】 邹卫文 ; 徐绍夫 ; 陈建平 ;
(74)【专利代理机构】上海恒慧知识产权代理事务所(特殊普通合伙) 31317【代理人】张宁展 ;
(51)【Int.CI.】 G06N 3/067 (2006.01) ; H01S 3/23 (2006.01) ;

(54)【发明名称】基于光延时线缓存的光子卷积神经网络架构
(57)【摘要】一种基于光延时线缓存的光子卷积神经网络架构,该架构利用波分复用技术和光延时线技术,可实现大规模的光缓存,从而完成卷积计算中所必须包含的数据移位操作。并且,该架构利用阵列式输入电光调制器与阵列式权重单元同时实现了信号的输入与权值加载,在规模扩大时可以实现非冯诺依曼架构的卷积计算,充分发挥光子宽带与速率优势,降低卷积计算功耗。

【权利要求书】


1.一种基于光延时线缓存的光子卷积神经网络架构,其特征在于由激光器阵列(1)、高速调制器阵列(2)、光缓存阵列(3)、双输出调制器阵列(4)、平衡探测器阵列(5)组成;

所述的激光器阵列(1)由M个并列的激光器构成,每个激光器各有1个光输出端口;所述的高速调制器阵列(2)由M个并列的高速调制器组成,每个高速调制器有1个光输入端口、1个电输入端口和1个光输出端口;所述的光缓存阵列(3)有M个光输入端口与M×N×Q个光输出端口;所述的双输出调制器阵列(4)由M×N×Q个并列的双输出调制器组成,每一个双输出调制器有1光输入端口、1个电输入端口和2个光输出端口;所述的平衡探测器阵列(5)由M×N×Q对并列的平衡探测器组成,共有2×M×N×Q个光输入端口和N个电输出端口;

所述激光器阵列(1)的M个光输出端口与所述高速调制器阵列(2)的M个光输入端口依次相连;所述高速调制器阵列(2)的M个光输出端口与所述光缓存阵列(3)的M个光输入端口依次相连;所述光缓存阵列(3)的M×N×Q个光输出端口与所述双输出调制器阵列(4)的M×N×Q个光输入端口依次相连;所述双输出调制器阵列(4)的2×M×N×Q个光输出端口与所述平衡探测器阵列(5)的2×M×N×Q个光输入端口依次相连;M个高速输入信号依次由所述高速调制器阵列(2)的M个电输入端口输入;M×N×Q个权值信号依次由所述双输出调制器阵列(4)的M×N×Q电输入端口输入;卷积计算结果由所述平衡探测器阵列(5)的N个电输出端口输出,所述的MNQ均为2以上的正整数。

2.根据权利要求1所述的基于光延时线缓存的光子卷积神经网络架构,其特征在于所述的激光器阵列(1)输出M个波长不同的单频连续光。

3.根据权利要求1所述的基于光延时线缓存的光子卷积神经网络架构,其特征在于所述的高速调制器阵列(2)将M个高速输入信号分别调制到M个波长不同的单频连续光的强度上,每一个光波长对应一个高速输入信号。

4.根据权利要求1所述的基于光延时线缓存的光子卷积神经网络架构,其特征在于所述的光缓存阵列(3)包含一个波分复用器(3.1)、一个1-Q分束器(3.2)、Q个光延时线(3.3)、Q个波分解复用器(3.4)、M×Q个1-N分束器(3.5);所述的波分复用器(3.1)将M个波长合并为至一路进行传输;所述的1-Q分束器(3.2)将这一路光等分成Q路,每一路均包含了M个波长;Q个所述光延时线(3.3)将每一路进行延时,从而完成数据缓存;随后,每一路光进入所述的波分解复用器(3.4),将每一路中的M个波长分开至M路进行传输;每一个光路后接一个所述的1-N分束器(3.5),将每一路等分为N束光路,因此,所述光缓存阵列(3)的光输出端口总数为M×N×Q。

5.根据权利要求1所述的基于光延时线缓存的光子卷积神经网络架构,其特征在于所述的双输出调制器阵列(4)可加载M×N×Q个权值信号,根据权值信号,双输出调制器会改变输出光的强度,达到权值加载的作用。

6.根据权利要求1所述的基于光延时线缓存的光子卷积神经网络架构,其特征在于所述的平衡探测器阵列(5)的每一对平衡探测器有2个光电探测器和2个光输入端口,这2个光电探测器产生的电压信号极性相反,一个为正,一个为负,所述的平衡探测器的电压输出为正负电压的和,当正探测器输入光强较强时,平衡探测器输出电压为正;当负探测器输入光强较强时,平衡探测器输出电压为负。

7.根据权利要求1所述的基于光延时线缓存的光子卷积神经网络架构,其特征在于所述的平衡探测器阵列(5)的M×Q对平衡探测器的电压输出经电路连接相加,成为1个电压输出。因此,平衡探测器阵列中的M×N×Q对平衡探测器共输出N个电压信号,这N个电压信号即是卷积计算结果。

8.根据权利要求1至7任一项所述的基于光延时线缓存的光子卷积神经网络架构,其特征在于,该架构实现卷积计算的数学模型可表示为:

式中,Y(n)表示第n组输出数据,X(m)表示第m组输入数据,W(m)(n)表示将第m组输入数据卷积为第n组输出数据的权值,d(q)表示对应于第q个权值的数据所需要的延时。

【说明书】


基于光延时线缓存的光子卷积神经网络架构

【0001】技术领域

【0002】本发明涉及智能光子信号处理技术和神经网络技术,特别是基于光延时线缓存的光子卷积神经网络架构。

【0003】技术背景

【0004】在大数据和计算机技术的发展下,深度学习目前在图像识别、语音处理、机器翻译等应用领域取得了广泛的突破,受到业界与学术界的大量关注。卷积神经网络是一种广泛采用的深度学习计算模型,对图像、视频等规范化数据具有非常好的特征提取效果,因此人们利用卷积神经网络,大幅改善了物体识别正确率、人脸识别正确率,甚至超过了人类的水平。

【0005】为了应对未来神经网络计算能效比问题,人们尝试利用光子器件来大幅提升硬件运行速率并且降低运行功耗。在光子集成技术的加持下,麻省理工学院利用光子移相阵列实现了一种计算矩阵乘法的神经网络芯片(Y.Shen,et al,“Deep learning withcoherent nanophotonic circuits,”Nature Photonics,vol.11,pp.441-446,2017),并且带动了大量光子神经网络的研究。不同的神经网络架构也被陆续提出,其中较为完善的是基于“广播-权重”原理的非相参矩阵乘法神经网络(Alexander N.Tait,et al,“Neuromorphic photonic networks using silicon photonic weight banks,”Scientific Reports,vol.7,pp.7430,2017)。但是,目前大多数研究均是利用光子器件来实现矩阵乘法单元,还未充分利用光子器件实现卷积计算单元。在卷积神经网络广泛应用的背景下,一种高效率的光子卷积神经网络架构是十分必要的。

【0006】发明内容

【0007】本发明的目的在于针对现有技术的不足,提出一种基于光延时线缓存的光子卷积神经网络架构。该架构利用波分复用技术和光延时线技术,可实现大规模的光缓存,从而完成卷积计算中所必须包含的数据移位操作。并且,该架构利用阵列式输入电光调制器与阵列式权重单元同时实现了信号的输入与权值加载,在规模扩大时可以实现非冯诺依曼架构的卷积计算,充分发挥光子宽带与速率优势,降低卷积计算的功耗。

【0008】本发明的技术方案如下:

【0009】一种基于光延时线缓存的光子卷积神经网络架构,其特点在于由激光器阵列、高速调制器阵列、光缓存阵列、双输出调制器阵列、平衡探测器阵列组成。

【0010】所述的激光器阵列由M个并列的激光器构成,每个激光器各有1个光输出端口;所述的高速调制器阵列由M个并列的高速调制器组成,每个高速调制器有1个光输入端口、1个电输入端口和1个光输出端口;所述的光缓存阵列有M个光输入端口与M×N×Q个光输出端口;所述的双输出调制器阵列由M×N×Q个并列的双输出调制器组成,每一个双输出调制器有1光输入端口、1个电输入端口和2个光输出端口;所述的平衡探测器阵列由M×N×Q对并列的平衡探测器组成,共有2×M×N×Q个光输入端口和N个电输出端口。

【0011】所述激光器阵列的M个光输出端口与所述高速调制器阵列的M个光输入端口依次相连;所述高速调制器阵列的M个光输出端口与所述光缓存阵列的M个光输入端口依次相连;所述光缓存阵列的M×N×Q个光输出端口与所述双输出调制器阵列的M×N×Q个光输入端口依次相连;所述双输出调制器阵列的2×M×N×Q个光输出端口与所述平衡探测器阵列的2×M×N×Q个光输入端口依次相连;M个高速输入信号依次由所述高速调制器阵列的M个电输入端口输入;M×N×Q个低速权值信号依次由所述双输出调制器阵列的M×N×Q电输入端口输入;卷积计算结果由所述平衡探测器阵列的N个电输出端口输出。

【0012】本发明的各组件功能描述如下:

【0013】所述的激光器阵列输出M个波长不同的单频连续光。

【0014】所述的高速调制器阵列将M个高速输入信号分别调制到M个波长不同的单频连续光的强度上,每一个光波长对应一个高速输入信号。

【0015】所述的光缓存阵列,包含一个波分复用器、一个1-Q分束器、Q个光延时线、Q个波分解复用器、M×Q个1-N分束器。所述的波分复用器将M个波长合并为至一路进行传输;所述的1-Q分束器将这一路光等分成Q路,每一路均包含了M个波长;Q个光延时线将每一路进行延时,从而完成数据缓存;随后,每一路光进入波分解复用器,将每一路中的M个波长分开至M路进行传输,因此,Q个波分解复用器共产生了M×Q个光路,每一个光路后接一个1-N分束器,将每一路等分为N束光路,因此,光缓存阵列的光输出端口总数为M×N×Q。

【0016】所述的双输出调制器阵列可加载M×N×Q个权值信号。根据权值信号,双输出调制器会改变输出光的强度,达到权值加载的作用。

【0017】所述平衡探测器阵列将光强度信号转化为电压信号,每一对平衡探测器有2个光电探测器和2个光输入端口,这2个光电探测器产生的电压信号极性相反,一个为正,一个为负,平衡探测器的电压输出为正负电压的和。当正探测器输入光强较强时,平衡探测器输出电压为正;当负探测器输入光强较强时,平衡探测器输出电压为负。另外,M×Q对平衡探测器的电压输出经电路连接相加,成为1个电压输出。因此,平衡探测器阵列中的M×N×Q对平衡探测器共输出N个电压信号。这N个电压信号即是卷积计算结果。

【0018】由本发明提出的架构所构造的光子卷积神经网络可以重复利用,通过改变所述的高速输入信号和权值信号,所述的光子卷积神经网络可以重复利用并且可以实现任意卷积计算。

【0019】输出电信号可以通过模数转换器进行接收,并且在数字计算机中进行进一步的信号处理,利用数字计算机中的内存反复调度所述的光子卷积神经网络;输出电信号也可以通过模拟信号处理方法直接在模拟域进行必要的处理,随后直接进入下一个光子卷积神经网络的输入端口,从而实现“流水式”的卷积计算。

【0020】本发明提出基于光延时线缓存的光子卷积神经网络架构实现卷积计算的原理如下;

【0021】神经网络的卷积层将M组输入数据卷积成为N组输出数据。其数学模型可表达为:

【0022】

【0023】式中,Y(n)表示第n组输出数据,由平衡探测器的第n个电输出端口输出;X(m)表示第m组输入数据,由高速调制器阵列的第m个电输入端口加载;W(m)(n)表示将第m组输入数据卷积为第n组输出数据的权值,由双输出调制器阵列的电输入端口加载。通过本架构中的Q个光延时线可以实现d(q),q=1,2,...,Q延时,从而在X(m)中选取与权值相对应的输入数据;高速调制器阵列与双输出调制器阵列可以看做级联的关系,从而实现式中的乘法计算;式中的加法由平衡探测器阵列中的电压相加实现。因此,通过本架构,可以实现卷积神经网络的完整卷积层。

【0024】所述的M、N、Q为2以上的正整数。

【0025】基于以上技术特点,本发明具有以下优点:

【0026】1、光子器件具有超宽带的优点,因此可以超高速的加载输入信号,从而大幅提升卷积计算速度;

【0027】2、双输出调制器阵列可以采用无源光子器件实现,理论上不消耗能量,因此该架构的能效比极高;

【0028】3、利用波分复用技术,充分利用同一延时结构、简化了数据移位硬件设计。

【0029】本发明对于提升深度学习尤其是卷积神经网络的运算速度,降低计算功耗,从而推动人工智能应用有着深刻的作用。

【0030】附图说明

【0031】图1(a)为本发明基于光延时线缓存的光子卷积神经网络架构的一个实施例图。

【0032】图1(b)为本发明基于光延时线缓存的光子卷积神经网络架构的光缓存阵列的实施例结构示意图。

【0033】图2为本发明基于光延时线缓存的光子卷积神经网络架构实施例执行一维数据卷积的原理示意图。

【0034】图3为本发明基于光延时线缓存的光子卷积神经网络架构实施例执行二维数据卷积的原理示意图。

【0035】具体实施方式

【0036】下面结合附图和实施例对本发明的技术方案作详细说明,给出详细的实施方式和过程,但本发明的保护范围不限于下述的实施例。

【0037】请参阅图1,图1为本发明基于光延时线缓存的光子卷积神经网络架构的一个实施例图。由图可见,本发明基于光延时线缓存的光子卷积神经网络架构,包括激光器阵列1、高速调制器阵列2、光缓存阵列3、双输出调制器阵列4和平衡探测器阵列5。在本实施例中,M=N=2,Q=3。

【0038】激光器阵列1包含2个激光器,分别产生波长分别为λ1、λ2的点频连续光;高速调制器阵列2包含2个高速强度调制器,将2个高速输入信号分别调制到波长不同的单频连续光的强度上;所述的光缓存阵列3实施例参见图1(b),包含1个波分复用器3.1、1个1-Q分束器3.2、3个光延时线3.3、3个波分解复用器3.4、6个1-N分束器3.5。波分复用器3.1将2个波长合并为至一路进行传输;1-Q分束器3.2将这一路光等分成3路,每一路均包含了2个波长;3个光延时线3.3将每一路进行延时,从而完成数据缓存;随后,每一路光进入波分解复用器3.4,将每一路中的2个波长分开至2路进行传输,因此,3个波分解复用器3.4共产生了6个光路,每一个光路后接一个1-N分束器3.5,将每一路等分为2束光路,因此,光缓存阵列3的光输出端口总数为12;双输出调制器阵列4可加载12个权值信号,对应光缓存阵列3的12路光输出,根据权值信号,双输出调制器会改变两个光输出端口的光强度,即可将根据权值输出不同强度的光信号。平衡探测器阵列5将光强度信号转化为电压信号,其中6对平衡探测器的电压输出经电路连接相加,成为1个电压输出,另外6对平衡探测器形成另一个电压输出;形成2路卷积计算结果。

【0039】根据本实施例,我们提出该架构实现一维数据卷积的原理如下:

【0040】神经网络的卷积层将M组输入数据卷积成为N组输出数据,其数学模型可表达为:

【0041】

【0042】式中,Y(n)表示第n组输出数据,X(m)表示第m组输入数据,W(m)(n)表示将第m组输入数据卷积为第n组输出数据的权值,d(q)表示对应于第q个权值的数据所需要的延时。

【0043】我们以Y(n)中的一个值,Y(m)(n)(i)的计算过程为例,说明本架构实现一维卷积计算的过程。参见图2,一维数据X(m)的长度为E,经过高速强度调制器阵列2加载到光强度上,强度调制之后的光强度序列表示为图2(a);在经过1-Q分束器3.2之后,等分为3束光,3个光延时线3.3分别延时0,1,2,延时后的3束光强度序列表示为图2(b);将这三束光在双输出调制器阵列4中进行权值加载,可以与对应的权值W(m)(n)(1)、W(m)(n)(2)、W(m)(n)(3)相乘;在平衡探测器阵列5中光强序列转化为电压序列,并且相加,就可以得到如图2(c)的输出结果:

【0044】

【0045】同理,将m遍历M个输入数据,就可以实现整个卷积层Y(n)的计算。

【0046】该架构也可以实现二维数据(如图像)的卷积计算。图3描述了该架构实现5×5图片卷积的过程。图中的卷积窗口为2×2。此时需要Q=4。首先,将二维数据以一维形式输入(图中为按行输入);经过1-Q分束器3.2平分为4份相同的光强度序列,4个光延时线3.3分别延时0,1,5,6,形成如图3(b)所示的4组光强度序列;将这4束光在双输出调制器阵列4中进行权值加载,可以与对应的权值w1、w2、w3、w4相乘;在平衡探测器阵列5中光强序列转化为电压序列,并且相加,就可以得到输出结果;此时输出结果为一个一维序列,将序列按行拼接,即可重构出卷积之后的图像。

【说明书附图】


【0001】


图1

【0002】


图2

【0003】


图3