CN113570051B - 光电处理*** - Google Patents
光电处理*** Download PDFInfo
- Publication number
- CN113570051B CN113570051B CN202110477941.4A CN202110477941A CN113570051B CN 113570051 B CN113570051 B CN 113570051B CN 202110477941 A CN202110477941 A CN 202110477941A CN 113570051 B CN113570051 B CN 113570051B
- Authority
- CN
- China
- Prior art keywords
- optical
- modulator
- processing system
- diode
- electro
- 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
- 238000012545 processing Methods 0.000 title claims abstract description 190
- 230000003287 optical effect Effects 0.000 claims abstract description 1172
- 230000005693 optoelectronics Effects 0.000 claims abstract description 94
- 230000001902 propagating effect Effects 0.000 claims abstract description 44
- 239000013598 vector Substances 0.000 claims description 419
- 238000013528 artificial neural network Methods 0.000 claims description 346
- 239000011159 matrix material Substances 0.000 claims description 256
- 239000004065 semiconductor Substances 0.000 claims description 116
- 238000004364 calculation method Methods 0.000 claims description 83
- 230000008859 change Effects 0.000 claims description 68
- 230000003750 conditioning effect Effects 0.000 claims description 66
- 230000010076 replication Effects 0.000 claims description 52
- 239000003990 capacitor Substances 0.000 claims description 46
- 238000013461 design Methods 0.000 claims description 42
- 230000004044 response Effects 0.000 claims description 35
- 238000004260 weight control Methods 0.000 claims description 35
- 230000010363 phase shift Effects 0.000 claims description 34
- 229920005994 diacetyl cellulose Polymers 0.000 claims description 22
- 230000008878 coupling Effects 0.000 claims description 15
- 238000010168 coupling process Methods 0.000 claims description 15
- 238000005859 coupling reaction Methods 0.000 claims description 15
- 230000001965 increasing effect Effects 0.000 claims description 14
- 230000001066 destructive effect Effects 0.000 claims description 13
- 230000000694 effects Effects 0.000 claims description 12
- 230000009467 reduction Effects 0.000 claims description 12
- 238000007493 shaping process Methods 0.000 claims description 12
- 230000003111 delayed effect Effects 0.000 claims description 10
- 238000002835 absorbance Methods 0.000 claims description 9
- 238000010521 absorption reaction Methods 0.000 claims description 8
- 238000009825 accumulation Methods 0.000 claims description 7
- 230000001186 cumulative effect Effects 0.000 claims description 6
- 238000000034 method Methods 0.000 description 84
- 230000000875 corresponding effect Effects 0.000 description 83
- 238000010586 diagram Methods 0.000 description 50
- 238000005086 pumping Methods 0.000 description 35
- 238000006243 chemical reaction Methods 0.000 description 34
- 230000008569 process Effects 0.000 description 34
- 230000006870 function Effects 0.000 description 25
- 230000009466 transformation Effects 0.000 description 25
- 239000000758 substrate Substances 0.000 description 23
- 238000004519 manufacturing process Methods 0.000 description 17
- 239000013307 optical fiber Substances 0.000 description 17
- 238000012546 transfer Methods 0.000 description 17
- 238000001514 detection method Methods 0.000 description 16
- 238000002347 injection Methods 0.000 description 15
- 239000007924 injection Substances 0.000 description 15
- 230000008901 benefit Effects 0.000 description 13
- 238000013500 data storage Methods 0.000 description 13
- 230000002708 enhancing effect Effects 0.000 description 11
- 230000036961 partial effect Effects 0.000 description 11
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 10
- 239000004020 conductor Substances 0.000 description 10
- 229910052710 silicon Inorganic materials 0.000 description 10
- 239000010703 silicon Substances 0.000 description 10
- 230000001427 coherent effect Effects 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 9
- 230000010354 integration Effects 0.000 description 9
- 239000000463 material Substances 0.000 description 9
- 230000002829 reductive effect Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 238000013459 approach Methods 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 7
- 210000004027 cell Anatomy 0.000 description 7
- 238000004590 computer program Methods 0.000 description 7
- 230000003247 decreasing effect Effects 0.000 description 7
- 230000005672 electromagnetic field Effects 0.000 description 6
- 230000001052 transient effect Effects 0.000 description 6
- 238000013473 artificial intelligence Methods 0.000 description 5
- 210000002569 neuron Anatomy 0.000 description 5
- 230000000306 recurrent effect Effects 0.000 description 5
- 230000004913 activation Effects 0.000 description 4
- 230000000295 complement effect Effects 0.000 description 4
- 230000001934 delay Effects 0.000 description 4
- 239000000835 fiber Substances 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000003860 storage Methods 0.000 description 4
- 238000000844 transformation Methods 0.000 description 4
- 230000007704 transition Effects 0.000 description 4
- 238000003491 array Methods 0.000 description 3
- 150000001875 compounds Chemical class 0.000 description 3
- 230000002596 correlated effect Effects 0.000 description 3
- 230000007423 decrease Effects 0.000 description 3
- 230000005684 electric field Effects 0.000 description 3
- 238000010438 heat treatment Methods 0.000 description 3
- 230000000670 limiting effect Effects 0.000 description 3
- 238000003909 pattern recognition Methods 0.000 description 3
- 230000010399 physical interaction Effects 0.000 description 3
- 230000000644 propagated effect Effects 0.000 description 3
- 230000002441 reversible effect Effects 0.000 description 3
- 238000013515 script Methods 0.000 description 3
- 229910000530 Gallium indium arsenide Inorganic materials 0.000 description 2
- 208000036758 Postinfectious cerebellitis Diseases 0.000 description 2
- KXNLCSXBJCPWGL-UHFFFAOYSA-N [Ga].[As].[In] Chemical compound [Ga].[As].[In] KXNLCSXBJCPWGL-UHFFFAOYSA-N 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 230000002411 adverse Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000001276 controlling effect Effects 0.000 description 2
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000001537 neural effect Effects 0.000 description 2
- 238000004064 recycling Methods 0.000 description 2
- 238000009966 trimming Methods 0.000 description 2
- 101000798707 Homo sapiens Transmembrane protease serine 13 Proteins 0.000 description 1
- GPXJNWSHGFTCBW-UHFFFAOYSA-N Indium phosphide Chemical compound [In]#P GPXJNWSHGFTCBW-UHFFFAOYSA-N 0.000 description 1
- 229910013641 LiNbO 3 Inorganic materials 0.000 description 1
- 235000004348 Perilla frutescens Nutrition 0.000 description 1
- 244000124853 Perilla frutescens Species 0.000 description 1
- 229910000577 Silicon-germanium Inorganic materials 0.000 description 1
- 102100032467 Transmembrane protease serine 13 Human genes 0.000 description 1
- LEVVHYCKPQWKOP-UHFFFAOYSA-N [Si].[Ge] Chemical compound [Si].[Ge] LEVVHYCKPQWKOP-UHFFFAOYSA-N 0.000 description 1
- 238000000862 absorption spectrum Methods 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 229910045601 alloy Inorganic materials 0.000 description 1
- 239000000956 alloy Substances 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 230000003925 brain function Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000005253 cladding Methods 0.000 description 1
- 238000001816 cooling Methods 0.000 description 1
- 230000001627 detrimental effect Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 229910052732 germanium Inorganic materials 0.000 description 1
- GNPVGFCGXDBREM-UHFFFAOYSA-N germanium atom Chemical compound [Ge] GNPVGFCGXDBREM-UHFFFAOYSA-N 0.000 description 1
- GQYHUHYESMUTHG-UHFFFAOYSA-N lithium niobate Chemical compound [Li+].[O-][Nb](=O)=O GQYHUHYESMUTHG-UHFFFAOYSA-N 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 230000000116 mitigating effect Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000010287 polarization Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 230000003362 replicative effect Effects 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 235000012431 wafers Nutrition 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
- G06N3/0675—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using optical means using electro-optical, acousto-optical or opto-electronic means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06E—OPTICAL COMPUTING DEVICES; COMPUTING DEVICES USING OTHER RADIATIONS WITH SIMILAR PROPERTIES
- G06E3/00—Devices not provided for in group G06E1/00, e.g. for processing analogue or hybrid data
- G06E3/001—Analogue devices in which mathematical operations are carried out with the aid of optical or electro-optical elements
- G06E3/005—Analogue devices in which mathematical operations are carried out with the aid of optical or electro-optical elements using electro-optical or opto-electronic means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06E—OPTICAL COMPUTING DEVICES; COMPUTING DEVICES USING OTHER RADIATIONS WITH SIMILAR PROPERTIES
- G06E3/00—Devices not provided for in group G06E1/00, e.g. for processing analogue or hybrid data
- G06E3/008—Matrix or vector computation
-
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- General Physics & Mathematics (AREA)
- Biophysics (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Neurology (AREA)
- Nonlinear Science (AREA)
- Optics & Photonics (AREA)
- Optical Modulation, Optical Deflection, Nonlinear Optics, Optical Demodulation, Optical Logic Elements (AREA)
Abstract
一种光电处理***,包括:至少一个输入光学波导,被配置以接收光波;至少一个数字输入端口,被配置以接收一系列数字输入值,每个数字输入值包括两个或更多个比特;以及光学调制器,耦合至所述输入光学波导。所述光学调制器包括光学波导部分,所述光学波导部分包括多个光学波导片段,所述光学波导片段与沿着所述光学片段定位的二极管区段相关联,其中所述二极管区段被配置为对通过所述光学波导片段传播的光波施加不同的相应调制贡献。
Description
相关申请的交叉引用
本申请要求于2019年12月4日提交的美国临时申请62/943,756、于2020年4月29日提交的美国临时申请63/017,211、于2020年7月6日提交的美国临时申请63/048,439以及于2020年8月6日提交的美国临时申请63/061,995的优先权。以上申请的全部公开内容通过引用合并于此。
技术领域
本公开涉及一种用于光电处理的光学调制。
背景技术
神经形态计算(neuromorphic computing)是电子领域中近似大脑的操作的方法。神经形态计算的一个突出方法是人工神经网络(artificial neural network;ANN),它是人工神经元的集合,人工神经元以特定的方式相互连接,以类似于大脑功能的方式处理信息。ANN已经在多种应用中找到了用途,这些应用包括人工智能、语音识别、文本识别、自然语言处理以及各种形式的模式识别。
ANN具有输入层、一个或多个隐藏层以及输出层。每个层具有节点或人工神经元,并且节点在层之间互连。隐藏层的每个节点执行从先前层的节点所接收的信号的加权总和(weighted sum),并且执行加权总和的非线性变换(“激活”)以产生输出。可以通过执行矩阵乘法步骤来计算加权总和。因此,计算ANN通常涉及多个矩阵乘法步骤,其通常使用电子集成电路来执行。
对以模拟或数字形式编码在电子信号(例如电压或电流)上的电子数据所执行的计算通常使用电子计算硬件来实现,例如在集成电路中实现的模拟或数字电子装置(例如:处理器、专用集成电路(application-specific integrated circuit;ASIC)或片上***(system on a chip;SoC))、电子电路板或其他电子电路。光学信号已被用于在长距离和较短距离(例如:在数据中心内)上传输数据。在这种光学信号上执行的操作通常在光学数据传输的环境中进行,例如用于在网络中切换或过滤光学信号的装置内。在计算平台中使用光学信号已被更多限制。用于全光学(all-optical)计算的各种部件和***已被提出。例如,***可包括分别地在输入和输出处从电信号和到电信号的转换,但是对于在计算中执行的重要操作不可使用两种类型(电和光)的信号。
发明内容
在通常情况下,在第一方面,一种***包括至少一个输入光学波导(opticalwaveguide),被配置以接收光波;至少一个数字输入端口,被配置以在连续时间间隔内接收一系列数字输入值,每个数字输入值包括两个或更多个比特;以及光学调制器(opticalmodulator),耦合至该输入光学波导。该光学调制器包括光学波导部分,该光学波导部分包括沿着该光学波导部分定位的多个二极管区段。该二极管区段对通过该光学波导部分传播的光波施加不同的相应调制贡献(contribution),每个二极管区段包括光径长(opticalpath length)小于约1毫米的半导体二极管,以及用于向处于正向偏置(forward-biased)状态的该半导体二极管施加电信号的电触点,在该正向偏置状态下该二极管区段的光学特性被响应于该数字输入值中的对应比特的值而调制。该光学调制器包括信号调节(signalconditioning)电路,被配置以与一系列数字输入值中连续的数字输入值之间对应的改变相关联地整形(shape)施加至该半导体二极管中的至少一个的电信号的幅度改变。
方面可包括一个或多个下列特征。与一系列数字输入值中连续的数字输入值相关联地整形施加至该半导体二极管的电信号的幅度改变可包括:对于第二时间间隔的起始部分,增大与第一时间间隔相关联的第一电信号水平和与第二时间间隔相关联的第二电信号水平之间的幅度改变的大小。
与一系列数字输入值中连续的数字输入值相关联地整形施加至该半导体二极管的电信号的幅度改变可进一步包括:对于第二时间间隔的最终部分,减少第一电信号水平与第二电信号水平之间的幅度改变的大小。
与一系列数字输入值中连续的数字输入值相关联地整形施加至该半导体二极管的电信号的幅度改变可包括:通过匹配电路施加电信号至该半导体二极管,该匹配电路被配置以匹配与该半导体二极管相关联的阻抗,而不显著改变该所施加的电信号的幅度。
该匹配电路可包括无源电路。
该匹配电路可基本上由电感器组成。
对于一系列数字输入值中连续的数字输入值,整形施加至该半导体二极管的电信号的幅度改变可包括:通过电路施加电信号至该半导体二极管,该电路被配置以在该半导体二极管与电容器之间泵送电流,该电容器串联连接在该半导体二极管与提供该一系列数字输入值的电路之间,其中所泵送的电流所传输的电荷量是至少部分基于在提供该一系列数字输入值的多个连续时间间隔中恒定的电压来确定的。
该光学调制器可包括干涉仪光学调制器(interferometric opticalmodulator),该干涉仪光学调制器进一步包括光学干涉部分,该光学干涉部分被配置以基于该二极管区段的累积调制贡献,提供导致预定的幅度减少的一定程度的相消光学干涉(destructive optical interference)。
该光学干涉部分可包括光学组合器(optical combiner)。
该光学波导部分可包括:至少两个光学波导片段,每个光学波导片段接收从耦合至该输入光学波导的同一分光器(optical splitter)分出的光波,以及提供光波至该光学组合器。
该二极管区段的光学特性可包括该二极管区段的有效折射率,不同的相应调制贡献可包括不同的相应相移。
第一二极管区段的第一半导体二极管的光径长,可约为第二二极管区段的第二半导体二极管的光径长的两倍。
对于一系列数字输入值中连续的数字输入值,整形施加至该半导体二极管的电信号的幅度改变可包括:响应于对应比特的值由0至1的改变,施加电信号幅度的第一预定形状至该第一二极管区段的电触点和该第二二极管区段的电触点,以及响应于对应比特的值由1至0的改变,施加电信号幅度的第二预定形状至该第一二极管区段的电触点和该第二二极管区段的电触点。
对于一系列数字输入值中连续的数字输入值,整形施加至该半导体二极管的电信号的幅度改变可包括:通过第一匹配电路施加电信号至该第一二极管区段的电触点,以及通过第二匹配电路施加电信号至该第二二极管区段的电触点,该第一匹配电路被配置以匹配与该第一半导体二极管相关联的阻抗,该第二匹配电路被配置以匹配与该第二半导体二极管相关联的阻抗。
该第一匹配电路和该第二匹配电路各自可基本上由电感器组成。
该输入光学波导可耦合至光学解复用器(optical demultiplexer),该光学解复用器分离至少两个不同波长的光波。
该光学调制器可包括吸收光学调制器(absorption optical modulator),该吸收光学调制器被配置以基于该二极管区段的累积调制贡献,提供导致预定幅度减少的一定程度的吸光度(absorbance)。
该二极管区段的光学特性可包括该二极管区段的吸光系数,不同的相应调制贡献可包括不同的相应吸光度。
该至少一个输入光学波导可包括多个输入光学波导,多个光学调制器可各自与该多个输入光学波导中不同相应输入光学波导耦合,并且来自该多个光学调制器的输出可被组合以提供向量-矩阵乘法的结果。
在另一总体方面,一种***包括:至少一个输入光学波导,被配置以接收光波;至少一个数字输入端口,被配置以在连续时间间隔中接收一系列数字输入值,每个数字输入值包括两个或更多个比特;以及干涉仪光学调制器,耦合至该输入光学波导。该干涉仪光学调制器包括光学波导部分,该光学波导部分包括沿着该光学波导部分的二极管区段。该二极管区段对通过该光学波导部分传播的光波进行调制,该二极管区段包括:光径长小于约1毫米的半导体二极管,以及用于向处于正向偏置状态的该半导体二极管施加电信号的电触点,在该正向偏置状态下该二极管区段的光学特性被响应于该数字输入值而调制。该干涉仪光学调制器包括信号调节电路,被配置以与一系列数字输入值中连续的数字输入值之间对应的改变相关联地整形施加至该半导体二极管的电信号的幅度改变。该信号调节电路包括:第一信号调节路径,提供对应于该一系列数字输入值的未调节电信号;第二信号调节路径,提供该未调节电信号的延迟、缩放和/或反相版本;以及第三信号调节路径,提供该未调节电信号的延迟、缩放和/或反相版本。该干涉仪光学调制器进一步包括光学干涉部分,被配置以基于该二极管区段的光学特性的调制,提供导致预定的幅度减少的一定程度的相消光学干涉。
方面可包括一个或多个下列特征。该光学干涉部分可包括一对光学波导中每个光学波导的耦合部分,该每个光学波导的耦合部分彼此接近。
该光学波导部分可包括该对光学波导中形成在封闭路径中的第一光学波导。
在另一总体方面,一种***包括:至少一个输入光学波导,被配置以接收光波;至少一个数字输入端口,被配置以接收一系列数字输入值,每个数字输入值包括两个或更多个比特;以及光学调制器,耦合至该输入光学波导,该光学调制器包括光学波导部分,该光学波导部分包括沿着该光学波导部分定位的多个二极管区段,其中该二极管区段被配置以对通过该光学波导部分传播的光波施加不同的相应调制贡献。
方面可包括一个或多个下列特征。该光学调制器可包括信号调节电路,被配置以与一系列数字输入值中连续的数字输入值之间对应的改变相关联地整形施加至该二极管区段中的至少一个的电信号的幅度改变。
每个二极管区段可包括:半导体二极管,以及用于向处于正向偏置状态的该半导体二极管施加电信号的电触点,在该正向偏置状态下该二极管区段的光学特性被响应于该数字输入值中的对应比特的值而调制。
每个半导体二极管可具有小于约1毫米的光径长。
在另一总体方面,一种***包括:至少一个输入光学波导,被配置以接收光波;至少一个数字输入端口,被配置以接收一系列数字输入值,每个数字输入值包括两个或更多个比特;以及干涉仪光学调制器,耦合至该至少一个输入光学波导。该干涉仪光学调制器包括光学波导部分,该光学波导部分包括沿着该光学波导部分定位的二极管区段,其中该二极管区段被配置以对通过该光学波导部分传播的光波进行调制。该干涉仪光学调制器包括信号调节电路,被配置以与一系列数字输入值中连续的数字输入值之间对应的改变相关联地整形施加至该二极管区段的电信号的幅度改变。该信号调节电路包括:第一信号调节路径,提供对应于该一系列数字输入值的未调节电信号;第二信号调节路径,提供该未调节电信号的延迟、缩放和/或反相版本;以及第三信号调节路径,提供该未调节电信号的延迟、缩放和/或反相版本。
方面可包括一个或多个下列特征。该二极管区段可包括光径长小于约1毫米的半导体二极管。
该干涉仪光学调制器可包括光学干涉部分,被配置以基于该二极管区段光学特性的调制,提供导致预定的幅度减少的一定程度的相消光学干涉。
该二极管区段可包括:半导体二极管,以及用于向处于正向偏置状态的该半导体二极管施加电信号的电触点,在该正向偏置状态下该二极管区段的光学特性被响应于该数字输入值而调制。
该半导体二极管可具有小于约1毫米的光径长。
在另一总体方面,一种***包括光学调制器,被配置以调制代表一系列数字输入值的光波,每个数字输入值包括两个或更多个比特。该光学调制器包括光学波导部分,该光学波导部分包括沿着该光学波导部分定位的多个二极管区段。该二极管区段被配置为在光波通过该光学波导部分传播时向光波施加不同的相应调制贡献。每个二极管区段包括半导体二极管,被配置以在正向偏置状态下操作,在该正向偏置状态下该二极管区段的光学特性被响应于该数字输入值中的对应比特的值而调制。该光学调制器包括信号调节电路,被配置以与一系列数字输入值中连续的数字输入值之间对应的改变相关联地整形施加至该二极管区段中的至少一个的电信号的幅度改变。
方面可包括下列特征。每个半导体二极管可具有小于约1毫米的光径长。
在另一总体方面,一种***包括:第一单元,被配置以产生调制器控制信号的第一集合;第二单元,被配置以产生调制器控制信号的第二集合,以及处理器单元。该处理器单元包括光源或光端口,被配置以提供多个光输出;以及光学调制器的第一集合,耦合至该光源或光端口和该第一单元。该第一集合的光学调制器被配置以通过基于对应于该调制器控制信号的第一集合的数字输入值调制该由该光源或光端口提供的多个光输出,来产生光学输入向量,该光学输入向量包括多个光学信号。该处理器单元还包括矩阵乘法单元,该矩阵乘法单元包括光学调制器的第二集合。该矩阵乘法单元耦合至该第二单元,被配置以基于对应于该调制器控制信号的第二集合的多个数字权重值,将该光学输入向量转换为模拟输出向量。该光学调制器的第一集合中的至少一个光学调制器包括第一光学波导部分,该第一光学波导部分包括沿着该第一光学波导部分定位的多个二极管区段。该二极管区段被配置以基于该数字输入值之一的不同相应单个比特,对通过该第一光学波导部分传播的光波施加不同的相应调制贡献。该光学调制器的第二集合中的至少一个光学调制器包括第二光学波导部分,该第二光学波导部分包括单个二极管区段,被配置以基于其中该数字权重值之一的多个比特,对通过该第二光学波导部分传播的光波施加调制。
方面可包括下列特征。每个相应二极管区段包括半导体二极管,被配置以在正向偏置状态下操作,在该正向偏置状态下该二极管区段的光学特性被响应于该数字输入值之一的对应比特的值而调制。
在另一总体方面,一种***包括:至少一个输入光学波导,被配置以接收光波;至少一个数字输入端口,被配置以在连续时间间隔中接收一系列数字输入值,每个数字输入值包括两个或更多个比特;以及光学调制器,耦合至该输入光学波导。该光学调制器包括:光学波导部分,该光学波导部分包括多个光学波导片段,该光学波导片段与沿着对应的光学波导片段定位的多个二极管区段相关联,该光学波导片段为连续光学波导的一部分,在该连续光学波导中该二极管区段被配置以对通过该光学波导片段传播的光波施加不同的相应调制贡献。每个相应二极管区段包括:光径长小于约1毫米的半导体二极管,以及用于向处于正向偏置状态的该半导体二极管施加电信号的电触点,在该正向偏置状态下与该二极管区段相关联的光学波导片段的光学特性被响应于该数字输入值中的对应比特的值而调制,以及信号调节电路,被配置以与一系列数字输入值中连续的数字输入值之间对应的改变相关联地整形施加至该半导体二极管中的至少一个的电信号的幅度改变。
在另一总体方面,一种***包括:至少一个输入光学波导,被配置以接收光波;至少一个输入端口,被配置以接收一系列调制器控制信号;以及光学调制器,耦合至该输入光学波导,被配置以提供具有四个或更多个幅度水平的脉冲幅度调制。该光学调制器包括第一调制器臂(modulator arm)和第二调制器臂,该第一调制器臂和该第二调制器臂中的至少一个调制器臂包括光学波导和沿着该光学波导定位的多个移相器(phase shifters),该移相器被配置以对通过该光学波导传播的光波施加不同的相应调制贡献,每个移相器耦合至被配置以提供用于二进制调制(binary modulation)的增强带宽的相应的信号调节电路,并且不同移相器耦合至不同的信号调节电路。每个移相器包括与小于约1毫米的光径长相关联的半导体二极管或电容器。该***包括控制电路,被配置以对每个移相器进行至少以下之一:(i)提供电信号至该半导体二极管,以使得该半导体二极管处于正向偏置状态,在该正向偏置状态下与该移相器相关联的光学波导的光学特性被响应于该调制器控制信号而调制,或(ii)提供电信号至该电容器,以使得电荷累积于该电容器处,其中与该移相器相关联的光学波导的光学特性被响应于该调制器控制信号而调制。
在另一总体方面,一种***包括:光学调制器,被配置以调制代表一系列数字输入值的光波,每个数字输入值包括两个或更多个比特,该光学调制器包括光学波导部分,该光学波导部分包括沿着该光学波导部分定位的多个二极管区段,其中该二极管区段被配置为在光波通过该光学波导部分传播时对光波施加不同的相应调制贡献。每个二极管区段包括半导体二极管,被配置以在正向偏置状态下操作,在该正向偏置状态下该二极管区段的光学特性被响应于该数字输入值的对应比特的值而调制。该光学调制器包括多个信号调节电路,被配置以与一系列数字输入值中连续的数字输入值之间对应的改变相关联地整形施加至每个二极管区段的电信号的幅度改变,其中每个信号调节电路与该二极管区段之一相关联,并且不同二极管区段与不同信号调节电路相关联。
在另一总体方面,一种***包括:光学调制器的第一集合,被配置以通过基于调制器控制信号调制多个输入光信号,来产生光学输入向量,该光学输入向量包括多个光学信号;以及矩阵处理单元,包括光学调制器的第二集合,该矩阵处理单元耦合至该调制器阵列,并且被配置以基于多个权重值,将该光学输入向量转换为模拟输出向量。该光学调制器的第一集合中的至少一个光学调制器包括第一调制器臂和第二调制器臂,该第一调制器臂和该第二调制器臂中的至少一个调制器臂包括光学波导和沿着该光学波导定位的至少两个移相器,该移相器被配置以基于该调制控制信号之一对通过该光学波导传播的光波施加调制贡献,不同移相器被配置以响应于相同的调制控制信号水平对通过该光学波导传播的该光波施加不同的相应调制贡献。该光学调制器的第二集合中的至少一个光学调制器包括第一调制器臂和第二调制器臂,该第一调制器臂和该第二调制器臂各自包括光学波导,该第一调制器臂和该第二调制器臂中的至少一个调制器臂包括沿着该光学波导定位的单个移相器,该第一调制器臂和该第二调制器臂各自包括至多一个移相器。
在另一总体方面,一种***包括:第一单元,被配置以产生多个调制器控制信号;以及处理器单元。该处理器单元包括:被配置以提供多个光输出的光源、调制器阵列、以及矩阵处理单元。该调制器阵列包括多个光学调制器的第一集合,耦合至该光源和该第一单元,该多个光学调制器被配置以通过基于该多个调制器控制信号调制该光源提供的多个光输出,来产生光学输入向量,该光学输入向量包括多个光学信号,其中该多个光学调制器中的每一个具有片段式设计并且包括两个或更多个移相器,每个该移相器与信号调节电路相关联,该信号调节电路被配置以实现该移相器的预加重(pre-emphasis)和去加重(de-emphasis),以增强该移相器的操作带宽。该矩阵处理单元耦合至该调制器阵列和该第一单元,该矩阵处理单元被配置以基于多个权重控制信号,将该光学输入向量转换为模拟输出向量,其中该矩阵处理单元包括具有非片段式设计的多个光学调制器的第二集合,每个光学调制器在至少一个调制器臂中具有单个移相器,每个调制器臂具有至多一个移相器。该***包括第二单元,耦合至该矩阵乘法单元,并且被配置以将该模拟输出向量转换为数字化输出向量;以及控制器,包括集成电路,被配置以进行包括以下内容的操作:接收人工神经网络计算请求,该人工神经网络计算请求包括输入数据集(dataset),该输入数据集包括第一数字输入向量;接收第一多个神经网络权重;以及通过该第一单元,基于该第一数字输入向量产生第一多个调制器控制信号,以及基于该第一多个神经网络权重产生第一多个权重控制信号。
方面可包括一个或多个下列优点。
在本说明书描述的某些实施例中,选择用于执行光学调制的组件的类型,和/或这些组件的特性,以提供所得光电计算***效能中的性能改进或其他设计优点。在使用硅光子学(siliconphotonics)技术制造的***中,可以在硅中形成光学波导,并且存在可以通过在波导附近掺杂硅以实现对于在该波导中传播的光波的调制来形成的各种类型的半导体二极管结构。例如,可设计PIN二极管结构或金属-氧化物-半导体(MOS)电容器,以使用不同的掺杂分布(doping profiles)通过载流子注入(carrier injection)、载流子耗尽(carrier depletion)或载流子累积(carrier accumulation)实现基于自由载流子的调制(free-carrier-based modulation)。载流子注入使用正向偏置的PIN二极管结构,由于其调制效率高,故一般具有相对较小的尺寸(例如小于1毫米),但提供较低速度的调制(例如小于约1Gb/s),而载流子耗尽使用反向偏置的PIN二极管结构,其一般具有较大的尺寸(例如大于1毫米)但提供较高速度的调制(例如大于约1Gb/s)。在一些示例中,载流子累积使用电容器以储存电荷,其中该电容器包括薄垂直绝缘层。对于某些半导体工艺而言,可能难以制造薄垂直绝缘层。因此,对某些半导体工艺而言,用于实现载流子注入的正向偏置PIN二极管结构可能更容易制造。
载流子注入提供小尺寸和低功率特性两者,这在具有密集的调制器阵列的大规模光电计算***中十分有用。如下文更详细所述,与载流子注入PIN二极管结构相结合,使用用于多比特调制(例如PAM调制)的片段式调制器设计,可以使用带宽增强技术,以简单、紧凑的适合该***中的调制器的密集布置的设计,克服带宽限制(例如将带宽增加约10倍)。由于所得的增强带宽并不一定需要与载流子耗尽或载流子累积调制器所能达到的带宽一样高,因此由该片段式调制器实现的简单带宽增强与载流子注入调制器的紧凑尺寸的组合协同地提供在本说明书描述的一些***实施例中特别有用的优点。某些形式的带宽增强,例如预加重,可能在有多于两个幅度水平时难以实现。然而,如下文中更详细描述的,利用片段式调制器,可以为多比特调制的每个比特的两个幅度水平实现单独的二进制预加重。
此外,由于使用已调制光学信号进行计算,因此在转换为数字信号时被采样的计算的结果的模拟幅度水平的数量(例如使用PAM-256调制的8比特信号)可能大于该计算的输入的水平的数量(例如使用PAM-16调制的4比特信号)。例如,4比特值与另一4比特值相乘可得适合以8比特表示的值。因此,在该输入信号被该光电计算***处理后,需要提高分辨率的情况下,由于需要有效的模拟至数字转换,因此促使使用带宽增强以提高信号噪声比(signal to noise ratio)。
除非另外定义,否则此处所使用的所有技术和科学术语具有与所属技术领域的普通技术人员通常理解的相同含义。如果与引用并入本文的专利申请或专利申请出版物相冲突,则以本公开(包括定义)为准。
在附图和以下描述中阐述了在本公开中所描述的主题的一个或多个实施例的细节。根据说明书、附图和权利要求书,本公开的其他特征、方面和优点将变得显而易见。
附图说明
当结合附图阅读时,从以下详细描述中可以最好地理解本公开。所要强调的是,根据惯例,附图的各种特征不是按比例的。相反地,为了清楚起见,各种特征的尺寸被任意扩大或缩小。
图1是人工神经网络(ANN)计算***的示例的示意图。
图2是MZI的示例的示意图。
图3电荷泵送(charge-pump)带宽增强电路的示例的图。
图4是示出用于执行ANN计算的方法的示例的流程图。
图5是示出图4的方法的一个方面的图。
图6是波分复用ANN(wavelength division multiplexed ANN)计算***的示例的示意图。
图7是马赫曾德尔(Mach-Zehnder)调制器的示例的图。
图8是使用片段式设计的马赫曾德尔调制器的示例的图。
图9是图8的马赫曾德尔调制器和对应的驱动电路的图。
图10至图16是示例马赫曾德尔调制器的图。
图17是用于图3的电荷泵送带宽增强电路的时序图。
图18是示出图7的马赫曾德尔调制器的强度-电压曲线的曲线图。
图19是示例光电计算***的示意图。
图20和图21是示例***配置的示意图。
图22是对称差分配置(symmetric differential configuration)的示例的示意图。
图23和图24是***模块的示例的电路图。
图25是对称差分配置的示例的示意图。
图26是***配置的示例的示意图。
图27是示例光学幅度调制器的示意图。
图28至图30是在对称差分配置中使用光学检测的光学幅度调制器的示例的示意图。
图31至图33是示例***配置的光电电路图。
图34至图38是使用多个光电子***的示例计算***的示意图。
图39是使用光电处理器的波分复用ANN计算***的示例的示意图。
图40和图41是波分复用光电矩阵乘法单元的示例的示意图。
图42是零差检测器(homodyne detector)的示意图。
图43是包括光纤的计算***的示意图,每个光纤承载具有多个波长的信号。
图44是光学矩阵乘法单元的示例的示意图。
图45和图46是互连马赫曾德尔干涉仪(MZI)的示例配置的示意图。
图47是包括校准移相器的片段式MZI调制器的示意图。
图48是图47的片段式MZI调制器和相关驱动电路的示意图。
图49示出了包括校准移相器的片段式MZI调制器的示意图。
图50示出了具有片段式设计的光学调制器的调制器阵列的示例。
图51是人工神经网络(ANN)计算***的示例的示意图。
图52是波分复用光电矩阵乘法单元的示例的示意图。
图53是示出用于执行ANN计算的方法的示例的流程图。
图54是具有片段式设计的环形谐振器(ring resonator)调制器的示例的图。
各图中相同的附图标记和名称表示相同的组件。
具体实施方式
图1示出了人工神经网络(ANN)计算***100的示例的示意图。***100包括控制器110、存储器单元120、调制器控制(MC)单元130、光电处理器140以及模拟数字转换(ADC)单元160。控制器110耦合至计算机102、存储器单元120、MC单元130以及ADC单元160。控制器110包括集成电路,其被配置以控制ANN计算***100的操作来执行ANN计算。
控制器110的集成电路可以是特别配置以执行ANN计算处理的步骤的专用集成电路。例如,集成电路可实现特定于执行ANN计算处理的微代码或固件。如此一来,控制器110可以具有相对于用于传统计算机(例如计算机102)中的通用处理器的减少的指令集。在一些实施例中,控制器110的集成电路可包括两个或更多个电路,其被配置以执行ANN计算处理的不同步骤。
在ANN计算***100的示例操作中,计算机102可以对ANN计算***100发出人工神经网络计算请求。ANN计算请求可包括定义ANN的神经网络权重,以及由所提供的ANN处理的输入数据集。控制器110接收ANN计算请求,并将输入数据集和神经网络权重储存在存储器单元120中。
输入数据集可对应ANN将要处理的各种数字信息。输入数据集的示例包括图像文件、音频(audio)文件、激光雷达(LiDAR)点云、生物数据文件和GPS坐标序列,并且将基于接收图像文件作为输入数据集来描述ANN计算***100的操作。通常来说,输入数据集的尺寸可以变化很大,从数百个数据点(datapoint)到数百万个数据点或更大。例如,具有1百万像素(megapixel)分辨率的数字图像文件具有大约一百万个像素,并且一百万个像素中的每个可以是由ANN处理的数据点。由于在典型输入数据集中的大量数据点,输入数据集通常被分成较小尺寸的多个数字输入向量,以通过光电处理器140来分别地处理。作为示例,对于灰度数字图像(greyscale digital image),数字输入向量的元素可为表示图像强度的8比特值,并且数字输入向量可具有范围从数十元素(例如:32元素、64元素)到数百元素(例如:256元素、512元素)的长度。通常来说,任意尺寸的输入数据集可以被分成适合用于由光电处理器140处理的尺寸的数字输入向量。在输入数据集的元素数量不能被数字输入向量的长度整除的情况下,可以使用零填充(zero padding)来填充数据集,以使其可被数字输入向量的长度整除。可以处理各个数字输入向量的处理输出以重建完整输出,其为通过ANN处理输入数据集的结果。在一些实施例中,可以使用块矩阵乘法技术(block matrixmultiplication technique)来实现将输入数据集分成多个输入向量和后续的向量级(vector-level)处理。
神经网络权重是值的集合,其定义ANN的人工神经元的连接性(connectivity),包括那些连接的相对重要性或权重。ANN可包括具有相应节点集的一个或多个隐藏层。在具有单个隐藏层的ANN的情况下,ANN可以由两个神经网络权重的集合定义,一个集合对应输入节点与隐藏层的节点之间的连接性,第二集合对应隐藏层与输出节点之间的连接性。描述连接性的每个集合的神经网络权重对应于要由光电处理器140实现的矩阵。对于具有两个或更多个隐藏层的ANN,需要额外的神经网络权重的集合来定义额外隐藏层之间的连接性。如此一来,在通常情况下,ANN计算请求中包括的神经网络权重可包括多个神经网络权重的集合,其表示ANN的相应层之间的连接性。
由于要处理的输入数据集通常被分成用于分别处理的多个较小的数字输入向量,因此输入数据集通常储存在数字存储器中。然而,计算机102的存储器和处理器之间的存储操作的速度明显慢于ANN计算***100可以执行ANN计算的速率。例如,ANN计算***100可以在计算机102的典型存储器读取周期期间执行数十个到数百个ANN计算。如此一来,在处理ANN计算请求的过程期间,如果ANN计算***100的ANN计算涉及***100与计算机102之间的多个数据传输,则可被ANN计算***100执行的ANN计算的速率可以被限制在其全部处理速率之下。例如,如果计算机102要从它自己的存储器存取输入数据集,并且在请求时将数字输入向量提供给控制器110,则ANN计算***100的操作可能会因计算机102与控制器110之间所需的一系列数据传输所需的时间而大大减慢。值得注意的是,计算机102的存储器存取延迟(latency)通常是非确定性的(non-deterministic),这进一步将数字输入向量可被提供给ANN计算***100的速度复杂化并且降低该速度。此外,计算机102的处理器周期可能在管理计算机102与ANN计算***100之间的数据传输时被浪费。
相反,在一些实施例中,ANN计算***100将整个输入数据集储存在存储器单元120中,存储器单元120是ANN计算***100的一部分并且专用于ANN计算***100。专用的存储器单元120允许存储器单元120与控制器110之间的交易(transaction)特别适于允许存储器单元120与控制器110之间平滑且不间断的数据流。通过允许光电处理器140以其全部处理速率执行矩阵乘法,而不受传统计算机(例如计算机102)的慢速存储操作的限制,这种不间断的数据流可以显著地改善ANN计算***100的总吞吐量。此外,因为在执行ANN计算中所需的所有数据是由计算机102在单个交易中提供给ANN计算***100的,所以ANN计算***100能够以独立于计算机102的独有方式执行其ANN计算。这种ANN计算***100的独有操作减轻了计算机102的计算负担,并且消除了在ANN计算***100的操作中的外部依赖性,提高了***100和计算机102两者的性能。
现在将描述光电处理器140和MC单元130的示例实施例。在一些实施例中,光电处理器140包括激光单元142、调制器阵列144、光电矩阵乘法(optoelectronicmatrixmultiplication;OMM)单元150以及模拟电子单元146。调制器阵列144调制从激光单元142接收的光波,以基于由MC单元130提供的已编码输入数据(例如数字输入数据)提供长度为N的光学输入向量,该光学输入向量传播至OMM单元150。OMM单元150接收该长度为N的光学输入向量,并在光学域中对接收到的该光学输入向量执行矩阵乘法。矩阵乘法可以是由OMM单元150的内部配置决定的N×N矩阵乘法。OMM单元150的内部配置可由电信号控制,例如由MC单元130产生的电信号。
可以以各种方式实现OMM单元150。例如,调制器阵列144和/或OMM单元150使用的光学调制可包括多个互连的马赫曾德尔干涉仪(Mach-Zehnder interferometer,MZI)。图2示出了MZI 170的示例的示意图。MZI 170包括第一输入波导171、第二输入波导172、第一输出波导178以及第二输出波导179。此外,多个互连的MZI中的每个MZI 170至少在其中一臂中包括第一移相器174,第一移相器174被配置以改变MZI 170的分光比(splittingratio),并且在一些示例中可在两个臂中都包括移相器,这些移相器被配置以进行推-拉(push-pull)操作。在一些实施例中,第二移相器176被配置以移动MZI 170的一个输出的相位,例如通过第二输出波导179离开MZI 170的光。MZI 170的第一移相器174和第二移相器176耦合至由MC单元130所产生的多个权重控制信号。第一移相器174和第二移相器176是OMM单元150的可重新配置元件的示例。重新配置元件的示例包括热光移相器(thermo-optic phase shifter)或电光移相器(electro-optic phase shifter)。热光移相器通过加热波导来改变波导和包覆材料的折射率来操作,其转换为相位的改变。电光移相器通过施加电场(例如:铌酸锂(LiNbO3),反向偏置PN结)或电流(例如:正向偏置PIN结)来操作,其改变了波导材料的折射率。通过改变权重控制信号,可以改变每个互连的MZI 170的第一移相器174和第二移相器176的相位延迟,这重新配置OMM单元150的光学干涉单元154以实现由在整个光学干涉单元154上布置的相位延迟所确定的特定矩阵乘法。OMM单元150和光学干涉单元154的额外实施例在标题为“APPARATUS AND METHODS FOR OPTICAL NEURALNETWORK”的美国专利公开第US 2017/0351293A1号、标题为“OPTOELECTRONIC COMPUTINGSYSTEMS”的美国专利公开第US 20190370652A1号、标题为“OPTOELECTRONIC COMPUTINGSYSTEMS”的美国专利公开第US 20200110992 A1号、以及标题为“OPTOELECTRONICCOMPUTING SYSTEMS”的PCT公开第WO 2020191217 A1号中公开,其由引用完全并入本文。
通过激光单元142和调制器阵列144产生光学输入向量。长度为N的光学输入向量具有N个独立的光学信号,每个光学信号的强度对应长度为N的数字输入向量的相应元素的值。作为示例,激光单元142可以产生N个光输出。在该示例中,N个光输出具有相同的波长,并且是相干的(coherent)。光输出的光学相干性允许光输出彼此光学地干涉,这是OMM单元150所利用的特性(例如:在MZI的操作中)。此外,激光单元142的光输出可以彼此基本相同。例如,N个光输出可在它们的强度(例如:在5%内、3%内、1%内、0.5%内、0.1%内或0.01%内)中和它们的相对相位(例如:在10度内、5度内、3度内、1度内、0.1度内)中为基本均匀的。光输出的均匀性可以改善光学输入向量对数字输入向量的忠实性(faithfulness),从而改善光电处理器140的整体精确度。在一些实施例中,激光单元142的光输出可具有每个输出0.1mW至50mW的光功率、近红外光范围的波长(例如:900nm至1600nm之间)以及小于1nm的线宽。激光单元142的光输出可以是单个横向模式(transverse-mode)光输出。
在一些实施例中,激光单元142包括单个激光源和光功率分离器(optical powersplitter)。单个激光源被配置以产生激光。光功率分离器被配置以将由激光源所产生的光分成具有基本相同强度和相位的N个光输出。通过将单个激光输出分成多个输出,可以实现多个光输出的光学相干性。例如,单个激光源可以是半导体激光二极管、垂直腔表面发射激光器(vertical-cavity surface-emitting laser;VCSEL)、分布反馈(distributedfeedback;DFB)激光器或分布式布拉格反射器(distributedBragg reflector;DBR)激光器。例如,光功率分离器可以是1:N多模干涉(multimode interference;MMI)分离器、包括多个1:2MMI分离器或定向耦合器的多级分离器(multi-stage splitter)、或星型耦合器(star coupler)。在一些其它实施例中,可使用主从激光配置(master-slave laserconfiguration),其中从属激光由主要激光注入锁定(injection locked),以对主要激光具有稳定的相位关系。
激光单元142的光输出耦合至调制器阵列144。调制器阵列144被配置以接收来自激光单元142的光输入,并且基于调制器控制信号(其为电信号)来调制所接收的光输入的强度。调制器的示例包括马赫曾德尔干涉仪(MZI)调制器、环形谐振调制器(ringresonator modulator)以及电吸收调制器(electro-absorption modulator)。例如,电吸收调制器包括电极,该电极向波导片段施加电场以调制该波导片段的吸收光谱,进而调制在该波导片段中传播的光的强度。调制器阵列144具有N个调制器,每个调制器接收激光单元142的N个光输出中的一个。调制器接收对应于数字输入向量的元素的控制信号,并且调制光的强度。控制信号可由MC单元130产生。
MC单元130被配置以在控制器110的控制下产生多个调制器控制信号并产生多个权重控制信号。例如,MC单元130从控制器110接收第一调制器控制信号,第一调制器控制信号对应将由光电处理器140处理的数字输入向量。MC单元130基于第一调制器控制信号产生调制器控制信号,该调制器控制信号是适于驱动调制器阵列144和OMM 150的模拟信号。例如,模拟信号可以是电压或电流,取决于阵列144的调制器和OMM 150的技术和设计。电压可具有范围从例如±0.1V到±10V的幅度,并且电流可具有例如范围从100μA到100mA的幅度。在一些实施例中,MC单元130可包括调制器驱动器,其被配置以缓冲、放大或调节模拟信号,使得阵列144的调制器和OMM 150可被充分驱动。例如,某些类型的调制器可以用差分控制信号驱动。在这种情况下,调制器驱动器可以是差分驱动器,其基于单端(single-ended)输入信号产生差分电输出。
在一些实施例中,光电处理器140可包括某些类型的调制器,其具有3dB带宽,这小于光电处理器140的期望处理速率。在这种情况下,调制器驱动器可包括预加重电路(pre-emphasis circuit)或其他带宽增强电路,其被设计以扩展调制器的操作带宽。例如,这种带宽增强对于基于PIN二极管结构的调制器可以是有用的,PIN二极管结构是正向偏置的,以使用载流子注入来调制引导被调制的光波的波导的一部分的折射率。例如,如果调制器是MZI调制器,则PIN二极管结构可用于在MZI调制器的一个或两个波导臂中实现移相器。将移相器配置为正向偏置操作有利于较短的调制器长度和更紧凑的总体设计。调制器阵列144和OMM单元150中的任一者或两者可包括基于正向偏置以使用载流子注入进行调制的PIN二极管结构的调制器。这有助于于使调制器阵列144和/或OMM单元150(其可能具有大量调制器)更紧凑。
在一些实施例中,调制器阵列144和OMM单元150中的任一者或两者可使用利用载流子累积设计,并将MOS型电容器结构合并至光学波导的调制器,例如基于MOS电容器的MZI调制器。选择哪种类型的调制器来使用,例如是否使用载流子注入或载流子累积,可以部分地基于用于制造该光电处理器140的整体半导体制造工艺。
例如,在带宽增强的预加重形式(pre-emphasis form)中,可以将驱动调制器的模拟电信号(例如:电压或电流)整形为包括瞬间脉冲(transient pulse),瞬间脉冲使模拟信号水平的改变过冲(overshoot),该模拟信号水平表示一系列数字数据值(digital datavalue)中的调制器控制信号的给定数字数据值。每个数字数据值可具有任意数量的比特,包括单个1比特数据值,如本示例其余部分所假定的那样。因此,如果比特的值与先前的值相同,则驱动调制器的模拟电信号被维持在稳态水平(steady-statelevel)(例如:比特值为0的信号水平X0和比特值为1的较高信号水平X1)。然而,如果比特从0变成1,则用于驱动调制器的对应模拟电信号可包括瞬间脉冲,该瞬间脉冲在稳定为稳态值X1之前,在比特转变(bittransition)的一开始具有峰值X1+(X1-X0)。同样地,如果比特从1变成0,则用于驱动调制器的对应模拟电信号可包括瞬间脉冲,该瞬间脉冲在稳定为稳态值X0之前,在比特转变的一开始具有峰值X0+(X0-X1)。可以选择瞬间脉冲的大小和长度以最优化带宽增强(例如:最大化不归零(NRZ)调制模式的眼图(eye diagram)的开放区域)。
在带宽增强的电荷泵送形式中,可以将驱动调制器的模拟电流信号整形为包括移动精确确定的电荷量的瞬间脉冲。图3示出了电荷泵送带宽增强电路4416的示例实施方式,电荷泵送带宽增强电路4416使用串联连接在电压源和调制器之间的电容器来精确控制电荷流。图3所示的电路的一部分可包括在上面所述的调制器驱动器中。在该示例中,调制器由调制器电路4400表示,调制器电路4400将调制器的移相器的电特性建模为PIN二极管。调制器电路4400包括理想二极管、具有电容Cd的电容器以及具有电阻R的电阻器的并联连接。泵送电容器(pump capacitor)4402具有电容Cp。控制电压波形4404被提供给反相器电路(inverter circuit)4405,以产生驱动电压波形4406,其幅度可以被精确地校准以通过泵送电容器4402将预定量的电荷移入或移出调制器电路4400。通过在端子4408施加恒定电压VDD_IO,对调制器电路4400建模的PIN二极管进行正向偏置。在反相器4405的端子4410施加电荷泵送控制电压VCP,以控制在驱动电压波形4406的转变时泵送的电荷量,以及由调制器施加的对应光学相移。
可以在操作之前调整电压VCP的值,使得储存在电荷泵送电容器4402中的标称电荷(nominal charge)Q基于电容Cp(例如:由于制造期间的不确定性,可能会有一些可变性(variability))的测量值被精确地校准。例如,电压VCP可等于标称电荷Q除以电容Cp。波导与PIN二极管相交的一部分的折射率的所产生的改变可接着提供引导光波的相移,相移与在PIN二极管(例如:通过内部电容Cd储存)和电荷泵送电容器4402之间移动的电荷量Q成线性比例。如果驱动电压从低值变为高值,则从电荷泵送电容器4402到PIN二极管的电流流入会在短时间内传递预定量的电荷(即正电流随时间的积分)。如果驱动电压从高值变为低值,则从PIN二极管到电荷泵送电容器4402的电流流出会在短时间内移除预定量的电荷(即负电流随时间的积分)。在此相对短的开关时间(switching time)之后,由电流源4412提供稳态电流,电流源4412由开关4414控制,以替换由于在保持驱动电压的同时(例如:在特定数字值的保持时间期间)内部电容器通过内部电阻R损失电流而丢失的电荷。使用这种电荷泵送配置可具有优点,例如比其他技术(包括一些预加重技术)更好的精度,因为在短开关时间内移动的电荷量取决于恒定的物理参数(Cp)和稳态控制值(VCP),并因此精确可控且可重复。
也可使用其他形式的带宽增强。例如,可使用匹配电路以对施加至调制光波的半导体二极管的电信号的幅度改变进行整形。控制电信号可通过匹配电路施加至半导体二极管,该匹配电路被配置以匹配与该半导体二极管相关联的阻抗,而不显著改变所施加的电信号的幅度(例如不引入预加重/去加重的幅度改变)。
在一些实施例中,匹配电路为无源电路,例如基本上由电感器组成的电路。例如,电感器的一端连接至电压源,并且电感器的另一端连接至调制器电路4400的一端。与使用例如电阻器和电容器的RC网络的无源匹配电路相比,电感器的优点是制造的一致性。合适的RC网络的设计通常依赖于传递函数(transfer function)中的极点(pole)及其对应的零点(zero)之间的抵消,以使该传递函数趋近1,但是实现抵消所需要的设计公差使设备更容易受到制造误差的影响。例如,抵消可能需要微调(fine-tuning)不同电阻值和电容值的乘积以使其彼此相等。反之,通过使用具有适当电感值(例如1至10nH)的电感器,可以在不进行这样的微调的情况下实现匹配,因而更能容忍制造误差。
在一些情况下,阵列144的调制器和/或OMM 150可具有非线性传递函数。例如,MZI光学调制器可以在施加的控制电压与其传输之间具有非线性关系(例如:正弦依赖性(sinusoidal dependence))。在这种情况下,可以基于调制器的非线性传递函数来调整或补偿第一调制器控制信号,使得数字输入向量与所产生的光学输入向量之间的线性关系可被保持。保持这种线性通常对于确保OMM单元150的输入是数字输入向量的精确表示是重要的。在一些实施例中,第一调制器控制信号的补偿可以由控制器110通过查找表来执行,查找表将数字输入向量的值映射到MC单元130所要输出的值,使得得到的调制的光学信号与数字输入向量的元素成线性比例。可以通过表征(characterizing)调制器的非线性传递函数并且计算非线性传递函数的反函数(inverse function)来产生查找表。
在一些实施例中,调制器的非线性和在所产生的光学输入向量中所得到的非线性可以通过ANN计算算法来补偿。
由调制器阵列144所产生的光学输入向量被输入至OMM单元150。光学输入向量可以是N个空间分离的光学信号,每个光学信号具有对应数字输入向量的元素的光功率。例如,光学信号的光功率通常在1μW至10mW的范围内。OMM单元150接收光学输入向量,并且基于其内部配置执行矩阵乘法。内部配置由MC单元130所产生的电信号来控制。例如,MC单元130从控制器110接收第二调制器控制信号,第二调制器控制信号对应将由OMM单元150实现的神经网络权重。MC单元130基于第二调制器控制信号产生权重控制信号,权重控制信号是适于控制OMM单元150内的可重新配置元组件的模拟信号。例如,模拟信号可以是电压或电流,取决于OMM单元150的重新配置元件的类型。电压可具有范围从例如0.1V到10V的幅度,并且电流可具有范围从例如100μA到10mA的幅度。
调制器阵列144可以以与可重新配置OMM单元150的重新配置速率不同的调制速率来操作。由调制器阵列144产生的光学输入向量以光速的大致比例(例如:光速的80%、50%或25%)传播通过OMM单元,这取决于OMM单元150的光学特性(例如:有效折射率(effectiveindex))。对于典型的OMM单元150,光学输入向量的传播时间在1到数10皮秒的范围内,其对应于处理速率的数10到数100GHz。如此一来,光电处理器140可以执行矩阵乘法操作的速率部分地受到可以产生光学输入向量的速率的限制。具有数10GHz的带宽的调制器是容易获得的,并且具有超过100GHz的带宽的调制器正在开发。如此一来,例如,调制器阵列144的调制速率可以在5GHz、8GHz或数10GHz至数100GHz的范围内。为了以这样的调制速率维持调制器阵列144的操作,控制器110的集成电路可被配置以大于或等于例如5GHz、8GHz、10GHz、20GHz、25GHz、50GHz或100GHz的速率来输出用于MC单元130的控制信号。
取决于由OMM单元150实现的可重新配置元件的类型,OMM单元150的重新配置速率可以明显慢于调制速率。例如,OMM单元150的可重新配置元件可以是热光型,其使用微加热器来调整OMM单元150的光学波导的温度,其反过来影响OMM单元150内的光学信号的相位并且导致矩阵乘法。由于与结构的加热和冷却相关联的热时间常数(thermal timeconstant),重新配置速率可以被限制为例如数100kHz至数10MHz。如此一来,用于控制调制器阵列144的调制器控制信号和用于重新配置OMM单元150的权重控制信号可能具有显著不同的速度要求。此外,调制器阵列144的电特性可以与OMM单元150的可重新配置元件的电特性显著不同。
为了适应调制器控制信号和权重控制信号的不同特性,在一些实施例中,MC单元130可包括第一MC子单元132和第二MC子单元134。第一MC子单元132可被具体配置以产生用于输入向量的调制器控制信号,第二MC子单元134可被具体配置以产生用于矩阵乘法的权重控制信号。例如,调制器阵列144的调制速率可以是25GHz,并且第一MC子单元132可具有每秒25千兆采样(giga-samples per second;GSPS)的每信道输出更新速率(per-channeloutput update rate)和8比特或更高的分辨率。OMM单元150的重新配置速率可以是1MHz,并且第二MC子单元134可具有每秒1兆采样(mega-samples per second;MSPS)的输出更新速率和10比特的分辨率。实现分开的第一MC子单元132和第二MC子单元134允许针对相应信号独立优化MC子单元,这可以降低MC单元130的总功率消耗、复杂性、成本或其组合。值得注意的是,虽然第一MC子单元132和第二MC子单元134被描述为MC单元130的子元件,但是通常来说,第一MC子单元132和第二MC子单元134可以集成成在公共芯片(common chip)上,或者可以实现为分开的芯片。
基于第一MC子单元132和第二MC子单元134的不同特性,在一些实施例中,存储器单元120可包括第一存储器子单元和第二存储器子单元。第一存储器子单元可以是专用于储存输入数据集和数字输入向量的存储器,并且可具有足以支持调制速率的操作速度。第二存储器子单元可以是专用于储存神经网络权重的存储器,并且可以具有足以支持OMM单元150的重新配置速率的操作速度。在一些实施例中,第一存储器子单元可使用SRAM来实施,并且第二存储器子单元可使用DRAM来实施。在一些实施例中,第一存储器子单元和第二存储器子单元可使用DRAM来实施。在一些实施例中,第一存储器子单元可实施作为控制器110的一部分或作为控制器110的缓存(cache)。在一些实施例中,第一和第二存储器子单元可以由单个物理存储器装置作为不同的地址空间来实施。
OMM单元150输出长度为N的输出向量,其对应于光学输入向量和神经网络权重的N×N矩阵乘法的结果。在一些实施例中,输出向量可包括电信号(例如,电压或电流),并且在其他实施例中,输出向量可包括光学信号。OMM单元150耦合至模拟电子单元146,模拟电子单元146被配置以执行用于其中输出向量是光学输出向量的实施例的任何模拟电子处理,也可以被配置为执行光电转换。例如,模拟电子单元146可包括N个光电检测器的阵列(其被配置以吸收光学信号并产生光电流)以及N个跨阻放大器(transimpedance amplifier)的阵列(其被配置以将光电流转换成输出电压)。可替换地,如果从OMM单元150接收到电输出向量,则在OMM单元150内可以存在光电检测器和跨阻放大器。可以基于调制器阵列144的调制速率来设置光电检测器和跨阻放大器的带宽。光电检测器可以基于所检测的光学输出向量的波长由各种材料形成。用于光电检测器的材料的示例包括锗、硅锗合金和铟镓砷(InGaAs)。
模拟电子单元146耦合至ADC单元160。ADC单元160被配置以将从模拟电子单元146输出的N个电信号转换成N个数字化光学输出,N个数字化光学输出是输出电压的量化数字表示。例如,ADC单元160可以是N通道ADC。控制器110可以从ADC单元160得到对应光学矩阵乘法单元150的光学输出向量的N个数字化光学输出。控制器110可以从N个数字化光学输出形成长度为N的数字输出向量,其对应长度为N的输入数字向量的N×N矩阵乘法的结果。在一些实施例中,如果不需要模拟电子处理并且OMM单元150提供电输出信号,则可以省略模拟电子单元146,并且OMM单元150可以直接连接到ADC单元160。
ANN计算***100的各种电组件可以以各种方式集成。例如,控制器110可以是制造在半导体晶粒上的专用集成电路。其他电组件(例如存储器单元120、MC单元130、ADC单元160或其组合)可以单片集成在在其上制造控制器110的半导体晶粒上。作为另一示例,可以将两个或更多个电组件集成成片上***(System-on-Chip;SoC)。在SoC的实施例中,控制器110、存储器单元120、MC单元130、ADC单元160可以制造在相应的晶粒上,并且相应的晶粒可以集成在提供集成组件之间的电连接的公共平台(例如:***器(interposer))上。相对于在印刷电路板(printed circuit board;PCB)上分开地布置和布线组件的方法,这种SoC方法可以允许ANN计算***100的电子组件之间更快的数据传输,从而提高ANN计算***100的操作速度。此外,SoC方法可以允许使用对于不同电组件优化的不同制造技术,其可以改善不同组件的性能并且相较于单片集成方法降低总体成本。虽然已经描述了控制器110、存储器单元120、MC单元130以及ADC单元160的集成,但是通常来说,可以集成组件的子集,而由于各种原因(例如性能或成本)将其他组件实现为分离组件。例如,在一些实施例中,存储器单元120可与控制器110集成为控制器110内的功能块(functional block)。
ANN计算***100的各种光学组件也可以以各种方式集成。ANN计算***100的光学组件的示例包括激光单元142、调制器阵列144、OMM单元150以及模拟电子单元146的光电检测器。这些光学组件可以以各种方式集成,以改善性能和/或降低成本。例如,激光单元142、调制器阵列144、OMM单元150以及光电检测器可以单片地集成在作为光子集成电路(photonic integrated circuit;PIC)的公共半导体基板上。在基于化合物半导体材料***(例如:III-V族化合物半导体(例如磷化铟(InP)))形成的光子集成电路上,激光器、调制器(例如电吸收调制器)、波导以及光电检测器可以单片地集成在单个晶粒上。这种单片集成方法可以降低对准各种分离光学组件的输入和输出的复杂性,这可能需要范围从亚微米(sub-micron)到几微米的对准精确度。作为另一示例,激光单元142的激光源可以制造在化合物半导体晶粒上,而激光单元142的光功率分离器、调制器阵列144、OMM单元150以及模拟电子单元146的光电检测器可以制造在硅晶粒上。在硅晶圆上制造的PIC(可称为硅光子技术)相对于基于III-V族的PIC,通常具有更大的集成密度、更高的光刻(lithographic)分辨率和更低的成本。这种更大的集成密度在OMM单元150的制造中可能是有益的,因为OMM单元150通常包括数10到数100的光学组件,例如功率分离器和移相器。此外,硅光子技术的较高光刻分辨率可以减少OMM单元150的制造差异,从而提高OMM单元150的精确度。
ANN计算***100可以以各种形式因素实现。例如,ANN计算***100可以实现为***主计算机(host computer)的协同处理器(co-processor)。这种ANN计算***100可具有例如快速PCI(PCI Express)卡的形式因素并且通过PCIe总线与主计算机通信。主计算机可以承载(host)多个协同处理器类型的ANN计算***100,并通过网络连接至计算机102。这种类型的实施例可适用于云数据中心,其中服务器机架可以专用于处理从其他计算机或服务器接收的ANN计算请求。作为另一示例,协同处理器类型的ANN计算***100可以直接***发出ANN计算请求的计算机102中。
在一些实施例中,控制器110、存储器单元120、调制器控制单元130、ADC单元160和微处理器可以单片集成在半导体晶粒上。在一些实施例中,控制器110、存储器单元120、调制器控制单元130、ADC单元160、微处理器和***主存储器可以集成为片上***。例如,这允许将人工神经网络计算***100用在便携式设备中,例如膝上型计算机、平板计算机或移动电话。微处理器可包括例如多个高性能处理器核、多个高效处理器核、多个图形处理器、多个电子神经引擎核、1级缓存和2级缓存。微处理器可以使用电子神经引擎核来执行针对常规电子神经引擎核进行了优化的人工神经网络计算指令,并可以使用ANN计算***100执行针对光电处理器140所执行的光学处理进行了优化的人工神经网络计算指令。微处理器可以是例如精简指令集计算机或复杂指令集计算机。可以将操作***设计为考虑ANN计算***100,例如,给ANN计算***100通电以执行更适合由ANN计算***100执行的特定任务,并且在不执行此类任务时给ANN计算***断电100或将ANN计算***100置于待机模式,从而实现总体较高的计算性能和较低的功耗。
在一些实施例中,ANN计算***100可以集成至需要实时ANN计算能力的物理***上。例如,严重依赖于实时人工智能任务(real-time artificial intelligence task)的***(例如自动驾驶交通工具、自主无人机(autonomous drone)、对象或脸部识别安全照相机以及各种物联网(Internet-of-Things;IoT)装置)可以受益于使ANN计算***100直接与这种***的其他子***集成。具有直接集成的ANN计算***100可以在具有较差或没有网络连接的设备中实现实时人工智能,并且增强关键任务(mission-critical)人工智能***的可靠性和可用性。
虽然MC单元130和ADC单元160被示出为耦合至控制器110,但是在一些实施例中,MC单元130、ADC单元160或两者可替换地或另外地耦合至存储器单元120。例如,MC单元130或ADC单元160的直接存储器访问(direct memory access;DMA)操作可以减少控制器110上的计算负担,并且减少读取和写入存储器单元120的延迟,从而进一步提高ANN计算***100的操作速度。
图4示出了用于执行ANN计算的处理200的示例的流程图。处理200的步骤可以由控制器110执行。在一些实施例中,处理200的相应步骤可以并行、组合、循环或以任何顺序运行。
在步骤210,接收包括输入数据集和第一多个神经网络权重的人工神经网络(ANN)计算请求。输入数据集包括第一数字输入向量。第一个数字输入向量是输入数据集的子集。例如,它可以是图像的子区域。ANN计算请求可以由各种实体(例如计算机102)产生。计算机可包括各种类型的计算装置中的一个或多个,例如个人计算机、服务器计算机、交通工具计算机(vehicle computer)和飞行计算机(flight computer)。ANN计算请求通常是指将要执行ANN的计算通知或告知给ANN计算***100的电信号。在一些实施例中,ANN计算请求可以被分为两个或更多个信号。例如,第一信号可以询问(query)ANN计算***100以检查***100是否准备好接收输入数据集和第一多个神经网络权重。响应于***100的肯定应答,计算机可以发送包括输入数据集和第一多个神经网络权重的第二信号。
在步骤220中,储存输入数据集和第一多个神经网络权重。控制器110可以将输入数据集和第一多个神经网络权重储存在存储器单元120中。在存储器单元120中储存输入数据集和第一多个神经网络权重可以允许ANN计算***100的操作中的灵活性,这例如可以改善***的整体性能。例如,通过从存储器单元120取得(retrieve)输入数据集的期望部分,可以将输入数据集分为设定尺寸和格式的数字输入向量。输入数据集的不同部分可以以各种顺序处理,或者被混洗(shuffled),以允许执行各种类型的ANN计算。例如,在输入和输出矩阵尺寸不同的情况下,混洗可以允许通过块矩阵乘法技术执行矩阵乘法。作为另一示例,将输入数据集和第一多个神经网络权重储存在存储器单元120中可以允许通过ANN计算***100对多个ANN计算请求进行排队,这可以允许ANN计算***100以其全速维持操作而没有不活动的时段。
在一些实施例中,输入数据集可以储存在第一存储器子单元中,并且第一多个神经网络权重可以储存在第二存储器子单元中。
在步骤230中,基于第一数字输入向量产生第一多个调制器控制信号,并且基于第一多个神经网络权重产生第一多个权重控制信号。控制器110可以将第一调制器控制信号发送至MC单元130,以产生第一多个调制器控制信号。MC单元130基于第一调制器控制信号产生第一多个调制器控制信号,并且调制器阵列144产生表示第一数字输入向量的光学输入向量。
第一调制器控制信号可包括将要由MC单元130转换成第一多个调制器控制信号的多个数字值。多个数字值通常对应第一数字输入向量,并且可以通过各种数学关系或查找表来关联。例如,多个数字值可以与第一数字输入向量的元素的值成线性比例。作为另一示例,多个数字值可以通过查找表与第一数字输入向量的元素关联,该查找表被配置以维持数字输入向量与由调制器阵列144产生的光学输入向量之间的线性关系。
控制器110可以将第二调制器控制信号发送至MC单元130,以产生第一多个权重控制信号。MC单元130基于第二调制器控制信号产生第一多个权重控制信号,并且OMM单元150根据第一多个权重控制信号被重新配置,从而实现对应第一多个神经网络权重的矩阵。
第二调制器控制信号可包括将要由MC单元130转换成第一多个权重控制信号的多个数字值。多个数字值通常对应第一多个神经网络权重,并且可以通过各种数学关系或查找表来关联。例如,多个数字值可以与第一多个神经网络权重成线性比例。作为另一示例,多个数字值可以通过对第一多个神经网络权重执行各种数学运算来计算,以产生权重控制信号,权重控制信号可以配置OMM单元150以执行对应第一多个神经网络权重的矩阵乘法。
在步骤240中,得到对应于光学矩阵乘法单元的光学输出向量的第一多个数字化光学输出。由调制器阵列144所产生的光学输入向量由OMM单元150处理并且转换为光学或电输出向量。如果输出向量是光学输出向量,则该光学输出向量由模拟电子单元146检测并且被转换成电信号,该电信号可以被ADC单元160转换成数字化值。控制器110可以例如将转换请求发送至ADC单元160,以开始将模拟电子单元146输出的电压转换为数字化光学输出。一旦转换完成,ADC单元160可将转换结果发送至控制器110。可替换地,控制器110可以从ADC单元160取得转换结果。控制器110可以从数字化光学输出形成数字输出向量,该数字输出向量对应输入数字向量的矩阵乘法的结果。例如,数字化光学输出可以被组织或级联(concatenated)以具有向量格式。
在一些实施例中,可基于由控制器110将调制器控制信号发出到MC单元130,来设置或控制ADC单元160以执行ADC转换。例如,ADC转换可以被设置以在MC单元130产生调制控制信号的后的预设时间开始。ADC转换的这种控制可以简化控制器110的操作并且减少必要的控制操作的数量。
在步骤250中,对第一数字输出向量执行非线性变换以产生第一变换数字输出向量。ANN的节点或人工神经元通过首先执行从先前层的节点接收的信号的加权总和,然后执行加权总和的非线性变换(“激活”)以产生输出来进行操作。各种类型的ANN可以实现各种类型的可微分的非线性变换。非线性变换函数的示例包括修正线性单元(rectifiedlinearunit;RELU)函数、S型(Sigmoid)函数、双曲正切函数(hyperbolictangentfunction),X2函数以及|X|函数。由控制器110对第一数字输出执行这种非线性变换,以产生第一变换数字输出向量。在一些实施例中,非线性变换可由控制器110内的专用数字集成电路执行。例如,控制器110可包括一个或多个模块或电路块,其特别适于加速一种或多种类型的非线性变换的计算。
在步骤260中,储存第一变换数字输出向量。控制器110可以将第一变换数字输出向量储存在存储器单元120中。在输入数据集被分成多个数字输入向量的情况下,第一变换数字输出向量对应输入数据集的一部分(例如第一数字输入向量)的ANN计算结果。如此一来,储存第一变换数字输出向量允许ANN计算***100在输入数据集的其他数字输入向量上执行和储存额外计算,以在稍后被聚合成单个ANN输出。
在步骤270中,输出基于第一变换数字输出向量产生的人工神经网络输出。控制器110产生ANN输出,其是通过由第一多个神经网络权重所定义的ANN处理输入数据集的结果。在输入数据集被分成多个数字输入向量的情况下,所产生的ANN输出是包括第一转换数字输出的聚合输出,但是可进一步包括对应输入数据集的其他部分的额外转换数字输出。一旦产生ANN输出,就将所产生的输出发送至发起ANN计算请求的计算机(例如计算机102)。
可以为实现处理200的ANN计算***100定义各种性能指标(performancemetric)。定义性能指标可以允许将实现光电处理器140的ANN计算***100的性能与用于ANN计算的、替代地实现电矩阵乘法单元(electronic matrix multiplication unit)的其他***的性能进行比较。在一个方面,可以执行ANN计算的速率可以部分地由第一循环时段指示,第一循环时段定义为在存储器单元中储存输入数据集和第一多个神经网络权重的步骤220与在存储器单元中储存第一变换数字输出向量的步骤260之间所经过的时间。因此,第一循环时段包括将电信号转换成光学信号(例如:步骤230)、在光学域中执行矩阵乘法、以及将结果转换回电域(例如:步骤240)所花费的时间。步骤220和260都涉及将数据储存至存储器单元120中,这是在ANN计算***100和没有光电处理器140的传统ANN计算***之间共享的步骤。如此一来,测量存储器到存储器交易时间(memory-to-memory transactiontime)的第一循环时段可以允许在ANN计算***100与没有光电处理器140的ANN计算***(例如实现电矩阵乘法单元的***)之间进行ANN计算吞吐量的实际或公平比较。
由于调制器阵列144可以产生光学输入向量的速率(例如:在25GHz)和OMM单元150的处理速率(例如:>100GHz),用于执行单个数字输入向量的单个ANN计算的ANN计算***100的第一循环时段可以接近调制器阵列144的速度的倒数(例如40ps)。在考虑与MC单元130的信号产生和ADC单元160的ADC转换相关联的延迟之后,第一循环时段可以例如小于或等于100ps、小于或等于200ps、小于或等于500ps、小于或等于1ns、小于或等于2ns、小于或等于5ns、或小于或等于10ns。
作为比较,电矩阵乘法单元的M×1向量和M×M矩阵的乘法运行时间通常与M2-1个处理器时钟周期(processor clock cycle)成比例。对于M=32,这种乘法将花费大约1024个周期,其在3GHz时钟速度下导致运行时间超过300ns,这比ANN计算***100的第一循环时段慢几个数量级。
在一些实施例中,处理200进一步包括基于第一变换数字输出向量产生第二多个调制器控制信号的步骤。在一些类型的ANN计算中,单个数字输入向量可以通过相同的ANN重复传播或由相同的ANN处理。实现多通处理(multi-pass processing)的ANN可以称为递归神经网络(recurrent neural network;RNN)。RNN是神经网络,其中在第(k)次通过神经网络期间网络的输出被再循环回到神经网络的输入并且在第(k+1)次通过期间被用作输入。RNN可以在模式识别任务中具有各种应用,例如语音或手写识别。一旦产生了第二多个调制器控制信号,处理200就可以进行步骤240至步骤260,以完成第一数字输入向量第二次通过ANN。通常来说,根据在ANN计算请求中所接收的RNN的特性,可以针对预定数量的循环,重复将变换的数字输出再循环为数字输入向量。
在一些实施例中,处理200进一步包括基于第二多个神经网络权重产生第二多个权重控制信号的步骤。在一些情况下,人工神经网络计算请求进一步包括第二多个神经网络权重。通常来说,除了输入层和输出层之外,ANN还具有一个或多个隐藏层。对于具有两个隐藏层的ANN,第二多个神经网络权重可对应ANN的第一层与ANN的第二层之间的连接性。为了通过ANN的两个隐藏层处理第一数字输入向量,可以首先根据处理200处理第一数字输入向量直到步骤260,其中在步骤260通过ANN的第一隐藏层处理第一数字输入向量的结果储存在存储器单元120中。接着控制器110重新配置OMM单元150以执行对应与ANN的第二隐藏层相关联的第二多个神经网络权重的矩阵乘法。一旦OMM单元150被重新配置,处理200可以基于第一变换数字输出向量产生多个调制器控制信号,其产生对应第一隐藏层的输出的更新的光学输入向量。接着更新的光学输入向量由重新配置的OMM单元150处理,OMM单元150对应ANN的第二隐藏层。通常来说,所述的步骤可以重复直到已经通过ANN的所有隐藏层处理了数字输入向量。
如上面所述,在OMM单元150的一些实施例中,OMM单元150的重新配置速率可明显慢于调制器阵列144的调制速率。在这种情况下,ANN计算***100的吞吐量可能受到在不能执行ANN计算期间,重新配置OMM单元150所花费的时间量的不利影响。为了减轻OMM单元150的相对慢的重新配置时间的影响,可以利用批量处理(batch processing)技术,其中两个或更多个数字输入向量传播通过OMM单元150而没有配置改变,以将重新配置时间分摊(amortize)在更大数量的数字输入向量上。
图5示出了说明图4的处理200的方面的图290。对于具有两个隐藏层的ANN,代替通过第一隐藏层处理第一数字输入向量、重新配置OMM单元150用于第二隐藏层、通过重新配置的OMM单元150处理第一数字输入向量(来自先前隐藏层)、以及对剩余的数字输入向量重复相同的操作,可以首先通过对第一隐藏层(配置#1)配置的OMM单元150来处理输入数据集的所有数字输入向量,如图290的上部所示。一旦通过具有配置#1的OMM单元150处理了所有数字输入向量,则将OMM单元150重新配置成配置#2,其对应ANN的第二隐藏层。此重新配置可以明显慢于OMM单元150可以处理输入向量的速率。一旦OMM单元150被重新配置用于第二隐藏层,来自先前隐藏层的输出向量可以由OMM单元150批量处理。对于具有数十或数十万个数字输入向量的大输入数据集,可以通过大致相同的因素来减少重新配置时间的影响,这可以显著减少ANN计算***100在重新配置中花费的时间部分。
为了实现批量处理,在一些实施例中,处理200进一步包括以下步骤:通过MC单元基于第二数字输入向量产生第二多个调制器控制信号;从ADC单元得到对应于光学矩阵乘法单元的光学输出向量的第二多个数字化光学输出,第二多个数字化光学输出形成第二数字输出向量;对第二数字输出向量执行非线性变换以产生第二变换数字输出向量;以及在存储器单元中储存第二变换数字输出向量。例如,产生第二多个调制器控制信号可以在步骤260之后。此外,在这种情况下的步骤270的ANN输出现在是基于第一变换数字输出向量和第二变换数字输出向量两者。获取、执行和储存步骤类似于步骤240到步骤260。
批量处理技术是用于提高ANN计算***100的吞吐量的多种技术之一。用于提高ANN计算***100的吞吐量的另一种技术是通过利用波分复用(wavelength divisionmultiplexing;WDM)来并行处理多个数字输入向量。WDM是通过公共传播信道(例如OMM单元150的波导)同时传播不同波长的多个光学信号的技术。与电信号不同,不同波长的光学信号可以通过公共信道传播,而不会影响在同一信道上不同波长的其他光学信号。此外,可以使用诸如光学复用器(multiplexer)和解复用器(demultiplexer)的公知结构从公共传播信道添加(复用(multiplexed))或丢弃(解复用(demultiplexed))光学信号。
在ANN计算***100的背景下,不同波长的多个光学输入向量可以独立地产生、同时传播通过OMM单元150、以及被独立地检测以增强ANN计算***100的吞吐量。参照图6,示出了波分复用(WDM)人工神经网络(ANN)计算***104的示例的示意图。除非另外描述,否则WDM ANN计算***104类似于ANN计算***100。为了实现WDM技术,在ANN计算***104的一些实施例中,激光单元142被配置以产生多个波长,例如λ1、λ2以及λ3。多个波长可以优选地通过足够大的波长间隔分开,以允许容易地复用和解复用到公共传播信道上。例如,大于0.5nm、1.0nm、2.0nm、3.0nm或5.0nm的波长间隔可以允许简单的复用和解复用。另一方面,多个波长的最短波长与最长波长之间的范围(“WDM带宽”)可以优选地足够小,使得OMM单元150的特性或性能在多个波长上保持基本相同。光学组件通常是分散的(dispersive),这意味着它们的光学特性随着波长而改变。例如,MZI的功率分离比可以随着波长而改变。然而,通过将OMM单元150设计成具有足够大的操作波长窗口(operating wavelength window),并且通过将波长限制在操作波长窗口内,由OMM单元150在每个波长下所输出的光学输出向量可以是由OMM单元150实现的矩阵乘法的足够精确的结果。操作波长窗口可以是例如1nm、2nm、3nm、4nm、5nm、10nm或20nm。
图7示出了可用于调制光学信号的幅度的马赫曾德尔调制器3900的示例的图。马赫曾德尔调制器3900包括两个1×2端口多模干涉耦合器(MMI_1x2)3902a和3902b、两个平衡的臂(arm)3904a和3904b、以及一个臂中的移相器3906(或每个臂中的一个移相器)。当通过信号线3908将电压施加到一个臂中的移相器时,在两个臂3904a与3904b之间将存在将要转换为幅度调制的相位差。1×2端口多模干涉耦合器3902a和3902b以及移相器3906被配置为宽带(broadband)光子组件,并且两个臂3904a和3904b的光径长被配置为相等。这使马赫曾德尔调制器3900能够在宽波长范围内工作。
图8示出马赫曾德尔调制器3950的另一示例的图,该调制器可用于调制光学信号的幅度。该马赫曾德尔调制器3950包括两个1×2端口多模干涉耦合器(MMI_1x2)3952a与3952b、两个平衡臂3954a与3954b、以及在一臂上的移相器3956a、3956b及3956c的集合(或在每一臂上的移相器的集合)。调制器3950使用片段式设计,以对数字输入信号的每一比特使用分别的移相器提供光学数字至模拟转换。例如,数字输入端口可被配置为在连续的时间间隔中接收一系列数字输入值,每个数字输入值包括三个比特。例如,数字输入端口亦也被配置为并行接收数字输入值。多个移相器3956a、3956b和3956c可通过沿着臂3954a的光学波导形成不同的相应二极管区段来实现。在本示例中,每个相应移相器3956a、3956b和3956c的二极管区段包括半导体二极管与用于向处于正向偏置状态的半导体二极管施加电信号的电触点,以提供载流子注入,以调制对应于移相器的波导片段的折射率。这使得每个二极管区段的折射率能够响应于该三比特数字输入值中的不同对应比特的值被调制。二极管区段的相对长度被选择为对应于每个比特的比特位置。因此,在每个数字输入值具有三个比特的示例中,最高有效比特(most-significant bit)被用于施加二进制(0或1)调制至长度为4L的移相器3956a、次一比特被用于施加二进制(0或1)调制至长度为2L的移相器3956b、最低有效比特(least-significantbit)被用于施加二进制(0或1)调制至长度为L的移相器3956c。一同地,二极管区段施加不同的相应调制贡献至通过该光学波导部分传播的光波,以提供适当的数字至模拟转换。
移相器是一种光学调制器。在本说明书中,取决于上下文,术语“调制器”可以指例如整个调制器3950、移相器3956、或光学幅度调制器。
参照图9,在一些实施例中,调制器3950包括第一臂3954a中的第一脊状波导(ribwaveguide)3964a和第二臂3954b中的第二脊状波导3964b。第一脊状波导3964a和第二脊状波导3964b形成在半导体基板(例如硅基板)上。移相器3956a包括重掺杂(heavily doped)p+区域3960a及重掺杂n+区域3960b,其长度为4L,并且是形成在基板上,位于第一脊状波导3964a的第一片段的两侧。p+区域、p+和n+区域之间的本征(intrinsic)区域、以及n+区域形成p+-i-n+(PIN)二极管。第一电极(阳极)3962a电耦合于p+区域3960a,第二电极(阴极)3962b电耦合于n+区域3960b。
第一电极3962a和第二电极3962b可被驱动电路3966a驱动,该驱动电路3966a与图3中所示的电路相似。驱动电路3966a被配置为向或从移相器3956a移动预定电荷量,以控制由移相器3956a施加的对应光学相移。驱动电路3966a包括具有电容Cp_a的泵送电容器4402a。控制电压波形4404a被提供至反相器电路4405a,以产生驱动电压波形4406a,其幅度可被精准校准,以经由泵送电容器4402a向或从移相器3956a移动预定电荷量。通过在端子4408a处施加恒定电压VDD_IO而使移相器3956a的PIN二极管被正向偏置。电荷泵送控制电压VCP被施加至反相器4405a的端子4410a,以控制驱动电压波形4406a转变(transition)时泵送(pump)的电荷量,以及由移相器3956a施加的对应光学相移。为了图示清楚,附图中省略了各驱动电路3966和移相器3956之间的详细连接。
移相器3956b包括重掺杂p+区域3968a和重掺杂n+区域3968b,其长度为2L,并且是形成在基板上,位于第一脊状波导3964a的第二片段的两侧。p+区域、p+和n+区域之间的本征(intrinsic)区域、以及n+区域形成p+-i-n+(PIN)二极管。第三电极(阳极)3970a电耦合于p+区域3968a,第四电极(阴极)3970b电耦合于n+区域3968b。第三电极3970a和第四电极3970b可被驱动电路3966b驱动,该驱动电路3966b与驱动电路3966a相似。控制电压波形4404b被提供至反相器电路,以产生驱动电压波形,其幅度可被精准校准,以经由泵送电容器向或从移相器3956b移动预定电荷量。驱动电路3966b被配置为向或从移相器3956b移动预定电荷量,以控制由移相器3956b施加的相应的光学相移。
移相器3956c包括重掺杂p+区域3972a和重掺杂n+区域3972b,其长度为L,并且是形成在基板上,位于第一脊状波导3964a的第三片段的两侧。p+区域、p+和n+区域之间的本征(intrinsic)区域、以及n+区域形成p+-i-n+(PIN)二极管。第五电极(阳极)3974a电耦合于p+区域3972a,第六电极(阴极)3974b电耦合于n+区域3972b。第五电极3974a和第六电极3974b可被驱动电路3966c驱动,该驱动电路3966c与驱动电路3966a相似。控制电压波形4404c被提供至反相器电路,以产生驱动电压波形,其幅度可被精准校准,以经由泵送电容器向或从移相器3956c移动预定电荷量。驱动电路3966c被配置为向或从移相器3956c移动预定电荷量,以控制由移相器3956c施加的相应的光学相移。
移相器3956a、3956b和3956c的掺杂p+及n+区域长度分别为4L、2L及L。驱动电路4404a、4404b和4404c提供代表3比特数字输入值的二进制信号至移相器3956a、3956b和3956c,移相器3956a、3956b和3956c将根据4∶2∶1的比例加权的光学相移给予(impart)到在第一、第二和第三波导片段中传播的光。例如,当将二进制值“1”施加到移相器3956a和移相器3956c时,移相器3956a所给予的光学相移量将会是移相器3956c所给予的光学相移量的四倍。相似地,当将二进制值“1”施加到移相器3956b和移相器3956c时时,移相器3956b所给予的光学相移量将会是移相器3956c所给予的光学相移量的两倍。这样,MZI 3950将该3比特数字输入值转换为具有3比特精确度的模拟输出信号,而无需使用数字-模拟转换器电路;若使用图7的MZI 3900,则可能需要使用数字-模拟转换器电路。由于高速数字-模拟转换器难以实现,因此与使用MZI 3900相比,具有片段式设计的MZI 3950允许数字电信号以更快速度被转换为模拟光学信号。
如上所述,在一些ANN计算的示例中,例如使用批量处理技术时,调制器阵列144的重新配置速率可快于OMM单元150的重新配置速率。例如,调制器阵列144可使用多个具有片段式设计的马赫曾德尔调制器3950来调制从激光单元142接收的光波,以基于第一MC子单元132提供的已编码输入数据(例如数字输入数据)提供长度为N的光学输入向量,并且该光学输入向量传播至OMM单元150。由于OMM单元150的重新配置速率可能较慢,因此在一些示例中OMM单元150包括多个不使用片段式设计的马赫曾德尔调制器3900。驱动MZI 3900的电路可以比驱动MZI 3950的多个片段的电路更简单。OMM单元150可具有大量的MZI,因此在OMM单元150中使用MZI 3900可减小OMM单元150中驱动电路的复杂度。
在一些实施例中,光电处理器140被配置为执行ANN计算,该ANN计算要求OMM单元150也以与调制器阵列144的速率相当的快速速率被更新。在这种情况下,OMM单元150还可以使用多个使用片段式设计的MZI3950。
在一些实施例中,调制器阵列144包括多个不使用片段式设计的MZI3900,并且OMM单元150包括多个使用片段式设计的MZI 3950。
参照图10,在一些实施例中,马赫曾德尔调制器3950被用在每个数字输入具有两个比特的ANN***中。在该示例中,臂3954a被配置为具有两个移相器的集合,包括长度为2L的第一移相器3956b和长度为L的第二移相器3956c。
参照图11,在一些实施例中,马赫曾德尔调制器3950被用在每个数字输入具有四个比特的ANN***中。在该示例中,臂3954a被配置为具有四个移相器的集合,包括长度为8L的第一移相器3956d、长度为4L的第二移相器3956a、长度为2L的第三移相器3956b和长度为L的第四移相器3956c。
在一些实施例中,每个数字输入值具有N个比特,并且臂3954a被配置为具有N个移相器的集合,包括长度为2N-1L的第一移相器、长度为2N-2L的第二移相器、...、以及长度为L的第N移相器。
在图8至图11所示的示例中,移相器基本上排列成一直线。在一些示例中,臂3954a中的波导可具有一个或多个弯折或屈曲,以减小MZI 3950的总长度。
在一些实施例中,具有片段式设计的MZI可在两个臂(例如3954a和3954b)上都具有移相器。图12是示例MZI 3980的图,其在两个臂中的每个臂上包括两个移相器的集合。图13是示例MZI 3990的图,其在两个臂中的每个臂上包括三个移相器的集合。图14是示例MZI3995的图,其在两个臂中的每个臂上包括四个移相器的集合。
图15是示出用于驱动图13的MZI 3990的移相器的电路的示例的图,MZI 3990在每个臂上包括三个移相器的集合。臂3964b包括三个移相器3956d、3956e和3956f,分别被配置为类似于移相器3956a、3956b和3956c。移相器3956d、3956e和3956f分别被驱动电路3966d、3966e和3966f驱动。驱动电路3966d、3966e和3966f分别类似于驱动电路3966a、3966b和3966c。对驱动电路3966a和3966d的输入以推-拉(push pull)方式被驱动,以使得移相器3956a和3956d给予彼此互补的光学相移。例如,若驱动电路3966a驱动移相器3956a以对在臂3964a中传播的光给予θ的相移,则驱动电路3966d驱动移相器3956d以对在臂3964b中传播的光给予-θ的相移。对驱动电路3966b和3966e的输入以推-拉方式被驱动,以使得移相器3956b和3956e给予彼此互补的光学相移。相似地,对驱动电路3966c和3966f的输入以推-拉方式被驱动,以使得移相器3956c及3956f给予彼此互补的光学相移。为了图示清楚,附图中省略了各驱动电路3966和移相器3956之间的详细连接。
在一些实施例中,臂3954a中的移相器数量与每个数字输入值中的比特数量不同。在这种情况中,二极管区段施加不同的相应调制贡献至通过光学波导部分传播的光波,以提供部分数字至模拟转换。额外的电路可用于完成数字至模拟转换。
参见图16,在一些实施例中,马赫曾德尔调制器4010被配置为将6比特数字电信号转换为具有6比特精确度的模拟光学信号。除了控制电压波形4404a、4404b及4404c分别由2比特数字-模拟转换器4012a、4012b和4012c(统称为4012)提供以外,马赫曾德尔调制器4010与图9中的马赫曾德尔调制器3950相似。为了图示清楚,附图中省略了电荷泵送带宽增强电路与移相器之间的详细连接。例如,使用相同的数字至模拟转换架构,2比特数字-模拟转换器(DAC)的操作可快于6比特DAC。因此,使用2比特DAC4012驱动具有三个移相器3956的MZI4010的ANN***,其操作可快于使用6比特DAC驱动不具有片段式设计的MZI 3900的ANN***。在一个臂上具有六个移相器的集合(每个移相器由对应驱动电路驱动)的MZI,其长度大于具有三个移相器的集合的MZI。因此,使用2比特DAC 4012驱动具有三个移相器3956的MZI 4010的ANN***,其长度可短于使用二进制信号驱动在一个臂上包括六个移相器的集合的MZI的ANN***。
一般而言,需要将N比特数字电信号转换为具有N比特精确度的模拟光学信号的模块,可使用p比特DAC驱动在一个臂上具有q个移相器的集合的MZI,其中p×q=N。p和q的选择取决于MZI需要被重新配置的速度以及多少空间可用于容纳MZI的多个移相器。较小的p导致更快的重新配置速率,较小的q导致更短的MZI。
在一些实施例中,半导体二极管操作在正向偏置状态,以利用载流子注入的折射率调制(index modulation)效应,其可使用相对较短的光径长(例如小于约0.1mm、或小于约0.5mm、或小于约0.1mm)实施。该短的光径长使得调制器能够在使用多个MZI或其他类型调制器的集成光学装置内实现紧凑调制器布置。
除了诸如MZI 3950的干涉仪光学调制器之外,非干涉仪光学调制器也可用于实现片段式设计,以用于数字至模拟转换。例如,吸收光学调制器可取代移相器沿着单一光学波导用于MZI的一个臂或多个臂。片段式设计还促进信号调节的使用以进行带宽增强,例如预加重和/或去加重,其可针对每个片段而独立实施。
图17示出用于图3的电荷泵送带宽增强电路4416的预加重和去加重的时序图。在一些实施例中,反相器电路4405被输入数据(图1700所示的波形4404)驱动。电容器Cp 4402的底板(bottom plate)会跟踪反相器4405的输出,即驱动电压波形4406(如图1702所示),其电平在0V和VCP之间。随着波形4406的改变,驱动电压波形4406会将保持在电容器Cp4402内的电荷推或拉,以调制二极管。电容器Cp 4402的顶板(top plate)处的电压如图1704所示。电容器Cp 4402的顶板处的电压波形可在VDD_IO-Von+VCp和VDD_IO-Von-VCp之间摆动,其可以比仅通过电流模式DAC或电流源4412驱动的电压高或低得多。Von为二极管的启动电压(turn-on voltage)。如图1704所示,用于控制经由泵送电容器4402泵送至调制器电路4400或从调制器电路4400拉出的电荷量的控制电压波形4404(图3、9、16)被预加重或去加重,以将所需电荷量快速移至调制器电路4400或从调制器电路4400快速去除所需电荷量。
术语“预加重”是指前述动作中电荷泵送电路4416经由电容器Cp 4402快速将电荷泵送至调制器电路4400以使电容器Cp 4402的顶板处波形快速上升(例如1706)至高于稳态电压的水平的部分。术语“去加重”是指前述动作中电荷泵送电路4416经由电容器Cp 4402将电荷从调制器电路4400快速去除以使电容器Cp 4402的顶板处波形快速下降(例如1708)至低于稳态电压的水平的部分。
相较于使用电压驱动的传统预加重电路,电荷泵送带宽增强电路4416具有多个优点。例如,一些预加重传统电路仅能执行预加重,而电荷泵送带宽增强电路4416可执行预加重与去加重两者。例如,一些使用电压驱动的传统电路预加重电路需要来自外部源的更高电压源,并以供应电压一半来偏置调制器、或需要复杂的升压(voltageboost)电路。相比之下,电荷泵送带宽增强电路4416可使用电压较低的电压源,且不需要复杂的升压电路。此外,由于传统预加重电路是电压驱动的,所以为了确保调制器在目标相位不被驱动,传统电路可能需要实现额外的控制相位以停止加重电路。相比之下,电荷泵送带宽增强电路4416可将精确的电荷量移至电容器Cp 4402或从电容器Cp 4402移出精确的电荷量,并可准确控制施加至调制器的电压,因而不需要实现额外的控制相位以停止加重电路。
图54是具有片段式设计的环形谐振器(ring resonator)调制器5400的示例的图。环形谐振器调制器5400包括第一光学波导5402a、第二光学波导5402b、和闭环光学波导5402c。提供两个移相器,包括第一移相器5404a和第二移相器5404b,以调制在闭环光学波导5402c中传播的光波。第一移相器5404a和第二移相器5404b具有不同的长度。在该示例中,第二移相器5404b的长度为第一移相器5404a的两倍。移相器5404a和5404b对通过与移相器5404a和5404b相关联的光学波导部分传播的光波施加不同的相应调制贡献,以提供适当的数字至模拟转换。环形谐振器调制器5400包括两个移相器,在下文中将被称为两段式环形谐振器调制器。
例如,从端口A进入光学波导5402a的输入光波可传播至光学波导5402a的端口B,或通过环形波导5402c耦合于光学波导5402b的端口C。由移相器5404a和5404b给予在环形波导5402c内传播的光波的调制,会调制在光学波导5402a的端口B处的光波幅度。两个移相器5404a和5404b有效地执行2比特数字至模拟转换。
例如,第一移相器5404a被第一电荷泵送带宽增强电路5406a驱动,并且第二移相器5404b被第二电荷泵送带宽增强电路5406b驱动。电荷泵送带宽增强电路5406a和5406b与图3所示的电荷泵送带宽增强电路相似。为了图示清楚,附图中省略了电荷泵送带宽增强电路5406a和5406b的一些信号连接。
例如,第一电荷泵送带宽增强电路5406a被2比特DAC 5408a驱动,并且第二电荷泵送带宽增强电路5406b被2比特DAC 5408b驱动。对2比特DAC 5408a和5408b以及两段式环形谐振器调制器5400的组合使用,允许4比特数字输入信号被转换为具有4比特精确度的模拟光学信号。
在一些示例中,有n个移相器对在环形波导5402c中传播的光波进行调制,该调制器被称为n段式环形谐振器调制器。如果每个移相器被电荷泵送带宽增强电路驱动,而该电荷泵送带宽增强电路继而由m比特DAC(m≥1)驱动,则m比特DAC和n段式环形谐振器调制器的组合可将m×n比特数字输入信号转换为具有m×n比特精确度的模拟光学信号。一般而言,数量m越小,则m比特DAC操作越快,并且环形谐振器调制器被重新配置的速度越快。
在一些实施例中,环形谐振器调制器5400可被用于图1与图6中的调制器阵列144,以及图39与图51中的调制器阵列3208。在一些实施例中,环形谐振器调制器5400也可用于图1与图6中的OMM单元150,以及图39与图51中的OMM单元3520。m比特DAC的数量m和n段式环形谐振器调制器的数量n可基于多个标准进行选择,例如调制器阵列和OMM单元的期望重新配置频率,以及驱动移相器的电路复杂度。
在一些实施例中,在由电DAC信号驱动的非片段式设计的光学调制器中,干涉仪调制器中的单个移相器也可利用信号调节进行带宽增强。例如,如果干涉仪调制器为环形谐振器(例如图29中的环形谐振器2222),则环的小尺寸可能导致空间不足以容纳适当长度的多个片段。环形谐振器可用作例如调制器,以提供波长选择性,从而避免了需要用于其他种类的调制器的额外的光学复用器和解复用器。
当脉冲幅度调制(pulse amplitude modulation,PAM)具有多于两个水平时(即,对于具有多于2比特的数字值),在非片段式设计中的信号调节可能比片段式设计中的信号调节更为复杂。在干涉仪调制器中(例如图7中的MZI调制器),调制器的光学干涉部分(例如MZI调制器3900的耦合器3902b)基于移相器(例如图7中的3906)的折射率调制,提供导致预定的幅度减少的一定程度的相消光学干涉。对于一系列数字输入值中连续的数字输入值之间对应的改变,可使用对幅度改变进行整形(例如对初始幅度使用预加重,和/或对拖后幅度(trailing amplitude)使用去加重)的电路来处理驱动移相器的电DAC信号。在非片段式设计中,不是应用简单的预加重/去加重方案在两个水平之间切换,而是有更复杂的预加重/去加重形式,用于在4个或更多个水平之间进行切换。
在一些实施例中,当将不同的调制器输入值映射至调制器的不同的所得幅度减少时,在调制器中可能发生非线性。存在用于补偿这种非线性的技术,但是非线性补偿过程可能相对较慢和/或消耗相对大量的功率。具有非线性补偿的、用于较快速且功率效率较佳的预加重/去加重信号调节的技术可在形成驱动干涉仪调制器中的单个移相器的电信号时,通过组合不同信号调节路径来实现。一序列输入值中的给定数量的比特(例如n个比特)、或并行的n比特值,可用于控制2n个单一水平(single-level)的DAC中的每一个DAC。例如,该2n个单一水平的DAC可包括在第一MC子单元132(如果具有片段式设计的MZI用于调制器阵列144)、第二MC子单元134(如果具有片段式设计的MZI用于OMM单元150)或这二者(如果具有片段式设计的MZI用于调制器阵列144和OMM单元150这二者)中。每个单一水平的DAC被配置以仅提供幅度为该2n个比特值中之一的电信号以及针对该幅度的对应预加重和去加重,该预加重和去加重被针对该幅度的调制器的给定非线性进行了适当调节。接着,从已调节的单一水平的DAC输出的适当一者中选择提供调制器输入值的电信号。
例如,来自提供给定调制器输入值的单一水平的DAC之一的第一信号调节路径,可被配置以提供与驱动DAC的一系列数字输入值相对应的未调节电信号,其中对于给定类型的DAC(例如电流导向式(current-steering)DAC),在该调制器输入值下,该输出可基于该调制器的已知非线性被适当地缩放。第二信号调节路径可被配置,以提供该未调节电信号的延迟、缩放和/或反相版本(以提供预加重)。第三信号调节路径可被配置,以提供该未调节电信号的延迟、缩放和/或反相版本(以提供去加重)。若有需要,当该未调节电信号的不同版本被加入至该未调节电信号时,可使用任何数量的额外信号调节路径,以提供适当的预加重和/或去加重的量。已被缩放以补偿非线性、且已被调节以提供适当的预加重和去加重的量的所得电信号,可接着被用作调制器输入值,以得出已均衡化(equalized)且已带宽增强的光学信号,该光学信号具有在所使用的4个或更多水平上均匀分布的不同光学幅度。
图18是曲线图3910,其示出了对于波长1530nm、1550nm以及1570nm使用在图7中所示的配置的马赫曾德尔调制器3900的强度-电压曲线。曲线图3910示出了马赫曾德尔调制器3900对于1530nm至1570nm范围内的不同波长具有类似的强度-电压特性。
返回参照图6,WDMANN计算***104的调制器阵列144包括光学调制器组(banks ofoptical modulators),其被配置以产生多个光学输入向量,光学调制器组中的每个对应于多个波长之一并且产生具有相应波长的相应光学输入向量。例如,对于具有长度为32和3个波长(例如:λ1、λ2以及λ3)的光学输入向量的***,调制器阵列144可以具有每个组32个调制器的3个组。此外,调制器阵列144还包括光学复用器,其被配置以将多个光学输入向量组合成包括多个波长的组合光学输入向量。例如,光学复用器可以将三个不同波长的三个调制器组的输出组合成光学输入向量的每个元素的单个传播信道(例如波导)。如此一来,返回上面的示例,组合光学输入向量将具有32个光学信号,每个信号包括3个波长。
此外,WDM ANN计算***104的模拟电子单元146进一步被配置以解复用多个波长并且产生多个解复用的输出电压。例如,模拟电子单元146可包括解复用器,其被配置以解复用包括在多波长光学输出向量的32个信号中的每个信号中的三个波长,并且将3个单波长光学输出向量布线(route)到耦合至三个跨阻放大器组的三个光电检测器组。
此外,WDM ANN计算***104的ADC单元160包括ADC组,其被配置以转换模拟电子单元146的多个解复用的输出电压。ADC组中的每个组对应多个波长中的一个,并且产生相应数字化解复用光学输出。例如,ADC组可以耦合至模拟电子单元146的跨阻放大器组。
控制器110可以实现类似于处理200的方法,但是扩展为支持多波长操作。例如,该方法可包括以下步骤:从ADC单元160得到多个数字化解复用光学输出,多个数字化解复用光学输出形成多个第一数字输出向量,其中多个第一数字输出向量中的每个对应多个波长之一;对多个第一数字输出向量中的每个执行非线性变换,以产生多个变换第一数字输出向量;以及在存储器单元中储存多个变换第一数字输出向量。
在一些示例中,可以专门设计ANN,并且可以具体地形成数字输入向量,使得可以在不进行解复用的情况下检测多波长光学输出向量。在这种示例中,模拟电子单元146可以是波长非敏感(wavelength-insensitive)的检测单元,其不会解复用多波长光学输出向量的多个波长。如此一来,模拟电子单元146的每个光电检测器有效地将光学信号的多个波长加到单个光电流中,并且模拟电子单元146输出的每个电压对应多个数字输入向量的矩阵乘法结果的逐元素总和(element-by-element sum)。
到目前为止,作为ANN计算的一部分所执行的加权总和的非线性变换是通过控制器110在数字域(digital domain)中执行的。在一些示例中,非线性变换可能是计算密集的或耗功率的,显著地增强了控制器110的复杂性,或者在吞吐量或功率效率方面限制了ANN计算***100的性能。如此一来,在ANN计算***100或104的一些实施例中,可以通过模拟电子装置在模拟域(analog domain)中执行非线性变换。
在一些实施例中,模拟电子单元146被配置以施加非线性传递函数,并向ADC单元160输出变换输出电压。当ADC单元160接收已由模拟电子单元146进行非线性变换的电压后,控制器110可从ADC单元160得到对应于变换输出电压的变换数字化输出电压。由于从ADC单元160得到的数字化输出电压已被非线性变换(“激活”),因此可省略控制器110的非线性变换步骤,减少了控制器110的计算负担。接着,从ADC单元160直接得到的第一变换电压可作为第一变换数字输出向量储存在存储器单元120中。
由模拟电子单元146执行的模拟电子非线性变换可以多种方式实施。例如,可使用具有反馈(feedback)配置的高增益放大器(high-gain amplifier)、具有可调参考电压的比较器(comparator)、二极管的非线性IV(电流-电压)特性、二极管的击穿(breakdown)特性、可变电容器的非线性CV(电容-电压)特性、或可变电阻器的非线性IV特性。
使用模拟非线性变换可通过减少要在数字域执行的步骤来改善ANN计算***104的性能,例如吞吐量或功率效率。将非线性变换步骤移出数字域,可以允许ANN计算***的操作中的额外的灵活性和改进。例如,在递归神经网络中,OMM单元150的输出被激活,并且再循环回到OMM单元150的输入。在激活由ANN计算***100中的控制器110执行的示例中,需要在每次通过OMM单元150时数字化模拟电子单元146的输出电压。在激活在ADC单元160进行数字化之前执行的示例中,可以减少在执行递归神经网络计算中所需的ADC转换的次数。
在一些实施例中,模拟非线性变换可由ADC单元160执行。例如,非线性ADC单元可以是具有非线性查找表的线性ADC单元,非线性查找表将线性ADC单元的线性数字化输出映射到所期望的非线性变换数字化输出。
图1中的ANN计算***100的光电处理器140的一些实施例包括激光单元142,其产生具有相同波长且光学相干的N个光输出。在这些实施例中,光学矩阵乘法单元150在光学域中执行N×N矩阵乘法,其中光学信号从OMM单元150的输入到OMM单元150的输出保持相干。上面已经描述了OMM单元150在光学域中执行矩阵乘法的优点。在其他实施例中,OMM单元150在执行矩阵计算时能够处理非相干或低相干的光学信号。以下描述了光电计算***,其不要求光学信号在整个矩阵乘法过程中是相干的,其中计算的一部分在光学域中执行,并且计算的一部分在电域中执行。
光电计算***可使用不同类型的操作来产生计算结果,每个操作都是针对最适合于操作的基本物理特性(例如:在能量消耗和/或速度方面)的信号(例如:电信号或光学信号)执行的。例如,可以使用光功率分离来执行复制,可以使用基于电流的求和来执行求和,并且可以使用光学幅度调制来执行乘法。可以使用这三种类型的操作所执行的计算的示例是将向量乘以矩阵(例如:如人工神经网络计算所采用的)。可以使用这些操作来执行各种其他计算,这些操作表示可以执行各种计算的通用线性操作的集合,包括但不限于:向量-向量点积、向量-向量逐元素乘法、向量-标量逐元素乘法、或矩阵-矩阵逐元素乘法。
参照图19,光电计算***1800的示例包括提供光学信号的一组光学端口或光源1802A、1802B等。例如,在一些实施例中,光学端口/光源1802A可包括光学输入耦合器,其提供耦合到光学路径1803的光学信号。在其他实施例中,光学端口/光源1802A可包括调制光源,例如激光(例如:用于相干敏感实施例)或发光二极管(light emitting diode;LED)(例如:用于相干非敏感实施例),其产生耦合到光学路径1803的光学信号。一些实施例可以包括将光学信号耦合到***1800中的端口和在***1800内产生光学信号的源的组合。光学信号可包括已经或正在使用各种形式的调制中的任何一种来利用信息进行调制的过程中的任何光波(例如电磁波,其频谱包括在大约100nm和大约1mm之间的范围内的波长)。光学路径1803可以例如基于光学波导(例如:嵌入光子集成电路(PIC)或光纤中的波导)的引导模式来定义,或者基于光学端口/光源1802A与***1800的另一模块之间的预定自由空间路径来定义。
在一些实施例中,光电计算***1800被配置以对在通过光学端口/光源1802A、1802B等所提供的相应光学信号上编码的输入值阵列执行计算。例如,对于基于神经网络的各种机器学习应用,计算可以实现向量-矩阵乘法(或矩阵乘以向量的乘法(vector-by-matrix multiplication)),其中矩阵乘以输入向量以产生输出向量作为结果。光学信号可以表示向量的元素,可能仅包括向量的所选元素的子集。例如,对于一些神经网络模型,在计算中使用的矩阵的尺寸可以大于可以加载到执行计算的向量矩阵-乘法部分的硬件***(例如,较大***的引擎或协处理器)中的矩阵的尺寸。因此,执行计算的一部分可以涉及将矩阵和向量分成可以分别提供给硬件***的较小片段(segment)。
图19中所显示的模块可以是对例如64×64元素矩阵的相对较大的矩阵(或子矩阵)执行向量-矩阵乘法的较大***的一部分。但是,出于说明的目的,将在使用2×2元素矩阵执行向量-矩阵乘法的示例计算的上下文中描述模块。在该示例中引用的模块将包括两个复制模块1804A和1804B,四个乘法模块1806A、1806B、1806C以及1806D,以及两个求和模块,其中仅一个求和模块1808在图19中显示。这些模块将使输入向量乘以矩阵以产生输出向量/>对于该向量-矩阵乘法/>输出向量/>的两个元素中的每个可以由不同的等式表示,如下所示。
yA=MAxA+MBxB (等式1)
yB=MCxA+MDxB (等式2)
等式(1)和(2)可以分解为可以使用一组基本操作(复制操作、乘法操作以及求和操作)在***1800中执行的分开的步骤。在这些等式中,输入向量的每个元素出现两次,因此有两个复制操作。还有四个乘法操作,并且有两个求和操作。对于使用较大矩阵实现向量-矩阵乘法的***,执行的操作数量会更大,并且使用形状不是方形矩阵的矩阵(即,列数与行数不同),每个操作的相对实例数量将不同。
在此示例中,通过复制模块1804A和1804B来执行复制操作。输入向量xA和xB的元素分别由来自光学端口/光源1802A和1802B的光学信号上所编码的值来表示。这些值中的每个都用于两个等式中,因此复制每个值以将得到的两个副本提供给不同的相应乘法模块。例如,如下面更详细的描述,可以使用已被调制为具有来自一组多个功率水平的功率的光波,或具有来自一组多个占空比的占空比的光波,在特定时隙中编码值。通过复制在其上编码值的光学信号来复制值。被编码具有表示元素xA的值的光学信号由复制模块1804A复制,并且被编码具有表示元素xB的值的光学信号由复制模块1804B复制。每个复制模块可以例如使用光功率分离器来实现,光功率分离器例如是波导分光器,其将输入波导中的引导模式耦合到Y形分离器上的两个输出波导中的每个,Y形分离器逐渐(例如绝热地(adiabatically))分离功率,或者光功率分离器例如是自由空间分束器,其使用具有一个或多个层的介电界面或薄膜,以分别从输入光束传输和反射两个输出光束。
在本公开中,当说通过复制模块1804A来复制被编码具有表示元素xA的值的光学信号时,是指基于输入信号来产生表示元素xA的多个信号副本,复制模块1804A的输出信号不一定具有与输入信号相同的幅度。例如,如果复制模块1804A在两个输出信号之间均匀地分离输入信号功率,则两个输出信号中的每个将具有等于或小于输入信号功率的50%的功率。两个输出信号是彼此的副本,而复制模块1804A的每个输出信号的幅度不同于输入信号的幅度。而且,在具有用于复制给定光学信号或光学信号子集的一组多个复制模块的一些实施例中,每个单独的复制模块不一定在其产生的副本之间均匀地分离功率,但是该组复制模块可以共同地被配置以提供与下游模块(downstream module)(例如:下游乘法模块)的输入具有基本相等的功率的副本。
在该实施例中,乘法操作由四个乘法模块1806A、1806B、1806C以及1806D执行。对于一个光学信号的每个副本,一个乘法模块将光学信号的副本乘以矩阵元素值,这可以使用光学幅度调制来执行。例如,乘法模块1806A将输入向量元素xA乘以矩阵元素MA。向量元素xA的值可以在光学信号上编码,并且矩阵元素MA的值可以编码作为光学幅度调制器的幅度调制水平(amplitude modulation level)。
被编码具有向量元素xA的光学信号可以使用不同形式的幅度调制来编码。光学信号的幅度可以对应特定时隙内的物理光波的特定瞬时功率水平PA,或者可以对应特定时隙上的物理光波的特定能量EA(随着时间的推移积分的功率(the power integrated overtime)产生总能量)。例如,可以调制激光源的功率以具有来自多个功率水平的预定集合的特定功率水平。在一些实施例中,在优化的操作点附近操作电子电路可能是有用的,因此代替在许多可能的功率水平上改变功率,使用优化的“开启(on)”功率水平,其中信号被调制为对于时隙的特定部分是“开启(on)”和“关闭(off)”(处于零功率)。功率在“开启(on)”水平的时间部分对应特定能量水平。可以将功率或能量的这些特定值中的任何一个映射到元素xA的特定值(使用线性或非线性映射关系)。在信号处在电域中之后,产生特定总能量水平的随着时间的实际积分(actual integration over time)可以在***1800的下游发生,如下面更详细的描述。
另外,术语“幅度”可以指由光波中的瞬时或积分功率表示的信号的幅度,或者也可以等效地指光波的“电磁场幅度”。这是因为电磁场幅度与信号幅度具有定义良好的关系(例如:通过在引导模式或自由空间光束的横向尺寸上积分电磁场强度(与电磁场幅度的平方成比例)以产生瞬时功率)。这导致调制值之间的关系,因为通过特定值调制电磁场幅度的调制器也可以被认为是通过对应的值M调制基于功率的信号幅度(因为光功率与电磁场幅度的平方成比例)。
通过乘法模块用来编码矩阵元素MA的光学幅度调制器可以通过使用各种物理相互作用中的任何一种来改变光学信号的幅度(即光学信号中的功率)来操作。例如,调制器可包括环形谐振器、电吸收调制器、热电光学调制器(thermal electro-opticalmodulator)或马赫曾德尔干涉仪(MZI)调制器。在一些技术中,一部分功率被吸收作为物理相互作用的一部分,并且在其他技术中,使用物理相互作用来转移功率,物理相互作用修改光波的其他特性而不是其功率,例如其偏振或相位,或者修改不同光学结构之间的光功率的耦合(例如:使用可调谐振器)。对于使用已经在不同路径上行进的光波之间的干涉(例如,相消(destructive)和/或相长(constructive)干涉)来进行操作的光学幅度调制器,可以使用相干光源(例如激光)。对于使用吸收来操作的光学幅度调制器,可以使用相干或非相干或低相干光源中任一个,例如LED。
在波导1×2光学幅度调制器的一个示例中,相位调制器被用以通过将相位调制器放置在调制器的多个波导之一中来调制光波中的功率。例如,波导1×2光学幅度调制器可以将由输入光学波导引导的光波分离进入第一臂和第二臂。第一臂包括移相器,其相对于第二臂的相位延迟给予相对相移。接着调制器组合来自第一臂和第二臂的光波。在一些实施例中,不同的相位延迟值通过相长干涉或相消干涉将输入光学波导所引导的光波中的功率乘以0到1之间的值。在一些实施例中,第一臂和第二臂组合成两个输出波导中的每个,并且由接收来自两个输出波导的光波的相应光电检测器所产生的光电流之间的差异提供有符号的乘法结果(例如,乘以-1到1之间的值),如下面更详细的描述(参见图28)。通过适当选择编码光学信号的幅度缩放,矩阵元素值的范围可以映射到正值(0到M)或有符号值(-M到M)的任意范围。
在该示例中,求和操作由两个求和模块执行,其中求和模块1808(如图19所示)用于在用来计算输出向量元素yB的等式(2)中执行求和。对应的求和模块(未显示)用于在用来计算输出向量元素yA的等式(1)中执行求和。求和模块1808产生电信号,电信号表示两个乘法模块1806C和1806D的结果的总和。在此示例中,电信号是电流isum的形式,其分别与由乘法模块1806C和1806D所产生的输出光学信号中的功率的总和成比例。在一些实施例中,产生此电流isum的求和操作在光电域中执行,并且在其他实施例中在电域中执行。或者,一些实施例可以使用用于一些求和模块的光电域求和以及使用用于其他求和模块的电域求和。
在电域中执行求和的实施例中,求和模块1808可以使用以下来实现:(1)两个或更多个输入导体,每个输入导体承载输入电流,输入电流的幅度表示乘法模块之一的结果,以及(2)至少一个输出导体,其承载作为输入电流的总和的电流。例如,如果导体是在结点交会的导线,则会发生这种情况。例如(不受理论束缚),基于基尔霍夫电流定律(Kirchhoff’scurrent law)可以理解这种关系,该定律指出流入结点的电流等于流出结点的电流。对于这些实施例,提供给求和模块1808的信号1810A和1810B是输入电流,其可以由光电检测器产生,光电检测器是乘法模块的一部分,乘法模块产生相应的光电流,其幅度与接收的光学信号中的功率成比例。求和模块1808接着提供输出电流isum。接着可以使用输出电流的瞬时值(instantaneous value)或输出电流的积分值(integrated value)来表示总和的定量值(quantitative value)。
在光电域中执行求和的实施例中,求和模块1808可以使用光电检测器(例如:光电二极管)来实现,光电检测器接收由不同相应乘法模块产生的光学信号。对于这些实施例,提供给求和模块1808的信号1810A和1810B是输入光学信号,每个输入光学信号包括光波,其功率代表乘法模块之一的结果。在该实施例中的输出电流isum是由光电检测器产生的光电流。由于光波的波长是不同的(例如:足够不同使得它们之间不发生显著的相长干涉或相消干涉),光电流将与接收的光学信号的功率的总和成比例。光电流也基本等于各个电流的总和,各个电流将导致由分开的等效光电检测器所检测到的各个检测光功率。光波的波长是不同的,但足够接近以使光电检测器具有基本相同的响应(例如:光电检测器的基本平坦的检测带宽内的波长)。如上面所述,使用电流求和的在电域中的求和可以通过避免对多个波长的需求来实现更简单的***架构。
图20示出了用于使用2×2元素矩阵执行向量-矩阵乘法的***的实现的***配置1900的示例,其中在电域中执行求和操作。在此示例中,输入向量是并且矩阵是输入向量的每个元素在不同的光学信号上编码。两个不同的复制模块1902a、1902b(统称为1902)执行光学复制操作以在不同的路径(例如:“上”路径和“下”路径,其中术语“上”和“下”是指图中路径的相对位置)上分离计算。存在四个乘法模块1904a、1904b、1904c和1904d(统称为1904),每个乘法模块1904使用光学幅度调制乘以不同的矩阵元素。在每个乘法模块1904的输出,存在光学检测模块1906(例如1906a、1906b、1906c、1906d),其将光学信号转换为电流形式的电信号。使用求和模块1908a将不同输入向量元素的两个上路径(例如包括1906a和1906c的输出)组合,并且使用求和模块1908b将不同输入向量元素的两个下路径(包括1906b和1906d的输出)组合。求和模块1908a和1908b(统称为1908)在电域中执行求和。因此,输出向量的每个元素都在不同的电信号上编码。如图20所示,随着计算的进行,递增地产生输出向量的每个分量,以分别地产生上路径和下路径的以下结果。
M11v1+M12v2
M21v1+M22v2
在该***的不同部分,不同的光功率可代表相同的值。例如,复制模块1902a接收输入波导1914上的输入信号,并提供输出信号至输出波导1916a和1916b。输出波导1916a或1916b上的代表值v1的光学信号的幅度具有约为输入波导1914上的代表值v1的光学信号的幅度的一半的幅度。
在一些实施例中,如果复制模块执行光学复制操作以在三个路径上分离计算,则分光器的输出波导上代表特定值的光学信号的幅度约为该分光器的输入波导上代表该特定值的光学信号的幅度的三分之一。相似地,如果复制模块执行光学复制操作以在四个路径上分离计算,则分光器的输出波导上代表特定值的光学信号的幅度约为该分光器的输入波导上代表该特定值的光学信号的幅度的四分之一,以此类推。
在一些实施例中,光子集成电路包括不同类型的复制模块,例如执行光学复制操作以在两个路径上分离计算的第一复制模块、执行光学复制操作以在三个路径上分离计算的第二复制模块、执行光学复制操作以在四个路径上分离计算的第三复制模块、以及执行光学复制操作以在八个路径上分离计算的第四复制模块。从第一、第二、第三和第四复制模块的输出导出的信号在进行组合之前先进行缩放。
例如,假设vout1是从使用2×2元素矩阵的向量-矩阵乘法得到的向量的值,其中在光学复制操作中使用1对2分离器,而vout2是从使用4×4元素矩阵的向量-矩阵乘法运算得到的向量的值,其中在光学复制操作中使用1对4分离器。如果光子集成电路被配置为使vout1与vout2组合,则在与vout1组合之前,将vout2缩放为其值的两倍。
可以使用各种光电技术中的任何一种来实现***配置1900。在一些实施例中,存在公共基板(例如:半导体(例如硅)),其可以支持集成光学组件和电子组件两者。光学路径可以在波导结构中实现,波导结构具有由具有较低光学指数(optical index)的材料围绕的具有较高光学指数的材料,该波导结构定义用于传播承载了光学信号的光波的波导。电路径可以由导电材料实现,用于传播承载了电信号的电流。在图20至图22、图25至图38中,除非另外说明,表示路径的线的厚度用于区分光学路径(由较粗的线表示)和电路径(由较细的线或虚线表示)。可以在公共基板上制造光学装置(例如分离器和光学幅度调制器)以及电装置(例如光电检测器和运算放大器(operational amplifier;op-amp))。可替换地,可以使用具有不同基板的不同装置来实现***的不同部分,并且那些装置可以通过通信信道进行通信。例如,光纤可用于提供通信信道,以在用于实现整个***的多个装置之间发送光学信号。那些光学信号可以表示当执行向量-矩阵乘法时所提供的输入向量的不同子集,和/或当执行向量-矩阵乘法时所计算的中间结果的不同子集,如下面更详细的描述。
在本公开中,附图可显示穿过电信号线的光学波导,应理解光学波导不与电信号线相交。电信号线和光学波导可以布置在装置的不同层。
图21示出了用于使用2×2元素矩阵执行向量-矩阵乘法的***的实现的***配置1920的示例,其中在光电域中执行求和操作。在此示例中,使用两个不同的相应波长λ1和λ2将不同的输入向量元素编码在光学信号上。乘法模块1904a和1904c的光学输出信号被组合在光学组合器模块1910a中,乘法模块1904b和1904d的光学输出信号被组合在光学组合器模块1910b中。光学波导1914a将来自光学组合器模块1910a的两个波长λ1和λ2上的光学信号引导到光电求和模块1912a。相似地,光学波导1914b将来自光学组合器模块1910b的两个波长λ1和λ2上的光学信号引导到光电求和模块1912b。光电求和模块1912a和1912b可以使用光电检测器来实现,如用于图20的示例中的光学检测模块1906。在这个示例中,总和由表示两个波长中的功率的光电流表示,而不是由离开不同导体之间的结点的电流表示。
在本公开中,当附图显示两个彼此交叉的光学波导时,从描述中将清楚两个光学波导是否实际上彼此光学耦合。例如,从装置的俯视图显示的看起来彼此交叉的两个波导可以在不同的层中实现,并因此不彼此相交。例如,在图21中,将光学信号λ2作为输入提供到复制模块1902b的光学路径和从乘法模块1904a提供光学信号M11V1到光学组合器模块1910a的光学路径彼此不是光学耦合的,尽管在附图中它们可能看起来彼此交叉。相似地,从复制模块1902b提供光学信号λ2到乘法模块1904d的光学路径和从乘法模块1904b提供光学信号M21V1到光学组合器模块1910b的光学路径彼此不是光学耦合的,尽管在附图中它们可能看起来彼此交叉。
可以扩展图20和图21中所示的***配置以实现用于使用m×n元素矩阵执行向量-矩阵乘法的***配置。在此示例中,输入向量是并且矩阵是/>例如,输入向量元素v1至vn由n个波导提供,并且每个输入向量元素由一个或多个复制模块处理,以将输入向量元素的m个副本提供至m个相应路径。存在m×n个乘法模块,每个乘法模块使用光学幅度调制乘以不同的矩阵元素以产生表示Mij·vj(i=1...m,j=1...n))的电信号或光学信号。使用第i个求和模块(i=1...m)组合表示Mij·vj(j=1...n)的信号,以分别产生m个路径的以下结果。
M11v1+M12v2+…+M1nvn
M21v1+M22v2+…+M2nvn
…
Mm1v1+Mm2v2+…+Mmnvn
由于光学幅度调制能够将光学信号中的功率从其全值(full value)降低到较低值,降低到零(或接近零)功率,因此可以实现乘以0到1之间的任何值。然而,一些计算可能要求乘以大于1的值和/或乘以有符号(正或负)值。首先,为了将范围扩展至0到Mmax(其中Mmax>1),光学信号的原始调制可包括通过Mmax显性(explicit)或隐性(implicit)缩放原始向量元素幅度(或等效地,通过1/Mmax缩放映射到线性映射中特定向量元素幅度的值),使得矩阵元素幅度的范围0到1在计算中定量地对应范围0到Mmax。第二,为了将矩阵元素值的正范围0到Mmax扩展到有符号范围-Mmax到Mmax,可以使用对称差分配置,如下面更详细的描述。相似地,对称差分配置也可用于将在各种信号上编码的值的正范围扩展到值的有符号范围。
图22示出了对称差分配置2000的示例,其用于为在光学信号上编码的值提供有符号范围的值。在此示例中,存在两个相关的光学信号,其编码无符号值(unsigned value),指定为和/>其中假设每个值在0(例如:对应接近零的光功率)与Vmax(例如:对应最大功率水平的光功率)之间改变。两个光学信号之间的关系是,当一个光学信号用“主要(main)”值/>编码时,另一个光学信号用对应的“反对称(anti-symmetric)”值/>编码,使得在一个光学信号上编码的主要值/>从0单调增加(monotonically increase)到Vmax,在配对光学信号上编码的反对称值/>从Vmax单调减少(monotonically decrease)到0。或者,相反地,当在一个光学信号上编码的主要值/>从Vmax单调减少到0时,在配对光学信号上编码的反对称值/>从0单调增加到Vmax。在上路径和下路径中的光学信号被相应光学检测模块1906a和1906b转换为电流信号之后,电流信号之间的差异可以由电流减法模块(currentsubtraction module)2002产生。编码/>和/>的电流信号之间的差异导致用有符号值V1编码的电流,给定为:
其中随着无符号主要值从0单调增加到Vmax并且与其成对的反对称值/>从Vmax单调减少到0,有符号值V1在-Vmax与Vmax之间单调增加。存在可用于实现图22的对称差分配置的各种技术,如图23和图24所示。
在图23中,在公共端配置(common-terminal configuration)中检测光学信号,其中两个光电二极管检测器连接至运算放大器2030的公共端2032(例如:反相端(invertingterminal))。在此配置中,从第一光电二极管检测器2012产生的电流2010和从第二光电二极管检测器2016产生的电流2014在三个导体之间的结点2018组合,以产生电流2010与电流2014之间的差值电流2020。电流2010和电流2014是从相应光电二极管的相对侧提供的,光电二极管在另一端连接到提供相同幅度Vbias但相反符号的偏置电压的电压源(未显示),如图23所示。在此配置中,由于在公共结点2018汇聚的电流的行为而产生差值。差值电流2020表示在电信号上编码的有符号值,其对应在检测的光学信号上编码的无符号值之间的差值。运算放大器2030可以配置成跨阻放大器(transimpedance amplifier;TIA)配置,其中另一端2024接地,并且输出端2026使用电阻元件2028反馈到公共端2032,电阻元件2028提供与差值电流2020成比例的电压。这种TIA配置将提供结果值作为电压信号形式的电信号。
在使用TIA将光电流转换为电压的传感器的一些实施例中,会使用技术以减轻用作光电检测器2012及2016的光电二极管的内电容的影响。光电二极管的内电容Cd可建模为与理想光电二极管并联的电容器。一种结果是,当电流快速改变时,该电容器会充当短路,这会限制检测器的带宽。一般而言,与对运算放大器2030的输入电流2020引起的改变相关联的时间常数τ应维持较小,以避免显著的带宽限制。在没有减轻的情况下,则此时间常数将大约等于电容Cd乘以运算放大器2030的输入电阻Rin,Rin约等于由于电阻元件2028导致的反馈电阻Rf除以运算放大器增益止,得出:τ=CdRf/A。此影响对具有较大数量相互并联的光电二极管的***(如本说明书中所述的一些***)特别不利,因为相互并联的电容将加和为大的有效电容。然而,实现大的运算放大器增益A以减小该时间常数,则会在使用大量这种TIA电路的***中消耗大量功率。为减轻带宽限制而不需要如此多的功率,可通过将给定电压跟随器(voltage follower)连接至给定光电二极管的输入端与输出端,来将电压跟随器电路(也称单位增益放大器(unity-gain amplifier)或缓冲放大器(buffer amplifier))与每个光电二极管并联放置。电压跟随器根据需要提供电流,以在其输入端和输出端维持大致相等的电压,这具有防止电流快速改变时光电二极管的内电容充当短路的作用,从而实现了接近零的时间常数τ。使用电压跟随器可使TIA电路中的运算放大器增益A相对较低(例如,低于1000或低于100),从而降低了***的功率需求。
在图24中,光学信号在差分端子配置中检测,其中两个光电二极管检测器连接到运算放大器2050的不同端子。在此配置中,从第一光电二极管检测器2042产生的电流2040连接到反相端2052,并且从第二光电二极管检测器2046产生的电流2044连接到非反相端2054。电流2040和2044从相应光电二极管的相同端提供,光电二极管在另一端连接到提供相同幅度vbias和相同符号的偏置电压的电压源(未显示),如图24所示。在此配置中的运算放大器2050的输出端2056提供与电流2040和电流2044之间的差值成比例的电流。在此配置中,由于运算放大器2050的电路的行为而产生差值。从输出端2056流出的差值电流表示在电信号上编码的有符号值,其对应在检测的光学信号上编码的无符号值之间的差值。
图25示出了对称差分配置2100的示例,其用于为被编码为实现乘法模块1904的光学幅度调制器的调制水平的值提供有符号范围的值。在此示例中,存在两个相关的调制器,被配置以通过被指定为和/>的无符号值来进行调制,其中假设每个值在0(例如:对应被调制降低至接近零的光功率)与Mmax(例如:对应保持在最大功率水平附近的光功率)之间改变。两个调制水平之间的关系是,当一个调制水平被配置在“主要”值/>时,另一个调制水平被配置在对应的“反对称”值/>使得当一个调制器的主要值/>从0单调增加到Mmax时,另一个调制器的反对称值/>从Mmax单调减少到0。或者,相反地,当一个调制器的主要值/>从Mmax单调减少到0时,另一个调制器的反对称值/>从0单调增加到Mmax。在复制模块1902复制编码了值V的输入光学信号之后,每个调制器将调制的输出光学信号提供给对应的光学检测模块1906。在上路径中的乘法模块1904包括与/>相乘并且提供以值/>V编码的光学信号的调制器。在下路径中的乘法模块1904包括与/>V相乘并且提供以值V编码的光学信号的调制器。在光学信号被相应光学检测模块1906转换为电流信号之后,它们之间的差值可以由电流减法模块2102产生。编码/>V和/>V的电流信号之间的差值导致用V编码的电流乘以有符号值M11,给定为:
其中随着无符号主要值从0单调增加到Mmax并且与其成对的反对称值/>从Mmax单调减少到0,有符号值M11在-Mmax与Mmax之间单调增加。
图26示出了用于使用2×2元素矩阵执行向量-矩阵乘法的***1800的实现的***配置2110的示例,其中求和操作在电域中执行,并且具有输入向量的有符号元素和矩阵的有符号元素。在此示例中,对于输入向量的每个有符号元素,存在两个编码无符号值的相关光学信号。对于第一有符号输入向量元素值V1,有两个指定为和/>的无符号值,并且对于第二有符号输入向量元素值V2,有两个指定为/>和/>的无符号值。在光学信号上编码的每个无符号值由复制模块2112接收,复制模块2112执行一个或多个光学复制操作,光学复制操作在四个相应光学路径上产生光学信号的四个副本。在复制模块2112的一些实施例中,存在三个不同的Y形波导分离器,每个Y形波导分离器被配置以使用不同的功率比进行分离(这例如可以使用各种光子装置中的任何一种来实现)。例如,第一分离器可以使用1∶4的功率比进行分离,以将25%(1/4)的功率转移到第一路径,第二分离器可以使用1∶3的功率比进行分离,以将25%(1/4=1/3×3/4)的功率转移到第二路径,以及第三分离器可以使用1∶2的功率比进行分离,以将25%(1/4=1/2×2/3×3/4)的功率转移到第三路径,并且将剩余的25%的功率转移到第四路径。例如,作为复制模块2112的一部分的各个分离器可以布置在基板的不同部分中,以将不同副本适当地分配到***内的不同路径。在复制模块2112的其他实施例中,可以存在不同数量的路径,视情况以不同分离比被分离。例如,第一分离器可以使用1∶2的功率比分离以提供两个中间光学信号。接着,可以使用具有1∶2的功率比的第二分离器来分离这些中间光学信号中的一个,以将25%的功率转移到第一路径和第二路径中的每个,并且可以使用具有1∶2功率比的第三分离器来分离这些中间光学信号中的另一个,以将25%的功率转移到第三路径和第四路径中的每个。/>
***配置2110还包括如图26所示布置的其他模块,以提供表示输出向量的两个不同的输出电信号,输出向量是由***100执行的向量-矩阵乘法的结果。存在16个不同的乘法模块1904,其调制表示输入向量的光学信号的不同副本,并且存在16个不同的光学检测模块1906,以提供表示计算的中间结果的电信号。还存在两个不同的求和模块2114A和2114B,其计算每个输出电信号的总体求和。在附图中,以虚线示出了将光学检测模块1906电耦合到求和模块2114B的信号线。因为每个总体求和可包括从来自于用于向量元素和/或矩阵元素的任何对称差分配置的成对主要项(paired main term)中减去的一些反对称项(anti-symmetric term),所以求和模块2114A和2114B可包括用于将求和中的一些项在被反转(invert)之后进行加入的机制(等效地,从非反转项(non-inverted term)中减去)。例如,在一些实施例中,求和模块2114A和2114B包括反相输入端口和非反相输入端口两者,使得在总体求和中要加入的项可以连接到非反相输入端口,并且在总体求和中要减去的项可以连接到反相输入端口。这种求和模块的一个示例实施例是运算放大器,其中非反相端连接到传导了表示要被加入的信号的电流的导线,并且反相端连接到传导了表示要被减去的信号的电流的导线。可替换地,如果通过其他方式执行反对称项的反转,则在求和模块上可能不需要反相输入端口。求和模块2114A和2114B分别产生以下求和结果,以完成向量-矩阵乘法。
在本公开中,当附图显示彼此交叉的两条电信号线时,从描述中可以清楚两条电信号线是否彼此电耦合。例如,承载M21 +V1+信号的信号线不电耦合至承载M11 +V1 -信号的信号线或承载M11 -V1 -信号的信号线。
可以扩展图26中所示的***配置以实现使用m×n元素矩阵执行向量-矩阵乘法的***配置,其中输入向量和矩阵包括有符号元素。
存在可以用于实现图26的对称差分配置的各种技术。这些技术中的一些利用1×2光学幅度调制器来实现乘法模块1904,和/或提供与主要和反对称配对相关的光学信号对。图27示出了1×2光学幅度调制器2200的示例。在此示例中,1×2光学幅度调制器2200包括输入分光器2202,其将输入光学信号分离以将50%的功率提供给包括相位调制器2204(也称为移相器)的第一路径,并且将50%的功率提供给不包括相位调制器的第二路径。可以以不同的方式定义路径,这取决于光学幅度调制器是否实现作为自由空间干涉仪或作为波导干涉仪。例如,在自由空间干涉仪中,通过通过分束器的波的传输来定义一条路径,并且通过来自分束器的波的反射来定义另一条路径。在波导干涉仪中,每个路径通过已耦合至入射波导(incoming waveguide)的不同光学波导来定义(例如:在Y形分离器中)。相位调制器2204可以被配置以给予相移,使得第一路径的总相位延迟与第二路径的总相位延迟相差可配置的相移值(例如:可以设置为在0度到180度之间某处的相移的值)。
1×2光学幅度调制器2200包括2×2耦合器2206,其以特定方式使用光学干涉或光学耦合来组合来自第一和第二输入路径的光波,以按不同的比率将功率转移到第一和第二输出路径中,这取决于相移。例如,在自由空间干涉仪中,0度的相移导致在两个路径之间分离的输入功率的基本全部都相长干涉,以从实现耦合器2206的分束器的一个输出路径离开,并且180度的相移导致在两个路径之间分离的输入功率的基本全部都相长干涉,以从实现耦合器2206的分束器的另一输出路径离开。在波导干涉仪中,0度的相移导致在两个路径之间分离的输入功率的基本全部都耦合到耦合器2206的一个输出波导(例如2208a),并且180度的相移导致在两个路径之间分离的输入功率的基本全部都耦合到耦合器2206的另一个输出波导(例如2208b)。接着,0度和180度之间的相移可以通过部分相长干涉或相消干涉或部分波导耦合将光波中的功率(和在光波上编码的值)乘以0和1之间的值。然后可以将乘以0和1之间的任何值的乘法映射到如上所述的乘以0和Mmax之间的任何值的乘法。
另外,从调制器2200发射的两个光波中的功率之间的关系遵循上面所述的主要和反对称配对的功率之间的关系。当一个信号的光功率的幅度增加时,另一个信号的光功率的幅度减少,因此检测到的光电流之间的差值可以产生有符号向量元素,或者乘以有符号矩阵元素,如本文所述。例如,可以从调制器2200的两个输出端口提供该对相关光学信号,使得相关光学信号的幅度之间的差值对应将输入值乘以有符号矩阵元素值的结果。图28示出了1×2光学幅度调制器2200的对称差分配置2210,其在图23的对称差分配置的公共终端版本(common-terminal version)中在待检测的输出处布置有光学信号。对应由一对光电检测器2212和2214所产生的光电流的电流信号在结点2216组合,以提供输出电流信号,其幅度对应相关光学信号的幅度之间的差值。在其他示例中,例如在图24的对称差分配置中,可以使用不同的电路组合从输出处的两个光学信号所检测到的光电流。
可以使用其他技术来建构1×2光学幅度调制器以用于实现乘法模块1904,和/或提供作为主要和反对称配对而相关的光学信号对。图29示出了另一种类型的1×2光学幅度调制器的对称差分配置2220的另一示例。在此示例中,1×2光学幅度调制器包括环形谐振器2222,其被配置以将输入端口2221处的光学信号的光功率分到两个输出端口。环形谐振器2222(也称为“微环(microring)”)可以例如通过在基板上形成圆形波导来制造,其中圆形波导耦合到对应输入端口2221的直线波导(straight waveguide)。当光学信号的波长接近与环形谐振器2222相关联的谐振波长时,耦合到环中的光波在顺时针路径2226上围绕环循环并且在耦合位置相消地干涉,使得降低功率的光波通过路径2224离开到达第一输出端口。循环光波也耦合出环,使得另一光波通过弯曲波导在路径2228上离开,弯曲波导将光波引导出第二输出端口。
由于光功率围绕环形谐振器2222循环的时间尺度与光学信号的幅度调制的时间尺度相比较小,因此在两个输出端口之间快速建立反对称功率关系,使得由光电检测器2212检测的光波和由光电检测器2214检测的光波形成主要和反对称配对。可以调整环形谐振器2222的谐振波长以单调减少/增强主要/反对称信号以实现有符号结果,如上面所述。当环完全不谐振时,所有功率通过路径2224离开第一输出端口,并且当它完全谐振时,适当调整某些其他参数(例如:质量因子和耦合系数)的情况下,所有功率通过路径2228离开第二输出端口。具体来说,为了实现完全的功率传输,表征(characterizing)波导和环形谐振器之间的耦合效率的耦合系数应要匹配。在一些实施例中,具有相对浅(shallow)的调整曲线(tuning curve)是有用的,这可以通过降低环形谐振器2222的质量因子(例如:通过增加损耗)并相应地增加进入和离开环的耦合系数来实现。浅调整曲线提供对谐振波长的较小幅度灵敏度。诸如温度控制的技术也可用于谐振波长的调整和/或稳定性。
图30示出了另一种类型的1×2光学幅度调制器的对称差分配置2230的另一示例。在此示例中,1×2光学幅度调制器包括两个环形谐振器2232和2234。在输入端口2231的光学信号的光功率被分到两个端口。当光学信号的波长接近与两个环形谐振器2232和2234相关联的谐振波长时,降低功率的光波通过路径2236离开第一输出端口。光波的一部分还耦合到在顺时针路径2238上围绕环循环的环形谐振器2232中,并且还耦合到在逆时针路径2240上围绕环循环的环形谐振器2234中。接着将循环的光波耦合出环,使得另一光波通过路径2242离开第二输出端口。在此示例中,由光电检测器2212检测的光波和由光电检测器2214检测的光波也形成主要和反对称配对。
图31和图32示出了使用光学幅度调制器的不同示例,例如使用1×2光学幅度调制器2200,用于实现对2×2元素矩阵执行向量-矩阵乘法的***1800。图31示出了光电***配置2300A的示例,其包括提供表示输入向量的有符号向量元素的值的光学幅度调制器2302A和2302B。调制器2302A提供一对光学信号,其为第一有符号向量元素编码一对值和/>并且调制器2302B提供一对光学信号,其为第二有符号向量元素编码一对值/>和/>向量-矩阵乘法器(VMM)子***2310A接收输入光学信号,执行分离操作、乘法操作以及如上面所述的一些求和操作,并且提供将由额外电路处理的输出电流信号。在一些示例中,输出电流信号表示被进一步处理以产生最终总和的部分总和,最终总和导致输出向量的有符号向量元素。在此示例中,一些最终求和操作被执行作为由运算放大器2306A和2306B的反相和非反相端处的电流信号表示的不同部分总和之间的减法。减法用以提供有符号值,如上面所述(例如:参考图26)。此示例还说明了某些元素如何成为多个模块的一部分。具体来说,由波导分离器2303执行的光学复制可以被认为是复制模块(例如:图26中的复制模块2112的一个)的一部分和乘法模块(例如:图26中的乘法模块1904的一个)的一部分。在VMM子***2310A内使用的光学幅度调制器被配置用于在图23中所示的公共端子配置(common-terminal configuration)中进行检测。
图32示出了与图31中所示的光电***配置2300A的示例类似的光电***配置2300B的示例。但是,VMM子***2310B包括光学调制器,其被配置用于在图24所示的差分端子配置中进行检测。在此示例中,VMM子***2310B的输出电流信号也表示被进一步处理以产生最终总和的部分总和,最终总和导致输出向量的有符号向量元素。作为由运算放大器2306A和2306B的反相和非反相端处的电流信号表示的不同部分总和之间的减法执行的最终求和操作与图31的示例不同。但是,如上面所述(例如:参照图26),最终减法仍然导致提供有符号值。
图33示出了光电***配置2300C的示例,其在公共端子配置中进行检测的情况下(如图31所示的VMM子***2310A中那样)使用VMM子***2310C的替代布置,但承载乘法模块的结果的光学信号通过波导内(例如,在半导体基板内)的子***布线至基板的一部分,基板包括被布置以将光学信号转换成电信号的检测器。在一些实施例中,该检测器的分组允许缩短电路径,从而可能减少由于在其他情况下将使用的长电路径所引起的电串扰或其他损害。在一些实施例中,光学波导可以在基板的一个层内布线(route),或者在基板的多个层内布线,以允许在基板的两个维度上交叉但不在(基板中的深度的)第三维度中交叉的布线路径中的更大灵活性。可以在***配置中进行各种其他更改,包括VMM子***中所包括的组件的更改。例如,光学幅度调制器2302A和2302B可以被包括作为VMM子***的一部分。可替换地,VMM子***可以包括光学输入端口,用于接收由除了光学幅度调制器之外的模块所产生的成对的主要和反对称光学信号,或者用于与其他类型的子***接口。
图34示出了用于***1800的实现的***配置2400A的示例,其中存在承载(host)不同乘法模块(例如:乘法模块1806A、1806B、1806C和1806D)的多个装置2410,每个乘法模块都被配置作为VMM子***,以通过较大矩阵的不同子矩阵对向量元素的不同子集执行向量-矩阵乘法。例如,每个乘法模块可以被配置与***配置2110(图26)相似,但不是使用2×2元素矩阵实现VMM子***,每个乘法模块可以被配置以使用具有与在单个装置上能高效制造的尺寸一样大的尺寸的矩阵来实现VMM子***,所述单个装置具有用于该装置内的模块的公共基板。例如,每个乘法模块可以使用64×64元素矩阵来实现VMM子***。
布置不同的VMM子***,以便适当地组合每个子矩阵的结果,以产生较大组合矩阵的结果(例如:乘以128×128元素矩阵得到的128元素向量的元素)。光学端口或光源2402的每个集合提供光学信号的集合,其表示较大输入向量的向量元素的不同子集。复制模块2404被配置以复制接收的光学信号集合(在64个光学波导的集合2403中所引导的光波上编码)内的所有光学信号,并且将该光学信号集合提供给两个不同光学波导集合中的每个集合,光学波导集合在此示例中是64个光学波导的集合2405A和64个光学波导的集合2405B。例如,通过使用波导分离器阵列来执行此复制操作,阵列中的每个分离器通过将光学波导的集合2403中的光波分成在光学波导的集合2405A中的第一对应光波和在光学波导的集合2405B中的第二对应光波,来复制输入向量元素子集(例如,针对每个复制模块2404的64个元素的子集)的一个元素。
如果在一些实施例中使用多个波长(例如:W个波长),则分开的波导的数量(和因此2402中分开的端口或源的数量)可以减少例如1/W。每个VMM子***2410执行向量-矩阵乘法,提供其部分结果作为电信号的集合(用于输出向量的元素的子集),来自不同装置2410的相应部分结果对通过如图34所示的求和模块2414被使用本文所述的任何技术(例如导体之间的结点处的电流求和)加在一起。在该示例中,装置2410a的输出通过电线2416a传输至求和模块2414a,装置2410b的输出通过电线2416b传输至求和模块2414a。
在一些实施例中,对于任何数量的递归水平,可以通过组合来自较小子矩阵的结果来递归地执行使用期望矩阵的向量-矩阵乘法,通过在递归的根级(root level)使用单一元素光幅度调制器来结束。在递归的不同水平,VMM子***装置可以更紧凑(例如:通过在一个水平的长距离光纤网络连接的不同数据中心,通过在另一水平的数据中心内的光纤连接的不同多芯片装置,通过在另一水平的光纤连接的装置内的不同芯片,以及通过另一水平的芯片上波导(on-chip waveguide)连接的在相同芯片上的模块的不同部分)。
图35示出了***配置2400B的另一示例,其中额外装置用于对每个VMM子***2410的光学发送和接收。在一些实施例中,不同的向量-矩阵乘法器子***2410由分离的装置承载(host)和/或分布在分离的远程位置上。在该示例中,在每个VMM子***2410的输出2418处(输出2418提供电信号),光学发射器阵列2420用于将电信号转换为光学信号,并且将每个光学信号耦合到光传输线内的信道(例如:VMM子***2410之间的光纤束(fiber bundle)中的光纤,VMM子***2410可以由分离的装置承载(host)和/或分布在远程位置)。光学发射器阵列2420可以包括例如激光二极管的阵列,其将向量-矩阵乘法器子***2410的输出处的电信号转换成光学信号。在一些实施例中,不同的向量-矩阵乘法器子***2410位于集成装置(例如,片上***)上的不同区域,该集成装置将向量-矩阵乘法器子***2410承载在公共基板上。在此示例中,在每个向量-矩阵乘法器子***2410的输出2418处,使用光学发射器阵列2420将输出2418处的电信号转换为光学信号,并将每个光学信号耦合到集成装置上的不同区域之间的波导2416的集合中的波导内的信道。光学接收器阵列2422用于输出向量元素的每个子集,以在部分结果的对应配对由求和模块2414求和之前,将光学信号转换成电信号。
图36示出了***配置2400C的另一示例,其中可以重新配置VMM子***2410以使得用于不同子矩阵的不同向量-矩阵乘法能够以不同方式重新布置。例如,通过组合不同子矩阵所形成的较大矩阵的形状可为可配置的。用户可以基于计算要求动态配置如何组合不同的子矩阵。这在光学处理器的操作中提供了更大的灵活性。在此示例中,两个不同的光学信号子集2424a和2424b从光学端口或光源2402的每个集合提供至光学开关2430。还存在电开关2440,其能够重新布置电信号的子集,电信号的子集表示要由求和模块2414求和以提供用于期望的计算的输出向量或分离的输出向量的部分结果。例如,代替使用由大小m×n的四个子矩阵所组成的尺寸2m×2n的矩阵的向量-矩阵乘法,可以重新布置VMM子***2410以使用尺寸2m×n的矩阵或尺寸m×2n的矩阵。
图37示出了***配置2400D的另一示例,其中VMM子***2410可以以额外方式重新配置。光学开关2430可以接收多达四个分离的光学信号集合,并且可以被配置以将不同的光学信号集合提供至不同的VMM子***2410,或者将任何光学信号集合复制到多个VMM子***2410。而且,电开关2440可以被配置以将所接收到的电信号的集合任何组合提供至求和模块2414。这种更大的可重新配置性使得能够进行更多各种不同的向量-矩阵乘法计算,包括使用尺寸为m×3n、3m×n、m×4n、4m×n的矩阵进行乘法。
图38显示***配置2400E的另一示例,其包括可执行各种操作(例如:数字逻辑操作)的额外电路,以使***配置2400E(例如:用于完整的光电计算***,或者用于较大计算平台的光电子***)能够用于实施计算技术,例如人工神经网络或其他形式的机器学***的控制信号(未示出)。以模拟形式编码在电信号上的数据到数字形式的转换可以由辅助处理子***2460内的电路(例如模拟-数字转换器)执行。
在一些实施例中,提供数字控制器(未示出于附图中)以控制数据储存子***2450、分层缓存模块、各种电路(例如数字-模拟转换器和模拟-数字转换器)、VMM子***2410以及光源2402的操作。例如,数字控制器被配置以执行程序代码以实现具有若干隐藏层的神经网络。数字控制器迭代地执行与神经网络的各层相关联的矩阵处理。数字控制器通过从数据储存子***2450取得第一矩阵数据并且基于取得的数据设置VMM子***2410中的光学幅度调制器的调制水平来执行矩阵处理的第一次迭代,其中第一矩阵数据表示神经网络的第一层的系数。数字控制器从数据储存子***取得输入数据的集合,并且设置用于光源2402的调制水平,以产生表示第一输入向量的元素的光学输入信号的集合。
VMM子***2410基于第一输入向量和第一矩阵数据执行矩阵处理,表示神经网络的第一层对信号的处理。在辅助处理子***2450产生结果数据2462的第一集合之后,数字控制器通过从数据储存子***取得表示神经网络的第二层的系数的第二矩阵数据,并且基于第二矩阵数据设置VMM子***2410中的光学幅度调制器的调制水平来执行矩阵处理的第二次迭代。结果数据2462的第一集合用来作为第二输入向量,以设置光源2402的调制水平。VMM子***2410基于第二输入向量和第二矩阵数据执行矩阵处理,表示神经网络的第二层对信号的处理,以此类推。在最后一次迭代中,产生由神经网络的最后一层处理信号的输出。
在一些实施例中,当执行与神经网络的隐藏层相关联的计算时,结果数据2462不是被发送到数据储存子***2450,而是被数字控制器用来直接控制数字-模拟转换器,数字-模拟转换器产生用于在VMM子***2410中设置光学幅度调制器的调制水平的控制信号。这减少了将数据储存到数据储存子***2450和从数据储存子***2450存取数据所需的时间。
可以将其他处理技术结合到***配置的其他示例中。例如,与其他种类的向量-矩阵乘法子***一起使用的各种技术(例如:不具有本文所述的电求和或有符号乘法而使用光学干涉的子***)可以结合到一些***配置中,例如美国专利公开第US 2017/0351293号中所述的一些技术,其通过引用并入本文。
参照图51,在一些实施例中,人工神经网络(ANN)计算***3200包括调制器阵列3208。该调制器阵列3208使用片段式调制器设计,例如片段式MZI调制器,例如图8至图16及图47至图50中所示的那些。例如,当每个数字输入向量的长度为4时,调制器阵列3208可被配置为类似图50的调制器阵列5000。ANN计算***3200包括光电矩阵乘法单元3220,该光电矩阵乘法单元3220具有例如图19至图37所示的复制模块、乘法模块和求和模块,以实现在进行矩阵计算时处理非相干或低相干光学信号。人工神经网络计算***3200包括控制器110、存储器单元120和ADC单元160,与图1的***100中的那些单元相似。人工神经网络计算***3200包括调制器控制单元3202,该调制器控制单元3202包括第一DAC子单元3204和第二DAC子单元3206。第一DAC子单元3204包括高速1比特DAC,其中每个1比特DAC驱动移相器,例如图8、图10、图11和图15中的3956、图9中的3960、3968及3972、图47至图49中的4714、或图50中的子调制器5022、5024、5026及5028。例如,每个1比特DAC可产生1比特调制器控制信号。1比特DAC可直接从控制器110接收二进制数字输出,并将该二进制信号调节为适合驱动调制器阵列3208中对应移相器的二水平电压或电流输出。第一DAC子单元3204可包括电荷泵送驱动电路,例如图3、图9、图15及图48中所示的那些,用于移动电荷至移相器或从移相器移动电荷。例如,第一DAC子单元3204可被配置为执行预加重和去加重,以增强带宽,如前文所述。控制器110从计算机102接收请求,并发送计算输出至计算机102,类似于图1中所示那样。
在一些示例中,OMM单元3220包括不具有片段式设计的MZI,并且第二DAC子单元3206可与图1中的第二DAC子单元134相似。该配置对于执行其中OMM单元3220的重新配置速率慢于调制器阵列3208的重新配置速率的ANN计算是有用的。
在一些示例中,OMM单元3220包括具有片段式设计的MZI,并且第二DAC子单元3206可与第一DAC子单元3204相似地包括1比特DAC。第二DAC子单元3206也可与第一DAC子单元3204相似地包括电荷泵送驱动电路,并执行预加重和去加重以增强带宽。
光电处理器3210包括光源3230,其可以与图1的激光单元142相似,其中光源3230的多个输出信号是相干的。光源3230还可以使用发光二极管来产生不相干或具有低相干性的多个输出信号。调制器阵列3208接收由第一DAC子单元3204基于输入向量产生的调制器控制信号。调制器阵列3208的输出可比为图19中的光学端口/光源1802的输出。光电矩阵乘法单元3220处理来自调制器阵列3208的光信号的方式与在图19中的复制模块1804、乘法模块1806以及求和模块1808处理来自光学端口/光源1802的光学信号的方式相似。
参照图52,光电矩阵乘法单元3220接收输入向量并且将输入向量乘以矩阵/>以产生输出向量/>
光电矩阵乘法单元3220包括m个光学路径1803_1、1803_2、......、1803_m(统称为1803),其承载表示输入向量的光学信号。复制模块1804_1将输入光学信号v1的副本提供给乘法模块1806_11、1806_21、......、1806_m1。复制模块1804_2将输入光学信号v2的副本提供给乘法模块1806_12、1806_22、......、1806_m2。复制模块1804_n将输入光学信号vn的副本提供给乘法模块1806_1n、1806_2n、......、1806_mn。
如上面所述,由复制模块1804_1提供的光学信号v1的副本的幅度相对于彼此是相同的(或基本相同的),但是与调制器阵列3208所提供的光学信号v1的幅度不同。例如,如果复制模块1804_1在m个信号中均匀地分割由调制器阵列3208所提供的v1的信号功率,则m个信号中的每个将具有等于或小于调制器阵列3208所提供的v1的功率的1/m的功率。
乘法模块1806_11将输入信号v1与矩阵元素M11相乘以产生M11·v1。乘法模块1806_21将输入信号v1与矩阵元素M21相乘以产生M21·v1。乘法模块1806_m1将输入信号v1与矩阵元素Mm1相乘以产生Mm1·v1。乘法模块1806_12将输入信号v2与矩阵元素M12相乘以产生M12·v2。乘法模块1806_22将输入信号v2与矩阵元素M22相乘以产生M22·v2。乘法模块1806_m2将输入信号v2与矩阵元素Mm2相乘以产生Mm2·v2。乘法模块1806_1n将输入信号vn与矩阵元素M1n相乘以产生M1n·vn。乘法模块1806_2n将输入信号vn与矩阵元素M2n相乘以产生M2n·vn。乘法模块1806_mn将输入信号vn与矩阵元素Mmn相乘以产生Mmn·vn,以此类推。
第二DAC子单元134基于矩阵元素的值产生控制信号,并且将控制信号传输到乘法模块1806,以使乘法模块1806能够通过例如使用光学幅度调制将输入向量元素的值乘以矩阵元素的值。例如,乘法模块1806_11可包括光学幅度调制器,并且通过将矩阵元素M11的值编码作为应用于表示输入向量元素v1的输入光学信号的幅度调制水平,可以实现将输入向量元素v1乘以矩阵元素M11。
求和模块1808_1接收乘法模块1806_11、1806_12、......、1806_1n的输出,并且产生等于M11v1+M12v2+…+M1nvn的总和y1。求和模块1808_2接收乘法模块1806_21、1806_22、......、1806_2n的输出,并且产生等于M21v1+M22v2+…+M2nvn的总和y2。求和模块1808_m接收乘法模块1806_m1、1806_m2、......、1806_mn的输出,并且产生等于Mm1v1+Mm2v2+…+Mmnvn的总和ym。
在***3200中,光电矩阵乘法单元3220的输出被提供给ADC单元160,而不会如图1的***100中的情况那样通过模拟电子单元146。这是因为乘法模块1806或求和模块1808已经将光学信号转换成电信号,因此***3200中不需要分开的模拟电子单元146。
图53示出了使用图51的ANN计算***3200执行ANN计算的方法3300的示例的流程图。方法3300的步骤可以由***3200的控制器110执行。在一些实施例中,方法3300的各步骤可以并行、组合、循环或以任何顺序运行。
在步骤3310中,接收包括输入数据集和第一多个神经网络权重的人工神经网络(ANN)计算请求。输入数据集包括第一数字输入向量。第一数字输入向量是输入数据集的子集。例如,它可以是图像的子区域。ANN计算请求可以由各种实体(例如图51的计算机102)产生。计算机102可包括各种类型的计算装置中的一个或多个,例如个人计算机、服务器计算机、交通工具计算机和飞行计算机。ANN计算请求通常是指将要执行的ANN计算通知或告知给ANN计算***3200的电信号。在一些实施例中,ANN计算请求可以被分为两个或更多个信号。例如,第一信号可以询问(query)ANN计算***3200以检查***3200是否准备好接收输入数据集和第一多个神经网络权重。响应于***3200的肯定应答,计算机102可以发送包括输入数据集和第一多个神经网络权重的第二信号。
在步骤3320中,储存输入数据集和第一多个神经网络权重。控制器110可以将输入数据集和第一多个神经网络权重储存在存储器单元120中。在存储器单元120中储存输入数据集和第一多个神经网络权重可以允许ANN计算***3200的操作中的灵活性,例如可以改善***的整体性能。例如,通过从存储器单元120取得(retrieve)输入数据集的期望部分,可以将输入数据集分为设定大小和格式的数字输入向量。输入数据集的不同部分可以以各种顺序处理,或者被混洗(shuffled),以允许执行各种类型的ANN计算。例如,在输入和输出矩阵尺寸不同的情况下,混洗可以允许通过块矩阵乘法技术执行矩阵乘法。作为另一示例,将输入数据集和第一多个神经网络权重储存在存储器单元120中可以允许通过ANN计算***3200对多个ANN计算请求进行排队,这可以允许***3200以其全速维持操作而没有不活动的时段。
在一些实施例中,存储器单元120可包括第一存储器子单元和第二存储器子单元。第一存储器子单元可以是专用于储存输入数据集和数字输入向量的存储器,并且可具有足以支持调制器阵列3208的调制速率的操作速度。第二存储器子单元可以是专用于储存神经网络权重的存储器,并且可以具有足以支持OMM单元3220的重新配置速率的操作速度。在一些实施例中,第一存储器子单元可使用SRAM来实施,并且第二存储器子单元可使用DRAM来实施。在一些实施例中,第一存储器子单元和第二存储器子单元可使用DRAM来实施。在一些实施例中,第一存储器子单元可实施作为控制器110的一部分或作为控制器110的缓存。在一些实施例中,第一和第二存储器子单元可以由单个物理存储器装置作为不同的地址空间来实施。在一些实施例中,输入数据集可以储存在第一存储器子单元中,并且第一多个神经网络权重可以储存在第二存储器子单元中。
在步骤3330中,基于第一数字输入向量产生第一多个调制器控制信号,并且基于第一多个神经网络权重产生第一多个权重控制信号。控制器110可以将第一DAC控制信号发送至调制器控制单元3202,以产生第一多个调制器控制信号。第一DAC子单元3204基于第一DAC控制信号产生第一多个调制器控制信号,并且调制器阵列3208产生表示第一数字输入向量的光学输入向量。
第一DAC控制信号可包括将要由第一DAC子单元3204中的1比特DAC转换成第一多个调制器控制信号的多个数字值。多个数字值通常对应第一数字输入向量,并且可以通过各种数学关系或查找表来关联。例如,多个数字值可以与第一数字输入向量的元素的值成线性比例。作为另一示例,多个数字值可以通过查找表与第一数字输入向量的元素关联,该查找表被配置以维持数字输入向量与由调制器阵列3208产生的光学输入向量之间的线性关系。
控制器110可以将第二DAC控制信号发送至调制器控制单元3202,以产生第一多个权重控制信号。第二DAC子单元3206基于第二DAC控制信号产生第一多个权重控制信号,并且光电矩阵乘法单元3220被根据第一多个权重控制信号重新配置,从而实现对应第一多个神经网络权重的矩阵。
第二DAC控制信号可包括将要由第二DAC子单元3206转换成第一多个权重控制信号的多个数字值。多个数字值通常对应第一多个神经网络权重,并且可以通过各种数学关系或查找表来关联。例如,多个数字值可以与第一多个神经网络权重成线性比例。作为另一示例,多个数字值可以通过对第一多个神经网络权重执行各种数学操作来计算,以产生权重控制信号,权重控制信号可以配置光电矩阵乘法单元3220以执行对应第一多个神经网络权重的矩阵乘法。
在步骤3340中,得到对应光电矩阵乘法单元3220的电输出向量的第一多个数字化输出。由调制器阵列3208所产生的光学输入向量由光电矩阵乘法单元3220处理并且转换为电输出向量。电输出向量由ADC单元160转换成数字化值。控制器110可以例如将转换请求发送至ADC单元160,以开始将光电矩阵乘法单元3220输出的电压转换为数字化输出。一旦转换完成,ADC单元160可将转换结果发送至控制器110。可替换地,控制器110可以从ADC单元160取得转换结果。控制器110可以从数字化输出形成数字输出向量,该数字输出向量对应输入数字向量的矩阵乘法的结果。例如,数字化输出可以被组织或级联以具有向量格式。
在一些实施例中,可基于由控制器110将DAC控制信号发出到调制器控制单元3202,来设置或控制ADC单元160以执行ADC转换。例如,ADC转换可以被设置以在调制器控制单元3202产生调制控制信号之后的预设时间开始。ADC转换的这种控制可以简化控制器110的操作并且减少必要的控制操作的数量。
在步骤3350中,对第一数字输出向量执行非线性变换以产生第一变换数字输出向量。ANN的节点或人工神经元通过首先执行从先前层的节点接收的信号的加权总和,然后执行加权总和的非线性变换(“激活”)以产生输出来进行操作。各种类型的ANN可以实现各种类型的可微分的非线性变换。非线性变换函数的示例包括修正线性单元(rectifiedlinearunit;RELU)函数、S型函数、双曲正切函数(hyperbolic tangent function),X2函数以及|X|函数。由控制器110对第一数字输出执行这种非线性变换,以产生第一变换数字输出向量。在一些实施例中,非线性变换可由控制器110内的专用数字集成电路执行。例如,控制器110可包括一个或多个模块或电路块,其特别适于加速一种或多种类型的非线性变换的计算。
在步骤3360中,储存第一变换数字输出向量。控制器110可以将第一变换数字输出向量储存在存储器单元120中。在输入数据集被分成多个数字输入向量的情况下,第一变换数字输出向量对应例如第一数字输入向量的输入数据集的一部分的ANN计算结果。如此一来,储存第一变换数字输出向量允许ANN计算***3200在输入数据集的其他数字输入向量上执行和储存额外计算,以在稍后被聚合成单个ANN输出。
在步骤3370中,输出基于第一变换数字输出向量产生的人工神经网络输出。控制器110产生ANN输出,其是通过由第一多个神经网络权重所定义的ANN处理输入数据集的结果。在输入数据集被分成多个数字输入向量的情况下,所产生的ANN输出是包括第一转换数字输出的聚合输出,但是可进一步包括对应输入数据集的其他部分的额外转换数字输出。一旦产生ANN输出,就将所产生的输出发送至发起ANN计算请求的计算机(例如计算机102)。
在一些实施例中,控制器110、存储器单元120、调制器控制单元3202、ADC单元160和微处理器可以单片集成在半导体晶粒上。在一些实施例中,控制器110、存储器单元120、调制器控制单元3202、ADC单元160、微处理器和***主存储器可以集成为片上***。在这样的示例中,过程3300中的两个或更多个步骤可以由单片集成电路或片上***中的各个模块执行。
可以为实现方法3300的ANN计算***3200定义各种性能指标(performancemetric)。定义性能指标可以允许将实现光电处理器3210的ANN计算***3200的性能与用于ANN计算的、替代地实现电矩阵乘法单元(electronic matrix multiplication unit)的其他***的性能进行比较。在一个方面,可以执行ANN计算的速率可以部分地由第一循环时段指示,第一循环时段定义为在存储器单元中储存输入数据集和第一多个神经网络权重的步骤3320与在存储器单元中储存第一变换数字输出向量的步骤3360之间所经过的时间。因此,第一循环时段包括将电信号转换成光学信号(例如:步骤3330)、在光学域和电域中执行矩阵乘法(例如:步骤3340)所花费的时间。步骤3320和3360都涉及将数据储存至存储器单元120中,这是在ANN计算***3200和没有光电处理器3210的传统ANN计算***之间共享的步骤。如此一来,测量存储器到存储器交易时间(memory-to-memory transaction time)的第一循环时段可以允许在ANN计算***3200与没有光电处理器3210的ANN计算***(例如实现电矩阵乘法单元的***)之间进行ANN计算吞吐量的实际或公平比较。
由于调制器阵列3208可以产生光学输入向量的速率(例如:在25GHz)和光电矩阵乘法单元3220的处理速率(例如:>25GHz),用于执行单个数字输入向量的单个ANN计算的ANN计算***3200的第一循环时段可以接近调制器阵列3208的速度的倒数(例如40ps)。在考虑与调制器控制单元3202的信号产生和ADC单元160的ADC转换相关联的延迟之后,第一循环时段可以例如小于或等于100ps、小于或等于200ps、小于或等于500ps、小于或等于1ns、小于或等于2ns、小于或等于5ns、或小于或等于10ns。
作为比较,电矩阵乘法单元的M×1向量和M×M矩阵的乘法运行时间通常与M2-1个处理器时钟周期(processor clock cycle)成比例。对于M=32,这种乘法将花费大约1024个周期,其在3GHz时钟速度下导致运行时间超过300ns,这比ANN计算***3200的第一循环时段慢几个数量级。
在一些实施例中,方法3300进一步包括基于第一变换数字输出向量产生第二多个调制器控制信号的步骤。在一些类型的ANN计算中,单个数字输入向量可以通过相同的ANN重复传播或由相同的ANN处理。如上面所述,实现多通处理(multi-pass processing)的ANN可以称为递归神经网络(recurrentneural network;RNN)。RNN是神经网络,其中在第(k)次通过神经网络期间网络的输出被再循环回到神经网络的输入并且在第(k+1)次通过期间被用作输入。RNN可以在模式识别任务中具有各种应用,例如语音或手写识别。一旦产生了第二多个调制器控制信号,方法3300就可以进行步骤3340至步骤3360,以完成第一数字输入向量第二次通过ANN。通常来说,根据在ANN计算请求中所接收的RNN的特性,可以针对预定数量的循环,重复将变换的数字输出再循环为数字输入向量。
在一些实施例中,方法3300进一步包括基于第二多个神经网络权重产生第二多个权重控制信号的步骤。在一些情况下,人工神经网络计算请求进一步包括第二多个神经网络权重。如上面所述,通常来说,除了输入层和输出层之外,ANN还具有一个或多个隐藏层。对于具有两个隐藏层的ANN,第二多个神经网络权重可对应例如ANN的第一层与ANN的第二层之间的连接性。为了通过ANN的两个隐藏层处理第一数字输入向量,可以首先根据方法3300处理第一数字输入向量直到步骤3360,其中在步骤3360通过ANN的第一隐藏层处理第一数字输入向量的结果储存在存储器单元120中。接着控制器110重新配置光电矩阵乘法单元3220以执行对应与ANN的第二隐藏层相关联的第二多个神经网络权重的矩阵乘法。一旦光电矩阵乘法单元3220被重新配置,方法3300可以基于第一变换数字输出向量产生多个调制器控制信号,其产生对应第一隐藏层的输出的更新的光学输入向量。接着更新的光学输入向量由重新配置的光电矩阵乘法单元3220处理,光电矩阵乘法单元3220对应ANN的第二隐藏层。通常来说,所述的步骤可以重复直到已经通过ANN的所有隐藏层处理了数字输入向量。
在光电矩阵乘法单元3220的一些实施例中,光电矩阵乘法单元3220的重新配置速率可明显慢于调制器阵列3208的调制速率。在这种情况下,ANN计算***3200的吞吐量可能受到在不能执行ANN计算期间,重新配置光电矩阵乘法单元3220所花费的时间量的不利影响。为了减轻光电矩阵乘法单元3220的相对慢的重新配置时间的影响,可以利用批量处理(batch processing)技术,其中两个或更多个数字输入向量传播通过光电矩阵乘法单元3220而没有配置改变,以将重新配置时间分摊(amortize)在更大数量的数字输入向量上。
参照图39,在一些实施例中,波分复用(WDM)人工神经网络(ANN)计算***3500包括光电处理器3510,光电处理器3510包括光电矩阵乘法单元3520,光电矩阵乘法单元3520具有如图19至图37所示的复制模块、乘法模块以及求和模块,以能够在执行矩阵计算时处理非相干或低相干光学信号,其中光学信号以多个波长编码。WDMANN计算***3500类似于ANN计算***3200,除了其中使用了WDM技术,对于ANN计算***3500的一些实施例,光源3230被配置以产生多个波长,例如λ1、λ2以及λ3,类似于图6的***104。
多个波长可以优选地通过足够大的波长间隔分开,以允许容易地复用和解复用到公共传播信道上。例如,大于0.5nm、1.0nm、2.0nm、3.0nm或5.0nm的波长间隔可以允许简单的复用和解复用。另一方面,多个波长的最短波长与最长波长之间的范围(“WDM带宽”)可以优选地足够小,使得光电矩阵乘法单元3520的特性或性能在多个波长上保持基本相同。光学组件通常是分散的(dispersive),这意味着它们的光学特性随着波长而改变。例如,MZI的功率分离比可以随着波长而改变。然而,通过将光电矩阵乘法单元3520设计成具有足够大的操作波长窗口(operating wavelength window),并且通过将波长限制在操作波长窗口内,由光电矩阵乘法单元3520对应每个波长所输出的电输出向量可以是由光电矩阵乘法单元3520实现的矩阵乘法的足够精确的结果。操作波长窗口可以是例如1nm、2nm、3nm、4nm、5nm、10nm或20nm。
WDMANN计算***3500的调制器阵列144包括光学调制器组(banks ofopticalmodulators),其被配置以产生多个光学输入向量,光学调制器组中的每个对应于多个波长之一并且产生具有相应波长的相应光学输入向量。例如,对于具有长度为32和3个波长(例如:λ1、λ2以及λ3)的光学输入向量的***,调制器阵列144可以具有每个组32个调制器的3个组。此外,调制器阵列144还包括光学复用器,其被配置以将多个光学输入向量组合成包括多个波长的组合光学输入向量。例如,光学复用器可以将三个不同波长的三个调制器组的输出组合成光学输入向量的每个元素的单个传播信道(例如波导)。如此一来,返回上面的示例,组合光学输入向量将具有32个光学信号,每个信号包括3个波长。
WDM ANN计算***3500的光电处理组件进一步被配置以解复用多个波长并且产生多个解复用的输出电信号。参照图40,光电矩阵乘法单元3520包括光学路径1803,光学路径1803被配置以从调制器阵列144接收包括多个波长的组合光学输入向量。例如,光学路径1803_1接收在波长λ1、λ2以及λ3的组合光学输入向量元素v1。在波长λ1、λ2以及λ3的光学输入向量元素v1的副本被提供给乘法模块3530_11、3530_21、......、以及3530_m1。在乘法模块3530输出电信号的一些实施例中,乘法模块3530_11输出表示M11·v1的三个电信号,其对应在波长λ1、λ2以及λ3的输入向量元素v1。对应在波长λ1、λ2以及λ3的输入向量元素v1的乘法模块3530_11的输出电信号分别地示为(λ1)、(λ2)以及(λ3)。相似的符号应用于其他乘法模块的输出。乘法模块3530_21输出表示M21·v1的三个电信号,其分别地对应在波长λ1、λ2以及λ3的输入向量元素v1。乘法模块3530_m1输出表示Mm1·v1的三个电信号,其对应在波长λ1、λ2以及λ3的输入向量元素v1。
在波长λ1、λ2以及λ3的光学输入向量元素v2的副本被提供给乘法模块3530_12、3530_22、......、以及3530_m2。乘法模块3530_12输出表示M12·v2的三个电信号,其对应在波长λ1、λ2以及λ3的输入向量元素v2。乘法模块3530_22输出表示M22·v2的三个电信号,其对应在波长λ1、λ2以及λ3的输入向量元素v2。乘法模块3530_m2输出表示Mm2·v2的三个电信号,其对应在波长λ1、λ2以及λ3的输入向量元素v2。
包括波长λ1、λ2以及λ3的光学输入向量元素vn的副本被提供给乘法模块3530_1n、3530_2n、......、以及3530_mn。乘法模块3530_1n输出表示M1n·vn的三个电信号,其对应在波长λ1、λ2以及λ3的输入向量元素vn。乘法模块3530_2n输出表示M2n·vn的三个电信号,其对应在波长λ1、λ2以及λ3的输入向量元素vn。乘法模块3530_mn输出表示Mmn·vn的三个电信号,其对应在波长λ1、λ2以及λ3的输入向量元素vn,以此类推。
例如,每个乘法模块3530可包括解复用器,解复用器被配置以解复用包含在多波长光学向量的32个信号的每个中的三个波长,并且将3个单波长光学输出向量布线(route)到耦合至三个运算放大器组或跨阻放大器组(例如:运算放大器2030(图23)或2050(图24))的三个光电检测器组(例如:光电检测器2012、2016(图23)或2042、2046(图24))。
求和模块1808的三个组接收来自乘法模块3530的输出,并且产生对应在各种波长的输入向量的总和y。例如,三个求和模块1808_1接收乘法模块3530_11、3530_12、......、3530_1n的输出,并且产生分别地对应在波长λ1、λ2以及λ3的输出向量元素y1的总和y1(λ1)、y1(λ2)、y1(λ3),其中在每个波长下的总和y1等于M11v1+M12v2+…+M1nvn。三个求和模块1808_2接收乘法模块3530_21、3530_22、......、3530_2n的输出,并且产生分别地对应在波长λ1、λ2以及λ3的输出向量元素y2的总和y2(λ1)、y2(λ2)、y2(λ3),其中在每个波长下的总和y2等于M21v1+M22v2+…+M2nvn。三个求和模块1808_m接收乘法模块3530_m1、3530_m2、......、3530_mn的输出,并且产生分别地对应在波长λ1、λ2以及λ3的输出向量元素ym的总和ym(λ1)、ym(λ2)、ym(λ3),其中在每个波长下的总和ym等于Mm1v1+Mm2v2+…+Mmnvn。
再次参照图39,WDMANN计算***3500的ADC单元160包括ADC组(banks of ADCs),其被配置以转换光电矩阵乘法单元3520的多个解复用输出电压(demultiplexed outputvoltage)。每个ADC组对应于多个波长之一,并且产生相应的数字化解复用输出(digitizeddemultiplexed output)。例如,例如,ADC 160的组可以耦合到求和模块1808的组。
控制器110可以实现与方法200(图4)相似的方法,但是扩展为支持多波长操作。例如,方法可包括以下步骤:从ADC单元160得到多个数字化解复用输出,多个数字化解复用输出形成多个第一数字输出向量,其中多个第一数字输出向量中的每个对应多个波长之一;对多个第一数字输出向量中的每个执行非线性变换,以产生多个变换第一数字输出向量;以及在存储器单元中储存多个变换第一数字输出向量。
在一些情况下,可以专门设计ANN,并且可以具体地形成数字输入向量,使得可以在不进行解复用的情况下加入乘法模块3530的多波长乘积(multi-wavelength product)。在这种情况下,乘法模块3530可以是波长非敏感(wavelength-insensitive)的乘法模块,其不会解复用多波长乘积的多个波长。如此一来,乘法模块3530的每个光电检测器有效地将光学信号的多个波长加总到单个光电流中,并且乘法模块3530输出的每个电压对应于对于多个波长的矩阵元素和向量元素的乘积的总和。求和模块1808(仅需要一个组)输出多个数字输入向量的矩阵乘法结果的逐元素总和(element-by-element sum)。
图41示出了用于使用2×2元素矩阵执行向量-矩阵乘法的波分复用的光电矩阵乘法单元3520的实现的***配置3500的示例,其中在电域中执行求和操作。在该示例中,输入向量是并且矩阵是/>在该示例中,输入向量具有多个波长λ1、λ2以及λ3,并且输入向量的每个元素在不同的光学信号上编码。两个不同的复制模块1902执行光学复制操作以在不同的路径(例如:“上”路径和“下”路径)上分离计算。存在四个乘法模块1904,每个乘法模块1904使用光学幅度调制乘以不同的矩阵元素。每个乘法模块1904的输出被提供给解复用器和一组光学检测模块3501,光学检测模块3501将波分复用光学信号转换成与波长λ1、λ2以及λ3相关联的电流形式的电信号。使用与波长λ1、λ2以及λ3相关联的一组求和模块3503来组合不同输入向量元素的两个上路径,并且使用与波长λ1、λ2以及λ3相关联的一组求和模块3503来组合不同输入向量元素的两个下路径,其中求和模块3503在电域中执行求和。因此,对于每个波长,输出向量的每个元素都在不同的电信号上编码。如图41所示,随着计算的进行,递增地产生输出向量的每个分量,以对每个波长分别地产生上路径和下路径的以下结果。
M11v1+M12v2
M21v1+M22v2
可以使用各种光电技术中的任何一种来实现***配置3500。在一些实施例中,存在公共基板(例如:半导体(例如硅)),其可以支持集成光学组件和电子组件。光学路径可以在波导结构中实现,波导结构具有由具有较低光学指数(optical index)的材料围绕的具有较高光学指数的材料,该波导结构定义用于传播承载了光学信号的光波的波导。电路径可以由导电材料实现,用于传播承载了电信号的电流。(在图41中,表示路径的线的厚度用于区分光学路径(由较粗的线表示)和电路径(由较细的线或虚线表示)。)可以在公共基板上制造光学装置(例如分离器和光学幅度调制器)以及电装置(例如光电检测器和运算放大器(op-amp))。可替换地,可以使用具有不同基板的不同装置来实现***的不同部分,并且那些装置可以通过通信信道进行通信。例如,光纤可用于提供通信信道,以在用于实现整个***的多个装置之间发送光学信号。那些光学信号可以表示当执行向量-矩阵乘法时所提供的输入向量的不同子集,和/或当执行向量-矩阵乘法时所计算的中间结果的不同子集,如下面更详细的描述。
各种替代***配置或信号处理技术可以与本文所述的不同***、子***和模块的各种实现例一起使用。
在一些实施例中,一些或所有VMM子***以替代子***替换可能是有用的,替代子***包括使用各种复制模块、乘法模块和/或求和模块的不同实施例的子***。例如,VMM子***可包括此处所描述的光学复制模块和此处所描述的电求和模块,但是乘法模块可以使用在电域而不是光电域中执行乘法操作的子***代替。在此示例中,光学幅度调制器阵列可以由检测器阵列代替,以将光学信号转换为电信号,后续接着是电子子***(例如:ASIC、处理器或SoC)。可选地,如果光学信号布线(optical signal routing)将被用于被配置以检测光学信号的求和模块,则电子子***可包括例如使用电调制光源阵列(array ofelectrically-modulated optical sources)的电光转换。
在一些实施例中,对于用于一些或所有VMM计算的一些或所有光学信号能够使用单个波长可能是有用的。可替换地,在一些实施例中,为了帮助减少可能需要的光学输入端口的数量,输入端口可以接收复用光学信号,复用光学信号具有在不同波长的不同光波上编码的不同值。接着,可以在***中的适当位置将那些光波分开,这取决于复制模块、乘法模块和/或求和模块中的任何一个是否被配置以在多个波长上操作。但是,即使在多波长实施例中,例如对于在相同VMM子***中使用的不同光学信号子集,使用相同波长可能是有用的。
在一些实施例中,累加器可用来实现由各种模块接收的光学信号和电信号的时域编码,从而减轻对电子电路的需要,以在大量不同功率水平上有效操作。例如,使用二进制(开(on)-关(off))幅度调制编码的在每个符号的N个时隙上具有特定占空比的信号,可以在该信号通过累加器(对电信号的电流或电压进行积分的模拟电子累加器)之后,被转换为每个符号具有N个幅度水平的信号。因此,如果光学装置(例如:光学幅度调制器中的相位调制器)能够在符号带宽(symbol bandwidth)B操作,则它们也可以在符号带宽B/100操作,其中每个符号值使用N=100个时隙。50%的积分幅度具有50%的占空比(例如:前50个时隙在非零的“开启”水平,接着是50个时隙在零或接近零的“关闭”水平),而10%的积分幅度具有10%的占空比(例如:前10个时隙在非零的“开启”水平,接着是90个时隙在零的“关闭”水平)。在本文所述的示例中,这种累加器可以被定位在VMM子***内的任何位置的每个电信号的路径上,其对于每个电信号一致,例如在用于该VMM子***中的所有电信号的求和模块之前或者在用于该VMM子***中的所有电信号的求和模块之后。VMM子***还可以被配置使得在保持不同符号的对准的不同电信号之间不存在显著的相对时间偏移。
参照图42,在一些实施例中,零差检测可用于得到调制信号的相位和幅度。零差检测器4000包括了包括2×2多模干涉(MMI)耦合器的分束器4002、两个光电检测器4004a和4004b以及减法器4006。分束器4002接收输入信号E1和E2,分束器402的输出由光电检测器4004a和4004b检测。例如,输入信号E1可以是要被检测的信号,并且输入信号E2可以由具有恒定激光功率的本地振荡器产生。在信号被光电检测器4004a和4004b检测到之前,由分束器4002将本地振荡器信号E2与输入信号E1混合。减法器4006输出光电检测器4004a和4004b的输出之间的差值。减法器4006的输出4008与|E1||E2|sin(θ)成比例,其中|E1|和|E2|是两个输入光场(input optical field)的幅度,θ是它们的相对相位。由于输出与两个光场的乘积相关,因此即使在单个光子水平下也能检测到极弱的光学信号。
例如,零差检测器4000可用于图1、图6、图19至图38、以及图39至图41所示的***中。零差检测器4000提供信号上的增益(gain),并因此提供更好的信噪比(signal noiseratio)。对于相干***,零差检测器4000提供了通过检测结果的极性的揭示信号的相位信息的附加益处。
在图21的示例中,***1920包括2×2元素矩阵,其中使用两个不同的相应波长λ1和λ2在两个光学信号上编码两个输入向量元素。可以例如使用两个光纤将两个光学信号提供给***1920。例如,对4×4矩阵执行矩阵处理的***可以接收四个光纤上承载的四个输入光学信号。虽然对于处理较大矩阵的***,可以使用更多光纤来承载的更多输入光学信号,但因为光纤和光电芯片之间的耦合占用相当大的空间,很难将大量光纤耦合到光电芯片上。
减少将光学信号承载到光电芯片所需的光纤数量的方法是使用波分复用。可以使用单个光纤复用和传输具有不同波长的多个光学信号。例如,参照图43,在计算***4100中,具有波长λ1的第一光信号4102由第一调制器4104调制,以产生表示第一输入向量元素V1的第一调制光学信号4120。具有波长λ2的第二光信号4106由第二调制器4108调制,以产生表示第二输入向量元素V2的第二调制光学信号4122。第一和第二调制光学信号由复用器4110组合以产生波分复用信号,其通过光纤4112被传输到光电芯片4114,光电芯片4114包括多个矩阵乘法模块4116a、4116b、4116c以及4116d(统称为4116)和4118a、4118b、4118c以及4118d(统称为4118)。
在光电芯片4114内部,通过解复用器4150解复用波分复用信号,以分离光学信号4120和光学信号4122。在此示例中,光学信号4120由复制模块4152复制,以产生发送到矩阵乘法模块4116a和4118a的光学信号的副本。光学信号4122由复制模块4154复制,以产生发送到矩阵乘法模块4116b和4118b的光学信号的副本。矩阵乘法模块4116a和4116b的输出使用光学耦合器4120a组合,并且组合信号由光电检测器4122a检测。
具有波长λ1的第三光学信号4124由第三调制器4128调制,以产生表示第三输入向量元素V3的第三调制光学信号4132。具有波长λ2的第四光学信号4126由第四调制器4130调制,以产生表示第四输入向量元素V4的第四调制光学信号4134。第三和第四调制光学信号由复用器4136组合以产生波分复用信号,其通过光纤4138传输到光电芯片4114。
在光电芯片4114内部,由光纤4138提供的波分复用信号由解复用器4140解复用,以分离光学信号4132和4134。在此示例中,光学信号4132由复制模块4142复制,以产生发送到矩阵乘法模块4116c和4118c的光学信号的副本。光学信号4134由复制模块4144复制,以产生发送到矩阵乘法模块4116d和4118d的光学信号的副本。矩阵乘法单元4116c和4116d的输出使用光学耦合器4120b组合,并且组合信号由光电检测器4122b检测。矩阵乘法单元4118a和4118b的输出使用光学耦合器组合,并且组合信号由光电检测器检测。矩阵乘法单元4118c和4118d的输出使用光学耦合器组合,并且组合信号由光电检测器检测。
在一些示例中,复用器可以复用具有三个或更多个(例如:10或100个)波长的光学信号,以产生由单个光纤传输的波分复用信号,并且光电芯片内部的解复用器可以解复用波分复用信号,以将具有不同波长的信号分开。这允许更多的光学信号并行通过光纤传输到光电芯片,增强了光电芯片的数据处理吞吐量。
在一些示例中,图1的激光单元142包括单个激光器,其提供可以用不同的光学信号进行调制的光波。在那种情况下,***的各波导中的光波在激光的线宽的分辨率内具有彼此大致相同的公共波长。例如,光波可具有彼此在1nm之内的波长。然而,激光单元142还可包括多个激光器,其能够使用调制到不同相应光波(例如:每个具有1nm或更小的线宽)上的不同的光学信号来进行波分复用操作。不同的光波可以具有峰值波长,其通过大于各个激光器的线宽的波长距离(例如,大于1nm)彼此分离。在一些示例中,波分复用***可以使用被调制到具有相距几纳米(例如:3nm或更大)的波长的光波上的光学信号。然而,如果解复用器具有更好的分辨率,则WDM***中不同波长之间的差异也可以小于3nm。
图44示出了图1和图6的OMM单元150的示例的示意图。OMM单元150可包括输入波导152的阵列以接收光学输入向量;与输入波导152的阵列光学通信的光学干涉单元154;以及与光学干涉单元154光学通信的输出波导156的阵列。光学干涉单元154将光学输入向量线性变换成光学信号的第二阵列。输出波导156的阵列引导由光学干涉单元154所输出的光学信号的第二阵列。输入波导152的阵列中的至少一个输入波导通过光学干涉单元154与输出波导156的阵列中的每一个输出波导光学通信。例如,对于长度为N的光学输入向量,OMM单元150可包括N个输入波导152和N个输出波导156。
光学干涉单元154可包括多个互连的马赫曾德尔干涉仪(MZI)。图45和图46示出了互连MZI的示例配置157和158的示意图。MZI可以以各种方式互连(例如在配置157或158中)以实现通过输入波导152的阵列所接收的光学输入向量的线性变换。MZI可以使用图2和图7至图16中所示的示例来实现。
在图7至图16所示的示例中,每个MZI包括两个平衡的臂3904a和3904b。当移相器(例如,图7的3906和图8至图11、图15、图16的3956)不对在臂3904a、3904b中传播的光给予光学相移时,在两个平衡的臂3904a、3904b中传播的光在多模干扰耦合器(MMI_1x2)3902b处组合时应相长地干涉。然而,由于制造公差,两个臂3904a和3904b可以对在臂3904a、3904b中传播的光给予不同量的光学相移,从而导致从多模干涉耦合器3902b输出的信号中的误差。可以通过使用校准移相器来补偿这种不准确性。
图47示出了片段式MZI调制器4700的示意图,其包括可以补偿MZI调制器4700的两个臂之间的不平衡的校准移相器4702a和4702b(统称为4702)。片段式MZI调制器4700包括输入波导4704、输出波导4706、输入1×2MMI分离器4708、输出1×2MMI分离器4710、上方臂波导4712a、下方臂波导4712b和多个电光移相器4714a、4714b、4714c、4714d、4714e、4714f、4714g和4714h(统称为4714)。
在***操作期间,光从输入波导4704传播到1×2MMI分离器4708,其产生两个光部分。每个光部分都受到电光移相器4714的影响,然后这两个光部分在1×2MMI 4710处组合以干涉,使得输出波导4706处的光学强度将与两个臂4712a和4712b之间的相对相位差相关。例如,调制移相器4714可以由倒装芯片((flip chip)电路产生的多个开-关电控制信号来驱动。通过实现不同长度的移相器4714,输出光可以通过几个二进制开-关键控(keying)数字输入来编码多个水平的电信号。
由于制造工艺,上方臂波导4712a和下方臂波导4712b在波导宽度上可以不同,并且波导宽度变化引起的相位差将沿着两个臂之间的传播方向累积,从而两个臂4712a、4712b之间的初始相位不平衡可以使MZI的初始操作点远离相长干涉。另外,多个电光移相器4714在制造中会经历掩模未对准(mask misalignment),这也将引起两个臂4712a、4712b之间的初始相位差。两个校准移相器4702a、4702b用于消除制造引起的相位不平衡。
例如,可以通过热光相位效应(thermos-optic phase effect,通过加热波导以改变折射率来操作)或电光效应((electro-optic effect,通过施加电场来改变载流子分布以影响折射率来操作)来实现校准移相器4702。例如,校准移相器4702由两个低速DAC独立控制,该两个低速DAC通过倒装芯片或引线结合(wire bonding)到包含MZI 4700的光子芯片。
例如,提供抽头波导(tapwaveguide)以将在输出波导4706处的光信号的一部分引导到监测光电检测器,该监测光电检测器可以提供指示在输出波导4706中传播的光的强度的反馈信号。为了校准MZI 4700,用零信号驱动移相器4714,使得上方臂和下方臂中的光部分的相位之间的任何不平衡是由于上方臂和下方臂中的波导4712a、4712b之间的差异引起的。基于监测光电探测器提供的反馈,调整施加到校准移相器4702a、4702b的控制信号,以使得来自上方臂和下方臂的到达输出1×2MMI分离器4710的光部分具有相同的相位,并且相长地干涉。
上方臂和下方臂之间的相位差会受到环境温度的影响,环境温度会随着时间而波动,因此需要定期执行监测光电检测器进行的测量,并定期更新施加到校准移相器4702的控制信号,例如,每几分之一秒一次、每秒一次、每10秒一次或每分钟一次。校准移相器4702被配置为能够补偿两个臂中在0到2π弧度范围内的相位不平衡。因为可以以低频(例如10Hz或更小)更新对校准移相器4702的控制信号,所以可以使用高精度的多水平(level)DAC来产生校准移相器4702的控制信号。
参照图48,在一些实施例中,在MZI 4700的下方臂中,电光移相器4714e、4714f、4714g和4714h分别由驱动器电路3966e、3966f、3966g和3966h驱动。校准移相器4702b可以由与驱动器电路3966相似的驱动器电路4716b来驱动。例如,驱动器电路3966e、3966f、3966g、3966h可以由分别通过高速1比特DAC 4718e、4718f、4718g和4718h提供的控制信号来驱动。(用于校准移相器4702b的)驱动器电路4716b可以由通过低速多比特DAC 4720b提供的控制信号来驱动。在上方臂中,电光移相器4714a、4714b、4714c、4714d和校准移相器4702a可以分别以相似于电光移相器4714e、4714f、4714g、4714h和校准移相器4702b的方式控制。
如图49所示,在一些实施例中,MZI 4800包括在上方臂中的电光移相器4714a、4714b、4714c、4714d,以及在上方臂和下方臂两者中的校准移相器4702a、4702b。在一些示例中,MZI可以在上方臂中具有电光移相器4714a、4714b、4714c、4714d,在下方臂中具有电光移相器4714e、4714f、4714g、4714h,并且在上方臂中具有校准移相器4702a,而在下方臂中没有其他校准移相器。
通常,可以将用于将数字电信号转换为模拟光学信号的电光移相器放置在MZI的单个臂上,或者放置在MZI的两个臂上。MZI可以包括放置在单个臂上的单个校准移相器,或包括放置在两个臂上的两个校准移相器,以补偿两个臂之间的相位不平衡。通常,与将移相器放置在MZI的仅一个臂中相比,将移相器放置在MZI的两个臂中可以使每个移相器更短,因为每个移相器仅需给予较小量的光学相移。
例如,使用图8至图16和图47至图49中的片段式设计的调制器可以用在图1、图6和图39调制器阵列144以及图31至图33的调制器2302中。如果调制器阵列144使用具有片段式设计的调制器,则第一MC子单元132被修改,因为其不需要多比特数字-模拟转换器。在这种情况下,第一MC子单元132包括将来自控制器110的数字输入值转换为施加到调制器的各个片段的适当电压信号的电路(这可以被认为等同于1比特DAC)。将片段式设计用于光学调制器的优点在于,通过去除第一MC子单元132中的数字-模拟转换器,可以针对给定数据速率降低功耗,或者可以针对给定功耗提高数据速率。使用基于正向偏置的PIN二极管结构的调制器以使用载流子注入来调制波导片段的折射率的优点是,该调制器与互补金属氧化物半导体(CMOS)技术兼容。
图50示出了具有图47的片段式设计的光学调制器的调制器阵列5000的示例。调制器阵列5000执行相似于图1的调制器阵列144的功能。在该示例中,调制器阵列5000被配置为处理长度为4的数字输入向量,该数字输入向量包括四个元素,并且每个元素是具有四个比特的数字值。调制器阵列5000包括具有片段式设计的四个光学调制器5002、5004、5006和5008,其中每个光学调制器包括四个子调制器或四个移相器。
在该示例中,激光单元142在四个光学波导4704a、4704b、4704c和4704d上输出四个光信号。波导4704a上的光信号由光学调制器5002根据数字输入向量的第一4比特值进行调制。波导4704b上的光信号由光学调制器5004根据数字输入向量的第二4比特值进行调制。波导4704c上的光信号由光学调制器5006根据数字输入向量的第三4比特值进行调制。波导4704d上的光信号由光学调制器5008根据数字输入向量的第四4比特值进行调制。
光学调制器5002包括两个1×2端口多模干涉耦合器(MMI_1x2)4708a和4710a,两个平衡的臂5012a和5012b,以及八个子调制器:上方臂中的5022a、5022b、5022c、5022d以及下方臂中的5022e、5022f、5022g、5022h。例如,每个子调制器可以包括移相器。子调制器5022d和5022h接收输入向量中第一值的LSB(B11)。子调制器5022c和5022g接收输入向量中第一值的第二比特(B12)。子调制器5022b和5022f接收输入向量中第一值的第三比特(B13)。子调制器5022a和5022e接收输入向量中第一值的MSB(B14)。光学调制器5002还包括由多比特DAC驱动的校准移相器5032a和5032b。
子调制器5022d包括第一波导片段,子调制器5022c包括第二波导片段,子调制器5022b包括第三波导片段,子调制器5022a包括第四波导片段。第二波导片段的长度约为第一波导片段的两倍,第三波导片段的长度约为第一波导片段的四倍,第四波导片段的长度约为第一波导片段的八倍。
类似地,子调制器5022h包括第五波导片段,子调制器5022g包括第六波导片段,子调制器5022f包括第七波导片段,并且子调制器5022e包括第八波导片段。第六波导片段的长度约为第五波导片段的两倍,第七波导片段的长度约为第五波导片段的四倍,第八波导片段的长度约为第五波导片段的八倍。
光学调制器5004包括两个1×2端口多模干涉耦合器(MMI_1x2)4708b和4710b,两个平衡的臂5014a和5014b,以及八个子调制器:上方臂中的5024a、5024b、5024c、5024d以及下方臂中的5024e、5024f、5024g、5024h。例如,每个子调制器可以包括移相器。子调制器5024d和5024h接收输入向量中第二值的LSB(B21)。子调制器5024c和5024g接收输入向量中第二值的第二比特(B22)。子调制器5024b和5024f接收输入向量中第二值的第三比特(B23)。子调制器5024a和5024e接收输入向量中第二值的MSB(B24)。光学调制器5004还包括由多比特DAC驱动的校准移相器5034a和5034b。
光学调制器5006和5008以类似于光学调制器5002和5004的方式配置。
光学调制器5002根据数字输入向量中第一值的四个比特调制输入波导4708a中的光学信号,并产生表示数字输入向量的第一值的模拟光学信号5042。光学调制器5002将数字输入向量的第一4比特值转换为第一模拟光学信号。光学调制器5004根据数字输入向量中第二值的四个比特调制输入波导4708b中的光学信号,并产生表示数字输入向量的第二值的模拟光学信号5044。光学调制器5004将数字输入向量的第二4比特值转换为第二模拟光学信号。
光学调制器5006根据数字输入向量中第三值的四个比特调制输入波导4708c中的光学信号,并产生表示数字输入向量的第三值的模拟光学信号5046。光学调制器5006将数字输入向量的第三4比特值转换为第三模拟光学信号。光学调制器5008根据数字输入向量中第四值的四个比特调制输入波导4708d中的光学信号,并产生表示数字输入向量的第四值的模拟光学信号5048。光学调制器5008将数字输入向量的第四4比特值转换为第四模拟光学信号。模拟光学信号5042、5044、5046、5048一起形成模拟光学输入向量,其可被提供给例如图1的光电矩阵乘法单元150。
本公开所描述的数字控制器(例如:用于控制图38所示的组件)和功能操作可以在数字电子电路中实现,或者在计算机软件、固件或硬件中实现,其包括本公开中的结构及其结构等同物,或者其一个或多个的组合。本公开所描述的主题的实施例可以使用在计算机可读介质上所编码的一个或多个计算机程序指令模块来实现,以由数据处理设备来执行或控制数据处理设备的操作。计算机可读介质可以是制造产品(例如计算机***中的硬盘驱动器或通过零售管道销售的光盘)或嵌入式***。计算器可读介质可以分别地获取并随后使用一个或多个计算机程序指令模块进行编码,例如通过有线或无线网络传送一个或多个计算机程序指令模块。计算机可读介质可以是机器可读储存装置、机器可读储存基板、存储器装置或它们中的一个或多个的组合。
计算机程序(也称为程序、软件、软件应用、脚本(script)或代码)可以用任何形式的编程语言编写,包括编译语言(compiled language)或直译语言(interpretedlanguage)、声明性(declarative)或程序性(procedural)语言,并且可以以任何形式部署,包括作为独立程序(stand alone program)或作为模块、组件、子例程或适用于计算环境的其他单元。计算机程序不一定对应于文件***中的文件。程序可以储存在保存其他程序或数据(例如:储存在标记语言文档(markup language document)中的一个或多个脚本)的文件的一部分中、储存在专用于所讨论的程序的单个文件中、或储存在多个协调文件(multiple coordinated file)(例如:储存一个或多个模块、子程序或代码部分的文件)中。计算机程序可被部署为在一个计算机上或在位于一个站点或分布在多个站点并通过通信网络互连的多个计算机上执行。
本公开中所述的处理和逻辑流程可以由执行一个或多个计算机程序的一个或多个可编程处理器(programmable processor)执行,以通过对输入数据进行操作并产生输出来执行功能。处理和逻辑流程也可由专用逻辑电路(special purpose logic circuitry)执行,并且设备也可以实现为专用逻辑电路,专用逻辑电路例如是现场可编程门阵列(field programmable gate array;FPGA)或专用集成电路(ASIC)。
本说明书中描述的各种***的一些背景信息在2019年6月4日提交的美国申请16/431,167中披露,其全部公开内容通过引用并入本文。
虽然已经结合某些实施例描述了本公开,但应理解本公开不限于所公开的实施例,而是相反地,旨在涵盖包括在所附权利要求范围内的各种修改和等同布置,权利要求的范围应被赋予最广泛的解释,以包含法律允许的所有这些修改和等同结构。
Claims (101)
1.一种光电处理***,包括:
至少一个输入光学波导,被配置以接收光波;
至少一个数字输入端口,被配置以在连续时间间隔内接收一系列数字输入值,每个数字输入值包括两个或更多个比特;以及
光学调制器,耦合至所述输入光学波导,所述光学调制器包括:
光学波导部分,所述光学波导部分包括多个光学波导片段,所述光学波导片段与沿着对应光学片段定位的多个二极管区段相关联,所述光学波导片段是连续光学波导的一部分,其中所述二极管区段被配置为对通过所述光学波导片段传播的光波施加不同的相应调制贡献,并且每个相应二极管区段包括:关联于小于1毫米的光径长的半导体二极管,以及用于向处于正向偏置状态的所述半导体二极管施加电信号的电触点,在所述正向偏置状态下与所述二极管区段相关联的光学波导片段的光学特性被响应于所述数字输入值中的对应比特的值而调制,以及
信号调节电路,被配置以与所述一系列数字输入值中连续的数字输入值之间对应的改变相关联地整形施加至所述半导体二极管中的至少一个的电信号的幅度改变。
2.根据权利要求1所述的光电处理***,其中所述信号调节电路被配置为,对于第二时间间隔的起始部分,通过增大与第一时间间隔相关联的第一电信号水平和与所述第二时间间隔相关联的第二电信号水平之间的幅度改变的大小,来整形所述幅度改变。
3.根据权利要求2所述的光电处理***,其中所述信号调节电路被配置为,对于所述第二时间间隔的最终部分,通过减少第一电信号水平与第二电信号水平之间的幅度改变的大小,来整形所述幅度改变。
4.根据权利要求1所述的光电处理***,其中所述信号调节电路被配置为,通过匹配电路施加电信号至所述半导体二极管来整形所述幅度改变,所述匹配电路被配置以匹配与所述半导体二极管相关联的阻抗,而不显著改变所施加的电信号的幅度。
5.根据权利要求4所述的光电处理***,其中所述匹配电路包括无源电路。
6.根据权利要求5所述的光电处理***,其中所述匹配电路基本上由电感器组成。
7.根据权利要求1所述的光电处理***,其中所述信号调节电路被配置为,通过电路施加电信号至所述半导体二极管来整形所述幅度改变,所述电路被配置以在所述半导体二极管与电容器之间泵送电流,所述电容器串联连接在所述半导体二极管与提供所述一系列数字输入值的电路之间,其中所泵送的电流所传输的电荷量是至少部分基于在提供所述一系列数字输入值的多个连续时间间隔中恒定的电压来确定的。
8.根据权利要求1所述的光电处理***,其中所述光学调制器包括干涉仪光学调制器,所述干涉仪光学调制器进一步包括光学干涉部分,所述光学干涉部分被配置以基于与所述二极管区段相关联的所述光学波导片段的累积调制贡献,提供导致预定的幅度减少的一定程度的相消光学干涉。
9.根据权利要求8所述的光电处理***,其中所述光学干涉部分包括光学组合器。
10.根据权利要求9所述的光电处理***,其中所述光学波导部分包括:至少两个光学波导臂,每个光学波导臂:接收从耦合至所述输入光学波导的同一分光器分出的光波,以及提供光波至所述光学组合器。
11.根据权利要求10所述的光电处理***,其中与所述二极管区段相关联的所述光学波导片段的光学特性包括所述光学波导片段的有效折射率,并且所述不同的相应调制贡献包括不同的相应相移。
12.根据权利要求11所述的光电处理***,其中与第一二极管区段的半导体二极管相关联的第一波导片段的光径长,为与第二二极管区段的半导体二极管相关联的第二波导片段的光径长的两倍。
13.根据权利要求12所述的光电处理***,其中所述信号调节电路被配置为通过以下操作来整形所述幅度改变:响应于对应比特的值由0至1的改变,施加电信号幅度的第一预定形状至所述第一二极管区段的电触点和所述第二二极管区段的电触点,以及响应于对应比特的值由1至0的改变,施加电信号幅度的第二预定形状至所述第一二极管区段的电触点和所述第二二极管区段的电触点。
14.根据权利要求12所述的光电处理***,其中所述信号调节电路被配置为通过以下操作来整形所述幅度改变:通过第一匹配电路施加电信号至所述第一二极管区段的电触点,以及通过第二匹配电路施加电信号至所述第二二极管区段的电触点,所述第一匹配电路被配置以匹配与所述第一二极管区段的半导体二极管相关联的阻抗,所述第二匹配电路被配置以匹配与所述第二二极管区段的半导体二极管相关联的阻抗。
15.根据权利要求14所述的光电处理***,其中所述第一匹配电路和所述第二匹配电路各自基本上由电感器组成。
16.根据权利要求10所述的光电处理***,其中所述输入光学波导耦合至光学解复用器,所述光学解复用器分离至少两个不同波长的光波。
17.根据权利要求1所述的光电处理***,其中所述光学调制器包括吸收光学调制器,所述吸收光学调制器被配置以基于与所述二极管区段相关联的所述光学波导片段的累积调制贡献,提供导致预定幅度减少的一定程度的吸光度。
18.根据权利要求17所述的光电处理***,其中与所述二极管区段相关联的所述光学波导片段的光学特性包括所述光学波导片段的吸光系数,并且所述不同的相应调制贡献包括不同的相应吸光度。
19.根据权利要求1所述的光电处理***,其中所述至少一个输入光学波导包括多个输入光学波导,多个光学调制器各自与所述多个输入光学波导中不同相应输入光学波导耦合,并且来自所述多个光学调制器的输出被组合以提供向量-矩阵乘法的结果。
20.根据权利要求1所述的光电处理***,其中所述光学调制器包括至少一个校准移相器,所述校准移相器被配置为补偿由所述光学调制器的两个波导臂给予的光学相移的不平衡。
21.根据权利要求1所述的光电处理***,包括人工神经网络ANN计算***,所述ANN计算***包括:
第一单元,被配置为在连续的时间间隔上产生包括一系列数字输入值的多个调制器控制信号,每个数字输入值包括两个或更多个比特;
光源,被配置为提供多个光输出;
多个光学调制器,耦合至所述光源和所述第一单元,所述多个光学调制器被配置为通过基于所述多个调制器控制信号对所述光源提供的所述多个光输出进行调制来产生光学输入向量,所述光学输入向量包括多个光学信号;
其中所述多个光学调制器包括含有所述光学波导部分和所述信号调节电路的光学调制器;以及
矩阵处理单元,耦合到所述多个光学调制器和所述第一单元,所述矩阵处理单元被配置为基于多个权重控制信号将所述光学输入向量变换为模拟输出向量。
22.根据权利要求21所述的光电处理***,其中所述ANN计算***包括:
第二单元,耦合至所述矩阵处理单元,并且被配置为将所述模拟输出向量转换为数字化输出向量;以及
控制器,包括集成电路,所述集成电路被配置为执行包括以下内容的操作:
接收人工神经网络计算请求,所述人工神经网络计算请求包括输入数据集,所述输入数据集包括第一数字输入向量;
接收第一多个神经网络权重;以及
通过所述第一单元,基于所述第一数字输入向量产生第一多个调制器控制信号,以及基于所述第一多个神经网络权重产生第一多个权重控制信号。
23.根据权利要求21所述的光电处理***,其中所述矩阵处理单元包括:
多个复制模块,其中每个复制模块对应所述光学输入向量的一个或多个光学信号的子集并且被配置为将一个或多个光学信号的所述子集分成所述光学信号的两个或更多个副本;
多个乘法模块,其中每个乘法模块对应一个或多个光学信号的子集并且被配置为使用光学幅度调制将所述子集的一个或多个光学信号乘以一个或多个矩阵元素值;以及
一个或多个求和模块,其中每个求和模块被配置以产生电信号,所述电信号表示所述乘法模块的两个或更多个乘法模块的结果的总和。
24.根据权利要求1至23中任一项所述的光电处理***,包括个人计算机、服务器计算机、交通工具计算机或飞行计算机中的至少一个,其中所述至少一个输入光学波导、所述至少一个数字输入端口和所述光学调制器是所述个人计算机、所述服务器计算机、所述交通工具计算机或所述飞行计算机的一部分。
25.一种光电处理***,包括:
至少一个输入光学波导,被配置以接收光波;
至少一个数字输入端口,被配置以在连续时间间隔内接收一系列数字输入值,每个数字输入值包括两个或更多个比特;以及
光学调制器,耦合至所述输入光学波导,所述光学调制器包括:
光学波导部分,所述光学波导部分包括沿着所述光学波导部分定位的多个二极管区段,其中所述二极管区段对通过所述光学波导部分传播的光波施加不同的相应调制贡献,并且每个相应二极管区段包括:具有小于1毫米的光径长的半导体二极管,以及用于向处于正向偏置状态的所述半导体二极管施加电信号的电触点,在所述正向偏置状态下所述二极管区段的光学特性被响应于所述数字输入值中的对应比特的值而调制,以及
信号调节电路,被配置以与所述一系列数字输入值中连续的数字输入值之间对应的改变相关联地整形施加至所述半导体二极管中的至少一个的电信号的幅度改变。
26.根据权利要求25所述的光电处理***,其中与所述一系列数字输入值中连续的数字输入值相关联地整形施加至所述半导体二极管的电信号的所述幅度改变包括:对于第二时间间隔的起始部分,增大与第一时间间隔相关联的第一电信号水平和与所述第二时间间隔相关联的第二电信号水平之间的幅度改变的大小。
27.根据权利要求26所述的光电处理***,其中与所述一系列数字输入值中连续的数字输入值相关联地整形施加至所述半导体二极管的电信号的所述幅度改变进一步包括:对于所述第二时间间隔的最终部分,减少第一电信号水平与第二电信号水平之间的幅度改变的大小。
28.根据权利要求25所述的光电处理***,其中与所述一系列数字输入值中连续的数字输入值相关联地整形施加至所述半导体二极管的电信号的所述幅度改变包括:通过匹配电路施加电信号至所述半导体二极管,所述匹配电路被配置以匹配与所述半导体二极管相关联的阻抗,而不显著改变所施加的电信号的幅度。
29.根据权利要求28所述的光电处理***,其中所述匹配电路包括无源电路。
30.根据权利要求29所述的光电处理***,其中所述匹配电路基本上由电感器组成。
31.根据权利要求25所述的光电处理***,对于所述一系列数字输入值中连续的数字输入值,整形施加至所述半导体二极管的电信号的所述幅度改变包括:通过电路施加电信号至所述半导体二极管,所述电路被配置以在所述半导体二极管与电容器之间泵送电流,所述电容器串联连接在所述半导体二极管与提供所述一系列数字输入值的电路之间,其中所泵送的电流所传输的电荷量是至少部分基于在提供所述一系列数字输入值的多个连续时间间隔中恒定的电压来确定的。
32.根据权利要求25所述的光电处理***,其中所述光学调制器包括干涉仪光学调制器,所述干涉仪光学调制器进一步包括光学干涉部分,所述光学干涉部分被配置以基于所述二极管区段的累积调制贡献,提供导致预定的幅度减少的一定程度的相消光学干涉。
33.根据权利要求32所述的光电处理***,其中所述光学干涉部分包括光学组合器。
34.根据权利要求33所述的光电处理***,其中所述光学波导部分包括:至少两个光学波导片段,每个光学波导片段:接收从耦合至所述输入光学波导的同一分光器分出的光波,以及提供光波至所述光学组合器。
35.根据权利要求34所述的光电处理***,其中所述二极管区段的光学特性包括所述二极管区段的有效折射率,并且所述不同的相应调制贡献包括不同的相应相移。
36.根据权利要求35所述的光电处理***,其中第一二极管区段的第一半导体二极管的光径长,为第二二极管区段的第二半导体二极管的光径长的两倍。
37.根据权利要求36所述的光电处理***,其中对于所述一系列数字输入值中连续的数字输入值,整形施加至所述半导体二极管的电信号的所述幅度改变包括:响应于对应比特的值由0至1的改变,施加电信号幅度的第一预定形状至所述第一二极管区段的电触点和所述第二二极管区段的电触点,以及响应于对应比特的值由1至0的改变,施加电信号幅度的第二预定形状至所述第一二极管区段的电触点和所述第二二极管区段的电触点。
38.根据权利要求36所述的光电处理***,其中对于所述一系列数字输入值中连续的数字输入值,整形施加至所述半导体二极管的电信号的所述幅度改变包括:通过第一匹配电路施加电信号至所述第一二极管区段的电触点,以及通过第二匹配电路施加电信号至所述第二二极管区段的电触点,所述第一匹配电路被配置以匹配与所述第一半导体二极管相关联的阻抗,所述第二匹配电路被配置以匹配与所述第二半导体二极管相关联的阻抗。
39.根据权利要求38所述的光电处理***,其中所述第一匹配电路和所述第二匹配电路各自基本上由电感器组成。
40.根据权利要求34所述的光电处理***,其中所述输入光学波导耦合至光学解复用器,所述光学解复用器分离至少两个不同波长的光波。
41.根据权利要求25所述的光电处理***,其中所述光学调制器包括吸收光学调制器,所述吸收光学调制器被配置以基于所述二极管区段的累积调制贡献,提供导致预定幅度减少的一定程度的吸光度。
42.根据权利要求41所述的光电处理***,其中所述二极管区段的光学特性包括所述二极管区段的吸光系数,并且所述不同的相应调制贡献包括不同的相应吸光度。
43.根据权利要求25所述的光电处理***,其中所述至少一个输入光学波导包括多个输入光学波导,多个光学调制器各自与所述多个输入光学波导中不同相应输入光学波导耦合,并且来自所述多个光学调制器的输出被组合以提供向量-矩阵乘法的结果。
44.一种光电处理***,包括:
至少一个输入光学波导,被配置以接收光波;
至少一个数字输入端口,被配置以在连续的时间间隔内接收一系列数字输入值,每个数字输入值包括两个或更多个比特;以及
干涉仪光学调制器,耦合至所述至少一个输入光学波导,所述干涉仪光学调制器包括:
光学波导部分,所述光学波导部分包括沿着所述光学波导部分的二极管区段,其中所述二极管区段调制通过所述光学波导部分传播的光波,并且所述二极管区段包括:具有小于1毫米的光径长的半导体二极管,以及用于向处于正向偏置状态的所述半导体二极管施加电信号的电触点,在所述正向偏置状态下所述二极管区段的光学特性被响应于所述数字输入值而调制,
信号调节电路,被配置以与所述一系列数字输入值中连续的数字输入值之间对应的改变相关联地整形施加至所述半导体二极管的电信号的幅度改变,其中所述信号调节电路包括:提供对应于所述一系列数字输入值的未调节电信号的第一信号调节路径、提供所述未调节电信号的延迟、缩放和/或反相版本的第二信号调节路径、以及提供所述未调节电信号的延迟、缩放和/或反相版本的第三信号调节路径,以及
光学干涉部分,被配置以基于所述二极管区段的光学特性的调制,提供导致预定的幅度减少的一定程度的相消光学干涉。
45.根据权利要求44所述的光电处理***,其中所述光学干涉部分包括一对光学波导中每个光学波导的耦合部分,其中每个光学波导的所述耦合部分彼此接近。
46.根据权利要求45所述的光电处理***,其中所述光学波导部分包括所述一对光学波导中形成在封闭路径中的第一光学波导。
47.根据权利要求44所述的光电处理***,其中包括人工神经网络ANN计算***,所述ANN计算***包括:
第一单元,被配置为在连续的时间间隔内产生包括一系列数字输入值的多个调制器控制信号,每个数字输入值包括两个或更多个比特;
光源,被配置为提供多个光输出;
多个干涉仪光学调制器,耦合至所述光源和所述第一单元,所述多个光学调制器被配置为通过基于所述多个调制器控制信号对所述光源提供的所述多个光输出进行调制来产生光学输入向量,所述光学输入向量包括多个光学信号;
其中所述多个光学调制器包括含有所述光学波导部分和所述信号调节电路的光学调制器;以及
矩阵处理单元,耦合到所述多个光学调制器和所述第一单元,所述矩阵处理单元被配置为基于多个权重控制信号将所述光学输入向量变换为模拟输出向量。
48.根据权利要求47所述的光电处理***,其中所述ANN计算***包括:
第二单元,耦合至所述矩阵处理单元,并且被配置为将所述模拟输出向量转换为数字化输出向量;以及
控制器,包括集成电路,所述集成电路被配置为执行包括以下内容的操作:
接收人工神经网络计算请求,所述人工神经网络计算请求包括输入数据集,所述输入数据集包括第一数字输入向量;
接收第一多个神经网络权重;以及
通过所述第一单元,基于所述第一数字输入向量产生第一多个调制器控制信号,以及基于所述第一多个神经网络权重产生第一多个权重控制信号。
49.根据权利要求47所述的光电处理***,其中所述矩阵处理单元包括:
多个复制模块,其中每个复制模块对应所述光学输入向量的一个或多个光学信号的子集并且被配置为将一个或多个光学信号的所述子集分成所述光学信号的两个或更多个副本;
多个乘法模块,其中每个乘法模块对应一个或多个光学信号的子集并且被配置为使用光学幅度调制将所述子集的一个或多个光学信号乘以一个或多个矩阵元素值;以及
一个或多个求和模块,其中每个求和模块被配置以产生电信号,所述电信号表示所述乘法模块的两个或更多个乘法模块的结果的总和。
50.根据权利要求44至49中任一项所述的光电处理***,包括个人计算机、服务器计算机、交通工具计算机或飞行计算机中的至少一个,其中所述至少一个输入光学波导、所述至少一个数字输入端口和所述光学调制器是所述个人计算机、所述服务器计算机、所述交通工具计算机或所述飞行计算机的一部分。
51.一种光电处理***,包括:
至少一个输入光学波导,被配置以接收光波;
至少一个输入端口,被配置以接收一系列调制器控制信号;以及
光学调制器,耦合至所述输入光学波导,被配置以提供具有四个或更多个幅度水平的脉冲幅度调制,所述光学调制器包括第一调制器臂和第二调制器臂,所述第一调制器臂或所述第二调制器臂中的至少一个包括光学波导和沿着所述光学波导定位的多个移相器,所述移相器被配置以对通过所述光学波导传播的光波施加不同的相应调制贡献,每个移相器耦合至被配置以提供用于二进制调制的增强带宽的相应的信号调节电路,并且不同移相器耦合至不同的信号调节电路;
其中每个移相器包括与小于1毫米的光径长相关联的半导体二极管或电容器;以及
控制电路,被配置以对每个移相器进行至少以下之一:(i)提供电信号至所述半导体二极管,以使得所述半导体二极管处于正向偏置状态,在所述正向偏置状态下与所述移相器相关联的光学波导的光学特性被响应于所述调制器控制信号而调制,或(ii)提供电信号至所述电容器,以使得电荷累积于所述电容器处,其中与所述移相器相关联的所述光学波导的光学特性被响应于所述调制器控制信号而调制。
52.根据权利要求51所述的光电处理***,其中所述调制器控制信号包括数字控制信号,每个数字控制信号包括两个或更多个比特,并且
所述第一调制器臂中的移相器的数量等于所述数字控制信号中的比特的数量。
53.根据权利要求51所述的光电处理***,其中所述信号调节电路被配置以与所述一系列调制器控制信号中连续的调制器控制信号之间对应的改变相关联地整形施加至所述移相器中的至少一个的电信号的幅度改变。
54.根据权利要求51所述的光电处理***,其中每个移相器包括半导体二极管,以及
所述光学调制器包括控制电路,所述控制电路被配置为,针对每个移相器,向所述半导体二极管提供电信号,以使得所述半导体二极管处于正向偏置状态,在所述正向偏置状态下与所述移相器相关联的光学波导的光学特性被响应于对应调制器控制信号的值而调制。
55.根据权利要求51所述的光电处理***,其中每个移相器包括电容器,所述电容器被配置为通过载流子累积来实现基于自由载流子的调制,并且
所述光学调制器包括控制电路,所述控制电路被配置为,针对每个移相器,向所述电容器提供电信号,以使得电荷累积在所述电容器处,其中与所述移相器相关联的光学波导的光学特性被响应于对应调制器控制信号的值而调制。
56.根据权利要求51所述的光电处理***,其中所述光学调制器包括至少一个校准移相器,所述校准移相器被配置为补偿由所述第一调制器臂和所述第二调制器臂给予的光学相移的不平衡。
57.根据权利要求56所述的光电处理***,包括:
多个1比特DAC,每个1比特DAC被配置为驱动对应的移相器,其中不同的移相器由不同的1比特DAC驱动,以及
至少一个m比特DAC,被配置为驱动所述至少一个校准移相器,
其中m≥2。
58.根据权利要求57所述的光电处理***,其中m≥4。
59.根据权利要求58所述的光电处理***,其中m≥8。
60.根据权利要求51所述的光电处理***,其中所述第一调制器臂至少包括第一移相器、第二移相器和第三移相器;
所述第一移相器包括第一二极管区段;
所述第二移相器包括第二二极管区段;
所述第三移相器包括第三二极管区段;
所述第二二极管区段关联于比所述第一二极管区段所关联的光径长更长的光径长;
所述第三二极管区段关联于比所述第二二极管区段所关联的光径长更长的光径长;
所述第一二极管区段耦合到第一信号调节电路,所述第一信号调节电路被配置为提供增强带宽用于调制所述第一二极管区段;
所述第二二极管区段耦合到第二信号调节电路,所述第二信号调节电路被配置为提供增强带宽用于调制所述第二二极管区段;以及
所述第三二极管区段耦合到第三信号调节电路,所述第三信号调节电路被配置为提供增强带宽用于调制所述第三二极管区段。
61.根据权利要求60所述的光电处理***,其中所述第一信号调节电路、所述第二信号调节电路和所述第三信号调节电路中的每一个被配置以与所述一系列调制器控制信号中连续的调制器控制信号之间对应的改变相关联地,整形分别施加至所述第一二极管区段、所述第二二极管区段和所述第三二极管区段的电信号的幅度改变,
所述第一二极管区段、所述第二二极管区段和所述第三二极管区段中的每一个包括半导体二极管,所述半导体二极管与小于1毫米的光径长相关联,
所述第一信号调节电路、所述第二信号调节电路和所述第三信号调节电路中的每一个被配置为通过经由电路分别施加电信号至第一、第二和第三半导体二极管,来整形所述幅度改变,所述电路被配置以在所述半导体二极管与电容器之间泵送电流,所述电容器串联连接在所述半导体二极管与提供所述一系列调制器控制信号的电路之间,其中所泵送的电流所传输的电荷量是至少部分基于在提供所述一系列调制器控制信号的多个连续时间间隔中恒定的电压来确定的。
62.根据权利要求61所述的光电处理***,所述第一二极管区段包括第一光学波导片段,所述第二二极管区段包括第二光学波导片段,所述第三二极管区段包括第三光学波导片段;
其中所述第一二极管区段包括用于向处于正向偏置状态的所述第一二极管区段中的所述半导体二极管施加第一电信号的电触点,并且所述第一光学波导片段的光学特性被响应于所述调制器控制信号的第一部分的值而调制,
所述第二二极管区段包括用于向处于正向偏置状态的所述第二二极管区段中的所述半导体二极管施加第二电信号的电触点,并且所述第二光学波导片段的光学特性被响应于所述调制器控制信号的第二部分的值而调制,
所述第三二极管区段包括用于向处于正向偏置状态的所述第三二极管区段中的所述半导体二极管施加第三电信号的电触点,并且所述第三光学波导片段的光学特性被响应于所述调制器控制信号的第三部分的值而调制。
63.根据权利要求51所述的光电处理***,其中所述调制器控制信号是从n比特数字输入值导出的,n是大于或等于4的整数,
所述第一调制器臂中的移相器的数量等于n/2,
所述光电处理***包括调制器控制模块,所述调制器控制模块包括n/2个2比特DAC,每个2比特DAC被配置为将数字输入值的2个比特转换为能够具有四个可能值的调制器控制信号。
64.根据权利要求51所述的光电处理***,其中所述调制器控制信号是从n比特数字输入值导出的,n是大于或等于6的整数,
所述第一调制器臂中的移相器的数量等于n/m,m小于n,m是大于2的整数值,
所述光电处理***包括调制器控制模块,所述调制器控制模块包括n/m个m比特DAC,每个m比特DAC被配置为将m比特数字输入值转换为能够具有2m个可能值的调制器控制信号。
65.根据权利要求51所述的光电处理***,包括人工神经网络ANN计算***,所述ANN计算***包括:
第一单元,被配置为产生一系列调制器控制信号;
光源,被配置为提供多个光输出;
多个光学调制器,耦合至所述光源和所述第一单元,所述多个光学调制器被配置为通过基于所述调制器控制信号对所述光源提供的所述多个光输出进行调制来产生光学输入向量,所述光学输入向量包括多个光学信号;
其中所述多个光学调制器包括含有至少一个调制器臂的光学调制器,所述调制器臂包括光学波导和沿所述光学波导定位的多个移相器;以及
矩阵处理单元,耦合到所述多个光学调制器和所述第一单元,所述矩阵处理单元被配置为基于多个权重控制信号将所述光学输入向量变换为模拟输出向量。
66.根据权利要求65所述的光电处理***,其中所述ANN计算***包括:
第二单元,耦合至所述矩阵处理单元,并且被配置为将所述模拟输出向量转换为数字化输出向量;以及
控制器,包括集成电路,所述集成电路被配置为执行包括以下内容的操作:
接收人工神经网络计算请求,所述人工神经网络计算请求包括输入数据集,所述输入数据集包括第一数字输入向量;
接收第一多个神经网络权重;以及
通过所述第一单元,基于所述第一数字输入向量产生第一多个调制器控制信号,以及基于所述第一多个神经网络权重产生第一多个权重控制信号。
67.根据权利要求65所述的光电处理***,其中所述矩阵处理单元包括:
多个复制模块,其中每个复制模块对应所述光学输入向量的一个或多个光学信号的子集并且被配置为将一个或多个光学信号的所述子集分成所述光学信号的两个或更多个副本;
多个乘法模块,其中每个乘法模块对应一个或多个光学信号的子集并且被配置为使用光学幅度调制将所述子集的一个或多个光学信号乘以一个或多个矩阵元素值;以及
一个或多个求和模块,其中每个求和模块被配置以产生电信号,所述电信号表示所述乘法模块的两个或更多个乘法模块的结果的总和。
68.根据权利要求51至67中任一项所述的光电处理***,包括个人计算机、服务器计算机、交通工具计算机或飞行计算机中的至少一个,其中所述至少一个输入光学波导、所述至少一个数字输入端口和所述光学调制器是所述个人计算机、所述服务器计算机、所述交通工具计算机或所述飞行计算机的一部分。
69.一种光电处理***,包括:
至少一个输入光学波导,被配置以接收光波;
至少一个数字输入端口,被配置以接收一系列数字输入值,每个数字输入值包括两个或更多个比特;以及
干涉仪光学调制器,耦合至所述至少一个输入光学波导,所述干涉仪光学调制器包括:
光学波导部分,所述光学波导部分包括沿着所述光学波导部分定位的二极管区段,其中所述二极管区段被配置为调制通过所述光学波导部分传播的光波,以及
信号调节电路,被配置以与所述一系列数字输入值中连续的数字输入值之间对应的改变相关联地整形施加至所述二极管区段的电信号的幅度改变,其中所述信号调节电路包括:
第一信号调节路径,提供对应于所述一系列数字输入值的未调节电信号,
第二信号调节路径,提供所述未调节电信号的延迟、缩放和/或反相版本,以及
第三信号调节路径,提供所述未调节电信号的延迟、缩放和/或反相版本。
70.根据权利要求69所述的光电处理***,其中所述二极管区段包括具有小于1毫米的光径长的半导体二极管。
71.根据权利要求69所述的光电处理***,其中所述干涉仪光学调制器包括被配置以基于所述二极管区段的光学特性的调制,提供导致预定的幅度减少的一定程度的相消光学干涉的光学干涉部分。
72.根据权利要求69所述的光电处理***,其中所述二极管区段包括:
半导体二极管,以及
控制电路,被配置为向处于正向偏置状态的所述半导体二极管施加电信号,在所述正向偏置状态下所述二极管区段的光学特性被响应于所述数字输入值而调制。
73.根据权利要求72所述的光电处理***,其中所述半导体二极管具有小于1毫米的光径长。
74.根据权利要求69所述的光电处理***,包括人工神经网络ANN计算***,所述ANN计算***包括:
第一单元,被配置为产生包括一系列数字输入值的多个调制器控制信号,每个数字输入值包括两个或更多个比特;
光源,被配置为提供多个光输出;
多个干涉仪光学调制器,耦合至所述光源和所述第一单元,所述多个光学调制器被配置为通过基于所述多个调制器控制信号对所述光源提供的所述多个光输出进行调制来产生光学输入向量,所述光学输入向量包括多个光学信号;
其中所述多个干涉仪光学调制器包括含有所述光学波导部分和所述信号调节电路的干涉仪光学调制器;以及
矩阵处理单元,耦合到所述多个干涉仪光学调制器和所述第一单元,所述矩阵处理单元被配置为基于多个权重控制信号将所述光学输入向量变换为模拟输出向量。
75.根据权利要求74所述的光电处理***,其中所述ANN计算***包括:
第二单元,耦合至所述矩阵处理单元,并且被配置为将所述模拟输出向量转换为数字化输出向量;以及
控制器,包括集成电路,所述集成电路被配置为执行包括以下内容的操作:
接收人工神经网络计算请求,所述人工神经网络计算请求包括输入数据集,所述输入数据集包括第一数字输入向量;
接收第一多个神经网络权重;以及
通过所述第一单元,基于所述第一数字输入向量产生第一多个调制器控制信号,以及基于所述第一多个神经网络权重产生第一多个权重控制信号。
76.根据权利要求74所述的光电处理***,其中所述矩阵处理单元包括:
多个复制模块,其中每个复制模块对应所述光学输入向量的一个或多个光学信号的子集并且被配置为将一个或多个光学信号的所述子集分成所述光学信号的两个或更多个副本;
多个乘法模块,其中每个乘法模块对应一个或多个光学信号的子集并且被配置为使用光学幅度调制将所述子集的一个或多个光学信号乘以一个或多个矩阵元素值;以及
一个或多个求和模块,其中每个求和模块被配置以产生电信号,所述电信号表示所述乘法模块的两个或更多个乘法模块的结果的总和。
77.根据权利要求69至76中任一项所述的光电处理***,包括个人计算机、服务器计算机、交通工具计算机或飞行计算机中的至少一个,其中所述至少一个输入光学波导、所述至少一个数字输入端口和所述光学调制器是所述个人计算机、所述服务器计算机、所述交通工具计算机或所述飞行计算机的一部分。
78.一种光电处理***,包括:
光学调制器,被配置以调制代表一系列数字输入值的光波,每个数字输入值包括两个或更多个比特,所述光学调制器包括光学波导部分,所述光学波导部分包括沿着所述光学波导部分定位的多个二极管区段,其中所述二极管区段被配置为在光波通过所述光学波导部分传播时对所述光波施加不同的相应调制贡献;
其中每个二极管区段包括半导体二极管,被配置以在正向偏置状态下操作,在所述正向偏置状态下所述二极管区段的光学特性被响应于所述数字输入值的对应比特的值而调制,并且
其中所述光学调制器包括多个信号调节电路,被配置以与所述一系列数字输入值中连续的数字输入值之间对应的改变相关联地整形施加至每个二极管区段的电信号的幅度改变,其中每个信号调节电路与所述二极管区段之一相关联,并且不同二极管区段与不同信号调节电路相关联。
79.根据权利要求78所述的光电处理***,其中所述半导体二极管具有小于1毫米的光径长。
80.根据权利要求78所述的光电处理***,包括人工神经网络ANN计算***,所述ANN计算***包括:
第一单元,被配置为产生包括一系列数字输入值的多个调制器控制信号;
光源,被配置为提供多个光输出;
多个光学调制器,耦合至所述光源和所述第一单元,所述多个光学调制器被配置为通过基于所述多个调制器控制信号对所述光源提供的所述多个光输出进行调制来产生光学输入向量,所述光学输入向量包括多个光学信号;
其中所述多个光学调制器包括含有所述光学波导部分和所述信号调节电路的光学调制器,所述光学波导部分包括沿着所述光学波导部分定位的多个二极管区段;以及
矩阵处理单元,耦合到所述多个光学调制器和所述第一单元,所述矩阵处理单元被配置为基于多个权重控制信号将所述光学输入向量变换为模拟输出向量。
81.根据权利要求80所述的光电处理***,其中所述ANN计算***包括:
第二单元,耦合至所述矩阵处理单元,并且被配置为将所述模拟输出向量转换为数字化输出向量;以及
控制器,包括集成电路,所述集成电路被配置为执行包括以下内容的操作:
接收人工神经网络计算请求,所述人工神经网络计算请求包括输入数据集,所述输入数据集包括第一数字输入向量;
接收第一多个神经网络权重;以及
通过所述第一单元,基于所述第一数字输入向量产生第一多个调制器控制信号,以及基于所述第一多个神经网络权重产生第一多个权重控制信号。
82.根据权利要求81所述的光电处理***,其中所述矩阵处理单元包括:
多个复制模块,其中每个复制模块对应所述光学输入向量的一个或多个光学信号的子集并且被配置为将一个或多个光学信号的所述子集分成所述光学信号的两个或更多个副本;
多个乘法模块,其中每个乘法模块对应一个或多个光学信号的子集并且被配置为使用光学幅度调制将所述子集的一个或多个光学信号乘以一个或多个矩阵元素值;以及
一个或多个求和模块,其中每个求和模块被配置以产生电信号,所述电信号表示所述乘法模块的两个或更多个乘法模块的结果的总和。
83.根据权利要求78至82中任一项所述的光电处理***,包括个人计算机、服务器计算机、交通工具计算机或飞行计算机中的至少一个,其中所述光学调制器是所述个人计算机、所述服务器计算机、所述交通工具计算机或所述飞行计算机的一部分,所述光学调制器包括所述光学波导部分和所述信号调节电路,所述光学波导部分包括沿着所述光学波导部分定位的多个二极管区段。
84.一种光电处理***,包括:
第一单元,被配置以产生调制器控制信号的第一集合;
第二单元,被配置以产生调制器控制信号的第二集合;以及
处理器单元,所述处理器单元包括:
光源或光端口,被配置以提供多个光输出;以及
光学调制器的第一集合,耦合至所述光源或光端口和所述第一单元;
所述第一集合的光学调制器被配置以通过基于对应于所述调制器控制信号的第一集合的数字输入值,调制由所述光源或光端口提供的所述多个光输出,来产生光学输入向量,所述光学输入向量包括多个光学信号;
所述处理器单元进一步包括矩阵处理单元,所述矩阵处理单元包括光学调制器的第二集合,所述矩阵处理单元耦合至所述第二单元,并且被配置以基于对应于所述调制器控制信号的第二集合的多个数字权重值,将所述光学输入向量转换为模拟输出向量;
所述光学调制器的第一集合中的至少一个光学调制器包括第一光学波导部分,所述第一光学波导部分包括沿着所述第一光学波导部分定位的多个二极管区段;
所述二极管区段被配置以基于所述数字输入值之一的不同相应单个比特,对通过所述第一光学波导部分传播的光波施加不同的相应调制贡献;
所述光学调制器的第二集合中的至少一个光学调制器包括第二光学波导部分,所述第二光学波导部分包括单个二极管区段,被配置以基于所述数字权重值之一的多个比特,对通过所述第二光学波导部分传播的光波施加调制。
85.根据权利要求84所述的光电处理***,每个相应二极管区段包括半导体二极管,被配置以在正向偏置状态下操作,在所述正向偏置状态下所述二极管区段的光学特性被响应于所述数字输入值之一的对应比特的值而调制。
86.一种光电处理***,包括:
光学调制器的第一集合,被配置以通过基于调制器控制信号调制多个输入光信号,来产生光学输入向量,所述光学输入向量包括多个光学信号;以及
矩阵处理单元,包括光学调制器的第二集合,所述矩阵处理单元耦合至所述光学调制器的第一集合,并且被配置以基于多个权重值,将所述光学输入向量转换为模拟输出向量;
其中所述光学调制器的第一集合中的至少一个光学调制器包括第一调制器臂和第二调制器臂,所述第一调制器臂或所述第二调制器臂中的至少一个包括光学波导和沿着所述光学波导定位的至少两个移相器,每个移相器被配置以基于所述调制器控制信号之一对通过所述光学波导传播的光波施加调制贡献,不同移相器被配置以响应于相同的调制器控制信号水平对通过所述光学波导传播的所述光波施加不同的相应调制贡献;
其中所述光学调制器的第二集合中的至少一个光学调制器包括第一调制器臂和第二调制器臂,所述第一调制器臂和所述第二调制器臂各自包括光学波导,所述第一调制器臂和所述第二调制器臂中的至少一个包括沿着所述光学波导定位的单个移相器,所述第一调制器臂和所述第二调制器臂各自包括至多一个移相器。
87.根据权利要求86所述的光电处理***,其中所述光学调制器的第一集合中的每个光学调制器包括第一调制器臂和第二调制器臂,所述第一调制器臂或所述第二调制器臂中的至少一个包括光学波导和沿着所述光学波导定位的至少两个移相器,所述移相器被配置为对通过所述光学波导传播的光波施加不同的相应调制贡献;
所述光学调制器的第二集合中的每个光学调制器包括第一调制器臂和第二调制器臂,所述第一调制器臂和所述第二调制器臂中的每一个包括光学波导和沿着所述光学波导定位的至多一个移相器。
88.根据权利要求87所述的光电处理***,其中所述光学调制器的第一集合中的每个光学调制器的所述第一调制器臂或所述第二调制器臂中的至少一个包括光学波导和沿着所述光学波导定位的至少三个移相器,所述移相器被配置为对通过光学波导传播的光波施加不同的相应调制贡献。
89.根据权利要求88所述的光电处理***,其中所述光学调制器的第一集合中的每个光学调制器的所述第一调制器臂或所述第二调制器臂中的至少一个包括光学波导和沿着所述光学波导定位的至少四个移相器,所述移相器被配置为对通过光学波导传播的光波施加不同的相应调制贡献。
90.根据权利要求89所述的光电处理***,其中所述光学调制器的第一集合中的每个光学调制器的所述第一调制器臂或所述第二调制器臂中的至少一个包括光学波导和沿着所述光学波导定位的至少八个移相器,所述移相器被配置为对通过光学波导传播的光波施加不同的相应调制贡献。
91.根据权利要求86所述的光电处理***,包括第一调制器控制单元,所述第一调制器控制单元被配置为接收数字输入值并基于所述数字输入值来产生所述调制器控制信号,
其中对于每个数字输入值,所述第一调制器控制单元被配置为产生所述调制器控制信号,并将所述调制器控制信号施加至所述至少一个光学调制器的所述至少两个移相器,并且所述至少一个光学调制器被配置以产生已调制光学信号,所述已调制光学信号是所述数字输入值的模拟表示。
92.根据权利要求91所述的光电处理***,其中所述第一调制器控制单元被配置为接收n比特数字输入值,所述已调制光学信号是所述n比特数字输入值的模拟表示,并且所述已调制光学信号具有作为2n个可能的信号水平之一的信号水平。
93.根据权利要求92所述的光电处理***,其中所述第一调制器控制单元包括n个1比特DAC,用于驱动所述至少一个光学调制器,n是大于1的正整数,所述光学调制器的第一集合中的所述至少一个光学调制器包括第一调制器臂,所述第一调制器臂包括n个移相器,每个所述1比特DAC被配置为产生用于控制对应移相器的调制器控制信号。
94.根据权利要求92所述的光电处理***,其中所述第一调制器控制单元包括n/2个2比特DAC,用于驱动所述至少一个光学调制器,n是大于3的偶数正整数,所述光学调制器的第一集合中的所述至少一个光学调制器包括第一调制器臂,所述第一调制器臂包括n/2个移相器,每个所述2比特DAC被配置为产生用于控制对应移相器的调制器控制信号。
95.根据权利要求92所述的光电处理***,其中所述第一调制器控制单元包括n/3个3比特DAC,n是大于5的正整数,n/3是大于1的整数,所述光学调制器的第一集合中的所述至少一个光学调制器包括第一调制器臂,所述第一调制器臂包括n/3个移相器,每个所述3比特DAC被配置为产生用于控制对应移相器的调制器控制信号。
96.根据权利要求92所述的光电处理***,其中所述第一调制器控制单元包括n/4个4比特DAC,n是大于7的正整数,n/4是大于1的整数,所述光学调制器的第一集合中的所述至少一个光学调制器包括第一调制器臂,所述第一调制器臂包括n/4个移相器,每个所述4比特DAC被配置为产生用于控制对应移相器的调制器控制信号。
97.根据权利要求91所述的光电处理***,包括第二调制器控制单元,所述第二调制器控制单元被配置为接收数字权重值和产生模拟权重值,所述模拟权重值被施加到所述光学调制器的第二集合中的所述至少一个光学调制器的调制器臂的单个移相器,
其中所述第一调制器控制单元以第一频率更新所述调制器控制信号,所述光学调制器的第一集合以所述第一频率被重新配置,所述第二调制器控制单元以第二频率更新所述模拟权重值,所述光学调制器的第二集合以所述第二频率被重新配置,并且所述第一频率大于所述第二频率。
98.根据权利要求97所述的光电处理***,其中所述第一频率是所述第二频率的至少两倍。
99.根据权利要求97所述的光电处理***,其中所述第一频率是所述第二频率的至少四倍。
100.根据权利要求97所述的光电处理***,其中所述第一频率是所述第二频率的至少十倍。
101.一种光电处理***,包括:
第一单元,被配置以产生多个调制器控制信号;
处理器单元,包括:
光源,被配置以提供多个光输出;
调制器阵列,包括耦合至所述光源和所述第一单元的多个光学调制器的第一集合,所述多个光学调制器被配置以通过基于所述多个调制器控制信号调制所述光源提供的多个光输出,来产生光学输入向量,所述光学输入向量包括多个光学信号,其中所述多个光学调制器中的每一个具有片段式设计并且包括两个或更多个移相器,并且每个所述移相器与信号调节电路相关联,所述信号调节电路被配置以实现所述移相器的预加重和去加重,以增强所述移相器的操作带宽;以及
矩阵处理单元,耦合至所述调制器阵列和所述第一单元,所述矩阵处理单元被配置以基于多个权重控制信号,将所述光学输入向量转换为模拟输出向量,其中所述矩阵处理单元包括具有非片段式设计的多个光学调制器的第二集合,每个光学调制器在至少一个调制器臂中具有单个移相器,每个调制器臂具有至多一个移相器;
第二单元,耦合至所述矩阵处理单元,并且被配置以将所述模拟输出向量转换为数字化输出向量;以及
控制器,包括集成电路,被配置以执行包括以下内容的操作:
接收人工神经网络计算请求,所述人工神经网络计算请求包括输入数据集,所述输入数据集包括第一数字输入向量;
接收第一多个神经网络权重;以及
通过所述第一单元,基于所述第一数字输入向量产生第一多个调制器控制信号,以及基于所述第一多个神经网络权重产生第一多个权重控制信号。
Applications Claiming Priority (8)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202063017211P | 2020-04-29 | 2020-04-29 | |
US63/017,211 | 2020-04-29 | ||
US202063048439P | 2020-07-06 | 2020-07-06 | |
US63/048,439 | 2020-07-06 | ||
US202063061995P | 2020-08-06 | 2020-08-06 | |
US63/061,995 | 2020-08-06 | ||
US17/112,369 | 2020-12-04 | ||
US17/112,369 US12025862B2 (en) | 2019-12-04 | 2020-12-04 | Optical modulation for optoelectronic processing |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113570051A CN113570051A (zh) | 2021-10-29 |
CN113570051B true CN113570051B (zh) | 2024-06-07 |
Family
ID=78161420
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110477941.4A Active CN113570051B (zh) | 2020-04-29 | 2021-04-29 | 光电处理*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113570051B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114488650A (zh) * | 2021-12-31 | 2022-05-13 | 中国人民解放军军事科学院国防科技创新研究院 | 硅基光子集成芯片 |
US20230229026A1 (en) * | 2022-01-14 | 2023-07-20 | Huawei Technologies Co., Ltd. | Method, apparatus and system for limited-range impedance tuning for silicon photonics devices |
CN116149086B (zh) * | 2023-04-23 | 2023-08-11 | 中山大学 | 一种面向片上光学矩阵计算的多阶光学调制器及调制方法 |
CN117436494B (zh) * | 2023-12-18 | 2024-02-23 | 合肥硅臻芯片技术有限公司 | 一种神经网络运算芯片及运算方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101578544A (zh) * | 2006-10-07 | 2009-11-11 | 斯欧普迪克尔股份有限公司 | 分段光调制器 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102589616B1 (ko) * | 2018-06-05 | 2023-10-13 | 라이트엘리전스 피티이. 리미티드 | 광전자 컴퓨팅 시스템 |
-
2021
- 2021-04-29 CN CN202110477941.4A patent/CN113570051B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101578544A (zh) * | 2006-10-07 | 2009-11-11 | 斯欧普迪克尔股份有限公司 | 分段光调制器 |
Also Published As
Publication number | Publication date |
---|---|
CN113570051A (zh) | 2021-10-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI758994B (zh) | 光電處理系統 | |
CN113568470B (zh) | 光电处理设备、***和方法 | |
US11853871B2 (en) | Optoelectronic computing systems | |
TWI825452B (zh) | 光電計算系統 | |
TWI819368B (zh) | 光電計算系統 | |
US20240078422A1 (en) | Optoelectronic computing systems | |
CN113570051B (zh) | 光电处理*** | |
TWI777108B (zh) | 計算系統、計算裝置及計算系統的操作方法 | |
US20220179159A1 (en) | Photonic computing platform | |
CN113496281A (zh) | 光电计算*** | |
Ou et al. | Hypermultiplexed Integrated Tensor Optical Processor | |
CN117642659A (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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20220802 Address after: Singapore Applicant after: Photon smart Private Technology Co.,Ltd. Address before: Massachusetts Applicant before: Photon intelligence Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant |