TWI819368B - Optoelectronic computing system - Google Patents

Optoelectronic computing system Download PDF

Info

Publication number
TWI819368B
TWI819368B TW110132252A TW110132252A TWI819368B TW I819368 B TWI819368 B TW I819368B TW 110132252 A TW110132252 A TW 110132252A TW 110132252 A TW110132252 A TW 110132252A TW I819368 B TWI819368 B TW I819368B
Authority
TW
Taiwan
Prior art keywords
optical
input
unit
light
integrated circuit
Prior art date
Application number
TW110132252A
Other languages
Chinese (zh)
Other versions
TW202201165A (en
Inventor
孟懷宇
沈亦晨
徐葉龍
吉伯特 亨德瑞
歐龍武
京東 鄧
羅納德 蓋格能
盧正觀
莫瑞斯 史丹曼
麥克 伊凡斯
建華 吳
Original Assignee
新加坡商光子智能私人有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from US16/703,278 external-priority patent/US11507818B2/en
Application filed by 新加坡商光子智能私人有限公司 filed Critical 新加坡商光子智能私人有限公司
Publication of TW202201165A publication Critical patent/TW202201165A/en
Application granted granted Critical
Publication of TWI819368B publication Critical patent/TWI819368B/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/067Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using optical means
    • G06N3/0675Physical 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
    • GPHYSICS
    • G02OPTICS
    • G02FOPTICAL DEVICES OR ARRANGEMENTS FOR THE CONTROL OF LIGHT BY MODIFICATION OF THE OPTICAL PROPERTIES OF THE MEDIA OF THE ELEMENTS INVOLVED THEREIN; NON-LINEAR OPTICS; FREQUENCY-CHANGING OF LIGHT; OPTICAL LOGIC ELEMENTS; OPTICAL ANALOGUE/DIGITAL CONVERTERS
    • G02F1/00Devices or arrangements for the control of the intensity, colour, phase, polarisation or direction of light arriving from an independent light source, e.g. switching, gating or modulating; Non-linear optics
    • G02F1/01Devices or arrangements for the control of the intensity, colour, phase, polarisation or direction of light arriving from an independent light source, e.g. switching, gating or modulating; Non-linear optics for the control of the intensity, phase, polarisation or colour 
    • G02F1/21Devices or arrangements for the control of the intensity, colour, phase, polarisation or direction of light arriving from an independent light source, e.g. switching, gating or modulating; Non-linear optics for the control of the intensity, phase, polarisation or colour  by interference
    • G02F1/225Devices or arrangements for the control of the intensity, colour, phase, polarisation or direction of light arriving from an independent light source, e.g. switching, gating or modulating; Non-linear optics for the control of the intensity, phase, polarisation or colour  by interference in an optical waveguide structure
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization

Abstract

An optoelectronic computing system comprises: a first semiconductor die comprising a photonic integrated circuit (PIC), the PIC comprising: a plurality of optical waveguides, wherein a set of multiple input values are encoded on respective optical signals carried by the optical waveguides, an optical copying distribution network comprising a plurality of optical splitters, in which each optical splitter sends half of the power of an input optical wave at an input port to each of two output ports, and an array of optoelectronic circuitry sections, each optoelectronic circuitry section receiving an optical wave from one of the output ports of the optical copying distribution network, and each optoelectronic circuitry section including: at least one photodetector detecting at least one optical wave from the optoelectronic operation; and at least one wire integrated in the PIC electrically coupled to the photodetector and electrically coupled to an electrical output port; and a second semiconductor die comprising an electronic integrated circuit (EIC), the EIC comprising: a plurality of electrical input ports receiving respective electrical values; wherein the first semiconductor die and the second semiconductor die are electrically coupled in a controlled collapsed chip connection, with the electrical output ports of the PIC connected to the electrical input ports of the EIC.

Description

光電計算系統 Optoelectronic computing system

本揭露係關於一種光電計算系統。 The present disclosure relates to an optoelectronic computing system.

神經形態計算(neuromorphic computing)是電子領域中近似大腦的操作的方法。神經形態計算的一個突出方法是人工神經網路(artificial neural network;ANN),它是人工神經元的集合,以特定的方式相互連接,以類似於大腦功能的方式處理資訊。人工神經網路已廣泛應用於人工智慧、語音識別、文本識別、自然語言處理以及各種形式的圖案識別。 Neuromorphic computing is a method in the electronic field that approximates the operation of the brain. One prominent approach to neuromorphic computing is artificial neural networks (ANN), which are collections of artificial neurons that are interconnected in specific ways to process information in a manner similar to how the brain functions. Artificial neural networks have been widely used in artificial intelligence, speech recognition, text recognition, natural language processing and various forms of pattern recognition.

ANN具有輸入層、一或多個隱藏層以及輸出層。每個層具有節點或人工神經元,並且節點在層之間互連。隱藏層的每個節點執行從先前層的節點所接收的信號的加權總和(weighted sum),並且執行加權總和的非線性轉換(“激活”)以產生輸出。可以藉由執行矩陣乘法步驟來計算加權總和。因此,計算ANN通常涉及多個矩陣乘法步驟,其通常使用電子積體電路來執行。 An ANN has an input layer, one or more hidden layers, and an output layer. Each layer has nodes, or artificial neurons, and the nodes are interconnected between layers. Each node of a hidden layer performs a weighted sum of signals received from nodes of the previous layer, and performs a nonlinear transformation ("activation") of the weighted sum to produce an output. The weighted sum can be calculated by performing a matrix multiplication step. Therefore, computing an ANN typically involves multiple matrix multiplication steps, which are often performed using electronic integrated circuits.

在以類比或數位形式的電訊號(例如:電壓或電流) 所編碼的電子資料上所執行的計算通常使用電子計算硬體來實行,例如在積體電路(例如:處理器、特殊應用積體電路(application-specific integrated circuit;ASIC)或系統單晶片(system on a chip;SoC))、電子電路板或其他電子電路中實行的類比或數位電子裝置。光訊號已被用於在長距離和較短距離(例如:在資料中心內)上傳輸資料。在這種光訊號上執行的操作通常在光資料傳輸的環境中進行,例如用於在網路中切換或過濾光訊號的裝置內。在計算平台中使用光訊號已被更多限制。用於全光(all-optical)計算的各種部件和系統已被提出。這種系統可包括個別地在輸入和輸出處從電訊號到電訊號的轉換,但是對於在計算中執行的重要操作可不使用兩種類型(電和光)的訊號。 In the form of electrical signals (such as voltage or current) in analog or digital form Computations performed on the encoded electronic data are typically performed using electronic computing hardware, such as on an integrated circuit (e.g., a processor, an application-specific integrated circuit (ASIC), or a system on a chip). An analog or digital electronic device implemented on a chip; SoC), electronic circuit board, or other electronic circuit. Optical signals have been used to transmit data over long distances and shorter distances (for example, within data centers). Operations performed on such optical signals are typically performed in the context of optical data transmission, such as within devices used to switch or filter optical signals in a network. The use of optical signals in computing platforms has become more restricted. Various components and systems have been proposed for all-optical computing. Such systems may include conversion from electrical signals to electrical signals individually at inputs and outputs, but neither type of signal (electrical and optical) may be used for important operations performed in computing.

在通常情況下,在第一觀點中,光電計算系統包括:包含光子積體電路(PIC)之第一半導體晶粒,該光子積體電路包含:多個光波導,其中在由光波導所承載的相應複數光訊號上編碼一組多個輸入值;光複製分配網路,包含複數光分離器,其中各該光分離器將位於輸入端口之輸入光波之功率之一半分別傳送到兩個輸出端口;以及光電子電路區段之陣列,各光電子電路區段從光複製分配電路之輸出端口之一接收光波,各光電子電路區段包括:至少一光偵測器,該光偵測器在光電子操作中偵測至少一光波;以及光子積體電路中至少一導線與光偵測器以及電輸出端電性耦接; 以及包含電子積體電路(EIC)之第二半導體晶粒,該電子積體電路包含:接收各自電氣值之複數電輸入端,其中第一半導體晶粒和第二半導體晶粒以控制塌陷高度晶片連接(Controlled Collapsed Chip Connection)電性耦接,且光子積體電路之電輸出端與電子積體電路之輸入端連接。 In general, in a first aspect, an optoelectronic computing system includes a first semiconductor die including a photonic integrated circuit (PIC) including a plurality of optical waveguides, wherein the optical waveguides carry A set of multiple input values is encoded on the corresponding complex optical signal; the optical replication distribution network includes a plurality of optical splitters, wherein each optical splitter transmits half of the power of the input light wave located at the input port to two output ports respectively ; and an array of optoelectronic circuit segments, each optoelectronic circuit segment receiving light waves from one of the output ports of the optical replication distribution circuit, each optoelectronic circuit segment including: at least one photodetector that detects during the optoelectronic operation At least one light wave; and at least one wire in the photonic integrated circuit electrically coupled to the photodetector and the electrical output; and a second semiconductor die including an electronic integrated circuit (EIC), the electronic integrated circuit including: a plurality of electrical input terminals receiving respective electrical values, wherein the first semiconductor die and the second semiconductor die are used to control the collapse height of the die Connection (Controlled Collapsed Chip Connection) is electrically coupled, and the electrical output end of the photonic integrated circuit is connected to the input end of the electronic integrated circuit.

計算系統的實施例可包括以下特徵的一或多個。 Computing system embodiments may include one or more of the following features.

每個光電子電路區段包含:光電子操作模組,在兩者中擇一執行操作:(1)光複製分配網路縮放以輸入值之一為依據之光學值,以及(2)電輸入端提供電氣值;至少一光偵測器在光電子操作中偵測至少一光波,且光子積體電路中至少一導線與光偵測器以及電輸出端電性耦接。 Each optoelectronic circuit segment contains: an optoelectronic operating module that performs one of: (1) an optical replication distribution network scaling an optical value based on one of the input values, and (2) an electrical input providing Electrical value; at least one photodetector detects at least one light wave in the optoelectronic operation, and at least one wire in the photonic integrated circuit is electrically coupled to the photodetector and the electrical output terminal.

電子積體電路更進一步包含複數數位類比轉換器(digital to analog converters;DACs),提供電氣值給相應的電輸出端,且光子積體電路之電輸入端連接到電子積體電路之電輸出端。 The electronic integrated circuit further includes complex digital to analog converters (DACs), which provide electrical values to corresponding electrical output terminals, and the electrical input terminal of the photonic integrated circuit is connected to the electrical output terminal of the electronic integrated circuit .

光分離器被設置為二元樹設置中之節點,該二元樹設置藉由作為二元樹設置之連結之光波導連接。 Optical splitters are configured as nodes in a binary tree setup connected by optical waveguides that are links of the binary tree setup.

光傳播長度在二元樹分配之根以及不同的光電子電路區段之間各自不同。 The light propagation length differs between the root of the binary tree assignment and between the different optoelectronic circuit sections.

光複製分配網路中的光波導被設置在第一半導體晶粒,以避免穿過任何光複製分配網路中的光波導。 The optical waveguides in the optical replication distribution network are disposed on the first semiconductor die to avoid passing through any optical waveguides in the optical replication distribution network.

光子電路區段被設置在第一半導體晶粒上,整體上 排列成複數直線。 The photonic circuit section is disposed on the first semiconductor die, and overall Arranged in plural straight lines.

複數直線藉由一個或多個光複製分配網路中的光波導,各自與每條其他直線光學耦合。 The plurality of straight lines are each optically coupled to each other straight line through one or more optical waveguides in the optical replication distribution network.

部分光子積體電路中的導線將光偵測器連接到來自不同光電子電路區段之導線間之接點。 Wires in some photonic integrated circuits connect photodetectors to junctions between wires from different optoelectronic circuit segments.

在另一個觀點中,計算系統包括:第一單元,被配置以產生複數調變器控制訊號;以及處理單元。處理單元包括:光源或端口,被配置以提供複數光輸出;以及第一組光調變器,耦接至光源或端口和第一單元。第一組光調變器中的複數光調變器被配置以基於與複數調變器控制訊號中的第一組調變器控制訊號相對應的數位輸入值,調變由光源或端口所提供的複數光輸出,來產生光輸入向量,光輸入向量包括複數光訊號。處理單元還包括矩陣乘法單元,矩陣乘法單元包括第二組光調變器。矩陣乘法單元耦接至第一單元,且被配置以基於與施加到第二組光調變器的複數調變器控制訊號中的一第二組調變器控制訊號相對應的複數數位權重值,將光輸入向量轉換為類比輸出向量。第一組光調變器或第二組光調變器中的至少一者的至少一光調變器被配置以基於複數調變器控制訊號中的第一調變器控制訊號來調變光訊號,並且第一單元被配置以整形第一調變器控制訊號,以包括與幅度變化相關的帶寬增強,幅度變化與對應第一調變器控制訊號的複數連續數位值的對應變化相關。 In another aspect, a computing system includes: a first unit configured to generate a complex modulator control signal; and a processing unit. The processing unit includes: a light source or port configured to provide a plurality of light outputs; and a first set of light modulators coupled to the light source or port and the first unit. The complex optical modulators of the first group of optical modulators are configured to be based on a digital input value corresponding to a first group of modulator control signals of the complex modulator control signals, the modulation being provided by the light source or port The complex light output is used to generate a light input vector, and the light input vector includes a complex light signal. The processing unit also includes a matrix multiplication unit including a second set of light modulators. The matrix multiplication unit is coupled to the first unit and configured to be based on a complex digital weight value corresponding to a second set of the complex modulator control signals applied to the second set of optical modulators. , convert the light input vector into an analog output vector. At least one light modulator of at least one of the first set of light modulators or the second set of light modulators is configured to modulate light based on a first of the plurality of modulator control signals. signal, and the first unit is configured to shape the first modulator control signal to include bandwidth enhancement associated with amplitude changes associated with corresponding changes in the complex consecutive digital values corresponding to the first modulator control signal.

計算系統的實施例可包括以下特徵的一或多個。計 算系統可包括第二單元,耦接至矩陣乘法單元,並且第二單元被配置以將類比輸出向量轉換成數位輸出向量;以及控制器。控制器可包括積體電路,被配置以執行以下操作:接收人工神經網路計算請求,人工神經網路計算請求包括輸入資料集,輸入資料集包括第一數位輸入向量;接收第一多個神經網路權重;以及透過第一單元,基於第一數位輸入向量產生第一多個調變器控制訊號,並且基於第一多個神經網路權重產生第一多個權重控制訊號。 Computing system embodiments may include one or more of the following features. plan The computing system may include a second unit coupled to the matrix multiplication unit, and the second unit is configured to convert the analog output vector into a digital output vector; and a controller. The controller may include an integrated circuit configured to: receive an artificial neural network calculation request, the artificial neural network calculation request including an input data set including a first digital input vector; receive a first plurality of neural network calculation requests. network weights; and generating, through the first unit, a first plurality of modulator control signals based on the first digital input vector and a first plurality of weight control signals based on the first plurality of neural network weights.

第一單元可包括數位類比轉換器(digital to analog converter;DAC)。 The first unit may include a digital to analog converter (DAC).

計算系統可包括記憶體單元,被配置以儲存資料集和複數神經網路權重。 The computing system may include a memory unit configured to store the data set and the complex neural network weights.

控制器的積體電路可更被配置以執行包括在記憶體單元中儲存輸入資料集和第一多個神經網路權重的操作。 The integrated circuit of the controller may be further configured to perform operations including storing the input data set and the first plurality of neural network weights in the memory unit.

控制器可包括特殊應用積體電路(application specific integrated circuit;ASIC),並且接收人工神經網路計算請求的步驟可包括從通用資料處理器接收人工神經網路計算請求。 The controller may include an application specific integrated circuit (ASIC), and the step of receiving the artificial neural network calculation request may include receiving the artificial neural network calculation request from a general-purpose data processor.

第一單元、處理單元、第二單元以及控制器可被設置在多晶片模組或積體電路中的至少一者上。接收人工神經網路計算請求的步驟可包括從第二資料處理器接收人工神經網路計算請求,其中第二資料處理器在多晶片模組或積體電路的外部,第二資料處理器透過通訊通道(communication channel)耦接至多晶片 模組或積體電路,並且處理單元可以以比通訊通道的資料速率大至少一數量級的資料速率來處理資料。 The first unit, the processing unit, the second unit, and the controller may be disposed on at least one of a multi-chip module or an integrated circuit. The step of receiving the artificial neural network calculation request may include receiving the artificial neural network calculation request from a second data processor, wherein the second data processor is external to the multi-chip module or integrated circuit, and the second data processor communicates through communication channel coupled to multi-chip A module or integrated circuit, and the processing unit can process data at a data rate that is at least one order of magnitude greater than the data rate of the communication channel.

第一單元、處理單元、第二單元以及控制器可被用於在複數迭代中重複的光電處理循環。光電處理循環包括:(1)基於調變器控制訊號之至少一者的至少一第一光調變操作,以及基於權重控制訊號之至少一者的至少一第二光調變操作,以及(2)(a)電求和操作或(b)電儲存操作中之至少一者。 The first unit, the processing unit, the second unit and the controller may be used in a photoelectric processing cycle that is repeated in a plurality of iterations. The photoelectric processing cycle includes: (1) at least a first light modulation operation based on at least one of the modulator control signals, and at least a second light modulation operation based on at least one of the weight control signals, and (2) ) at least one of (a) an electrical summing operation or (b) an electrical storage operation.

光電處理循環可包括電儲存操作,並且電儲存操作使用耦接至控制器的記憶體單元來執行。藉由控制器所執行的操作可更包括在記憶體單元中儲存輸入資料集和第一多個神經網路權重。 The photoelectric processing cycle may include electrical storage operations, and the electrical storage operations may be performed using a memory unit coupled to the controller. The operations performed by the controller may further include storing the input data set and the first plurality of neural network weights in the memory unit.

光電處理循環可包括電求和操作,並且電求和操作可使用在矩陣乘法單元內的電求和模組來執行。電求和模組可被配置以產生對應類比輸出向量的元素的電流,電流表示光輸入向量的相應元素乘以相應神經網路權重的總和。 The photoelectric processing loop may include electrical summing operations, and the electrical summing operations may be performed using electrical summing modules within the matrix multiplication unit. The electrical summation module may be configured to generate currents corresponding to elements of the analog output vector, the currents representing the sum of corresponding elements of the optical input vector multiplied by corresponding neural network weights.

第一調變器控制訊號可包括與複數既定幅度準位相關的類比訊號,並且幅度準位之每一者與不同對應數位值相關。 The first modulator control signal may include an analog signal associated with a plurality of predetermined amplitude levels, with each of the amplitude levels associated with a different corresponding digital value.

第一調變器控制訊號可包括與既定幅度準位之兩者相關的類比訊號,並且幅度準位之每一者與不同對應二元值相關。 The first modulator control signal may include an analog signal associated with two predetermined amplitude levels, with each of the amplitude levels associated with a different corresponding binary value.

連續數位值可包括在一系列二元值中的複數連續二元值。 Continuous numeric values may include complex consecutive binary values within a series of binary values.

控制器可被配置以藉由增加與第一時間間隔相關的 第一既定幅度準位和與第二時間間隔相關的第二既定幅度準位之間的幅度變化的大小,來整形第一調變器控制訊號,以包括用於第二時間間隔的初始部分的帶寬增強。 The controller may be configured to increase the time associated with the first time interval by The magnitude of the amplitude change between the first predetermined amplitude level and the second predetermined amplitude level associated with the second time interval is used to shape the first modulator control signal to include the amplitude for the initial portion of the second time interval. Bandwidth enhancement.

一系列二元值可用於確定用於根據不歸零(non-return-to-zero;NRZ)調變模式來調變光訊號的第一調變器控制訊號的幅度準位。 A series of binary values may be used to determine the amplitude level of the first modulator control signal used to modulate the optical signal according to a non-return-to-zero (NRZ) modulation mode.

第一單元可被配置以藉由在第二組光調變器中的第一調變器的二極體結構和串聯連接在二極體結構和提供第一調變器控制訊號的電路之間的電容之間泵浦(pumping)電流,來整形第一調變器控制訊號,以包括帶寬增強,以及泵浦電流所傳輸的電荷量至少部分地基於在提供連續數位值的時間週期內的恆定電壓來確定。 The first unit may be configured by the diode structure of the first modulator in the second set of optical modulators and being connected in series between the diode structure and the circuit providing the first modulator control signal. pumping current between the capacitors to shape the first modulator control signal to include bandwidth enhancement, and the amount of charge transferred by the pumping current is based at least in part on a constant over a time period that provides successive digital values voltage to determine.

在另一觀點中,計算裝置包括:複數光波導,耦接至第一組光幅度調變器,其中使用第一組光幅度調變器,在由光波導所承載的相應複數光訊號上編碼一組多個輸入值。計算裝置包括複數複製模組,並且對於一或多個光訊號的至少兩個子集中的每一者,複製模組的一或多者的對應一組被配置以將一或多個光訊號的子集分成光訊號的二或多個副本。計算裝置包括複數乘法模組,乘法模組之每一者包括第二組光幅度調變器的光幅度調變器,並且對於一或多個光訊號的第一子集的至少兩個副本中的每一者,乘法模組的對應一者被配置以使用第二組光幅度調變器的光幅度調變器將第一子集的一或多個光訊號乘以一或多個矩陣元素值。計算裝置包 括一或多個求和模組,並且對於乘法模組的二或多者的結果,求和模組的對應一者被配置以產生電訊號,電訊號表示乘法模組的二或多者的結果的總和。第一組光幅度調變器或第二組光幅度調變器中的至少一者的至少一光幅度調變器被配置以使用相對調變值的絕對值單調增加(monotonically increase)的功率,藉由調變值來調變光訊號。 In another aspect, a computing device includes a plurality of optical waveguides coupled to a first set of optical amplitude modulators, wherein the first set of optical amplitude modulators are used to encode corresponding complex optical signals carried by the optical waveguides. A set of multiple input values. The computing device includes a plurality of replication modules, and for each of at least two subsets of the one or more optical signals, a corresponding set of the one or more replication modules is configured to replicate a portion of the one or more optical signals. A subset is divided into two or more copies of an optical signal. The computing device includes complex multiplication modules, each of the multiplication modules including an optical amplitude modulator of a second set of optical amplitude modulators, and for at least two copies of a first subset of one or more optical signals Each of the corresponding one of the multiplication modules is configured to multiply the one or more optical signals of the first subset by one or more matrix elements using the optical amplitude modulators of the second set of optical amplitude modulators value. Computing device package One or more summation modules are included, and for a result of two or more of the multiplication modules, a corresponding one of the summation modules is configured to generate an electrical signal, the electrical signal represents a result of the two or more multiplication modules. The sum of the results. At least one optical amplitude modulator of at least one of the first group of optical amplitude modulators or the second group of optical amplitude modulators is configured to use power that monotonically increases relative to the absolute value of the modulation value, Modulate the light signal by modulating the value.

計算裝置的實施例可包括以下特徵的一或多個。第一組光幅度調變器或第二組光幅度調變器中的至少一者的至少一光幅度調變器可包括相干敏感光幅度調變器,相干敏感光幅度調變器被配置以基於複數光波之間的干涉,藉由調變值調變光訊號,光波具有相干長度,相干長度至少與通過相干敏感光幅度調變器的傳播距離一樣長。 Computing device embodiments may include one or more of the following features. The at least one optical amplitude modulator of at least one of the first set of optical amplitude modulators or the second set of optical amplitude modulators may comprise a coherent sensitive optical amplitude modulator configured to Based on the interference between complex light waves, the light signal is modulated by the modulation value. The light waves have a coherence length that is at least as long as the propagation distance through the coherently sensitive light amplitude modulator.

相干敏感光幅度調變器可包括馬赫曾德爾干涉儀(Mach-Zehnder Interferometer;MZI),馬赫曾德爾干涉儀將輸入光波導所引導的光波分成馬赫曾德爾干涉儀的第一光波導臂和馬赫曾德爾干涉儀的第二光波導臂。第一光波導臂可包括主動相位移器,主動相位移器相對於第二光波導臂的相位延遲產生相對相位移,並且馬赫曾德爾干涉儀可將來自第一光波導臂和第二光波導臂的複數光波組合成至少一輸出光波導。 The coherence-sensitive optical amplitude modulator may include a Mach-Zehnder Interferometer (MZI). The Mach-Zehnder interferometer divides the light wave guided by the input optical waveguide into the first optical waveguide arm of the Mach-Zehnder interferometer and the Mach-Zehnder interferometer. The second optical waveguide arm of the Zehnder interferometer. The first optical waveguide arm may include an active phase shifter, the active phase shifter generates a relative phase shift with respect to a phase delay of the second optical waveguide arm, and the Mach-Zehnder interferometer may combine signals from the first optical waveguide arm and the second optical waveguide. The plurality of light waves of the arms are combined into at least one output light waveguide.

用於藉由調變值來調變光訊號的功率可包括施加到主動相位移器的功率。 The power used to modulate the optical signal by modulating the value may include power applied to the active phase shifter.

編碼在相應光訊號上的一組多個輸入值中的複數輸 入值可表示與包括一或多個矩陣元素值的矩陣相乘的輸入向量的複數元素。 A complex input value encoded in a set of multiple input values on a corresponding optical signal The input value may represent a complex element of the input vector multiplied by a matrix containing one or more matrix element values.

一組多個輸出值可被編碼在由一或多個求和模組所產生的複數相應電訊號上,並且一組多個輸出值中的複數輸出值可表示輸出向量的複數元素,輸出向量藉由輸入向量乘以矩陣產生。 A set of multiple output values may be encoded on a complex corresponding electrical signal generated by one or more summation modules, and the complex output values in the set of multiple output values may represent a complex element of an output vector, the output vector Produced by multiplying the input vector by a matrix.

由光波導所承載的光訊號之每一者可包括具有共同波長的光波,共同波長於所有光訊號大抵相同。 Each of the optical signals carried by the optical waveguide may include light waves having a common wavelength, which is approximately the same for all optical signals.

複製模組可包括具有光分離器的至少一複製模組,光分離器在複製模組的輸入端口將光波的功率的既定比例發送至複製模組的第一輸出端口,並且在複製模組的輸入端口將光波的功率的剩餘比例發送至複製模組的第二輸出端口。 The replication module may include at least one replication module having an optical splitter that sends a predetermined proportion of the power of the light wave at an input port of the replication module to a first output port of the replication module, and at an input port of the replication module The input port sends the remaining proportion of the power of the light wave to the second output port of the replica module.

光分離器可包括波導光分離器,波導光分離器將由複製模組的輸入光波導所引導的光波的功率的既定比例發送至複製模組的第一輸出光波導,並且將由複製模組的輸入光波導所引導的光波的功率的剩餘比例發送至複製模組的第二輸出光波導。 The optical splitter may include a waveguide optical splitter that sends a determined proportion of the power of the optical wave guided by the input optical waveguide of the replica module to the first output optical waveguide of the replica module and that is directed by the input optical waveguide of the replica module. The remaining proportion of the power of the light wave guided by the optical waveguide is sent to the second output optical waveguide of the replica module.

輸入光波導的引導模式可被絕熱地耦接至第一輸出光波導和第二輸出光波導中之每一者的複數引導模式。 The guided mode of the input optical waveguide may be adiabatically coupled to the plurality of guided modes of each of the first and second output optical waveguides.

光分離器可包括光束分離器,光束分離器包括至少一表面,其在輸入端口傳輸光波的功率的既定比例,並且在輸入端口反射光波的功率的剩餘比例。 The optical splitter may include a beam splitter including at least one surface that transmits a determined proportion of the power of the light wave at the input port and reflects a remaining proportion of the power of the light wave at the input port.

光波導的至少一者可包括耦接至光耦合器的光纖,光耦合器將光纖的引導模式耦接至自由空間傳播模式(free-space propagation mode)。 At least one of the optical waveguides may include an optical fiber coupled to an optical coupler that couples a guided mode of the optical fiber to a free-space propagation mode. propagation mode).

乘法模組可包括至少一相干敏感光幅度調變器,相干敏感光幅度調變器被配置以基於複數光波之間的干涉,將第一子集的一或多個光訊號乘以一或多個矩陣元素值,光波具有相干長度,相干長度至少與通過相干敏感光幅度調變器的傳播距離一樣長。 The multiplication module may include at least one coherently sensitive optical amplitude modulator configured to multiply one or more optical signals of the first subset by one or more optical signals based on interference between complex light waves. matrix element values, the light wave has a coherence length that is at least as long as the propagation distance through the coherently sensitive optical amplitude modulator.

相干敏感光幅度調變器可包括馬赫曾德爾干涉儀(MZI),馬赫曾德爾干涉儀將輸入光波導所引導的光波分成馬赫曾德爾干涉儀的第一光波導臂和馬赫曾德爾干涉儀的第二光波導臂。第一光波導臂可包括相位移器,相位移器相對於第二光波導臂的相位延遲產生相對相位移,並且馬赫曾德爾干涉儀可將來自第一光波導臂和第二光波導臂的複數光波組合成至少一輸出光波導。 The coherently sensitive optical amplitude modulator may include a Mach-Zehnder interferometer (MZI) that divides light waves guided by an input optical waveguide into a first optical waveguide arm of the MZI and a first optical waveguide arm of the MZI. The second optical waveguide arm. The first optical waveguide arm may include a phase shifter, the phase shifter generates a relative phase shift with respect to a phase delay of the second optical waveguide arm, and the Mach-Zehnder interferometer may combine the signals from the first optical waveguide arm and the second optical waveguide arm. The plurality of light waves are combined into at least one output light waveguide.

馬赫曾德爾干涉儀可將來自第一光波導臂和第二光波導臂的複數光波組合成第一輸出光波導和第二輸出光波導中的每一者。第一光偵測器可從第一輸出光波導接收光波以產生第一光電流,第二光偵測器可從第二輸出光波導接收光波以產生第二光電流,並且相干敏感光幅度調變器的結果可包括第一光電流與第二光電流之間的差值。 The Mach-Zehnder interferometer can combine the complex light waves from the first and second optical waveguide arms into each of the first and second output optical waveguides. The first photodetector can receive the light wave from the first output optical waveguide to generate the first photocurrent, the second photodetector can receive the light wave from the second output optical waveguide to generate the second photocurrent, and the coherently sensitive light amplitude modulation The result of the inverter may include a difference between the first photocurrent and the second photocurrent.

相干敏感光幅度調變器可包括一或多個環形共振器,環形共振器包括耦接至第一光波導的至少一環形共振器和耦接至第二光波導的至少一環形共振器。 The coherently sensitive optical amplitude modulator may include one or more ring resonators including at least one ring resonator coupled to the first optical waveguide and at least one ring resonator coupled to the second optical waveguide.

第一光偵測器可接收來自第一光波導的光波,以產 生第一光電流,第二光偵測器可接收來自第二光波導的光波,以產生第二光電流,並且相干敏感光幅度調變器的結果可包括第一光電流與第二光電流之間的差值。 The first optical detector can receive light waves from the first optical waveguide to generate Generating a first photocurrent, the second photodetector can receive the light wave from the second optical waveguide to generate a second photocurrent, and the result of the coherently sensitive optical amplitude modulator can include the first photocurrent and the second photocurrent. the difference between.

乘法模組可包括至少一相干非敏感光幅度調變器,相干非敏感光幅度調變器被配置以基於光波內的能量吸收,將第一子集的一或多個光訊號乘以一或多個矩陣元素值。 The multiplication module may include at least one coherent insensitive optical amplitude modulator configured to multiply one or more optical signals of the first subset by one or more based on energy absorption within the light wave. Multiple matrix element values.

相干非敏感光幅度調變器可包括電吸收調變器。 Coherent non-sensitive optical amplitude modulators may include electroabsorption modulators.

一或多個求和模組可包括具有以下部件的至少一求和模組:(1)二或多個輸入導體,輸入導體之每一者以輸入電流的形式承載電訊號,輸入電流的幅度表示乘法模組的相應一者的相應結果,以及(2)至少一輸出導體,輸出導體承載表示輸出電流的形式的相應結果的總和的電訊號,輸出電流與輸入電流之總和成比例。 The one or more summing modules may include at least one summing module having the following components: (1) Two or more input conductors, each of the input conductors carrying an electrical signal in the form of an input current, the magnitude of the input current represents a corresponding result of a corresponding one of the multiplication modules, and (2) at least one output conductor carrying an electrical signal representing the sum of the corresponding results in the form of an output current, the output current being proportional to the sum of the input currents.

二或多個輸入導體和輸出導體可包括複數導線,其在導線之間的一或多個接點相遇,並且輸出電流可大抵等於輸入電流之總和。 The two or more input conductors and the output conductors may include a plurality of conductors that meet at one or more junctions between the conductors, and the output current may be approximately equal to the sum of the input currents.

輸入電流的至少一第一輸入電流可以以至少一光電流的形式提供,光電流由至少一光偵測器產生,光偵測器接收由乘法模組的第一乘法模組所產生的光訊號。 At least a first input current of the input current can be provided in the form of at least one photocurrent, the photocurrent is generated by at least one photodetector, and the photodetector receives the optical signal generated by the first multiplication module of the multiplication module .

第一輸入電流可以以兩個光電流之間的差值的形式提供,兩個光電流由不同相應光偵測器產生,光偵測器接收由第一乘法模組所產生的不同相應光訊號。 The first input current may be provided in the form of a difference between two photocurrents generated by different corresponding photodetectors, and the photodetectors receive different corresponding optical signals generated by the first multiplication module .

一或多個光訊號的第一子集的副本之一者可由單一光訊號組成,其中單一光訊號上的輸入值之一者被編碼。 One of the copies of the first subset of the one or more optical signals may consist of a single optical signal on which one of the input values is encoded.

對應第一子集的副本的乘法模組可將編碼的輸入值乘以單一矩陣元素值。 The multiplication module corresponding to the copy of the first subset may multiply the encoded input value by a single matrix element value.

一或多個光訊號的第一子集的副本之一者可包括的光訊號多於一個,並且少於所有光訊號的數量,其中光訊號的多個輸入值被編碼。 One of the copies of the first subset of the one or more optical signals may include more than one optical signal and less than the number of all optical signals in which multiple input values of the optical signal are encoded.

對應第一子集的副本的乘法模組可將編碼的輸入值乘以不同相應矩陣元素值。 A multiplication module corresponding to a copy of the first subset may multiply the encoded input value by a different corresponding matrix element value.

對應一或多個光訊號的第一子集的不同相應副本的不同乘法模組可被包含在不同裝置,不同裝置進行光學通訊以在不同裝置之間傳輸一或多個光訊號的第一子集的副本之一者。 Different multiplication modules corresponding to different corresponding copies of the first subset of the one or more optical signals may be included in different devices, and the different devices optically communicate to transmit the first subset of the one or more optical signals between the different devices. One of the copies of the set.

光波導的二或多者、複製模組的二或多者、乘法模組的二或多者、以及一或多個求和模組的至少一者可被設置在公共裝置的基板上。 At least one of two or more optical waveguides, two or more replication modules, two or more multiplication modules, and one or more summing modules may be disposed on a substrate of a common device.

公共裝置可執行向量矩陣乘法,其中可提供輸入向量作為一組光訊號,並且可提供輸出向量作為一組電訊號。 The common device can perform vector matrix multiplication, where input vectors can be provided as a set of optical signals and output vectors can be provided as a set of electrical signals.

計算裝置可更包括累加器,累加器整合對應乘法模組之一者或求和模組之一者的輸出的輸入電訊號,其中使用時域編碼來編碼輸入電信號,時域編碼在多個時槽的每一者內使用開關幅度調變,並且累加器產生輸出電訊號,輸出電訊號以多於兩個幅度準位來編碼,幅度準位對應多個時槽上的時域編碼的不同佔空比。 The computing device may further include an accumulator that integrates an input electrical signal corresponding to an output of one of the multiplication modules or one of the summation modules, wherein the input electrical signal is encoded using time domain coding, the time domain coding being performed on a plurality of Switching amplitude modulation is used within each time slot, and the accumulator generates an output electrical signal. The output electrical signal is encoded with more than two amplitude levels, the amplitude levels corresponding to the different time domain encodings on the multiple time slots. duty cycle.

乘法模組的二或多者之每一者可對應一或多個光訊號的不同子集。 Each of two or more multiplication modules may correspond to a different subset of one or more optical signals.

計算裝置可更包括用於一或多個光訊號的第二子集的每一個副本,與一或多個光訊號的第一子集中的光訊號不同,乘法模組被配置以使用光幅度調變將第二子集的一個或多個光訊號乘以一或多個矩陣元素值。 The computing device may further include for each replica of the second subset of one or more optical signals, distinct from the optical signals in the first subset of one or more optical signals, the multiplication module configured to use optical amplitude modulation. Multiplying one or more optical signals of the second subset by one or more matrix element values.

在另一通常觀點中,計算系統的操作方法包括:使用第一組光幅度調變器在相應光訊號上編碼一組多個輸入值;對於一或多個光訊號的至少兩個子集中的每一者,使用一或多個複製模組的對應一組以將一或多個光訊號的複數子集分成光訊號的二或多個副本;對於一或多個光訊號的第一子集的至少兩個副本中的每一者,使用對應乘法模組以使用第二組光幅度調變器的光幅度調變器將第一子集的一或多個光訊號乘以一或多個矩陣元素值;以及對於二或多個乘法模組的結果,使用求和模組以產生電訊號,電訊號表示二或多個乘法模組的結果的總和。第一組光幅度調變器或第二組光幅度調變器中的至少一者的至少一光幅度調變器被配置以使用相對調變值的絕對值單調增加的功率,藉由調變值來調變光訊號。 In another general view, a method of operating a computing system includes: using a first set of optical amplitude modulators to encode a set of a plurality of input values on a corresponding optical signal; for at least two subsets of the one or more optical signals Each, using a corresponding set of one or more replication modules to divide a plurality of subsets of one or more optical signals into two or more copies of the optical signal; for a first subset of the one or more optical signals Each of the at least two copies uses a corresponding multiplication module to multiply the one or more optical signals of the first subset by one or more optical amplitude modulators using the optical amplitude modulators of the second set matrix element values; and for the results of two or more multiplication modules, a summation module is used to generate an electrical signal that represents the sum of the results of the two or more multiplication modules. At least one optical amplitude modulator of at least one of the first group of optical amplitude modulators or the second group of optical amplitude modulators is configured to use a monotonically increasing power relative to an absolute value of the modulation value, by modulating value to modulate the light signal.

在另一通常觀點中,計算系統包括:記憶體單元,被配置以儲存資料集和複數神經網路權重;數位類比轉換器(digital-to-analog converter;DAC)單元,被配置以產生複數調變器控制訊號,並且產生複數權重控制訊號;光處理器,包括雷射單元,被配置以產生複數光輸出;複數光調變器,耦接至雷射單 元和DAC單元,光調變器被配置以基於調變器控制訊號,調變由雷射單元所產生的光輸出,來產生光輸入向量;光矩陣乘法單元,耦接至光調變器和DAC單元,光矩陣乘法單元被配置以基於權重控制訊號將光輸入向量轉換成光輸出向量;以及光偵測單元,耦接至光矩陣乘法單元,並且被配置以產生對應光輸出向量的複數輸出電壓;類比數位轉換器(analog-to-digital converter;ADC)單元,耦接至光偵測單元,並且被配置以將輸出電壓轉換成複數數位光輸出;控制器,包括積體電路,被配置以執行以下操作:從電腦接收包括輸入資料集和第一多個神經網路權重的人工神經網路計算請求,其中輸入資料集包括第一數位輸入向量;在記憶體單元中儲存輸入資料集和第一多個神經網路權重;以及透過DAC單元,基於第一數位輸入向量產生第一多個調變器控制訊號,並且基於第一多個神經網路權重產生第一多個權重控制訊號。 In another general view, the computing system includes: a memory unit configured to store a data set and complex neural network weights; a digital-to-analog converter (DAC) unit configured to generate complex tones The inverter control signal and generates the complex weight control signal; the optical processor, including the laser unit, is configured to generate the complex optical output; the complex optical modulator is coupled to the laser unit Yuan and DAC unit, the optical modulator is configured to modulate the optical output generated by the laser unit based on the modulator control signal to generate an optical input vector; the optical matrix multiplication unit is coupled to the optical modulator and a DAC unit, a light matrix multiplication unit configured to convert the light input vector into a light output vector based on the weight control signal; and a light detection unit coupled to the light matrix multiplication unit and configured to generate a complex output corresponding to the light output vector voltage; an analog-to-digital converter (ADC) unit, coupled to the light detection unit, and configured to convert the output voltage into a complex digital light output; a controller, including an integrated circuit, configured to perform the following operations: receive an artificial neural network calculation request from the computer including an input data set and a first plurality of neural network weights, wherein the input data set includes a first digital input vector; store the input data set and the first plurality of neural network weights in a memory unit a first plurality of neural network weights; and generating a first plurality of modulator control signals based on the first digital input vector through the DAC unit, and generating a first plurality of weight control signals based on the first plurality of neural network weights.

計算系統的實施例可包括以下特徵的一或多個。舉例來說,操作可更包括:從ADC單元得到對應光矩陣乘法單元的光輸出向量的第一多個數位光輸出,第一多個數位光輸出形成第一數位輸出向量;對第一數位輸出向量執行非線性轉換,以產生第一轉換數位輸出向量;以及在記憶體單元中儲存第一轉換數位輸出向量。 Computing system embodiments may include one or more of the following features. For example, the operation may further include: obtaining a first plurality of digital light outputs corresponding to the light output vector of the light matrix multiplication unit from the ADC unit, and the first plurality of digital light outputs forming a first digital output vector; performing a nonlinear transformation on the vector to generate a first transformed digital output vector; and storing the first transformed digital output vector in the memory unit.

計算系統可具有第一循環週期,其被定義為在記憶體單元中儲存輸入資料集和第一多個神經網路權重的步驟與在記憶 體單元中儲存第一轉換數位輸出向量的步驟之間所經過的時間。第一循環週期可小於或等於1ns。 The computing system may have a first cycle defined as the steps of storing the input data set and the first plurality of neural network weights in the memory unit and in the memory unit. The time elapsed between steps of storing the first converted digital output vector in the volume unit. The first cycle period may be less than or equal to 1 ns.

在一些實施例中,操作可更包括:輸出基於第一轉換數位輸出向量所產生的人工神經網路輸出。 In some embodiments, the operations may further include: outputting an artificial neural network output generated based on the first converted digital output vector.

在一些實施例中,操作可更包括:透過DAC單元基於第一轉換數位輸出向量產生第二多個調變器控制訊號。 In some embodiments, the operations may further include generating, through the DAC unit, a second plurality of modulator control signals based on the first converted digital output vector.

在一些實施例中,人工神經網路計算請求可更包括第二多個神經網路權重,並且操作可更包括:基於第一多個數位光輸出的獲得,透過數位類比轉換器單元基於第二多個神經網路權重產生第二多個權重控制訊號。第一多個神經網路權重和第二多個神經網路權重可對應人工神經網路的不同層。 In some embodiments, the artificial neural network calculation request may further include a second plurality of neural network weights, and the operation may further include: based on obtaining the first plurality of digital light outputs, through the digital-to-analog converter unit based on the second The plurality of neural network weights generate a second plurality of weight control signals. The first plurality of neural network weights and the second plurality of neural network weights may correspond to different layers of the artificial neural network.

在一些實施例中,輸入資料集可更包括第二數位輸入向量,並且操作可更包括:透過DAC單元,基於第二數位輸入向量產生第二多個調變器控制訊號;從ADC單元得到對應光矩陣乘法單元的光輸出向量的第二多個數位光輸出,第二多個數位光輸出形成第二數位輸出向量;對第二數位輸出向量執行非線性轉換以產生第二轉換數位輸出向量;在記憶體單元中儲存第二轉換數位輸出向量;以及輸出基於第一轉換數位輸出向量和第二轉換數位輸出向量所產生的人工神經網路輸出。光矩陣乘法單元的光輸出向量由基於第二多個調變器控制訊號所產生的第二光輸入向量產生,第二光輸入向量由光矩陣乘法單元基於首先提到的上述權重控制訊號來轉換。 In some embodiments, the input data set may further include a second digital input vector, and the operations may further include: generating a second plurality of modulator control signals based on the second digital input vector through the DAC unit; obtaining the corresponding from the ADC unit a second plurality of digital light outputs of the light output vector of the light matrix multiplication unit, the second plurality of digital light outputs forming a second digital output vector; performing a nonlinear conversion on the second digital output vector to generate a second converted digital output vector; store the second converted digital output vector in the memory unit; and output the artificial neural network output generated based on the first converted digital output vector and the second converted digital output vector. The light output vector of the light matrix multiplication unit is generated by a second light input vector generated based on the second plurality of modulator control signals. The second light input vector is converted by the light matrix multiplication unit based on the first mentioned above-mentioned weight control signal. .

在一些實施例中,計算系統可更包括:類比非線性單元,被設置在光偵測單元與ADC單元之間,類比非線性單元被配置以從光偵測單元接收輸出電壓、應用非線性傳遞函數、以及輸出複數轉換輸出電壓至ADC單元,並且操作更包括:從ADC單元得到對應轉換輸出電壓的第一多個轉換數位輸出電壓,第一多個轉換數位輸出電壓形成第一轉換數位輸出向量;以及在記憶體單元中儲存第一轉換數位輸出向量。 In some embodiments, the computing system may further include: an analog nonlinear unit disposed between the light detection unit and the ADC unit, the analog nonlinear unit configured to receive an output voltage from the light detection unit, apply nonlinear transfer function, and outputting the complex conversion output voltage to the ADC unit, and the operation further includes: obtaining a first plurality of conversion digital output voltages corresponding to the conversion output voltage from the ADC unit, and the first plurality of conversion digital output voltages forming a first conversion digital output vector ; and storing the first converted digital output vector in the memory unit.

在一些實施例中,控制器的積體電路可被配置以產生大於或等於8GHz的頻率的第一多個調變器控制訊號。 In some embodiments, the integrated circuit of the controller may be configured to generate the first plurality of modulator control signals at a frequency greater than or equal to 8 GHz.

在一些實施例中,計算系統可更包括:類比記憶體單元,被設置在DAC單元與光調變器之間,類比記憶體單元被配置以儲存複數類比電壓,並且輸出儲存的類比電壓;以及類比非線性單元,被設置在光偵測單元與ADC單元之間,類比非線性單元被配置以從光偵測單元接收輸出電壓、應用非線性傳遞函數、以及輸出複數轉換輸出電壓。類比記憶體單元包括複數電容。 In some embodiments, the computing system may further include: an analog memory unit disposed between the DAC unit and the light modulator, the analog memory unit configured to store a complex analog voltage and output the stored analog voltage; and The analog nonlinear unit is disposed between the light detection unit and the ADC unit, and is configured to receive an output voltage from the light detection unit, apply a nonlinear transfer function, and output a complex conversion output voltage. Analog memory cells include complex capacitors.

在一些實施例中,類比記憶體單元可被配置以接收和儲存類比非線性單元的轉換輸出電壓,並且將儲存的轉換輸出電壓輸出至光調變器,並且操作可更包括:基於產生第一多個調變器控制訊號和第一多個權重控制訊號,在類比記憶體單元中儲存類比非線性單元的轉換輸出電壓;透過類比記憶體單元輸出儲存的轉換輸出電壓;從ADC單元得到第二多個轉換數位輸出電壓,第二多 個轉換數位輸出電壓形成第二轉換數位輸出向量;以及在記憶體單元中儲存第二轉換數位輸出向量。 In some embodiments, the analog memory unit may be configured to receive and store the converted output voltage of the analog nonlinear unit, and output the stored converted output voltage to the light modulator, and the operations may further include: based on generating the first The plurality of modulator control signals and the first plurality of weight control signals store the conversion output voltage of the analog nonlinear unit in the analog memory unit; output the stored conversion output voltage through the analog memory unit; and obtain a second conversion output voltage from the ADC unit. Multiple converted digital output voltages, second most The converted digital output voltages form a second converted digital output vector; and the second converted digital output vector is stored in the memory unit.

在一些實施例中,人工神經網路計算請求的輸入資料集可包括複數數位輸入向量。雷射單元可被配置以產生複數波長。光調變器可包括:複數光調變器組(bank),被配置以產生複數光輸入向量,每一個光調變器組對應一個波長,並且產生具有相應波長的相應光輸入向量;以及光多路複用器,被配置以將光輸入向量組合成包括波長的組合光輸入向量。光偵測單元可更被配置以多路分解波長,並且產生複數多路分解輸出電壓。操作可包括:從ADC單元得到複數數位多路分解光輸出,數位多路分解光輸出形成複數第一數位輸出向量,其中每一個第一數位輸出向量對應一個波長;對每一個第一數位輸出向量執行非線性轉換,以產生複數轉換第一數位輸出向量;以及在記憶體單元中儲存轉換第一數位輸出向量。每一個數位輸入向量對應一個光輸入向量。 In some embodiments, the input data set requested by the artificial neural network calculation may include a complex numeric input vector. The laser unit can be configured to generate a complex number of wavelengths. The light modulator may include: a plurality of light modulator banks configured to generate a plurality of light input vectors, each light modulator bank corresponding to a wavelength and generating a corresponding light input vector having a corresponding wavelength; and light A multiplexer configured to combine the optical input vectors into a combined optical input vector including wavelengths. The light detection unit may be further configured to demultiplex wavelengths and generate a plurality of demultiplexed output voltages. The operation may include: obtaining a complex digital demultiplexed light output from the ADC unit, and the digital demultiplexed light output forming a complex first digital output vector, where each first digital output vector corresponds to a wavelength; for each first digital output vector performing a nonlinear transformation to generate a complex transformation first digital output vector; and storing the transformation first digital output vector in a memory unit. Each digital input vector corresponds to a light input vector.

在一些實施例中,人工神經網路計算請求可包括複數數位輸入向量。雷射單元可被配置以產生複數波長。光調變器可包括:複數光調變器組,被配置以產生複數光輸入向量,每一個光調變器組對應一個波長,並且產生具有相應波長的相應光輸入向量;以及光多路複用器,被配置以將光輸入向量組合成包括波長的組合光輸入向量。操作可包括:從ADC單元得到對應光輸出向量的第一多個數位光輸出,光輸出向量包括波長,第一多個數位光輸出形成第一數位輸出向量;對第一數位輸出向量執行非線性轉換, 以產生第一轉換數位輸出向量;以及在記憶體單元中儲存第一轉換數位輸出向量。 In some embodiments, the artificial neural network calculation request may include a complex numeric input vector. The laser unit can be configured to generate a complex number of wavelengths. The optical modulator may include: a plurality of optical modulator groups configured to generate a plurality of optical input vectors, each optical modulator group corresponding to a wavelength and generating a corresponding optical input vector having a corresponding wavelength; and an optical multiplexer A user configured to combine the light input vectors into a combined light input vector including wavelengths. The operations may include: obtaining a first plurality of digital light outputs corresponding to a light output vector from the ADC unit, the light output vector including a wavelength, the first plurality of digital light outputs forming a first digital output vector; and performing nonlinearity on the first digital output vector. conversion, to generate a first converted digital output vector; and store the first converted digital output vector in the memory unit.

在一些實施例中,DAC單元可包括:1位元DAC子單元,被配置以產生複數1位元調變器控制訊號。ADC單元的解析度可為1位元。第一數位輸入向量的解析度可為N位元。操作可包括:將第一數位輸入向量分解為N個1位元輸入向量,每一個N個1位元輸入向量對應第一數位輸入向量的N位元中的一個;透過1位元DAC子單元產生對應N個1位元輸入向量的N個1位元調變器控制訊號的序列;從ADC單元得到對應N個1位元調變器控制訊號的序列的N個數位1位元光輸出的序列;從N個數位1位元光輸出的序列建構N位元數位輸出向量;對建構的N位元數位輸出向量執行非線性轉換,以產生轉換N位元數位輸出向量;以及在記憶體單元中儲存轉換N位元數位輸出向量。 In some embodiments, the DAC unit may include a 1-bit DAC sub-unit configured to generate a complex 1-bit modulator control signal. The resolution of the ADC unit can be 1 bit. The resolution of the first digital input vector may be N bits. The operation may include: decomposing the first digital input vector into N 1-bit input vectors, each N 1-bit input vector corresponding to one of the N bits of the first digital input vector; through the 1-bit DAC subunit Generate a sequence of N 1-bit modulator control signals corresponding to N 1-bit input vectors; obtain N digital 1-bit light outputs corresponding to the sequence of N 1-bit modulator control signals from the ADC unit a sequence; constructing an N-bit digital output vector from a sequence of N digital 1-bit light outputs; performing a nonlinear transformation on the constructed N-bit digital output vector to produce a converted N-bit digital output vector; and in a memory unit Convert N-bit digital output vector stored in.

在一些實施例中,記憶體單元可包括:數位輸入向量記憶體,被配置以儲存第一數位輸入向量,並且包括至少一靜態隨機存取記憶體;以及神經網路權重記憶體,被配置以儲存神經網路權重,並且包括至少一動態隨機存取記憶體。 In some embodiments, the memory unit may include: a digital input vector memory configured to store the first digital input vector and including at least one static random access memory; and a neural network weight memory configured to Stores neural network weights and includes at least one dynamic random access memory.

在一些實施例中,DAC單元可包括:第一DAC子單元,被配置以產生調變器控制訊號;以及第二DAC子單元,被配置以產生權重控制訊號,其中第一DAC子單元和第二DAC子單元是不同的。 In some embodiments, the DAC unit may include: a first DAC subunit configured to generate a modulator control signal; and a second DAC subunit configured to generate a weight control signal, wherein the first DAC subunit and the The two DAC subunits are different.

在一些實施例中,雷射單元可包括:雷射源,被配置以產生光;以及光功率分離器,被配置以將由雷射源所產生的光分成光輸出,其中每一個光輸出具有大抵相同的功率。 In some embodiments, the laser unit may include: a laser source configured to generate light; and an optical power splitter configured to split the light generated by the laser source into optical outputs, wherein each optical output has approximately Same power.

在一些實施例中,上述光調變器包括馬赫曾德爾干涉(Mach-Zehnder interferometer;MZI)調變器、環形共振調變器(ring resonator modulator)或電吸收(electro-absorption)調變器中的一個。 In some embodiments, the above-mentioned optical modulator includes a Mach-Zehnder interferometer (MZI) modulator, a ring resonator modulator or an electro-absorption modulator. of one.

在一些實施例中,光偵測單元可包括:複數光偵測器;以及複數放大器,被配置以將由光偵測器所產生的光電流轉換成輸出電壓。 In some embodiments, the light detection unit may include: a plurality of light detectors; and a plurality of amplifiers configured to convert the photocurrent generated by the light detector into an output voltage.

在一些實施例中,積體電路可以是特殊應用積體電路。 In some embodiments, the integrated circuit may be an application special integrated circuit.

在一些實施例中,光矩陣乘法單元可包括:輸入波導陣列,用於接收光輸入向量;光干涉單元,與輸入波導陣列光學通訊,用於執行將光輸入向量轉換成第二光訊號陣列的線性轉換;以及輸出波導陣列,與光干涉單元光學通訊,用於引導第二光訊號陣列,其中在輸入波導陣列中的至少一輸入波導透過光干涉單元與在輸出波導陣列中的每一個輸出波導光學通訊。 In some embodiments, the optical matrix multiplication unit may include: an input waveguide array for receiving the optical input vector; an optical interference unit for optical communication with the input waveguide array for performing conversion of the optical input vector into a second optical signal array. linear conversion; and an output waveguide array in optical communication with the optical interference unit for guiding a second optical signal array, wherein at least one input waveguide in the input waveguide array passes through the optical interference unit and each output waveguide in the output waveguide array Optical communications.

在一些實施例中,光干涉單元可包括:複數互連MZI,互連MZI中的每一個MZI包括:第一相位移器,被配置以改變MZI的分離比;以及第二相位移器,被配置以位移MZI的一 個輸出的相位,其中第一相位移器和第二相位移器耦接至權重控制訊號。 In some embodiments, the optical interference unit may include: a plurality of interconnected MZIs, each of the interconnected MZIs including: a first phase shifter configured to change a separation ratio of the MZI; and a second phase shifter, Configure to displace one of the MZI A phase of an output, wherein the first phase shifter and the second phase shifter are coupled to the weight control signal.

在另一觀點中,計算系統包括:記憶體單元,被配置以儲存資料集和複數神經網路權重;驅動器單元,被配置以產生複數調變器控制訊號和產生複數權重控制訊號;光處理器,包括:雷射單元,被配置以產生複數光輸出;複數光調變器,耦接至雷射單元和驅動器單元,光調變器被配置以基於調變器控制訊號,調變由雷射單元所產生的光輸出,來產生光輸入向量;光矩陣乘法單元,耦接至光調變器和驅動器單元,光矩陣乘法單元被配置以基於權重控制訊號將光輸入向量轉換成光輸出向量;以及光偵測單元,耦接至光矩陣乘法單元,並且被配置以產生對應光輸出向量的複數輸出電壓;比較器單元,耦接至光偵測單元,並且被配置以將輸出電壓轉換成複數數位1位元光輸出;以及控制器,包括積體電路,被配置以執行以下操作:從電腦接收包括輸入資料集和第一多個神經網路權重的人工神經網路計算請求,其中輸入資料集包括具有N位元解析度的第一數位輸入向量;在記憶體單元中儲存輸入資料集和第一多個神經網路權重;將第一數位輸入向量分解為N個1位元輸入向量,每一個N個1位元輸入向量對應第一數位輸入向量的N位元中的一個;透過驅動器單元產生對應N個1位元輸入向量的N個1位元調變器控制訊號的序列;從比較器單元得到對應N個1位元調變器控制訊號的序列的N個數位1位元光輸出的序列;從N個數位1位元光輸出的序列建構N位元數位輸出向量;對建構的N位元 數位輸出向量執行非線性轉換,以產生轉換N位元數位輸出向量;以及在記憶體單元中儲存轉換N位元數位輸出向量。 In another view, the computing system includes: a memory unit configured to store a data set and a complex neural network weight; a driver unit configured to generate a complex modulator control signal and generate a complex weight control signal; an optical processor , including: a laser unit configured to generate a complex light output; a complex optical modulator coupled to the laser unit and the driver unit, the optical modulator is configured to control a signal based on the modulator, the modulation is performed by the laser The light output generated by the unit is used to generate a light input vector; the light matrix multiplication unit is coupled to the light modulator and the driver unit, and the light matrix multiplication unit is configured to convert the light input vector into a light output vector based on the weight control signal; and a light detection unit coupled to the light matrix multiplication unit and configured to generate a complex output voltage corresponding to the light output vector; a comparator unit coupled to the light detection unit and configured to convert the output voltage into a complex number a digital 1-bit light output; and a controller, including an integrated circuit, configured to: receive an artificial neural network calculation request from a computer including an input data set and a first plurality of neural network weights, wherein the input data The set includes a first digit input vector with N-bit resolution; storing the input data set and the first plurality of neural network weights in a memory unit; decomposing the first digit input vector into N 1-bit input vectors, Each N 1-bit input vector corresponds to one of the N bits of the first digital input vector; the driver unit generates a sequence of N 1-bit modulator control signals corresponding to the N 1-bit input vectors; from The comparator unit obtains a sequence of N digital 1-bit light outputs corresponding to a sequence of N 1-bit modulator control signals; constructs an N-bit digital output vector from the sequence of N digital 1-bit light outputs; constructs N bits of The digital output vector performs a nonlinear conversion to generate a converted N-bit digital output vector; and the converted N-bit digital output vector is stored in a memory unit.

在另一觀點中,計算方法用於在計算系統中執行人工神經網路計算,計算系統具有光矩陣乘法單元,光矩陣乘法單元被配置以基於複數權重控制訊號將光輸入向量轉換成光輸出向量,計算方法包括:從電腦接收包括輸入資料集和第一多個神經網路權重的人工神經網路計算請求,其中輸入資料集包括第一數位輸入向量;在記憶體單元中儲存輸入資料集和第一多個神經網路權重;透過數位類比轉換器(DAC)單元,基於第一數位輸入向量產生第一多個調變器控制訊號,並且基於第一多個神經網路權重產生第一多個權重控制訊號;從類比數位轉換器(ADC)單元得到對應光矩陣乘法單元的光輸出向量的第一多個數位光輸出,第一多個數位光輸出形成第一數位輸出向量;藉由控制器對第一數位輸出向量執行非線性轉換,以產生第一轉換數位輸出向量;在記憶體單元中儲存第一轉換數位輸出向量;以及藉由控制器輸出基於第一轉換數位輸出向量所產生的人工神經網路輸出。 In another aspect, a computing method is used to perform artificial neural network calculations in a computing system having an optical matrix multiplication unit configured to convert a light input vector into a light output vector based on a complex weight control signal , the calculation method includes: receiving an artificial neural network calculation request including an input data set and a first plurality of neural network weights from a computer, where the input data set includes a first digital input vector; storing the input data set and the first plurality of neural network weights in a memory unit a first plurality of neural network weights; generating a first plurality of modulator control signals based on the first digital input vector through a digital-to-analog converter (DAC) unit, and generating a first plurality of modulator control signals based on the first plurality of neural network weights; A weight control signal; obtaining a first plurality of digital light outputs corresponding to the light output vector of the light matrix multiplication unit from the analog-to-digital converter (ADC) unit, and the first plurality of digital light outputs form a first digital output vector; by controlling The controller performs a non-linear conversion on the first digital output vector to generate a first converted digital output vector; stores the first converted digital output vector in the memory unit; and outputs a signal generated based on the first converted digital output vector by the controller. Artificial neural network output.

在另一觀點中,計算方法包括:以電子格式提供輸入資訊;將至少一部分電子輸入資訊轉換成光輸入向量;基於光矩陣乘法將光輸入向量光學地轉換成光輸出向量;將光輸出向量轉換成電子格式;以及將非線性轉換電子地應用於電子轉換後的光輸出向量,以提供電子格式的輸出資訊。 In another aspect, the computing method includes: providing input information in an electronic format; converting at least a portion of the electronic input information into a light input vector; optically converting the light input vector into a light output vector based on light matrix multiplication; converting the light output vector into an electronic format; and electronically applying a nonlinear transformation to the electronically converted light output vector to provide output information in an electronic format.

計算方法的實施例可包括以下特徵的一或多個。舉例來說,計算方法可更包括:對於對應電子格式所提供的輸出資訊的新電子輸入資訊,重複電光轉換(electronic-to-optical converting)、光轉換(optical transforming)、光電轉換(optical-to-electronic converting)以及電應用的非線性轉換。 Embodiments of computing methods may include one or more of the following features. For example, the calculation method may further include: repeating electronic-to-optical converting, optical transforming, and optical-to for new electronic input information corresponding to the output information provided in the electronic format. -electronic converting) and nonlinear conversion for electrical applications.

在一些實施例中,用於初始光轉換的光矩陣乘法和重複光轉換的光矩陣乘法可以是相同的,並且可對應人工神經網路的相同層。 In some embodiments, the light matrix multiplication for the initial light conversion and the light matrix multiplication for the repeated light conversion may be the same and may correspond to the same layer of the artificial neural network.

在一些實施例中,用於初始光轉換的光矩陣乘法和重複光轉換的光矩陣乘法可以是不同的,並且可對應人工神經網路的不同層。 In some embodiments, the light matrix multiplication for the initial light conversion and the light matrix multiplication for the repeated light conversion may be different and may correspond to different layers of the artificial neural network.

在一些實施例中,計算方法可更包括:對於電子輸入資訊的不同部分,重複電光轉換、光轉換、光電轉換以及電應用的非線性轉換,其中用於初始光轉換的光矩陣乘法和重複光轉換的光矩陣乘法是相同的,並且對應人工神經網路的第一層。 In some embodiments, the calculation method may further include: repeating electro-optical conversion, optical conversion, photoelectric conversion, and electrically applied nonlinear conversion for different parts of the electronic input information, wherein the optical matrix multiplication for the initial optical conversion and the repeated optical The transformed light matrix multiplication is the same and corresponds to the first layer of the artificial neural network.

在一些實施例中,計算方法可更包括:基於由人工神經網路的第一層所產生的用於電子輸入資訊的多個部分的電子輸出資訊,以電子格式提供電子中間資訊;以及對於電子中間資訊的每一個不同部分,重複電光轉換、光轉換、光電轉換以及電應用的非線性轉換,其中用於初始光轉換的光矩陣乘法和與電子中間資訊的不同部分相關的重複光轉換的光矩陣乘法是相同的,並且對應人工神經網路的第二層。 In some embodiments, the computing method may further include: providing electronic intermediate information in an electronic format based on electronic output information for the plurality of portions of electronic input information generated by the first layer of the artificial neural network; and for electronic Each different part of the intermediate information, repeated electro-optical conversion, optical conversion, photoelectric conversion and non-linear conversion of electrical applications, where the optical matrix multiplication for the initial optical conversion and the repeated optical conversion associated with the different parts of the electronic intermediate information Matrix multiplication is the same and corresponds to the second layer of the artificial neural network.

在另一觀點中,計算系統包括:光處理器,包括被動繞射光學元件(passive diffractive optical element),其中被動繞射光學元件被配置以將光輸入向量或矩陣轉換成光輸出向量或矩陣,其表示應用於光輸入向量或矩陣和由繞射光學元件的排列所定義的既定向量的矩陣處理的結果。 In another aspect, a computing system includes: a light processor including a passive diffractive optical element, wherein the passive diffractive optical element is configured to convert a light input vector or matrix into a light output vector or matrix, It represents the result of matrix processing applied to a light input vector or matrix and a given vector defined by the arrangement of diffractive optical elements.

計算系統的實施例可包括以下特徵的一或多個。舉例來說,矩陣處理可包括光輸入向量或矩陣與由繞射光學元件的排列所定義的既定向量之間的矩陣乘法。 Computing system embodiments may include one or more of the following features. For example, matrix processing may include matrix multiplication between a light input vector or matrix and a given vector defined by the arrangement of diffractive optical elements.

在一些實施例中,光處理器可包括光矩陣處理單元,其包括:輸入波導陣列,用於接收光輸入向量,包括被動繞射光學元件的光干涉單元,其中光干涉單元與輸入波導陣列光學通訊,並且被配置以執行將光輸入向量轉換成第二光訊號陣列的線性轉換;以及輸出波導陣列,與光干涉單元光學通訊,用於引導第二光訊號陣列,其中輸入波導陣列的至少一輸入波導透過光干涉單元與輸出波導陣列中的每一個輸出波導光學通訊。 In some embodiments, the optical processor may include an optical matrix processing unit including: an input waveguide array for receiving the optical input vector, and an optical interference unit including a passive diffractive optical element, wherein the optical interference unit is optically connected to the input waveguide array. communicating and configured to perform linear conversion of the optical input vector into a second optical signal array; and an output waveguide array in optical communication with the optical interference unit for guiding the second optical signal array, wherein at least one of the input waveguide arrays The input waveguide optically communicates with each output waveguide in the output waveguide array through the optical interference unit.

在一些實施例中,光干涉單元可包括具有孔洞或條帶(stripe)中至少一者的基板,孔洞的尺寸在100nm至10μm的範圍內,並且條帶的寬度在100nm至10μm的範圍內。 In some embodiments, the optical interference unit may include a substrate having at least one of holes or stripes, the holes having a size in the range of 100 nm to 10 μm, and the stripes having a width in the range of 100 nm to 10 μm.

在一些實施例中,光干涉單元可包括具有以二維配置來設置的被動繞射光學元件的基板,並且基板包括平面基板或彎曲基板中至少一者。 In some embodiments, the optical interference unit may include a substrate having passive diffractive optical elements arranged in a two-dimensional configuration, and the substrate includes at least one of a planar substrate or a curved substrate.

在一些實施例中,基板可包括平面基板,其平行於從輸入波導陣列到輸出波導陣列的光傳播方向。 In some embodiments, the substrate may comprise a planar substrate parallel to the direction of light propagation from the input waveguide array to the output waveguide array.

在一些實施例中,光處理器可包括光矩陣處理單元,其包括:輸入波導陣列,用於接收光輸入矩陣,包括被動繞射光學元件的光干涉單元,其中光干涉單元與輸入波導陣列光學通訊,並且被配置以執行將光輸入矩陣轉換成第二光訊號陣列的線性轉換;以及輸出波導陣列,與光干涉單元光學通訊,用於引導第二光訊號陣列,其中輸入波導陣列的至少一輸入波導透過光干涉單元與輸出波導陣列中的每一個輸出波導光學通訊。 In some embodiments, the optical processor may include an optical matrix processing unit including: an input waveguide array for receiving the optical input matrix, and an optical interference unit including a passive diffraction optical element, wherein the optical interference unit is optically connected to the input waveguide array. communicating and configured to perform linear conversion of the optical input matrix into a second optical signal array; and an output waveguide array in optical communication with the optical interference unit for guiding the second optical signal array, wherein at least one of the input waveguide array The input waveguide optically communicates with each output waveguide in the output waveguide array through the optical interference unit.

在一些實施例中,光干涉單元可包括具有孔洞或條帶(stripe)中至少一者的基板,孔洞的尺寸在100nm至10μm的範圍內,並且條帶的寬度在100nm至10μm的範圍內。 In some embodiments, the optical interference unit may include a substrate having at least one of holes or stripes, the holes having a size in the range of 100 nm to 10 μm, and the stripes having a width in the range of 100 nm to 10 μm.

在一些實施例中,光干涉單元可包括具有以三維配置來設置的被動繞射光學元件的基板。 In some embodiments, the optical interference unit may include a substrate having passive diffraction optical elements arranged in a three-dimensional configuration.

在一些實施例中,基板可具有立方體狀、柱狀、角柱狀或不規則體積中的至少一者的形狀。 In some embodiments, the substrate may have a shape of at least one of a cube, a column, a prism, or an irregular volume.

在一些實施例中,光處理器可包括光干涉單元,其包括具有被動繞射光學元件的全像圖(hologram),光處理器被配置以接收表示光輸入矩陣的調變光,並且在光通過全像圖時連續轉換光,直到光作為光輸出矩陣從全息圖射出。 In some embodiments, the light processor may include an optical interference unit including a hologram with passive diffraction optical elements, the light processor is configured to receive modulated light representative of the light input matrix, and in the light Light is continuously converted as it passes through the hologram until the light exits the hologram as a light output matrix.

在一些實施例中,光干涉單元可包括具有被動繞射光學元件的基板,並且基板包括矽、氧化矽、氮化矽、石英、鈮酸鋰、相變化材料或聚合物中的至少一者。 In some embodiments, the optical interference unit may include a substrate having passive diffractive optical elements, and the substrate includes at least one of silicon, silicon oxide, silicon nitride, quartz, lithium niobate, phase change materials, or polymers.

在一些實施例中,光干涉單元可包括具有被動繞射光學元件的基板,並且基板包括玻璃基板或丙烯酸基板中的至少一者。 In some embodiments, the optical interference unit may include a substrate having passive diffractive optical elements, and the substrate includes at least one of a glass substrate or an acrylic substrate.

在一些實施例中,被動繞射光學元件可由摻雜物來部分地形成。 In some embodiments, passive diffractive optical elements may be formed in part from dopants.

在一些實施例中,矩陣處理可表示神經網路對輸入資料的處理,輸入資料由光輸入向量表示。 In some embodiments, matrix processing may represent a neural network's processing of input data represented by optical input vectors.

在一些實施例中,光處理器可包括:雷射單元,被配置以產生複數光輸出;複數光調變器,耦接至雷射單元,並且被配置以基於複數調變器控制訊號,調變由雷射單元所產生的光輸出,來產生光輸入向量;光矩陣處理單元,耦接至光調變器,光矩陣處理單元包括被動繞射光學元件,其被配置以基於由被動繞射光學元件所定義的複數權重,將光輸入向量轉換成光輸出向量;以及光偵測單元,耦接至光矩陣處理單元,並且被配置以產生對應光輸出向量的複數輸出電訊號。 In some embodiments, the light processor may include: a laser unit configured to generate a complex light output; a complex light modulator coupled to the laser unit and configured to modulate the light output based on the complex modulator control signal. changing the light output generated by the laser unit to generate the light input vector; the light matrix processing unit is coupled to the light modulator, the light matrix processing unit includes a passive diffraction optical element configured to generate a light input vector based on the passive diffraction The complex weights defined by the optical element convert the light input vector into the light output vector; and the light detection unit is coupled to the light matrix processing unit and configured to generate a complex output electrical signal corresponding to the light output vector.

在一些實施例中,被動繞射光學元件可以用三維配置來設置,光調變器包括二維光調變器陣列,並且光偵測單元包括二維光偵測器陣列。 In some embodiments, the passive diffraction optical element may be arranged in a three-dimensional configuration, the light modulator includes a two-dimensional light modulator array, and the light detection unit includes a two-dimensional light detector array.

在一些實施例中,光矩陣處理單元可包括外殼模組(housing module)以支持和保護輸入波導陣列、光干涉單元以及輸出波導陣列,光處理器包括接收模組,接收模組被配置以接收光矩陣處理單元,接收模組包括第一介面(interface),使光矩陣處理單元能夠從光調變器接收光輸入向量,以及第二介面,使光矩陣處理單元能夠將光輸出向量傳輸至光偵測單元。 In some embodiments, the optical matrix processing unit may include a housing module to support and protect the input waveguide array, the optical interference unit, and the output waveguide array, and the optical processor may include a receiving module configured to receive The optical matrix processing unit, the receiving module includes a first interface that enables the optical matrix processing unit to receive the optical input vector from the optical modulator, and a second interface that enables the optical matrix processing unit to transmit the optical output vector to the optical matrix processing unit. detection unit.

在一些實施例中,輸出電訊號可包括複數電壓訊號或複數電流訊號中的至少一者。 In some embodiments, the output electrical signal may include at least one of a complex voltage signal or a complex current signal.

在一些實施例中,計算系統可包括:記憶體單元;數位類比轉換器(DAC)單元,被配置以產生調變器控制訊號;類比數位轉換器(ADC)單元,耦接至光偵測單元,並且被配置以將輸出電訊號轉換成複數數位輸出;以及控制器,包括積體電路,被配置以執行以下操作:從電腦接收包括輸入資料集的人工神經網路計算請求,其中輸入資料集包括第一數位輸入向量;在記憶體單元中儲存輸入資料集;以及透過DAC單元,基於第一數位輸入向量產生第一多個調變器控制訊號。 In some embodiments, the computing system may include: a memory unit; a digital-to-analog converter (DAC) unit configured to generate a modulator control signal; an analog-to-digital converter (ADC) unit coupled to the light detection unit , and configured to convert the output electrical signal into a complex digital output; and the controller, including the integrated circuit, is configured to perform the following operations: receiving an artificial neural network calculation request from the computer including an input data set, wherein the input data set The method includes a first digital input vector; storing an input data set in a memory unit; and generating a first plurality of modulator control signals based on the first digital input vector through the DAC unit.

在另一觀點中,計算方法包括:3D列印包括被動繞射光學元件的光矩陣處理單元,其中被動繞射光學元件被配置以將光輸入向量或矩陣轉換成光輸出向量或矩陣,其表示應用於光輸入向量或矩陣和由繞射光學元件的排列所定義的既定向量的矩陣處理的結果。 In another view, the computing method includes: 3D printing a light matrix processing unit including a passive diffractive optical element, wherein the passive diffractive optical element is configured to convert a light input vector or matrix into a light output vector or matrix, which represents The result of matrix processing applied to a light input vector or matrix and a given vector defined by the arrangement of diffractive optical elements.

在另一觀點中,計算方法包括:使用一或多個雷射束產生包括被動繞射光學元件的全像圖,其中被動繞射光學元件被配置以將光輸入向量或矩陣轉換成光輸出向量或矩陣,其表示應用於光輸入向量或矩陣和由繞射光學元件的排列所定義的既定向量的矩陣處理的結果。 In another aspect, a computational method includes using one or more laser beams to generate a hologram including passive diffractive optical elements, wherein the passive diffractive optical elements are configured to convert light input vectors or matrices into light output vectors or matrix, which represents the result of matrix processing applied to a light input vector or matrix and a given vector defined by the arrangement of diffractive optical elements.

在另一觀點中,計算系統包括:光處理器,包括以一維方式設置的被動繞射光學元件,其中被動繞射光學元件被配置以將光輸入轉換成光輸出,其表示應用於光輸入和由繞射光學元件的排列所定義的既定向量的矩陣處理的結果。 In another aspect, a computing system includes: a light processor including a passive diffractive optical element disposed in a one-dimensional manner, wherein the passive diffractive optical element is configured to convert light input into light output, a representation of which is applied to the light input and the result of matrix processing of a given vector defined by the arrangement of diffractive optical elements.

計算系統的實施例可包括以下特徵的一或多個。舉例來說,矩陣處理可包括光輸入與由繞射光學元件的排列所定義的既定向量之間的矩陣乘法。 Computing system embodiments may include one or more of the following features. For example, matrix processing may include matrix multiplication between the light input and a given vector defined by the arrangement of diffractive optical elements.

在一些實施例中,光處理器可包括光矩陣處理單元,其包括:輸入波導,用於接收光輸入,包括被動繞射光學元件的光干涉單元,其中光干涉單元與輸入波導光學通訊,並且被配置以執行將光輸入的線性轉換;以及輸出波導,與光干涉單元光學通訊,用於引導光輸出。 In some embodiments, the optical processor may include an optical matrix processing unit including an input waveguide for receiving optical input, an optical interference unit including a passive diffractive optical element, wherein the optical interference unit is in optical communication with the input waveguide, and configured to perform linear conversion of the light input; and an output waveguide in optical communication with the optical interference unit for guiding the light output.

在一些實施例中,光干涉單元可包括具有孔洞或光柵(grating)中至少一者的基板,孔洞或光柵元件的可具有在100nm至10μm的範圍內的尺寸。 In some embodiments, the optical interference unit may include a substrate having at least one of holes or grating elements, and the holes or grating elements may have dimensions in the range of 100 nm to 10 μm.

在另一觀點中,計算系統包括:記憶體單元;數位類比轉換器(DAC)單元,被配置以產生複數調變器控制訊號;以 及光處理器,包括:雷射單元,被配置以產生複數光輸出;複數光調變器,耦接至雷射單元和DAC單元,光調變器被配置以基於調變器控制訊號,調變由雷射單元所產生的光輸出,來產生光輸入向量;光矩陣處理單元,耦接至光調變器,光矩陣處理單元包括被動繞射光學元件,其被配置以基於由被動繞射光學元件所定義的複數權重,將光輸入向量轉換成光輸出向量;以及光偵測單元,耦接至光矩陣處理單元,並且被配置以產生對應光輸出向量的複數輸出電訊號。計算系統更包括:類比數位轉換器(ADC)單元,耦接至光偵測單元,並且被配置以將輸出電訊號轉換成複數數位光輸出;以及控制器,包括積體電路,被配置以執行以下操作:從電腦接收包括輸入資料集的人工神經網路計算請求,其中輸入資料集包括第一數位輸入向量;在記憶體單元中儲存輸入資料集;以及透過DAC單元,基於第一數位輸入向量產生第一多個調變器控制訊號。 In another aspect, a computing system includes: a memory unit; a digital-to-analog converter (DAC) unit configured to generate a complex modulator control signal; and and a light processor, including: a laser unit configured to generate a complex light output; a complex light modulator coupled to the laser unit and the DAC unit, the light modulator being configured to modulate based on the modulator control signal changing the light output generated by the laser unit to generate the light input vector; the light matrix processing unit is coupled to the light modulator, the light matrix processing unit includes a passive diffraction optical element configured to generate a light input vector based on the passive diffraction The complex weights defined by the optical element convert the light input vector into the light output vector; and the light detection unit is coupled to the light matrix processing unit and configured to generate a complex output electrical signal corresponding to the light output vector. The computing system further includes: an analog-to-digital converter (ADC) unit coupled to the light detection unit and configured to convert the output electrical signal into a complex digital light output; and a controller, including an integrated circuit, configured to execute The following operations: receive an artificial neural network calculation request from the computer including an input data set, wherein the input data set includes a first digital input vector; store the input data set in a memory unit; and through the DAC unit, based on the first digital input vector Generating a first plurality of modulator control signals.

計算系統的實施例可包括以下特徵的一或多個。舉例來說,矩陣處理單元可包括被動繞射光學元件,其被配置以將光輸入向量轉換成光輸出向量,其表示光輸入向量與由被動繞射光學元件的所定義的既定向量之間的矩陣乘法的乘積。 Computing system embodiments may include one or more of the following features. For example, the matrix processing unit may include a passive diffractive optical element configured to convert a light input vector into a light output vector that represents a relationship between the light input vector and a given vector defined by the passive diffractive optical element. The product of matrix multiplication.

在一些實施例中,操作更包括:從ADC單元得到對應光矩陣處理單元的光輸出向量的第一多個數位光輸出,第一多個數位光輸出形成第一數位輸出向量;對第一數位輸出向量執行非線性轉換,以產生第一轉換數位輸出向量;以及在記憶體單元中儲存第一轉換數位輸出向量。 In some embodiments, the operation further includes: obtaining a first plurality of digital light outputs corresponding to the light output vector of the light matrix processing unit from the ADC unit, the first plurality of digital light outputs forming a first digital output vector; performing a non-linear transformation on the output vector to generate a first transformed digital output vector; and storing the first transformed digital output vector in the memory unit.

在一些實施例中,計算系統可具有第一循環週期,其被定義為在記憶體單元中儲存輸入資料集的步驟與在記憶體單元中儲存第一轉換數位輸出向量的步驟之間所經過的時間,並且其中第一循環週期可小於或等於1ns。 In some embodiments, the computing system may have a first cycle period defined as the elapsed time between the step of storing the input data set in the memory unit and the step of storing the first converted digital output vector in the memory unit. time, and wherein the first cycle period may be less than or equal to 1 ns.

在一些實施例中,操作可更包括:輸出基於第一轉換數位輸出向量所產生的人工神經網路輸出。 In some embodiments, the operations may further include: outputting an artificial neural network output generated based on the first converted digital output vector.

在一些實施例中,操作可更包括:透過DAC單元基於第一轉換數位輸出向量產生第二多個調變器控制訊號。 In some embodiments, the operations may further include generating, through the DAC unit, a second plurality of modulator control signals based on the first converted digital output vector.

在一些實施例中,輸入資料集可更包括第二數位輸入向量,並且其中操作可更包括:透過DAC單元,基於第二數位輸入向量產生第二多個調變器控制訊號;從ADC單元得到對應光矩陣處理單元的光輸出向量的第二多個數位光輸出,第二多個數位光輸出形成第二數位輸出向量;對第二數位輸出向量執行非線性轉換以產生第二轉換數位輸出向量;在記憶體單元中儲存第二轉換數位輸出向量;以及輸出基於第一轉換數位輸出向量和第二轉換數位輸出向量所產生的人工神經網路輸出,其中光矩陣處理單元的光輸出向量由基於第二多個調變器控制訊號所產生的第二光輸入向量產生,第二光輸入向量由光矩陣乘法單元基於由被動繞射光學元件所定義的權重來轉換。 In some embodiments, the input data set may further include a second digital input vector, and the operations may further include: generating a second plurality of modulator control signals based on the second digital input vector through the DAC unit; obtaining from the ADC unit Corresponding to a second plurality of digital light outputs of the light output vector of the light matrix processing unit, the second plurality of digital light outputs form a second digital output vector; performing a nonlinear conversion on the second digital output vector to generate a second converted digital output vector ; Store the second converted digital output vector in the memory unit; and output the artificial neural network output generated based on the first converted digital output vector and the second converted digital output vector, wherein the light output vector of the light matrix processing unit is based on A second optical input vector generated by the second plurality of modulator control signals is generated, and the second optical input vector is converted by the optical matrix multiplication unit based on weights defined by the passive diffractive optical element.

在一些實施例中,計算系統可更包括:類比非線性單元,被設置在光偵測單元與ADC單元之間,類比非線性單元被配置以從光偵測單元接收輸出電訊號、應用非線性傳遞函數、以及 輸出複數轉換輸出電訊號至ADC單元,其中操作可更包括:從ADC單元得到對應轉換輸出電訊號的第一多個轉換數位輸出電訊號,第一多個轉換數位輸出電訊號形成第一轉換數位輸出向量;以及在記憶體單元中儲存第一轉換數位輸出向量。 In some embodiments, the computing system may further include: an analog nonlinear unit disposed between the light detection unit and the ADC unit, the analog nonlinear unit configured to receive an output electrical signal from the light detection unit, apply nonlinear transfer function, and Outputting the complex conversion output electrical signal to the ADC unit, wherein the operation may further include: obtaining a first plurality of conversion digital output electrical signals corresponding to the conversion output electrical signal from the ADC unit, and the first plurality of conversion digital output electrical signals form a first conversion digit output vector; and storing the first converted digital output vector in the memory unit.

在一些實施例中,控制器的積體電路可被配置以以產生大於或等於8GHz的頻率的第一多個調變器控制訊號。 In some embodiments, the integrated circuit of the controller may be configured to generate a first plurality of modulator control signals at a frequency greater than or equal to 8 GHz.

在一些實施例中,計算系統可更包括:類比記憶體單元,被設置在DAC單元與光調變器之間,類比記憶體單元被配置以儲存複數類比電壓,並且輸出儲存的類比電壓;以及類比非線性單元,被設置在光偵測單元與ADC單元之間,類比非線性單元被配置以從光偵測單元接收輸出電訊號、應用非線性傳遞函數、以及輸出複數轉換輸出電訊號。 In some embodiments, the computing system may further include: an analog memory unit disposed between the DAC unit and the light modulator, the analog memory unit configured to store a complex analog voltage and output the stored analog voltage; and The analog nonlinear unit is disposed between the light detection unit and the ADC unit. The analog nonlinear unit is configured to receive an output electrical signal from the light detection unit, apply a nonlinear transfer function, and output a complex conversion output electrical signal.

在一些實施例中,類比記憶體單元可包括複數電容。 In some embodiments, analog memory cells may include complex capacitors.

在一些實施例中,類比記憶體單元可被配置以接收和儲存類比非線性單元的轉換輸出電訊號,並且將儲存的轉換輸出電訊號輸出至光調變器,並且其中操作可更包括:基於產生第一多個調變器控制訊號,在類比記憶體單元中儲存類比非線性單元的轉換輸出電訊號;透過類比記憶體單元輸出儲存的轉換輸出電訊號;從ADC單元得到第二多個轉換數位輸出電訊號,第二多個轉換數位輸出電訊號形成第二轉換數位輸出向量;以及在記憶體單元中儲存第二轉換數位輸出向量。 In some embodiments, the analog memory unit may be configured to receive and store the conversion output electrical signal of the analog nonlinear unit, and output the stored conversion output electrical signal to the light modulator, and the operations may further include: based on Generate a first plurality of modulator control signals, store the conversion output electrical signal of the analog nonlinear unit in the analog memory unit; output the stored conversion output electrical signal through the analog memory unit; obtain a second plurality of conversions from the ADC unit Digital output electrical signals, the second plurality of converted digital output electrical signals form a second converted digital output vector; and the second converted digital output vector is stored in the memory unit.

在一些實施例中,人工神經網路計算請求可包括複數數位輸入向量,其中雷射單元可被配置以產生複數波長,並且其中光調變器可包括:複數光調變器組,被配置以產生複數光輸入向量,每一個光調變器組對應一個波長,並且產生具有相應波長的相應光輸入向量;以及光多路複用器,被配置以將光輸入向量組合成包括波長的組合光輸入向量。光偵測單元可更被配置以多路分解波長,並且產生複數多路分解輸出電訊號,並且操作可包括:從ADC單元得到複數數位多路分解光輸出,數位多路分解光輸出形成複數第一數位輸出向量,其中每一個第一數位輸出向量對應一個波長;對每一個第一數位輸出向量執行非線性轉換,以產生複數轉換第一數位輸出向量;以及在記憶體單元中儲存轉換第一數位輸出向量,其中每一個數位輸入向量對應一個光輸入向量。 In some embodiments, the artificial neural network calculation request may include a complex digital input vector, wherein the laser unit may be configured to generate a complex wavelength, and wherein the optical modulator may include a complex optical modulator group configured to generating a complex number of optical input vectors, each optical modulator group corresponding to a wavelength, and generating a corresponding optical input vector having a corresponding wavelength; and an optical multiplexer configured to combine the optical input vectors into a combined light including the wavelength Input vector. The light detection unit may be further configured to demultiplex wavelengths and generate a complex demultiplexed output electrical signal, and the operations may include: obtaining a complex digital demultiplexed light output from the ADC unit, and the digital demultiplexed light output forming a complex digital demultiplexed light output. a digital output vector, wherein each first digital output vector corresponds to a wavelength; perform a nonlinear transformation on each first digital output vector to generate a complex converted first digital output vector; and store the converted first digital output vector in the memory unit Digital output vectors, where each digital input vector corresponds to a light input vector.

在一些實施例中,人工神經網路計算請求可包括複數數位輸入向量,其中雷射單元可被配置以產生複數波長,並且其中光調變器可包括:複數光調變器組,被配置以產生複數光輸入向量,每一個光調變器組對應一個波長,並且產生具有相應波長的相應光輸入向量;以及光多路複用器,被配置以將光輸入向量組合成包括波長的組合光輸入向量。操作可包括:從ADC單元得到對應光輸出向量的第一多個數位光輸出,光輸出向量包括波長,第一多個數位光輸出形成第一數位輸出向量;對第一數位輸出向量執行非線性轉換,以產生第一轉換數位輸出向量;以及在記憶體單元中儲存第一轉換數位輸出向量。 In some embodiments, the artificial neural network calculation request may include a complex digital input vector, wherein the laser unit may be configured to generate a complex wavelength, and wherein the optical modulator may include a complex optical modulator group configured to generating a complex number of optical input vectors, each optical modulator group corresponding to a wavelength, and generating a corresponding optical input vector having a corresponding wavelength; and an optical multiplexer configured to combine the optical input vectors into a combined light including the wavelength Input vector. The operations may include: obtaining a first plurality of digital light outputs corresponding to a light output vector from the ADC unit, the light output vector including a wavelength, the first plurality of digital light outputs forming a first digital output vector; and performing nonlinearity on the first digital output vector. Converting to generate a first converted digital output vector; and storing the first converted digital output vector in the memory unit.

在一些實施例中,DAC單元可包括:1位元DAC單元,被配置以產生複數1位元調變器控制訊號,其中ADC單元的解析度可為1位元,並且其中第一數位輸入向量的解析度可為N位元。操作可包括:將第一數位輸入向量分解為N個1位元輸入向量,每一個N個1位元輸入向量對應第一數位輸入向量的N位元中的一個;透過1位元DAC單元產生對應N個1位元輸入向量的N個1位元調變器控制訊號的序列;從ADC單元得到對應N個1位元調變器控制訊號的序列的N個數位1位元光輸出的序列;從N個數位1位元光輸出的序列建構N位元數位輸出向量;對建構的N位元數位輸出向量執行非線性轉換,以產生轉換N位元數位輸出向量;以及在記憶體單元中儲存轉換N位元數位輸出向量。 In some embodiments, the DAC unit may include: a 1-bit DAC unit configured to generate a complex 1-bit modulator control signal, wherein the resolution of the ADC unit may be 1 bit, and wherein the first digital input vector The resolution can be N bits. The operation may include: decomposing the first digital input vector into N 1-bit input vectors, each N 1-bit input vector corresponding to one of the N bits of the first digital input vector; generating through a 1-bit DAC unit A sequence of N 1-bit modulator control signals corresponding to N 1-bit input vectors; a sequence of N digital 1-bit light outputs corresponding to the sequence of N 1-bit modulator control signals is obtained from the ADC unit ; Constructing an N-bit digital output vector from a sequence of N digital 1-bit light outputs; performing a nonlinear transformation on the constructed N-bit digital output vector to produce a transformed N-bit digital output vector; and in a memory unit Store the converted N-bit digital output vector.

在一些實施例中,記憶體單元可包括:數位輸入向量記憶體,被配置以儲存第一數位輸入向量,並且包括至少一靜態隨機存取記憶體。 In some embodiments, the memory unit may include a digital input vector memory configured to store the first digital input vector and including at least one static random access memory.

在一些實施例中,雷射單元可包括:雷射源,被配置以產生光;以及光功率分離器,被配置以將由雷射源所產生的光分成光輸出,其中每一個光輸出具有大抵相同的功率。 In some embodiments, the laser unit may include: a laser source configured to generate light; and an optical power splitter configured to split the light generated by the laser source into optical outputs, wherein each optical output has approximately Same power.

在一些實施例中,光調變器包括馬赫曾德爾干涉調變器、環形共振調變器或電吸收調變器中的一個。 In some embodiments, the optical modulator includes one of a Mach-Zehnder interference modulator, a ring resonance modulator, or an electroabsorption modulator.

在一些實施例中,光偵測單元可包括:複數光偵測器;以及複數放大器,被配置以將由光偵測器所產生的光電流轉換成輸出電訊號。 In some embodiments, the light detection unit may include: a plurality of light detectors; and a plurality of amplifiers configured to convert the photocurrent generated by the light detector into an output electrical signal.

在一些實施例中,積體電路可包括特殊應用積體電路。 In some embodiments, the integrated circuits may include application special integrated circuits.

在一些實施例中,光矩陣處理單元可包括:輸入波導陣列,用於接收光輸入向量;光干涉單元,與輸入波導陣列光學通訊,用於執行將光輸入向量轉換成第二光訊號陣列的線性轉換,其中光干涉單元包括被動繞射光學元件;以及輸出波導陣列,與光干涉單元光學通訊,用於引導第二光訊號陣列,其中在輸入波導陣列中的至少一輸入波導透過光干涉單元與在輸出波導陣列中的每一個輸出波導光學通訊。 In some embodiments, the optical matrix processing unit may include: an input waveguide array for receiving optical input vectors; an optical interference unit in optical communication with the input waveguide array for performing conversion of the optical input vectors into a second optical signal array. Linear conversion, wherein the optical interference unit includes a passive diffractive optical element; and an output waveguide array in optical communication with the optical interference unit for guiding a second optical signal array, wherein at least one input waveguide in the input waveguide array passes through the optical interference unit In optical communication with each output waveguide in the array of output waveguides.

在另一觀點中,計算系統包括:記憶體單元;驅動器單元,被配置以產生複數調變器控制訊號;光處理器,包括:雷射單元,被配置以產生複數光輸出;複數光調變器,耦接至雷射單元和驅動器單元,光調變器被配置以基於調變器控制訊號,調變由雷射單元所產生的光輸出,來產生光輸入向量;光矩陣處理單元,耦接至光調變器和驅動器單元,光矩陣處理單元包括被動繞射光學元件,被配置以基於由被動繞射光學元件所定義的複數權重控制訊號將光輸入向量轉換成光輸出向量;以及光偵測單元,耦接至光矩陣處理單元,並且被配置以產生對應光輸出向量的複數輸出電訊號。計算系統亦包括比較器單元,耦接至光偵測單元,並且被配置以將輸出電訊號轉換成複數數位1位元光輸出;以及控制器,包括積體電路,被配置以執行以下操作:從電腦接收包括輸入資料集的人工神經網路計算請求,其中輸入資料集包括具有N位元解析度的 第一數位輸入向量;在記憶體單元中儲存輸入資料集;將第一數位輸入向量分解為N個1位元輸入向量,每一個N個1位元輸入向量對應第一數位輸入向量的N位元中的一個;透過驅動器單元產生對應N個1位元輸入向量的N個1位元調變器控制訊號的序列;從比較器單元得到對應N個1位元調變器控制訊號的序列的N個數位1位元光輸出的序列;從N個數位1位元光輸出的序列建構N位元數位輸出向量;對建構的N位元數位輸出向量執行非線性轉換,以產生轉換N位元數位輸出向量;以及在記憶體單元中儲存轉換N位元數位輸出向量。 In another view, the computing system includes: a memory unit; a driver unit configured to generate a complex modulator control signal; a light processor including: a laser unit configured to generate a complex light output; complex light modulation The optical modulator is coupled to the laser unit and the driver unit, and the optical modulator is configured to modulate the optical output generated by the laser unit based on the modulator control signal to generate an optical input vector; the optical matrix processing unit is coupled to Connected to the light modulator and driver unit, the light matrix processing unit includes a passive diffractive optical element configured to convert the light input vector into a light output vector based on a complex weighted control signal defined by the passive diffractive optical element; and The detection unit is coupled to the light matrix processing unit and configured to generate a complex output electrical signal corresponding to the light output vector. The computing system also includes a comparator unit coupled to the light detection unit and configured to convert the output electrical signal into a complex digital 1-bit optical output; and a controller, including an integrated circuit, configured to perform the following operations: Receive an artificial neural network calculation request from a computer including an input data set including an N-bit resolution The first digit input vector; stores the input data set in the memory unit; decomposes the first digit input vector into N 1-bit input vectors, each N 1-bit input vector corresponds to N bits of the first digit input vector One of the elements; generate a sequence of N 1-bit modulator control signals corresponding to N 1-bit input vectors through the driver unit; obtain a sequence of N 1-bit modulator control signals corresponding to the comparator unit sequence of N digital 1-bit light outputs; construct an N-bit digital output vector from the sequence of N digital 1-bit light outputs; perform a nonlinear transformation on the constructed N-bit digital output vector to produce converted N-bit a digital output vector; and storing the converted N-bit digital output vector in a memory unit.

計算系統的實施例可包括以下特徵的一或多個。舉例來說,光矩陣處理單元可包括光矩陣乘法單元,其被配置以將光輸入向量轉換成光輸出向量,其表示由光輸入向量所表示的輸入向量與由繞射光學元件的所定義的既定向量之間的矩陣乘法的乘積。 Computing system embodiments may include one or more of the following features. For example, the light matrix processing unit may include a light matrix multiplication unit configured to convert a light input vector into a light output vector that represents an input vector represented by the light input vector and a light matrix defined by the diffractive optical element. The product of matrix multiplications between given vectors.

在另一觀點中,計算方法用於在具有光矩陣處理單元的計算系統中執行人工神經網路計算,計算方法包括:從電腦接收包括輸入資料集的人工神經網路計算請求,輸入資料集包括第一數位輸入向量;在記憶體單元中儲存輸入資料集;透過數位類比轉換器(DAC)單元,基於第一數位輸入向量產生第一多個調變器控制訊號;藉由使用包括被動繞射光學元件的排列的光矩陣處理單元,將光輸入向量轉換成光輸出向量,其中光輸出向量表示應用於光輸入向量和由繞射光學元件的排列所定義的既定向量的矩陣處理的結果;從類比數位轉換器(ADC)單元得到對應光矩陣處理單元 的光輸出向量的第一多個數位光輸出,第一多個數位光輸出形成第一數位輸出向量;藉由控制器對第一數位輸出向量執行非線性轉換,以產生第一轉換數位輸出向量;在記憶體單元中儲存第一轉換數位輸出向量;以及藉由控制器輸出基於第一轉換數位輸出向量所產生的人工神經網路輸出。 In another aspect, a computing method is for performing an artificial neural network calculation in a computing system having a light matrix processing unit, the computing method comprising: receiving an artificial neural network calculation request from a computer including an input data set, the input data set including a first digital input vector; storing the input data set in the memory unit; generating a first plurality of modulator control signals based on the first digital input vector through a digital-to-analog converter (DAC) unit; by using a method including passive diffraction a light matrix processing unit of an arrangement of optical elements that converts a light input vector into a light output vector, wherein the light output vector represents the result of matrix processing applied to the light input vector and a given vector defined by the arrangement of the diffractive optical elements; from The analog-to-digital converter (ADC) unit obtains the corresponding optical matrix processing unit The first plurality of digital light outputs of the light output vector, the first plurality of digital light outputs form a first digital output vector; the controller performs nonlinear conversion on the first digital output vector to generate a first converted digital output vector ; Store the first converted digital output vector in the memory unit; and output the artificial neural network output generated based on the first converted digital output vector by the controller.

計算方法的實施例可包括以下特徵的一或多個。舉例來說,將光輸入向量轉換成光輸出向量可包括將光輸入向量轉換成表示數位輸入向量與由繞射光學元件的排列所定義的既定向量之間的矩陣乘法的乘積的光輸出向量。 Embodiments of computing methods may include one or more of the following features. For example, converting the light input vector into a light output vector may include converting the light input vector into a light output vector representing a product of a matrix multiplication between the digital input vector and a given vector defined by the arrangement of the diffractive optical elements.

在另一觀點中,計算方法包括:以電子格式提供輸入資訊;將至少一部分電子輸入資訊轉換成光輸入向量;藉由包括被動繞射光學元件的光處理器,基於光矩陣處理將光輸入向量光學地轉換成光輸出向量;將光輸出向量轉換成電子格式;以及將非線性轉換電子地應用於電子轉換後的光輸出向量,以提供電子格式的輸出資訊。 In another aspect, the computing method includes: providing the input information in an electronic format; converting at least a portion of the electronic input information into a light input vector; and converting the light input vector to the light input vector based on light matrix processing by a light processor including passive diffractive optical elements. optically converting into a light output vector; converting the light output vector into an electronic format; and electronically applying a nonlinear conversion to the electronically converted light output vector to provide output information in an electronic format.

計算方法的實施例可包括以下特徵的一或多個。舉例來說,將光輸入向量光學地轉換成光輸出向量可包括基於由光輸入向量所表示的輸入向量與由被動繞射光學元件的所定義的既定向量之間的光矩陣乘法,將光輸入向量光學地轉換成光輸出向量。 Embodiments of computing methods may include one or more of the following features. For example, optically converting a light input vector into a light output vector may include converting the light input vector into a light output vector based on a light matrix multiplication between an input vector represented by the light input vector and a given vector defined by the passive diffractive optical element. The vector is optically converted into a light output vector.

在一些實施例中,計算方法可更包括:對於對應以電子格式所提供的輸出資訊的新電子輸入資訊,重複電光轉換、光轉換、光電轉換以及電應用的非線性轉換。 In some embodiments, the calculation method may further include: repeating electro-optical conversion, optical conversion, photoelectric conversion, and electrically applied nonlinear conversion for new electronic input information corresponding to the output information provided in an electronic format.

在一些實施例中,用於初始光轉換的光矩陣處理和重複光轉換的光矩陣處理可為相同的,並且可對應人工神經網路的相同層。 In some embodiments, the light matrix processing for the initial light conversion and the light matrix processing for the repeated light conversion may be the same and may correspond to the same layer of the artificial neural network.

在一些實施例中,計算方法可更包括:對於電子輸入資訊的不同部分,重複電光轉換、光轉換、光電轉換以及電應用的非線性轉換,其中用於初始光轉換的光矩陣處理和重複光轉換的光矩陣處理可為相同的,並且對應人工神經網路的一個層。 In some embodiments, the calculation method may further include: repeating electro-optical conversion, optical conversion, photoelectric conversion, and electrically applied nonlinear conversion for different parts of the electronic input information, wherein the optical matrix processing for the initial optical conversion and the repeated optical conversion are The transformed light matrix processing can be the same and correspond to a layer of the artificial neural network.

在另一觀點中,計算系統包括:光矩陣處理單元,被配置以處理N長度的輸入向量,其中光矩陣處理單元包括N+2層的定向耦合器(directional coupler)和N層的相位移器,並且N為正整數。 In another aspect, the computing system includes: an optical matrix processing unit configured to process an input vector of length N, wherein the optical matrix processing unit includes N+2 layers of directional couplers and N layers of phase shifters. , and N is a positive integer.

計算系統的實施例可包括以下特徵的一或多個。舉例來說,光矩陣處理單元可包括不多於N+2層的定向耦合器。 Computing system embodiments may include one or more of the following features. For example, the optical matrix processing unit may include no more than N+2 layers of directional couplers.

在一些實施例中,光矩陣處理單元可包括光矩陣法單元。 In some embodiments, the light matrix processing unit may include a light matrix method unit.

在一些實施例中,光矩陣處理單元可包括基板和設置在基板上的互連干涉儀,其中每一個干涉儀包括設置在基板上的光波導,並且定向耦合器和相位移器是互連干涉儀的一部分。 In some embodiments, the optical matrix processing unit may include a substrate and interconnected interferometers disposed on the substrate, wherein each interferometer includes an optical waveguide disposed on the substrate, and the directional coupler and phase shifter are interconnected interferometers. part of the ceremony.

在一些實施例中,光矩陣處理單元可包括一層衰減器(attenuator),其在最後一層定向耦合器之後。 In some embodiments, the optical matrix processing unit may include a layer of attenuators after the last layer of directional couplers.

在一些實施例中,一層衰減器可包括N個衰減器。 In some embodiments, a layer of attenuators may include N attenuators.

在一些實施例中,計算系統可包括一或多個零差偵測器(homodyne detector),用於偵測來自衰減器的輸出。 In some embodiments, the computing system may include one or more homodyne detectors for detecting the output from the attenuator.

在一些實施例中,N=3,並且光矩陣處理單元可包括:輸入端(terminal),被配置以接收輸入向量;第一層定向耦合器,耦接至輸入端;第一層相位移器,耦接至第一層定向耦合器;第二層定向耦合器,耦接至第一層相位移器;第二層相位移器,耦接至第二層定向耦合器;第三層定向耦合器,耦接至第二層相位移器;第三層相位移器,耦接至第三層定向耦合器;第四層定向耦合器,耦接至第三層相位移器;以及第五層定向耦合器,耦接至第四層定向耦合器。 In some embodiments, N=3, and the optical matrix processing unit may include: an input terminal (terminal) configured to receive an input vector; a first layer directional coupler coupled to the input terminal; a first layer phase shifter , coupled to the first layer directional coupler; the second layer directional coupler, coupled to the first layer phase shifter; the second layer phase shifter, coupled to the second layer directional coupler; the third layer directional coupling The third layer phase shifter is coupled to the second layer phase shifter; the third layer phase shifter is coupled to the third layer directional coupler; the fourth layer directional coupler is coupled to the third layer phase shifter; and the fifth layer Directional coupler, coupled to the fourth layer directional coupler.

在一些實施例中,N=4,並且光矩陣處理單元可包括:輸入端,被配置以接收輸入向量;第一層、第二層、第三層以及第四層定向耦合器,每層定向耦合器後續是一層相位移器,其中第一層定向耦合器耦接至輸入端;倒數第二層(second-to-last layer)定向耦合器,耦接至第四層相位移器;以及最終層定向耦合器,耦接至倒數第二層定向耦合器。 In some embodiments, N=4, and the optical matrix processing unit may include: an input terminal configured to receive an input vector; a first layer, a second layer, a third layer and a fourth layer of directional couplers, each layer directional couplers. The coupler is followed by a layer of phase shifters, with the first layer of directional couplers coupled to the input; a second-to-last layer of directional couplers coupled to the fourth layer of phase shifters; and finally The layer directional coupler is coupled to the penultimate layer directional coupler.

在一些實施例中,N=8,並且光矩陣處理單元可包括:輸入端,被配置以接收輸入向量;八層定向耦合器,每一層定向耦合器後續是一層相位移器,其中第一層定向耦合器耦接至輸入端;倒數第二層定向耦合器,耦接至第八層相位移器;以及最終層定向耦合器,耦接至倒數第二層定向耦合器。 In some embodiments, N=8, and the optical matrix processing unit may include: an input configured to receive an input vector; eight layers of directional couplers, each layer of directional couplers followed by a layer of phase shifters, wherein the first layer The directional coupler is coupled to the input terminal; the penultimate layer directional coupler is coupled to the eighth layer phase shifter; and the final layer directional coupler is coupled to the penultimate layer directional coupler.

在一些實施例中,光矩陣乘法單元可包括:輸入端,被配置以接收輸入向量;N層定向耦合器,每一層定向耦合器後續是一層相位移器,其中第一層定向耦合器耦接至輸入端;倒數第二層定向耦合器,耦接至第N層定向耦合器;以及最終層定向耦合器,耦接至倒數第二層定向耦合器。 In some embodiments, the optical matrix multiplication unit may include: an input terminal configured to receive an input vector; N layers of directional couplers, each layer of directional couplers is followed by a layer of phase shifters, wherein the first layer of directional couplers is coupled to the input end; the penultimate layer of directional couplers, coupled to the Nth layer of directional couplers; and the final layer of directional couplers, coupled to the penultimate layer of directional couplers.

在一些實施例中,N是偶數。 In some embodiments, N is an even number.

在一些實施例中,每一個第i層定向耦合器包括N/2個定向耦合器,其中i是奇數,並且每一個第j層定向耦合器包括N/2-1個定向耦合器,其中j是偶數。 In some embodiments, each i-th layer directional coupler includes N/2 directional couplers, where i is an odd number, and each j-th layer directional coupler includes N/2-1 directional couplers, where j is an even number.

在一些實施例中,對於i為奇數的每一個第i層定向耦合器,第k個定向耦合器可耦接至前一層的第(2k-1)個和第2k個輸出,k是從1到N/2的整數。 In some embodiments, for each i-th layer directional coupler for which i is an odd number, the k-th directional coupler may be coupled to the (2k-1)th and 2k-th outputs of the previous layer, k being from 1 An integer up to N/2.

在一些實施例中,對於其中j為偶數的每一個第j層定向耦合器,第m個定向耦合器可耦接至前一層的第(2m)個和第(2m+1)個輸出,m是從1到N/2-1的整數。 In some embodiments, for each jth layer directional coupler where j is an even number, the mth directional coupler may be coupled to the (2m)th and (2m+1)th outputs of the previous layer, m is an integer from 1 to N/2-1.

在一些實施例中,每一個第i層相位移器可包括N個相位移器,其中i是奇數,並且每一個第j層相位移器可包括N-2個相位移器,其中j是偶數。 In some embodiments, each i-th layer phase shifter may include N phase shifters, where i is an odd number, and each j-th layer phase shifter may include N-2 phase shifters, where j is an even number. .

在一些實施例中,N可為奇數。 In some embodiments, N may be an odd number.

在一些實施例中,每一層定向耦合器可包括(N-1)/2個定向耦合器。 In some embodiments, each layer of directional couplers may include (N-1)/2 directional couplers.

在一些實施例中,每一層相位移器可包括N-1個相位移器。 In some embodiments, each layer of phase shifters may include N-1 phase shifters.

在另一觀點中,計算系統包括:產生器(generator),被配置以產生第一資料集,其中產生器包刮光矩陣處理單元;以及鑑別器(discriminator),被配置以接收包括來自第一資料集的資料和來自第三資料集的資料的第二資料集,第一資料集中的資料具有與第三資料集中的資料類似的特徵(characteristics),並且將第二資料集中的資料分類為來自第一資料集的資料或來自第三資料集的資料。 In another aspect, a computing system includes: a generator configured to generate a first data set, wherein the generator includes a light matrix processing unit; and a discriminator configured to receive data including from the first data set. A second data set of data in the data set and data from a third data set, the data in the first data set has similar characteristics to the data in the third data set, and the data in the second data set is classified as from Data from the first data set or data from the third data set.

計算方法的實施例可包括以下特徵的一或多個。舉例來說,光矩陣處理單元可包括以下至少一者:(i)上述之光矩陣乘法單元、(ii)上述之被動繞射光學元件、或(iii)上述之光矩陣處理單元。 Embodiments of computing methods may include one or more of the following features. For example, the light matrix processing unit may include at least one of the following: (i) the above-mentioned light matrix multiplication unit, (ii) the above-mentioned passive diffractive optical element, or (iii) the above-mentioned light matrix processing unit.

在一些實施例中,第三資料集可包括真實資料,產生器被配置以產生類似於真實資料的合成資料(synthesized data),並且鑑別器被配置以將資料分類為真實資料或合成資料。 In some embodiments, the third data set may include real data, the generator is configured to generate synthetic data similar to the real data, and the discriminator is configured to classify the data as real data or synthetic data.

在一些實施例中,產生器可被配置以產生資料集,用於訓練自動駕駛載具(vehicle)、醫療診斷系統、欺詐偵測系統、天氣預報系統、財務預測系統、面部識別系統、語音識別系統或產品缺陷偵測系統中的至少一者。 In some embodiments, the generator may be configured to generate data sets for training autonomous vehicles, medical diagnostic systems, fraud detection systems, weather forecasting systems, financial forecasting systems, facial recognition systems, speech recognition At least one of a system or product defect detection system.

在一些實施例中,產生器可被配置以產生影像,其類似於真實物體或真實場景中的至少一者的影像,並且鑑別器被配 置以將接收的影像分類為(i)真實物體或真實場景的影像,或(ii)由產生器產生的合成影像。 In some embodiments, the generator may be configured to generate an image that resembles an image of at least one of a real object or a real scene, and the discriminator is configured to Set up to classify received images as (i) images of real objects or real scenes, or (ii) synthetic images produced by the generator.

在一些實施例中,真實物體可包括人物、動物、細胞、組織或產品中的至少一者,並且真實場景包括載具遇到的場景。 In some embodiments, real objects may include at least one of people, animals, cells, tissues, or products, and real scenes include scenes encountered by the vehicle.

在一些實施例中,鑑別器可被配置以將接收的影像分類成是否為(i)真實人物、真實動物、真實細胞、真實組織、真實產品或載具遇到的真實場景,或(ii)由產生器產生的合成影像。 In some embodiments, the discriminator may be configured to classify a received image as (i) a real person, a real animal, a real cell, a real tissue, a real product, or a real scene encountered by a vehicle, or (ii) The composite image produced by the generator.

在一些實施例中,載具可包括摩托車、汽車、卡車、火車、直升機、飛機、潛艇、船舶或無人機中的至少一種。 In some embodiments, the vehicle may include at least one of a motorcycle, a car, a truck, a train, a helicopter, an airplane, a submarine, a ship, or a drone.

在一些實施例中,產生器可被配置以產生組織或細胞的影像,其與人類疾病、動物疾病或植物疾病中的至少一者相關。 In some embodiments, the generator can be configured to generate images of tissues or cells associated with at least one of human disease, animal disease, or plant disease.

在一些實施例中,產生器可被配置以產生與人類疾病相關的組織或細胞的影像,並且疾病包括癌症、帕金森病、鐮狀細胞貧血症、心臟病、心血管疾病、糖尿病、胸部疾病或皮膚病中的至少一者。 In some embodiments, the generator may be configured to generate images of tissues or cells associated with human disease, and the disease includes cancer, Parkinson's disease, sickle cell anemia, heart disease, cardiovascular disease, diabetes, chest disease or at least one of the skin diseases.

在一些實施例中,產生器可被配置以產生與癌症相關的組織或細胞的影像,並且癌症可包括皮膚癌、乳癌、肺癌、肝癌、前列腺癌或腦癌中的至少一者。 In some embodiments, the generator may be configured to generate images of tissue or cells associated with cancer, and the cancer may include at least one of skin cancer, breast cancer, lung cancer, liver cancer, prostate cancer, or brain cancer.

在一些實施例中,計算系統可更包括隨機雜訊產生器,被配置以產生輸入到產生器的隨機雜訊,並且產生器被配置以基於隨機雜訊產生第一資料集。 In some embodiments, the computing system may further include a random noise generator configured to generate random noise input to the generator, and the generator is configured to generate the first data set based on the random noise.

在另一觀點中,計算系統包括:隨機雜訊產生器,被配置以產生隨機雜訊;以及產生器,被配置以基於隨機雜訊產生資料,其中產生器包括光矩陣處理單元。 In another aspect, a computing system includes a random noise generator configured to generate random noise; and a generator configured to generate data based on the random noise, wherein the generator includes an optical matrix processing unit.

計算系統的實施例可包括以下特徵的一或多個。舉例來說,光矩陣處理單元可包括(i)上述之光矩陣乘法單元、(ii)上述之被動繞射光學元件、或(iii)上述之光矩陣處理單元中的至少一者。 Computing system embodiments may include one or more of the following features. For example, the light matrix processing unit may include at least one of (i) the above-mentioned light matrix multiplication unit, (ii) the above-mentioned passive diffractive optical element, or (iii) the above-mentioned light matrix processing unit.

在另一觀點中,計算系統包括:光電路,被配置以對兩個輸入訊號執行邏輯函數(logic function),光電路包括:第一定向耦合器,具有兩個輸入端和兩個輸出端,兩個輸入端被配置以接收兩個輸入訊號;第一對(pair)相位移器,被配置以修改在第一定向耦合器的兩個輸出端的訊號的相位;第二定向耦合器,具有兩個輸入端和兩個輸出端,兩個輸入端被配置以接收來自第一對相位移器的訊號;以及第二對相位移器,被配置以修改在第二定向耦合器的兩個輸出端的訊號的相位。 In another aspect, a computing system includes an optical circuit configured to perform a logic function on two input signals, the optical circuit including a first directional coupler having two inputs and two outputs , the two input terminals are configured to receive two input signals; the first pair of phase shifters is configured to modify the phase of the signals at the two output terminals of the first directional coupler; the second directional coupler, Having two input terminals and two output terminals, the two input terminals are configured to receive signals from the first pair of phase shifters; and the second pair of phase shifters are configured to modify two of the second directional couplers. The phase of the signal at the output.

計算方法的實施例可包括以下特徵的一或多個。舉例來說,相位移器可被配置以致使光電路執行旋轉(rotation):

Figure 110132252-A0305-02-0044-1
Embodiments of computing methods may include one or more of the following features. For example, a phase shifter can be configured to cause the optical circuit to perform rotation:
Figure 110132252-A0305-02-0044-1

在一些實施例中,當輸入訊號x1和x2被提供到第一定向耦合器的兩個輸入端時,相位移器可被配置以致使光電路執行操作:

Figure 110132252-A0305-02-0045-2
In some embodiments, when input signals x 1 and x 2 are provided to the two input terminals of the first directional coupler, the phase shifter may be configured to cause the optical circuit to perform:
Figure 110132252-A0305-02-0045-2

在一些實施例中,光電路可包括第一光偵測器,其被配置以產生來自第二對相位移器的訊號的絕對值,以致使光電路執行操作:

Figure 110132252-A0305-02-0045-3
In some embodiments, the optical circuit may include a first photodetector configured to generate an absolute value of the signal from the second pair of phase shifters to cause the optical circuit to perform:
Figure 110132252-A0305-02-0045-3

在一些實施例中,光電路可包括比較器,其被配置以將第一光偵測器的輸出訊號與閾值比較,以產生二進制值(binary value)來致使光電路產生輸出:

Figure 110132252-A0305-02-0045-4
In some embodiments, the optical circuit may include a comparator configured to compare the output signal of the first light detector to a threshold to generate a binary value to cause the optical circuit to generate an output:
Figure 110132252-A0305-02-0045-4

在一些實施例中,光電路可包括回饋機制(feedback mechanism),回饋機制被配置以使光偵測器的輸出訊號被回饋至第一定向耦合器的輸入端,並且通過第一定向耦合器、第一對相位移器、第二定向耦合器以及第二對相位移器,並且由光偵測器偵測以致使光電路執行操作:

Figure 110132252-A0305-02-0045-5
其產生輸出AND(x1,x2)和OR(x1,x2)。 In some embodiments, the optical circuit may include a feedback mechanism configured such that the output signal of the optical detector is fed back to the input end of the first directional coupler, and through the first directional coupling the first pair of phase shifters, the second pair of directional couplers and the second pair of phase shifters, and are detected by the light detector to cause the optical circuit to perform operations:
Figure 110132252-A0305-02-0045-5
It produces the outputs AND(x 1 ,x 2 ) and OR(x 1 ,x 2 ).

在一些實施例中,光電路可包括:第三定向耦合器,具有兩個輸入端和兩個輸出端,兩個輸入端被配置以接收來自第二對相位移器的訊號;第三對相位移器,被配置以修改在第三定向耦合器的兩個輸出端的訊號的相位;第四定向耦合器,具有兩個輸入端和兩個輸出端,兩個輸入端被配置以接收來自第三對相位移器的訊號;第四對相位移器,被配置以修改在第四定向耦合器的兩個輸出端的訊號的相位;以及第二光偵測器,被配置以產生來自第四對相位移器的訊號的絕對值,以致使光電路執行操作:

Figure 110132252-A0305-02-0046-6
其產生輸出AND(x1,x2)和OR(x1,x2)。 In some embodiments, the optical circuit may include: a third directional coupler having two input terminals and two output terminals, the two input terminals being configured to receive signals from the second pair of phase shifters; a third pair of phase shifters; The shifter is configured to modify the phase of the signal at the two output terminals of the third directional coupler; the fourth directional coupler has two input terminals and two output terminals, and the two input terminals are configured to receive signals from the third directional coupler. signals from the fourth pair of phase shifters; a fourth pair of phase shifters configured to modify the phases of the signals at the two output terminals of the fourth directional coupler; and a second photodetector configured to generate signals from the fourth pair of phase shifters. The absolute value of the shifter signal causes the optical circuit to perform operations:
Figure 110132252-A0305-02-0046-6
It produces the outputs AND(x 1 ,x 2 ) and OR(x 1 ,x 2 ).

在一些實施例中,計算系統可包括雙調排序式交換機(Bitonic sorter),其被配置以由使用光電路執行雙調排序式交換機的排序函數(sorting function)。 In some embodiments, a computing system may include a bitonic sorter configured to perform a sorting function of the bitonic sorter using optical circuits.

在一些實施例中,計算系統可包括被配置以使用光電路來執行雜湊函數(hashing function)的裝置。 In some embodiments, a computing system may include a device configured to perform a hashing function using optical circuits.

在一些實施例中,雜湊函數可包括安全雜湊演算法(secure hash algorithm)2(SHA-2)。 In some embodiments, the hash function may include secure hash algorithm 2 (SHA-2).

通常來說,用於執行計算的計算系統使用不同類型的操作來產生計算結果,每一個操作都是針對操作的基礎物理學(例如:在能量消耗及/或速度上)最適合的訊號(例如:電訊號或光 訊號)執行的。舉例來說,三個這種操作為:複製(copying)、求和(summation)以及乘法(multiplication)。可以使用光功率分離(optical power splitting)來執行複製,可以使用基於電流的求和(electrical current-based summation)來執行求和,並且可以使用光幅度調變(optical amplitude modulation)來執行乘法,如下面更詳細的描述。可以使用這三種類型的操作所執行的計算的實施例是將向量乘以矩陣(例如:如人工神經網路計算所採用的)。可以使用這些操作來執行各種其他計算,這些操作表示可以執行各種計算的一組通用線性操作,包括:向量-向量內積(vector-vector dot product)、向量-向量元素方面乘法(vector-vector element-wise multiplication)、向量-純量元素元素方面乘法(vector-scalar element wise multiplication)、或矩陣-矩陣元素方面乘法(matrix-matrix element-wise multiplication),但不限於此。此處所述的一些實施例顯示了用於向量-矩陣乘法的技術和配置,但是相應的技術和配置可以用於這些類型的計算中的任何一者。 Typically, computing systems used to perform computations use different types of operations to produce computational results, each of which is a signal (e.g., that is best suited to the underlying physics of the operation (e.g., in terms of energy consumption and/or speed)). : Electrical signal or light signal) is executed. For example, three such operations are: copying, summation, and multiplication. Replication can be performed using optical power splitting, summation can be performed using electrical current-based summation, and multiplication can be performed using optical amplitude modulation, as follows More detailed description below. An example of a calculation that can be performed using these three types of operations is multiplying a vector by a matrix (eg, as used in artificial neural network calculations). Various other calculations can be performed using these operations, which represent a general set of linear operations that can perform a variety of calculations, including: vector-vector dot product, vector-vector element aspect multiplication -wise multiplication), vector-scalar element wise multiplication, or matrix-matrix element-wise multiplication, but is not limited thereto. Some embodiments described herein show techniques and configurations for vector-matrix multiplication, but corresponding techniques and configurations may be used for any of these types of calculations.

各觀點可具有以下優點中的一或多個。 Each perspective may have one or more of the following advantages.

此處所述的使用電訊號和光訊號的光電計算系統可以促進增加靈活性及/或效率。在過去,可能存在與將光(或光子)積體裝置與電(或電子)積體裝置組合在公共(common)平台(例如:公共半導體晶粒,或在控制塌陷高度晶片連接(controlled collapsed chip connection)或“覆晶(flip-chip)”佈置中組合 的多個半導體晶粒)相關的潛在挑戰。舉例來說,這種潛在挑戰可能包括輸入/輸出(I/O)封裝或溫度控制。對於此處所述的那些計算系統,當與相對大量的光輸入/輸出端口(port)和相對大量的電輸入/輸出端口一起使用時(例如:4個或更多個光輸入/輸出端口,200個或更多個電輸入/輸出端口),可能增加潛在的挑戰。舉例而言,在控制塌陷高度晶片連接中,附有光子積體電路之半導體晶粒(例如:參考第1A圖實作下述之光處理器)可包含電輸入端口與電輸出端口,與相應之電子積體電路之電輸出端口與電輸入端口連接(例如:參考第1A圖實作下述之控制器110、記憶體單元120、數位類比轉換器(DAC)單元130,及/或類比數位轉換器(ADC)單元160)。例如控制塌陷高度晶片連接可使用合金組成之焊球(或焊點凸塊),焊球與整合到晶粒之金屬焊盤直接接觸,其中導線與焊盤接合消除了更複雜、更不緊湊之封裝之需求。使用適當的系統設計可以減輕這些潛在的挑戰。舉例來說,計算系統可使用高密度封裝佈置,其使用溫度控制(例如:熱電冷卻)來控制不同材料類型(例如:半導體材料(例如矽)、玻璃材料(二氧化矽或“矽石(Silica)”、陶瓷材料等)之間的熱膨脹,及/或使用封閉殼體(enclosing housing)作為散熱器並且提供一定程度的密封(sealing)。利用這種溫度穩定技術,可以限制不同的熱膨脹係數(coefficients of thermal expansion;CTE)以及系統端口和封裝的高密度光纖陣列的端口之間的不對準。 Optoelectronic computing systems using electrical and optical signals as described herein may facilitate increased flexibility and/or efficiency. In the past, it was possible to combine optical (or photonic) integrated devices with electrical (or electronic) integrated devices on a common platform (e.g., a common semiconductor die, or on a controlled collapsed chip). connection) or “flip-chip” arrangement potential challenges associated with multiple semiconductor dies). Such potential challenges may include input/output (I/O) packaging or temperature control, for example. For those computing systems described herein, when used with a relatively large number of optical input/output ports (ports) and a relatively large number of electrical input/output ports (e.g., 4 or more optical input/output ports, 200 or more electrical input/output ports), may increase potential challenges. For example, in a controlled sag height chip connection, a semiconductor die with a photonic integrated circuit (for example: referring to Figure 1A to implement the optical processor described below) may include electrical input ports and electrical output ports, and corresponding The electrical output port and the electrical input port of the electronic integrated circuit are connected (for example: refer to Figure 1A to implement the following controller 110, memory unit 120, digital to analog converter (DAC) unit 130, and/or analog digital converter (ADC) unit 160). For example, to control the sag height, chip connections can use solder balls (or solder bumps) composed of alloys. The solder balls are in direct contact with metal pads integrated into the die. The bonding of wires and pads eliminates the need for more complex and less compact processes. Packaging requirements. These potential challenges can be mitigated using appropriate system design. For example, computing systems may use high-density packaging arrangements that use temperature control (e.g., thermoelectric cooling) to control different material types (e.g., semiconductor materials (e.g., silicon), glass materials (silica), or "silica"). )", ceramic materials, etc.), and/or use an enclosing housing as a heat sink and provide a certain degree of sealing. With this temperature stabilization technology, different thermal expansion coefficients can be limited ( coefficients of thermal expansion; CTE) and misalignment between system ports and ports of packaged high-density fiber arrays.

對於複製操作,由於光功率分離是被動的,因此不需要消耗功率來執行操作。另外,電分離器的頻寬具有與RC時間常數相關的限制。相較之下,光分離器的頻寬是實質上無限的。可以使用不同類型的光功率分離器(optical power splitter),包括波導光分離器(waveguide optical splitter)或自由空間光束分離器(free-space beam splitter),如下面更詳細的描述。 For copy operations, since the optical power separation is passive, no power is required to perform the operation. Additionally, the bandwidth of an electrical separator has limitations related to the RC time constant. In contrast, the bandwidth of an optical splitter is essentially unlimited. Different types of optical power splitters may be used, including waveguide optical splitters or free-space beam splitters, as described in more detail below.

對於乘法操作,可以將一個數值編碼為光訊號,並且可以將另一個數值編碼為幅度縮放係數(amplitude scaling coefficient)(例如,乘以在0到1的範圍內的數值)。在設定了縮放係數之後,光域(optical domain)中的乘法運算對電訊號的調節的要求降低(或沒有),並因此減少因於電雜訊、功率消耗和帶寬限制的約束(constraint)。藉由適當選擇偵測方案,可以獲得有號的(signed)結果(例如:乘以-1到+1之間的數值),如下面更詳細的描述。 For multiplication operations, one value can be encoded as an optical signal and another value can be encoded as an amplitude scaling coefficient (eg, multiplying a value in the range 0 to 1). After setting the scaling factor, the multiplication operation in the optical domain requires less (or no) adjustment of the electrical signal, thereby reducing constraints due to electrical noise, power consumption, and bandwidth limitations. By appropriately choosing the detection scheme, signed results (e.g., multiplied by a value between -1 and +1) can be obtained, as described in more detail below.

對於求和操作,可以使用不同的技術來實現其中基於不同貢獻的總和來確定導體中的電流的大小的結果。在輸入電流訊號的情況下,當承載那些輸入電流訊號的二或多個導體在接點(junction)組合時,承載輸出電流訊號的單一導體表示那些輸入電流訊號的總和。在輸入光訊號的情況下,當二或多個不同波長的光波照射到偵測器上時,由偵測器產生的光電流上承載的電流訊號表示輸入光訊號中的功率之總和。兩者都產生電訊號(例如:電流)作為表示總和的輸出,但是一個使用電流作為輸入(基於電流輸入的 求和(current-input-based summation),也稱為在“電域(electrical domain)”中執行的“電求和(electrical summation)”)而另一個使用光波作為輸入(基於光輸入的求和(optical-input-based summation),也稱為在“光電域(optoelectronic domain)”中執行的“光電求和(optoelectronic summation)”)。但是,在一些實施例中,使用基於電流輸入的求和而不是基於光輸入的求和,這使單一光學波長能夠在系統中使用,避免可能需要提供的系統的潛在復雜元件並且保持多個波長。 For the summation operation, different techniques can be used to achieve a result in which the magnitude of the current in the conductor is determined based on the sum of the different contributions. In the case of input current signals, a single conductor carrying an output current signal represents the sum of those input current signals when two or more conductors carrying those input current signals are combined at a junction. In the case of an input optical signal, when two or more light waves of different wavelengths are illuminated on the detector, the current signal carried on the photocurrent generated by the detector represents the sum of the power in the input optical signal. Both produce an electrical signal (e.g. current) as an output representing the sum, but one uses current as input (current input-based summation (current-input-based summation, also known as "electrical summation" performed in the "electrical domain") while the other uses light waves as input (light-input-based summation (optical-input-based summation), also known as "optoelectronic summation" performed in the "optoelectronic domain"). However, in some embodiments, summation based on current inputs is used rather than summing based on optical inputs, which enables a single optical wavelength to be used in the system, avoiding potentially complex components that may be required to provide the system and maintaining multiple wavelengths .

由這些模組執行的這些基本操作的組合可以被設置以提供執行線性操作(例如具有任意矩陣元素量值(arbitrary matrix element magnitude)的向量矩陣乘法(vector-matrix multiplication))的裝置。使用光訊號和用於使用光干涉(此處之描述不使用複製模組或求和模組)來組合訊號的干涉儀的矩陣乘法的其他實行已被限於提供具有某些限制(例如:單一矩陣或對角矩陣)的向量矩陣乘法。另外,一些其他實施例可能依賴於多個光訊號的大規模相位對準,因為它們傳播通過相對大量的光學元件(例如:光調變器)。或者,此處所述的實施例可藉由傳播通過較少光學元件之後(例如:在傳播通過不超過單一光幅度調變)將光訊號轉換成電訊號,來放寬這種相位對準約束,這允許使用具有降低相干性的光訊號,或甚至使用不依賴於建設性/破壞性(constructive/destructive)干涉的光學調變器的非相干光訊號。 Combinations of these basic operations performed by these modules may be configured to provide means for performing linear operations such as vector-matrix multiplication with arbitrary matrix element magnitude. Other implementations of matrix multiplication using optical signals and interferometers for combining signals using optical interference (the description here does not use copy modules or summation modules) have been limited to providing a single matrix with certain restrictions (e.g. or diagonal matrix) vector matrix multiplication. Additionally, some other embodiments may rely on large-scale phase alignment of multiple optical signals as they propagate through a relatively large number of optical elements (eg, light modulators). Alternatively, embodiments described herein may relax this phase alignment constraint by converting the optical signal into an electrical signal after propagating through fewer optical elements (e.g., after propagating through no more than a single optical amplitude modulation). This allows the use of optical signals with reduced coherence, or even incoherent optical signals using optical modulators that do not rely on constructive/destructive interference.

對於光訊號和電訊號的時域編碼,下面將更詳細地描述,類比擬電子電路可被優化用於在特定功率準位(level)下操作,如果電路以高速操作,這可能是有幫助的。這種時域編碼在減少可能與精確控制每一個符號的相對大量可清楚區分的強度等級相關聯的任何挑戰是有用的。相反,當在單一符號持續時間(single symbol duration)內的多個時槽(time slot)上的時域中應用佔空比(duty cycle)的精確控制時,可以使用相對恆定的幅度(對於“開”準位,具有零或接近零的幅度處於“關”準位)。 For time domain encoding of optical and electrical signals, described in more detail below, analog electronic circuits can be optimized to operate at specific power levels. This may be helpful if the circuit operates at high speeds. . Such temporal encoding is useful in reducing any challenges that might be associated with precisely controlling the relatively large number of clearly distinguishable intensity levels for each symbol. In contrast, when applying precise control of the duty cycle in the time domain over multiple time slots within a single symbol duration, a relatively constant amplitude can be used (for " "On" level, with zero or near-zero amplitude at "Off" level).

藉由將光子裝置和電子裝置整合在公共基板(例如:矽晶片)上,或如上所述藉由使用覆晶配置連接被製造的晶粒,可以大規模方便地製造耦接在緊湊系統中之模組。基板上的路由訊號(routing signal)作為光訊號而不是電訊號以允許將光偵測器分組在基板的一部分中及/或緊湊晶粒布局(如下述之更多細節)的方式,可幫助避免長電子佈線及其相關的挑戰(例如,寄生電容、電感以及串擾(crosstalk))。 By integrating photonic and electronic devices on a common substrate (e.g., silicon wafer), or by connecting the fabricated dies using a flip-chip configuration as described above, coupling in compact systems can be easily fabricated at scale. Mods. Routing signals on the substrate as optical signals rather than electrical signals can help avoid Long electronic traces and their associated challenges (eg, parasitic capacitance, inductance, and crosstalk).

對於使用子矩陣乘法的計算系統的實施例,可以使用不同的裝置(例如:不同的核心(core)、不同的處理器、不同電腦、不同伺服器)同時計算輸出向量的每個元素,有助於緩解某些潛在的限制(例如記憶體牆(memory wall)),並且幫助整個系統擴展到非常大的矩陣。在一些實施例中,可以使用不同的裝置將每一個子矩陣乘以對應的子向量。然後可以藉由收集或累積來自不同裝 置的被加數(summand)來計算總和。光訊號形式的中間結果可以在裝置之間方便地傳輸,即使裝置被相對較大的距離分開。 For embodiments of a computing system using submatrix multiplication, different devices (e.g., different cores, different processors, different computers, different servers) can be used to simultaneously calculate each element of the output vector, which helps to alleviate some potential limitations (such as memory walls) and help the entire system scale to very large matrices. In some embodiments, different means may be used to multiply each sub-matrix by the corresponding sub-vector. This can then be done by collecting or accumulating items from different installations Set the summand (summand) to calculate the sum. Intermediate results in the form of optical signals can be easily transmitted between devices, even if they are separated by relatively large distances.

其他觀點包括上述之特徵的其他組合和表示為方法、設備、系統、程式產品以及其他方式的其他特徵。 Other concepts include other combinations of the features described above and other features represented as methods, devices, systems, program products, and other means.

可以實施此處描述的主題的特定實施例以實現以下優點中的一個或多個。可以改進ANN計算流通量(throughput)、延遲(latency)或兩者。可以改進ANN計算的功率效率。 Specific embodiments of the subject matter described herein can be implemented to achieve one or more of the following advantages. ANN can be improved to calculate throughput, latency, or both. The power efficiency of ANN calculations can be improved.

在另一觀點中,計算裝置包括:複數光波導,其中一組多個輸入值被編碼在由光波導承載的相應光訊號上;複數複製模組,並且對於一或多個光訊號的至少兩個子集中的每一者,一或多個複製模組的相應一組被配置以將一或多個光訊號的子集分成二或多個光訊號的副本(copies);複數乘法模組,並且對於一或多個光訊號的第一子集的至少兩個副本中的每一者,相應的乘法模組被配置以使用光幅度調變將第一子集的一或多個光訊號乘以一或多個矩陣元素值,其中至少一乘法模組包括光幅度調變器,光幅度調變器包括一個輸入端口和兩個輸出端口,並且從兩個輸出端口提供一對相關光訊號,使得相關光訊號的幅度之間的差值對應於將輸入值乘以有號矩陣元素值的結果;以及一或多個求和模組,並且對於二或多個乘法模組的結果,相應的一個求和模組被配置以產生電訊號,電訊號表示二或多個乘法模組的結果的總和。 In another aspect, a computing device includes: a plurality of optical waveguides, wherein a set of a plurality of input values is encoded on a corresponding optical signal carried by the optical waveguide; a plurality of replica modules, and for at least two of the one or more optical signals each of the subsets, a corresponding set of one or more replication modules configured to divide the one or more subsets of the optical signal into two or more copies of the optical signal; the complex multiplication module, And for each of the at least two copies of the first subset of the one or more optical signals, a corresponding multiplication module is configured to multiply the one or more optical signals of the first subset using optical amplitude modulation. With one or more matrix element values, at least one multiplication module includes an optical amplitude modulator, the optical amplitude modulator includes an input port and two output ports, and provides a pair of correlated optical signals from the two output ports, such that the difference between the amplitudes of the relevant optical signals corresponds to the result of multiplying the input value by the signed matrix element value; and one or more summation modules, and for the results of two or more multiplication modules, correspondingly A summation module is configured to generate an electrical signal representing the sum of the results of two or more multiplication modules.

計算裝置的實施例可包括以下特徵的一或多個。舉例來說,在一組多個光訊號中的編碼在相應光訊號上的輸入值可以表示與包括一或多個矩陣元素值的矩陣相乘的輸入向量的元素。 Computing device embodiments may include one or more of the following features. For example, input values encoded on respective optical signals in a set of multiple optical signals may represent elements of an input vector multiplied by a matrix including one or more matrix element values.

在一些實施例中,一組多個輸出值可被編碼在由一或多個求和模組所產生的相應電訊號上,並且一組多個輸出值中的輸出值可表示輸出向量的元素,輸出向量藉由輸入向量乘以矩陣產生。 In some embodiments, a set of multiple output values may be encoded on a corresponding electrical signal generated by one or more summation modules, and an output value in the set of multiple output values may represent an element of an output vector. , the output vector is generated by multiplying the input vector by the matrix.

在一些實施例中,由光波導所承載的每一個光訊號包括具有共同波長的光波,共同波長於所有光訊號大抵相同。 In some embodiments, each optical signal carried by the optical waveguide includes an optical wave having a common wavelength, which is approximately the same for all optical signals.

在一些實施例中,複製模組可包括具有光分離器的至少一複製模組,光分離器在輸入端口將光波的功率的既定比例發送至第一輸出端口,並且在輸入端口將光波的功率的剩餘比例發送至第二輸出端口。 In some embodiments, the replica module may include at least one replica module having an optical splitter that sends a predetermined proportion of the power of the light wave at the input port to the first output port, and the power of the light wave at the input port. The remaining proportion is sent to the second output port.

在一些實施例中,光分離器可包括波導光分離器,波導光分離器將由輸入光波導所引導的光波的功率的既定比例發送至第一輸出光波導,並且將由輸入光波導所引導的光波的功率的剩餘比例發送至第二輸出光波導。 In some embodiments, the optical splitter may include a waveguide optical splitter that sends a determined proportion of the power of the optical wave guided by the input optical waveguide to the first output optical waveguide, and that transmits a prescribed proportion of the power of the optical wave guided by the input optical waveguide. The remaining proportion of the power is sent to the second output optical waveguide.

在一些實施例中,輸入光波導的引導模式可被絕熱地耦接至第一輸出光波導和第二輸出光波導中之每一者的複數引導模式。 In some embodiments, the guided mode of the input optical waveguide can be adiabatically coupled to the plurality of guided modes of each of the first and second output optical waveguides.

在一些實施例中,光分離器可包括光束分離器,光束分離器包括至少一表面,其在輸入端口傳輸光波的功率的既定比例,並且在輸入端口反射光波的功率的剩餘比例。 In some embodiments, the optical splitter may include a beam splitter including at least one surface that transmits a determined proportion of the power of the light wave at the input port and reflects a remaining proportion of the power of the light wave at the input port.

在一些實施例中,至少一光波導可包括耦接至光耦合器的光纖,光耦合器將光纖的引導模式耦接至自由空間傳播模式(free-space propagation mode)。 In some embodiments, at least one optical waveguide may include an optical fiber coupled to an optical coupler that couples the guided mode of the optical fiber to a free-space propagation mode.

在一些實施例中,乘法模組可包括至少一相干敏感乘法模組(coherence-sensitive multiplication module),相干敏感乘法模組被配置以基於複數光波之間的干涉,使用光幅度調變將第一子集的一或多個光訊號乘以一或多個矩陣元素值,光波具有相干長度,相干長度至少與通過相干敏感乘法模組的傳播距離一樣長。 In some embodiments, the multiplication module may include at least one coherence-sensitive multiplication module. The coherence-sensitive multiplication module is configured to use optical amplitude modulation to convert the first One or more optical signals of a subset are multiplied by one or more matrix element values. The optical wave has a coherence length that is at least as long as the propagation distance through the coherence sensitive multiplication module.

在一些實施例中,相干敏感乘法模組可包括馬赫曾德爾干涉儀(MZI),馬赫曾德爾干涉儀將輸入光波導所引導的光波分成馬赫曾德爾干涉儀的第一光波導臂(optical waveguide arm)和馬赫曾德爾干涉儀的第二光波導臂,第一光波導臂包括相位移器,相位移器相對於第二光波導臂的相位延遲產生相對相位移,並且馬赫曾德爾干涉儀將來自第一光波導臂和第二光波導臂的複數光波組合成至少一輸出光波導。 In some embodiments, the coherence-sensitive multiplication module may include a Mach-Zehnder interferometer (MZI) that divides light waves guided by the input optical waveguide into a first optical waveguide arm of the MZI arm) and the second optical waveguide arm of the Mach-Zehnder interferometer, the first optical waveguide arm includes a phase shifter, the phase shifter generates a relative phase shift with respect to the phase delay of the second optical waveguide arm, and the Mach-Zehnder interferometer will The plurality of light waves from the first optical waveguide arm and the second optical waveguide arm are combined into at least one output optical waveguide.

在一些實施例中,MZI可將來自第一光波導臂和第二光波導臂的複數光波組合成第一輸出光波導和第二輸出光波導中的每一者,第一光偵測器可從第一輸出光波導接收光波以產生第一 光電流,第二光偵測器可從第二輸出光波導接收光波以產生第二光電流,並且相干敏感乘法模組的結果可包括第一光電流與第二光電流之間的差值。 In some embodiments, the MZI can combine the plurality of light waves from the first and second optical waveguide arms into each of the first and second output optical waveguides, and the first optical detector can receiving light waves from the first output optical waveguide to generate a first The second photodetector may receive a light wave from the second output optical waveguide to generate a second photocurrent, and the result of the coherent sensitive multiplication module may include a difference between the first photocurrent and the second photocurrent.

在一些實施例中,相干敏感乘法模組可包括一或多個環形共振器(ring resonator),環形共振器包括耦接至第一光波導的至少一環形共振器和耦接至第二光波導的至少一環形共振器。 In some embodiments, the coherence-sensitive multiplying module may include one or more ring resonators, including at least one ring resonator coupled to the first optical waveguide and coupled to the second optical waveguide. at least one ring resonator.

在一些實施例中,第一光偵測器可接收來自第一光波導的光波,以產生第一光電流,第二光偵測器可接收來自第二光波導的光波,以產生第二光電流,並且相干敏感乘法模組的結果可包括第一光電流與第二光電流之間的差值。 In some embodiments, the first photodetector can receive the light wave from the first optical waveguide to generate the first photocurrent, and the second photodetector can receive the light wave from the second optical waveguide to generate the second light. current, and the result of the coherence sensitive multiplication module may include a difference between the first photocurrent and the second photocurrent.

在一些實施例中,乘法模組可包括至少一相干非敏感乘法模組(coherence-insensitive multiplication module),相干非敏感乘法模組被配置以基於光波內的能量吸收,使用光幅度調變將第一子集的一或多個光訊號乘以一或多個矩陣元素值。 In some embodiments, the multiplication module may include at least one coherence-insensitive multiplication module, and the coherence-insensitive multiplication module is configured to use optical amplitude modulation to convert the third A subset of one or more optical signals is multiplied by one or more matrix element values.

在一些實施例中,相干非敏感乘法模組可包括電吸收調變器(electro-absorption modulator)。 In some embodiments, the coherent insensitive multiplication module may include an electro-absorption modulator.

在一些實施例中,一或多個求和模組可包括具有以下部件的至少一求和模組:(1)二或多個輸入導體,每一個輸入導體以輸入電流的形式承載電訊號,輸入電流的幅度表示相應一個乘法模組的相應結果,以及(2)至少一輸出導體,輸出導體承載表示輸出電流形式的相應結果的總和的電訊號,輸出電流與輸入電流之總和成比例。 In some embodiments, one or more summing modules may include at least one summing module having the following components: (1) two or more input conductors, each input conductor carrying an electrical signal in the form of an input current, The magnitude of the input current represents the corresponding result of one of the multiplication modules, and (2) at least one output conductor carrying an electrical signal representative of the sum of the corresponding results in the form of an output current, the output current being proportional to the sum of the input currents.

在一些實施例中,二或多個輸入導體和輸出導體可包括複數導線,其在導線之間的一或多個接點相遇,並且輸出電流大抵等於輸入電流之總和。 In some embodiments, two or more input conductors and output conductors may include a plurality of conductors that meet at one or more junctions between the conductors, and the output current is approximately equal to the sum of the input currents.

在一些實施例中,輸入電流的至少一第一輸入電流可以在至少一光電流的形式提供,光電流由至少一光偵測器產生,光偵測器接收由乘法模組的第一乘法模組所產生的光訊號。 In some embodiments, at least a first input current of the input current can be provided in the form of at least one photocurrent, the photocurrent is generated by at least one photodetector, and the photodetector receives the first multiplication module from the multiplication module. The light signal generated by the group.

在一些實施例中,第一輸入電流可以在兩個光電流之間的差值的形式提供,兩個光電流由不同相應光偵測器產生,光偵測器接收由第一乘法模組所產生的不同相應光訊號。 In some embodiments, the first input current may be provided in the form of a difference between two photocurrents generated by different corresponding photodetectors, and the photodetectors receive the data generated by the first multiplication module. Different corresponding light signals generated.

在一些實施例中,一或多個光訊號的第一子集的副本之一者可由單一光訊號組成,其中單一光訊號上的一個輸入值被編碼。 In some embodiments, one of the copies of the first subset of the one or more optical signals may consist of a single optical signal on which one input value is encoded.

在一些實施例中,對應第一子集的副本的乘法模組可將編碼的輸入值乘以單一矩陣元素值。 In some embodiments, a multiplication module corresponding to a copy of the first subset may multiply the encoded input value by a single matrix element value.

在一些實施例中,一或多個光訊號的第一子集的副本之一者可包括的光訊號多於一個,並且少於所有光訊號的數量,其中光訊號的多個輸入值被編碼。 In some embodiments, one of the copies of the first subset of one or more optical signals may include more than one optical signal and less than the number of all optical signals in which multiple input values of the optical signal are encoded .

在一些實施例中,對應第一子集的副本的乘法模組可將編碼的輸入值乘以不同的相應矩陣元素值。 In some embodiments, a multiplication module corresponding to a copy of the first subset may multiply the encoded input value by a different corresponding matrix element value.

在一些實施例中,對應一或多個光訊號的第一子集的不同相應副本的不同乘法模組可被包含在不同裝置,不同裝置進 行光學通訊以在不同裝置之間傳輸一或多個光訊號的第一子集的副本之一者。 In some embodiments, different multiplication modules corresponding to different corresponding copies of the first subset of one or more optical signals may be included in different devices, and the different devices perform One that performs optical communications to transmit one or more copies of a first subset of an optical signal between different devices.

在一些實施例中,光波導的二或多個、複製模組的二或多個、乘法模組的二或多個、以及一或多個求和模組的至少一者可被設置在公共裝置的基板上。 In some embodiments, at least one of two or more optical waveguides, two or more replication modules, two or more multiplication modules, and one or more summing modules may be disposed in a common on the base of the device.

在一些實施例中,裝置執行向量矩陣乘法,其中可提供輸入向量作為一組光訊號,並且可提供輸出向量作為一組電訊號。 In some embodiments, the device performs vector matrix multiplication, where the input vectors can be provided as a set of optical signals and the output vectors can be provided as a set of electrical signals.

在一些實施例中,計算裝置可更包括累加器,累加器整合對應乘法模組或求和模組的輸出的輸入電訊號,其中可使用時域編碼(time domain encoding)來編碼輸入電信號,時域編碼在多個時槽的每一者內使用開關幅度調變(on-off amplitude modulation),並且累加器可產生輸出電訊號,輸出電訊號以多於兩個幅度準位來編碼,幅度準位對應多個時槽上的時域編碼的不同佔空比。 In some embodiments, the computing device may further include an accumulator that integrates the input electrical signal corresponding to the output of the multiplication module or the summation module, wherein time domain encoding (time domain encoding) may be used to encode the input electrical signal, Time domain encoding uses on-off amplitude modulation within each of multiple time slots, and the accumulator can produce an output electrical signal that is encoded with more than two amplitude levels. Levels correspond to different duty cycles of time domain encoding over multiple time slots.

在一些實施例中,乘法模組的二或多個之每一者對應一或多個光訊號的不同子集。 In some embodiments, each of the two or more multiplying modules corresponds to a different subset of one or more optical signals.

在一些實施例中,計算裝置可更包括用於一或多個光訊號的第二子集的每一個副本,與一或多個光訊號的第一子集中的光訊號不同,乘法模組被配置以使用光幅度調變將第二子集的一個或多個光訊號乘以一或多個矩陣元素值。 In some embodiments, the computing device may further include a multiplication module for each replica of the second subset of one or more optical signals, as opposed to the optical signals in the first subset of one or more optical signals. Configured to multiply the one or more optical signals of the second subset by one or more matrix element values using optical amplitude modulation.

在另一觀點中,計算方法包括:在相應光訊號上編碼一組多個輸入值;對於一或多個光訊號的至少兩個子集中的每一者,使用一或多個複製模組的相應一組以將一或多個光訊號的子集分成二或多個光訊號的副本;對於一或多個光訊號的第一子集的至少兩個副本中的每一者,使用相應的乘法模組以使用光幅度調變將第一子集的一或多個光訊號乘以一或多個矩陣元素值,其中至少一乘法模組包括光幅度調變器,光幅度調變器包括一個輸入端口和兩個輸出端口,並且從兩個輸出端口提供一對相關光訊號,使得相關光訊號的幅度之間的差值對應於將輸入值乘以有號矩陣元素值的結果;以及對於二或多個乘法模組的結果,使用求和模組以產生電訊號,電訊號表示二或多個乘法模組的結果的總和。 In another aspect, a computational method includes encoding a set of a plurality of input values on a corresponding optical signal; for each of at least two subsets of the one or more optical signals, using one or more replica modules A corresponding group is used to divide a subset of one or more optical signals into two or more copies of the optical signal; for each of the at least two copies of the first subset of the one or more optical signals, use a corresponding The multiplication module uses optical amplitude modulation to multiply one or more optical signals of the first subset by one or more matrix element values, wherein at least one multiplication module includes an optical amplitude modulator, and the optical amplitude modulator includes one input port and two output ports, and providing a pair of correlated optical signals from the two output ports such that the difference between the amplitudes of the correlated optical signals corresponds to the result of multiplying the input value by the signed matrix element value; and for The results of two or more multiplication modules use a summation module to generate an electrical signal that represents the sum of the results of the two or more multiplication modules.

在另一觀點中,計算方法包括:編碼表示相應光訊號上的輸入向量的元素的一組輸入值;將表示矩陣元素的一組係數編碼作為耦合至光訊號的一組光幅度調變器的幅度調變準位,其中包括一個輸入端口和兩個輸出端口的至少一光幅度調變器從兩個輸出端口提供一對相關光訊號,使得相關光訊號的幅度之間的差值對應於將輸入值乘以有號矩陣元素值的結果;以及編碼表示相應電訊號上的輸出向量的元素的一組輸出值,其中至少一電訊號是電流形式,其幅度對應輸入向量的相應元素乘以矩陣的一列(row)的相應元素的總和。 In another aspect, the calculation method includes: encoding a set of input values representing elements of the input vector on the corresponding optical signal; encoding a set of coefficients representing the matrix elements as a set of optical amplitude modulators coupled to the optical signal. Amplitude modulation level, wherein at least one optical amplitude modulator including one input port and two output ports provides a pair of correlated optical signals from the two output ports, such that the difference between the amplitudes of the correlated optical signals corresponds to the result of multiplying an input value by an element value of a signed matrix; and a set of output values encoding elements representing an output vector on a corresponding electrical signal, at least one of which is in the form of a current with an amplitude corresponding to the corresponding element of the input vector multiplied by the matrix The sum of the corresponding elements of a row.

計算方法的實施例可包括以下特徵的一或多個。舉例來說,至少一光訊號可以由第一光波導提供,並且第一光波導可 以耦接至光分離器,光分離器將由第一光波導所引導的光波的功率的既定比例發送至第二輸出光波導,並且將由第一光波導所引導的光波的功率的剩餘定比例發送至第三光波導。 Embodiments of computing methods may include one or more of the following features. For example, at least one optical signal may be provided by a first optical waveguide, and the first optical waveguide may to be coupled to an optical splitter that sends a determined proportion of the power of the light wave guided by the first optical waveguide to the second output optical waveguide and a remaining proportion of the power of the optical wave guided by the first optical waveguide. to the third optical waveguide.

在另一觀點中,計算裝置包括:複數光波導,編碼表示由光波導承載的相應光訊號上的輸入向量的元素的一組輸入值;一組光幅度調變器,耦接至光訊號,將表示矩陣元素的一組係數編碼作為幅度調變準位,其中包括一個輸入端口和兩個輸出端口的至少一光幅度調變器從兩個輸出端口提供一對相關光訊號,使得相關光訊號的幅度之間的差值對應於將輸入值乘以有號矩陣元素值的結果;複數求和模組,其編碼表示相應電訊號上的輸出向量的元素的一組輸出值,其中至少一電訊號是電流形式,其幅度對應輸入向量的相應元素乘以矩陣的一列(row)的相應元素的總和。 In another aspect, a computing device includes: a complex optical waveguide encoding a set of input values representing elements of an input vector on a corresponding optical signal carried by the optical waveguide; a set of optical amplitude modulators coupled to the optical signal, Encoding a set of coefficients representing matrix elements as amplitude modulation levels, at least one optical amplitude modulator including one input port and two output ports provides a pair of correlated optical signals from the two output ports, such that the correlated optical signals The difference between the amplitudes corresponds to the result of multiplying the input value by the signed matrix element value; the complex summation module encodes a set of output values representing the elements of the output vector on the corresponding electrical signal, in which at least one telecommunication signal The signal is the form of a current whose amplitude corresponds to the corresponding element of the input vector multiplied by the sum of the corresponding elements of a column (row) of the matrix.

在另一觀點中,用於將輸入向量乘以給定矩陣的計算方法包括:編碼表示一組光訊號的相應光訊號上的輸入向量的元素的一組輸入值;將第一組一或多個裝置耦接至第一組一或多個波導,提供該組光訊號的第一子集,並且產生給定矩陣的第一子矩陣乘以在該組光訊號的第一子集上的數值的結果;將第二組一或多個裝置耦接至第二組一或多個波導,提供該組光訊號的第二子集,並且產生給定矩陣的第二子矩陣乘以在該組光訊號的第二子集上的數值的結果;將第三組一或多個裝置耦接至第三組一或多個波導,提供由第一光分離器所產生的該組光訊號的第一子集的副本,並且產生給定矩陣的第三子矩陣乘以在該組光訊號的第一子集上的數值的 結果;將第四組一或多個裝置耦接至第四組一或多個波導,提供由第二光分離器所產生的該組光訊號的第二子集的副本,並且產生給定矩陣的第四子矩陣乘以在該組光訊號的第二子集上的數值的結果;其中連接在一起的第一、第二、第三以及第四子矩陣形成給定矩陣;以及其中表示輸出向量的元素的至少一輸出值被編碼在電訊號上,輸出向量對應輸入向量乘以給定矩陣,電訊號由與第一組一或多個裝置和第二組一或多個裝置通訊的裝置產生。 In another aspect, a computational method for multiplying an input vector by a given matrix includes: encoding a set of input values representing elements of the input vector on a corresponding set of optical signals; converting a first set of one or more a device coupled to a first set of one or more waveguides, providing a first subset of the set of optical signals, and generating a first sub-matrix of a given matrix multiplied by a value over the first subset of the set of optical signals the result of; coupling a second set of one or more devices to a second set of one or more waveguides, providing a second subset of the set of optical signals, and producing a second sub-matrix of the given matrix multiplied by the set of a result of values on a second subset of optical signals; coupling a third set of one or more devices to a third set of one or more waveguides to provide a third set of optical signals generated by the first optical splitter a copy of a subset and produces a third submatrix of the given matrix multiplied by the value on the first subset of the set of optical signals Result; coupling a fourth set of one or more devices to a fourth set of one or more waveguides, providing a copy of a second subset of the set of optical signals produced by the second optical splitter, and producing a given matrix The result of multiplying the fourth sub-matrix by the value on the second subset of the set of optical signals; where the first, second, third and fourth sub-matrices connected together form a given matrix; and where represents the output At least one output value of an element of a vector is encoded on an electrical signal, the output vector corresponding to the input vector multiplied by a given matrix, the electrical signal being generated by a device communicating with the first group of one or more devices and the second group of one or more devices. produce.

計算方法的實施例可包括以下特徵的一或多個。舉例來說,第一組一或多個裝置、第二組一或多個裝置、第三組一或多個裝置、以及第四組一或多個裝置中的每一對組可以是互斥的(mutually exclusive)。 Embodiments of computing methods may include one or more of the following features. For example, each pair of a first group of one or more devices, a second group of one or more devices, a third group of one or more devices, and a fourth group of one or more devices may be mutually exclusive. (mutually exclusive).

在另一觀點中,計算裝置包括:第一組一或多個裝置,被配置以接收第一組光訊號,並且產生第一矩陣乘以在第一組光訊號上編碼的數值的結果;第二組一或多個裝置,被配置以接收第二組光訊號,並且產生第二矩陣乘以在第二組光訊號上編碼的數值的結果;第三組一或多個裝置,被配置以接收第三組光訊號,並且產生第三矩陣乘以在第三組光訊號上編碼的數值的結果;第四組一或多個裝置,被配置以接收第四組光訊號,並且產生第四矩陣乘以在第四組光訊號上編碼的數值的結果;以及可配置連接路徑,在第一組一或多個裝置、第二組一或多個裝置、第三組一或多個裝置或第四組一或多個裝置中的二或多個之間,其中可配置連接路徑的第一配置被配置以(1)提供第一組光訊號的副本作為第二組光訊 號,第三組光訊號或第四組光訊號中的至少一者,並且(2)將來自第一組一或多個裝置的一或多個訊號和來自第二組一或多個裝置的一或多個訊號提供至求和模組,求和模組被配置以產生電訊號,電訊號表示在由求和模組接收的訊號上編碼的數值的總和。 In another aspect, a computing device includes: a first set of one or more devices configured to receive a first set of optical signals and generate a first matrix multiplied by a value encoded on the first set of optical signals; A second group of one or more devices is configured to receive a second group of optical signals and generate a result of a second matrix multiplied by a value encoded on the second group of optical signals; a third group of one or more devices is configured to Receive a third group of optical signals and generate a result of a third matrix multiplied by a value encoded on the third group of optical signals; a fourth group of one or more devices configured to receive a fourth group of optical signals and generate a fourth a result of matrix multiplication by a value encoded on a fourth set of optical signals; and a configurable connection path between a first set of one or more devices, a second set of one or more devices, a third set of one or more devices, or Between two or more of the fourth set of one or more devices, wherein a first configuration of configurable connection paths is configured to (1) provide a copy of the first set of optical signals as a second set of optical signals number, at least one of the third group of optical signals or the fourth group of optical signals, and (2) combine one or more signals from the first group of one or more devices with the second group of one or more devices. One or more signals are provided to the summing module, which is configured to generate an electrical signal representing the sum of the values encoded on the signal received by the summing module.

在另一觀點中,計算裝置包括:第一組一或多個裝置,被配置以接收第一組光訊號,並且基於第一組光訊號的一或多個光訊號的光幅度調變產生結果;第二組一或多個裝置,被配置以接收第二組光訊號,並且基於第二組光訊號的一或多個光訊號的光幅度調變產生結果;第三組一或多個裝置,被配置以接收第三組光訊號,並且基於第三組光訊號的一或多個光訊號的光幅度調變產生結果;第四組一或多個裝置,被配置以接收第四組光訊號,並且基於第四組光訊號的一或多個光訊號的光幅度調變產生結果;以及可配置連接路徑,在第一組一或多個裝置、第二組一或多個裝置、第三組一或多個裝置或第四組一或多個裝置中的二或多個之間,其中可配置連接路徑的第一配置被配置以(1)提供第一組光訊號的副本作為第三組光訊號,或(2)將來自第一組一或多個裝置的一或多個訊號和來自第二組一或多個裝置的一或多個訊號提供至求和模組,求和模組被配置以產生電訊號,電訊號表示在由求和模組接收的訊號上編碼的數值的總和。 In another aspect, a computing device includes a first set of one or more devices configured to receive a first set of optical signals and generate a result based on optical amplitude modulation of the one or more optical signals of the first set of optical signals ; A second group of one or more devices configured to receive a second group of optical signals and generate a result based on optical amplitude modulation of the one or more optical signals of the second group of optical signals; A third group of one or more devices , is configured to receive a third group of optical signals, and generates a result based on the optical amplitude modulation of one or more optical signals of the third group of optical signals; a fourth group of one or more devices is configured to receive a fourth group of optical signals signals, and an optical amplitude modulation result of one or more optical signals based on the fourth group of optical signals; and a configurable connection path between the first group of one or more devices, the second group of one or more devices, the second group of one or more devices, and the second group of one or more devices. Between two or more of three groups of one or more devices or a fourth group of one or more devices, wherein a first configuration of configurable connection paths is configured to (1) provide a copy of the first group of optical signals as a third Three sets of optical signals, or (2) providing one or more signals from the first set of one or more devices and one or more signals from the second set of one or more devices to the summing module, summing The module is configured to generate an electrical signal representing a sum of values encoded on the signal received by the summing module.

計算裝置的實施例可包括以下特徵的一或多個。舉例來說,第一組一或多個裝置、第二組一或多個裝置、第三組一或多個裝置、以及第四組一或多個裝置中的每一對組可以是互斥的。 Computing device embodiments may include one or more of the following features. For example, each pair of a first group of one or more devices, a second group of one or more devices, a third group of one or more devices, and a fourth group of one or more devices may be mutually exclusive. of.

在一些實施例中,可配置連接路徑的第一配置被配置以(1)提供第一組光訊號的副本作為第三組光訊號,並且(2)將來自第一組一或多個裝置的一或多個訊號和來自第二組一或多個裝置的一或多個訊號提供至求和模組,求和模組被配置以產生電訊號,電訊號表示在由求和模組接收的至少兩個不同訊號上編碼的數值的總和。 In some embodiments, a first configuration of configurable connection paths is configured to (1) provide a copy of the first set of optical signals as a third set of optical signals, and (2) convert the first set of one or more devices from the first set of optical signals. One or more signals and one or more signals from the second set of one or more devices are provided to the summing module, the summing module being configured to generate an electrical signal, the electrical signal represented in the signal received by the summing module. The sum of the values encoded in at least two different signals.

在一些實施例中,可配置連接路徑的第一配置被配置以提供第一組光訊號的副本作為第三組光訊號,並且可配置連接路徑的第二配置可被配置以將來自第一組一或多個裝置的一或多個訊號和來自第二組一或多個裝置的一或多個訊號提供至求和模組,求和模組被配置以產生電訊號,電訊號表示在由求和模組接收的訊號上編碼的數值的總和。 In some embodiments, a first configuration of configurable connection paths is configured to provide a copy of the first set of optical signals as a third set of optical signals, and a second configuration of configurable connection paths can be configured to provide a copy of the first set of optical signals from the first set of optical signals. One or more signals from the one or more devices and one or more signals from the second group of one or more devices are provided to a summing module configured to generate an electrical signal represented by The sum of the values encoded in the signal received by the summation module.

在另一觀點中,計算裝置包括:複數光波導,其中一組多個輸入值被編碼在由光波導承載的相應光訊號上;複數複製模組,包括用於一或多個光訊號的至少兩個子集中的每一者,一或多個複製模組的相應一組被配置以將一或多個光訊號的子集分成二或多個光訊號的副本;複數乘法模組,包括用於一或多個光訊號的第一子集的至少兩個副本中的每一者,相應的乘法模組被配置以使用光幅度調變將第一子集的一或多個光訊號乘以一或多個數值;以及一或多個求和模組,包括用於二或多個乘法模組的結果,求和模組被配置以產生電訊號,電訊號表示二或多個乘法模組的結果的總和,其中該結果包括在電訊號上編碼的至少一結果,並且該結果是 從光訊號的一個副本導出的,其在被轉換成電訊號之前傳播通過不超過單一光幅度調變器。 In another aspect, a computing device includes: a plurality of optical waveguides, wherein a set of multiple input values is encoded on a corresponding optical signal carried by the optical waveguide; a plurality of replica modules including at least one for one or more optical signals. In each of the two subsets, a corresponding set of one or more replication modules is configured to divide the one or more subsets of the optical signal into two or more replicas of the optical signal; a complex multiplication module, including In each of the at least two copies of the first subset of the one or more optical signals, a corresponding multiplication module is configured to multiply the one or more optical signals of the first subset using optical amplitude modulation. one or more numerical values; and one or more summation modules, including results for two or more multiplication modules, the summation module being configured to generate an electrical signal, the electrical signal representing the two or more multiplication modules The sum of the results, wherein the result includes at least one result encoded on the electronic signal, and the result is Derived from a copy of an optical signal that propagates through no more than a single optical amplitude modulator before being converted into an electrical signal.

在另一觀點中,計算系統包括:第一單元,被配置以產生複數調變器控制訊號;以及處理器,包括:光源,被配置以提供複數光輸出;複數光調變器,耦接至光源和第一單元,光調變器被配置以基於調變器控制訊號,調變由光源所提供的光輸出,來產生光輸入向量,光輸入向量包括複數光訊號;以及矩陣乘法單元,耦接至光調變器和第一單元,矩陣乘法單元被配置以基於複數權重控制訊號,將光輸入向量轉換成類比輸出向量。計算系統亦包括第二單元,耦接至矩陣乘法單元,並且第二單元被配置以將類比輸出向量轉換成數位輸出向量;以及控制器,包括積體電路,被配置以執行以下操作:接收人工神經網路計算請求,人工神經網路計算請求包括輸入資料集,輸入資料集包括第一數位輸入向量;接收第一多個神經網路權重;以及透過第一單元,基於第一數位輸入向量產生第一多個調變器控制訊號,並且基於第一多個神經網路權重產生第一多個權重控制訊號。 In another aspect, a computing system includes: a first unit configured to generate a complex modulator control signal; and a processor including: a light source configured to provide a complex light output; the complex light modulator coupled to The light source and the first unit, the light modulator is configured to modulate the light output provided by the light source based on the modulator control signal to generate a light input vector, the light input vector includes a complex light signal; and a matrix multiplication unit, the coupling unit Connected to the light modulator and the first unit, the matrix multiplication unit is configured to convert the light input vector into an analog output vector based on the complex weight control signal. The computing system also includes a second unit coupled to the matrix multiplication unit, and the second unit is configured to convert the analog output vector into a digital output vector; and a controller, including an integrated circuit, configured to: receive an artificial Neural network calculation request, the artificial neural network calculation request includes an input data set, the input data set includes a first digital input vector; receiving a first plurality of neural network weights; and generating, through the first unit, based on the first digital input vector A first plurality of modulator control signals and a first plurality of weight control signals are generated based on the first plurality of neural network weights.

計算系統的實施例可包括以下特徵的一或多個。舉例來說,第一單元可包括數位類比轉換器(DAC)。 Computing system embodiments may include one or more of the following features. For example, the first unit may include a digital-to-analog converter (DAC).

在一些實施例中,第二單元可包括類比數位轉換器(ADC)。 In some embodiments, the second unit may include an analog-to-digital converter (ADC).

在一些實施例中,計算系統可包括記憶體單元,被配置以儲存資料集和複數神經網路權重。 In some embodiments, a computing system may include a memory unit configured to store data sets and complex neural network weights.

在一些實施例中,控制器的積體電路可更被配置以執行包括在上述記憶體單元中儲存輸入資料集和第一多個神經網路權重的操作。 In some embodiments, the integrated circuit of the controller may be further configured to perform operations including storing the input data set and the first plurality of neural network weights in the memory unit.

在一些實施例中,第一單元可被配置以產生權重控制訊號。 In some embodiments, the first unit may be configured to generate the weight control signal.

在一些實施例中,控制器可包括特殊應用積體電路(ASIC),並且接收人工神經網路計算請求的步驟可包括從通用資料處理器接收人工神經網路計算請求。 In some embodiments, the controller may include an application specific integrated circuit (ASIC), and receiving the artificial neural network calculation request may include receiving the artificial neural network calculation request from a general purpose data processor.

在一些實施例中,第一單元、處理單元、第二單元以及控制器可被設置在多晶片模組或積體電路中的至少一者上。接收人工神經網路計算請求的步驟可包括從第二資料處理器接收人工神經網路計算請求,其中第二資料處理器可在多晶片模組或積體電路的外部,第二資料處理器可透過通訊通道(communication channel)耦接至多晶片模組或積體電路,並且處理單元可以以比通訊通道的資料速率大至少一數量級的資料速率來處理資料。 In some embodiments, the first unit, the processing unit, the second unit, and the controller may be disposed on at least one of a multi-chip module or an integrated circuit. The step of receiving the artificial neural network calculation request may include receiving the artificial neural network calculation request from a second data processor, wherein the second data processor may be external to the multi-chip module or integrated circuit, and the second data processor may The processing unit is coupled to the multi-chip module or integrated circuit through a communication channel, and the processing unit can process data at a data rate that is at least one order of magnitude greater than the data rate of the communication channel.

在一些實施例中,第一單元、處理單元、第二單元以及控制器可被用於在複數迭代中重複的光電處理循環,並且光電處理循環包括:(1)基於調變器控制訊號之至少一者的至少一第一光調變操作,以及基於權重控制訊號之至少一者的至少一第二光調變操作,以及(2)(a)電求和操作或(b)電儲存操作中之至少一者。 In some embodiments, the first unit, the processing unit, the second unit, and the controller may be used for an optoelectronic processing cycle that is repeated in a plurality of iterations, and the optoelectronic processing cycle includes: (1) based on at least one of the modulator control signals; at least one first light modulation operation of one, and at least one second light modulation operation of at least one based on the weighted control signal, and (2) (a) electrical summing operation or (b) electrical storage operation At least one of them.

在一些實施例中,光電處理循環可包括電儲存操作,並且電儲存操作使用耦接至控制器的記憶體單元來執行,其中 藉由控制器所執行的操作可更包括在記憶體單元中儲存輸入資料集和第一多個神經網路權重。 In some embodiments, the optoelectronic processing cycle may include electrical storage operations, and the electrical storage operations are performed using a memory unit coupled to the controller, wherein The operations performed by the controller may further include storing the input data set and the first plurality of neural network weights in the memory unit.

在一些實施例中,光電處理循環可包括電求和操作,並且電求和操作可使用在矩陣乘法單元內的電求和模組來執行,其中電求和模組可被配置以產生對應類比輸出向量的元素的電流,電流表示光輸入向量的相應元素乘以相應神經網路權重的總和。 In some embodiments, the optoelectronic processing loop may include an electrical summation operation, and the electrical summation operation may be performed using an electrical summation module within a matrix multiplication unit, wherein the electrical summation module may be configured to generate a corresponding analog The current of an element of the output vector, where the current represents the sum of the corresponding element of the light input vector multiplied by the corresponding neural network weight.

在一些實施例中,光電處理循環可包括至少一訊號路徑,在訊號路徑上,基於調變器控制訊號之至少一者,在單一循環迭代中執行不超過一個第一光調變操作,並且基於權重控制訊號之至少一者,在單一循環迭代中執行不超過一個第二光調變操作。 In some embodiments, an optoelectronic processing loop may include at least one signal path on which no more than one first optical modulation operation is performed in a single loop iteration based on at least one of the modulator control signals, and based on At least one of the weighted control signals performs no more than one second light modulation operation in a single loop iteration.

在一些實施例中,第一光調變操作可藉由耦接至光輸出的光源和矩陣乘法單元的光調變器之一者來執行,並且第二光調變操作可藉由被包括在矩陣乘法單元中的光調變器來執行。 In some embodiments, the first light modulation operation may be performed by one of a light modulator coupled to a light source and a matrix multiplication unit of the light output, and the second light modulation operation may be performed by a light modulator included in The matrix multiplication unit is implemented in the optical modulator.

在一些實施例中,光電處理循環可包括至少一訊號路徑,在上述訊號路徑上,在單一循環迭代中執行不超過一個電儲存操作。 In some embodiments, an optoelectronic processing loop may include at least one signal path on which no more than one electrical storage operation is performed in a single loop iteration.

在一些實施例中,光源可包括雷射單元,被配置以產生光輸出。 In some embodiments, the light source may include a laser unit configured to generate a light output.

在一些實施例中,矩陣乘法單元可包括:輸入波導陣列,用於接收光輸入向量,並且光輸入向量包括第一光訊號陣列;光干涉單元,與輸入波導陣列光學通訊,用於執行將光輸入向 量轉換成第二光訊號陣列的線性轉換;以及輸出波導陣列,與光干涉單元光學通訊,用於引導第二光訊號陣列,其中在輸入波導陣列中的至少一輸入波導透過光干涉單元與在輸出波導陣列中的每一個輸出波導光學通訊。 In some embodiments, the matrix multiplication unit may include: an input waveguide array for receiving an optical input vector, and the optical input vector includes a first optical signal array; an optical interference unit in optical communication with the input waveguide array for performing the optical Input direction linear conversion into a second optical signal array; and an output waveguide array in optical communication with the optical interference unit for guiding the second optical signal array, wherein at least one input waveguide in the input waveguide array passes through the optical interference unit and is in Each output waveguide in the array of output waveguides communicates optically.

在一些實施例中,光干涉單元可包括:複數互連MZI,互連MZI中的每一個MZI包括:第一相位移器,被配置以改變MZI的分離比;以及第二相位移器,被配置以位移MZI的一個輸出的相位,其中第一相位移器和第二相位移器耦接至權重控制訊號。 In some embodiments, the optical interference unit may include: a plurality of interconnected MZIs, each of the interconnected MZIs including: a first phase shifter configured to change a separation ratio of the MZI; and a second phase shifter, Configured to shift a phase of an output of the MZI, wherein the first phase shifter and the second phase shifter are coupled to the weight control signal.

在一些實施例中,矩陣乘法單元可包括:複數複製模組,其中每一個複製模組對應光輸入向量的一或多個光訊號的子集,並且被配置以將一或多個光訊號的子集分成光訊號的二或多個副本;複數乘法模組,其中每一個乘法模組對應一或多個光訊號的子集,並且被配置以使用光幅度調變將子集的一或多個光訊號乘以一或多個矩陣元素值;以及一或多個求和模組,其中每一個求和模組被配置以產生電訊號,電訊號表示乘法模組的二或多個的結果的總和。 In some embodiments, the matrix multiplication unit may include: a plurality of replica modules, wherein each replica module corresponds to a subset of one or more optical signals of the optical input vector, and is configured to convert a subset of the one or more optical signals The subset is divided into two or more copies of the optical signal; complex multiplication modules, wherein each multiplication module corresponds to one or more subsets of the optical signal and is configured to use optical amplitude modulation to convert one or more of the subsets an optical signal multiplied by one or more matrix element values; and one or more summation modules, wherein each summation module is configured to generate an electrical signal representing the results of two or more of the multiplication modules the sum of.

在一些實施例中,至少一乘法模組包括光幅度調變器,光幅度調變器包括一個輸入端口和兩個輸出端口,並且可從兩個輸出端口提供一對相關光訊號,使得相關光訊號的幅度之間的差值對應於將輸入值乘以有號矩陣元素值的結果。 In some embodiments, at least one multiplication module includes an optical amplitude modulator. The optical amplitude modulator includes an input port and two output ports, and can provide a pair of correlated optical signals from the two output ports, such that the correlated optical signals The difference between the amplitudes of the signals corresponds to multiplying the input values by the signed matrix element values.

在一些實施例中,矩陣乘法單元可被配置以將光輸入向量乘以包括一或多個矩陣元素值的矩陣。 In some embodiments, the matrix multiplication unit may be configured to multiply the light input vector by a matrix including one or more matrix element values.

在一些實施例中,一組多個輸出值可被編碼在由一或多個求和模組所產生的相應電訊號上,並且一組多個輸出值中的輸出值可表示輸出向量的元素,輸出向量藉由光輸入向量乘以矩陣產生。 In some embodiments, a set of multiple output values may be encoded on a corresponding electrical signal generated by one or more summation modules, and an output value in the set of multiple output values may represent an element of an output vector. , the output vector is generated by multiplying the light input vector by the matrix.

在一些實施例中,計算系統可包括記憶體單元,記憶體單元被配置以儲存輸入資料集和神經網路權重,第二單元可包括類比數位轉換器(ADC)單元,並且操作可更包括:從類比數位轉換器單元得到對應矩陣乘法單元的類比輸出向量的第一多個數位輸出,第一多個數位輸出形成第一數位輸出向量;對第一數位輸出向量執行非線性轉換以產生第一轉換數位輸出向量;以及在記憶體單元中儲存第一轉換數位輸出向量。 In some embodiments, the computing system may include a memory unit configured to store the input data set and the neural network weights, the second unit may include an analog-to-digital converter (ADC) unit, and the operations may further include: A first plurality of digital outputs corresponding to the analog output vector of the matrix multiplication unit are obtained from the analog-to-digital converter unit, and the first plurality of digital outputs form a first digital output vector; a nonlinear conversion is performed on the first digital output vector to generate a first converting the digital output vector; and storing the first converted digital output vector in the memory unit.

在一些實施例中,計算系統具有第一循環週期,第一循環週期被定義為在記憶體單元中儲存輸入資料集和第一多個神經網路權重的步驟與在記憶體單元中儲存第一轉換數位輸出向量的步驟之間所經過的時間,以及其中第一循環週期小於或等於1ns。 In some embodiments, the computing system has a first cycle, the first cycle being defined as the steps of storing the input data set and the first plurality of neural network weights in the memory unit and storing the first plurality of neural network weights in the memory unit. The time elapsed between steps to convert the digital output vector, and where the first cycle period is less than or equal to 1 ns.

在一些實施例中,操作可更包括:輸出基於第一轉換數位輸出向量所產生的人工神經網路輸出。 In some embodiments, the operations may further include: outputting an artificial neural network output generated based on the first converted digital output vector.

在一些實施例中,第一單元可包括數位類比轉換器(DAC)單元,並且操作可更包括:透過數位類比轉換器單元,基於第一轉換數位輸出向量產生第二多個調變器控制訊號。 In some embodiments, the first unit may include a digital-to-analog converter (DAC) unit, and the operations may further include: generating, through the digital-to-analog converter unit, a second plurality of modulator control signals based on the first converted digital output vector. .

在一些實施例中,第一單元可包括數位類比轉換器(DAC)單元,人工神經網路計算請求可更包括第二多個神經網路權重,並且其中操作可更包括:基於第一多個數位輸出的獲得,透過數位類比轉換器單元基於第二多個神經網路權重產生第二多個權重控制訊號。 In some embodiments, the first unit may include a digital-to-analog converter (DAC) unit, the artificial neural network calculation request may further include a second plurality of neural network weights, and the operations may further include: based on the first plurality of The digital output is obtained through a digital-to-analog converter unit that generates a second plurality of weight control signals based on a second plurality of neural network weights.

在一些實施例中,第一多個神經網路權重和第二多個神經網路權重可對應人工神經網路的不同層。 In some embodiments, the first plurality of neural network weights and the second plurality of neural network weights may correspond to different layers of the artificial neural network.

在一些實施例中,第一單元可包括數位類比轉換器(DAC)單元,並且輸入資料集可更包括第二數位輸入向量。操作可更包括:透過數位類比轉換器單元,基於第二數位輸入向量產生第二多個調變器控制訊號;從類比數位轉換器單元得到對應矩陣乘法單元的類比輸出向量的第二多個數位輸出,第二多個數位輸出形成第二數位輸出向量;對第二數位輸出向量執行非線性轉換以產生第二轉換數位輸出向量;在記憶體單元中儲存第二轉換數位輸出向量;以及輸出基於第一轉換數位輸出向量和第二轉換數位輸出向量所產生的人工神經網路輸出。矩陣乘法單元的類比輸出向量可由基於第二多個調變器控制訊號所產生的第二光輸入向量產生,第二光輸入向量由矩陣乘法單元基於首先提到的權重控制訊號轉換。 In some embodiments, the first unit may include a digital-to-analog converter (DAC) unit, and the input data set may further include a second digital input vector. The operations may further include: generating a second plurality of modulator control signals based on the second digital input vector through the digital-to-analog converter unit; and obtaining the second plurality of digital bits corresponding to the analog output vector of the matrix multiplication unit from the analog-to-digital converter unit. Output, a second plurality of digital outputs to form a second digital output vector; perform a nonlinear transformation on the second digital output vector to generate a second transformed digital output vector; store the second transformed digital output vector in the memory unit; and output based on An artificial neural network output generated by the first transformed digital output vector and the second transformed digital output vector. The analog output vector of the matrix multiplication unit may be generated by a second optical input vector generated based on the second plurality of modulator control signals, the second optical input vector being converted by the matrix multiplication unit based on the first mentioned weight control signal.

在一些實施例中,計算系統可包括記憶體單元,記憶體單元被配置以儲存輸入資料集和神經網路權重,並且第二單元可包括類比數位轉換器(ADC)單元。計算系統可更包括:類比非線性單元,設置在矩陣乘法單元與類比數位轉換器單元之間,類比 非線性單元可被配置以從矩陣乘法單元接收複數輸出電壓、應用非線性傳遞函數、以及輸出複數轉換輸出電壓至類比數位轉換器單元。控制器的積體電路執行的操作可更包括:從類比數位轉換器單元得到對應轉換輸出電壓的第一多個轉換數位輸出電壓,第一多個轉換數位輸出電壓形成第一轉換數位輸出向量;以及在記憶體單元中儲存第一轉換數位輸出向量。 In some embodiments, the computing system may include a memory unit configured to store the input data set and the neural network weights, and the second unit may include an analog-to-digital converter (ADC) unit. The computing system may further include: an analog nonlinear unit, which is disposed between the matrix multiplication unit and the analog-to-digital converter unit. The nonlinear unit may be configured to receive the complex output voltage from the matrix multiplication unit, apply the nonlinear transfer function, and output the complex conversion output voltage to the analog-to-digital converter unit. The operations performed by the integrated circuit of the controller may further include: obtaining a first plurality of converted digital output voltages corresponding to the converted output voltage from the analog-to-digital converter unit, and the first plurality of converted digital output voltages forming a first converted digital output vector; and storing the first converted digital output vector in the memory unit.

在一些實施例中,控制器的積體電路可被配置以以產生大於或等於8GHz的頻率的第一多個調變器控制訊號。 In some embodiments, the integrated circuit of the controller may be configured to generate a first plurality of modulator control signals at a frequency greater than or equal to 8 GHz.

在一些實施例中,第一單元可包括數位類比轉換器(DAC)單元,第二單元可包括類比數位轉換器(ADC)單元。矩陣乘法單元可包括:光矩陣乘法單元,耦接至光調變器和數位類比轉換器單元,光矩陣乘法單元被配置以基於權重控制訊號將光輸入向量轉換成光輸出向量;以及光偵測單元,耦接至光矩陣乘法單元,並且被配置以產生對應光輸出向量的複數輸出電壓。 In some embodiments, the first unit may include a digital-to-analog converter (DAC) unit and the second unit may include an analog-to-digital converter (ADC) unit. The matrix multiplication unit may include: an optical matrix multiplication unit coupled to the light modulator and the digital-to-analog converter unit, the optical matrix multiplication unit being configured to convert the light input vector into the light output vector based on the weight control signal; and light detection A unit coupled to the optical matrix multiplication unit and configured to generate a complex output voltage corresponding to the optical output vector.

在一些實施例中,計算系統可更包括:類比記憶體單元,被設置在DAC單元與光調變器之間,類比記憶體單元被配置以儲存複數類比電壓,並且輸出儲存的類比電壓;以及類比非線性單元,被設置在光偵測單元與ADC單元之間,類比非線性單元被配置以從光偵測單元接收輸出電壓、應用非線性傳遞函數、以及輸出複數轉換輸出電壓。 In some embodiments, the computing system may further include: an analog memory unit disposed between the DAC unit and the light modulator, the analog memory unit configured to store a complex analog voltage and output the stored analog voltage; and The analog nonlinear unit is disposed between the light detection unit and the ADC unit, and is configured to receive an output voltage from the light detection unit, apply a nonlinear transfer function, and output a complex conversion output voltage.

在一些實施例中,類比記憶體單元可包括複數電容。 In some embodiments, analog memory cells may include complex capacitors.

在一些實施例中,類比記憶體單元可被配置以接收和儲存類比非線性單元的轉換輸出電壓,並且將儲存的轉換輸出電壓輸出至光調變器。操作可更包括:基於產生第一多個調變器控制訊號和第一多個權重控制訊號,在類比記憶體單元中儲存類比非線性單元的轉換輸出電壓;透過類比記憶體單元輸出儲存的轉換輸出電壓;從類比數位轉換器單元得到第二多個轉換數位輸出電壓,第二多個轉換數位輸出電壓形成第二轉換數位輸出向量;以及在記憶體單元中儲存第二轉換數位輸出向量。 In some embodiments, the analog memory unit may be configured to receive and store the converted output voltage of the analog nonlinear unit and output the stored converted output voltage to the light modulator. The operations may further include: storing the conversion output voltage of the analog nonlinear unit in the analog memory unit based on generating the first plurality of modulator control signals and the first plurality of weight control signals; and outputting the stored conversion through the analog memory unit. Output voltage; obtain a second plurality of converted digital output voltages from the analog-to-digital converter unit, the second plurality of converted digital output voltages form a second converted digital output vector; and store the second converted digital output vector in the memory unit.

在一些實施例中,計算系統可包括記憶體單元,被配置以儲存輸入資料集和神經網路權重,並且人工神經網路計算請求的輸入資料集可包括複數數位輸入向量。光源可被配置以產生複數波長。光調變器可包括:複數光調變器組,被配置以產生複數光輸入向量,每一個光調變器組對應一個波長,並且產生具有相應波長的相應光輸入向量;以及光多路複用器,被配置以將光輸入向量組合成包括波長的組合光輸入向量,其中光偵測單元可更被配置以多路分解波長,並且產生複數多路分解輸出電壓。操作可包括:從類比數位轉換器單元得到複數數位多路分解光輸出,數位多路分解光輸出形成複數第一數位輸出向量,其中每一個第一數位輸出向量對應一個波長;對每一個第一數位輸出向量執行非線性轉換,以產生複數轉換第一數位輸出向量;以及在記憶體單元中儲存轉換第一數位輸出向量。每一個數位輸入向量對應一個光輸入向量。 In some embodiments, the computing system may include a memory unit configured to store the input data set and the neural network weights, and the input data set requested by the artificial neural network calculation may include a complex numeric input vector. The light source can be configured to produce a complex number of wavelengths. The optical modulator may include: a plurality of optical modulator groups configured to generate a plurality of optical input vectors, each optical modulator group corresponding to a wavelength and generating a corresponding optical input vector having a corresponding wavelength; and an optical multiplexer The user is configured to combine the light input vectors into a combined light input vector including wavelengths, wherein the light detection unit may be further configured to demultiplex the wavelengths and generate a plurality of demultiplexed output voltages. The operation may include: obtaining a complex digital demultiplexed light output from the analog-to-digital converter unit, and the digital demultiplexed light output forming a complex first digital output vector, wherein each first digital output vector corresponds to a wavelength; for each first performing a non-linear conversion on the digital output vector to generate a complex converted first digital output vector; and storing the converted first digital output vector in the memory unit. Each digital input vector corresponds to a light input vector.

在一些實施例中,計算系統可包括記憶體單元,被配置以儲存輸入資料集和神經網路權重,第二單元可包括類比數位轉換器(ADC)單元,並且人工神經網路計算請求可包括複數數位輸入向量。光源可被配置以產生複數波長。光調變器可包括:複數光調變器組,被配置以產生複數光輸入向量,每一個光調變器組對應一個波長者,並且產生具有相應波長的相應光輸入向量;以及光多路複用器,被配置以將光輸入向量組合成包括波長的組合光輸入向量。操作可包括:從類比數位轉換器單元得到對應光輸出向量的第一多個數位光輸出,光輸出向量包括波長,第一多個數位光輸出形成第一數位輸出向量;對第一數位輸出向量執行非線性轉換,以產生第一轉換數位輸出向量;以及在記憶體單元中上述第一轉換數位輸出向量。 In some embodiments, the computing system may include a memory unit configured to store the input data set and the neural network weights, the second unit may include an analog-to-digital converter (ADC) unit, and the artificial neural network calculation request may include Complex digit input vector. The light source can be configured to produce a complex number of wavelengths. The optical modulator may include: a plurality of optical modulator groups configured to generate a plurality of optical input vectors, each optical modulator group corresponding to one wavelength, and generating a corresponding optical input vector having a corresponding wavelength; and an optical multiplexer A multiplexer configured to combine the optical input vectors into a combined optical input vector including wavelengths. The operations may include: obtaining a first plurality of digital light outputs corresponding to a light output vector from the analog-to-digital converter unit, the light output vector including a wavelength, and the first plurality of digital light outputs forming a first digital output vector; performing a non-linear transformation to generate a first transformed digital output vector; and storing the first transformed digital output vector in a memory unit.

在一些實施例中,第一單元可包括數位類比轉換器(DAC)單元,第二單元可包括類比數位轉換器(ADC)單元,並且數位類比轉換器單元可包括:1位元數位類比轉換器子單元,被配置以產生複數1位元調變器控制訊號。類比數位轉換器單元的解析度可為1位元,並且第一數位輸入向量的解析度可為N位元。操作可更包括:將第一數位輸入向量分解為N個1位元輸入向量,N個1位元輸入向量之每一者對應第一數位輸入向量的N位元之一者;透過1位元數位類比轉換器子單元產生對應N個1位元輸入向量的N個1位元調變器控制訊號的序列;從類比數位轉換器單元得到對應N個1位元調變器控制訊號的序列的N個數位1位元光輸出的序列;從 N個數位1位元光輸出的序列建構N位元數位輸出向量;對建構的N位元數位輸出向量執行非線性轉換,以產生轉換N位元數位輸出向量;以及在記憶體單元中儲存轉換N位元數位輸出向量。 In some embodiments, the first unit may include a digital-to-analog converter (DAC) unit, the second unit may include an analog-to-digital converter (ADC) unit, and the digital-to-analog converter unit may include: a 1-bit digital-to-analog converter A subunit configured to generate a plurality of 1-bit modulator control signals. The resolution of the analog-to-digital converter unit may be 1 bit, and the resolution of the first digital input vector may be N bits. The operation may further include: decomposing the first digit input vector into N 1-bit input vectors, each of the N 1-bit input vectors corresponding to one of the N bits of the first digit input vector; through the 1-bit The digital-to-analog converter subunit generates a sequence of N 1-bit modulator control signals corresponding to N 1-bit input vectors; and obtains a sequence of N 1-bit modulator control signals corresponding to the analog-to-digital converter unit. Sequence of N digital 1-bit light outputs; starting from A sequence of N digital 1-bit light outputs constructs an N-bit digital output vector; performs a nonlinear transformation on the constructed N-bit digital output vector to produce a transformed N-bit digital output vector; and stores the transformation in a memory unit N-bit digital output vector.

在一些實施例中,計算系統可包括記憶體單元,被配置以儲存輸入資料集和神經網路權重。記憶體單元可包括:數位輸入向量記憶體,被配置以儲存第一數位輸入向量,並且包括至少一靜態隨機存取記憶體;以及神經網路權重記憶體,被配置以儲存神經網路權重,並且包括至少一動態隨機存取記憶體。 In some embodiments, a computing system may include a memory unit configured to store input data sets and neural network weights. The memory unit may include: a digital input vector memory configured to store the first digital input vector and including at least one static random access memory; and a neural network weight memory configured to store the neural network weights, and includes at least one dynamic random access memory.

在一些實施例中,第一單元可包括數位類比轉換器(DAC)單元,數位類比轉換器單元包括:第一數位類比轉換器子單元,被配置以產生調變器控制訊號;以及第二數位類比轉換器子單元,被配置以產生權重控制訊號,其中第一數位類比轉換器子單元和第二數位類比轉換器子單元是不同的。 In some embodiments, the first unit may include a digital-to-analog converter (DAC) unit including: a first digital-to-analog converter subunit configured to generate the modulator control signal; and a second digital-to-analog converter subunit. The analog converter sub-unit is configured to generate the weight control signal, wherein the first digital-to-analog converter sub-unit and the second digital-to-analog converter sub-unit are different.

在一些實施例中,光源可包括:雷射源,被配置以產生光;以及光功率分離器,被配置以將由雷射源所產生的光分成光輸出,其中每一個光輸出具有大抵相同的功率。 In some embodiments, the light source may include: a laser source configured to generate light; and an optical power splitter configured to split the light generated by the laser source into optical outputs, wherein each optical output has substantially the same power.

在一些實施例中,光調變器包括MZI涉調變器、環形共振調變器或電吸收調變器中的一個。 In some embodiments, the optical modulator includes one of an MZI modulator, a ring resonance modulator, or an electroabsorption modulator.

在一些實施例中,光偵測單元可包括:複數光偵測器;以及複數放大器,被配置以將由光偵測器所產生的光電流轉換成輸出電壓。 In some embodiments, the light detection unit may include: a plurality of light detectors; and a plurality of amplifiers configured to convert the photocurrent generated by the light detector into an output voltage.

在一些實施例中,積體電路可以是特殊應用積體電路。 In some embodiments, the integrated circuit may be an application special integrated circuit.

在一些實施例中,計算系統可包括複數光波導,光波導耦接在光調變器與矩陣乘法單元之間,其中光輸入向量可包括一組多個輸入值,一組多個輸入值被編碼在由光波導所承載的相應光訊號上,並且由一個光波導者所承載的每一個光訊號可包括具有共同波長的光波,共同波長於所有光訊號大抵相同。 In some embodiments, the computing system may include a complex optical waveguide coupled between the optical modulator and the matrix multiplication unit, wherein the optical input vector may include a set of multiple input values, the set of multiple input values being The encoding is on a corresponding optical signal carried by an optical waveguide, and each optical signal carried by an optical waveguide may include light waves having a common wavelength, which is approximately the same for all optical signals.

在一些實施例中,複製模組可包括具有光分離器的至少一複製模組,光分離器在輸入端口將光波的功率的既定比例發送至第一輸出端口,並且在輸入端口將光波的功率的剩餘比例發送至第二輸出端口。 In some embodiments, the replica module may include at least one replica module having an optical splitter that sends a predetermined proportion of the power of the light wave at the input port to the first output port, and the power of the light wave at the input port. The remaining proportion is sent to the second output port.

在一些實施例中,光分離器可包括波導光分離器,波導光分離器將由輸入光波導所引導的光波的功率的既定比例發送至第一輸出光波導,並且將由輸入光波導所引導的光波的功率的剩餘比例發送至第二輸出光波導。 In some embodiments, the optical splitter may include a waveguide optical splitter that sends a determined proportion of the power of the optical wave guided by the input optical waveguide to the first output optical waveguide, and that transmits a prescribed proportion of the power of the optical wave guided by the input optical waveguide. The remaining proportion of the power is sent to the second output optical waveguide.

在一些實施例中,輸入光波導的引導模式可被絕熱地耦接至第一輸出光波導和第二輸出光波導中之每一者的複數引導模式。 In some embodiments, the guided mode of the input optical waveguide can be adiabatically coupled to the plurality of guided modes of each of the first and second output optical waveguides.

在一些實施例中,光分離器可包括光束分離器,光束分離器包括至少一表面,其在輸入端口傳輸光波的功率的既定比例,並且在輸入端口反射光波的功率的剩餘比例。 In some embodiments, the optical splitter may include a beam splitter including at least one surface that transmits a determined proportion of the power of the light wave at the input port and reflects a remaining proportion of the power of the light wave at the input port.

在一些實施例中,至少一光波導可包括耦接至光耦合器的光纖,光耦合器將光纖的引導模式耦接至自由空間傳播模式。 In some embodiments, at least one optical waveguide may include an optical fiber coupled to an optical coupler that couples the guided mode of the optical fiber to the free space propagating mode.

在一些實施例中,乘法模組可包括至少一相干敏感乘法模組,相干敏感乘法模組被配置以基於複數光波之間的干涉,使用光幅度調變將第一子集的一或多個光訊號乘以一或多個矩陣元素值,光波具有相干長度,相干長度至少與通過相干敏感乘法模組的傳播距離一樣長。 In some embodiments, the multiplication module may include at least one coherence-sensitive multiplication module configured to use optical amplitude modulation to convert one or more of the first subset based on interference between complex light waves. The optical signal is multiplied by one or more matrix element values, and the light wave has a coherence length that is at least as long as the propagation distance through the coherence-sensitive multiplication module.

在一些實施例中,相干敏感乘法模組可包括馬赫曾德爾干涉儀(MZI),馬赫曾德爾干涉儀將輸入光波導所引導的光波分成馬赫曾德爾干涉儀的第一光波導臂和馬赫曾德爾干涉儀的第二光波導臂,第一光波導臂包括相位移器,相位移器相對於第二光波導臂的相位延遲產生相對相位移,並且馬赫曾德爾干涉儀可將來自第一光波導臂和第二光波導臂的複數光波組合成至少一輸出光波導。 In some embodiments, the coherence-sensitive multiplication module may include a Mach-Zehnder interferometer (MZI) that divides light waves guided by an input optical waveguide into a first optical waveguide arm of the MZI and a Mach-Zehnder interferometer. The second optical waveguide arm of the Del interferometer, the first optical waveguide arm includes a phase shifter, the phase shifter generates a relative phase shift with respect to the phase delay of the second optical waveguide arm, and the Mach-Zehnder interferometer can convert light from the first optical waveguide arm. The plurality of light waves of the waveguide arm and the second optical waveguide arm are combined into at least one output optical waveguide.

在一些實施例中,MZI可將來自第一光波導臂和第二光波導臂的複數光波組合成第一輸出光波導和第二輸出光波導中的每一者,第一光偵測器可從第一輸出光波導接收光波以產生第一光電流,第二光偵測器可從第二輸出光波導接收光波以產生第二光電流,並且相干敏感乘法模組的結果可包括第一光電流與第二光電流之間的差值。 In some embodiments, the MZI can combine the plurality of light waves from the first and second optical waveguide arms into each of the first and second output optical waveguides, and the first optical detector can The light wave is received from the first output optical waveguide to generate the first photocurrent, the second photodetector can receive the light wave from the second output optical waveguide to generate the second photocurrent, and the result of the coherent sensitive multiplication module can include the first light The difference between the current and the second photocurrent.

在一些實施例中,相干敏感乘法模組可包括一或多個環形共振器,環形共振器包括耦接至第一光波導的至少一環形共振器和耦接至第二光波導的至少一環形共振器。 In some embodiments, the coherence-sensitive multiplying module may include one or more ring resonators, including at least one ring resonator coupled to the first optical waveguide and at least one ring resonator coupled to the second optical waveguide. Resonator.

在一些實施例中,第一光偵測器可接收來自第一光波導的光波,以產生第一光電流,第二光偵測器可接收來自第二光波導的光波,以產生第二光電流,並且相干敏感乘法模組的結果可包括第一光電流與第二光電流之間的差值。 In some embodiments, the first photodetector can receive the light wave from the first optical waveguide to generate the first photocurrent, and the second photodetector can receive the light wave from the second optical waveguide to generate the second light. current, and the result of the coherence sensitive multiplication module may include a difference between the first photocurrent and the second photocurrent.

在一些實施例中,乘法模組可包括至少一相干非敏感乘法模組,相干非敏感乘法模組被配置以基於光波內的能量吸收,使用光幅度調變將第一子集的一或多個光訊號乘以一或多個矩陣元素值。 In some embodiments, the multiplication module may include at least one coherent insensitive multiplication module configured to use optical amplitude modulation to convert one or more of the first subset based on energy absorption within the light wave. The optical signal is multiplied by one or more matrix element values.

在一些實施例中,相干非敏感乘法模組可包括電吸收調變器。 In some embodiments, the coherent insensitive multiplying module may include an electroabsorption modulator.

在一些實施例中,一或多個求和模組可包括具有以下部件的至少一求和模組:(1)二或多個輸入導體,每一個輸入導體以輸入電流的形式承載電訊號,輸入電流的幅度表示相應一個乘法模組的相應結果,以及(2)至少一輸出導體,輸出導體承載表示輸出電流形式的相應結果的總和的電訊號,輸出電流與輸入電流之總和成比例。 In some embodiments, one or more summing modules may include at least one summing module having the following components: (1) two or more input conductors, each input conductor carrying an electrical signal in the form of an input current, The magnitude of the input current represents the corresponding result of one of the multiplication modules, and (2) at least one output conductor carrying an electrical signal representative of the sum of the corresponding results in the form of an output current, the output current being proportional to the sum of the input currents.

在一些實施例中,二或多個輸入導體和輸出導體可包括複數導線,其在導線之間的一或多個接點相遇,並且輸出電流大抵等於輸入電流之總和。 In some embodiments, two or more input conductors and output conductors may include a plurality of conductors that meet at one or more junctions between the conductors, and the output current is approximately equal to the sum of the input currents.

在一些實施例中,輸入電流的至少一第一輸入電流可以在至少一光電流的形式提供,光電流由至少一光偵測器產生,光偵測器接收由乘法模組的第一乘法模組所產生的光訊號。 In some embodiments, at least a first input current of the input current can be provided in the form of at least one photocurrent, the photocurrent is generated by at least one photodetector, and the photodetector receives the first multiplication module from the multiplication module. The light signal generated by the group.

在一些實施例中,第一輸入電流可以在兩個光電流之間的差值的形式提供,兩個光電流由不同相應光偵測器產生,光偵測器接收由第一乘法模組所產生的不同相應光訊號。 In some embodiments, the first input current may be provided in the form of a difference between two photocurrents generated by different corresponding photodetectors, and the photodetectors receive the data generated by the first multiplication module. Different corresponding light signals generated.

在一些實施例中,一或多個光訊號的第一子集的副本之一者可由單一光訊號組成,其中單一光訊號上的一個輸入值被編碼。 In some embodiments, one of the copies of the first subset of the one or more optical signals may consist of a single optical signal on which one input value is encoded.

在一些實施例中,對應第一子集的副本的乘法模組可將編碼的輸入值乘以單一矩陣元素值。 In some embodiments, a multiplication module corresponding to a copy of the first subset may multiply the encoded input value by a single matrix element value.

在一些實施例中,一或多個光訊號的第一子集的副本之一者可包括的光訊號多於一個,並且少於所有光訊號的數量,其中光訊號的多個輸入值被編碼。 In some embodiments, one of the copies of the first subset of one or more optical signals may include more than one optical signal and less than the number of all optical signals in which multiple input values of the optical signal are encoded .

在一些實施例中,對應第一子集的副本的乘法模組可將編碼的輸入值乘以不同的相應矩陣元素值。 In some embodiments, a multiplication module corresponding to a copy of the first subset may multiply the encoded input value by a different corresponding matrix element value.

在一些實施例中,對應一或多個光訊號的第一子集的不同相應副本的不同乘法模組可被包含在不同裝置,不同裝置進行光學通訊以在不同裝置之間傳輸一或多個光訊號的第一子集的副本之一者。 In some embodiments, different multiplication modules corresponding to different respective copies of the first subset of one or more optical signals may be included in different devices, and the different devices may optically communicate to transmit one or more of the optical signals between the different devices. One of the copies of the first subset of the optical signal.

在一些實施例中,光波導的二或多個、複製模組的二或多個、乘法模組的二或多個、以及一或多個求和模組的至少一者可被設置在公共裝置的基板上。 In some embodiments, at least one of two or more optical waveguides, two or more replication modules, two or more multiplication modules, and one or more summing modules may be disposed in a common on the base of the device.

在一些實施例中,裝置執行向量矩陣乘法,其中可提供輸入向量作為一組光訊號,並且可提供輸出向量作為一組電訊號。 In some embodiments, the device performs vector matrix multiplication, where the input vectors can be provided as a set of optical signals and the output vectors can be provided as a set of electrical signals.

在一些實施例中,計算裝置可更包括累加器,累加器整合對應乘法模組或求和模組的輸出的輸入電訊號,其中可使用時域編碼來編碼輸入電信號,時域編碼在多個時槽的每一者內使用開關幅度調變,並且累加器可產生輸出電訊號,輸出電訊號以多於兩個幅度準位來編碼,幅度準位對應多個時槽上的時域編碼的不同佔空比。 In some embodiments, the computing device may further include an accumulator that integrates the input electrical signal corresponding to the output of the multiplication module or the summation module, wherein the input electrical signal may be encoded using time domain coding. The time domain coding is performed on multiple Switching amplitude modulation is used within each of the time slots, and the accumulator can generate an output electrical signal encoded with more than two amplitude levels, the amplitude levels corresponding to the time domain encoding on the multiple time slots of different duty cycles.

在一些實施例中,乘法模組的二或多個之每一者對應一或多個光訊號的不同子集。 In some embodiments, each of the two or more multiplying modules corresponds to a different subset of one or more optical signals.

在一些實施例中,計算裝置可更包括用於一或多個光訊號的第二子集的每一個副本,與一或多個光訊號的第一子集中的光訊號不同,乘法模組被配置以使用光幅度調變將第二子集的一個或多個光訊號乘以一或多個矩陣元素值。 In some embodiments, the computing device may further include a multiplication module for each replica of the second subset of one or more optical signals, as opposed to the optical signals in the first subset of one or more optical signals. Configured to multiply the one or more optical signals of the second subset by one or more matrix element values using optical amplitude modulation.

在另一觀點,計算系統包括:記憶體單元,被配置以儲存資料集和複數神經網路權重;以及驅動器單元,被配置以產生複數調變器控制訊號。計算系統包括光電處理器,光電處理器包括:光源,被配置以提供複數光輸出;複數光調變器,耦接至光源 和驅動器單元,光調變器被配置以基於調變器控制訊號,調變由光源所產生的光輸出,來產生光輸入向量;矩陣乘法單元,耦接至光調變器和驅動器單元,矩陣乘法單元被配置以基於複數權重控制訊號將光輸入向量轉換成類比輸出向量;以及比較器單元,耦接至矩陣乘法單元,並且被配置以將類比輸出向量轉換成複數數位1位元輸出。計算系統包括控制器,控制器包括積體電路,被配置以執行以下操作:接收包括輸入資料集和第一多個神經網路權重的人工神經網路計算請求,其中輸入資料集包括具有N位元解析度的第一數位輸入向量;在記憶體單元中儲存輸入資料集和第一多個神經網路權重;將第一數位輸入向量分解為N個1位元輸入向量,每一個N個1位元輸入向量對應第一數位輸入向量的N位元中的一個;透過驅動器單元產生對應N個1位元輸入向量的N個1位元調變器控制訊號的序列;從比較器單元得到對應N個1位元調變器控制訊號的序列的N個數位1位元輸出的序列;從N個數位1位元光輸出的序列建構N位元數位輸出向量;對建構的N位元數位輸出向量執行非線性轉換,以產生轉換N位元數位輸出向量;以及在記憶體單元中儲存轉換N位元數位輸出向量。 In another aspect, a computing system includes a memory unit configured to store a data set and a complex neural network weight; and a driver unit configured to generate a complex modulator control signal. The computing system includes an optoelectronic processor, the optoelectronic processor including: a light source configured to provide a complex light output; a complex light modulator coupled to the light source and a driver unit, the light modulator is configured to modulate the light output generated by the light source to generate a light input vector based on the modulator control signal; the matrix multiplication unit is coupled to the light modulator and the driver unit, the matrix The multiplication unit is configured to convert the optical input vector into an analog output vector based on the complex weight control signal; and the comparator unit is coupled to the matrix multiplication unit and configured to convert the analog output vector into a complex digital 1-bit output. The computing system includes a controller including an integrated circuit configured to: receive an artificial neural network calculation request including an input data set and a first plurality of neural network weights, wherein the input data set includes an N-bit The first digit input vector of element resolution; store the input data set and the first plurality of neural network weights in the memory unit; decompose the first digit input vector into N 1-bit input vectors, each with N 1's The bit input vector corresponds to one of the N bits of the first digital input vector; the driver unit generates a sequence of N 1-bit modulator control signals corresponding to the N 1-bit input vectors; the corresponding sequence is obtained from the comparator unit A sequence of N digital 1-bit outputs from a sequence of N 1-bit modulator control signals; constructs an N-bit digital output vector from a sequence of N digital 1-bit light outputs; constructs an N-bit digital output vector Performing a nonlinear transformation on the vector to generate a transformed N-bit digital output vector; and storing the transformed N-bit digital output vector in a memory unit.

計算系統的實施例可包括以下特徵的一或多個。舉例來說,接收人工神經網路計算請求可包括從通用電腦(general purpose computer)接收人工神經網路計算請求。 Computing system embodiments may include one or more of the following features. For example, receiving the artificial neural network calculation request may include receiving the artificial neural network calculation request from a general purpose computer.

在一些實施例中,驅動器單元可被配置以產生權重控制訊號。 In some embodiments, the driver unit may be configured to generate the weight control signal.

在一些實施例中,矩陣乘法單元可包括:光矩陣乘法單元,耦接至光調變器和驅動器單元,光矩陣乘法單元被配置以基於權重控制訊號將光輸入向量轉換成光輸出向量;以及光偵測單元,耦接至光矩陣乘法單元,並且被配置以產生對應光輸出向量的複數輸出電壓。 In some embodiments, the matrix multiplication unit may include: an optical matrix multiplication unit coupled to the light modulator and the driver unit, the optical matrix multiplication unit configured to convert the light input vector into the light output vector based on the weight control signal; and The light detection unit is coupled to the light matrix multiplication unit and configured to generate a complex output voltage corresponding to the light output vector.

在一些實施例中,矩陣乘法單元可包括:輸入波導陣列,用於接收光輸入向量;光干涉單元,與輸入波導陣列光學通訊,用於執行將光輸入向量轉換成第二光訊號陣列的線性轉換;以及輸出波導陣列,與光干涉單元光學通訊,用於引導第二光訊號陣列,其中在輸入波導陣列中的至少一輸入波導透過光干涉單元與在輸出波導陣列中的每一個輸出波導光學通訊。 In some embodiments, the matrix multiplication unit may include: an input waveguide array for receiving the light input vector; an optical interference unit in optical communication with the input waveguide array for performing linear conversion of the light input vector into the second optical signal array. conversion; and an output waveguide array in optical communication with the optical interference unit for guiding a second optical signal array, wherein at least one input waveguide in the input waveguide array passes through the optical interference unit and each output waveguide in the output waveguide array is optically Communication.

在一些實施例中,光干涉單元可包括:複數互連MZI,互連MZI中的每一個MZI包括:第一相位移器,被配置以改變MZI的分離比;以及第二相位移器,被配置以位移MZI的一個輸出的相位,其中第一相位移器和第二相位移器可耦接至權重控制訊號。 In some embodiments, the optical interference unit may include: a plurality of interconnected MZIs, each of the interconnected MZIs including: a first phase shifter configured to change a separation ratio of the MZI; and a second phase shifter, Configured to shift a phase of an output of the MZI, wherein the first phase shifter and the second phase shifter may be coupled to the weight control signal.

在一些實施例中,矩陣乘法單元可包括:複數複製模組,包括用於光輸入向量的一或多個光訊號的至少兩個子集中的每一者,一或多個複製模組的相應一組被配置以將一或多個光訊號的子集分成二或多個光訊號的副本;複數乘法模組,包括用於一或多個光訊號的第一子集的至少兩個副本中的每一者,相應的乘法模組被配置以使用光幅度調變將第一子集的一或多個光訊號乘以一或 多個矩陣元素值;以及一或多個求和模組,包括用於二或多個乘法模組的結果,求和模組被配置以產生電訊號,電訊號表示二或多個乘法模組的結果的總和。 In some embodiments, the matrix multiplication unit may include: a complex replication module including each of at least two subsets of the one or more optical signals for the optical input vector, a corresponding A set configured to divide a subset of one or more optical signals into two or more copies of the optical signal; a complex multiplication module included for use in at least two copies of a first subset of the one or more optical signals In each, the corresponding multiplication module is configured to use optical amplitude modulation to multiply the one or more optical signals of the first subset by one or a plurality of matrix element values; and one or more summation modules including results for two or more multiplication modules, the summation module being configured to generate an electrical signal representing the two or more multiplication modules the sum of the results.

在一些實施例中,至少一乘法模組可包括光幅度調變器,光幅度調變器包括一個輸入端口和兩個輸出端口,並且可從兩個輸出端口提供一對相關光訊號,使得相關光訊號的幅度之間的差值對應於將輸入值乘以有號矩陣元素值的結果。 In some embodiments, at least one multiplication module may include an optical amplitude modulator. The optical amplitude modulator may include an input port and two output ports, and may provide a pair of correlated optical signals from the two output ports, such that the correlation The difference between the amplitudes of the optical signals corresponds to multiplying the input value by the signed matrix element value.

在一些實施例中,矩陣乘法單元可被配置以將光輸入向量乘以包括一或多個矩陣元素值的矩陣。 In some embodiments, the matrix multiplication unit may be configured to multiply the light input vector by a matrix including one or more matrix element values.

在一些實施例中,一組多個輸出值可被編碼在由一或多個求和模組所產生的相應電訊號上,並且一組多個輸出值中的輸出值可表示輸出向量的元素,輸出向量藉由光輸入向量乘以矩陣產生。 In some embodiments, a set of multiple output values may be encoded on a corresponding electrical signal generated by one or more summation modules, and an output value in the set of multiple output values may represent an element of an output vector. , the output vector is generated by multiplying the light input vector by the matrix.

在另一觀點,提供了一種計算方法,用於在具有矩陣乘法單元的系統中執行人工神經網路計算,矩陣乘法單元被配置以基於複數權重控制訊號將光輸入向量轉換成類比輸出向量。計算方法包括:接收包括輸入資料集和第一多個神經網路權重的人工神經網路計算請求,其中輸入資料集包括第一數位輸入向量;在記憶體單元中儲存輸入資料集和第一多個神經網路權重;基於第一數位輸入向量產生第一多個調變器控制訊號,並且基於第一多個神經網路權重產生第一多個權重控制訊號;得到對應矩陣乘發單元的輸出向量的第一多個數位輸出,第一多個數位輸出形成第一數位輸出向 量;藉由控制器對第一數位輸出向量執行非線性轉換,以產生第一轉換數位輸出向量;在記憶體單元中儲存第一轉換數位輸出向量;以及藉由控制器輸出基於第一轉換數位輸出向量所產生的人工神經網路輸出。 In another aspect, a computational method is provided for performing artificial neural network calculations in a system having a matrix multiplication unit configured to convert an optical input vector into an analog output vector based on a complex weight control signal. The calculation method includes: receiving an artificial neural network calculation request including an input data set and a first plurality of neural network weights, wherein the input data set includes a first digital input vector; and storing the input data set and the first plurality of neural network weights in a memory unit. neural network weights; generating a first plurality of modulator control signals based on the first digital input vector, and generating a first plurality of weight control signals based on the first plurality of neural network weights; obtaining the output of the corresponding matrix multiplication unit A first plurality of digital outputs of the vector, the first plurality of digital outputs form a first digital output direction quantity; performing a nonlinear conversion on the first digital output vector by the controller to generate a first converted digital output vector; storing the first converted digital output vector in the memory unit; and using the controller to output the first converted digital output vector based on the first converted digital output vector. Output vector generated by the artificial neural network output.

計算方法的實施例可包括以下特徵的一或多個。舉例來說,接收人工神經網路計算請求可包括透過通訊通道從電腦接收人工神經網路計算請求。 Embodiments of computing methods may include one or more of the following features. For example, receiving the artificial neural network calculation request may include receiving the artificial neural network calculation request from the computer through the communication channel.

在一些實施例中,產生第一多個調變器控制訊號可包括透過數位類比轉換器(DAC)單元產生第一多個調變器控制訊號。 In some embodiments, generating the first plurality of modulator control signals may include generating the first plurality of modulator control signals through a digital-to-analog converter (DAC) unit.

在一些實施例中,得到第一多個數位輸出可包括從類比數位轉換器(ADC)單元得到第一多個數位輸出。 In some embodiments, obtaining the first plurality of digital outputs may include obtaining the first plurality of digital outputs from an analog-to-digital converter (ADC) unit.

在一些實施例中,計算方法可包括:將第一多個調變器控制訊號施加至耦接到光源和DAC單元的複數光調變器;以及使用光調變器基於調變器控制訊號調變由雷射單元所產生的光輸出,來產生光輸入向量。 In some embodiments, the calculating method may include: applying a first plurality of modulator control signals to a plurality of optical modulators coupled to the light source and the DAC unit; and using the optical modulator to modulate the modulator based on the modulator control signal. The light output generated by the laser unit is varied to generate a light input vector.

在一些實施例中,矩陣乘法單元可耦接至光調變器和DAC單元,並且計算方法可包括:使用矩陣乘法單元基於權重控制訊號將光輸入向量轉換成類比輸出向量。 In some embodiments, the matrix multiplication unit may be coupled to the light modulator and the DAC unit, and the calculation method may include: using the matrix multiplication unit to convert the light input vector into an analog output vector based on the weight control signal.

在一些實施例中,ADC單元可耦接至矩陣乘法單元,並且計算方法可包括:使用ADC單元將類比輸出向量轉換成第一多個數位輸出。 In some embodiments, the ADC unit may be coupled to the matrix multiplication unit, and the computing method may include converting the analog output vector into the first plurality of digital outputs using the ADC unit.

在一些實施例中,矩陣乘法單元可包括耦接至光調變器和DAC單元的光矩陣乘法單元。將光輸入向量轉換成類比輸出向量可包括使用光矩陣乘法單元基於權重控制訊號將光輸入向量轉換成光輸出向量。計算方法可包括:使用耦接至光矩陣乘法單元的光偵測單元,產生對應光輸出向量的複數輸出電壓。 In some embodiments, the matrix multiplication unit may include an optical matrix multiplication unit coupled to the optical modulator and the DAC unit. Converting the light input vector into the analog output vector may include using a light matrix multiplication unit to convert the light input vector into a light output vector based on the weight control signal. The calculation method may include: using a light detection unit coupled to the light matrix multiplication unit to generate a complex output voltage corresponding to the light output vector.

在一些實施例中,計算方法可包括:在輸入波導陣列接收光輸入向量;使用與輸入波導陣列光學通訊的光干涉單元,執行將光輸入向量轉換成第二光訊號陣列的線性轉換;以及使用與光干涉單元光學通訊的輸出波導陣列,引導第二光訊號陣列,其中在輸入波導陣列中的至少一輸入波導透過光干涉單元與在輸出波導陣列中的每一個輸出波導光學通訊。 In some embodiments, the calculation method may include: receiving the light input vector at the input waveguide array; using an optical interference unit in optical communication with the input waveguide array to perform a linear conversion of the light input vector into the second optical signal array; and using An output waveguide array in optical communication with the optical interference unit guides the second optical signal array, wherein at least one input waveguide in the input waveguide array is in optical communication with each output waveguide in the output waveguide array through the optical interference unit.

在一些實施例中,光干涉單元可包括:複數互連馬赫曾德爾干涉儀(MZI),互連MZI中的每一個MZI可包括第一相位移器和第二相位移器,並且第一相位移器和第二相位移器可耦接至權重控制訊號。計算方法可包括:使用第一相位移器改變MZI的分離比,並且使用第二相位移器位移MZI的一個輸出的相位。 In some embodiments, the optical interference unit may include: complex interconnected Mach-Zehnder interferometers (MZIs), each of the interconnected MZIs may include a first phase shifter and a second phase shifter, and the first phase The shifter and the second phase shifter may be coupled to the weight control signal. The calculation method may include using a first phase shifter to change a separation ratio of the MZI, and using a second phase shifter to shift a phase of one output of the MZI.

在一些實施例中,計算方法可包括:對於光輸入向量的一或多個光訊號的至少兩個子集中的每一者,使用一或多個複製模組的相應一組將一或多個光訊號的子集分成二或多個光訊號的副本;對於一或多個光訊號的第一子集的至少兩個副本中的每一者,使用相應的乘法模組以使用光幅度調變將第一子集的一或多個光訊號乘以一或多個矩陣元素值;以及對於二或多個乘法模組的結 果,使用求和模組以產生電訊號,電訊號表示二或多個乘法模組的結果的總和。 In some embodiments, the calculation method may include: for each of at least two subsets of the one or more optical signals of the optical input vector, using a respective set of one or more replication modules to convert one or more A subset of the optical signal is divided into two or more copies of the optical signal; for each of the at least two copies of the first subset of the one or more optical signals, a corresponding multiplication module is used to use optical amplitude modulation Multiplying one or more optical signals of the first subset by one or more matrix element values; and for the result of two or more multiplication modules As a result, a summation module is used to generate an electrical signal that represents the sum of the results of two or more multiplication modules.

在一些實施例中,至少一乘法模組可包括光幅度調變器,光幅度調變器包括一個輸入端口和兩個輸出端口,並且可從兩個輸出端口提供一對相關光訊號,使得相關光訊號的幅度之間的差值對應於將輸入值乘以有號矩陣元素值的結果。 In some embodiments, at least one multiplication module may include an optical amplitude modulator. The optical amplitude modulator may include an input port and two output ports, and may provide a pair of correlated optical signals from the two output ports, such that the correlation The difference between the amplitudes of the optical signals corresponds to multiplying the input value by the signed matrix element value.

在一些實施例中,計算方法可包括使用矩陣乘法單元將光輸入向量乘以包括一或多個矩陣元素值的矩陣。 In some embodiments, the calculation method may include using a matrix multiplication unit to multiply the light input vector by a matrix including one or more matrix element values.

在一些實施例中,計算方法可包括在由一或多個求和模組所產生的相應電訊號上編碼一組多個輸出值,並且使用一組多個輸出值中的輸出值表示輸出向量的元素,輸出向量藉由光輸入向量乘以矩陣產生。 In some embodiments, the calculation method may include encoding a set of a plurality of output values on corresponding electrical signals generated by one or more summing modules, and using an output value in the set of the plurality of output values to represent the output vector. The output vector is generated by multiplying the light input vector by the matrix.

在另一觀點中,計算方法包括:以電子格式提供輸入資訊;將至少一部分電子輸入資訊轉換成光輸入向量;基於矩陣乘法將光輸入向量光電地轉換成類比輸出向量;以及將非線性轉換電子地應用於類比輸出向量,以提供電子格式的輸出資訊。 In another aspect, the computing method includes: providing input information in an electronic format; converting at least a portion of the electronic input information into an optical input vector; optically converting the optical input vector into an analog output vector based on matrix multiplication; and nonlinearly converting the electronic input information into an analog output vector. Ground is applied to analog output vectors to provide output information in electronic format.

計算方法的實施例可包括以下特徵的一或多個。舉例來說,計算方法可更包括:對於對應以電子格式所提供的輸出資訊的新電子輸入資訊,重複電光轉換、光電轉換以及電應用的非線性轉換。 Embodiments of computing methods may include one or more of the following features. For example, the calculation method may further include: repeating electro-optical conversion, photoelectric conversion, and electrically applied nonlinear conversion for new electronic input information corresponding to the output information provided in an electronic format.

在一些實施例中,用於初始光電轉換的矩陣乘法和重複光電轉換的矩陣乘法可以是相同的,並且可對應人工神經網路的相同層。 In some embodiments, the matrix multiplication for the initial photoelectric conversion and the matrix multiplication for the repeated photoelectric conversion may be the same and may correspond to the same layer of the artificial neural network.

在一些實施例中,用於初始光電轉換的矩陣乘法和重複光電轉換的矩陣乘法可以是不同的,並且可對應人工神經網路的不同層。 In some embodiments, the matrix multiplication for the initial photoelectric conversion and the matrix multiplication for the repeated photoelectric conversion may be different and may correspond to different layers of the artificial neural network.

在一些實施例中,計算方法可更包括:對於電子輸入資訊的不同部分,重複電光轉換、光電轉換以及電應用的非線性轉換,其中用於初始光電轉換的矩陣乘法和重複光電轉換的矩陣乘法是相同的,並且對應人工神經網路的第一層。 In some embodiments, the calculation method may further include: repeating electro-optical conversion, photoelectric conversion, and electrically applied nonlinear conversion for different parts of the electronic input information, wherein matrix multiplication for the initial photoelectric conversion and matrix multiplication for repeated photoelectric conversion are the same and correspond to the first layer of the artificial neural network.

在一些實施例中,計算方法可更包括:基於由人工神經網路的第一層所產生的用於電子輸入資訊的多個部分的電子輸出資訊,以電子格式提供電子中間資訊;以及對於電子中間資訊的每一個不同部分,重複電光轉換、光電轉換以及電應用的非線性轉換,其中用於初始光電轉換的矩陣乘法和與電子中間資訊的不同部分相關的重複光電轉換的矩陣乘法是相同的,並且對應人工神經網路的第二層。 In some embodiments, the computing method may further include: providing electronic intermediate information in an electronic format based on electronic output information for the plurality of portions of electronic input information generated by the first layer of the artificial neural network; and for electronic Each different portion of the intermediate information, repeated electro-optical conversions, photoelectric conversions, and electrically applied nonlinear transformations, where the matrix multiplication for the initial photoelectric conversion and the matrix multiplication for the repeated photoelectric conversions associated with the different portions of the electronic intermediate information are the same , and corresponds to the second layer of the artificial neural network.

在另一觀點中,提供了一種計算方法,用於執行人工神經網路計算。計算方法包括:第一單元,被配置以產生複數向量控制訊號,並且產生複數權重控制訊號;第二單元,被配置以基於向量控制訊號提供光輸入向量;以及矩陣乘法單元,耦接至第二單元和第一單元,矩陣乘法單元被配置以基於權重控制訊號將光輸 入向量轉換成輸出向量。計算系統包括控制器,控制器包括積體電路,被配置以執行以下操作:接收包括輸入資料集和第一多個神經網路權重的人工神經網路計算請求,其中輸入資料集包括第一數位輸入向量;以及透過第一單元,基於第一數位輸入向量產生第一多個向量控制訊號,並且基於第一多個神經網路權重產生第一多個權重控制訊號;其中第一單元、第二單元、矩陣乘法單元以及控制器被用於在複數迭代中重複的光電處理循環,並且光電處理循環包括:(1)至少兩次光調變操作,以及(2)(a)電求和操作或(b)電儲存操作中之至少一者。 In another aspect, a computational method is provided for performing artificial neural network calculations. The calculation method includes: a first unit configured to generate a complex vector control signal and a complex weight control signal; a second unit configured to provide an optical input vector based on the vector control signal; and a matrix multiplication unit coupled to the second unit and the first unit, the matrix multiplication unit is configured to control the light output based on the weight signal Convert the input vector into an output vector. The computing system includes a controller including an integrated circuit configured to: receive an artificial neural network calculation request including an input data set and a first plurality of neural network weights, wherein the input data set includes a first digit input vector; and through the first unit, generate a first plurality of vector control signals based on the first digital input vector, and generate a first plurality of weight control signals based on the first plurality of neural network weights; wherein the first unit, the second The unit, matrix multiplication unit, and controller are used in an optoelectronic processing loop that is repeated in complex iterations, and the optoelectronic processing loop includes: (1) at least two optical modulation operations, and (2) (a) an electrical summation operation or (b) At least one of the electrical storage operations.

在另一觀點中,提供了一種計算方法,用於執行人工神經網路計算。計算方法包括:以電子格式提供輸入資訊;將至少一部分電子輸入資訊轉換成光輸入向量;以及使用一組神經網路權重,基於矩陣乘法將光輸入向量轉換成輸出向量。提供操作和轉換操作在光電處理循環中執行,使用不同相應組神經網路權重和不同相應輸入資訊,在複數迭代中重複光電處理循環,並且光電處理循環包括:(1)至少兩次光調變操作,以及(2)(a)電求和操作或(b)電儲存操作中之至少一者。 In another aspect, a computational method is provided for performing artificial neural network calculations. The calculation method includes: providing input information in an electronic format; converting at least a portion of the electronic input information into an optical input vector; and using a set of neural network weights to convert the optical input vector into an output vector based on matrix multiplication. Provide operations and conversion operations to be performed in a photoelectric processing loop, using different corresponding sets of neural network weights and different corresponding input information, repeating the photoelectric processing loop in a plurality of iterations, and the photoelectric processing loop includes: (1) at least two light modulations operation, and at least one of (2) (a) an electrical summing operation or (b) an electrical storage operation.

在圖式和以下描述中闡述了在本揭露中所描述的主題的一或多個實施例的細節。根據說明書、圖式和申請專利範圍,本揭露的其他特徵、觀點和優點將變得顯而易見。 The details of one or more embodiments of the subject matter described in this disclosure are set forth in the drawings and the description below. Other features, aspects, and advantages of the present disclosure will become apparent from the specification, drawings, and claims.

除非另外定義,否則此處所使用的所有技術和科學術語具有與所屬技術領域具有通常知識者通常理解的相同含義。如 果與引用併入本文的專利申請或專利申請出版物相衝突,則以本揭露(包括定義)為準。 Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which they belong. like In the event of a conflict with a patent application or patent application publication incorporated by reference, the present disclosure, including definitions, controls.

100:人工神經網路計算系統 100:Artificial neural network computing system

102:電腦 102:Computer

110:控制器 110:Controller

120:記憶體單元 120: Memory unit

130:數位類比轉換器單元 130: Digital to analog converter unit

132:第一數位類比轉換器子單元 132: First digital-to-analog converter subunit

134:第二數位類比轉換器子單元 134: Second digital-to-analog converter subunit

140:光處理器 140: Optical processor

142:雷射單元 142:Laser unit

144:調變器陣列 144:Modulator array

146:偵測單元 146:Detection unit

150:光矩陣乘法單元 150:Light matrix multiplication unit

160:類比數位轉換器單元 160:Analog-to-digital converter unit

152:輸入波導 152:Input waveguide

154:光干涉單元 154: Optical interference unit

156:輸出波導 156:Output waveguide

157:配置 157:Configuration

158:配置 158:Configuration

170:馬赫曾德爾干涉儀 170: Mach-Zehnder interferometer

171:第一輸入波導 171: First input waveguide

172:第二輸入波導 172: Second input waveguide

174:第一相位移器 174:First phase shifter

176:第二相位移器 176: Second phase shifter

178:第一輸出波導 178:First output waveguide

179:第二輸出波導 179: Second output waveguide

200:方法 200:Method

210-270:步驟 210-270: Steps

290:示意圖 290: Schematic diagram

104:波長分波多工人工神經網路計算系統 104:Wavelength demultiplexing artificial neural network computing system

3900:馬赫曾德爾調變器 3900: Mach-Zehnder modulator

3902a,3902b:1×2端口多模式干涉耦合器 3902a, 3902b: 1×2 port multi-mode interference coupler

3094a,3904b:臂 3094a, 3904b: arm

3906:相位移器 3906:Phase shifter

3908:訊號線 3908:Signal line

3910:曲線圖 3910: Curve graph

300:人工神經網路計算系統 300: Artificial Neural Network Computing System

310:類比非線性單元 310: Analog nonlinear unit

302:人工神經網路計算系統 302:Artificial Neural Network Computing System

320:類比記憶體單元 320: Analog memory unit

400:人工神經網路計算系統 400: Artificial Neural Network Computing System

430:驅動器單元 430:Drive unit

432:第一驅動子單元 432: First drive subunit

434:第二驅動器子單元 434: Second drive subunit

460:比較器單元 460: Comparator unit

500:人工神經網路計算系統 500: Artificial Neural Network Computing System

502:光矩陣乘法單元 502: Light matrix multiplication unit

504:光處理器 504: Optical processor

506:數位類比轉換器單元 506: Digital to analog converter unit

600:光干涉單元 600: Optical interference unit

602:輸入波導 602:Input waveguide

604:輸出波導 604:Output waveguide

700:人工神經網路計算系統 700:Artificial Neural Network Computing System

702:光處理器 702: Optical processor

704:雷射單元 704:Laser unit

706:調變器陣列 706:Modulator Array

708:光矩陣乘法單元 708: Light matrix multiplication unit

710:偵測單元 710:Detection unit

712:數位類比轉換器單元 712:Digital-to-analog converter unit

714:光束陣列 714:Beam Array

716:二維光束陣列 716: Two-dimensional beam array

718:二維輸出光束陣列 718: Two-dimensional output beam array

802:光輸入矩陣 802:Light input matrix

804:光干涉單元 804: Optical interference unit

806:光輸出矩陣 806:Light output matrix

900:人工神經網路計算系統 900:Artificial Neural Network Computing System

902:控制器 902:Controller

904:數位類比轉換器單元 904: Digital to analog converter unit

906:光處理器 906: Optical processor

908:雷射單元 908:Laser unit

910:雷射光束 910:Laser Beam

912:調變器 912:Modulator

914:調變光束 914: Modulated beam

916:光乘法單元 916:Light multiplication unit

918:輸出光束 918:Output beam

920:偵測單元 920:Detection unit

930:類比數位轉換器單元 930:Analog-to-digital converter unit

1002:光輸入 1002:Light input

1004:光干涉單元 1004: Optical interference unit

1006:光輸出 1006:Light output

2500:方法 2500:Method

2510-2570:步驟 2510-2570: Steps

2600:人工神經網路計算系統 2600:Artificial Neural Network Computing System

2602:光電處理器 2602: Optoelectronic processor

2604:第一2D光矩陣乘法單元 2604: The first 2D light matrix multiplication unit

2606:第二2D光矩陣乘法單元 2606: Second 2D light matrix multiplication unit

142a:第一雷射單元 142a: First laser unit

144a:第一調變器陣列 144a: First modulator array

146a:第一偵測單元 146a: First detection unit

310a:第一類比非線性單元 310a: First analogy nonlinear element

142b:第二雷射單元 142b: Second laser unit

144b:第二調變器陣列 144b: Second modulator array

146b:第二偵測單元 146b: Second detection unit

310b:第二類比非線性單元 310b: Second analogy nonlinear unit

2700:人工神經網路計算系統 2700:Artificial Neural Network Computing System

2702:光電處理器 2702: Optoelectronic processor

2704:第一3D光矩陣乘法單元 2704: The first 3D light matrix multiplication unit

2706:第二3D光矩陣乘法單元 2706: Second 3D light matrix multiplication unit

704a:第一雷射單元 704a: First laser unit

706a:第一調變器陣列 706a: First modulator array

710a:第一偵測單元 710a: First detection unit

704b:第二雷射單元 704b: Second laser unit

706b:第二調變器陣列 706b: Second modulator array

710b:第二偵測單元 710b: Second detection unit

2800:神經網路計算系統 2800: Neural network computing system

2802:光處理器 2802: Optical processor

2804:2D光矩陣乘法單元 2804: 2D light matrix multiplication unit

2900:神經網路計算系統 2900: Neural network computing system

2902:光處理器 2902: Optical processor

2904:3D光矩陣乘法單元 2904:3D light matrix multiplication unit

3000:人工神經網路計算系統 3000:Artificial Neural Network Computing System

3002:光處理器 3002: Optical processor

3004:2D光矩陣乘法單元 3004:2D light matrix multiplication unit

3100:人工神經網路計算系統 3100:Artificial Neural Network Computing System

3102:光處理器 3102: Optical processor

3104:3D光矩陣乘法單元 3104:3D light matrix multiplication unit

1100:光子矩陣乘法器單元 1100: Photon matrix multiplier unit

1102:調變器 1102:Modulator

1104:互連干涉儀 1104:Interconnect Interferometer

1106:衰減器 1106:Attenuator

1108a,1108b,1108c,1108d,1108e:定向耦合器層/第一層定向耦合器,第二層定向耦合器,第三層定向耦合器,第四層定向耦合器,第五層定向耦合器 1108a, 1108b, 1108c, 1108d, 1108e: directional coupler layer/first layer directional coupler, second layer directional coupler, third layer directional coupler, fourth layer directional coupler, fifth layer directional coupler

1110a,1110b,1110c,1110d:相位移器層/第一層相位移器,第二層相位移器,第三層相位移器,第四層相位移器 1110a, 1110b, 1110c, 1110d: Phase shifter layer/first layer phase shifter, second layer phase shifter, third layer phase shifter, fourth layer phase shifter

1200,1204,1208:互連馬赫曾德爾干涉儀 1200, 1204, 1208: Interconnected Mach-Zehnder interferometers

1202,1206,1210:互連干涉儀 1202,1206,1210:Interconnection interferometer

1212:緊湊互連干涉儀 1212: Compact interconnect interferometer

1302:衰減器層 1302:Attenuator layer

1400:光生成對抗網路 1400: Light-generated adversarial networks

1402:鑑別器 1402:Discriminator

1404:產生器 1404:Generator

1406:初始訓練影像集 1406: Initial training image set

1408:隨機雜訊 1408: Random noise

1410:合成影像 1410:Composite image

1500:馬赫曾德爾干涉儀 1500: Mach-Zehnder interferometer

1502:相位移器 1502: Phase shifter

1600:光子電路 1600: Photonic circuits

1602:偵測器 1602:Detector

1604:比較器 1604: Comparator

1606a,1608a:第一輸出 1606a, 1608a: first output

1606b,1608b:第二輸出 1606b, 1608b: Second output

1700:光子電路 1700: Photonic circuits

1704:第一輸出 1704: First output

1706:第二輸出 1706: Second output

1710:光子電路 1710: Photonic circuits

1712:第一馬赫曾德爾干涉儀 1712: First Mach-Zehnder interferometer

1714:第一偵測器 1714:First Detector

1716:第二馬赫曾德爾干涉儀 1716: Second Mach-Zehnder interferometer

1718:第二偵測器 1718:Second Detector

1720:第一輸出 1720: First output

1722:第二輸出 1722: Second output

1800:光電計算系統 1800: Optoelectronic computing systems

1802A,1802B:光學端口/光源 1802A, 1802B: Optical port/light source

1803:光路徑 1803:Light path

1804A,1804B:複製模組 1804A, 1804B: Copy module

1806A,1806B,1806C,1806D:乘法模組 1806A, 1806B, 1806C, 1806D: Multiplication module

1808:求和模組 1808:Sum module

1810A,1810B:訊號 1810A, 1810B: signal

1900:系統配置 1900:System configuration

1902:複製模組 1902:Copy module

1904:乘法模組 1904: Multiplication module

1906:光偵測模組 1906:Light detection module

1908:求和模組 1908:Sum module

1920:系統配置 1920:System configuration

1910:光組合器模組 1910: Optical combiner module

1912:光電求和模組 1912: Optoelectronic summing module

2000:對稱差分配置 2000: Symmetric differential configuration

2002:電流減法模組 2002: Current subtraction module

2010,2014:電流 2010,2014:Current

2012:第一光二極體偵測器 2012: First photodiode detector

2016:第二光二極體偵測器 2016: Second photodiode detector

2018:接點 2018:Contact

2020:差值電流 2020:Difference current

2024:端子 2024: Terminal

2026:輸出端 2026:Output

2028:電阻元件 2028: Resistive elements

2030:運算放大器 2030: Op Amp

2032:公共端 2032:Public terminal

2040,2044:電流 2040,2044:Current

2042:第一光二極體偵測器 2042: The first photodiode detector

2046:第二光二極體偵測器 2046: Second photodiode detector

2050:運算放大器 2050:Op amp

2052:反相端 2052: Inverting terminal

2054:非反相端 2054: Non-inverting terminal

2056:輸出端 2056:Output terminal

2100:對稱差分配置 2100: Symmetric differential configuration

2102:電流減法模組 2102:Current subtraction module

2110:系統配置 2110:System configuration

2112:複製模組 2112:Copy module

2114A,2114B:求和模組 2114A, 2114B: summation module

2200:1×2光幅度調變器 2200:1×2 optical amplitude modulator

2202:輸入光分離器 2202:Input optical splitter

2204:相位調變器 2204:Phase modulator

2206:耦合器 2206:Coupler

2210:對稱差分配置 2210: Symmetric differential configuration

2212,2214:光偵測器 2212,2214:Light detector

2216:接點 2216:Contact

2220:對稱差分配置 2220: Symmetric differential configuration

2221:輸入端口 2221:Input port

2222:環形共振器 2222: Ring Resonator

2224,2228:路徑 2224,2228: path

2226:順時針路徑 2226: Clockwise path

2230:對稱差分配置 2230: Symmetric differential configuration

2231:輸入端口 2231:Input port

2232,2234:環形共振器 2232,2234: Ring resonator

2236,2242:路徑 2236,2242:path

2238:順時針路徑 2238: Clockwise path

2240:逆時針路徑 2240: Counterclockwise path

2300A:光電系統配置 2300A: Optoelectronic system configuration

2302A,2302B:光幅度調變器 2302A, 2302B: Optical amplitude modulator

2303:波導分離器 2303:Waveguide splitter

2306A,2306B:運算放大器 2306A, 2306B: Operational amplifier

2310A:向量矩陣乘法器子系統 2310A: Vector matrix multiplier subsystem

2300B:光電系統配置 2300B: Optoelectronic system configuration

2310B:向量矩陣乘法器子系統 2310B: Vector matrix multiplier subsystem

2400A:系統配置 2400A: System configuration

2402:光學端口或光源 2402: Optical port or light source

2403,2405A,2405B:群組 2403, 2405A, 2405B: Group

2404:複製模組 2404:Copy module

2410:向量矩陣乘法器子系統 2410: Vector matrix multiplier subsystem

2414:求和模組 2414:Sum module

2400B:系統配置 2400B: System configuration

2420:光發射器陣列 2420:Light Emitter Array

2422:光接收器陣列 2422: Optical receiver array

2400C:系統配置 2400C: System configuration

2430:光學開關 2430: Optical switch

2440:電開關 2440: Electric switch

2400D:系統配置 2400D: System configuration

2400E:系統配置 2400E: System configuration

2450:資料儲存子系統 2450:Data storage subsystem

2460:輔助處理子系統 2460: Auxiliary processing subsystem

2462:結果資料 2462: Result data

3200:人工神經網路計算系統 3200:Artificial Neural Network Computing System

3210:光電處理器 3210: Optoelectronic processor

3220:光電矩陣乘法單元 3220: Photoelectric matrix multiplication unit

3230:光源 3230:Light source

1803_1,1803_2,...,1803_m:光路徑 1803_1,1803_2,...,1803_ m : light path

1804_1,1804_2,...,1804_n:複製模組 1804_1,1804_2,...,1804_ n : Copy module

1806_11,1806_21,...,1806_m1,1806_12,1806_22,...,1804_m2,1806_1n,1806_2n,...,1806_mn:乘法模組 1806_11,1806_21,...,1806_ m 1,1806_12,1806_22,...,1804_ m 2,1806_1 n ,1806_2 n ,...,1806_ mn : Multiplication module

1808_1,1808_2,...,1808_n:求和模組 1808_1,1808_2,...,1808_ n : summation module

3300:方法 3300:Method

3310-3370:步驟 3310-3370: Steps

3290:示意圖 3290: Schematic diagram

3500波長分波多路複用人工神經網路計算系統/系統配置 3500 wavelength demultiplexing artificial neural network computing system/system configuration

3510:光電處理器 3510: Optoelectronic processor

3520:光電矩陣乘法單元 3520: Photoelectric matrix multiplication unit

3530_11,3530_21,...,3530_m1,3530_12,3530_22,...,3530_m2,3530_1n,3530_2n,...,3530_mn:乘法模組 3530_11,3530_21,...,3530_ m 1,3530_12,3530_22,...,3530_ m 2,3530_1 n ,3530_2 n ,...,3530_ mn : Multiplication module

3310:光偵測模組 3310:Light detection module

3320:求和模組 3320:Sum module

3600,3700,3800:人工神經網路計算系統 3600, 3700, 3800: Artificial neural network computing system

4000:零差偵測器 4000:homodyne detector

4002:光束分離器 4002: Beam splitter

4004a,4004b:光偵測器 4004a, 4004b: Light detector

4006:減法器 4006:Subtractor

4008:輸出 4008:Output

4100:計算系統 4100:Computing Systems

4102:第一光訊號 4102:First light signal

4104:第一調變器 4104:First modulator

4120:第一調變光訊號 4120: The first modulated light signal

4106:第二光訊號 4106:Second light signal

4108:第二調變器 4108: Second modulator

4122:第二調變光訊號 4122: Second modulation light signal

4110:多路複用器 4110:Multiplexer

4112:光纖 4112:Optical fiber

4114:光電晶片 4114: Optoelectronic chip

4116a,4116b,4116c,4116d,4118a,4118b,4118c,4118d:矩陣乘法模組 4116a, 4116b, 4116c, 4116d, 4118a, 4118b, 4118c, 4118d: matrix multiplication module

4118:多路分解器 4118: Demultiplexer

4124,4126:複製模組 4124,4126:Copy module

4120a:光耦合器 4120a: Optocoupler

4122a:光偵測器 4122a:Light detector

4124:第三光訊號 4124:Third light signal

4128:第三調變器 4128:Third modulator

4132:第三調變光訊號 4132: The third modulated light signal

4126:第四光訊號 4126:The fourth light signal

4130:第四調變器 4130: Fourth modulator

4134:第四調變光訊號 4134: The fourth modulation light signal

4136:多路複用器 4136:Multiplexer

4138:光纖 4138:Optical fiber

4140:多路分解器 4140: Demultiplexer

4142,4144:複製模組 4142,4144:Copy module

4120b:光耦合器 4120b: Optocoupler

4122b:光偵測器 4122b:Light detector

4200:調變值機率分佈圖 4200: Modulation value probability distribution chart

4202:調變器功率圖 4202:Modulator power diagram

4300:馬赫曾德爾干涉儀調變器 4300: Mach-Zehnder interferometer modulator

4302:輸入光分離器 4302:Input optical splitter

4304:主動相位移器 4304:Active phase shifter

4306:被動相位移器 4306: Passive phase shifter

4308:輸出光組合器 4308:Output light combiner

4400:調變器電路 4400:Modulator circuit

4402:泵浦電容 4402: Pump capacitor

4404:控制電壓波形 4404: Control voltage waveform

4405:反相器電路 4405:Inverter circuit

4406:驅動電壓波形 4406: Driving voltage waveform

4408:端子 4408:Terminal

4410:端子 4410:Terminal

4412:電流源 4412:Current source

4414:開關 4414:switch

4500:股 4500: shares

4502:分離器 4502:Separator

4504:光電子節點 4504: Optoelectronic node

4505:MZI調變器 4505:MZI modulator

4507:光偵測器 4507:Light detector

4510:排線 4510: Cable arrangement

4512A、4512B:線 4512A, 4512B: line

4514:瓦片 4514:Tile

4515:連接部分 4515:Connection part

4516:凸塊 4516: Bump

4520:排線 4520: Cable arrangement

4522:瓦片 4522:Tile

4524:根調變器 4524: Root modulator

4526:節點 4526:node

4528、4530:凸塊 4528, 4530: Bump

4532:轉阻放大器(TIA) 4532:Transimpedance amplifier (TIA)

4534、4536:波導部分 4534, 4536: Waveguide part

4540:光學排線 4540: Optical cable arrangement

4542-4548:瓦片 4542-4548: Tile

4550:光學排線 4550: Optical cable arrangement

4552:瓦片 4552:Tile

4560:資料處理電路 4560:Data processing circuit

4570:資料上傳電路 4570: Data upload circuit

4580:光電計算系統 4580: Optoelectronic computing systems

當結合圖式閱讀時,從以下詳細描述中可以最好地理解本揭露。所要強調的是,根據慣例,圖式的各種特徵不是按比例的。相反地,為了清楚起見,各種特徵的尺寸被任意擴大或縮小。 The present disclosure is best understood from the following detailed description when read in conjunction with the drawings. It is emphasized that, by convention, the various features of the diagrams are not to scale. On the contrary, the dimensions of the various features are arbitrarily expanded or reduced for clarity.

第1A圖是人工神經網路(ANN)計算系統的示意圖。 Figure 1A is a schematic diagram of an artificial neural network (ANN) computing system.

第1B圖是光矩陣乘法單元的示意圖。 Figure 1B is a schematic diagram of the optical matrix multiplication unit.

第1C圖和第1D圖是互連馬赫曾德爾干涉儀(MZI)的示例配置的示意圖。 Figures 1C and 1D are schematic diagrams of example configurations of interconnected Mach-Zehnder interferometers (MZIs).

第1E圖是MZI的示意圖。 Figure 1E is a schematic diagram of the MZI.

第1F圖是波長分波多路複用ANN(wavelength division multiplexed ANN)計算系統的示意圖。 Figure 1F is a schematic diagram of a wavelength division multiplexed ANN (wavelength division multiplexed ANN) calculation system.

第2A圖是顯示用於執行ANN計算的方法的流程圖。 Figure 2A is a flowchart showing a method for performing ANN calculations.

第2B圖是顯示第2A圖的方法的一個觀點的示意圖。 Figure 2B is a schematic diagram showing one aspect of the method of Figure 2A.

第3A圖和第3B圖是ANN計算系統的示意圖。 Figures 3A and 3B are schematic diagrams of the ANN computing system.

第4A圖是具有1位元內部解析度(internal resolution)的ANN計算系統的示意圖。 Figure 4A is a schematic diagram of an ANN computing system with 1-bit internal resolution.

第4B圖是第4A圖的ANN計算系統的操作的數學表示。 Figure 4B is a mathematical representation of the operation of the ANN computing system of Figure 4A.

第5圖是人工神經網路(ANN)計算系統的示意圖。 Figure 5 is a schematic diagram of an artificial neural network (ANN) computing system.

第6圖是光矩陣乘法單元的示意圖。 Figure 6 is a schematic diagram of the optical matrix multiplication unit.

第7圖是人工神經網路(ANN)計算系統的示意圖。 Figure 7 is a schematic diagram of an artificial neural network (ANN) computing system.

第8圖是光矩陣乘法單元的示意圖。 Figure 8 is a schematic diagram of the optical matrix multiplication unit.

第9圖是人工神經網路(ANN)計算系統的示意圖。 Figure 9 is a schematic diagram of an artificial neural network (ANN) computing system.

第10圖是光矩陣乘法單元的示意圖。 Figure 10 is a schematic diagram of the optical matrix multiplication unit.

第11圖是緊湊矩陣乘法器單元(compact matrix multiplier unit)的示意圖。 Figure 11 is a schematic diagram of a compact matrix multiplier unit.

第12A圖顯示了比較光子矩陣乘法器單元的示意圖。 Figure 12A shows a schematic comparing the photon matrix multiplier unit.

第12B圖是緊湊互連干涉儀的示意圖。 Figure 12B is a schematic of a compact interconnect interferometer.

第13圖是緊湊矩陣乘法器單元的示意圖。 Figure 13 is a schematic diagram of a compact matrix multiplier unit.

第14圖是光生成對抗網路(optical generative adversarial network)的示意圖。 Figure 14 is a schematic diagram of an optical generative adversarial network.

第15圖是馬赫曾德爾干涉儀的示意圖。 Figure 15 is a schematic diagram of a Mach-Zehnder interferometer.

第16圖、第17A圖以及第17B圖是光子電路的示意圖。 Figures 16, 17A and 17B are schematic diagrams of photonic circuits.

第18圖是光電計算系統的示意圖。 Figure 18 is a schematic diagram of an optoelectronic computing system.

第19A圖和第19B圖是系統配置的示意圖。 Figures 19A and 19B are schematic diagrams of the system configuration.

第20A圖是對稱差分配置(symmetric differential configuration)的示意圖。 Figure 20A is a schematic diagram of a symmetric differential configuration.

第20B圖和第20C圖是系統模組的電路圖。 Figure 20B and Figure 20C are circuit diagrams of the system module.

第21A圖是對稱差分配置的示意圖。 Figure 21A is a schematic diagram of a symmetric differential configuration.

第21B圖是系統配置的示意圖。 Figure 21B is a schematic diagram of the system configuration.

第22A圖是光幅度調變器的示意圖。 Figure 22A is a schematic diagram of an optical amplitude modulator.

第22B圖至第22D圖是在對稱差分配置中使用光學偵測的光幅度調變器的示意圖。 Figures 22B to 22D are schematic diagrams of optical amplitude modulators using optical detection in a symmetric differential configuration.

第23A圖至第23C圖是系統配置的光電電路圖。 Figures 23A to 23C are photoelectric circuit diagrams of the system configuration.

第24A圖至第24E圖是使用多個光電子系統的計算系統的示意圖。 Figures 24A-24E are schematic diagrams of computing systems using multiple optoelectronic systems.

第25圖是顯示用於執行ANN計算的方法的流程圖。 Figure 25 is a flowchart showing a method for performing ANN calculations.

第26圖和第27圖是ANN計算系統的示意圖。 Figures 26 and 27 are schematic diagrams of the ANN computing system.

第28圖是使用被動2D光矩陣乘法單元(passive 2D optical matrix multiplication unit)的神經網路計算系統的示意圖。 Figure 28 is a schematic diagram of a neural network computing system using a passive 2D optical matrix multiplication unit.

第29圖是被動3D光矩陣乘法單元的神經網路計算系統的示意圖。 Figure 29 is a schematic diagram of the neural network computing system of the passive 3D light matrix multiplication unit.

第30圖是具有1位元內部解析度的人工神經網路計算系統的示意圖,其中系統使用被動2D光矩陣乘法單元。 Figure 30 is a schematic diagram of an artificial neural network computing system with 1-bit internal resolution, where the system uses a passive 2D optical matrix multiplication unit.

第31圖是具有1位元內部解析度的人工神經網路計算系統的示意圖,其中系統使用被動3D光矩陣乘法單元。 Figure 31 is a schematic diagram of an artificial neural network computing system with 1-bit internal resolution, where the system uses a passive 3D light matrix multiplication unit.

第32A圖是人工神經網路(ANN)計算系統的示意圖。 Figure 32A is a schematic diagram of an artificial neural network (ANN) computing system.

第32B圖是光電矩陣乘法單元的示意圖。 Figure 32B is a schematic diagram of the photoelectric matrix multiplication unit.

第33圖是顯示用於使用光電處理器執行ANN計算的方法的流程圖。 Figure 33 is a flowchart showing a method for performing ANN calculations using an optoelectronic processor.

第34圖是顯示第33圖的方法的一個觀點的示意圖。 Figure 34 is a schematic diagram showing one aspect of the method of Figure 33.

第35A圖是使用光電處理器的波長分波多路複用ANN計算系統的示意圖。 Figure 35A is a schematic diagram of a wavelength division multiplexing ANN computing system using an optoelectronic processor.

第35B圖和第35C圖是波長分波多路複用光電矩陣乘法單元的示意圖。 Figure 35B and Figure 35C are schematic diagrams of the wavelength division multiplexing optoelectronic matrix multiplication unit.

第36圖和第37圖是使用光電處理器的ANN計算系統的示意圖。 Figures 36 and 37 are schematic diagrams of an ANN computing system using an optoelectronic processor.

第38圖是具有1位元內部解析度的人工神經網路計算系統的示意圖,其中系統使用光電矩陣乘法單元。 Figure 38 is a schematic diagram of an artificial neural network computing system with 1-bit internal resolution, where the system uses an optoelectronic matrix multiplication unit.

第39A圖是馬赫曾德爾調變器的示意圖。 Figure 39A is a schematic diagram of a Mach-Zehnder modulator.

第39B圖是顯示第39A圖的馬赫曾德爾調變器的強度-電壓曲線的曲線圖。 Figure 39B is a graph showing the intensity-voltage curve of the Mach-Zehnder modulator of Figure 39A.

第40圖是零差偵測器的示意圖。 Figure 40 is a schematic diagram of a homodyne detector.

第41圖是包括光纖的計算系統的示意圖,其每一個光纖承載具有多個波長的訊號。 Figure 41 is a schematic diagram of a computing system including optical fibers, each of which carries signals having multiple wavelengths.

第42圖是調變值機率分佈和調變器功率與調變值之間的關係的曲線圖。 Figure 42 is a graph of modulation value probability distribution and the relationship between modulator power and modulation value.

第43圖馬赫曾德爾調變器的示意圖。 Figure 43 Schematic diagram of a Mach-Zehnder modulator.

第44圖電荷泵(charge-pump)帶寬增強電路的示意圖。 Figure 44 is a schematic diagram of a charge-pump bandwidth enhancement circuit.

第45A圖-第45G圖是部分晶粒上以控制塌陷高度晶片連接配置之光子積體電路與電子積體電路之布局示意圖。 Figures 45A to 45G are schematic layout diagrams of photonic integrated circuits and electronic integrated circuits configured to control the collapse height of chip connections on some dies.

各圖式中相同的圖式標記和名稱表示相同的元件。 The same drawing labels and names in the drawings identify the same components.

第1A圖顯示了人工神經網路(ANN)計算系統100的示意圖。ANN計算系統100包括控制器110、記憶體單元120、數位類比轉換器(DAC)單元130、光處理器140以及類比數位轉換器(ADC)單元160。控制器110耦接至電腦102、記憶體單元120、DAC單元130以及ADC單元160。控制器110包括積體電路,其被配置以控制ANN計算系統100的操作來執行ANN計算。 Figure 1A shows a schematic diagram of an artificial neural network (ANN) computing system 100. ANN computing system 100 includes a controller 110, a memory unit 120, a digital-to-analog converter (DAC) unit 130, an optical processor 140, and an analog-to-digital converter (ADC) unit 160. The controller 110 is coupled to the computer 102, the memory unit 120, the DAC unit 130 and the ADC unit 160. Controller 110 includes integrated circuitry configured to control the operation of ANN computing system 100 to perform ANN computations.

控制器110的積體電路可以是特別配置以執行ANN計算程序的步驟的特殊應用積體電路。舉例來說,積體電路可實現特定於執行ANN計算程序的微代碼或韌體。如此一來,控制器110可以具有相對於使用在習知電腦(例如電腦102)中的通用處理器的減少的指令集。在一些實施例中,控制器110的積體電路可包括兩個或多個電路,其被配置以執行ANN計算程序的不同步驟。 The integrated circuit of the controller 110 may be an application special integrated circuit specially configured to perform the steps of the ANN calculation procedure. For example, integrated circuits may implement microcode or firmware specific to executing ANN calculation procedures. As such, controller 110 may have a reduced instruction set relative to a general-purpose processor used in conventional computers, such as computer 102 . In some embodiments, the integrated circuitry of controller 110 may include two or more circuits configured to perform different steps of the ANN calculation procedure.

在ANN計算系統100的示例操作中,電腦102可以對ANN計算系統100發送人工神經網路計算請求。ANN計算請求可包括定義ANN的神經網路權重,以及由所提供的ANN處理的輸入資料集。控制器110接收ANN計算請求,並將輸入資料集和神經網路權重儲存在記憶體單元120中。 In an example operation of the ANN computing system 100, the computer 102 may send an artificial neural network calculation request to the ANN computing system 100. An ANN calculation request may include the neural network weights that define the ANN, as well as the set of input data processed by the provided ANN. The controller 110 receives the ANN calculation request and stores the input data set and neural network weights in the memory unit 120 .

輸入資料集可對應ANN將要處理的各種數位資訊。輸入資料集的實施例包括影像檔案、音頻(audio)檔案,光達點雲(LiDAR point cloud)和全球定位系統(Global Positioning System;GPS)坐標序列,並且將基於接收影像檔案作為輸入資料 集來描述ANN計算系統100的操作。通常來說,輸入資料集的大小可以變化很大,從數百個資料點(data point)到數百萬個資料點或更大。舉例來說,具有1百萬像素(megapixel)解析度的數位影像檔案具有大約一百萬個像素,並且一百萬個像素中的每一個可以是由ANN處理的資料點。由於在典型輸入資料集中的大量資料點,輸入資料集通常被分成較小尺寸的多個數位輸入向量,以藉由光處理器140來個別地處理。作為示例,對於灰度數位影像(greyscale digital image),數位輸入向量的元素可為表示影像強度的8位元數值,並且數位輸入向量可具有範圍從數十元素(例如:32元素、64元素)到數百元素(例如:256元素、512元素)的長度。通常來說,任意大小的輸入資料集可以被分成適合用於由光學處理器140處理的大小的數位輸入向量。在輸入資料集的元素數量不能被數位輸入向量的長度整除的情況下,可以使用墊零(zero padding)來填充資料集,以使其可被數位輸入向量的長度整除。可以處理個別數位輸入向量的處理輸出以重建完整輸出,其為透過ANN處理輸入資料集的結果。在一些實施例中,可以使用塊矩陣乘法技術(block matrix multiplication technique)來實現將輸入資料集分成多個輸入向量和後續的向量級(vector-level)處理。 The input data set can correspond to various digital information that the ANN will process. Examples of the input data set include image files, audio files, LiDAR point clouds and Global Positioning System (GPS) coordinate sequences, and will be based on receiving image files as input data set to describe the operation of the ANN computing system 100. Generally speaking, the size of the input data set can vary widely, from hundreds of data points to millions of data points or larger. For example, a digital image file with 1 megapixel resolution has approximately one million pixels, and each of the one million pixels may be a data point processed by the ANN. Due to the large number of data points in a typical input data set, the input data set is usually divided into multiple digital input vectors of smaller size to be processed individually by the optical processor 140 . As an example, for a grayscale digital image, the elements of the digital input vector can be 8-bit values representing image intensity, and the digital input vector can have elements ranging from tens of elements (for example: 32 elements, 64 elements) to hundreds of elements (for example: 256 elements, 512 elements) in length. Generally speaking, an input data set of any size can be divided into digital input vectors of a size suitable for processing by optical processor 140 . In cases where the number of elements in the input data set is not divisible by the length of the numeric input vector, zero padding can be used to pad the data set so that it is divisible by the length of the numeric input vector. The processed output of individual digit input vectors can be processed to reconstruct the complete output, which is the result of processing the input data set through an ANN. In some embodiments, a block matrix multiplication technique may be used to achieve splitting of the input data set into multiple input vectors and subsequent vector-level processing.

神經網路權重是一組數值,其定義ANN的人工神經元的連接性(connectivity),包括那些連接的相對重要性或權重。ANN可包括具有相應節點集的一或多個隱藏層。在具有單一隱藏層的ANN的情況下,ANN可以由兩組神經網路權重定義,一組對 應輸入節點與隱藏層的節點之間的連接性,第二組對應隱藏層與輸出節點之間的連接性。描述連接性的每組神經網路權重對應於由光處理器140實行的矩陣。對於具有兩個或多個隱藏層的ANN,需要額外組的神經網路權重來定義額外隱藏層之間的連接性。如此一來,在通常情況下,ANN計算請求中包括的神經網路權重可包括多組神經網路權重,其表示ANN的各個層之間的連接性。 Neural network weights are a set of numerical values that define the connectivity of an ANN's artificial neurons, including the relative importance or weight of those connections. An ANN may include one or more hidden layers with corresponding sets of nodes. In the case of an ANN with a single hidden layer, the ANN can be defined by two sets of neural network weights, one for should be the connectivity between the input nodes and the nodes of the hidden layer, and the second group corresponds to the connectivity between the hidden layer and the output nodes. Each set of neural network weights describing connectivity corresponds to a matrix implemented by the light processor 140 . For ANNs with two or more hidden layers, additional sets of neural network weights are required to define the connectivity between the additional hidden layers. As such, under normal circumstances, the neural network weights included in the ANN calculation request may include multiple sets of neural network weights, which represent the connectivity between various layers of the ANN.

由於要處理的輸入資料集通常被分成用於個別處理的多個較小的數位輸入向量,因此輸入資料集通常儲存在數位記憶體中。然而,電腦102的記憶體和處理器之間的記憶體操作的速度明顯慢於ANN計算系統100可以執行ANN計算的速率。舉例來說,ANN計算系統100可以在電腦102的典型記憶體讀取周期期間執行數十個到數百個ANN計算。如此一來,在處理ANN計算請求的期間,如果ANN計算系統100的ANN計算涉及ANN計算系統100與電腦102之間的多個資料傳輸,則可被ANN計算系統100執行的ANN計算的速率可以被限制在其全部處理速率之下。舉例來說,如果電腦102要從它自己的記憶體存取輸入資料集,並且在請求時將數位輸入向量提供給控制器110,則ANN計算系統100的操作可能會因電腦102與控制器110之間所需的一系列資料傳輸所需的時間而大大減慢。值得注意的是,電腦102的記憶體存取延遲(latency)通常是非確定性的(non-deterministic),這進一步將可被提供給ANN計算系統100的數位輸入向量的速度複雜化並且降 低其速度。此外,電腦102的處理器週期可能在管理電腦102與ANN計算系統100之間的資料傳輸時被浪費。 Since the input data set to be processed is usually divided into multiple smaller digital input vectors for individual processing, the input data set is usually stored in digital memory. However, memory operations between the computer 102's memory and the processor are significantly slower than the rate at which the ANN calculation system 100 can perform ANN calculations. For example, ANN computing system 100 may perform tens to hundreds of ANN calculations during a typical memory read cycle of computer 102 . As such, during the processing of the ANN calculation request, if the ANN calculation of the ANN calculation system 100 involves multiple data transfers between the ANN calculation system 100 and the computer 102, the rate of ANN calculations that can be performed by the ANN calculation system 100 can be is limited to its full processing rate. For example, if computer 102 were to access an input data set from its own memory and provide a numeric input vector to controller 110 upon request, the operation of ANN computing system 100 may vary between computer 102 and controller 110 The time required to transfer a series of data is greatly slowed down. It is worth noting that the memory access latency of the computer 102 is typically non-deterministic, which further complicates and reduces the speed at which the digital input vectors can be provided to the ANN computing system 100 . Lower its speed. Additionally, computer 102 processor cycles may be wasted managing the transfer of data between computer 102 and ANN computing system 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的操作中的外部依賴性,提高了ANN計算系統100和電腦102的效能。 Instead, in some embodiments, ANN computing system 100 stores the entire input data set in memory unit 120 , which is part of and dedicated to ANN computing system 100 . The dedicated memory unit 120 allows transactions between the memory unit 120 and the controller 110 and is particularly suitable for allowing smooth and uninterrupted data flow between the memory unit 120 and the controller 110 . This uninterrupted data flow can significantly improve ANN calculations by allowing optical processor 140 to perform matrix multiplications at its full processing rate without being limited by the slow memory operations of conventional computers (such as computer 102 ). Total circulation of system 100. Furthermore, because all information required in performing the ANN calculations is provided to the ANN calculation system 100 by the computer 102 in a single transaction, the ANN calculation system 100 can perform its ANN calculations in a unique manner independent of the computer 102. This unique operation of the ANN computing system 100 reduces the computing burden of the computer 102 and eliminates external dependencies in the operation of the ANN computing system 100, improving the performance of the ANN computing system 100 and the computer 102.

現在將描述ANN計算系統100的內部操作。光處理器140包括雷射單元142、調變器陣列144、偵測單元146以及光矩陣乘法(optical matrix multiplication;OMM)單元150。光處理器140藉由將長度N的數位輸入向量編碼到長度N的光輸入向量上並且透過OMM單元150傳播光輸入向量來進行操作。OMM單元150接收長度N的光輸入向量,並且在光域(optical domain)中對 接收的光輸入向量上執行N×N矩陣乘法。由OMM單元150所執行的N×N矩陣乘法由OMM單元150的內部配置確定。OMM單元150的內部配置可以由電訊號控制,例如由DAC單元130所產生的電訊號。 The internal operation of the ANN computing system 100 will now be described. The optical processor 140 includes a laser unit 142, a modulator array 144, a detection unit 146, and an optical matrix multiplication (OMM) unit 150. The optical processor 140 operates by encoding a digital input vector of length N onto an optical input vector of length N and propagating the optical input vector through the OMM unit 150 . The OMM unit 150 receives an optical input vector of length N, and Performs N×N matrix multiplication on the received light input vector. The N×N matrix multiplication performed by the OMM unit 150 is determined by the internal configuration of the OMM unit 150 . The internal configuration of the OMM unit 150 may be controlled by electrical signals, such as those generated by the DAC unit 130 .

可以以各種方式實現OMM單元150。第1B圖顯示了OMM單元150的示意圖。OMM單元150可包括輸入波導152的陣列以接收光輸入向量;與輸入波導152的陣列光學通訊的光干涉單元154;以及與光干涉單元154光學通訊的輸出波導156的陣列。光干涉單元154將光輸入向量線性轉換成第二光訊號陣列。輸出波導156的陣列引導由光干涉單元154所輸出的第二光訊號陣列。輸入波導152的陣列中的至少一個輸入波導透過光干涉單元154與輸出波導156的陣列中的每一個輸出波導光學通訊。舉例來說,對於長度N的光輸入向量,OMM單元150可包括N個輸入波導152和N個輸出波導156。 OMM unit 150 may be implemented in various ways. Figure 1B shows a schematic diagram of the OMM unit 150. OMM unit 150 may include an array of input waveguides 152 to receive optical input vectors; an optical interference unit 154 in optical communication with the array of input waveguides 152 ; and an array of output waveguides 156 in optical communication with optical interference unit 154 . The optical interference unit 154 linearly converts the light input vector into the second optical signal array. The array of output waveguides 156 guides the second array of optical signals output by the optical interference unit 154 . At least one input waveguide in the array of input waveguides 152 is in optical communication with each output waveguide in the array of output waveguides 156 through an optical interference unit 154 . For example, for an optical input vector of length N, OMM unit 150 may include N input waveguides 152 and N output waveguides 156.

光干涉單元可包括多個互連的馬赫曾德爾干涉儀(MZI)。第1C圖和第1D圖顯示了互連MZI的示例的配置157和158的示意圖。MZI可以以各種方式互連(例如在配置157或158中)以實現透過輸入波導152的陣列所接收的光輸入向量的線性轉換。 The optical interference unit may include a plurality of interconnected Mach-Zehnder interferometers (MZI). Figures 1C and 1D show schematic diagrams of configurations 157 and 158 of examples of interconnected MZIs. The MZIs may be interconnected in various ways (eg, in configurations 157 or 158 ) to achieve linear transformation of light input vectors received through the array of input waveguides 152 .

第1E圖顯示了MZI 170的示意圖。MZI 170包括第一輸入波導171、第二輸入波導172、第一輸出波導178以及第二輸出波導179。此外,多個互連的MZI中的每一個MZI 170包括第一相位移器174,第一相位移器174被配置以改變MZI 170的分 離比(splitting ratio);以及第二相位移器176,被配置以位移MZI 170的一個輸出的相位,例如通過第二輸出波導179的離開MZI 170的光。MZI 170的第一相位移器174和第二相位移器176耦接至由DAC單元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的額外實施例在標題為“用於光學神經網路的裝置和方法”的美國專利公開No.US 2017/0351293A1中揭露,其由引用完全併入本文。 Figure 1E shows a schematic of the MZI 170. MZI 170 includes first input waveguide 171 , second input waveguide 172 , first output waveguide 178 , and second output waveguide 179 . Additionally, each MZI 170 of the plurality of interconnected MZIs includes a first phase shifter 174 configured to change a splitting ratio of the MZI 170; and a second phase shifter 176, is configured to shift the phase of one output of the MZI 170 , such as light exiting the MZI 170 through the second output waveguide 179 . The first phase shifter 174 and the second phase shifter 176 of the MZI 170 are coupled to a plurality of weight control signals generated by the DAC unit 130 . The first phase shifter 174 and the second phase shifter 176 are embodiments of reconfigurable elements of the OMM unit 150 . Examples of reconfigurable elements include thermo-optic phase shifters or electro-optic phase shifters. The thermo-optical phase shifter changes the refractive index of the waveguide and cladding material by heating the waveguide, thereby converting it into a phase change. Electro-optic phase shifters operate by applying an electric field (e.g. lithium niobate (LiNbO 3 ), reverse biased PN junction) or current (e.g. forward biased PIN junction), which changes the refraction of the waveguide material Rate. By changing the weight control signal, the phase delay of the first phase shifter 174 and the second phase shifter 176 of each interconnected MZI 170 can be changed, which reconfigures the optical interference unit 154 of the OMM unit 150 to achieve the entire A specific matrix multiplication determined by the phase delay set on the optical interference unit 154. Additional embodiments of OMM unit 150 and optical interference unit 154 are disclosed in US Patent Publication No. US 2017/0351293 Al entitled "Apparatus and Method for Optical Neural Networks," which is fully incorporated herein by reference.

藉由雷射單元142和調變器陣列144產生光輸入向量。長度N的光輸入向量具有N個獨立的光訊號,每一個光信號的強度對應長度N的數位輸入向量的相應元素的數值。作為示例,雷射單元142可以產生N個光輸出。N個光輸出具有相同的波長,並且是光學相干的(optically 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)光輸出。 The optical input vector is generated by the laser unit 142 and the modulator array 144 . The optical input vector of length N has N independent optical signals, and the intensity of each optical signal corresponds to the value of the corresponding element of the digital input vector of length N. As an example, laser unit 142 may produce N light outputs. The N light outputs have the same wavelength and are optically coherent. The optical coherence of the light output allows the light produce optical interference with each other, which is a property exploited by the OMM unit 150 (e.g., in the operation of the MZI). Furthermore, the light outputs of the laser units 142 may be substantially the same as each other. For example, the N light outputs may be neutralized within their intensities (e.g., within 5%, within 3%, within 1%, within 0.5%, within 0.1%, or within 0.01%) and their relative phases (e.g., within Within 10 degrees, within 5 degrees, within 3 degrees, within 1 degree, within 0.1 degrees), it is roughly uniform. The uniformity of the light output can improve the faithfulness of the light input vector to the digital input vector, thereby improving the overall accuracy of the light processor 140 . In some embodiments, the light output of the laser unit 142 may have an optical power of 0.1 mW to 50 mW per output, a wavelength in the near-infrared range (eg, between 900 nm and 1600 nm), and a linewidth of less than 1 nm. The light output of the laser unit 142 may be a single transverse-mode light output.

在一些實施例中,雷射單元142包括單一雷射源和光功率分離器(optical power splitter)。單一雷射源被配置以產生雷射光。光功率分離器被配置以將由雷射源所產生的光分成具有大抵相同強度和相位的N個光輸出。藉由將單一雷射輸出分成多個輸出,可以實現多個光輸出的光學相干性。舉例來說,單一雷射源可以是半導體雷射二極體、垂直腔表面發射雷射(vertical-cavity surface-emitting laser;VCSEL)、分佈回饋(distributed feedback;DFB)雷射或分佈式布拉格反射器(distributed Bragg reflector;DBR)雷射。舉例來說,光功率分離器可以是1:N多模式干涉(multimode interference;MMI)分離器、包括多個1:2 MMI分離器或定向耦合器的多級分離器(multi-stage splitter)、或星型耦合器(star coupler)。在一些其它實施例中,可使用主從雷射配置(master-slave laser configuration),其中從屬雷射由主要雷射注入鎖定(injection locked),以對主要雷射具有穩定的相位關係。 In some embodiments, laser unit 142 includes a single laser source and an optical power splitter. A single laser source is configured to generate laser light. The optical power splitter is configured to split the light generated by the laser source into N light outputs having approximately the same intensity and phase. By splitting a single laser output into multiple outputs, optical coherence of multiple light outputs can be achieved. For example, a single laser source may be a semiconductor laser diode, a vertical-cavity surface-emitting laser (VCSEL), a distributed feedback (DFB) laser, or a distributed Bragg reflection Distributed Bragg reflector (DBR) laser. For example, the optical power splitter may be a 1:N multimode interference (MMI) splitter, a multi-stage splitter including multiple 1:2 MMI splitters or directional couplers. splitter), or star coupler (star coupler). In some other embodiments, a master-slave laser configuration may be used, where the slave laser is injection locked by the master laser to have a stable phase relationship with the master laser.

雷射單元142的光輸出耦接至調變器陣列144。調變器陣列144被配置以接收來自雷射單元142的光輸入,並且基於調變器控制訊號(其為電訊號)來調變所接收的光輸入的強度。調變器的實施例包括馬赫曾德爾干涉(MZI)調變器、環形共振調變器(ring resonator modulator)以及電吸收調變器(electro-absorption modulator)。調變器陣列144具有N個調變器,每一個調變器接收雷射單元142的N個光輸出中的一個。調變器接收對應數位輸入向量的元素的控制信號,並且調變光的強度。控制信號可由DAC單元130產生。 The optical output of laser unit 142 is coupled to modulator array 144 . Modulator array 144 is configured to receive optical input from laser unit 142 and to modulate the intensity of the received optical input based on a modulator control signal, which is an electrical signal. Examples of modulators include Mach-Zehnder interference (MZI) modulators, ring resonator modulators, and electro-absorption modulators. Modulator array 144 has N modulators, each modulator receiving one of the N light outputs of laser unit 142 . The modulator receives a control signal corresponding to an element of the digital input vector and modulates the intensity of the light. The control signal may be generated by DAC unit 130.

DAC單元130被配置以在控制器110的控制下產生多個調變器控制訊號並產生多個權重控制訊號。舉例來說,DAC單元130從控制器110接收第一DAC控制訊號,第一DAC控制信號對應將由光處理器140處理的數位輸入向量。DAC單元130基於第一DAC控制訊號產生調變器控制訊號,調變器控制訊號是適於驅動調變器陣列144和OMM單元150的類比訊號。舉例來說,類比訊號可以是電壓或電流,取決於調變器陣列144的調變器和OMM單元150的技術和設計。電壓可具有範圍從±0.1V到±10V的幅度,並且電流可具有範圍從100μA到100mA的幅度。在一些實施 例中,DAC單元130可包括調變器驅動器,其被配置以緩衝、放大或調節類比訊號,使得調變器陣列144的調變器和OMM單元150可被充分驅動。舉例來說,某些類型的調變器可以用差分控制訊號驅動。在這種情況下,調變器驅動器可以是差分驅動器,其基於單端(single-ended)輸入訊號產生差分電輸出。作為另一實施例,某些類型的調變器可具有3dB帶寬,其小於光學處理器140的期望處理速率。在這種情況下,調變器驅動器可包括預加重電路(pre-emphasis circuit)或其他帶寬增強電路,其被設計以擴展調變器的操作帶寬。舉例來說,這種帶寬增強對於基於PIN二極體結構的調變器可以是有用的,PIN二極體結構是順向偏壓的,以使用載子注入來調變引導被調變的光波的波導的一部分的折射率。舉例來說,如果調變器是MZI調變器,則PIN二極體結構可用於在MZI調變器的一或兩個波導臂中實現相位移器。將相位移器配置為順向偏壓操作有利於較短的調變器長度和更緊湊的總體設計,這對於具有大量調變器的OMM單元150可能是有用的。 The DAC unit 130 is configured to generate a plurality of modulator control signals and generate a plurality of weight control signals under the control of the controller 110 . For example, the DAC unit 130 receives a first DAC control signal from the controller 110 , and the first DAC control signal corresponds to a digital input vector to be processed by the optical processor 140 . The DAC unit 130 generates a modulator control signal based on the first DAC control signal. The modulator control signal is an analog signal suitable for driving the modulator array 144 and the OMM unit 150 . For example, the analog signal may be a voltage or a current, depending on the technology and design of the modulators of the modulator array 144 and the OMM unit 150 . The voltage can have an amplitude ranging from ±0.1V to ±10V, and the current can have an amplitude ranging from 100μA to 100mA. In some implementations For example, the DAC unit 130 may include a modulator driver configured to buffer, amplify, or condition the analog signal so that the modulators of the modulator array 144 and the OMM unit 150 can be fully driven. For example, some types of modulators can be driven with differential control signals. In this case, the modulator driver may be a differential driver that generates a differential electrical output based on a single-ended input signal. As another example, certain types of modulators may have a 3dB bandwidth that is less than the desired processing rate of optical processor 140. In this case, the modulator driver may include a pre-emphasis circuit or other bandwidth enhancement circuit designed to extend the operating bandwidth of the modulator. For example, this bandwidth enhancement may be useful for modulators based on PIN diode structures that are forward biased to use carrier injection to modulate the guided modulated light wave. The refractive index of a portion of the waveguide. For example, if the modulator is an MZI modulator, a PIN diode structure can be used to implement a phase shifter in one or both waveguide arms of the MZI modulator. Configuring the phase shifter for forward bias operation facilitates shorter modulator length and a more compact overall design, which may be useful for OMM units 150 with a large number of modulators.

舉例來說,在帶寬增強的預加重形式(pre-emphasis form)中,可以將驅動調變器的類比電訊號(例如:電壓或電流)整形為包括瞬間脈衝(transient pulse),瞬間脈衝使類比訊號準位的變化過衝(overshoot),該類比訊號準位表示一系列數位資料值(digital data value)中的DAC控制訊號的給定數位資料值。每一個數位資料值可具有任意數量的位元,包括單一1位元資料值,如本示例其餘部分所假定的那樣。因此,如果位元的數值與 先前的數值相同,則驅動調變器的類比電訊號被維持在穩態準位(steady-state level)(例如:位元值為0的訊號準位X0和位元值為1的較高訊號準位X1)。然而,如果位元從0變成1,則用於驅動調變器的對應類比電訊號可包括一個瞬間脈衝,該瞬間脈衝在穩定為穩態值X1之前,在位元變遷(bit transition)的一開始具有峰值X1+(X1-X0)。同樣地,如果位元從1變成0,則用於驅動調變器的對應類比電訊號可包括一個瞬間脈衝,該瞬間脈衝在穩定為穩態值X0之前,在位元變遷的一開始具有峰值X0+(X0-X1)。可以選擇瞬間脈衝的大小和長度以優化帶寬增強(例如:最大化不歸零(NRZ)調變模式的眼圖(eye diagram)的開放區域)。 For example, in a bandwidth-enhanced pre-emphasis form, an analog electrical signal (such as a voltage or current) driving a modulator can be shaped to include a transient pulse. The transient pulse causes the analog Changes in signal level overshoot (overshoot), the analog signal level represents a given digital data value of the DAC control signal in a series of digital data values. Each digital data value can have any number of bits, including a single 1-bit data value, as assumed in the remainder of this example. Therefore, if the bit value is the same as the previous value, the analog electrical signal driving the modulator is maintained at a steady-state level (for example: the signal level X 0 with a bit value of 0 and The higher signal level X 1 ) with a bit value of 1. However, if a bit changes from 0 to 1, the corresponding analog electrical signal used to drive the modulator may include a momentary pulse that occurs during the bit transition before settling to a steady-state value X 1 Initially there is a peak value of X 1 +(X 1 -X 0 ). Likewise, if a bit changes from 1 to 0, the corresponding analog electrical signal used to drive the modulator may include a momentary pulse that has a peak value at the beginning of the bit transition before settling to a steady-state value Peak value X 0 +(X 0 -X 1 ). The size and length of the instantaneous pulse can be chosen to optimize bandwidth enhancement (for example, to maximize the open area of the eye diagram for non-return-to-zero (NRZ) modulation mode).

在帶寬增強的電荷泵形式中,可以將驅動調變器的類比電流訊號整形為包括移動精確確定的電荷量的瞬間脈衝。第44圖顯示了電荷泵帶寬增強電路,電荷泵帶寬增強電路使用串聯連接在電壓源和調變器之間的電容來精確控制電荷流。第44圖所示的電路的一部分可包括在上面所述的調變器驅動器中。在此實施例中,調變器由調變器電路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的變遷時泵浦的電荷量,以及由調變器施加的對應光相位移。 In a bandwidth-enhanced charge pump form, the analog current signal driving the modulator can be shaped into a momentary pulse that involves moving a precisely determined amount of charge. Figure 44 shows a charge pump bandwidth enhancement circuit that uses a capacitor connected in series between a voltage source and a modulator to precisely control charge flow. A portion of the circuit shown in Figure 44 may be included in the modulator driver described above. In this embodiment, the modulator is represented by modulator circuit 4400, which models the electrical characteristics of the modulator's phase shifter as a PIN diode. Modulator circuit 4400 includes a parallel connection of an ideal diode, a capacitor having capacitance Cd , and a resistor having resistance R. Pump capacitor 4402 has capacitance C p . Control voltage waveform 4404 is provided to an inverter circuit 4405 to produce a drive voltage waveform 4406, the amplitude of which can be precisely corrected to move a given amount of charge into or out of modulator circuit 4400 through pump capacitor 4402 . The PIN diode modeled by modulator circuit 4400 is forward biased by applying a constant voltage VDD_IO at terminal 4408. The charge pump control voltage VCP is applied to the terminal 4410 of the inverter circuit 4405 to control the amount of charge pumped when the driving voltage waveform 4406 transitions, and the corresponding optical phase shift applied by the modulator.

可以在操作之前調整電荷泵控制電壓VCP的數值,使得儲存在泵浦電容(電荷泵浦電容)4402中的標稱電荷(nominal charge)Q基於電容Cp的測量值被精確地校正(例如:由於製造期間的不確定性,可能會有一些可變性(variability))。舉例來說,電荷泵控制電壓VCP可等於標稱電荷Q除以電容Cp。與PIN二極體相交的一部分波導的折射率的變化結果可接著提供引導光波的相位移,相位移與在PIN二極體和泵浦電容(電荷泵電容)4402之間移動的電荷量Q(例如:透過內部電容Cd儲存)成線性比例。如果驅動電壓從低值變為高值,則從電荷泵電容4402流入到PIN二極體的電流會在短時間內傳遞既定量的電荷(即正電流隨時間的積分)。如果驅動電壓從高值變為低值,則從電荷泵電容4402流入到PIN二極體的電流會在短時間內移除既定量的電荷(即負電流隨時間的積分)。在此相對短的開關時間(switching time)之後,由電流源4412提供穩態電流,電流源4412由開關4414控制,以替換由於在保持驅動電壓的同時內部電容通過內部電阻R損失電流而丟失的電荷(例如:在特定數位值的保持時間期間)。使用這種電荷泵配置可具有優點,例如比其他技術(包括一些預加重技術)更好的精度,因為在短開關時間內移動的電荷量取決於恆定的物理參數(C=)和穩 態控制值(VCP),並因此精確可控且可重複。 The value of the charge pump control voltage VCP can be adjusted before operation so that the nominal charge Q stored in the pump capacitor (charge pump capacitor) 4402 is accurately corrected based on the measured value of the capacitance C p (for example: There may be some variability due to uncertainties during manufacturing). For example, the charge pump control voltage VCP may be equal to the nominal charge Q divided by the capacitance C p . The resulting change in the refractive index of the portion of the waveguide that intersects the PIN diode can then provide a phase shift of the guided light wave that is related to the amount of charge moving between the PIN diode and the pump capacitor (charge pump capacitor) 4402 Q ( For example: stored through the internal capacitor C d ) is linearly proportional. If the drive voltage changes from a low value to a high value, the current flowing from the charge pump capacitor 4402 into the PIN diode will deliver a given amount of charge in a short period of time (i.e., the integration of the positive current over time). If the drive voltage changes from a high value to a low value, the current flowing from the charge pump capacitor 4402 into the PIN diode will remove a given amount of charge over a short period of time (i.e., the integration of the negative current over time). After this relatively short switching time, steady-state current is provided by current source 4412, controlled by switch 4414, to replace the current lost due to the internal capacitor losing current through internal resistor R while maintaining the drive voltage. Charge (for example: during the hold time of a specific digital value). Using this charge pump configuration can have advantages, such as better accuracy than other techniques (including some pre-emphasis techniques), since the amount of charge moved during a short switching time depends on a constant physical parameter (C=) and steady-state control value (VCP) and is therefore precisely controllable and repeatable.

在一些實施例中,可藉由設計調變器陣列144的調變器及/或OMM單元150來實現降低的功耗,使得當操作調變器以產生表示更常出現的係數的調變值時消耗更少的功率,並且當操作調變器以產生表示更不常出現的係數的調變值時消耗更多的功率。舉例來說,對於已知具有某些特性的某些資料集,可以降低功耗。第42圖顯示了用於調變器陣列144的調變器及/或OMM單元150的特定設計的疊加在調變器功率圖4202(實線)上的調變值機率分佈圖4200(虛線)。這兩個圖都是以標準化單位(normalized unit)表示的調變值(在水平軸上)的函數,以代表-1和1之間的係數。在此實施例中,資料集包括用於人工神經網路計算的各種係數(例如:向量係數及/或矩陣係數),使得係數的機率分佈函數(probability distribution functio;PDF)對於較小的係數(即絕對值相對較小的係數)產生較高的機率(並因此實例更加頻繁)。對於這種資料集(“低係數權重資料集”),可以藉由設計調變器以達到降低的功耗,使得調變器在較低功率狀態下操作以使用較小的係數(在資料集中出現的頻率較高)進行計算,而在較高功率狀態下操作以使用較大的係數(在資料集中出現的頻率較低)進行計算。 In some embodiments, reduced power consumption may be achieved by designing the modulators and/or OMM cells 150 of the modulator array 144 such that when the modulators are operated to produce modulation values that represent more commonly occurring coefficients Less power is consumed when operating the modulator, and more power is consumed when operating the modulator to produce modulation values representing more infrequently occurring coefficients. For example, power consumption can be reduced for certain data sets that are known to have certain properties. Figure 42 shows a modulation value probability distribution plot 4200 (dashed line) superimposed on a modulator power plot 4202 (solid line) for a particular design of modulator and/or OMM unit 150 of modulator array 144. . Both plots are a function of modulation values (on the horizontal axis) expressed in normalized units to represent coefficients between -1 and 1. In this embodiment, the data set includes various coefficients (for example, vector coefficients and/or matrix coefficients) used for artificial neural network calculations, such that the probability distribution function (PDF) of the coefficients is better for smaller coefficients ( i.e. coefficients with relatively small absolute values) yield higher probabilities (and thus more frequent instances). For such data sets ("low coefficient weight data sets"), reduced power consumption can be achieved by designing the modulator such that the modulator operates in a lower power state to use smaller coefficients (in the data set occur more frequently), while operating in a higher power state uses larger coefficients to perform calculations (occur less frequently in the data set).

一些光幅度調變器使用相對較高的功率以藉由小的調變值來調變光訊號。舉例來說,對於相干非敏感光幅度調變器,接近零的調變值可能需要相對較高的調變器功率,例如對於電吸收調變器,電吸收調變器需要以相對較高的電流來驅動基於二極體的 吸收器,以大吸收光功率,以降低調變光訊號的光幅度。對於相干敏感光幅度調變器,接近零的調變值可能需要相對較高的調變器功率,例如對於MZI調變器,MZI調變器需要以相對較高的電流來驅動基於二極體的相位移器,以在兩個MZI臂之間提供用於破壞性光干涉的相對相位移,從而降低了調變訊號的光幅度。 Some optical amplitude modulators use relatively high power to modulate optical signals with small modulation values. For example, for coherent non-sensitive optical amplitude modulators, modulation values close to zero may require relatively high modulator power, such as for electroabsorption modulators, which require relatively high modulator power. current to drive a diode-based The absorber absorbs large optical power to reduce the optical amplitude of the modulated optical signal. For coherently sensitive optical amplitude modulators, modulation values close to zero may require relatively high modulator power, such as for MZI modulators, which require relatively high currents to drive diode-based phase shifter to provide a relative phase shift between the two MZI arms for destructive optical interference, thereby reducing the optical amplitude of the modulation signal.

可以配置光幅度調變器以克服此功率關係並實現如第42圖所示的調變器功率,其將低功率調變器狀態分配至接近零的調變值。舉例來說,如第43圖所示,MZI調變器4300可被配置具有不對稱臂,不對稱臂提供內置被動相對相位移(built-in passive relative phase shift)(例如:180度附近的相位移),使得對於破壞性光干涉僅需要較小的主動相對相位移(並因此需要低調變器功率)。MZI調變器4300包括輸入光分離器4302,其將進入的光訊號分離以將50%的功率提供給第一臂,並且將50%的功率提供給第二臂。第一臂中的主動相位移器4304提供了一種使用可變相位移以在可能值(possible value)(在此實施例中,對於在0和1之間的無號調變值)的範圍內改變調變值的方法。可變相位移是基於施加的電訊號的大小確定的,其要求一定量的供應電功率(例如:由在第一臂的波導之內或附近的摻雜半導體材料形成的基於二極體的相位移器)。即使沒有電力施加到MZI調變器4300,第二臂中的被動相位移器4306也提供在第一臂和第二臂之間的相對相位移。舉例來說,具有高折射率的光學材料可被配置以在臂之間施加180度的相對相位移,使得輸出光組合器4308提供光干涉,使得 沒有明顯的光功率耦接到其輸出。可以實現主動相位移器和被動相位移器的多種替代配置,包括(但不限於):主動相位移器和被動相位移器兩者可在一個臂中,而另一臂中沒有調變器或相位移器;兩個臂都可具有主動相位移器和被動相位移器(在推挽式佈置(push-pull arrangement)中);或兩個臂都可具有主動相位移器,而一個臂可以具有被動相位移器。 Optical amplitude modulators can be configured to overcome this power relationship and achieve modulator power as shown in Figure 42, which assigns low power modulator states to near zero modulation values. For example, as shown in Figure 43, the MZI modulator 4300 can be configured with asymmetric arms that provide built-in passive relative phase shift (e.g., phase near 180 degrees). shift) such that only a small active relative phase shift (and therefore low modulator power) is required for destructive light interference. MZI modulator 4300 includes an input optical splitter 4302 that splits the incoming optical signal to provide 50% of the power to the first arm and 50% of the power to the second arm. The active phase shifter 4304 in the first arm provides a way to use a variable phase shift to vary within a range of possible values (in this embodiment, for unsigned modulation values between 0 and 1) Method of modulating values. The variable phase shift is determined based on the magnitude of the applied electrical signal, which requires a certain amount of supplied electrical power (e.g., a diode-based phase shifter formed from doped semiconductor material in or near the waveguide of the first arm ). Even if no power is applied to the MZI modulator 4300, the passive phase shifter 4306 in the second arm provides relative phase shift between the first and second arms. For example, an optical material with a high refractive index can be configured to impose a relative phase shift of 180 degrees between the arms such that the output light combiner 4308 provides light interference such that No significant optical power is coupled to its output. Various alternative configurations of active and passive phase shifters can be implemented, including (but not limited to): both the active and passive phase shifters can be in one arm without a modulator in the other arm or Phase shifters; both arms can have active phase shifters and passive phase shifters (in a push-pull arrangement); or both arms can have active phase shifters and one arm can Has a passive phase shifter.

替代地,根據此處所述的對稱差分配置來配置的MZI調變器可用於僅使用小主動相對相位移(並因此低調變器功率)來提供接近零的係數。舉例來說,第22A圖顯示了使用根據對稱差分配置來配置的MZI所構建的光幅度調變器,其中如第22B圖所示偵測光輸出。低調變功率用於執行具有低幅度(即絕對值)的調變值的乘法(使用光幅度調變)。具體地,施加到相位調變器2204的低功率對應低幅度調變值的調變,從而在耦合器2206的輸出中產生對應接近均等的分裂,並且在接面2216產生低幅度電流,代表乘法的結果。對稱差分配置還具有能夠提供-1至+1之間的有號調變值的優勢(如下面更詳細的描述)。儘管此實實施立在MZI的單一臂中使用了相位調變器,但其他實施力可具有其他配置,例如在兩個臂中都具有相位調變器的推挽式佈置,以提供相反符號的相位移。 Alternatively, MZI modulators configured according to the symmetric differential configuration described herein can be used to provide near-zero coefficients using only small active relative phase shifts (and therefore low modulator power). For example, Figure 22A shows an optical amplitude modulator built using MZI configured according to a symmetric differential configuration, where the optical output is detected as shown in Figure 22B. Low modulation power is used to perform multiplication of modulation values with low amplitude (i.e. absolute value) (using optical amplitude modulation). Specifically, low power applied to phase modulator 2204 corresponds to modulation of low amplitude modulation values, resulting in a corresponding near-equal splitting in the output of coupler 2206 and a low amplitude current at junction 2216, representing multiplication result. The symmetrical differential configuration also has the advantage of being able to provide signed modulation values between -1 and +1 (as described in more detail below). Although this implementation uses a phase modulator in a single arm of the MZI, other implementations may have other configurations, such as a push-pull arrangement with phase modulators in both arms to provide opposite signs. phase shift.

在第42圖中所示的功率分佈顯示了零調變功率被用於實現零調變值,但是在其他實施例中,在零調變值可能存在殘留低但非零的調變功率。對於這些低係數權重資料集,通常可藉由使 用調變器來實現降低的功耗,調變器被設計使得調變器使用相對調變值的絕對值增加的功率藉由調變值調變光訊號。隨著調變值的大小增加,隨著調變值而變化的調變功率的精確形狀對於不同的實現例可能有所不同,並且不一定是線性增加。光幅度調變器中可能存在不同功耗元件,它們佔了總體功耗。在一些實施例中,調變器被設計為使得它們使用相對於調變值的絕對值單調增加的功率,藉由調變值來調變光訊號。 The power distribution shown in Figure 42 shows that zero modulation power is used to achieve the zero modulation value, but in other embodiments there may be residual low but non-zero modulation power at the zero modulation value. For these low coefficient weight data sets, this can usually be achieved by using Reduced power consumption is achieved using a modulator that is designed such that the modulator modulates the optical signal by the modulation value using an increase in power relative to the absolute value of the modulation value. As the magnitude of the modulation value increases, the precise shape of the modulation power as a function of the modulation value may vary for different implementations and does not necessarily increase linearly. There may be different power consuming components in the optical amplitude modulator, which contribute to the overall power consumption. In some embodiments, the modulators are designed such that they modulate the optical signal by the modulation value using monotonically increasing power relative to the absolute value of the modulation value.

在一些情況下,調變器陣列144的調變器及/或OMM單元150可具有非線性傳遞函數。舉例來說,MZI光調變器可以在施加的控制電壓與其傳輸之間具有非線性關係(例如:正弦依賴性(sinusoidal dependence))。在這種情況下,可以基於調變器的非線性傳遞函數來調整或補償第一DAC控制訊號,使得數位輸入向量與所產生的光輸入向量之間的線性關係可被保持。保持這種線性通常對於確保OMM單元150的輸入是數位輸入向量的精確表示是重要的。在一些實施例中,第一DAC控制訊號的補償可以由控制器110通過查找表來執行,查找表將數位輸入向量的數值映射到DAC單元130所要輸出的數值,使得得到的調變的光訊號與數位輸入向量的元素成線性比例。可以藉由表徵(characterizing)調變器的非線性傳遞函數並且計算非線性傳遞函數的反函數(inverse function)來產生查找表。 In some cases, the modulators and/or OMM cells 150 of the modulator array 144 may have nonlinear transfer functions. For example, MZI optical modulators may have a non-linear relationship (eg, sinusoidal dependence) between the applied control voltage and its transmission. In this case, the first DAC control signal can be adjusted or compensated based on the nonlinear transfer function of the modulator so that the linear relationship between the digital input vector and the generated light input vector can be maintained. Maintaining this linearity is generally important to ensure that the input to the OMM unit 150 is an accurate representation of the digit input vector. In some embodiments, the compensation of the first DAC control signal may be performed by the controller 110 through a lookup table, which maps the value of the digital input vector to the value to be output by the DAC unit 130, so that the resulting modulated optical signal Linearly proportional to the elements of the numeric input vector. The lookup table can be generated by characterizing the nonlinear transfer function of the modulator and calculating the inverse function of the nonlinear transfer function.

在一些實施例中,調變器的非線性和在所產生的光輸入向量中所得到的非線性可以藉由ANN計算演算法來補償。 In some embodiments, the nonlinearity of the modulator and the resulting nonlinearity in the resulting optical input vector can be compensated for by an ANN computational algorithm.

由調變器陣列144所產生的光輸入向量被輸入至OMM單元150。光輸入向量可以是N個空間分離的光訊號,其每一個光訊號具有對應數位輸入向量的元素的光功率。舉例來說,光訊號的光功率通常在1μW至10mW的範圍內。OMM單元150接收光輸入向量,並且基於其內部配置執行N×N矩陣乘法。內部配置由DAC單元130所產生的電訊號來控制。舉例來說,DAC單元130從控制器110接收第二DAC控制訊號,第二DAC控制訊號對應將由OMM單元150實行的神經網路權重。DAC單元130基於第二DAC控制訊號產生權重控制訊號,權重控制訊號是適於控制OMM單元150內的可重新配置元件的類比訊號。舉例來說,類比訊號可以是電壓或電流,取決於OMM單元150的重新配置元件的類型。電壓可具有範圍從0.1V到10V的幅度,並且電流可具有範圍從100μA到10mA的幅度。 The optical input vector generated by the modulator array 144 is input to the OMM unit 150 . The optical input vector may be N spatially separated optical signals, each of which has an optical power corresponding to an element of the digital input vector. For example, the optical power of an optical signal is usually in the range of 1 μW to 10 mW. The OMM unit 150 receives the optical input vector and performs N×N matrix multiplication based on its internal configuration. The internal configuration is controlled by electrical signals generated by the DAC unit 130 . For example, the DAC unit 130 receives a second DAC control signal from the controller 110, and the second DAC control signal corresponds to the neural network weights to be implemented by the OMM unit 150. The DAC unit 130 generates a weight control signal based on the second DAC control signal. The weight control signal is an analog signal suitable for controlling the reconfigurable elements within the OMM unit 150 . For example, the analog signal may be a voltage or a current, depending on the type of reconfigurable components of the OMM unit 150 . The voltage can have an amplitude ranging from 0.1V to 10V, and the current can have an amplitude ranging from 100μA to 10mA.

調變器陣列144可以以與可重新配置OMM單元150的重新配置速率不同的調變速率來操作。由調變器陣列144產生的光輸入向量以光速的大抵比例(例如:光速的80%、50%或25%)傳播通過OMM單元,這取決於OMM單元150的光學特質(例如:有效折射率(effective index))。對於典型的OMM單元150,光輸入向量的傳播時間在1到數10皮秒的範圍內,其對應於處理速率的數10到數100GHz。如此一來,光處理器140可以執行矩陣乘法操作的速率部分地受到可以產生光輸入向量的速率的限制。具有數10GHz的帶寬的調變器是容易獲得的,並且具有超過100GHz的帶 寬的調變器正在開發。如此一來,調變器陣列144的調變速率可以在5GHz、8GHz或數10GHz至數100GHz的範圍內。為了以這樣的調變速率維持調變器陣列144的操作,控制器110的機體電路可被配置以大於或等於5GHz、8GHz、10GHz、20GHz、25GHz、50GHz或100GHz的速率來輸出用於DAC單元130的控制訊號。 Modulator array 144 may operate at a modulation rate that is different from the reconfiguration rate of reconfigurable OMM unit 150 . The optical input vector generated by the modulator array 144 propagates through the OMM cell at approximately a proportion of the speed of light (e.g., 80%, 50%, or 25% of the speed of light), depending on the optical properties of the OMM cell 150 (e.g., effective refractive index) (effective index)). For a typical OMM unit 150, the propagation time of the optical input vector is in the range of 1 to tens of picoseconds, which corresponds to processing rates of tens to tens of GHz. As such, the rate at which optical processor 140 can perform matrix multiplication operations is limited in part by the rate at which optical input vectors can be generated. Modulators with bandwidths of several 10 GHz are readily available, and with bands in excess of 100 GHz Wide modulators are under development. As a result, the modulation rate of the modulator array 144 can be in the range of 5 GHz, 8 GHz, or several 10 GHz to several 100 GHz. In order to maintain operation of the modulator array 144 at such modulation rates, the circuitry of the controller 110 may be configured to output to the DAC unit at a rate greater than or equal to 5 GHz, 8 GHz, 10 GHz, 20 GHz, 25 GHz, 50 GHz or 100 GHz. 130 control signal.

取決於由OMM單元150實現的可重新配置元件的類型,OMM單元150的重新配置速率可以明顯慢於調變速率。舉例來說,OMM單元150的可重新配置元件可以是熱光型,其使用微加熱器來調整OMM單元150的光波導的溫度,其反過來影響OMM單元150內的光訊號的相位並且導致矩陣乘法。由於與結構的加熱和冷卻相關的熱時間常數(thermal time constant),重新配置速率可以被限制為數100kHz至數10MHz。如此一來,用於控制調變器陣列144的調變器控制訊號和用於重新配置OMM單元150的權重控制訊號可能具有顯著不同的速度要求。此外,調變器陣列144的電特性可以與OMM單元150的可重新配置元件的電特性顯著不同。 Depending on the type of reconfigurable elements implemented by the OMM unit 150, the reconfiguration rate of the OMM unit 150 may be significantly slower than the modulation rate. For example, the reconfigurable elements of the OMM unit 150 may be of the thermo-optical type, which uses microheaters to adjust the temperature of the optical waveguides of the OMM unit 150, which in turn affects the phase of the optical signals within the OMM unit 150 and results in matrix multiplication. Due to thermal time constants associated with heating and cooling of the structure, the reconfiguration rate can be limited to tens of 100kHz to tens of MHz. As such, the modulator control signals used to control the modulator array 144 and the weight control signals used to reconfigure the OMM cells 150 may have significantly different speed requirements. Furthermore, the electrical characteristics of modulator array 144 may be significantly different from the electrical characteristics of the reconfigurable elements of OMM cell 150 .

為了適應調變器控制訊號和權重控制訊號的不同特性,在一些實施例中,DAC單元130可包括第一DAC子單元132和第二DAC子單元134。第一DAC子單元132可被具體設置以產生調變器控制訊號,第二DAC子單元134可被具體設置以產生權重控制訊號。舉例來說,調變器陣列144的調變速率可以是25GHz,並且第一DAC子單元132可具有每秒25千兆採樣(giga-samples per second;GSPS)的每一個通道輸出更新速率(per-channel output update rate)和8位元或更高的解析度。OMM單元150的重新配置速率可以是1MHz,並且第二DAC子單元134可具有每秒1兆採樣(mega-samples per second;MSPS)的輸出更新速率和10位元的解析度。實現分開的第一DAC子單元132和第二DAC子單元134允許針對相應信號獨立優化DAC子單元,這可以降低DAC單元130的總功率消耗、複雜性、成本或其組合。值得注意的是,雖然第一DAC子單元132和第二DAC子單元134被描述為DAC單元130的子元件,但是通常來說,第一DAC子單元132和第二DAC子單元134可以整合成在公共晶片(common chi)上,或者可以實現為分開的晶片。 In order to adapt to different characteristics of the modulator control signal and the weight control signal, in some embodiments, the DAC unit 130 may include a first DAC sub-unit 132 and a second DAC sub-unit 134. The first DAC sub-unit 132 may be specifically configured to generate the modulator control signal, and the second DAC sub-unit 134 may be specifically configured to generate the weight control signal. For example, the modulation rate of the modulator array 144 may be 25 GHz, and the first DAC subunit 132 may have 25 giga-samples per second. Second; GSPS) per-channel output update rate (per-channel output update rate) and 8-bit or higher resolution. The reconfiguration rate of the OMM unit 150 may be 1 MHz, and the second DAC sub-unit 134 may have an output update rate of 1 mega-samples per second (MSPS) and a resolution of 10 bits. Implementing separate first DAC sub-unit 132 and second DAC sub-unit 134 allows the DAC sub-units to be independently optimized for respective signals, which may reduce the overall power consumption, complexity, cost, or a combination thereof of the DAC unit 130 . It is worth noting that although the first DAC sub-unit 132 and the second DAC sub-unit 134 are described as sub-elements of the DAC unit 130, generally speaking, the first DAC sub-unit 132 and the second DAC sub-unit 134 can be integrated into On a common chi, or can be implemented as separate dies.

基於第一DAC子單元132和第二DAC子單元134的不同特性,在一些實施例中,記憶體單元120可包括第一記憶體子單元和第二記憶體子單元。第一記憶體子單元可以是專用於儲存輸入資料集和數位輸入向量的記憶體,並且可具有足以支持調變速率的操作速度。第二記憶體子單元可以是專用於儲存神經網路權重的記憶體,並且可以具有足以支持OMM單元150的重配置速率的操作速度。在一些實施例中,第一記憶體子單元可使用靜態隨機存取記憶體(Static Random Access Memory;SRAM)來實施,並且第二記憶體子單元可使用動態隨機存取記憶體(Dynamic Random Access Memory;DRAM)來實施。在一些實施例中,第一記憶體子單元和第二記憶體子單元可使用DRAM來實施。在一些實施 例中,第一記憶體單元可實施作為控制器110的一部分或作為快取(cache)。在一些實施例中中,第一和第二記憶體子單元可以由單一物理記憶體裝置作為不同的位址空間來實施。 Based on the different characteristics of the first DAC sub-unit 132 and the second DAC sub-unit 134, in some embodiments, the memory unit 120 may include a first memory sub-unit and a second memory sub-unit. The first memory subunit may be a memory dedicated to storing the input data set and the digital input vector, and may have an operating speed sufficient to support the modulation rate. The second memory subunit may be a memory dedicated to storing the neural network weights and may have an operating speed sufficient to support the reconfiguration rate of the OMM unit 150 . In some embodiments, the first memory subunit may be implemented using Static Random Access Memory (SRAM), and the second memory subunit may be implemented using Dynamic Random Access Memory (Dynamic Random Access Memory). Memory; DRAM) to implement. In some embodiments, the first memory sub-unit and the second memory sub-unit may be implemented using DRAM. In some implementations For example, the first memory unit may be implemented as part of the controller 110 or as a cache. In some embodiments, the first and second memory subunits may be implemented as different address spaces by a single physical memory device.

OMM單元150輸出長度N的光輸出向量,其對應於光輸入向量和神經網路權重的N×N矩陣乘法的結果。OMM單元150耦接至偵測單元146,偵測單元146被配置以產生對應光輸出向量的N個光訊號的N個輸出電壓。舉例來說,偵測單元146可包括N個光偵測器的陣列,其被配置以吸收光訊號並產生光電流,以及N個跨阻抗放大器(transimpedance amplifier)的陣列,其被配置以將光電流轉換成輸出電壓。可以基於調變器陣列144的調變速率來設置光偵測器和跨阻抗放大器的帶寬。光偵測器可以基於所偵測的光輸出向量的波長由各種材料形成。用於光偵測器的材料的實施例包括鍺、矽鍺合金和銦鎵砷(InGaAs)。 The OMM unit 150 outputs a light output vector of length N, which corresponds to the result of an N×N matrix multiplication of the light input vector and the neural network weights. The OMM unit 150 is coupled to the detection unit 146, which is configured to generate N output voltages corresponding to N optical signals of the optical output vector. For example, the detection unit 146 may include an array of N photodetectors configured to absorb optical signals and generate photocurrent, and an array of N transimpedance amplifiers configured to convert light Current is converted into output voltage. The bandwidth of the photodetector and transimpedance amplifier may be set based on the modulation rate of the modulator array 144. The light detector can be formed from a variety of materials based on the wavelength of the detected light output vector. Examples of materials for photodetectors include germanium, silicon-germanium alloys, and indium gallium arsenide (InGaAs).

偵測單元146耦接至ADC單元160。ADC單元160被配置以將N個輸出電壓轉換成N個數位光輸出,N個數位光輸出是輸出電壓的量化數位表示。舉例來說,ADC單元160可以是N個通道ADC。控制器110可以從ADC單元160得到對應光矩陣乘法單元150的光輸出向量的N個數位光輸出。控制器110可以從N個數位光輸出形成長度N的數位輸出向量,其對應長度N的輸入數位向量的N×N矩陣乘法的結果。 The detection unit 146 is coupled to the ADC unit 160 . The ADC unit 160 is configured to convert N output voltages into N digital light outputs, which are quantized digital representations of the output voltages. For example, the ADC unit 160 may be an N-channel ADC. The controller 110 may obtain N digital light outputs corresponding to the light output vectors of the light matrix multiplication unit 150 from the ADC unit 160 . The controller 110 may form a digital output vector of length N from the N digital light outputs, which corresponds to the result of an N×N matrix multiplication of the input digital vector of length N.

ANN計算系統100的各種電子部件可以以各種方式整合。舉例來說,控制器110可以是製造在半導體晶粒上的特殊應 用積體電路。其他電子部件(例如記憶體器單元120、DAC單元130、ADC單元160或其組合)可以單片整合在其上製造控制器110的半導體晶粒上。作為另一實施例,可以將兩個或多個電子部件整合成系統單晶片(System-on-Chip;SoC)。在系統單晶片的實施例中,控制器110、記憶體器單元120、DAC單元130、ADC單元160可以製造在相應的晶粒上,並且相應的晶粒可以整合在提供整合部件之間的電性連接的公共平台(例如:插入器)上。相對於在印刷電路板(printed circuit board;PCB)上分開地佈置和繞線部件的方法,這種系統單晶片方法可以允許ANN計算系統100的電子部件之間更快的資料傳輸,從而提高ANN計算系統100的操作速度。此外,系統單晶片方法可以允許使用用於不同電子部件優化的不同製造技術,其可以改善不同部件的效能並且降低單片整合方法的總體成本。雖然已經描述了控制器110、記憶體單元120、DAC單元130以及ADC單元160的整合,但是通常來說,可以整合部件的子集,而由於各種原因(例如校能或成本)將其他部件實現為分離部件。舉例來說,在一些實施例中,記憶體單元120可與控制器110整合為控制器110內的功能塊(functional block)。 The various electronic components of ANN computing system 100 can be integrated in various ways. For example, the controller 110 may be a special application fabricated on a semiconductor die. Use integrated circuits. Other electronic components (eg, memory unit 120, DAC unit 130, ADC unit 160, or combinations thereof) may be monolithically integrated on the semiconductor die on which controller 110 is fabricated. As another embodiment, two or more electronic components may be integrated into a System-on-Chip (SoC). In a system-on-chip embodiment, the controller 110, the memory unit 120, the DAC unit 130, and the ADC unit 160 may be fabricated on corresponding dies, and the corresponding dies may be integrated to provide electrical connections between integrated components. on a common platform for sexual connection (e.g. inserter). Relative to the method of separately arranging and routing components on a printed circuit board (PCB), this system-on-chip approach may allow faster data transfer between the electronic components of the ANN computing system 100, thereby improving ANN The operating speed of system 100 is calculated. Furthermore, the system-on-chip approach may allow the use of different manufacturing techniques optimized for different electronic components, which may improve the performance of different components and reduce the overall cost of the monolithic integration approach. Although the integration of the controller 110, the memory unit 120, the DAC unit 130 and the ADC unit 160 has been described, generally speaking, a subset of the components may be integrated, while other components may be implemented for various reasons, such as power or cost. for separate parts. For example, in some embodiments, the memory unit 120 may be integrated with the controller 110 as a functional block within the controller 110 .

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,通常具有更高的整合密度、更高的微影解析度和更低的成本。這種更大的整合密度在OMM單元150的製造中可能是有益的,因為OMM單元150通常包括數10到數100的光學部件,例如功率分離器和相位移器。此外,矽光子技術的較高微影解析度可以減少OMM單元150的製程變化,從而提高OMM單元150的精確度。 The various optical components of the ANN computing system 100 may also be integrated in various ways. Examples of the optical components of the ANN computing system 100 include the laser unit 142 , the modulator array 144 , the OMM unit 150 , and the light detector of the detection unit 146 . These optical components can be integrated in various ways to improve performance and/or reduce cost. For example, the laser unit 142, the modulator array 144, the OMM unit 150 and And the photodetector can be monolithically integrated on a common semiconductor substrate as a photonic integrated circuit (PIC). On photonic integrated circuits based on compound semiconductor material systems (such as III-V compound semiconductors (such as indium phosphide (InP))), lasers, modulators (such as electroabsorption modulators), waveguides, and Photodetectors can be monolithically integrated on a single die. This monolithic integration approach can reduce the complexity of aligning the inputs and outputs of various discrete optical components, which can require alignment accuracy from sub-micron to several microns. As another embodiment, the laser source of the laser unit 142 can be fabricated on a compound semiconductor die, and the optical power splitter, modulator array 144, OMM unit 150 and detection unit 146 of the laser unit 142 Detectors can be fabricated on silicon dies. PICs manufactured on silicon wafers (which can be called silicon photonics technology) generally have higher integration density, higher lithography resolution and lower cost than PICs based on III-V family. This greater integration density may be beneficial in the fabrication of the OMM unit 150 because the OMM unit 150 typically includes tens to hundreds of optical components, such as power splitters and phase shifters. In addition, the higher lithography resolution of silicon photonics technology can reduce process variations of the OMM unit 150 , thereby improving the accuracy of the OMM unit 150 .

ANN計算系統100可以以各種形式因素實現。舉例來說,ANN計算系統100可以實現為插入主電腦(host computer)的協同處理器(co-processor)。這種ANN計算系統100可具有快速周邊組件互連(Peripheral Component Interconnect Express;PCI Express)卡的形式因素並且透過PCIe匯流排與主電腦通訊。主電腦可以主持(host)多個協同處理器類型的ANN計 算系統100,並透過網路連接至電腦102。這種類型的實施例可適用於雲端資料中心,其中伺服器機架可以專用於處理從其他電腦或伺服器接收的ANN計算請求。作為另一實施例,協同處理器類型的ANN計算系統100可以直接插入發出ANN計算請求的電腦102中。 ANN computing system 100 may be implemented in a variety of form factors. For example, the ANN computing system 100 may be implemented as a co-processor plugged into a host computer. This ANN computing system 100 may have the form factor of a Peripheral Component Interconnect Express (PCI Express) card and communicate with the host computer through the PCIe bus. The host computer can host multiple co-processor type ANN calculations. The computing system 100 is connected to the computer 102 through the network. This type of embodiment may be applicable to cloud data centers, where server racks may be dedicated to processing ANN calculation requests received from other computers or servers. As another example, a co-processor type ANN computing system 100 may be plugged directly into the computer 102 issuing the ANN computing request.

在一些實施例中,ANN計算系統100可以整合至需要實時ANN計算能力的物理系統上。舉例來說,嚴重依賴於實時人工智慧任務(real-time artificial intelligence task)的系統(例如自動駕駛載具、自主無人機(autonomous drone)、物體或臉部識別安全照相機以及各種物聯網(Internet-of-Things;IoT)裝置)可以受益於使ANN計算系統100直接與這種系統的其他子系統整合。具有直接整合的ANN計算系統100可以在具有較差或沒有網路連接的設備中執行實時人工智慧,並且增強關鍵任務人工智慧系統的可靠性和可用性。 In some embodiments, the ANN computing system 100 may be integrated into physical systems requiring real-time ANN computing capabilities. For example, systems that rely heavily on real-time artificial intelligence tasks (such as self-driving vehicles, autonomous drones, object or facial recognition security cameras, and various Internet-of-Things) of-Things (IoT) devices) may benefit from having the ANN computing system 100 directly integrated with other subsystems of such systems. The ANN computing system 100 with direct integration can perform real-time artificial intelligence in devices with poor or no network connectivity and enhance the reliability and availability of mission-critical artificial intelligence systems.

雖然DAC單元130和ADC單元160被顯示耦接至控制器110,但是在一些實施例中,DAC單元130、ADC單元160或兩者可替代地或另外地耦接至記憶體單元120。舉例來說,DAC單元130或ADC單元160的直接記憶體存取(direct memory access;DMA)操作可以減少控制器110上的計算負擔,並且減少讀取和寫入記憶體單元120的延遲,從而進一步提高ANN計算單元100的操作速度。 Although DAC unit 130 and ADC unit 160 are shown coupled to controller 110 , in some embodiments, DAC unit 130 , ADC unit 160 , or both may alternatively or additionally be coupled to memory unit 120 . For example, the direct memory access (DMA) operation of the DAC unit 130 or the ADC unit 160 can reduce the computational load on the controller 110 and reduce the latency of reading and writing the memory unit 120, thereby The operation speed of the ANN calculation unit 100 is further improved.

第2圖顯示了用於執行ANN計算的程序200的流程 圖。程序200的步驟可以由控制器110執行。在一些實施例中,程序200的各個步驟可以並行、組合、循環或以任何順序運行。 Figure 2 shows the flow of a program 200 for performing ANN calculations. Figure. The steps of program 200 may be performed by controller 110 . In some embodiments, the various steps of process 200 may be run in parallel, combined, in a loop, or in any order.

在步驟210,接收包括輸入資料集和第一多個神經網路權重的人工神經網路(ANN)計算請求。輸入資料集包括第一數位輸入向量。第一個數位輸入向量是輸入資料集的子集。舉例來說,它可以是影像的子區域。ANN計算請求可以由各種實體(例如電腦102)產生。電腦可包括各種類型的計算裝置中的一或多個,例如個人電腦、伺服器電腦、載具電腦(vehicle computer)和飛行電腦(flight computer)。ANN計算請求通常是指通知或告知要執行ANN計算的ANN計算系統100的電訊號。在一些實施例中,ANN計算請求可以被分為兩個或多個訊號。舉例來說,第一訊號可以詢問(query)ANN計算系統100以檢查ANN計算系統100是否準備好接收輸入資料集和第一多個神經網路權重。響應於ANN計算系統100的肯定應答,電腦可以發送包括輸入資料集和第一多個神經網路權重的第二訊號。 At step 210, an artificial neural network (ANN) calculation request including an input data set and a first plurality of neural network weights is received. The input data set includes the first digit input vector. The first digit input vector is a subset of the input data set. For example, it could be a subregion of the image. ANN calculation requests may be generated by various entities (eg, computer 102). Computers may include one or more of various types of computing devices, such as personal computers, server computers, vehicle computers, and flight computers. The ANN calculation request generally refers to an electrical signal that notifies or informs the ANN calculation system 100 that the ANN calculation is to be performed. In some embodiments, an ANN calculation request may be split into two or more signals. For example, the first signal may query the ANN computing system 100 to check whether the ANN computing system 100 is ready to receive the input data set and the first plurality of neural network weights. In response to an affirmative response from the ANN computing system 100, the computer may send a second signal including the input data set and the first plurality of neural network weights.

在步驟220中,儲存輸入資料集和第一多個神經網路權重。控制器110可以將輸入資料集和第一多個神經網路權重儲存在記憶體單元120中。在記憶體單元120中儲存輸入資料集和第一多個神經網路權重可以允許ANN計算系統100的操作中的靈活性,例如可以改善系統的整體效能。舉例來說,藉由從記憶體單元120檢索(retrieve)輸入資料集的期望部分,可以將輸入資料集分為設定大小和格式的數位輸入向量。輸入資料集的不同部分可以以 各種順序處理,或者被混洗(shuffled),以允許執行各種類型的ANN計算。舉例來說,在輸入和輸出矩陣大小不同的情況下,混洗可以允許藉由塊矩陣乘法技術執行矩陣乘法。作為另一實施例,將輸入資料集和第一多個神經網路權重儲存在記憶體單元120中可以允許藉由ANN計算系統100對多個ANN計算請求進行排隊,這可以允許ANN計算系統100以其全速維持操作而沒有不活動的時段。 In step 220, the input data set and the first plurality of neural network weights are stored. The controller 110 may store the input data set and the first plurality of neural network weights in the memory unit 120 . Storing the input data set and the first plurality of neural network weights in the memory unit 120 may allow flexibility in the operation of the ANN computing system 100 , which may, for example, improve the overall performance of the system. For example, by retrieving a desired portion of the input data set from memory unit 120, the input data set may be divided into numeric input vectors of a set size and format. Different parts of the input data set can be Various sequential processes, or shuffled, allow various types of ANN calculations to be performed. For example, shuffling can allow matrix multiplication to be performed via block matrix multiplication techniques when the input and output matrices are of different sizes. As another example, storing the input data set and the first plurality of neural network weights in the memory unit 120 may allow multiple ANN calculation requests to be queued by the ANN computing system 100 , which may allow the ANN computing system 100 Operation is maintained at its full speed without periods of inactivity.

在一些實施例中,輸入資料集可以儲存在第一記憶體子單元中,並且第一多個神經網路權重可以儲存在第二記憶體子單元中。 In some embodiments, the input data set may be stored in a first memory subunit and the first plurality of neural network weights may be stored in a second memory subunit.

在步驟230中,基於第一數位輸入向量產生第一多個調變器控制訊號,並且基於第一多個神經網路權重產生第一多個權重控制訊號。控制器110可以將第一DAC控制訊號發送至DAC單元130,以產生第一多個調變器控制訊號。DAC單元130基於第一DAC控制訊號產生第一多個調變器控制訊號,並且調變器陣列144產生表示第一數位輸入向量的光輸入向量。 In step 230, a first plurality of modulator control signals are generated based on the first digital input vector, and a first plurality of weight control signals are generated based on the first plurality of neural network weights. The controller 110 may send the first DAC control signal to the DAC unit 130 to generate a first plurality of modulator control signals. DAC unit 130 generates a first plurality of modulator control signals based on the first DAC control signal, and modulator array 144 generates an optical input vector representing a first digital input vector.

第一DAC控制訊號可包括將要由DAC單元130轉換成第一多個調變器控制訊號的多個數位值。多個數位值通常對應第一數位輸入向量,並且可以透過各種數學關係或查找表來關聯。舉例來說,多個數位值可以與第一數位輸入向量的元素的數值成線性比例。作為另一實施例,多個數位值可以透過查找表與第一數位輸 入向量的元素關聯,該查找表被配置以維持數位輸入向量與由調變器陣列144產生的光輸入向量之間的線性關係。 The first DAC control signal may include a plurality of digital values to be converted by the DAC unit 130 into a first plurality of modulator control signals. Multiple digit values typically correspond to the first digit input vector and can be related through various mathematical relationships or lookup tables. For example, the plurality of digit values may be linearly proportional to the values of the elements of the first digit input vector. As another example, multiple digit values can be input through a lookup table and the first digit Associating elements of the input vector, the lookup table is configured to maintain a linear relationship between the digital input vector and the light input vector produced by the modulator array 144 .

控制器110可以將第二DAC控制訊號發送至DAC單元130,以產生第一多個權重控制訊號。DAC單元130基於第二DAC控制訊號產生第一多個權重控制訊號,並且根據第一多個權重控制訊號重新配置OMM單元150,實現對應第一多個神經網路權重的矩陣。 The controller 110 may send the second DAC control signal to the DAC unit 130 to generate the first plurality of weight control signals. The DAC unit 130 generates a first plurality of weight control signals based on the second DAC control signal, and reconfigures the OMM unit 150 according to the first plurality of weight control signals to implement a matrix corresponding to the first plurality of neural network weights.

第二DAC控制訊號可包括將要由DAC單元130轉換成第一多個權重控制訊號的多個數位值。多個數位值通常對應第一多個神經網路權重,並且可以透過各種數學關係或查找表來關聯。舉例來說,多個數位值可以與第一多個神經網路權重成線性比例。作為另一實施例,多個數位值可以藉由對第一多個神經網路權重執行各種數學操作來計算,以產生權重控制訊號,權重控制信號可以配置OMM單元150以執行對應第一多個神經網路權重的矩陣乘法。 The second DAC control signal may include a plurality of digital values to be converted by the DAC unit 130 into the first plurality of weighted control signals. Multiple numerical values typically correspond to a first plurality of neural network weights, and can be related through various mathematical relationships or lookup tables. For example, the plurality of numerical values may be linearly proportional to the first plurality of neural network weights. As another example, the plurality of digital values may be calculated by performing various mathematical operations on the first plurality of neural network weights to generate weight control signals. The weight control signals may configure the OMM unit 150 to perform operations corresponding to the first plurality of neural network weights. Matrix multiplication of neural network weights.

在一些實施例中,表示矩陣M的第一多個神經網路權重可以通過奇異值分解(singular value decomposition;SVD)方法被分解成M=USV*,其中U是M×M么正矩陣,S是在對角線上具有非負實數的MxN對角矩陣,並且V*是N×N么正矩陣V的共軛複數。在這種情況下,第一多個權重控制訊號可包括與矩陣V對應的第一多個OMM單元控制訊號,以及與矩陣S對應的第二多個OMM單元控制訊號。進一步來說,OMM單元150可被配置以具有被配置 為實現矩陣V的第一OMM子單元,被配置以實現矩陣S的第二OMM子單元,以及被配置以實現矩陣U的第三OMM子單元,使得OMM單元150作為整體實現矩陣M。SVD方法在標題為“用於光學神經網路的裝置和方法”的美國專利公開No.US 2017/0351293A1中進一步描述,其由引用完全併入本文。 In some embodiments, the first plurality of neural network weights representing the matrix M may be decomposed into M=USV* by a singular value decomposition (SVD) method, where U is an M×M positive matrix, S is an MxN diagonal matrix with nonnegative real numbers on the diagonal, and V* is the complex conjugate of the N×N positive matrix V. In this case, the first plurality of weight control signals may include a first plurality of OMM unit control signals corresponding to the matrix V, and a second plurality of OMM unit control signals corresponding to the matrix S. Further, OMM unit 150 may be configured to have configured A first OMM subunit is configured to implement matrix V, a second OMM subunit is configured to implement matrix S, and a third OMM subunit is configured to implement matrix U, such that the OMM unit 150 as a whole implements matrix M. SVD methods are further described in US Patent Publication No. US 2017/0351293A1 entitled "Apparatus and Methods for Optical Neural Networks," which is fully incorporated herein by reference.

在步驟240中,得到對應光矩陣乘法單元的光輸出向量的第一多個數位光輸出。由調變器陣列144所產生的光輸入向量由OMM單元150處理並且轉換為光輸出向量。光輸出向量由偵測單元146偵測並且轉換成電訊號,該電訊號可由ADC單元160轉換成數位值。控制器110可以將轉換請求發送至ADC單元160,以開始將偵測單元146輸出的電壓轉換為數位光輸出。一旦轉換完成,ADC單元160可將轉換結果發送至控制器110。或者,控制器110可以從ADC單元160檢索轉換結果。控制器110可以從數位光輸出形成數位輸出向量,該數位輸出向量對應輸入數位向量的矩陣乘法的結果。舉例來說,數位光輸出可以被組織或連接(concatenated)以具有向量格式。 In step 240, a first plurality of digital light outputs corresponding to the light output vector of the light matrix multiplication unit are obtained. The optical input vectors generated by the modulator array 144 are processed by the OMM unit 150 and converted into optical output vectors. The light output vector is detected by the detection unit 146 and converted into an electrical signal, which can be converted into a digital value by the ADC unit 160 . The controller 110 may send a conversion request to the ADC unit 160 to start converting the voltage output by the detection unit 146 into a digital light output. Once the conversion is completed, the ADC unit 160 may send the conversion result to the controller 110 . Alternatively, the controller 110 may retrieve the conversion results from the ADC unit 160 . The controller 110 may form a digital output vector from the digital light output, the digital output vector corresponding to the result of matrix multiplication of the input digital vector. For example, digital light output may be organized or concatenated to have a vector format.

在一些實施例中,可基於由控制器110將DAC控制訊號發出到DAC單元130,來設定或控制ADC單元160以執行ADC轉換。舉例來說,ADC轉換可以被設定以在DAC單元130產生調變控制訊號之後的預設時間開始。ADC轉換的這種控制可以簡化控制器110的操作並且減少必要的控制操作的數量。 In some embodiments, the ADC unit 160 may be set or controlled to perform ADC conversion based on the DAC control signal sent by the controller 110 to the DAC unit 130 . For example, the ADC conversion may be set to start at a preset time after the DAC unit 130 generates the modulation control signal. Such control of ADC conversion can simplify the operation of the controller 110 and reduce the number of necessary control operations.

在步驟250中,對第一數位輸出向量執行非線性轉換以產生第一轉換數位輸出向量。ANN的節點或人工神經元藉由首先執行從先前層的節點接收的訊號的權重總和,然後執行權重總和的非線性轉換(“激活”)以產生輸出來進行操作。各種類型的ANN可以實現各種類型的可微分的非線性轉換。非線性轉換函數的實施例包括修正線性單元(rectified linear unit;RELU)函數、Sigmoid函數、雙曲正切函數(yperbolic tangent function),X^2函數以及|X|函數。由控制器110對第一數位輸出執行這種非線性轉換,以產生第一轉換數位輸出向量。在一些實施例中,非線性轉換可由控制器110內的專用數位積體電路執行。舉例來說,控制器110可包括一或多個模組或電路塊,其特別適於加速一或多種類型的非線性轉換的計算。 In step 250, a non-linear transformation is performed on the first digital output vector to produce a first transformed digital output vector. An ANN's nodes, or artificial neurons, operate by first performing a weighted summation of signals received from nodes in previous layers, and then performing a nonlinear transformation ("activation") of the weighted summation to produce an output. Various types of ANN can implement various types of differentiable nonlinear transformations. Examples of nonlinear transformation functions include a rectified linear unit (RELU) function, a sigmoid function, a hyperbolic tangent function, an X^2 function, and an |X| function. This non-linear conversion is performed on the first digital output by controller 110 to produce a first converted digital output vector. In some embodiments, the nonlinear conversion may be performed by dedicated digital integrated circuits within controller 110 . For example, controller 110 may include one or more modules or circuit blocks that are particularly suitable for accelerating the calculation of one or more types of nonlinear transformations.

在步驟260中,儲存第一轉換數位輸出向量。控制器110可以將第一轉換數位輸出向量儲存在記憶體單元120中。在輸入資料集被分成多個數位輸入向量的情況下,第一轉換數位輸出向量對應輸入資料集的一部分的ANN計算結果,例如第一數位輸入向量。如此一來,儲存第一轉換數位輸出向量允許ANN計算系統100在輸入資料集的其他數位輸入向量上執行和儲存額外計算,以在稍後被聚合成單一ANN輸出。 In step 260, the first converted digital output vector is stored. The controller 110 may store the first converted digital output vector in the memory unit 120 . In the case where the input data set is divided into a plurality of digit input vectors, the first converted digit output vector corresponds to the ANN calculation result of a portion of the input data set, such as the first digit input vector. As such, storing the first transformed digital output vector allows the ANN computing system 100 to perform and store additional calculations on other digital input vectors of the input data set to be later aggregated into a single ANN output.

在步驟270中,輸出基於第一轉換數位輸出向量產生的人工神經網路輸出。控制器110產生ANN輸出,其是透過由第一多個神經網路權重所定義的ANN處理輸入資料集的結果。在 輸入資料集被分成多個數位輸入向量的情況下,所產生的ANN輸出是包括第一轉換數位輸出的聚合輸出,但是可更包括對應輸入資料集的其他部分的額外轉換數位輸出。一旦產生ANN輸出,就將所產生的輸出發送至發起ANN計算請求的電腦(例如電腦102)。 In step 270, the artificial neural network output generated based on the first converted digital output vector is output. The controller 110 generates an ANN output that is a result of processing the input data set through an ANN defined by the first plurality of neural network weights. exist Where the input data set is divided into multiple digital input vectors, the resulting ANN output is an aggregate output that includes the first transformed digital output, but may further include additional transformed digital outputs corresponding to other portions of the input data set. Once the ANN output is generated, the generated output is sent to the computer that initiated the ANN calculation request (eg, computer 102).

可以為實現程序200的ANN計算系統100定義各種效能指標(performance metric)。定義效能指標可以允許將實現光處理器140的ANN計算系統100的效能與用於替代實現電矩陣乘法單元(electronic matrix multiplication unit)的ANN計算的其他系統的效能進行比較。在一個觀點中,可以執行ANN計算的速率可以部分地由第一循環週期指示,第一循環週期定義為在記憶體單元中儲存輸入資料集和第一多個神經網路權重的步驟220與在記憶體單元中儲存第一轉換數位輸出向量的步驟260之間所經過的時間。因此,第一循環週期包括將電訊號轉換成光訊號(例如:步驟230)、在光域中執行矩陣乘法、以及將結果轉換回電域(例如:步驟240)所花費的時間。步驟220和260都涉及將資料儲存至記憶體單元120中,這是在ANN計算系統100和沒有光處理器140的習知ANN計算系統之間共享的步驟。如此一來,測量記憶體到記憶體交易時間(memory-to-memory transaction time)的第一循環週期可以允許在ANN計算系統100與沒有光處理器140的ANN計算系統(例如實現電矩陣乘法單元的系統)之間進行ANN計算流通量的實際或公平比較。 Various performance metrics may be defined for the ANN computing system 100 implementing program 200. Defining performance metrics may allow the performance of the ANN computing system 100 implementing the optical processor 140 to be compared with the performance of other systems used to implement ANN computing instead of an electronic matrix multiplication unit. In one view, the rate at which ANN computations can be performed may be dictated in part by the first loop period, which is defined as the step 220 of storing the input data set and the first plurality of neural network weights in a memory unit versus The time elapsed between steps 260 of storing the first converted digital output vector in the memory unit. Therefore, the first cycle includes the time spent converting the electrical signal to the optical signal (eg, step 230), performing the matrix multiplication in the optical domain, and converting the result back to the electrical domain (eg, step 240). Both steps 220 and 260 involve storing data into memory unit 120, which is a step shared between ANN computing system 100 and conventional ANN computing systems without optical processor 140. In this way, measuring the memory-to-memory transaction time of the first cycle can allow the ANN computing system 100 to be compared with an ANN computing system without an optical processor 140 (such as implementing an electrical matrix multiplication unit). systems) to perform actual or fair comparisons of ANN calculations in circulation.

由於調變器陣列144可以產生光輸入向量的速率(例如:在25GHz)和OMM單元150的處理速率(例如:>100GHz),用於執行單一數位輸入向量的單一ANN計算的ANN計算系統100的第一循環週期可以接近調變器陣列144的速度的倒數(例如40ps)。在考慮與DAC單元130的訊號產生和ADC單元160的ADC轉換相關聯的延遲之後,第一循環週期可以小於或等於100ps、小於或等於200ps、小於或等於500ps、小於或等於1ns、小於或等於2ns、小於或等於5ns、或小於或等於10ns。 Due to the rate at which the modulator array 144 can generate optical input vectors (eg, at 25 GHz) and the processing rate of the OMM unit 150 (eg, >100 GHz), the ANN computing system 100 for performing a single ANN calculation of a single digit input vector has The first cycle period may be close to the reciprocal of the speed of modulator array 144 (eg, 40 ps). The first cycle period may be less than or equal to 100 ps, less than or equal to 200 ps, less than or equal to 500 ps, less than or equal to 1 ns, less than or equal to 2ns, less than or equal to 5ns, or less than or equal to 10ns.

作為比較,電矩陣乘法單元的M×1向量和M×M矩陣的乘法執行時間通常與M^2-1個處理器時鐘週期(processor clock cycle)成比例。對於M=32,這種乘法將花費大約1024個週期,其在3GHz時鐘速度下導致執行時間超過300ns,這比ANN計算系統100的第一循環週期慢幾個數量級。 For comparison, the multiplication execution time of M×1 vectors and M×M matrices of the electrical matrix multiplication unit is usually proportional to M^2-1 processor clock cycles. For M=32, this multiplication will take approximately 1024 cycles, which results in an execution time of over 300ns at a 3GHz clock speed, which is several orders of magnitude slower than the first loop period of the ANN computing system 100.

在一些實施例中,程序200更包括基於第一轉換數位輸出向量產生第二多個調變器控制訊號的步驟。在一些類型的ANN計算中,單一數位輸入向量可以透過相同的ANN重複傳播或由相同的ANN處理。實現多次通過處理(multi-pass processing)的ANN可以稱為遞歸神經網路(recurrent neural network;RNN)。RNN是神經網路,其中在第(k)次通過神經網路期間網路的輸出被再循環回到神經網路的輸入並且在第(k+1)次通過期間被用作輸入。RNN可以在圖案識別任務中具有各種應用,例如語音或手寫識別。一旦產生了第二多個調變器控制信號,程序200就可 以從步驟240進行到步驟260,以完成第一數位輸入向量通過ANN的第二次。通常來說,根據在ANN計算請求中所接收的RNN的特性,將轉換的數位輸出作為數位輸入向量的再循環可以重複預定數量的循環。 In some embodiments, the process 200 further includes the step of generating a second plurality of modulator control signals based on the first converted digital output vector. In some types of ANN calculations, a single digit input vector can be repeatedly propagated through the same ANN or processed by the same ANN. An ANN that implements multi-pass processing can be called a recurrent neural network (RNN). RNNs are neural networks in which the output of the network during the (k)th pass through the neural network is recycled back to the input of the neural network and used as input during the (k+1)th pass. RNNs can have various applications in pattern recognition tasks, such as speech or handwriting recognition. Once the second plurality of modulator control signals are generated, process 200 may Proceed from step 240 to step 260 to complete the second pass of the first digit input vector through the ANN. Generally speaking, the recycling of the converted digital output as a digital input vector can be repeated for a predetermined number of cycles depending on the characteristics of the RNN received in the ANN calculation request.

在一些實施例中,程序200更包括基於第二多個神經網路權重產生第二多個權重控制訊號的步驟。在一些情況下,人工神經網路計算請求更包括第二多個神經網路權重。通常來說,除了輸入層和輸出層之外,ANN還具有一或多個隱藏層。對於具有兩個隱藏層的ANN,第二多個神經網路權重可對應ANN的第一層與ANN的第二層之間的連接性。為了透過ANN的兩個隱藏層處理第一數位輸入向量,可以首先根據程序200處理第一數位輸入向量直到步驟260,其中在步驟260透過ANN的第一隱藏層處理第一數位輸入向量的結果儲存在記憶體單元120中。接著控制器110重新配置OMM單元150以執行對應與ANN的第二隱藏層相關聯的第二多個神經網路權重的矩陣乘法。一旦OMM單元150被重新配置,程序200可以基於第一轉換數位輸出向量產生多個調變器控制訊號,其產生對應第一隱藏層的輸出的更新的光輸入向量。接著更新的光輸入向量由重新配置的OMM單元150處理,OMM單元150對應ANN的第二隱藏層。通常來說,所述的步驟可以重複直到已經透過ANN的所有隱藏層處理了數位輸入向量。 In some embodiments, the process 200 further includes the step of generating a second plurality of weight control signals based on the second plurality of neural network weights. In some cases, the artificial neural network calculation request further includes a second plurality of neural network weights. Generally speaking, in addition to the input layer and output layer, ANN also has one or more hidden layers. For an ANN with two hidden layers, the second plurality of neural network weights may correspond to the connectivity between the first layer of the ANN and the second layer of the ANN. In order to process the first digital input vector through the two hidden layers of the ANN, the first digital input vector may first be processed according to the process 200 until step 260, wherein the result of processing the first digital input vector through the first hidden layer of the ANN is stored in step 260. in memory unit 120. The controller 110 then reconfigures the OMM unit 150 to perform matrix multiplication corresponding to the second plurality of neural network weights associated with the second hidden layer of the ANN. Once the OMM unit 150 is reconfigured, the process 200 can generate a plurality of modulator control signals based on the first converted digital output vector, which generates an updated light input vector corresponding to the output of the first hidden layer. The updated light input vector is then processed by the reconfigured OMM unit 150, which corresponds to the second hidden layer of the ANN. In general, the steps described can be repeated until the numeric input vector has been processed through all hidden layers of the ANN.

如上面所述,在OMM單元150的一些實施例中,OMM單元150的重新配置速率可明顯慢於調變器陣列144的調變 速率。在這種情況下,ANN計算系統100的流通量可能受到在其不能執行ANN計算的期間,重新配置OMM單元150所花費的時間量的不利影響。為了減輕OMM單元150的相對慢的重新配置時間的影響,可以利用批量處理(batch processing)技術,其中兩個或多個數位輸入向量傳播通過OMM單元150而沒有配置改變,以分攤(amortize)重新配置時間在更大數量的數位輸入向量上。 As discussed above, in some embodiments of OMM unit 150 , the reconfiguration rate of OMM unit 150 may be significantly slower than the modulation rate of modulator array 144 rate. In this case, the throughput of the ANN computing system 100 may be adversely affected by the amount of time spent reconfiguring the OMM unit 150 during the period that it is unable to perform ANN calculations. To mitigate the impact of the relatively slow reconfiguration time of the OMM unit 150, batch processing techniques may be utilized, in which two or more digital input vectors are propagated through the OMM unit 150 without configuration changes to amortize the reconfiguration. Configuration time increases with larger number of digit input vectors.

第2B圖顯示了說明第2A圖的程序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在重新配置中花費的時間部分。 Figure 2B shows a schematic diagram 290 illustrating the process 200 of Figure 2A. For an ANN with two hidden layers, instead of processing the first digit input vector through the first hidden layer, reconfiguring the OMM unit 150 for the second hidden layer, processing the first digit input vector through the reconfigured OMM unit 150, and The same operation is repeated for the remaining digit input vectors, and all digit input vectors of the input data set may first be processed by the OMM unit 150 configured for the first hidden layer (configuration #1), as shown in the upper part of the schematic diagram 290 . Once all the digit input vectors have been processed by the OMM unit 150 with configuration #1, the OMM unit 150 is reconfigured into configuration #2, which corresponds to the second hidden layer of the ANN. This reconfiguration may be significantly slower than the rate at which the OMM unit 150 can process the input vectors. Once the OMM unit 150 is reconfigured for a second hidden layer, the output vectors from the previous hidden layer may be batch processed by the OMM unit 150 . For large input data sets with tens or hundreds of thousands of digit input vectors, the impact of reconfiguration time can be reduced by approximately the same factor, which can significantly reduce the portion of time the ANN computing system 100 spends in reconfiguration.

為了實現批量處理,在一些實施例中,程序200更包括透過DAC單元基於第二數位輸入向量產生第二多個調變器控制訊號的步驟;從ADC單元得到對應光矩陣乘法單元的光輸出向量的第二多個數位光輸出的步驟,第二多個數位光輸出形成第二數位輸出向量;對第二數位輸出向量執行非線性轉換以產生第二轉換數位輸出向量的步驟;以及在記憶體單元中儲存第二轉換數位輸出向量的步驟。舉例來說,產生第二多個調變器控制訊號可以在步驟260之後。此外,在這種情況下的步驟270的ANN輸出現在是基於第一轉換數位輸出向量和第二轉換數位輸出向量。獲取、執行和儲存步驟類似於步驟240到步驟260。 In order to achieve batch processing, in some embodiments, the process 200 further includes the step of generating a second plurality of modulator control signals based on the second digital input vector through the DAC unit; obtaining the light output vector corresponding to the optical matrix multiplication unit from the ADC unit the steps of a second plurality of digital light outputs, the second plurality of digital light outputs forming a second digital output vector; the step of performing a nonlinear conversion on the second digital output vector to generate a second converted digital output vector; and in the memory The step of storing the second converted digital output vector in the unit. For example, generating the second plurality of modulator control signals may occur after step 260 . Furthermore, the ANN output of step 270 in this case is now based on the first converted digit output vector and the second converted digit output vector. The acquisition, execution and storage steps are similar to steps 240 to 260.

批量處理技術是用於提高ANN計算系統100的流通量的多種技術之一。用於提高ANN計算系統100的流通量的另一種技術是透過利用波長分波多路複用(wavelength division multiplexing;WDM)並行處理多個數位輸入向量。WDM是透過公共傳播通道(例如OMM單元150的波導)同時傳播不同波長的多個光訊號的技術。與電訊號不同,不同波長的光訊號可以透過公共通道傳播,而不會影響在同一通道上不同波長的其他光訊號。此外,可以使用諸如光學多路複用器(multiplexer)和多路分解器(demultiplexer)的公知結構從公共傳播通道添加(多路複用(multiplexed))或丟棄(多路分解(demultiplexed))光訊號。 Batch processing technology is one of several technologies used to increase throughput of the ANN computing system 100. Another technique for increasing the throughput of the ANN computing system 100 is by processing multiple digital input vectors in parallel using wavelength division multiplexing (WDM). WDM is a technology that simultaneously propagates multiple optical signals of different wavelengths through a common propagation channel (such as the waveguide of the OMM unit 150). Unlike electrical signals, optical signals of different wavelengths can propagate through a common channel without affecting other optical signals of different wavelengths on the same channel. Additionally, light may be added (multiplexed) or dropped (demultiplexed) from a common propagation channel using well-known structures such as optical multiplexers and demultiplexers. signal.

在ANN計算系統100的背景下,不同波長的多個光輸入向量可以獨立地產生、同時傳播通過OMM單元150、以及獨 立地檢測以增強ANN計算系統100的流通量。參照第1F圖,顯示了波長分波多路複用(WDM)人工神經網路(ANN)計算系統104的示意圖。除非另外描述,否則WDM ANN計算系統104類似於ANN計算系統100。為了實現WDM技術,在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。 In the context of the ANN computing system 100, multiple optical input vectors of different wavelengths may be independently generated, propagated simultaneously through the OMM unit 150, and independently On-site detection to enhance the throughput of the ANN computing system 100. 1F, a schematic diagram of a wavelength division multiplexing (WDM) artificial neural network (ANN) computing system 104 is shown. Unless otherwise described, WDM ANN computing system 104 is similar to ANN computing system 100. To implement WDM technology, in some embodiments of the WDM ANN computing system 104, the laser unit 142 is configured to generate multiple wavelengths, such as λ1, λ2, and λ3. Multiple wavelengths may preferably be separated by a sufficiently large wavelength spacing to allow easy multiplexing and demultiplexing onto a common propagation channel. For example, wavelength spacing greater than 0.5 nm, 1.0 nm, 2.0 nm, 3.0 nm, or 5.0 nm may allow for simple multiplexing and demultiplexing. On the other hand, the range between the shortest and longest wavelengths of the plurality of wavelengths (the "WDM bandwidth") may preferably be small enough such that the characteristics or performance of the OMM unit 150 remain substantially the same across the plurality of wavelengths. Optical components are often dispersive, meaning their optical properties vary with wavelength. For example, the power separation ratio of an MZI can vary with wavelength. However, by designing the OMM unit 150 to have a sufficiently large operating wavelength window, and by limiting the wavelengths within the operating wavelength window, the light output vector output by the OMM unit 150 at each wavelength can be is the sufficiently accurate result of the matrix multiplication implemented by the OMM unit 150. The operating wavelength window can be 1nm, 2nm, 3nm, 4nm, 5nm, 10nm or 20nm.

第39A圖顯示了可用於調變光訊號的幅度的馬赫曾德爾調變器3900的示意圖。馬赫曾德爾調變器3900包括兩個1×2端口多模式干涉耦合器(MMI_1x2)3902a和3902b、兩個平衡的臂(arm)3904a和3904b、以及一個臂中的相位移器3906(或每一 個臂中的一個相位移器)。當透過訊號線3908將電壓施加到一個臂中的相位移器時,在兩個臂3904a與3904b之間將存在將要轉換為幅度調變的相位差。1x2端口多模式干涉耦合器3902a和3902b以及相位移器3906被配置以寬帶(broadband)光子部件,並且兩個臂3904a和3904b的光路徑長度被配置為相等。這使馬赫曾德爾調變器3900能夠在寬波長範圍內工作。 Figure 39A shows a schematic diagram of a Mach-Zehnder modulator 3900 that can be used to modulate the amplitude of an optical signal. Mach-Zehnder modulator 3900 includes two 1×2 port multi-mode interference couplers (MMI_1x2) 3902a and 3902b, two balanced arms (arms) 3904a and 3904b, and a phase shifter 3906 in one arm (or each one a phase shifter in each arm). When a voltage is applied to the phase shifter in one arm through signal line 3908, there will be a phase difference between the two arms 3904a and 3904b that will be converted into amplitude modulation. The 1x2 port multi-mode interference couplers 3902a and 3902b and the phase shifter 3906 are configured with broadband photonic components, and the optical path lengths of the two arms 3904a and 3904b are configured to be equal. This enables the Mach-Zehnder Modulator 3900 to operate over a wide wavelength range.

第39B圖是曲線圖3910,其顯示了對於波長1530nm、1550nm以及1570nm使用在第39A圖中所示的配置的馬赫曾德爾調變器3900的強度-電壓曲線圖。曲線圖3910顯示了馬赫曾德爾調變器3900對於1530nm至1570nm範圍內的不同波長具有類似的強度-電壓特性。 Figure 39B is a graph 3910 showing intensity-voltage graphs for the Mach-Zehnder modulator 3900 using the configuration shown in Figure 39A for wavelengths 1530 nm, 1550 nm, and 1570 nm. Graph 3910 shows that Mach-Zehnder modulator 3900 has similar intensity-voltage characteristics for different wavelengths in the range of 1530 nm to 1570 nm.

返回參照第1F圖,WDM ANN計算系統104的調變器陣列144包括光調變器組(banks of optical modulators),其被配置以產生多個光輸入向量,每一組對應於多個波長之一者並且產生具有相應波長的相應光輸入向量。舉例來說,對於具有長度為32和3個波長(例如:λ1、λ2和λ3)的光輸入向量的系統,調變器陣列144可以具有每一組32個調變器的3個組。此外,調變器陣列144更還包括光多路複用器,其被配置以將多個光輸入向量組合成包括多個波長的組合光輸入向量。舉例來說,光多路複用器可以將三個不同波長的三個調變器組的輸出組合成光輸入向量的每個元素的單一傳播通道(例如波導)。如此一來,返回上面的實施例,組合光輸入向量將具有32個光訊號,每一個訊號包括3個波長。 Referring back to FIG. 1F , the modulator array 144 of the WDM ANN computing system 104 includes banks of optical modulators configured to generate a plurality of optical input vectors, each group corresponding to one of a plurality of wavelengths. one and produces corresponding light input vectors with corresponding wavelengths. For example, for a system with optical input vectors of length 32 and 3 wavelengths (eg, λ1, λ2, and λ3), modulator array 144 may have 3 groups of 32 modulators each. In addition, the modulator array 144 further includes an optical multiplexer configured to combine multiple optical input vectors into a combined optical input vector including multiple wavelengths. For example, an optical multiplexer can combine the outputs of three modulator banks at three different wavelengths into a single propagation channel (eg, waveguide) for each element of the optical input vector. Thus, returning to the above embodiment, the combined optical input vector will have 32 optical signals, each signal including 3 wavelengths.

此外,WDM ANN計算系統104的偵測單元146更被配置以多路分解多個波長並且產生多個多路分解的輸出電壓。舉例來說,偵測單元146可包括多路分解器,其被配置以多路分解包括在多波長光輸出向量的32個訊號中的每個訊號中的三個波長,並且將3個單一波長光輸出向量路由(route)到耦接到三組跨阻抗放大器的三組光偵測器。 In addition, the detection unit 146 of the WDM ANN computing system 104 is further configured to demultiplex multiple wavelengths and generate multiple demultiplexed output voltages. For example, the detection unit 146 may include a demultiplexer configured to demultiplex three wavelengths included in each of the 32 signals of the multi-wavelength optical output vector and demultiplex the three single wavelengths The light output vector is routed to three sets of photodetectors coupled to three sets of transimpedance amplifiers.

此外,WDM ANN計算系統104的ADC單元160包括ADC組,其被配置以轉換偵測單元146的多個多路分解的輸出電壓。每一組對應多個波長中的一個,並且產生相應數位多路分解光輸出。舉例來說,ADC組可以耦接至偵測單元146的跨阻抗放大器組。 Furthermore, the ADC unit 160 of the WDM ANN computing system 104 includes an ADC bank configured to convert a plurality of demultiplexed output voltages of the detection unit 146 . Each group corresponds to one of the plurality of wavelengths and produces a corresponding digital demultiplexed optical output. For example, the ADC bank may be coupled to the transimpedance amplifier bank of the detection unit 146 .

控制器110可以實現類似於程序200的方法,但是擴展為支持多波長操作。舉例來說,該方法可包括從ADC單元160得到多個數位多路分解光輸出的步驟,多個數位多路分解光輸出形成多個第一數位輸出向量,其中多個第一數位輸出向量中的每一者對應多個波長中的一者;對多個第一數位輸出向量中的每一者執行非線性轉換,以產生多個轉換第一數位輸出向量的步驟;以及在記憶體單元中儲存多個轉換第一數位輸出向量的步驟。 Controller 110 may implement a method similar to procedure 200, but extended to support multi-wavelength operation. For example, the method may include the step of obtaining a plurality of digital demultiplexed light outputs from the ADC unit 160, the plurality of digital demultiplexed light outputs forming a plurality of first digital output vectors, wherein one of the plurality of first digital output vectors is Each of corresponds to one of the plurality of wavelengths; performing a nonlinear transformation on each of the plurality of first digital output vectors to generate a plurality of steps of converting the first digital output vector; and in the memory unit Stores multiple steps for converting the first digital output vector.

在一些情況下,可以專門設計ANN,並且可以具體地形成數位輸入向量,使得可以在不進行多路分解的情況下偵測多波長光輸出向量。在這種情況下,偵測單元146可以是波長非敏感(wavelength-insensitive)的偵測單元,其不會多路分解多波長 光輸出向量的多個波長。如此一來,偵測單元146的每一個光偵測器有效地將光訊號的多個波長加到單一光電流中,並且偵測單元146輸出的每一個電壓對應多個數位輸入向量的矩陣乘法結果的元素對元素總和(element-by-element sum)。 In some cases, the ANN can be specifically designed and the digital input vectors can be specifically formed such that multi-wavelength light output vectors can be detected without demultiplexing. In this case, the detection unit 146 may be a wavelength-insensitive detection unit that does not demultiplex multiple wavelengths. Multiple wavelengths of light output vector. In this way, each photodetector of the detection unit 146 effectively adds multiple wavelengths of the optical signal to a single photocurrent, and each voltage output by the detection unit 146 corresponds to a matrix multiplication of multiple digital input vectors. The element-by-element sum of the result.

到目前為止,作為ANN計算的一部分所執行的權重總和的非線性轉換是藉由控制器110在數位域(digital domain)中執行的。在一些情況下,非線性轉換可能是計算密集的或耗功率的,顯著地增加了控制器110的複雜性,或者在流通量或功率效率方面限制了ANN計算系統100的效能。如此一來,在ANN計算系統的一些實施例中,可以透過類比電子裝置在類比域(analog domain)中執行非線性轉換。 So far, the nonlinear transformation of the weight sum performed as part of the ANN calculation has been performed in the digital domain by the controller 110 . In some cases, nonlinear transformations may be computationally intensive or power consuming, significantly increasing the complexity of the controller 110, or limiting the performance of the ANN computing system 100 in terms of throughput or power efficiency. As a result, in some embodiments of the ANN computing system, nonlinear transformations can be performed in the analog domain through analog electronic devices.

第3A圖顯示了ANN計算系統300的示意圖。ANN計算系統300類似於ANN計算系統100,不同之處在於添加了類比非線性單元310。類比非線性單元310設置在偵測單元146和ADC單元160之間。類比非線性單元310被配置以從偵測單元146接收輸出電壓、應用非線性傳遞函數、以及將轉換輸出電壓輸出到ADC單元160。 Figure 3A shows a schematic diagram of the ANN computing system 300. ANN computing system 300 is similar to ANN computing system 100 except that an analog nonlinear unit 310 is added. The analog nonlinear unit 310 is disposed between the detection unit 146 and the ADC unit 160 . Analog nonlinear unit 310 is configured to receive the output voltage from detection unit 146 , apply a nonlinear transfer function, and output the converted output voltage to ADC unit 160 .

當ADC單元160接收已經由類比非線性單元310非線性轉換的電壓時,控制器110可以從ADC單元160得到對應轉換輸出電壓的轉換數位輸出電壓。因為從ADC單元160得到的數位輸出電壓已經被非線性轉換(“激活”),所以可以省略控制器110的非線性轉換步驟,從而減少了控制器110的計算負擔。接著,可以 將直接從ADC單元160得到的第一轉換電壓作為第一轉換數位輸出向量儲存在記憶體單元120中。 When the ADC unit 160 receives the voltage that has been nonlinearly converted by the analog nonlinear unit 310, the controller 110 may obtain a converted digital output voltage corresponding to the converted output voltage from the ADC unit 160. Because the digital output voltage obtained from the ADC unit 160 has already been nonlinearly converted ("activated"), the nonlinear conversion step of the controller 110 can be omitted, thereby reducing the computational burden of the controller 110 . Then, okay The first converted voltage obtained directly from the ADC unit 160 is stored in the memory unit 120 as a first converted digital output vector.

可以以各種方式實現類比非線性單元310。舉例來說,在回饋配置中的高增益放大器、具有可調整參考電壓、二極體的非線性IV特性、二極管的崩潰特性(breakdown behavior)、可變電容的非線性CV特性或可變電阻的非線性IV特性的比較器可用來實現類比非線性單元310。 Analog nonlinear unit 310 may be implemented in various ways. For example, high-gain amplifiers in feedback configurations, with adjustable reference voltages, nonlinear IV characteristics of diodes, breakdown behavior of diodes, nonlinear CV characteristics of variable capacitors, or variable resistors. A comparator with nonlinear IV characteristics may be used to implement the analog nonlinear unit 310 .

使用類比非線性單元310可以藉由減少在數位域中執行的步驟來改善ANN計算系統300的效能,例如流通量或功率效率。將非線性轉換步驟移出數位域可以允許ANN計算系統的操作中的額外的靈活性和改進。舉例來說,在遞歸神經網路中,OMM單元150的輸出被激活,並且再循環回到OMM單元150的輸入。激活步驟由ANN計算系統100中的控制器110執行,這需要在每次通過OMM單元150時數位化偵測單元146的輸出電壓。然而,因為激活步驟現在在ADC單元160的數位化之前執行,所以可以減少在執行遞歸神經網路計算中所需的ADC轉換的次數。 The use of the analog nonlinear unit 310 can improve the performance of the ANN computing system 300, such as throughput or power efficiency, by reducing the number of steps performed in the digital domain. Moving the nonlinear transformation step out of the digital domain can allow additional flexibility and improvements in the operation of ANN computing systems. For example, in a recurrent neural network, the output of OMM unit 150 is activated and recycled back to the input of OMM unit 150 . The activation step is performed by the controller 110 in the ANN computing system 100, which requires digitizing the output voltage of the detection unit 146 at each pass through the OMM unit 150. However, since the activation step is now performed before digitization of the ADC unit 160, the number of ADC conversions required in performing the recursive neural network calculations can be reduced.

在一些實施例中,類比非線性單元310可以整合到ADC單元160中作為非線性ADC單元。舉例來說,非線性ADC單元可以是具有非線性查找表的線性ADC單元,其將線性ADC單元的線性數位輸出映射到所期望的非線性轉換數位輸出。 In some embodiments, analog nonlinear unit 310 may be integrated into ADC unit 160 as a nonlinear ADC unit. For example, the nonlinear ADC unit may be a linear ADC unit with a nonlinear lookup table that maps the linear digital output of the linear ADC unit to a desired nonlinear converted digital output.

第3B圖顯示了ANN計算系統302的示意圖。ANN計算系統302類似於第3A圖的ANN計算系統300,不同之處在於 它更包括類比記憶體單元320。類比記憶體單元320耦接至DAC單元130(例如:透過第一DAC子單元132)、調變器陣列144和類比非線性單元310。類比記憶體單元320包括多路複用器,其具有耦接至DAC單元130的第一輸入和耦接至類比非線性單元310的第二輸入。這允許類比記憶體單元320從DAC單元130或類比非線性單元310接收訊號。類比記憶體單元320被配置以儲存類比電壓並且輸出所儲存的類比電壓。 Figure 3B shows a schematic diagram of the ANN computing system 302. ANN computing system 302 is similar to ANN computing system 300 of Figure 3A except that It further includes an analog memory unit 320 . The analog memory unit 320 is coupled to the DAC unit 130 (eg, through the first DAC subunit 132 ), the modulator array 144 and the analog nonlinear unit 310 . The analog memory unit 320 includes a multiplexer having a first input coupled to the DAC unit 130 and a second input coupled to the analog non-linear unit 310 . This allows the analog memory unit 320 to receive signals from the DAC unit 130 or the analog nonlinear unit 310 . The analog memory unit 320 is configured to store analog voltages and output the stored analog voltages.

可以以各種方式實現類比記憶體單元320。舉例來說,電容陣列可以用作類比電壓儲存元件。類比記憶體元320的電容可以藉由充電電路被充電至輸入電壓。可以基於從控制器110接收的控制訊號來控制輸入電壓的儲存。電容可以與周圍環境電性隔離,以減少導致電容不希望的放電的電荷漏電。另外地(或替代地),回饋放大器可用以維持儲存在電容上的電壓。可以藉由緩衝放大器讀出電容的儲存電壓,這允許保持由電容儲存的電荷,同時輸出儲存電壓。類比記憶體單元320的這些方面可類似於取樣保持電路(sample and hold circuit)的操作。緩衝放大器可以實現用於驅動調變器陣列144的調變器驅動器的功能。 Analog memory unit 320 may be implemented in various ways. For example, capacitor arrays can be used as analog voltage storage elements. The capacitor of the analog memory cell 320 can be charged to the input voltage by a charging circuit. The storage of the input voltage may be controlled based on a control signal received from the controller 110 . Capacitors can be electrically isolated from the surrounding environment to reduce charge leakage that can lead to undesired discharge of the capacitor. Additionally (or alternatively), a feedback amplifier may be used to maintain the voltage stored on the capacitor. The stored voltage of the capacitor can be read out by a buffer amplifier, which allows the charge stored by the capacitor to be maintained while outputting the stored voltage. These aspects of analog memory cell 320 may be similar to the operation of a sample and hold circuit. The buffer amplifier may function as a modulator driver for driving the modulator array 144 .

現在將描述ANN計算系統302的操作。由DAC單元130(例如:由第一DAC子單元132)輸出的第一多個調變器控制訊號首先透過類比記憶體單元320輸入至調變器陣列144。在此步驟中,類比記憶體單元320可以簡單地傳遞或緩衝第一多個調變器控制訊號。調變器陣列144基於第一多個調變器控制訊號產生光輸入 向量,其透過OMM單元150傳播並由偵測單元146偵測。偵測單元146的輸出電壓由類比非線性單元310非線性轉換。此時,代替由ADC單元160數位化,偵測單元146的輸出電壓由類比記憶體單元320儲存,其接著輸出到調變器陣列144,以被轉換成將要透過OMM單元150傳播的下一個光輸入向量。在控制器110的控制下,可以在預設時間量或預設數量的循環執行該遞歸處理(recurrent processing)。一旦對於給定數位輸入向量完成了遞歸處理,類比非線性單元310的轉換輸出電壓就由ADC單元160轉換。 The operation of ANN computing system 302 will now be described. The first plurality of modulator control signals output by the DAC unit 130 (eg, by the first DAC sub-unit 132 ) are first input to the modulator array 144 through the analog memory unit 320 . In this step, the analog memory unit 320 may simply pass or buffer the first plurality of modulator control signals. The modulator array 144 generates light input based on the first plurality of modulator control signals. vector, which propagates through the OMM unit 150 and is detected by the detection unit 146. The output voltage of the detection unit 146 is nonlinearly converted by the analog nonlinear unit 310 . At this time, instead of being digitized by the ADC unit 160 , the output voltage of the detection unit 146 is stored by the analog memory unit 320 , which is then output to the modulator array 144 to be converted into the next light to be propagated through the OMM unit 150 Input vector. Under the control of the controller 110, the recursive processing may be performed for a preset amount of time or a preset number of cycles. Once the recursive processing is completed for a given digital input vector, the converted output voltage of the analog nonlinear unit 310 is converted by the ADC unit 160 .

類比記憶體單元320的使用可以顯著減少在遞歸神經網路計算期間的ADC轉換的數量,例如降低到對於每次給定數位輸入向量的RNN計算一個單一ADC轉換。每一次ADC轉換都需要一段時間,並且消耗一定的能量。如此一來,ANN計算系統302的RNN計算的流通量可以高於ANN計算系統100的RNN計算的流通量。 The use of the analog memory unit 320 can significantly reduce the number of ADC conversions during the computation of the recurrent neural network, such as down to a single ADC conversion for each time the RNN computes a given digital input vector. Each ADC conversion takes a while and consumes a certain amount of energy. In this way, the circulation calculated by the RNN of the ANN computing system 302 may be higher than the circulation calculated by the RNN of the ANN computing system 100 .

可以藉由控制類比記憶體單元320來控制遞歸神經網路計算的執行。舉例來說,控制器可以控制類比記憶體單元320在特定時間儲存電壓,並在不同時間輸出儲存的電壓。如此一來,從類比記憶體320到調變器陣列144通過類比非線性單元310並且回到類比記憶體單元320的訊號循環可以藉由控制器控制比記憶體單元320的儲存和讀出來控制。 The execution of the recursive neural network calculations can be controlled by controlling the analog memory unit 320 . For example, the controller can control the analog memory unit 320 to store the voltage at a specific time and output the stored voltage at different times. In this way, the signal loop from the analog memory 320 to the modulator array 144 through the analog nonlinear unit 310 and back to the analog memory unit 320 can be controlled by the controller controlling the storage and reading of the analog memory unit 320 .

如此一來,在一些實施例中,ANN計算系統302的控制器110可以執行以下步驟:基於產生第一多個調變器控制訊號和第一多個權重控制訊號,透過類比記憶體單元儲存類比非線性單元的多個轉換輸出電壓;透過類比記憶體單元輸出儲存的轉換輸出電壓;從ADC單元得到第二多個轉換數位輸出電壓,第二多個轉換數位輸出電壓形成第二轉換數位輸出向量;以及在記憶體單元中儲存第二轉換數位輸出向量。 Thus, in some embodiments, the controller 110 of the ANN computing system 302 may perform the following steps: based on generating the first plurality of modulator control signals and the first plurality of weight control signals, store the analog signal through the analog memory unit. A plurality of conversion output voltages of the nonlinear unit; outputting the stored conversion output voltage through the analog memory unit; obtaining a second plurality of conversion digital output voltages from the ADC unit, and the second plurality of conversion digital output voltages forming a second conversion digital output vector ; and storing the second converted digital output vector in the memory unit.

由ANN計算系統處理的輸入資料集通常包括具有接析度大於1位元的資料。舉例來說,灰度數位影像的通常像素可具有8位元的解析度,即256個不同的準位。在光域中表示和處理該資料的一種方式是將256個不同強度準位的像素編碼作為輸入到OMM單元150的光訊號的256個不同功率準位。光信號本質上是類比訊號,因此容易受雜訊和偵測誤差的影響。返回參照第1A圖,為了在整個ANN計算系統100中保持數位輸入向量的8位元解析度,並且在ADC單元160的輸出產生真實的8位元數位光輸出,訊號鏈(signal chain)的每個部分可以優選地設計成再現(reproduce)和8位元解析度。 Input data sets processed by ANN computing systems typically include data with resolution greater than 1 bit. For example, a typical pixel of a grayscale digital image can have a resolution of 8 bits, or 256 different levels. One way to represent and process this data in the optical domain is to encode 256 different intensity levels of pixels as 256 different power levels of the optical signal input to the OMM unit 150 . Optical signals are analog in nature and therefore susceptible to noise and detection errors. Referring back to Figure 1A, in order to maintain the 8-bit resolution of the digital input vector throughout the ANN computing system 100 and produce a true 8-bit digital light output at the output of the ADC unit 160, each step of the signal chain Each part may be preferably designed for reproduction and 8-bit resolution.

舉例來說,DAC單元130可以優選地被設計為支持將8位元數位輸入向量轉換成至少8位元解析度的調變器控制訊號,使得調變器陣列144可以產生忠實地表示數位輸入向量的8位元的光輸入向量。通常來說,調變器控制訊號可能需要具有超過數位輸入向量的8位元的額外解析度,以補償調變器陣列144的非線 性響應。此外,OMM單元150的內部配置可以優選地足夠穩定,以確保光輸出向量的數值不會被OMM單元150的配置的任何波動破壞。舉例來說,OMM單元150的溫度可能需要穩定在5度、2度、1度或0.1度內。此外,偵測單元146可以優選地具有足夠低的雜訊以不破壞光輸出向量的8位元解析度,並且ADC單元160可以優選地被設計以支持具有至少8位元解析度的類比電壓的數位化。 For example, the DAC unit 130 may preferably be designed to support converting an 8-bit digital input vector into a modulator control signal with at least 8-bit resolution such that the modulator array 144 can generate a faithful representation of the digital input vector. 8-bit light input vector. Generally speaking, the modulator control signal may need to have additional resolution beyond the 8 bits of the digital input vector to compensate for the non-linearity of the modulator array 144. sexual response. Furthermore, the internal configuration of the OMM unit 150 may preferably be sufficiently stable to ensure that the value of the light output vector is not corrupted by any fluctuations in the configuration of the OMM unit 150 . For example, the temperature of the OMM unit 150 may need to be stabilized within 5 degrees, 2 degrees, 1 degree, or 0.1 degrees. Furthermore, the detection unit 146 may preferably have low enough noise to not destroy the 8-bit resolution of the light output vector, and the ADC unit 160 may preferably be designed to support analog voltages with at least 8-bit resolution. Digitization.

各種電子部件的功率消耗和設計複雜性通常隨著位元解析度、操作速度和帶寬而增加。舉例來說,作為第一階近似(first-order approximation),ADC單元160的功率消耗可以隨著採樣速率線性地縮放,並且縮放係數為2^N,其中N是轉換結果的位元解析度。此外,DAC單元130和ADC單元160的設計考慮因素通常為採樣率和位元解析度之間的權衡結果。如此一來,在一些情況下,可以期望ANN計算系統在內部以比輸入資料集的解析度要低的位元解析度來操作,同時保持ANN計算輸出的解析度。 Power consumption and design complexity of various electronic components typically increase with bit resolution, operating speed, and bandwidth. For example, as a first-order approximation, the power consumption of the ADC unit 160 can scale linearly with the sampling rate, and the scaling factor is 2^N, where N is the bit resolution of the conversion result. In addition, the design consideration of the DAC unit 130 and the ADC unit 160 is usually a trade-off between sampling rate and bit resolution. As such, in some cases it can be expected that the ANN computing system will operate internally at a lower bit resolution than the resolution of the input data set, while maintaining the resolution of the ANN computing output.

參照第4A圖,顯示了具有1位元內部解析度的人工神經網路(ANN)計算系統400的示意圖。ANN計算系統400類似於ANN計算系統100,不同之處在於DAC單元130現在由驅動器單元430代替,並且ADC單元160現在由比較器單元460代替。 Referring to Figure 4A, a schematic diagram of an artificial neural network (ANN) computing system 400 with 1-bit internal resolution is shown. ANN computing system 400 is similar to ANN computing system 100 except that DAC unit 130 is now replaced by driver unit 430 and ADC unit 160 is now replaced by comparator unit 460 .

驅動器單元430被配置以產生1位元調變器控制訊號和多位元權重控制訊號。舉例來說,驅動器單元430的驅動電路可以直接從控制器110接收二進制(binary)數位輸出,並且將二進制 訊號調節成適合於驅動調變器陣列144的二階(two-level)電壓或電流輸出。 The driver unit 430 is configured to generate a 1-bit modulator control signal and a multi-bit weight control signal. For example, the driving circuit of the driver unit 430 may directly receive a binary digital output from the controller 110 and convert the binary The signal is conditioned to a two-level voltage or current output suitable for driving the modulator array 144 .

比較器單元460被配置以將偵測單元146的輸出電壓轉換為數位1位元光輸出。舉例來說,比較器單元460的比較電路可以從偵測單元146接收電壓、將電壓與預設閾值電壓進行比較,以及當接收電壓分別小於或大於預設閾值電壓時,輸出數位0或1。 The comparator unit 460 is configured to convert the output voltage of the detection unit 146 into a digital 1-bit light output. For example, the comparison circuit of the comparator unit 460 may receive a voltage from the detection unit 146, compare the voltage with a preset threshold voltage, and output a digital 0 or 1 when the received voltage is less than or greater than the preset threshold voltage, respectively.

參照第4B圖,顯示了ANN計算系統400的操作的數學表示。現在將參照第4B圖描述ANN計算系統400的操作。對於由ANN計算系統400所要執行的給定ANN計算,存在對應的數位輸入向量V和神經網路權重矩陣U。在此實施例中,輸入矢量V是具有元素V0到V3的長度4的向量,並且矩陣U是具有權重U00到U33的4×4矩陣。向量V的每個元素具有4位元的解析度。每一個4位元向量元素具有分別對應2^0到2^3個位置的第0位元(位元0)到第3位元(位元3)。如此一來,藉由2^0*bit0+2^1*bit1+2^2*bit2+2^3*bit3的總和來計算4位元向量元素的十進制(decimal)(基數10)值。因此,如圖所示,輸入向量V可以類似地由控制器110分解為Vbit0至Vbit3Referring to Figure 4B, a mathematical representation of the operation of the ANN computing system 400 is shown. The operation of the ANN computing system 400 will now be described with reference to Figure 4B. For a given ANN calculation to be performed by the ANN calculation system 400, there are corresponding digital input vectors V and neural network weight matrices U. In this embodiment, the input vector V is a vector of length 4 with elements V 0 to V 3 , and the matrix U is a 4×4 matrix with weights U 00 to U 33 . Each element of vector V has a resolution of 4 bits. Each 4-bit vector element has bits 0 (bit 0) to bit 3 (bit 3) corresponding to 2^0 to 2^3 positions respectively. In this way, the decimal (base 10) of the 4-bit vector element is calculated by the sum of 2^0 * bit 0 +2^ 1 * bit 1 +2^2 * bit 2 +2^3 * bit 3 )value. Therefore, as shown, the input vector V may be similarly decomposed into V bit0 through V bit3 by controller 110 .

接著,可以藉由執行1位元向量的一系列矩陣乘法,接著對個別矩陣乘法結果求和來執行特定ANN計算。舉例來說,藉由透過驅動器單元430產生對應4個1位元輸入向量的4個1位元調變器控制訊號的序列,可以將分解的輸入向量Vbit0到Vbit3 中的每一個與矩陣U相乘。這又產生4個1位元光輸入向量的序列,其傳播通過OMM單元150,OMM單元150被配置以透過驅動器單元430實現矩陣U的矩陣乘法。接著,控制器110可以從比較器單元460得到對應4個1位元調變器控制訊號的序列的4個數位1位元光輸出的序列。 Specific ANN calculations can then be performed by performing a series of matrix multiplications of 1-bit vectors, followed by summing the individual matrix multiplication results. For example, by generating a sequence of four 1-bit modulator control signals corresponding to four 1-bit input vectors through the driver unit 430, each of the decomposed input vectors V bit0 to V bit3 can be combined with the matrix Multiply U. This in turn produces a sequence of four 1-bit optical input vectors, which propagate through the OMM unit 150, which is configured to perform matrix multiplication of the matrix U through the driver unit 430. Then, the controller 110 can obtain a sequence of four digital 1-bit light outputs corresponding to a sequence of four 1-bit modulator control signals from the comparator unit 460 .

在將4位元向量分解為4個1位元向量的情況下,每一個向量應該由ANN計算系統400處理,其速度是其他ANN計算系統(例如ANN計算系統100)可以處理單一個4位元向量的速度的四倍,以保持相同的有效ANN計算流通量。這種增加的內部處理速度可以被視為將4個1位元向量分時多工(time-division multiplexing)到用於處理4位元向量的單一時槽(timeslot)中。處理速度所需的增加可以至少部分地藉由驅動器單元430和比較器單元460相對於DAC單元130和ADC單元160的增加的操作速度來實現,因為訊號轉換處理的解析度的降低通常造成可實現的訊號轉換速率的增加。 With the 4-bit vector decomposed into four 1-bit vectors, each vector should be processed by the ANN computing system 400 at a rate that other ANN computing systems (eg, ANN computing system 100) can process a single 4-bit vector. The vector is four times faster to maintain the same effective ANN calculation throughput. This increased internal processing speed can be thought of as time-division multiplexing four 1-bit vectors into a single timeslot for processing 4-bit vectors. The required increase in processing speed may be achieved at least in part by an increased operating speed of driver unit 430 and comparator unit 460 relative to DAC unit 130 and ADC unit 160, as the reduction in resolution of the signal conversion process typically results in achievable The signal conversion rate increases.

雖然在1位元操作中的訊號轉換速率增加了四倍,但是相對於4位元操作,功率消耗結果可以顯著降低。如上面所述,訊號轉換處理的功率消耗通常隨著位元解析度指數地縮放,同時隨著轉換速率線性地縮放。如此一來,每次轉換功率降低16倍可能是由於位元解析度降低4倍,接著是轉換速率增加4倍的結果。總而言之,通過ANN計算系統400可以在ANN計算系統100 之上實現操作功率的4倍減小,同時保持相同的有效ANN計算流通量。 Although the signal conversion rate in 1-bit operation is increased by four times, the power consumption results can be significantly reduced compared to 4-bit operation. As mentioned above, the power consumption of signal conversion processing generally scales exponentially with bit resolution and linearly with conversion rate. Thus, a 16x reduction in power per conversion may be due to a 4x reduction in bit resolution, followed by a 4x increase in conversion rate. In summary, through the ANN computing system 400, the ANN computing system 100 can This achieves a 4x reduction in operating power while maintaining the same effective ANN computational throughput.

接著,控制器110可以藉由將每一個數位1位元光輸出乘以相應的權重2^0到2^3,從4個數位1位元光輸出建構4位元數位輸出向量。一旦建構了4位元數位輸出向量,就可以藉由對所建構的4位元數位輸出向量執行非線性轉換來進行ANN計算,以產生轉換4位元數位輸出向量;以及在記憶體單元120中儲存轉換4位元數位輸出向量。 The controller 110 can then construct a 4-bit digital output vector from the four digital 1-bit light outputs by multiplying each digital 1-bit light output by the corresponding weight 2^0 to 2^3. Once the 4-bit digital output vector is constructed, ANN calculations can be performed by performing a non-linear transformation on the constructed 4-bit digital output vector to produce a transformed 4-bit digital output vector; and in memory unit 120 Store the converted 4-bit digital output vector.

替代地(或另外地),在一些實施例中,可以對4個數位1位元光輸出中的每一者進行非線性轉換。舉例來說,階梯函數非線性函數(step-function nonlinear function)可以用於非線性轉換。接著可以從非線性轉換的數位1位元光輸出建構出轉換4位元數位輸出向量。 Alternatively (or additionally), in some embodiments, each of the 4 digital 1-bit light outputs may be converted non-linearly. For example, a step-function nonlinear function can be used for nonlinear transformation. The converted 4-bit digital output vector can then be constructed from the nonlinearly converted digital 1-bit light output.

雖然已經顯示並描述了個別的ANN計算系統400,但通常來說,第1A圖的ANN計算系統100可以被設計以實現類似於ANN計算系統400的功能。舉例來說,DAC單元130可包括1位元DAC子單元,其被配置以產生1位元調變器控制訊號,並且ADC單元160可以被設計為具有1位元的解析度。這種1位元ADC可以與比較器類似或有效地等價於比較器。 Although individual ANN computing systems 400 have been shown and described, generally speaking, the ANN computing system 100 of FIG. 1A may be designed to perform functions similar to those of the ANN computing system 400. For example, the DAC unit 130 may include a 1-bit DAC subunit configured to generate a 1-bit modulator control signal, and the ADC unit 160 may be designed to have a 1-bit resolution. This 1-bit ADC can be similar to or effectively equivalent to a comparator.

此外,雖然已經描述了具有1位元內部解析度的ANN計算系統的操作,但通常來說,ANN計算系統的內部解析度 可以降低到低於輸入資料集的N位解析度的中間準位。舉例來說,內部解析度可以減少到2^Y位元,其中Y是大於或等於0的整數。 Furthermore, although the operation of an ANN computing system with an internal resolution of 1 bit has been described, in general, the internal resolution of an ANN computing system Can be reduced to an intermediate level below the N-bit resolution of the input data set. For example, the internal resolution can be reduced to 2^Y bits, where Y is an integer greater than or equal to 0.

本揭露所述的實施例和功能操作可以在數位電子電路中實現,或者在電腦軟體、韌體或硬體中實現,其包括本揭露中的結構及其結構等價物,或者其中的一或多個組合。本揭露所述的實施例和功能操作可以使用在電腦可讀媒體上所編碼的一或多個電腦程式指令模組來實現,以由資料處理裝置來執行或控制資料處理裝置的操作。電腦可讀媒體可以是製造產品(例如電腦系統中的硬碟驅動器或通過零售管道銷售的光碟)或嵌入式系統。計算機可讀介質可以個別地獲取並隨後使用電腦程式指令的一或多個模組進行編碼,例如藉由有線或無線網路傳送電腦程式指令的一或多個模組。電腦可讀媒體可以是機器可讀儲存裝置、機器可讀儲存基板、記憶體裝置或它們中的一或多個的組合。 The embodiments and functional operations described in the present disclosure may be implemented in digital electronic circuits, or in computer software, firmware, or hardware, including the structures in the disclosure and their structural equivalents, or one or more thereof. combination. The embodiments and functional operations described in the present disclosure may be implemented using one or more computer program instruction modules encoded on a computer-readable medium for execution by a data processing device or to control the operation of the data processing device. The computer-readable medium may be a manufactured product (such as a hard drive in a computer system or an optical disc sold through retail channels) or an embedded system. The computer-readable medium may be individually retrieved and subsequently encoded using one or more modules of computer program instructions, such as one or more modules of computer program instructions transmitted over a wired or wireless network. The computer-readable medium may be a machine-readable storage device, a machine-readable storage substrate, a memory device, or a combination of one or more of them.

電腦程式(亦稱為程式、軟體、軟體應用、腳本(script)或代碼)可以用任何形式的程式語言編寫,包括編譯或直譯語言、宣告(declarative)或程序(procedural)語言,並且可以配置在任何形式,包括作為獨立程式(stand alone program)或作為模組、部件、子程式或適用於計算環境的其他單元。電腦程式不一定對應於檔案系統中的檔案。程式可以儲存在保存其他程式或資料(例如:儲存在標記式語言文檔(markup language document)中的一或多個腳本)的檔案的一部分中、儲存在專用於所討論的程式的單一檔案中、或儲存在多個協調檔案(multiple coordinated file)(例如:儲存一或多個模組、子程式或代碼部分的檔案)中。電腦程式可被配置以執行在一個電腦上或在位於一個站點或分佈在多個站點並藉由通訊網路互連的多個電腦上。 A computer program (also called a program, software, software application, script, or code) can be written in any form of programming language, including compiled or literal languages, declarative or procedural languages, and can be configured in In any form, including as a stand alone program or as a module, component, subroutine or other unit suitable for use in a computing environment. Computer programs do not necessarily correspond to files in a file system. Programs may be stored as part of a file that holds other programs or data (for example, one or more scripts stored in a markup language document), in a single file dedicated to the program in question, Or stored in multiple coordinated files (multiple coordinated file) (for example: a file that stores one or more modules, subroutines, or code portions). A computer program may be configured to execute on one computer or on multiple computers located at a single site or distributed across multiple sites and interconnected by a communications network.

本揭露中所述的處理和邏輯流程可以由執行一或多個電腦程式的一或多個可程式處理器(programmable processor)執行,以藉由對輸入資料進行操作並產生輸出來執行功能。處理和邏輯流程也可由專用邏輯電路(special purpose logic circuitry)執行,並且裝置也可以實現為專用邏輯電路,例如現場可程式閘陣列(field programmable gate array;FPGA)或特殊應用積體電路(ASIC)。 The processes and logic flows described in this disclosure may be performed by one or more programmable processors executing one or more computer programs to perform functions by operating on input data and producing output. Processing and logic flows may also be performed by special purpose logic circuitry, and devices may also be implemented as special purpose logic circuitry, such as field programmable gate arrays (FPGAs) or application special integrated circuits (ASICs). .

雖然本揭露包含許多實現細節,但是這些不應被解釋為對本揭露的範圍或申請範圍的限制,而是作為對本揭露的特定實施例的特定特徵的描述。在個別實施例的上下文的本揭露中所描述的某些特徵也可以在單一實施例中組合實現。相對來說,在單一實施例的上下文中所描述的各種特徵也可以個別地在多個實施例或以任何合適的子組合中實現。此外,儘管上面的特徵被描述作用於某些組合並且甚至最初如此請求保護,但是在某些情況下,可以從所請求保護的組合中移除一或多個特徵,並且所請求保護的組合可以指向子組合或子組合的變化。 Although this disclosure contains many implementation details, these should not be construed as limitations on the scope of the disclosure or the scope of the application, but rather as descriptions of specific features of particular embodiments of the disclosure. Certain features of this disclosure that are described in the context of separate embodiments can also be implemented in combination in a single embodiment. In contrast, various features that are described in the context of a single embodiment can also be implemented separately in multiple embodiments or in any suitable subcombination. Furthermore, although the features above are described as operating in certain combinations and even originally claimed as such, in some cases one or more features may be removed from the claimed combination and the claimed combination may Points to a subcombination or a change in a subcombination.

相似地,雖然在圖式中以特定順序描述了操作,但這不應被理解為要求以所示的特定順序或按順序執行這些操作,或者執行所有顯示的操作以實現期望的結果。在某些情況下,多任務 處理和並行處理可能是有利的。此外,不應將上述實施例中的各種系統部件的分離理解為在所有實施例中都需要這樣的分離,並且應理解所述的程式部件和系統通常可以整合在單一軟體產品中或者打包到多個軟體產品中。 Similarly, although operations are described in the drawings in a specific order, this should not be understood as requiring that these operations be performed in the specific order shown, or sequentially, or that all operations shown be performed to achieve desirable results. In some cases, multitasking Processing and parallel processing may be advantageous. Furthermore, the separation of various system components in the above embodiments should not be understood as requiring such separation in all embodiments, and it should be understood that the program components and systems described may generally be integrated in a single software product or packaged into multiple software products.

因此,已經描述了本揭露的特定實施例。其他實施例在以下請求項的範圍內。另外,請求項中所載的動作可以以不同的順序執行並仍實現期望的結果。舉例來說,第1A圖中的光矩陣乘法單元150包括光學干涉單元154,其包括多個互連的馬赫曾德爾干涉。在一些實施例中,光干涉單元可以使用幾乎不消耗功率的一維、二維或三維被動繞射光學元件(passive diffractive optical element)來實現。與包括馬赫曾德爾干涉儀的光干涉單元相比,如果輸入/輸出的數量保持不變,則使用被動繞射光學元件的光干涉單元可具有更小的尺寸,或者對於相同的晶片尺寸可以處理更大數量的輸入/輸出。與馬赫曾德爾干涉儀相比,可以以更低的成本製造被動繞射光學元件。 Thus, specific embodiments of the present disclosure have been described. Other embodiments are within the scope of the following claims. Additionally, the actions contained in the request can be performed in a different order and still achieve the desired results. For example, the optical matrix multiplication unit 150 in Figure 1A includes an optical interference unit 154 that includes a plurality of interconnected Mach-Zehnder interferences. In some embodiments, the optical interference unit can be implemented using one-, two- or three-dimensional passive diffractive optical elements that consume almost no power. Compared to an optical interference unit including a Mach-Zehnder interferometer, an optical interference unit using passive diffraction optics can have a smaller size or can be processed for the same wafer size if the number of inputs/outputs remains the same Larger number of inputs/outputs. Passive diffractive optical elements can be manufactured at lower cost than Mach-Zehnder interferometers.

參照第5圖,在一些實施例中,人工神經網路計算系統500包括控制器110、記憶體單元120、DAC單元506、光處理器504以及ADC單元160。記憶體單元120和ADC單元160類似於第1A圖中的人工神經網路計算系統100的對應部件。光處理器504被配置以使用光學部件執行矩陣計算。在人工神經網路計算系統500中,光矩陣乘法單元502的權重是固定的。DAC單元506類 似於第1A圖的人工神經網路計算系統100的第一DAC子單元132。 Referring to FIG. 5 , in some embodiments, the artificial neural network computing system 500 includes a controller 110 , a memory unit 120 , a DAC unit 506 , an optical processor 504 and an ADC unit 160 . Memory unit 120 and ADC unit 160 are similar to corresponding components of artificial neural network computing system 100 in Figure 1A. Light processor 504 is configured to perform matrix calculations using optical components. In the artificial neural network computing system 500, the weight of the optical matrix multiplication unit 502 is fixed. DAC unit type 506 Similar to the first DAC subunit 132 of the artificial neural network computing system 100 of Figure 1A.

在ANN計算系統500的示例操作中,電腦102可以對ANN計算系統500發送人工神經網路計算請求。ANN計算請求可包括將要由所提供的ANN處理的輸入資料集。控制器110接收ANN計算請求,並且將輸入資料集儲存在記憶體單元120中。 In an example operation of the ANN computing system 500, the computer 102 may send an artificial neural network calculation request to the ANN computing system 500. The ANN calculation request may include a set of input data to be processed by the provided ANN. The controller 110 receives the ANN calculation request and stores the input data set in the memory unit 120 .

在一些實施例中,使用混合方法,其中光矩陣乘法單元150的一部分包括馬赫曾德爾干涉儀,並且光矩陣乘法單元150的另一部分包括被動繞射元件。 In some embodiments, a hybrid approach is used in which part of the light matrix multiplication unit 150 includes a Mach-Zehnder interferometer and another part of the light matrix multiplication unit 150 includes passive diffractive elements.

現在將描述ANN計算系統500的內部操作。光處理器504包括雷射單元142、調變器陣列144、偵測單元146以及光矩陣乘法(OMM)單元502。雷射單元142、調變器陣列144以及偵測單元146類似於第1A圖中的人工神經網路計算系統100的對應部件。在此實施例中,OMM單元502包括二維繞射光學元件,並且可以實現為被動整合矽光子晶片(passive integrated silicon photonic chip)。光矩陣乘法單元502可被配置以實現繞射神經網路,並且可以在幾乎零功率消耗下執行矩陣乘法。 The internal operation of ANN computing system 500 will now be described. The optical processor 504 includes a laser unit 142, a modulator array 144, a detection unit 146, and an optical matrix multiplication (OMM) unit 502. The laser unit 142, the modulator array 144, and the detection unit 146 are similar to corresponding components of the artificial neural network computing system 100 in FIG. 1A. In this embodiment, the OMM unit 502 includes two-dimensional diffractive optical elements and may be implemented as a passive integrated silicon photonic chip. The optical matrix multiplication unit 502 can be configured to implement a diffraction neural network, and can perform matrix multiplication with almost zero power consumption.

光處理器504藉由將長度N的數位輸入向量編碼到長度N的光輸入向量上,並且透過OMM單元502傳播光輸入向量來進行操作。OMM單元502接收長度N的光輸入向量,並且在光域中對接收的光輸入向量執行N×N矩陣乘法。由OMM單元502執行的N×N矩陣乘法由OMM單元502的內部配置來確定。OMM單元 502的內部配置包括繞射光學元件的尺寸、位置和幾何形狀,以及雜質的摻雜(如果有的話)。 The optical processor 504 operates by encoding a digital input vector of length N onto an optical input vector of length N and propagating the optical input vector through the OMM unit 502 . The OMM unit 502 receives an optical input vector of length N and performs N×N matrix multiplication on the received optical input vector in the optical domain. The N×N matrix multiplication performed by OMM unit 502 is determined by the internal configuration of OMM unit 502 . OMM unit The internal configuration of 502 includes the size, location, and geometry of the diffractive optical elements, as well as the doping, if any, of impurities.

可以以各種方式實現OMM單元502。第6圖顯示了使用二維繞射元件陣列的OMM單元502的示意圖。OMM單元502可包括輸入波導602的陣列以接收光輸入向量、與輸入波導602的陣列光學通訊的二維的光干涉單元600,以及與光干涉單元600光學通訊的輸出波導604的陣列。光干涉單元600包括多個繞射光學元件,並且執行光輸入向量到第二光訊號陣列的轉換(例如:線性轉換)。輸出波導604的陣列引導由光干涉單元600輸出的第二光訊號陣列。輸入波導602的陣列中的至少一個輸入波導透過光干涉單元600與輸出波導604的陣列中的每一個輸出波導光學通訊。舉例來說,對於長度N的光輸入向量,OMM單元502可包括N個輸入波導602和N個輸出波導604。 OMM unit 502 may be implemented in various ways. Figure 6 shows a schematic diagram of an OMM unit 502 using a two-dimensional array of diffractive elements. OMM unit 502 may include an array of input waveguides 602 for receiving optical input vectors, a two-dimensional optical interference unit 600 in optical communication with the array of input waveguides 602, and an array of output waveguides 604 in optical communication with optical interference unit 600. The optical interference unit 600 includes a plurality of diffractive optical elements and performs conversion (eg, linear conversion) of the light input vector to the second optical signal array. The array of output waveguides 604 guides the second array of optical signals output by the optical interference unit 600. At least one input waveguide in the array of input waveguides 602 is in optical communication with each output waveguide in the array of output waveguides 604 through the optical interference unit 600 . For example, for an optical input vector of length N, OMM unit 502 may include N input waveguides 602 and N output waveguides 604.

在一些實施例中,光干涉單元600包括具有繞射元件的基板,繞射元件以二維(例如:以2D陣列)佈置。舉例來說,可以在基板中鑽出或蝕刻多個圓形孔洞。這些孔洞具有與輸入光的波長相當的數量級的尺寸,使得光被孔洞(或定義孔洞的結構)繞射。舉例來說,孔洞的尺寸可以在100nm至2μm的範圍內。孔洞可以具有相同或不同的尺寸。孔洞還可以具有其他剖面形狀,例如三角形、正方形、矩形、六邊形或不規則形狀。基板可以由對於輸入光為透明或半透明的材料製成,例如相對於輸入光具有1%至99%的透射率。舉例來說,基板可以由矽、氧化矽、氮化矽、石英、 晶體(例如:鈮酸鋰(LiNbO3))、III-V族材料(例如砷化鎵或磷化銦),鉺改性的半導體(erbium modified semiconductor)或聚合物製成。 In some embodiments, the optical interference unit 600 includes a substrate with diffractive elements arranged in two dimensions (eg, in a 2D array). For example, multiple circular holes may be drilled or etched into the substrate. These holes have dimensions on the same order of magnitude as the wavelength of the input light, such that the light is diffracted by the holes (or the structure that defines the holes). For example, the size of the pores can range from 100 nm to 2 μm. The holes can be of the same or different sizes. The holes can also have other cross-sectional shapes, such as triangles, squares, rectangles, hexagons or irregular shapes. The substrate may be made of a material that is transparent or translucent to the input light, for example having a transmittance of 1% to 99% with respect to the input light. For example, the substrate can be modified from silicon, silicon oxide, silicon nitride, quartz, crystal (such as lithium niobate (LiNbO 3 )), III-V materials (such as gallium arsenide or indium phosphide), erbium Made of erbium modified semiconductor or polymer.

在一些實施例中,全息方法(holographic method)可用於在基板中形成二維繞射光學元件。基板可以由玻璃、晶體或光折射材料(photorefractive material)製成。 In some embodiments, a holographic method can be used to form two-dimensional diffractive optical elements in a substrate. The substrate can be made of glass, crystal or photorefractive material.

在設計OMM單元502時,我們在二維(例如:X方向和Y方向)中考慮繞射元件的尺寸和位置,而不考慮繞射元件在第三維中的相對位置(例如:Z方向)。每一個繞射元件可以是形成在基板中的三維結構,例如具有一定深度的孔洞、柱狀物或條帶(stripe)。 When designing the OMM unit 502, we consider the size and position of the diffraction element in two dimensions (eg, X direction and Y direction), without considering the relative position of the diffraction element in the third dimension (eg, Z direction). Each diffraction element may be a three-dimensional structure formed in the substrate, such as a hole, a pillar or a stripe with a certain depth.

在第6圖中,繞射光學元件由圓形表示。繞射光學元件還可具有其他形狀,例如三角形、正方形、矩形或不規則形狀。繞射光學元件可具有各種尺寸。繞射光學元件不必位於網格點(grid point)上,它們的位置可以改變。第6圖中的示意圖僅用於說明之目的。實際的繞射光學元件可以與圖中所示的不同。繞射光學元件的不同佈置可用於實現不同的矩陣計算,例如不同的矩陣乘法函數。 In Figure 6, the diffractive optical element is represented by a circle. Diffractive optical elements may also have other shapes, such as triangular, square, rectangular or irregular shapes. Diffractive optical elements can be of various sizes. Diffractive optical elements do not have to be located at grid points; their position can be changed. The schematic diagram in Figure 6 is for illustration purposes only. Actual diffractive optical elements may differ from those shown in the figures. Different arrangements of diffractive optical elements can be used to implement different matrix calculations, such as different matrix multiplication functions.

可以使用優化處理來確定繞射光學元件的配置。舉例來說,基板可以分成像素陣列,並且每個像素可被填充基板材料(無孔洞)或被填充空氣(孔洞)。可以迭代地修改像素的配置,並且對於像素的每個配置,可以藉由使光通過繞射光學元件並評估輸出 來執行模擬。在執行像素的所有可能配置的模擬之後,選擇提供最接近所期望的矩陣處理的結果的配置作為OMM單元502的繞射光學元件配置。 An optimization process can be used to determine the configuration of the diffractive optical elements. For example, the substrate may be divided into an array of pixels, and each pixel may be filled with substrate material (no holes) or filled with air (holes). The configuration of pixels can be modified iteratively, and for each configuration of pixels the output can be evaluated by passing light through a diffractive optical element. to perform the simulation. After performing simulations of all possible configurations of pixels, the configuration that provides the closest result to the desired matrix processing is selected as the diffractive optical element configuration of the OMM unit 502 .

作為另一實施例,繞射元件最初被配置為孔洞陣列。孔洞的位置、尺寸和形狀可以與它們的初始配置稍微不同。可以迭代地調整每個孔洞的參數,並且可以執行模擬以找到孔洞的優化配置。 As another example, the diffraction element is initially configured as an array of holes. The location, size, and shape of the holes can vary slightly from their original configuration. The parameters of each hole can be adjusted iteratively, and simulations can be performed to find the optimal configuration of the holes.

在一些實施例中,機器學習處理用於設計繞射光學元件。確定像素如何影響輸入光以產生輸出光的分析函數,並且使用優化處理(例如:梯度下降方法(gradient descent method))來確定像素的最佳配置。 In some embodiments, machine learning processes are used to design diffractive optical elements. An analytical function that determines how pixels affect input light to produce output light, and an optimization process (such as a gradient descent method) is used to determine the best configuration of pixels.

在一些實施例中,OMM單元502可實施作為使用者可變部件(user-changeable component),並且可以為不同應用安裝具有不同光干涉單元600的不同OMM單元502。舉例來說,ANN計算系統500可以被配置作為光學字符識別系統,並且光干涉單元600可被配置以實現用於執行光學字符識別的神經網路。舉例來說,第一OMM單元可具有第一光干涉單元,第一光干涉單元包括被動繞射光學元件,其被配置以針對第一組書面語言和字體實現用於光學字符識別引擎的第一神經網路。第二OMM單元可以具有第二光干涉單元,第二光干涉單元包括被動繞射光學元件,其被配置以針對第二組書面語言和字體等實現用於光學字符識別引擎的第二神經網路。當使用者想要使用ANN計算系統500將光學字符 識別應用於第一組書面語言和字體時,使用者可以將第一OMM單元插入至系統中。當使用者想要使用ANN計算系統500將光學字符識別應用於第二組書面語言和字體時,使用者可以換出第一OMM單元並且將第二OMM單元插入至系統中。 In some embodiments, the OMM unit 502 may be implemented as a user-changeable component, and different OMM units 502 with different optical interference units 600 may be installed for different applications. For example, the ANN computing system 500 may be configured as an optical character recognition system, and the optical interference unit 600 may be configured to implement a neural network for performing optical character recognition. For example, the first OMM unit may have a first optical interference unit including a passive diffractive optical element configured to implement a first optical character recognition engine for a first set of written languages and fonts. neural network. The second OMM unit may have a second optical interference unit including a passive diffraction optical element configured to implement a second neural network for an optical character recognition engine for a second set of written languages and fonts, etc. . When the user wants to use the ANN computing system 500 to convert optical characters When recognition is applied to the first set of written languages and fonts, the user can insert the first OMM unit into the system. When the user wants to use the ANN computing system 500 to apply optical character recognition to a second set of written languages and fonts, the user can swap out the first OMM unit and insert a second OMM unit into the system.

舉例來說,ANN計算系統500可被配置作為語音識別系統,並且光干涉單元600可被配置作以實現用於執行語音識別的神經網路。舉例來說,第一OMM單元可具有第一光干涉單元,第一光干涉單元包括被動繞射光學元件,其被配置以針對第一口語實現用於語音識別引擎的第一神經網路。第二OMM單元可以具有第二光干涉單元,第二光干涉單元包括被動繞射光學元件,其被配置以針對第二口語等實現用於語音識別引擎的第二神經網路。當使用者想要使用ANN計算系統500來識別第一口語中的語音時,使用者可以將第一OMM單元插入至系統中。當使用者想要使用ANN計算系統500來識別第二口語中的語音時,使用者可以換出第一OMM單元並且將第二OMM單元插入至系統中。 For example, the ANN computing system 500 may be configured as a speech recognition system, and the optical interference unit 600 may be configured to implement a neural network for performing speech recognition. For example, the first OMM unit may have a first optical interference unit including a passive diffraction optical element configured to implement a first neural network for a speech recognition engine for a first spoken language. The second OMM unit may have a second optical interference unit including a passive diffractive optical element configured to implement a second neural network for the speech recognition engine for a second spoken language or the like. When the user wants to use the ANN computing system 500 to recognize speech in a first spoken language, the user can insert the first OMM unit into the system. When the user wants to use the ANN computing system 500 to recognize speech in a second spoken language, the user can swap out the first OMM unit and insert the second OMM unit into the system.

舉例來說,ANN計算系統500可以是自動駕駛載具的控制單元的一部分,並且光干涉單元600可以配置以實現用於執行道路狀況識別的神經網路。舉例來說,第一OMM單元可具有第一光干涉單元,第一光干涉單元包括被動繞射光學元件,其被配置以實現用於識別在美國的道路狀況(包括路標)的第一神經網路。第二OMM單元可以具有第二光干涉單元,第二光干涉單元包括被動繞射光學元件,其被配置以實現用於識別在加拿大的道路狀況(包 括路標)的第二神經網路。第三OMM單元可以具有第三光干涉單元,第三光干涉單元包括被動繞射光學元件,其被配置以實現用於識別在墨西哥等的道路狀況(包括路標)的第三神經網路。當在美國使用自動駕駛載具時,將第一OMM單元插入至系統中。當自動駕駛載具越過邊界並進入加拿大時,第一OMM單元被換出,並且第二OMM單元被插入至系統中。另一方面,當自動駕駛載具越過邊界並進入墨西哥時,第一OMM單元被換出,並且第三OMM單元被插入至系統中。 For example, the ANN computing system 500 may be part of a control unit of an autonomous vehicle, and the optical interference unit 600 may be configured to implement a neural network for performing road condition recognition. For example, the first OMM unit may have a first optical interference unit including a passive diffractive optical element configured to implement a first neural network for identifying road conditions (including road signs) in the United States road. The second OMM unit may have a second optical interference unit including a passive diffractive optical element configured to identify road conditions in Canada, including Second neural network including road signs). The third OMM unit may have a third optical interference unit including a passive diffractive optical element configured to implement a third neural network for identifying road conditions (including road signs) in Mexico and the like. When using autonomous vehicles in the United States, the first OMM unit is inserted into the system. When the autonomous vehicle crosses the border and enters Canada, the first OMM unit is swapped out and the second OMM unit is inserted into the system. On the other hand, when the autonomous vehicle crosses the border and enters Mexico, the first OMM unit is swapped out and the third OMM unit is inserted into the system.

舉例來說,ANN計算系統500可用於基因測序(genetic sequencing)。可以使用卷積神經網路對DNA序列進行分類,其使用包括被動繞射光學元件的ANN計算系統500來實現。舉例來說,ANN計算系統500可以實現用於區分腫瘤類型、預測腫瘤等級(tumor grade)、以及從基因表現模式(gene expression pattern)預測患者存活的神經網路。舉例來說,ANN計算系統500可以實現用於識別對所分析的特性最具預測性的基因或特徵的子集的神經網路。舉例來說,ANN計算系統500可以實現用於從基因子集的數據圖(profile)預測或推斷所有基因的表達水平(expression level)的神經網路。舉例來說,ANN計算系統500可以實現用於表觀基因分析(epigenomic analyses)的神經網路,例如預測轉錄因子結合位點(transcription factor binding site)、增強子區域(enhancer region)和來自基因序列的染色質可 接近性(chromatin accessibility)。舉例來說,ANN計算系統500可以實現用於捕獲基因序列內的結構的神經網路。 For example, the ANN computing system 500 can be used for genetic sequencing. DNA sequences can be classified using convolutional neural networks, which is implemented using an ANN computing system 500 that includes passive diffraction optics. For example, the ANN computing system 500 can implement neural networks for distinguishing tumor types, predicting tumor grade, and predicting patient survival from gene expression patterns. For example, the ANN computing system 500 may implement a neural network for identifying the subset of genes or traits that are most predictive of the characteristic being analyzed. For example, the ANN computing system 500 may implement a neural network for predicting or inferring expression levels of all genes from a profile of a subset of genes. For example, the ANN computing system 500 can implement a neural network for epigenomic analyses, such as predicting transcription factor binding sites, enhancer regions, and genes from gene sequences. The chromatin can Chromatin accessibility. For example, ANN computing system 500 may implement a neural network for capturing structure within a genetic sequence.

舉例來說,ANN計算系統500可被配置作為醫療診斷系統,並且OMM單元502可被配置以實現用於分析生理參數(physiological parameter)以對疾病執行篩查的神經網路。舉例來說,ANN計算系統500可被配置作為細菌偵測系統,並且OMM單元502可被配置以實現用於分析DNA序列以偵測某些細菌菌株的乘法函數。 For example, the ANN computing system 500 may be configured as a medical diagnostic system, and the OMM unit 502 may be configured to implement a neural network for analyzing physiological parameters to perform screening for diseases. For example, the ANN computing system 500 can be configured as a bacterial detection system, and the OMM unit 502 can be configured to implement a multiplicative function for analyzing DNA sequences to detect certain bacterial strains.

在一些實施例中,OMM單元502包括保護具有繞射光學元件的基板的外殼(例如:匣盒(cartridge))。外殼支持耦接到輸入波導602的輸入介面,以及耦接到輸出波導604的輸出介面。輸入介面被配置以接收來自調變器陣列144的輸出,並且輸出介面被配置以將OMM單元502的輸出發送到偵測單元146。OMM單元502可以被設計作為適合由普通消費者處理的模組,允許使用者容易地從一個OMM單元502切換到另一個OMM單元502。機器學習技術隨著時間而改進。使用者可藉由換出舊OMM單元502,並且插入新的升級版本來升級ANN計算系統500。 In some embodiments, OMM unit 502 includes a housing (eg, a cartridge) that protects a substrate with diffractive optical elements. The housing supports an input interface coupled to input waveguide 602 and an output interface coupled to output waveguide 604 . The input interface is configured to receive the output from the modulator array 144 and the output interface is configured to send the output of the OMM unit 502 to the detection unit 146 . The OMM units 502 may be designed as modules suitable for handling by ordinary consumers, allowing the user to easily switch from one OMM unit 502 to another. Machine learning techniques improve over time. The user can upgrade the ANN computing system 500 by swapping out the old OMM unit 502 and inserting the new upgraded version.

類似於光學壓縮碟(optical compact disc)可以儲存可由CD播放器檢索的數位資訊的方式,OMM單元可以儲存可在光處理器中使用的神經網路配置。正如光學壓縮碟是用於向消費者分發數位資訊(包括音頻、視頻以及軟體程式)的低成本媒體一 樣,OMM單元可以是用於向消費者分發預配置神經網路或矩陣處理功能(例如:乘法、卷積或任何其他線性操作)的低成本媒體。 Similar to how optical compact discs can store digital information that can be retrieved by a CD player, OMM cells can store neural network configurations that can be used in optical processors. Just as optically compressed discs are low-cost media used to distribute digital information (including audio, video, and software programs) to consumers - In this way, the OMM unit can be a low-cost medium for distributing preconfigured neural networks or matrix processing functions (such as multiplication, convolution, or any other linear operation) to consumers.

在一些實施例中,ANN計算系統500是光學計算平台,其被配置為可由不同公司所提供的OMM單元一起操作。這允許不同公司為各種應用開發不同的被動光學神經網路。被動光學神經網路以標準化包裝出售給最終使用者,其可被安裝在光學計算平台中以允許ANN計算系統500執行各種智慧功能。 In some embodiments, ANN computing system 500 is an optical computing platform configured to operate together with OMM units provided by different companies. This allows different companies to develop different passive optical neural networks for various applications. Passive optical neural networks are sold to end users in standardized packages, which can be installed in optical computing platforms to allow the ANN computing system 500 to perform various intelligent functions.

在一些實施例中,系統可以具有用於支撐多個OMM單元502的保持器機構,並且可以提供機械處理機構以用於自動交換OMM單元502。系統確定當前應用需要哪個OMM單元502,並且使用機械處理機構從保持器機構自動檢索適當的OMM單元並將其插入光處理器504。 In some embodiments, the system may have a holder mechanism for supporting multiple OMM units 502 and a mechanical handling mechanism may be provided for automatically exchanging OMM units 502 . The system determines which OMM unit is required for the current application 502 and uses a mechanical handling mechanism to automatically retrieve the appropriate OMM unit from the holder mechanism and insert it into the light processor 504 .

對於特定尺寸的光學晶片,與使用主動干涉儀(例如馬赫曾德爾干涉儀)相比,可以裝配更多的被動繞射元件在基板上。例如,使用馬赫曾德爾干涉儀的第1B圖中的光干涉單元154可以被配置以處理200×200矩陣乘法,而具有相同總尺寸並且使用被動繞射元件的光干涉單元600可以被配置以處理5000×5000矩陣乘法。 For an optical wafer of a certain size, more passive diffraction elements can be assembled on the substrate than using an active interferometer (such as a Mach-Zehnder interferometer). For example, optical interference unit 154 in Figure 1B using a Mach-Zehnder interferometer can be configured to process 200×200 matrix multiplications, while optical interference unit 600 of the same overall size and using passive diffraction elements can be configured to process 5000×5000 matrix multiplication.

被動繞射光學元件幾乎不消耗功率,因此OMM單元502可用於低功率裝置,例如電池操作裝置。OMM單元502適用於邊緣計算(edge computing)。舉例來說,OMM單元502可用於智能感測器中,其中來自感測器的原始資料使用了使用OMM單 元502的光處理器來處理。智能感測器可被配置以處理後的資料發送到中央電腦伺服器,從而減少發送到中央電腦伺服器的原始資料量。藉由在智能感測器上放置智慧處理功能,可以更早地偵測故障和異常並更有效地處理。OMM單元502適用於需要處理大矩陣乘法的應用。OMM單元502適用於已經訓練過神經網路並且已經確定了權重的應用,並且不需要修改。 Passive diffractive optical elements consume almost no power, so the OMM unit 502 can be used in low power devices, such as battery operated devices. The OMM unit 502 is suitable for edge computing. For example, the OMM unit 502 may be used in smart sensors where the raw data from the sensor is processed using an OMM unit. Yuan 502 optical processor to handle. Smart sensors can be configured to send processed data to a central computer server, thereby reducing the amount of raw data sent to the central computer server. By placing smart processing capabilities on smart sensors, faults and anomalies can be detected earlier and dealt with more efficiently. OMM unit 502 is suitable for applications that need to handle large matrix multiplications. The OMM unit 502 is suitable for applications where the neural network has been trained and the weights have been determined, and does not require modification.

其中形成繞射光學元件的基板可以是平面的或彎曲的。在第6A圖的實施例中,輸入光從左側進入光干涉單元600,並且輸出光從右側離開光干涉單元600(術語“左”、“右”、“上”和“下”參照圖式中所示的方向”)。在一些實施例中,被動繞射光學元件可以被配置以使得一些輸出光從上部或下部離開光干涉單元,或者左、右、上以及下的任何組合離開光干涉單元600。用於光干涉單元600的基板可具有各種形狀,例如正方形、矩形、三角形、圓形或橢圓形。光干涉單元600可包括反射元件或反射鏡以重定向光傳播方向。 The substrate in which the diffractive optical element is formed may be planar or curved. In the embodiment of Figure 6A, input light enters the optical interference unit 600 from the left side, and output light exits the optical interference unit 600 from the right side (the terms "left", "right", "upper" and "lower" refer to the drawings direction shown"). In some embodiments, the passive diffractive optical element may be configured such that some output light exits the optical interference unit from the upper or lower portion, or any combination of left, right, upper, and lower 600. The substrate for the optical interference unit 600 may have various shapes, such as square, rectangular, triangular, circular, or elliptical. The optical interference unit 600 may include reflective elements or mirrors to redirect light propagation direction.

在一些實施例中,可藉由在偵測單元146與ADC單元160之間加入類比非線性單元310來修改人工神經網路計算系統500。類比非線性單元310被配置以從偵測單元146接收輸出電壓、應用非線性傳遞函數、以及將轉換輸出電壓輸出到ADC單元160。控制器110可以從ADC單元160得到對應轉換輸出電壓的轉換數位輸出電壓。因為從ADC單元160得到的數位輸出電壓已經被非線性轉換(“激活”),所以可以省略控制器110的非線性轉換步 驟,從而減少了控制器110的計算負擔。接著,可以將從ADC單元160直接得到的第一轉換電壓作為第一轉換數位輸出向量儲存在記憶體單元120中。 In some embodiments, the artificial neural network computing system 500 can be modified by adding an analog nonlinear unit 310 between the detection unit 146 and the ADC unit 160 . Analog nonlinear unit 310 is configured to receive the output voltage from detection unit 146 , apply a nonlinear transfer function, and output the converted output voltage to ADC unit 160 . The controller 110 may obtain the converted digital output voltage corresponding to the converted output voltage from the ADC unit 160 . Because the digital output voltage obtained from the ADC unit 160 has already been nonlinearly converted ("activated"), the nonlinear conversion step of the controller 110 can be omitted. steps, thereby reducing the computational burden on the controller 110. Then, the first conversion voltage directly obtained from the ADC unit 160 may be stored in the memory unit 120 as the first conversion digital output vector.

可以使用以三維佈置的被動繞射光學元件來實現光干涉單元。參照第7圖,在一些實施例中,人工神經網路計算系統700具有光處理器702,其包括三維的OOM單元708。人工神經網路計算系統700包括記憶體單元120和ADC單元160,其類似於第5圖中的人工神經網路計算系統500的對應部件。光學處理器702被配置以使用以三維佈置的繞射光學元件來執行矩陣計算。 The light interference unit can be implemented using passive diffraction optical elements arranged in three dimensions. Referring to FIG. 7 , in some embodiments, the artificial neural network computing system 700 has an optical processor 702 that includes a three-dimensional OOM unit 708 . The artificial neural network computing system 700 includes a memory unit 120 and an ADC unit 160, which are similar to corresponding components of the artificial neural network computing system 500 in FIG. 5 . Optical processor 702 is configured to perform matrix calculations using diffractive optical elements arranged in three dimensions.

光處理器702包括雷射單元704,其被配置以輸出二維光束陣列714,以及二維的調變器陣列706,其被配置以調變二維光束陣列714以產生調變二維光束陣列716。光處理器702包括光矩陣乘法(OMM)單元708,其具有三維佈置的繞射光學元件,並且被配置以處理調變的二維光束陣列716並產生二維陣列的輸出光束718。光處理器702包括具有二維光感測器陣列的偵測單元710,以偵測二維輸出光束陣列718。ADC單元160將偵測單元710的輸出轉換為數位訊號。 The optical processor 702 includes a laser unit 704 configured to output a two-dimensional beam array 714, and a two-dimensional modulator array 706 configured to modulate the two-dimensional beam array 714 to generate a modulated two-dimensional beam array. 716. The light processor 702 includes an optical matrix multiplication (OMM) unit 708 having a three-dimensional arrangement of diffractive optical elements and configured to process the modulated two-dimensional array of beams 716 and produce a two-dimensional array of output beams 718 . The light processor 702 includes a detection unit 710 having a two-dimensional photo sensor array to detect the two-dimensional output beam array 718. The ADC unit 160 converts the output of the detection unit 710 into a digital signal.

舉例來說,3D的OMM單元708可以實現作為被動整合矽光子柱或立方體。光矩陣乘法單元708可以被配置以實現繞射神經元網路,並且可以在幾乎零功率消耗下執行矩陣乘法。 For example, the 3D OMM unit 708 can be implemented as a passively integrated silicon photonic column or cube. The optical matrix multiplication unit 708 can be configured to implement a diffraction neuron network and can perform matrix multiplication with almost zero power consumption.

有許多方法對輸入資料進行編碼以用於光處理器702。舉例來說,長度為N×N的數位輸入向量可以被編碼到大小為 N×N的光輸入矩陣上,其透過OMM單元708傳播。OMM單元708在光域中對接收的光輸入矩陣執行(N×N)×(N×N)矩陣乘法。由OMM單元708執行的(N×N)×(N×N)矩陣乘法由OMM單元708的內部配置來確定,內部配置包括繞射光學元件的尺寸、位置和幾何形狀,以及雜質的摻雜(如果有的話)。 There are many ways to encode input data for use with optical processor 702. For example, a numeric input vector of length N×N can be encoded into a vector of size The N×N light input matrix is propagated through the OMM unit 708 . OMM unit 708 performs (NxN)x(NxN) matrix multiplication in the optical domain on the received optical input matrix. The (N×N)×(N×N) matrix multiplication performed by the OMM unit 708 is determined by the internal configuration of the OMM unit 708, which includes the size, location, and geometry of the diffractive optical elements, and the doping of impurities ( if any).

可以以各種方式實現OMM單元708。第8圖顯示了使用繞射元件的三維佈置的OMM單元708的示意圖。OMM單元708可包括用於接收光輸入矩陣802的輸入波導矩陣、與輸入波導矩陣光學通訊的三維的光干涉單元804,以及與光干涉單元804光學通訊的輸出波導矩陣,用於提供光輸出矩陣806。光干涉單元804包括多個繞射光學元件,並且執行光學輸入(例如:N×N向量或矩陣)到光學輸出(例如:N×N向量或矩陣)的轉換(例如:線性轉換)。輸出波導矩陣引導光干涉單元804輸出的光訊號。輸入波導矩陣中的至少一個輸入波導透過光干涉單元804與輸出波導矩陣中的每一個輸出波導光學通訊。舉例來說,對於長度N×N的光輸入向量,OMM單元708可包括N×N個輸入波導和N×N個輸出波導。 OMM unit 708 may be implemented in various ways. Figure 8 shows a schematic diagram of an OMM unit 708 using a three-dimensional arrangement of diffraction elements. The OMM unit 708 may include an input waveguide matrix for receiving the optical input matrix 802, a three-dimensional optical interference unit 804 in optical communication with the input waveguide matrix, and an output waveguide matrix in optical communication with the optical interference unit 804 for providing an optical output matrix. 806. The optical interference unit 804 includes a plurality of diffractive optical elements and performs conversion (eg, linear conversion) of optical input (eg, N×N vector or matrix) to optical output (eg, N×N vector or matrix). The output waveguide matrix guides the optical signal output by the optical interference unit 804. At least one input waveguide in the input waveguide matrix is in optical communication with each output waveguide in the output waveguide matrix through optical interference unit 804. For example, for an optical input vector of length N×N, OMM unit 708 may include N×N input waveguides and N×N output waveguides.

在一些實施例中,光干涉單元804包括具有繞射元件的基板塊,其繞射元件以三維(例如:以3D矩陣)佈置。舉例來說,可以在多個基板切片中的每一著中鑽出或蝕刻多個孔洞,並且可以組合多個基板切片以形成基板塊。這些孔洞具有與輸入光的波長相當的數量級的尺寸,使得光被孔洞(或定義孔洞的結構)繞射。孔洞可以具有相同或不同的尺寸。孔洞還可以具有其他剖面形狀, 例如三角形、正方形、矩形、六邊形或不規則形狀。在一些實施例中,全息方法可用於在整個基板塊中形成三維繞射光學元件。基板可以由對於輸入光為透明或半透明的材料製成,例如相對於輸入光具有1%至99%的透射率。 In some embodiments, the optical interference unit 804 includes a substrate block having diffraction elements arranged in three dimensions (eg, in a 3D matrix). For example, a plurality of holes may be drilled or etched in each of a plurality of substrate slices, and the plurality of substrate slices may be combined to form a substrate block. These holes have dimensions on the same order of magnitude as the wavelength of the input light, such that the light is diffracted by the holes (or the structure that defines the holes). The holes can be of the same or different sizes. Holes can also have other cross-sectional shapes, For example triangles, squares, rectangles, hexagons or irregular shapes. In some embodiments, holographic methods can be used to form three-dimensional diffractive optical elements throughout the entire substrate block. The substrate may be made of a material that is transparent or translucent to the input light, for example having a transmittance of 1% to 99% with respect to the input light.

當設計OMM單元708時,我們考慮繞射元件在x、y和z方向上的尺寸和位置。可以使用優化處理來確定繞射光學元件的配置。舉例來說,基板塊可以分成三維像素矩陣,並且每個像素可被填充基板材料(無孔洞)或被填充空氣(孔洞)。可以迭代地修改像素的配置,並且對於像素的每個配置,可以藉由使光通過繞射光學元件並評估輸出來執行模擬。在執行像素的所有可能配置的模擬之後,選擇提供最接近所期望的矩陣處理的結果的配置作為OMM單元708的繞射光學元件配置。 When designing the OMM unit 708, we consider the size and position of the diffractive elements in the x, y, and z directions. An optimization process can be used to determine the configuration of the diffractive optical elements. For example, a substrate block can be divided into a three-dimensional matrix of pixels, and each pixel can be filled with substrate material (no holes) or filled with air (holes). The configuration of pixels can be modified iteratively, and for each configuration of pixels, a simulation can be performed by passing light through a diffractive optical element and evaluating the output. After performing simulations of all possible configurations of pixels, the configuration that provides the closest result to the desired matrix processing is selected as the diffractive optical element configuration of the OMM unit 708 .

作為另一實施例,繞射元件最初被配置為三維孔洞矩陣。孔洞的位置、尺寸和形狀可以與它們的初始配置稍微不同。可以迭代地調整每個孔洞的參數,並且可以執行模擬以找到孔洞的優化配置。 As another example, the diffractive element is initially configured as a three-dimensional matrix of holes. The location, size, and shape of the holes can vary slightly from their original configuration. The parameters of each hole can be adjusted iteratively, and simulations can be performed to find the optimal configuration of the holes.

在一些實施例中,機器學習處理用於設計三維繞射光學元件。確定像素如何影響輸入光以產生輸出光的分析函數,並且使用梯度下降方法來確定像素的最佳配置。 In some embodiments, machine learning processes are used to design three-dimensional diffractive optical elements. An analytical function that determines how pixels affect input light to produce output light, and gradient descent methods are used to determine the optimal configuration of pixels.

在一些實施例中,OMM單元708可實施作為使用者可變部件,並且可以為不同應用安裝具有不同光干涉單元804的不同OMM單元708。舉例來說,人工神經網路計算系統700可被配 置作為醫療診斷系統,並且光干涉單元804可被配置以實現用於分析生理參數以對疾病執行篩查的神經網路。舉例來說,第一OMM單元可具有第一光干涉單元,第一光干涉單元包括3D被動繞射光學元件,其被配置以實現用於篩選第一組疾病的第一神經網路。第二OMM單元可具有第二光干涉單元,第二光干涉單元包括3D被動繞射光學元件,其被配置以實現用於篩選第二組疾病的第二神經網路等。第一和第二OMM單元可以由專門開發用於篩選不同疾病的技術的不同公司來開發。當使用者想要使用人工神經網路計算系統700來識別第一組疾病時,使用者可以將第一OMM單元插入至系統中。當使用者想要使用人工神經網路計算系統700來識別第二組疾病時,使用者可以換出第一OMM單元並且將第二OMM單元插入至系統中。 In some embodiments, the OMM unit 708 may be implemented as a user variable component, and different OMM units 708 with different optical interference units 804 may be installed for different applications. For example, the artificial neural network computing system 700 may be configured is configured as a medical diagnostic system, and the optical interference unit 804 may be configured to implement a neural network for analyzing physiological parameters to perform screening for diseases. For example, the first OMM unit may have a first optical interference unit including a 3D passive diffractive optical element configured to implement a first neural network for screening a first group of diseases. The second OMM unit may have a second optical interference unit including a 3D passive diffraction optical element configured to implement a second neural network for screening a second group of diseases, or the like. The first and second OMM units may be developed by different companies that specialize in developing technologies for screening different diseases. When the user wants to use the artificial neural network computing system 700 to identify the first group of diseases, the user can insert the first OMM unit into the system. When the user wants to use the artificial neural network computing system 700 to identify a second group of diseases, the user can swap out the first OMM unit and insert the second OMM unit into the system.

舉例來說,人工神經網路計算系統700可被配置作為光學字符識別系統,並且光干涉單元804可被配置以實現用於執行光學字符識別的神經網路。舉例來說,人工神經網路計算系統700可被配置作為語音識別系統,並且光干涉單元804可被配置以實現用於執行語音識別的神經網路。舉例來說,人工神經網路計算系統700可以是自動駕駛載具的控制單元的一部分,並且光干涉單元804可以配置以實現用於執行道路狀況識別的神經網路。 For example, artificial neural network computing system 700 may be configured as an optical character recognition system, and optical interference unit 804 may be configured to implement a neural network for performing optical character recognition. For example, artificial neural network computing system 700 may be configured as a speech recognition system, and optical interference unit 804 may be configured to implement a neural network for performing speech recognition. For example, the artificial neural network computing system 700 may be part of a control unit of an autonomous vehicle, and the optical interference unit 804 may be configured to implement a neural network for performing road condition recognition.

舉例來說,人工神經網路計算系統700可用於基因測序。可以使用卷積神經網路對DNA序列進行分類,其使用包括被動繞射光學元件的人工神經網路計算系統700來實現。舉例來 說,人工神經網路計算系統700可以實現用於區分腫瘤類型、預測腫瘤等級、以及從基因表現模式預測患者存活的神經網路。舉例來說,人工神經網路計算系統700可以實現用於識別對所分析的特性最具預測性的基因或特徵的子集的神經網路。舉例來說,人工神經網路計算系統700可以實現用於從基因子集的數據圖預測或推斷所有基因的表達水平的神經網路。舉例來說,人工神經網路計算系統700可以實現用於表觀基因分析的神經網路,例如預測轉錄因子結合位點、增強子區域和來自基因序列的染色質可接近性。舉例來說,人工神經網路計算系統700可以實現用於捕獲基因序列內的結構的神經網路。舉例來說,人工神經網路計算系統700可被配置作為細菌偵測系統,並且光干涉單元804可被配置以實現用於分析DNA序列以偵測某些細菌菌株的乘法函數。 For example, the artificial neural network computing system 700 can be used for gene sequencing. DNA sequences can be classified using convolutional neural networks, which is implemented using an artificial neural network computing system 700 that includes passive diffractive optical elements. For example Said, the artificial neural network computing system 700 can implement a neural network for distinguishing tumor types, predicting tumor grade, and predicting patient survival from gene expression patterns. For example, artificial neural network computing system 700 may implement a neural network for identifying a subset of genes or traits that are most predictive of a characteristic being analyzed. For example, artificial neural network computing system 700 can implement a neural network for predicting or inferring expression levels of all genes from a data graph of a subset of genes. For example, the artificial neural network computing system 700 can implement neural networks for epigenetic analysis, such as predicting transcription factor binding sites, enhancer regions, and chromatin accessibility from gene sequences. For example, the artificial neural network computing system 700 can implement a neural network for capturing structure within a genetic sequence. For example, the artificial neural network computing system 700 can be configured as a bacterial detection system, and the optical interference unit 804 can be configured to implement a multiplicative function for analyzing DNA sequences to detect certain bacterial strains.

在一些實施例中,OMM單元708包括保護具有3D繞射光學元件的基板的外殼(例如:匣盒)。外殼支持耦接到輸入波導602的輸入介面,以及耦接到輸出波導604的輸出介面。輸入介面被配置以接收來自調變器陣列706的輸出,並且輸出介面被配置以將OMM單元708的輸出發送到偵測單元710。OMM單元708可以被設計作為適合由普通消費者處理的模組,允許使用者容易地從一個OMM單元708切換到另一個OMM單元708。機器學習技術隨著時間而改進。使用者可藉由換出舊OMM單元708,並且插入新的升級版本來升級人工神經網路計算系統700。 In some embodiments, the OMM unit 708 includes a housing (eg, a cassette) that protects the substrate with the 3D diffractive optical elements. The housing supports an input interface coupled to input waveguide 602 and an output interface coupled to output waveguide 604 . The input interface is configured to receive the output from the modulator array 706 and the output interface is configured to send the output of the OMM unit 708 to the detection unit 710 . The OMM units 708 may be designed as modules suitable for handling by ordinary consumers, allowing the user to easily switch from one OMM unit 708 to another. Machine learning techniques improve over time. The user can upgrade the artificial neural network computing system 700 by swapping out the old OMM unit 708 and inserting a new upgraded version.

在一些實施例中,人工神經網路計算系統700是光學計算平台,其被配置為可由不同公司所提供的OMM單元一起操作。這允許不同公司為各種應用開發不同的3D被動光學神經網路。3D被動光學神經網路以標準化包裝出售給最終使用者,其可被安裝在光學計算平台中以允許人工神經網路計算系統700執行各種智慧功能。 In some embodiments, the artificial neural network computing system 700 is an optical computing platform configured to operate together with OMM units provided by different companies. This allows different companies to develop different 3D passive optical neural networks for various applications. The 3D passive optical neural network is sold to end users in standardized packages, which can be installed in an optical computing platform to allow the artificial neural network computing system 700 to perform various intelligent functions.

在一些實施例中,系統可以具有用於支撐多個OMM單元708的保持器機構,並且可以提供機械處理機構以用於自動交換OMM單元708。系統確定當前應用需要哪個OMM單元708,並且使用機械處理機構從保持器機構自動檢索適當的OMM單元708並將其插入光處理器702。 In some embodiments, the system may have a holder mechanism for supporting multiple OMM units 708 , and a mechanical handling mechanism may be provided for automatically exchanging OMM units 708 . The system determines which OMM unit 708 is required for the current application and uses a mechanical handling mechanism to automatically retrieve the appropriate OMM unit 708 from the holder mechanism and insert it into the light processor 702 .

在一些實施例中,可藉由在偵測單元710與ADC單元160之間加入類比非線性單元來修改人工神經網路計算系統700。類比非線性單元被配置以從偵測單元710接收輸出電壓、應用非線性傳遞函數、以及將轉換輸出電壓輸出到ADC單元160。控制器110可以從ADC單元160得到對應轉換輸出電壓的轉換數位輸出電壓。因為從ADC單元160得到的數位輸出電壓已經被非線性轉換(“激活”),所以可以省略控制器110的非線性轉換步驟,從而減少了控制器110的計算負擔。接著,可以將從ADC單元160直接得到的第一轉換電壓作為第一轉換數位輸出向量儲存在記憶體單元120中。 In some embodiments, the artificial neural network computing system 700 can be modified by adding an analog nonlinear unit between the detection unit 710 and the ADC unit 160 . The analog nonlinear unit is configured to receive the output voltage from the detection unit 710 , apply the nonlinear transfer function, and output the converted output voltage to the ADC unit 160 . The controller 110 may obtain the converted digital output voltage corresponding to the converted output voltage from the ADC unit 160 . Because the digital output voltage obtained from the ADC unit 160 has already been nonlinearly converted ("activated"), the nonlinear conversion step of the controller 110 can be omitted, thereby reducing the computational burden of the controller 110 . Then, the first conversion voltage directly obtained from the ADC unit 160 may be stored in the memory unit 120 as the first conversion digital output vector.

可以使用以一維佈置的被動繞射光學元件來實現光 干涉單元。參照第9圖,在一些實施例中,人工神經網路計算系統900具有光處理器906,其包括一維的光乘法單元916。人工神經網路計算系統900包括記憶體單元120,其類似於第1A圖中的人工神經網路計算系統100的對應部件。光處理器906被配置以使用以一維佈置(沿著光傳播軸)的繞射光學元件來執行乘法計算。 Light can be achieved using passive diffraction optical elements arranged in one dimension interference unit. Referring to Figure 9, in some embodiments, the artificial neural network computing system 900 has a light processor 906 that includes a one-dimensional light multiplication unit 916. Artificial neural network computing system 900 includes a memory unit 120, which is similar to corresponding components of artificial neural network computing system 100 in Figure 1A. The light processor 906 is configured to perform multiplication calculations using diffractive optical elements arranged in one dimension (along the axis of light propagation).

光處理器906包括:雷射單元908,被配置以輸出雷射光束910;以及調變器912,被配置以調變雷射光束910以產生調變光束914。光處理器906包括一維的光乘法單元916,其具有一維佈置的繞射光學元件,並被配置以處理調變光束914和產生輸出光束918。光處理器906包括偵測單元920,偵測單元920具有用於偵測輸出光束916的光感測器。偵測單元920的輸出由ADC單元930轉換為數位訊號。 The optical processor 906 includes a laser unit 908 configured to output a laser beam 910 and a modulator 912 configured to modulate the laser beam 910 to generate a modulated beam 914 . The light processor 906 includes a one-dimensional light multiplication unit 916 having a one-dimensional arrangement of diffractive optical elements and configured to process the modulated beam 914 and generate an output beam 918 . The light processor 906 includes a detection unit 920 having a light sensor for detecting the output beam 916 . The output of the detection unit 920 is converted into a digital signal by the ADC unit 930.

舉例來說,光乘法單元916可以實現作為具有繞射光學元件(例如:光柵或孔洞)的被動整合矽光子波導。光乘法單元916可被配置以幾乎零功率消耗執行乘法操作。 For example, the light multiplication unit 916 may be implemented as a passively integrated silicon photonic waveguide with diffractive optical elements (eg, gratings or holes). The optical multiplication unit 916 may be configured to perform multiplication operations with almost zero power consumption.

有許多方法對輸入資料進行編碼以供光處理器906使用。舉例來說,數位輸入向量可以被編碼作為傳播通過光乘法單元916的光學輸入。光乘法單元916在光學域中執行對接收的光學輸入的乘法。由光乘法單元916執行的乘法由光乘法單元916的內部配置來確定。OMM單元502的內部配置包括沿著光傳播路徑在一維上佈置的繞射光學元件的尺寸、位置和幾何形狀,以及雜質的摻雜(如果有的話)。 There are many ways to encode input data for use by optical processor 906. For example, a digital input vector may be encoded as an optical input propagated through optical multiplication unit 916. Optical multiplication unit 916 performs multiplication of received optical input in the optical domain. The multiplication performed by the optical multiplication unit 916 is determined by the internal configuration of the optical multiplication unit 916 . The internal configuration of the OMM cell 502 includes the size, position, and geometry of the diffractive optical elements arranged in one dimension along the light propagation path, as well as the doping, if any, of impurities.

可以以各種方式實現光乘法單元916。第10圖顯示了使用繞射元件的一維佈置的光乘法單元916的示意圖。光乘法單元916可包括用於接收光輸入1002的輸入波導、與輸入波導光學通訊的一維的光干涉單元1004,以及與光干涉單元1004光學通訊的用於提供光輸出1006的輸出波導。光干涉單元1004包括多個繞射光學元件,並且執行光學輸入到光學輸出的轉換(例如:線性轉換)。輸出波導引導光干涉單元1004輸出的光訊號。 Light multiplication unit 916 may be implemented in various ways. Figure 10 shows a schematic diagram of a light multiplying unit 916 using a one-dimensional arrangement of diffractive elements. Optical multiplication unit 916 may include an input waveguide for receiving optical input 1002, a one-dimensional optical interference unit 1004 in optical communication with the input waveguide, and an output waveguide in optical communication with optical interference unit 1004 for providing optical output 1006. The optical interference unit 1004 includes a plurality of diffractive optical elements and performs conversion of optical input to optical output (eg, linear conversion). The output waveguide guides the optical signal output by the optical interference unit 1004.

在一些實施例中,光干涉單元1004包括細長基板,細長基板具有沿著光傳播路徑在一維上佈置的繞射元件。舉例來說,可以在基板中鑽出或蝕刻多個孔洞。這些孔洞具有與輸入光的波長相當的數量級的尺寸,使得光被孔洞(或定義孔洞的結構)繞射。孔洞可以具有相同或不同的尺寸。基板可以由對於輸入光為透明或半透明的材料製成,例如相對於輸入光具有1%至99%的透射率。在一些實施例中,全息方法也可用於基板中形成繞射光學元件。 In some embodiments, the optical interference unit 1004 includes an elongated substrate having diffraction elements arranged in one dimension along the light propagation path. For example, multiple holes may be drilled or etched into the substrate. These holes have dimensions on the same order of magnitude as the wavelength of the input light, such that the light is diffracted by the holes (or the structure that defines the holes). The holes can be of the same or different sizes. The substrate may be made of a material that is transparent or translucent to the input light, for example having a transmittance of 1% to 99% with respect to the input light. In some embodiments, holographic methods may also be used to form diffractive optical elements in substrates.

當設計光干涉單元1004時,我們考慮繞射元件沿著光束的傳播路徑的尺寸和位置。可以使用優化處理來確定繞射光學元件的配置。舉例來說,基板可以分成一系列像素,並且每個像素可被填充基板材料(無孔洞)或被填充空氣(孔洞)。可以迭代地修改像素的配置,並且對於像素的每個配置,可以藉由使光通過繞射光學元件並評估輸出來執行模擬。在執行像素的所有可能配置的模擬 之後,選擇提供最接近所期望的乘法處理的結果的配置作為光干涉單元1004的繞射光學元件配置。 When designing the optical interference unit 1004, we consider the size and position of the diffractive elements along the propagation path of the light beam. An optimization process can be used to determine the configuration of the diffractive optical elements. For example, the substrate may be divided into a series of pixels, and each pixel may be filled with substrate material (no holes) or filled with air (holes). The configuration of pixels can be modified iteratively, and for each configuration of pixels, a simulation can be performed by passing light through a diffractive optical element and evaluating the output. Performing simulations of all possible configurations of pixels After that, the configuration that provides the result closest to the desired multiplication process is selected as the diffractive optical element configuration of the optical interference unit 1004 .

作為另一實施例,繞射元件最初被配置為一系列孔洞。孔洞的位置和尺寸可以與它們的初始配置稍微不同。可以迭代地調整每個孔洞的參數,並且可以執行模擬以找到孔洞的優化配置。 As another example, the diffraction element is initially configured as a series of holes. The location and size of the holes can vary slightly from their original configuration. The parameters of each hole can be adjusted iteratively, and simulations can be performed to find the optimal configuration of the holes.

在一些實施例中,機器學習處理用於設計一維繞射光學元件。確定像素如何影響輸入光以產生輸出光的分析函數,並且使用梯度下降方法來確定像素的最佳配置。 In some embodiments, machine learning processes are used to design one-dimensional diffractive optical elements. An analytical function that determines how pixels affect input light to produce output light, and gradient descent methods are used to determine the optimal configuration of pixels.

在一些實施例中,光乘法單元916可實施作為使用者可變部件,並且可以為不同應用安裝具有不同光干涉單元1004的不同光乘法單元916。舉例來說,人工神經網路計算系統900可被配置作為細菌偵測系統,並且光干涉單元1004可被配置以實現用於分析DNA序列以偵測某些細菌菌株的乘法函數。舉例來說,第一光乘法單元可具有第一光干涉單元,第一光干涉單元包括1D被動繞射光學元件,其被配置以實現用於偵測第一組細菌的第一乘法函數。第二光乘法單元可具有第二光干涉單元,第二光干涉單元包括1D被動繞射光學元件,其被配置以實現用於偵測第二組細菌的第二乘法函數等。第一和第二光乘法單元可以由專門開發用於偵測不同細菌的技術的不同公司來開發。當使用者想要使用人工神經網路計算系統900來偵測第一組細菌時,使用者可以將第一光乘法單元插入至系統中。當使用者想要使用人工神經網路計算系統900 來識別第二組細菌時,使用者可以換出第一光乘法單元並且將第二光乘法單元插入至系統中。藉由使用一維繞射光學元件,可以以低成本製造雷射單元908、調變器912、偵測單元920以及ADC單元930。 In some embodiments, the light multiplication unit 916 may be implemented as a user variable component, and different light multiplication units 916 with different light interference units 1004 may be installed for different applications. For example, the artificial neural network computing system 900 can be configured as a bacterial detection system, and the optical interference unit 1004 can be configured to implement a multiplicative function for analyzing DNA sequences to detect certain bacterial strains. For example, the first light multiplication unit may have a first light interference unit including a 1D passive diffractive optical element configured to implement a first multiplication function for detecting the first group of bacteria. The second light multiplication unit may have a second light interference unit including a 1D passive diffraction optical element configured to implement a second multiplication function for detecting the second group of bacteria, and the like. The first and second light multiplying units may be developed by different companies that specialize in developing technologies for detecting different bacteria. When the user wants to use the artificial neural network computing system 900 to detect the first group of bacteria, the user can insert the first light multiplication unit into the system. When the user wants to use the artificial neural network computing system 900 To identify a second group of bacteria, the user can swap out the first light multiplication unit and insert a second light multiplication unit into the system. By using one-dimensional diffractive optical elements, the laser unit 908, the modulator 912, the detection unit 920 and the ADC unit 930 can be manufactured at low cost.

在一些實施例中,光乘法單元916包括保護具有1D繞射光學元件的基板的外殼(例如:匣盒)。外殼支持耦接到輸入波導的輸入介面,以及耦接到輸出波導的輸出介面。輸入介面被配置以接收來自調變器912的輸出,並且輸出介面被配置以將光乘法單元916的輸出發送到偵測單元920。光乘法單元916可以被設計作為適合由普通消費者處理的模組,允許使用者容易地從一個光乘法單元916切換到另一個光乘法單元916。機器學習技術隨著時間而改進。使用者可藉由換出舊光乘法單元916,並且插入新的升級版本來升級人工神經網路計算系統900。 In some embodiments, the light multiplying unit 916 includes a housing (eg, a cassette) that protects the substrate with the ID diffractive optical element. The housing supports an input interface coupled to the input waveguide and an output interface coupled to the output waveguide. The input interface is configured to receive the output from the modulator 912 and the output interface is configured to send the output of the light multiplication unit 916 to the detection unit 920 . The light multiplication units 916 may be designed as modules suitable for handling by ordinary consumers, allowing the user to easily switch from one light multiplication unit 916 to another. Machine learning techniques improve over time. The user can upgrade the artificial neural network computing system 900 by swapping out the old optical multiplication unit 916 and inserting a new upgraded version.

在一些實施例中,人工神經網路計算系統900是光學計算平台,其被配置為可由不同公司所提供的光乘法單元一起操作。這允許不同公司為各種應用開發不同的1D被動光學乘法功能。1D被動光學乘法功能以標準化包裝出售給最終使用者,其可被安裝在光學計算平台中以允許人工神經網路計算系統900執行各種智慧功能。 In some embodiments, the artificial neural network computing system 900 is an optical computing platform configured to operate together with optical multiplication units provided by different companies. This allows different companies to develop different 1D passive optical multiplication functions for various applications. The 1D passive optical multiplication function is sold to end users in standardized packages, which can be installed in optical computing platforms to allow the artificial neural network computing system 900 to perform various intelligent functions.

在一些實施例中,系統可以具有用於支撐多個光乘法單元916的保持器機構,並且可以提供機械處理機構以用於自動交換光乘法單元916。系統確定當前應用需要哪個光乘法單元 916,並且使用機械處理機構從保持器機構自動檢索適當的光乘法單元916並將其插入光處理器906。 In some embodiments, the system may have a holder mechanism for supporting a plurality of light multiplying units 916 and a mechanical handling mechanism may be provided for automatically exchanging the light multiplying units 916. The system determines which light multiplication unit is required for the current application 916, and uses a mechanical handling mechanism to automatically retrieve the appropriate light multiplication unit 916 from the holder mechanism and insert it into the light processor 906.

在一些實施例中,可藉由在偵測單元920與ADC單元930之間加入類比非線性單元來修改人工神經網路計算系統900。類比非線性單元被配置以從偵測單元920接收輸出電壓、應用非線性傳遞函數、以及將轉換輸出電壓輸出到ADC單元930。控制器902可以從ADC單元930得到對應轉換輸出電壓的轉換數位輸出電壓。因為從ADC單元930得到的數位輸出電壓已經被非線性轉換(“激活”),所以可以省略控制器902的非線性轉換步驟,從而減少了控制器902的計算負擔。接著,可以將從ADC單元930直接得到的第一轉換電壓作為第一轉換數位輸出向量儲存在記憶體單元120中。 In some embodiments, the artificial neural network computing system 900 can be modified by adding an analog nonlinear unit between the detection unit 920 and the ADC unit 930 . The analog nonlinear unit is configured to receive the output voltage from the detection unit 920 , apply the nonlinear transfer function, and output the converted output voltage to the ADC unit 930 . The controller 902 may obtain the converted digital output voltage corresponding to the converted output voltage from the ADC unit 930 . Because the digital output voltage obtained from the ADC unit 930 has already been nonlinearly converted ("activated"), the nonlinear conversion step of the controller 902 can be omitted, thereby reducing the computational burden on the controller 902. Then, the first conversion voltage directly obtained from the ADC unit 930 may be stored in the memory unit 120 as the first conversion digital output vector.

具有被動繞射光學元件的被動晶片具有許多優點。首先,因為主動元件(通常是最龐大的部件)已被淘汰,任何給定尺寸的晶片都可以包含更大的神經網路。通常有用的神經網路可包括數百萬個權重,這在主動晶片上實現是有挑戰性的,並且可能需要通過晶片的多次資料運行和晶片的重新編程。相較之下,單一被動晶片可能能夠支持整個神經網路。其次,被動晶片的非常低的功率消耗對於“邊緣(edge)”應用是重要的,因為這樣的應用可能需要小佔用面積(footprint)和低功率消耗。第三,被動晶片可以以非常低的成本製造,因為它們不包含主動元件。 Passive wafers with passive diffractive optics offer many advantages. First, because active components (usually the bulkiest components) have been eliminated, any given size of chip can contain larger neural networks. Typically useful neural networks can include millions of weights, which are challenging to implement on active chips and may require multiple data runs through the chip and reprogramming of the chip. In contrast, a single passive chip might be able to support an entire neural network. Second, the very low power consumption of passive chips is important for "edge" applications, since such applications may require a small footprint and low power consumption. Third, passive wafers can be manufactured at very low cost because they contain no active components.

具有被動繞射光學元件的光矩陣乘法單元也可以用在波長分波多路複用人工神經網路計算系統中。例如,第1F圖中的WDM ANN計算系統104的OMM單元150可以被使用了被動繞射光學元件的OMM單元代替。在此實施例中,可以移除第二DAC子單元134。 Optical matrix multiplication units with passive diffractive optical elements can also be used in wavelength division multiplexing artificial neural network computing systems. For example, the OMM unit 150 of the WDM ANN computing system 104 in Figure 1F may be replaced by an OMM unit using passive diffractive optical elements. In this embodiment, the second DAC sub-unit 134 may be removed.

在一些實施例中,光處理器(例如:504、702)可執行除了矩陣乘法以外的矩陣處理。光矩陣乘法單元502和708可以由執行其他類型的矩陣處理的光矩陣處理單元來代替。 In some embodiments, a light processor (eg, 504, 702) may perform matrix processing in addition to matrix multiplication. The optical matrix multiplication units 502 and 708 may be replaced by optical matrix processing units that perform other types of matrix processing.

第25圖顯示了使用ANN計算系統500、700或900執行ANN計算的方法2500的流程圖,ANN計算系統500、700或900包括一或多個光矩陣乘法單元或具有被動繞射元件的光乘法單元,例如2D的OMM單元502、3D的OMM單元708或1D的OM單元916。方法2500的步驟可以至少部分地由控制器110或902執行。在一些實施例中,方法2500的各個步驟可以並行、組合、循環或以任何順序運行。 Figure 25 shows a flow diagram of a method 2500 for performing ANN calculations using an ANN calculation system 500, 700 or 900 that includes one or more light matrix multiplication units or light multiplication with passive diffraction elements Units, such as 2D OMM unit 502, 3D OMM unit 708, or 1D OM unit 916. The steps of method 2500 may be performed, at least in part, by controller 110 or 902. In some embodiments, the various steps of method 2500 may be run in parallel, combined, in a loop, or in any order.

在步驟2510中,接收包括輸入資料集的人工神經網路(ANN)計算請求。輸入資料集包括第一數位輸入向量。第一數位輸入向量是輸入資料集的子集。舉例來說,它可以是影像的子區域。ANN計算請求可以由各種實體(例如電腦102)產生。電腦可包括各種類型的計算裝置中的一或多個,例如個人電腦、伺服器電腦、載具電腦和飛行電腦。ANN計算請求通常是指通知或告知要執行ANN計算的ANN計算系統500、700或900的電訊號。在一些 實施例中,ANN計算請求可以被分為兩個或多個訊號。舉例來說,第一訊號可以詢問ANN計算系統500、700或900以檢查ANN計算系統500、700或900是否準備好接收輸入資料集。響應於ANN計算系統500、700或900的肯定應答,電腦可以發送包括輸入資料集的第二訊號。 In step 2510, an artificial neural network (ANN) calculation request including an input data set is received. The input data set includes the first digit input vector. The first digit input vector is a subset of the input data set. For example, it could be a subregion of the image. ANN calculation requests may be generated by various entities (eg, computer 102). Computers may include one or more of various types of computing devices, such as personal computers, server computers, vehicle computers, and flight computers. An ANN calculation request generally refers to an electrical signal that notifies or informs the ANN calculation system 500, 700 or 900 that the ANN calculation is to be performed. in some In embodiments, the ANN calculation request may be divided into two or more signals. For example, the first signal may query the ANN computing system 500, 700 or 900 to check whether the ANN computing system 500, 700 or 900 is ready to receive the input data set. In response to a positive response from the ANN computing system 500, 700, or 900, the computer may send a second signal including the input data set.

在步驟2520中,儲存輸入資料集。控制器110可以將輸入資料集儲存在記憶體單元120中。在記憶體單元120中儲存輸入資料集可以允許ANN計算系統500、700或900的操作中的靈活性,例如可以改善系統的整體效能。舉例來說,藉由從記憶體單元120檢索輸入資料集的期望部分,可以將輸入資料集分為設定大小和格式的數位輸入向量。輸入資料集的不同部分可以以各種順序處理,或者被混洗,以允許執行各種類型的ANN計算。舉例來說,在輸入和輸出矩陣大小不同的情況下,混洗可以允許藉由塊矩陣乘法技術執行矩陣乘法。作為另一實施例,將輸入資料集儲存在記憶體單元120中可以允許藉由ANN計算系統500、700或900對多個ANN計算請求進行排隊,這可以允許ANN計算系統500、700或900以其全速維持操作而沒有不活動的時段。 In step 2520, the input data set is stored. The controller 110 may store the input data set in the memory unit 120 . Storing the input data set in the memory unit 120 may allow flexibility in the operation of the ANN computing system 500, 700, or 900, which may, for example, improve the overall performance of the system. For example, by retrieving desired portions of the input data set from memory unit 120, the input data set may be divided into numeric input vectors of a set size and format. Different parts of the input data set can be processed in various orders, or shuffled, to allow various types of ANN calculations to be performed. For example, shuffling can allow matrix multiplication to be performed via block matrix multiplication techniques when the input and output matrices are of different sizes. As another example, storing the input data set in the memory unit 120 may allow multiple ANN calculation requests to be queued by the ANN computing system 500, 700, or 900, which may allow the ANN computing system 500, 700, or 900 to It maintains operation at full speed without periods of inactivity.

在步驟2530中,基於第一數位輸入向量產生第一多個調變器控制訊號。控制器110可以將第一DAC控制訊號發送至DAC單元506、712或904,以產生第一多個調變器控制訊號。DAC單元506、712或904基於第一DAC控制訊號產生第一多個調 變器控制訊號,並且調變器陣列144、706或調變器912產生表示第一數位輸入向量的光輸入向量。 In step 2530, a first plurality of modulator control signals are generated based on the first digital input vector. Controller 110 may send the first DAC control signal to DAC unit 506, 712, or 904 to generate a first plurality of modulator control signals. The DAC unit 506, 712 or 904 generates a first plurality of modulations based on the first DAC control signal. The modulator control signal is applied and modulator array 144, 706 or modulator 912 generates an optical input vector representing the first digital input vector.

第一DAC控制訊號可包括將要由DAC單元506、712或904轉換成第一多個調變器控制訊號的多個數位值。多個數位值通常對應第一數位輸入向量,並且可以透過各種數學關係或查找表來關聯。舉例來說,多個數位值可以與第一數位輸入向量的元素的數值成線性比例。作為另一實施例,多個數位值可以透過查找表與第一數位輸入向量的元素關聯,該查找表被配置以維持數位輸入向量與由調變器陣列144、706或調變器912產生的光輸入向量之間的線性關係。 The first DAC control signal may include a plurality of digital values to be converted by the DAC unit 506, 712, or 904 into a first plurality of modulator control signals. Multiple digit values typically correspond to the first digit input vector and can be related through various mathematical relationships or lookup tables. For example, the plurality of digit values may be linearly proportional to the values of the elements of the first digit input vector. As another example, a plurality of digital values may be associated with elements of a first digital input vector via a lookup table configured to maintain the relationship between the digital input vector and the values generated by modulator array 144, 706 or modulator 912. Linear relationship between light input vectors.

在一些實施例中,2D的OMM單元502、3D的OMM單元708或1D的OM單元916被配置以基於光輸入向量和使用被動繞射元件實施的多個神經網路權重來執行光矩陣處理或光乘法。表示矩陣M的多個神經網路權重可以通過奇異值分解(SVD)方法被分解成M=USV*,其中U是M×M么正矩陣,S是在對角線上具有非負實數的MxN對角矩陣,並且V*是N×N么正矩陣V的共軛複數。在這種情況下,被動繞射元件可被配置以實現矩陣V、矩陣S以及矩陣U,使得OMM單元502或708作為整體實現矩陣M。 In some embodiments, the 2D OMM unit 502, the 3D OMM unit 708, or the ID OM unit 916 are configured to perform light matrix processing based on the optical input vector and a plurality of neural network weights implemented using passive diffraction elements or Light multiplication. Multiple neural network weights representing a matrix M can be decomposed into M = USV* by the singular value decomposition (SVD) method, where U is an M×M positive matrix and S is an MxN diagonal with non-negative real numbers on the diagonal. matrix, and V* is the complex conjugate of the N×N positive matrix V. In this case, the passive diffraction element may be configured to implement matrix V, matrix S, and matrix U, such that OMM unit 502 or 708 as a whole implements matrix M.

在步驟2540中,得到對應光矩陣乘法單元的光輸出向量或光乘法的第一多個數位光輸出。由調變器陣列144、706或調變器912所產生的光輸入向量由2D的OMM單元502、3D的OMM單元708或1D的OM單元916處理,並且轉換為光輸出向 量。光輸出向量由偵測單元146、710或920偵測並且轉換成電訊號,該電訊號可由ADC單元160或930轉換成數位值。控制器110或902可以將轉換請求發送至ADC單元160或930,以開始將偵測單元146、710或920輸出的電壓轉換為數位光輸出。一旦轉換完成,ADC單元160或930可將轉換結果發送至控制器110或902。或者,控制器110或902可以從ADC單元160或930檢索轉換結果。控制器110或902可以從數位光輸出形成數位輸出向量,該數位輸出向量對應輸入數位向量的矩陣乘法的結果。舉例來說,數位光輸出可以被組織或連接以具有向量格式。 In step 2540, the light output vector corresponding to the light matrix multiplication unit or the first plurality of digital light outputs of the light multiplication is obtained. The light input vector generated by the modulator array 144, 706 or the modulator 912 is processed by the 2D OMM unit 502, the 3D OMM unit 708 or the ID OM unit 916 and converted into a light output vector. quantity. The light output vector is detected by the detection unit 146, 710 or 920 and converted into an electrical signal, which may be converted into a digital value by the ADC unit 160 or 930. The controller 110 or 902 may send a conversion request to the ADC unit 160 or 930 to start converting the voltage output by the detection unit 146, 710 or 920 into a digital light output. Once the conversion is completed, the ADC unit 160 or 930 may send the conversion result to the controller 110 or 902. Alternatively, the controller 110 or 902 may retrieve the conversion results from the ADC unit 160 or 930. Controller 110 or 902 may form a digital output vector from the digital light output, the digital output vector corresponding to the result of matrix multiplication of the input digital vector. For example, digital light output can be organized or connected to have a vector format.

在一些實施例中,可基於由控制器110或902將DAC控制訊號發出到DAC單元506、712或904,來設定或控制ADC單元160或930以執行ADC轉換。舉例來說,ADC轉換可以被設定以在DAC單元506、712或904產生調變控制訊號之後的預設時間開始。ADC轉換的這種控制可以簡化控制器110或902的操作並且減少必要的控制操作的數量。 In some embodiments, the ADC unit 160 or 930 may be configured or controlled to perform ADC conversion based on the DAC control signal being sent by the controller 110 or 902 to the DAC unit 506, 712, or 904. For example, the ADC conversion may be set to start at a preset time after the DAC unit 506, 712 or 904 generates the modulation control signal. Such control of ADC conversion can simplify the operation of the controller 110 or 902 and reduce the number of necessary control operations.

在步驟2550中,對第一數位輸出向量執行非線性轉換以產生第一轉換數位輸出向量。ANN的節點或人工神經元藉由首先執行從先前層的節點接收的訊號的權重總和,然後執行權重總和的非線性轉換(“激活”)以產生輸出來進行操作。各種類型的ANN可以實現各種類型的可微分的非線性轉換。非線性轉換函數的實施例包括修正線性單元(RELU)函數、Sigmoid函數、雙曲正切函數(yperbolic tangent function),X^2函數以及|X|函數。 由控制器110或902對第一數位輸出執行這種非線性轉換,以產生第一轉換數位輸出向量。在一些實施例中,非線性轉換可由控制器110或902內的專用數位積體電路執行。舉例來說,控制器110或902可包括一或多個模組或電路塊,其特別適於加速一或多種類型的非線性轉換的計算。 In step 2550, a non-linear transformation is performed on the first digital output vector to produce a first transformed digital output vector. An ANN's nodes, or artificial neurons, operate by first performing a weighted summation of signals received from nodes in previous layers, and then performing a nonlinear transformation ("activation") of the weighted summation to produce an output. Various types of ANN can implement various types of differentiable nonlinear transformations. Examples of nonlinear transfer functions include modified linear unit (RELU) functions, sigmoid functions, hyperbolic tangent functions, X^2 functions, and |X| functions. This non-linear transformation is performed on the first digital output by controller 110 or 902 to produce a first transformed digital output vector. In some embodiments, the nonlinear conversion may be performed by dedicated digital integrated circuits within controller 110 or 902. For example, controller 110 or 902 may include one or more modules or circuit blocks that are particularly suitable for accelerating the calculation of one or more types of nonlinear transformations.

在步驟2560中,儲存第一轉換數位輸出向量。控制器110或902可以將第一轉換數位輸出向量儲存在記憶體單元120中。在輸入資料集被分成多個數位輸入向量的情況下,第一轉換數位輸出向量對應輸入資料集的一部分的ANN計算結果,例如第一數位輸入向量。如此一來,儲存第一轉換數位輸出向量允許ANN計算系統500、700或900在輸入資料集的其他數位輸入向量上執行和儲存額外計算,以在稍後被聚合成單一ANN輸出。 In step 2560, the first converted digital output vector is stored. The controller 110 or 902 may store the first converted digital output vector in the memory unit 120 . In the case where the input data set is divided into a plurality of digit input vectors, the first converted digit output vector corresponds to the ANN calculation result of a portion of the input data set, such as the first digit input vector. As such, storing the first transformed digital output vector allows the ANN computing system 500, 700, or 900 to perform and store additional calculations on other digital input vectors of the input data set to be later aggregated into a single ANN output.

在步驟2570中,輸出基於第一轉換數位輸出向量產生的人工神經網路輸出。控制器110或902產生ANN輸出,其是透過由第一多個神經網路權重所定義的ANN處理輸入資料集的結果。在輸入資料集被分成多個數位輸入向量的情況下,所產生的ANN輸出是包括第一轉換數位輸出的聚合輸出,但是可更包括對應輸入資料集的其他部分的額外轉換數位輸出。一旦產生ANN輸出,就將所產生的輸出發送至發起ANN計算請求的電腦(例如電腦102)。 In step 2570, the artificial neural network output generated based on the first transformed digital output vector is output. The controller 110 or 902 generates an ANN output that is the result of processing the input data set through an ANN defined by the first plurality of neural network weights. Where the input data set is divided into multiple digital input vectors, the resulting ANN output is an aggregate output that includes the first transformed digital output, but may further include additional transformed digital outputs corresponding to other portions of the input data set. Once the ANN output is generated, the generated output is sent to the computer that initiated the ANN calculation request (eg, computer 102).

2D的OMM單元502、3D的OMM單元708或1D的OM單元916可表示神經網路的一個隱藏層的權重係數。如果神經 網路具有多個隱藏層,則可以串聯耦接額外的2D的OMM單元502、3D的OMM單元708或1D的OM單元916。第26圖顯示了用於實現具有兩個隱藏層的神經網路的ANN計算系統2600的實施例。第一2D光矩陣乘法單元2604表示第一隱藏層的權重係數,第二2D光矩陣乘法單元2606表示第二隱藏層的權重係數。ANN計算系統2600包括控制器110、記憶體單元120、DAC單元506和光電處理器2602。記憶體單元120和DAC單元506類似於第5圖中的人工神經網路計算系統500的對應部件。光電處理器2602被配置以使用光學和電子部件執行矩陣計算。 The 2D OMM unit 502, the 3D OMM unit 708, or the 1D OM unit 916 may represent the weight coefficient of a hidden layer of the neural network. If nerves If the network has multiple hidden layers, additional 2D OMM units 502, 3D OMM units 708, or 1D OM units 916 may be coupled in series. Figure 26 shows an embodiment of an ANN computing system 2600 for implementing a neural network with two hidden layers. The first 2D light matrix multiplication unit 2604 represents the weight coefficient of the first hidden layer, and the second 2D light matrix multiplication unit 2606 represents the weight coefficient of the second hidden layer. ANN computing system 2600 includes controller 110, memory unit 120, DAC unit 506, and optoelectronic processor 2602. Memory unit 120 and DAC unit 506 are similar to corresponding components of artificial neural network computing system 500 in FIG. 5 . Optoelectronic processor 2602 is configured to perform matrix calculations using optical and electronic components.

光電處理器2602包括第一雷射單元142a、第一調變器陣列144a、第一2D光矩陣乘法單元2604、第一偵測單元146a、第一類比非線性單元310a、類比記憶體單元320、第二雷射單元142b、第二調變器陣列144b、第二2D光矩陣乘法單元2606、第二偵測單元146b、第二類比非線性單元310b以及ADC單元160。第一雷射單元142、第一調變器陣列144a、第一偵測單元146a、第一類比非線性單元310a以及類比記憶體單元320的操作類似於第3B中所示的對應部件。第一2D OMM單元2604類似於第5圖的2D的OMM 502。類比記憶體單元320的輸出驅動第二調變器陣列144b,第二調變器陣列144b調變來自第二雷射單元142b的雷射光以產生光向量。來自第二調變器陣列144b的光向量由第二2D OMM單元2606處理,第二2D OMM單元2606執行矩陣乘法並產生光輸出向量,光輸出向量由第二偵測單元246b偵測。第 二偵測單元246b被配置以產生對應來自第二2D OMM單元2606的光輸出向量的光訊號的輸出電壓。ADC單元160被配置以將輸出電壓轉換為數位輸出電壓。控制器110可以從ADC單元160得到對應第二2D OMM單元2606的光輸出向量的數位輸出。控制器110可以從數位輸出形成數位輸出向量,數位輸出向量對應輸入數位向量的第一矩陣乘法的結果的非線性轉換的第二矩陣乘法的結果。藉由使用光分離器將第二雷射單元142b與第一雷射單元142a組合,以將來自第一雷射單元142a的一些光轉向到第二調變器陣列144b。 The optoelectronic processor 2602 includes a first laser unit 142a, a first modulator array 144a, a first 2D optical matrix multiplication unit 2604, a first detection unit 146a, a first analog nonlinear unit 310a, an analog memory unit 320, The second laser unit 142b, the second modulator array 144b, the second 2D optical matrix multiplication unit 2606, the second detection unit 146b, the second analog nonlinear unit 310b and the ADC unit 160. The operations of the first laser unit 142, the first modulator array 144a, the first detection unit 146a, the first analog nonlinear unit 310a, and the analog memory unit 320 are similar to the corresponding components shown in Section 3B. The first 2D OMM unit 2604 is similar to the 2D OMM 502 of FIG. 5 . The output of the analog memory unit 320 drives the second modulator array 144b, which modulates the laser light from the second laser unit 142b to generate a light vector. The light vectors from the second modulator array 144b are processed by the second 2D OMM unit 2606, which performs matrix multiplication and generates light output vectors, which are detected by the second detection unit 246b. No. The second detection unit 246b is configured to generate an output voltage corresponding to the optical signal from the optical output vector of the second 2D OMM unit 2606. ADC unit 160 is configured to convert the output voltage into a digital output voltage. The controller 110 may obtain a digital output corresponding to the light output vector of the second 2D OMM unit 2606 from the ADC unit 160 . The controller 110 may form a digital output vector from the digital output, the digital output vector corresponding to a result of a second matrix multiplication of a nonlinear transformation of a result of a first matrix multiplication of the input digital vector. The second laser unit 142b is combined with the first laser unit 142a by using an optical splitter to divert some of the light from the first laser unit 142a to the second modulator array 144b.

上述原理可以應用於實現具有三個或多個隱藏層的神經網路,其中每個隱藏層的權重係數由對應的2D OMM單元表示。 The above principles can be applied to implement neural networks with three or more hidden layers, where the weight coefficient of each hidden layer is represented by the corresponding 2D OMM unit.

第27圖顯示了用於實現具有兩個隱藏層的神經網路的ANN計算系統2700的實施例。第一3D光矩陣乘法單元2704表示第一隱藏層的權重係數,第二3D光矩陣乘法單元2706表示第二隱藏層的權重係數。ANN計算系統2700包括控制器110、記憶體單元120、DAC單元712和光電處理器2702。記憶體單元120和DAC單元712類似於第7圖中的人工神經網路計算系統700的對應部件。光電處理器2702被配置以使用光學和電子部件執行矩陣計算。 Figure 27 shows an embodiment of an ANN computing system 2700 for implementing a neural network with two hidden layers. The first 3D light matrix multiplication unit 2704 represents the weight coefficient of the first hidden layer, and the second 3D light matrix multiplication unit 2706 represents the weight coefficient of the second hidden layer. ANN computing system 2700 includes controller 110, memory unit 120, DAC unit 712, and optoelectronic processor 2702. Memory unit 120 and DAC unit 712 are similar to corresponding components of artificial neural network computing system 700 in FIG. 7 . Optoelectronic processor 2702 is configured to perform matrix calculations using optical and electronic components.

光電處理器2402包括第一雷射單元704a、第一調變器陣列706a、第一3D光矩陣乘法單元2704、第一偵測單元710a、第一類比非線性單元310a、類比記憶體單元320、第二雷 射單元704b、第二調變器陣列706b、第二3D光矩陣乘法單元2706、第二偵測單元710b、第二類比非線性單元310b以及ADC單元160。第一雷射單元704a、第一調變器陣列706a、第一偵測單元710a、第一類比非線性單元310a以及類比記憶體單元320的操作類似於第3B中所示的對應部件。第一3D OMM單元2704類似於第7圖的3D的OMM 708。類比記憶體單元320的輸出驅動第二調變器陣列706b,第二調變器陣列706b調變來自第二雷射單元704b的雷射光以產生光向量。來自第二調變器陣列706b的光向量由第二3D OMM單元2706處理,第二2D OMM單元2706執行矩陣乘法並產生光輸出向量,光輸出向量由第二偵測單元710b偵測。第二偵測單元710b被配置以產生對應來自第二3D OMM單元2706的光輸出向量的光訊號的輸出電壓。ADC單元160被配置以將輸出電壓轉換為數位輸出電壓。控制器110可以從ADC單元160得到對應第二3D OMM單元2406的光輸出向量的數位輸出。控制器110可以從數位輸出形成數位輸出向量,數位輸出向量對應輸入數位向量的第一矩陣乘法的結果的非線性轉換的第二矩陣乘法的結果。藉由使用光分離器將第二雷射單元704b與第一雷射單元704a組合,以將來自第一雷射單元704a的一些光轉向到第二調變器陣列706b。 The optoelectronic processor 2402 includes a first laser unit 704a, a first modulator array 706a, a first 3D light matrix multiplication unit 2704, a first detection unit 710a, a first analog nonlinear unit 310a, an analog memory unit 320, The second thunder The emitter unit 704b, the second modulator array 706b, the second 3D light matrix multiplication unit 2706, the second detection unit 710b, the second analog nonlinear unit 310b and the ADC unit 160. The operations of the first laser unit 704a, the first modulator array 706a, the first detection unit 710a, the first analog nonlinear unit 310a, and the analog memory unit 320 are similar to the corresponding components shown in Section 3B. The first 3D OMM unit 2704 is similar to the 3D OMM 708 of FIG. 7 . The output of the analog memory unit 320 drives the second modulator array 706b, which modulates the laser light from the second laser unit 704b to generate a light vector. The light vectors from the second modulator array 706b are processed by the second 3D OMM unit 2706, the second 2D OMM unit 2706 performs matrix multiplication and generates light output vectors, and the light output vectors are detected by the second detection unit 710b. The second detection unit 710b is configured to generate an output voltage corresponding to the optical signal from the optical output vector of the second 3D OMM unit 2706. ADC unit 160 is configured to convert the output voltage into a digital output voltage. The controller 110 may obtain a digital output corresponding to the light output vector of the second 3D OMM unit 2406 from the ADC unit 160 . The controller 110 may form a digital output vector from the digital output, the digital output vector corresponding to a result of a second matrix multiplication of a nonlinear transformation of a result of a first matrix multiplication of the input digital vector. The second laser unit 704b is combined with the first laser unit 704a by using an optical splitter to divert some of the light from the first laser unit 704a to the second modulator array 706b.

上述原理可以應用於實現具有三個或多個隱藏層的神經網路,其中每個隱藏層的權重係數由對應的3D OMM單元表示。 The above principles can be applied to implement neural networks with three or more hidden layers, where the weight coefficient of each hidden layer is represented by the corresponding 3D OMM unit.

具有被動繞射光學元件的2D的OMM單元502和3D的OMM單元708適用於遞歸神經網路(RNN),其中在第(k)次通過神經網路期間的網路的輸出被再循環回至神經網路的輸入並且在第(k+1)次通過期間用來作為輸入,使得神經網路的權重係數在多次通過期間保持相同。 The 2D OMM unit 502 and the 3D OMM unit 708 with passive diffraction optics are suitable for Recurrent Neural Networks (RNN), where the output of the network during the (k)th pass through the neural network is recycled back to The input of the neural network is used as input during the (k+1)th pass so that the weight coefficients of the neural network remain the same during multiple passes.

第28圖顯示了神經網路計算系統2800的實施例,其可用於實現遞歸神經網路。神經網路計算系統2800包括光處理器2802,其以類似於第3B圖的光處理器140的方式操作,除了OMM單元150由2D OMM單元2804代替,其可以類似於第6圖的2D的OMM單元502。2D OMM單元2804的神經網路權重是固定的,因此神經網路計算系統2800不需要在第3B圖的人工神經網路計算系統302中所使用的第二DAC子單元134。 Figure 28 shows an embodiment of a neural network computing system 2800 that can be used to implement recursive neural networks. Neural network computing system 2800 includes optical processor 2802, which operates in a manner similar to optical processor 140 of Figure 3B, except that OMM unit 150 is replaced by a 2D OMM unit 2804, which may be similar to the 2D OMM of Figure 6 Unit 502. The neural network weights of the 2D OMM unit 2804 are fixed, so the neural network computing system 2800 does not require the second DAC subunit 134 used in the artificial neural network computing system 302 of Figure 3B.

第29圖顯示了神經網路計算系統2900的實施例,其可用於實現遞歸神經網路。神經網路計算系統2900包括光處理器2902,其以類似於第3B圖的光處理器140的方式操作,除了雷射單元142、調變器陣列144、OMM單元150以及偵測單元146個別地由第7圖的雷射單元704、調變器陣列706、3D OMM單元2904以及偵測單元710代替。3D OMM單元2904的神經網路權重是固定的,因此神經網路計算系統2900不需要在第3B圖的人工神經網路計算系統302中所使用的第二DAC子單元134。 Figure 29 shows an embodiment of a neural network computing system 2900 that can be used to implement recursive neural networks. Neural network computing system 2900 includes optical processor 2902 that operates in a manner similar to optical processor 140 of Figure 3B except that laser unit 142, modulator array 144, OMM unit 150, and detection unit 146 are individually Replaced by the laser unit 704, modulator array 706, 3D OMM unit 2904 and detection unit 710 in Figure 7. The neural network weights of the 3D OMM unit 2904 are fixed, so the neural network computing system 2900 does not require the second DAC subunit 134 used in the artificial neural network computing system 302 of Figure 3B.

第30圖顯示了具有1位元內部解析度的人工神經網路計算系統3000的示意圖。ANN計算系統3000類似於第4A圖的 ANN計算系統400,除了OMM單元150由2D OMM單元3004(其類似於第5圖的2D的OMM單元502)代替,並且第二驅動器子單元434被省略。ANN計算系統3000以類似於ANN計算系統400的方式操作,其中輸入向量被分解成多個1位元向量,並且接著可以藉由在執行1位元向量的一系列矩陣乘法之後對個別矩陣乘法結果求和,來執行某些ANN計算。 Figure 30 shows a schematic diagram of an artificial neural network computing system 3000 with 1-bit internal resolution. ANN computing system 3000 is similar to that of Figure 4A ANN computing system 400, except that the OMM unit 150 is replaced by a 2D OMM unit 3004 (which is similar to the 2D OMM unit 502 of Figure 5) and the second driver sub-unit 434 is omitted. ANN computing system 3000 operates in a manner similar to ANN computing system 400 in that the input vector is decomposed into a plurality of 1-bit vectors and the individual matrix multiplication results can then be calculated by performing a series of matrix multiplications of the 1-bit vectors. Sum, to perform some ANN calculations.

第31圖顯示了具有1位元內部解析度的人工神經網路計算系統3100的示意圖。ANN計算系統3100類似於第4A圖的ANN計算系統400,除了OMM單元150由3D OMM單元3104(其類似於第7圖的3D的OMM單元708)代替,並且第二驅動器子單元434被省略。在第31圖的實施例中,第4A圖的雷射單元142、調變器陣列144以及偵測單元143個別地由第7圖的雷射單元704、調變器陣列706以及偵測單元710代替。ANN計算系統3100以類似於ANN計算系統400的方式操作,其中輸入向量被分解成多個1位元向量,並且接著可以藉由在執行1位元向量的一系列矩陣乘法之後對個別矩陣乘法結果求和,來執行某些ANN計算。 Figure 31 shows a schematic diagram of an artificial neural network computing system 3100 with 1-bit internal resolution. The ANN computing system 3100 is similar to the ANN computing system 400 of Figure 4A, except that the OMM unit 150 is replaced by a 3D OMM unit 3104 (which is similar to the 3D OMM unit 708 of Figure 7), and the second driver sub-unit 434 is omitted. In the embodiment of FIG. 31 , the laser unit 142 , the modulator array 144 and the detection unit 143 of FIG. 4A are respectively composed of the laser unit 704 , the modulator array 706 and the detection unit 710 of FIG. 7 replace. The ANN computing system 3100 operates in a manner similar to the ANN computing system 400 in that the input vector is decomposed into a plurality of 1-bit vectors and the individual matrix multiplication results can then be calculated by performing a series of matrix multiplications of the 1-bit vectors. Sum, to perform some ANN calculations.

以下描述光學繞射神經網路的原理。光學繞射神經網路可以實現為幾層繞射或透射光學介質。基於惠更斯-菲涅耳原理(Huygens-Fresnel principle),繞射介質中的每個點可以被認為是二次光源(secondary light source)。對於每個光源,遠場繞射(far field diffraction)可以用以下等式描述:

Figure 110132252-A0305-02-0167-7
這裡,指數l和i表示第l層神經網路中的第i個神經元,λ是光的波長,r是距離,其中:
Figure 110132252-A0305-02-0167-43
來自每個二次光源的輸出可以被寫為輸入乘以光源的相位和強度調變:
Figure 110132252-A0305-02-0167-8
這裡,t是傳輸調變(transmission modulation),其是包括幅度和相位調變的複數項(complex term),並且
Figure 110132252-A0305-02-0167-9
是來自所有先前光源的輸入的總和。總體來說,輸出可以合併為遠場繞射時間w和幅度|A|和額外相位項(phase term)。因此,每一層中的每個點可以被認為是從前一層獲取來自多個神經元的輸入,並且在輸出到下一層之前加入額外的相位和強度調變的神經元。 The principle of optical diffraction neural network is described below. Optical diffractive neural networks can be implemented as several layers of diffractive or transmissive optical media. Based on the Huygens-Fresnel principle, each point in the diffraction medium can be considered as a secondary light source. For each light source, far field diffraction can be described by the following equation:
Figure 110132252-A0305-02-0167-7
Here, the indices l and i represent the i-th neuron in the l-th layer neural network, λ is the wavelength of light, and r is the distance, where:
Figure 110132252-A0305-02-0167-43
The output from each secondary light source can be written as the input times the phase and intensity modulation of the light source:
Figure 110132252-A0305-02-0167-8
Here, t is the transmission modulation, which is a complex term including amplitude and phase modulation, and
Figure 110132252-A0305-02-0167-9
is the sum of input from all previous light sources. Overall, the output can be combined into far-field diffraction time w and amplitude |A| and an additional phase term. Therefore, each point in each layer can be thought of as taking input from multiple neurons from the previous layer and adding additional phase and intensity modulated neurons before outputting to the next layer.

以下描述了可以實現一般么正矩陣乘法的緊湊光子矩陣乘法器單元的緊湊設計(compact design)。參照第11圖,光子矩陣乘法器單元1100包括調變器1102、多個互連干涉儀1104以及衰減器(attenuator)1106。互連干涉儀1104包括定向耦合器層(或定向耦合器組或定向耦合器集)1108a、1108b、1108c、1108d以及1108e(統稱為1108)和相位移器層1110a、1110b、1110c以及1110d(統稱為1110)。每個定向耦合器層(或定向耦合器組或定向耦合器集)可包括一或多個定向耦合器。在此實施例 中,互連干涉儀1104包括五層定向耦合器1108和四層相位移器。在其他實施例中,光子矩陣乘法器單元1100可以具有不同的定向耦合器和相位移器層。與使用互連馬赫曾德爾干涉儀的習知矩陣乘法器單元相比,光子矩陣乘法器單元1100具有定向耦合器1108,定向耦合器1108以使得定向耦合器1108的層數減少的方式定位。 The following describes a compact design of a compact photonic matrix multiplier unit that can implement general positive matrix multiplication. Referring to FIG. 11 , the photon matrix multiplier unit 1100 includes a modulator 1102 , a plurality of interconnected interferometers 1104 and an attenuator 1106 . Interconnect interferometer 1104 includes directional coupler layers (or groups or sets of directional couplers) 1108a, 1108b, 1108c, 1108d, and 1108e (collectively 1108) and phase shifter layers 1110a, 1110b, 1110c, and 1110d (collectively for 1110). Each directional coupler layer (or group or set of directional couplers) may include one or more directional couplers. In this example , interconnect interferometer 1104 includes five layers of directional couplers 1108 and four layers of phase shifters. In other embodiments, the photonic matrix multiplier unit 1100 may have different directional coupler and phase shifter layers. Compared to conventional matrix multiplier units using interconnected Mach-Zehnder interferometers, the photonic matrix multiplier unit 1100 has directional couplers 1108 positioned in such a way that the number of layers of directional couplers 1108 is reduced.

這裡,術語“定向耦合器層”和“相位移器層”中的術語“層”是指基於它們在光子矩陣乘法器單元1100中相對於輸入端口和輸出端口的位置一組或一個集合的定向耦合器或相位移器。在第11圖的實施例中,輸入光訊號由第一層定向耦合器1108a處理,然後由第二層相位移器1110a處理,然後由第三層定向耦合器1108b處理,然後由第四層相位移器1110b處理等 Here, the term "layer" in the terms "directional coupler layer" and "phase shifter layer" refers to a group or a collection of orientations based on their position relative to the input port and the output port in the photonic matrix multiplier unit 1100 coupler or phase shifter. In the embodiment of Figure 11, the input optical signal is processed by the first layer directional coupler 1108a, then by the second layer phase shifter 1110a, then by the third layer directional coupler 1108b, and then by the fourth layer phase shifter 1110a. Shifter 1110b processing, etc.

舉例來說,使用互連馬赫曾德爾干涉儀的習知矩陣乘法器單元可能需要2N層定向耦合器,而光子矩陣乘法器單元1100僅需要N+2層定向耦合器。N表示輸入訊號的數量,或輸入向量中的位數(number of digit)。光子矩陣乘法器單元1100中使用的網格結構(mesh architecture)可能具有可以執行一般矩陣計算的光子互連干涉儀的最緊湊的幾何結構。 For example, a conventional matrix multiplier unit using interconnected Mach-Zehnder interferometers may require 2N layers of directional couplers, whereas the photonic matrix multiplier unit 1100 only requires N+2 layers of directional couplers. N represents the number of input signals, or the number of digits in the input vector. The mesh architecture used in the photonic matrix multiplier unit 1100 has perhaps the most compact geometry of a photonic interconnect interferometer that can perform general matrix calculations.

第12A圖顯示了在各種數量的輸入訊號的光子矩陣乘法器單元1100的互連干涉儀1104與習知設計的比較的示意圖。當存在4個輸入訊號時,根據習知設計的互連馬赫曾德爾干涉儀1200需要8層定向耦合器,而根據新緊湊設計的互連干涉儀1202僅需要6層定向耦合器。當存在3個輸入訊號時,根據習知設計的 互連馬赫曾德爾干涉儀1204需要6層定向耦合器,而根據新緊湊設計的互連干涉儀1206僅需要5層定向耦合器。當存在8個輸入訊號時,根據習知設計的互連馬赫曾德爾干涉儀1208需要16層定向耦合器,而根據新緊湊設計的互連干涉儀1210僅需要10層定向耦合器。 Figure 12A shows a schematic diagram comparing the interconnection interferometer 1104 of the photon matrix multiplier unit 1100 with various numbers of input signals compared to conventional designs. When there are four input signals, the interconnected Mach-Zehnder interferometer 1200 according to the conventional design requires 8 layers of directional couplers, while the interconnected interferometer 1202 according to the new compact design only requires 6 layers of directional couplers. When there are three input signals, the design based on common knowledge The interconnected Mach-Zehnder interferometer 1204 requires 6 layers of directional couplers, while the interconnected interferometer 1206 according to the new compact design requires only 5 layers of directional couplers. When there are 8 input signals, the interconnected Mach-Zehnder interferometer 1208 according to the conventional design requires 16 layers of directional couplers, while the interconnected interferometer 1210 according to the new compact design only requires 10 layers of directional couplers.

通常來說,當存在n個輸入訊號時,根據習知設計的互連馬赫曾德爾干涉儀需要2n層定向耦合器,而根據新緊湊設計的互連干涉儀僅需要n+2層定向耦合器。 Generally speaking, when there are n input signals, the interconnected Mach-Zehnder interferometer according to the conventional design requires 2n layers of directional couplers, while the interconnected interferometer according to the new compact design only requires n+2 layers of directional couplers. .

在習知設計中,對於n個輸入訊號,存在n層馬赫曾德爾干涉儀,並且每個馬赫曾德爾干涉儀包括定向耦合器,接著是一對相位移器,接著是另一個定向耦合器。因此,n層馬赫曾德爾干涉儀具有2n層定向耦合器。結果,在習知設計中,對於n個輸入訊號,需要n層相位移器和2n層定向耦合器。 In a conventional design, there are n layers of Mach-Zehnder interferometers for n input signals, and each Mach-Zehnder interferometer includes a directional coupler, followed by a pair of phase shifters, followed by another directional coupler. Therefore, an n-layer Mach-Zehnder interferometer has a 2n-layer directional coupler. As a result, in the conventional design, for n input signals, n layers of phase shifters and 2n layers of directional couplers are required.

相較之下,在新的緊湊設計中,一層定向耦合器之後是第一層相位移器,接著是一層定向耦合器,接著是第二層相位移器,接著是一層定向器耦合器,接著是第三層相位移器,依此類推。在最後一層相位移器之後,有兩層定向耦合器。結果,對於n個輸入訊號,存在n層相位移器和n+2層定向耦合器。 In contrast, in the new compact design, a layer of directional couplers is followed by a first layer of phase shifters, then a layer of directional couplers, then a second layer of phase shifters, then a layer of directional couplers, then is the third layer phase shifter, and so on. After the last layer of phase shifters, there are two layers of directional couplers. As a result, for n input signals, there are n layers of phase shifters and n+2 layers of directional couplers.

因為定向耦合器佔據了大量的空間,與習知設計相比,將定向耦合器的數量從2.n減少到n+2可以使光子矩陣乘法器單元1100的尺寸顯著減小。 Because directional couplers occupy a large amount of space, compared with the conventional design, the number of directional couplers is reduced from 2. Reducing n to n+2 can result in a significant reduction in the size of the photon matrix multiplier unit 1100.

第12B圖顯示了根據新設計的緊湊互連干涉儀1212的示意圖,其中輸入訊號的數量是5。 Figure 12B shows a schematic diagram of a compact interconnection interferometer 1212 according to the new design, in which the number of input signals is 5.

以下描述使用梯度下降的緊湊設計分解。上面所述的光子矩陣乘法器的緊湊設計可以採用任何么正矩陣U,並且使用分析分解演算法(analytic decomposition algorithm)來確定需要使用相位移器實現哪些相位,並因此實現矩陣U。舉例來說,我們可藉由使用梯度下降從給定的矩陣U中提取相位。梯度下降過程如下。我們從固定的矩陣U開始,並且為緊湊設計的相位移器初始化隨機權重θ。我們使用緊湊設計建構矩陣U',即U'=CompactDesign(θ)。接著我們看一下損失函數(loss function)L=|U-U'|^2(這是矩陣的弗羅貝尼烏斯範數(Frobenius norm)),並且使用梯度下降最小化該函數(即藉由使用梯度更新來更新θ)。 The following describes a compact design decomposition using gradient descent. The compact design of the photon matrix multiplier described above can take any positive matrix U and use an analytic decomposition algorithm to determine which phases need to be achieved using phase shifters and therefore implement the matrix U. For example, we can extract the phase from a given matrix U by using gradient descent. The gradient descent process is as follows. We start with a fixed matrix U and initialize random weights θ for a compactly designed phase shifter. We use compact design to construct the matrix U', that is, U'=CompactDesign(θ). Next we look at the loss function L=|U-U'|^2 (which is the Frobenius norm of the matrix) and minimize this function using gradient descent (i.e. borrow By using gradient updates to update θ).

參照第13圖,我們使用零差偵測(homodyne detection)(例如:我們在輸出取出實部(real part)),因此在偵測之前提供額外的衰減器層1302以便模擬正交矩陣。這意味著與θ一起,我們還需要學習衰減器的對角線權重(diagonal weight)x。通過這種方式,我們可以了解U所需的相位和對角線權重,並且可以以數值方式獲得分解。 Referring to Figure 13, we use homodyne detection (i.e. we take out the real part at the output), so an additional attenuator layer 1302 is provided before detection to simulate an orthogonal matrix. This means that along with θ, we also need to learn the diagonal weight of the attenuator (diagonal weight) x. This way we know the required phase and diagonal weights of U and can obtain the decomposition numerically.

以下描述了光生成對抗網路(optical generative adversarial network;OGAN),其包括被配置以有效地產生忠實資料(faithful data)的產生器。第14圖顯示了光生成對抗網路1400的實施例,其中產生器1404包括被配置或訓練以產生類似於 真實影像的合成影像1410的神經網路,並且鑑別器1402包括被訓練以確定輸入影像是真實的還是合成的神經網路。提供初始訓練影像集1406以訓練鑑別器1402,使得鑑別器1402學習真實影像的特徵。相似地,使用一組訓練影像(未顯示)訓練產生器1404,使得產生器1404可以產生具有類似於真實影像的特徵的合成影像1410。 The following describes an optical generative adversarial network (OGAN), which includes a generator configured to efficiently generate faithful data. Figure 14 shows an embodiment of an optical generative adversarial network 1400, where the generator 1404 includes a generator configured or trained to generate something like A neural network is a synthetic image 1410 of a real image, and the discriminator 1402 includes a neural network trained to determine whether an input image is real or synthetic. An initial training image set 1406 is provided to train the discriminator 1402 so that the discriminator 1402 learns the characteristics of real images. Similarly, the generator 1404 is trained using a set of training images (not shown) so that the generator 1404 can generate a synthetic image 1410 with characteristics similar to real images.

在一些實施例中,鑑別器1402的訓練是被電子地執行的,舉例來說,使用基於電晶體的資料處理器(例如中央處理單元或通用圖形處理器單元(general purpose graphic processor unit))來計算鑑別器1402的神經層的權重。相似地,還電子地執行產生器1404的訓練以計算產生器1404的神經層的權重。 In some embodiments, training of the discriminator 1402 is performed electronically, for example, using a transistor-based data processor such as a central processing unit or a general purpose graphic processor unit. Calculate the weights of the neural layers of the discriminator 1402. Similarly, training of the generator 1404 is also performed electronically to calculate the weights of the neural layers of the generator 1404 .

由產生器1404產生的合成影像1410可以被提供給鑑別器1402以進一步訓練鑑別器1402,使得鑑別器1402可以更精確地偵測真實影像。鑑別器1402的偵測結果還可以用於進一步訓練產生器1404,使得產生器1404可以產生更逼真的合成影像1410,即更接近真實影像。 The synthetic image 1410 generated by the generator 1404 may be provided to the discriminator 1402 to further train the discriminator 1402 so that the discriminator 1402 can detect real images more accurately. The detection results of the discriminator 1402 can also be used to further train the generator 1404, so that the generator 1404 can generate a more realistic synthetic image 1410, that is, closer to a real image.

光生成對抗網路1400具有許多應用。舉例來說,在一些應用中,得到用於訓練鑑別器1402的大量真實影像可能是困難的或昂貴的。為了訓練鑑別器1402來偵測(例如癌細胞),在訓練階段期間需要大量癌細胞影像。從癌症患者得到大量癌細胞影像可能是困難且昂貴的,因此可能沒有足夠的樣本以足夠的精確度訓練鑑別器1402。為了改進鑑別器1402,訓練產生器1404以產生癌 細胞的真實影像,並且使用癌細胞的真實的合成影像1410來進一步訓練鑑別器1402,從而改進鑑別器1402偵測癌細胞的能力。 Photogenerated adversarial network 1400 has many applications. For example, in some applications, obtaining a large number of real images for training the discriminator 1402 may be difficult or expensive. In order to train the discriminator 1402 to detect, for example, cancer cells, a large number of cancer cell images are required during the training phase. It may be difficult and expensive to obtain large numbers of cancer cell images from cancer patients, so there may not be enough samples to train the discriminator 1402 with sufficient accuracy. To improve the discriminator 1402, the generator 1404 is trained to generate cancer Real images of cells, and real synthetic images 1410 of cancer cells are used to further train the discriminator 1402, thereby improving the ability of the discriminator 1402 to detect cancer cells.

在一些實施例中,產生器1404可為光學晶片,其包含主動元件,例如用於修改神經網樂的權重的主動相位移器。在訓練產生器1404之後,固定主動元件以使權重固定。隨機雜訊1408被饋送到產生器1404,產生器1404接著基於隨機雜訊1408產生合成影像1410,其中合成影像1410類似於癌細胞的真實影像。 In some embodiments, the generator 1404 may be an optical chip that contains active components, such as active phase shifters for modifying the weights of the neural network. After training the generator 1404, the active elements are fixed so that the weights are fixed. The random noise 1408 is fed to the generator 1404, which then generates a synthetic image 1410 based on the random noise 1408, where the synthetic image 1410 resembles a real image of a cancer cell.

在一些實施例中,使用第5圖、第7圖及/或第9圖中所示的光矩陣乘法單元來實施產生器1404。在確定神經網路的權重之後,基於所確定的權重來配置光矩陣乘法單元以實現神經網路。因為產生器1404的輸入是隨機雜訊1408,所以不必具有調變器陣列,允許了產生器1404具有小佔用面積。 In some embodiments, generator 1404 is implemented using optical matrix multiplication units as shown in Figure 5, Figure 7, and/or Figure 9. After determining the weights of the neural network, the optical matrix multiplication unit is configured based on the determined weights to implement the neural network. Because the input to the generator 1404 is random noise 1408, there is no need to have a modulator array, allowing the generator 1404 to have a small footprint.

無論產生器1404是使用被動光學晶片還是使用具有主動元件的光學晶片來實現,經過訓練的產生器1404都可以產生逼真的影像(例如:類似於癌細胞的真實影像),然後可以將其提供給鑑別器1402,以進一步訓練和改進鑑別器1402。產生器1404具有高流通量並且可以以比使用習知電子資料處理器(例如通用圖形處理單元)快幾個數量級的速率產生合成影像1410。與使用習知電子資料處理器相比,產生器1404具有低功率消耗,可能功率消低了幾個數量級。 Regardless of whether the generator 1404 is implemented using a passive optical chip or an optical chip with active components, the trained generator 1404 can produce realistic images (e.g., similar to real images of cancer cells), which can then be provided to discriminator 1402 to further train and improve the discriminator 1402. Generator 1404 has high throughput and can generate composite images 1410 at rates that are orders of magnitude faster than using conventional electronic data processors (eg, general purpose graphics processing units). The generator 1404 has low power consumption compared to conventional electronic data processors, possibly by several orders of magnitude.

產生器1404具有多種應用。舉例來說,由產生器1404產生的合成影像可以在醫學領域中具有許多應用。產生器 1404可被配置以合成與某些疾病相關的組織的影像,並且合成的影像可以用於訓練鑑別器1402,以識別與疾病相關的組織。舉例來說,由產生器1404產生的合成影像可以在自動駕駛或導航領域中具有許多應用。舉例來說,產生器1404可以被配置以產生各種交通狀況的合成影像,並且合成影像可以用於訓練鑑別器1402,以識別交通狀況。舉例來說,由產生器1404產生的合成影像可以在製造品質控制領域(field of manufacturing quality control)中具有許多應用。舉例來說,產生器1404可以被配置以產生具有缺陷的產品的合成影像,並且合成影像可以用於訓練鑑別器1402以偵測缺陷產品。 Generator 1404 has a variety of applications. For example, the synthesized images produced by generator 1404 may have many applications in the medical field. generator 1404 may be configured to synthesize images of tissue associated with certain diseases, and the synthesized images may be used to train discriminator 1402 to identify tissue associated with the disease. For example, the synthetic image generated by the generator 1404 may have many applications in the field of autonomous driving or navigation. For example, the generator 1404 may be configured to generate synthetic images of various traffic conditions, and the synthetic images may be used to train the discriminator 1402 to identify traffic conditions. For example, the composite image generated by generator 1404 may have many applications in the field of manufacturing quality control. For example, the generator 1404 may be configured to generate synthetic images of defective products, and the synthetic images may be used to train the discriminator 1402 to detect defective products.

在一些實施方式中,光生成對抗網路1400包括相干光源(coherent light source)、用於隨機幅度和相位的輸入的濾波器,其中幅度和相位兩者都遵循已知的分佈。光生成對抗網路1400包括用於快速處理資訊的干涉儀網格(mesh of interferometers)。光生成對抗網路1400可以被設計以具有不需要改變(shuffle)權重的架構,即不對干涉儀進行重新編程。光生成對抗網路1400還可以被設計以包括具有大於1GHz的操作頻率的快速相位移器。舉例來說,它可以具有(i)類比電子領域中的非線性、(ii)簡單的光學非線性、或(iii)數位電子領域中的非線性。 In some embodiments, the light generation adversarial network 1400 includes a coherent light source, a filter for inputs of random amplitude and phase, where both amplitude and phase follow a known distribution. The photogenerated countermeasure network 1400 includes a mesh of interferometers for rapid information processing. The photogenerated countermeasure network 1400 can be designed with an architecture that does not require shuffling the weights, ie, no reprogramming of the interferometer. The optically generated countermeasures network 1400 may also be designed to include fast phase shifters with operating frequencies greater than 1 GHz. For example, it can have (i) nonlinearity in the analog electronics domain, (ii) simple optical nonlinearity, or (iii) nonlinearity in the digital electronics domain.

以下描述了一種新穎的光子電路,其具有互連的馬赫曾德爾干涉儀,並且被配置以實現邏輯閘(logic gate)。參照第 15圖,馬赫曾德爾干涉儀1500包括相位移器1502,其被配置以使得馬赫曾德爾干涉儀1500實現以下旋轉:

Figure 110132252-A0305-02-0174-10
The following describes a novel photonic circuit with interconnected Mach-Zehnder interferometers configured to implement a logic gate. Referring to Figure 15, the Mach-Zehnder interferometer 1500 includes a phase shifter 1502 configured to cause the Mach-Zehnder interferometer 1500 to achieve the following rotation:
Figure 110132252-A0305-02-0174-10

參照第16圖,光子電路1600可以實現XOR閘和OR閘。光子電路1600包括馬赫曾德爾干涉儀1500、偵測器1602以及具有類比電子閾值的比較器1604。當輸入訊號x1和x2被提供給光子電路1600時,馬赫曾德爾干涉儀1500執行以下操作:

Figure 110132252-A0305-02-0174-11
偵測器1602產生表示偵測訊號的絕對值的輸出,因此偵測器1602的輸出為:
Figure 110132252-A0305-02-0174-12
比較器1604的類比電子閾值被偏置(biased)為1/2,以移除1/
Figure 110132252-A0305-02-0174-24
因子,因此比較器1604的輸出是:
Figure 110132252-A0305-02-0174-13
Referring to Figure 16, the photonic circuit 1600 can implement XOR gates and OR gates. Photonic circuit 1600 includes a Mach-Zehnder interferometer 1500, a detector 1602, and a comparator 1604 with analog electronic thresholds. When input signals x 1 and x 2 are provided to photonic circuit 1600, Mach-Zehnder interferometer 1500 performs the following operations:
Figure 110132252-A0305-02-0174-11
Detector 1602 produces an output representing the absolute value of the detection signal, so the output of detector 1602 is:
Figure 110132252-A0305-02-0174-12
The analog electronic threshold of comparator 1604 is biased by 1/2 to remove 1/2
Figure 110132252-A0305-02-0174-24
factor, so the output of comparator 1604 is:
Figure 110132252-A0305-02-0174-13

光子電路1600針對輸入訊號x1、x2的各種組合產生以下結果:0,0 → 0,0 → 0,0 The photonic circuit 1600 produces the following results for various combinations of the input signals x 1 and x 2 : 0,0 → 0,0 → 0,0

0,1 → 1/sqrt(2),1/sqrt(2) → 1,1 0,1 → 1/sqrt(2),1/sqrt(2) → 1,1

1,0 → 1/sqrt(2),1/sqrt(2) → 1,1 1,0 → 1/sqrt(2),1/sqrt(2) → 1,1

1,1 → 0,sqrt(2) → 0,1在上述內容中,第一對數字是輸入訊號、第二對數字是偵測器1602的輸出以及第三對數字是比較器1604的輸出。當輸入(x1,x2)=(0,0)時,馬赫曾德爾干涉儀1500執行乘法,產生結果(0,0),偵測器1602輸出(0,0),並且比較器1604產生結果(0,0)。當輸入(x1,x2)=(0,1)時,馬赫曾德爾干涉儀1500執行乘法,產生結果(-1/

Figure 110132252-A0305-02-0175-25
,1/
Figure 110132252-A0305-02-0175-26
),偵測器1602輸出(1/
Figure 110132252-A0305-02-0175-27
,1/
Figure 110132252-A0305-02-0175-28
),並且比較器1604產生結果(1,1)。當輸入(x1,x2)=(1,0)時,馬赫曾德爾干涉儀1500執行乘法,產生結果(1/
Figure 110132252-A0305-02-0175-29
,1/
Figure 110132252-A0305-02-0175-30
),偵測器1602輸出(1/
Figure 110132252-A0305-02-0175-31
,1/
Figure 110132252-A0305-02-0175-32
),並且比較器1604產生結果(1,1)。當輸入(x1,x2)=(1,1)時,馬赫曾德爾干涉儀1500執行乘法,產生結果(0,
Figure 110132252-A0305-02-0175-33
),偵測器1602輸出(0,
Figure 110132252-A0305-02-0175-34
),並且比較器1604產生結果(0,1)。上述結果指示出偵測器1602在第一輸出1606a產生1/
Figure 110132252-A0305-02-0175-35
.|x1-x2|,並且在第二輸出1606b產生1/
Figure 110132252-A0305-02-0175-36
.|x1+x2|。比較器1604移除1/
Figure 110132252-A0305-02-0175-37
因子以在第一輸出1608a產生XOR(x1,x2)並且在第二輸出1608b產生OR(x1,x2)。 1,1 → 0,sqrt(2) → 0,1 In the above content, the first pair of numbers is the input signal, the second pair of numbers is the output of the detector 1602 and the third pair of numbers is the output of the comparator 1604. When the input (x 1 , x 2 )=(0,0), the Mach-Zehnder interferometer 1500 performs multiplication, producing the result (0,0), the detector 1602 outputs (0,0), and the comparator 1604 produces Result(0,0). When the input (x 1 ,x 2 )=(0,1), the Mach-Zehnder interferometer 1500 performs multiplication, producing the result (-1/
Figure 110132252-A0305-02-0175-25
,1/
Figure 110132252-A0305-02-0175-26
), the detector 1602 outputs (1/
Figure 110132252-A0305-02-0175-27
,1/
Figure 110132252-A0305-02-0175-28
), and comparator 1604 produces the result (1,1). When the input (x 1 ,x 2 )=(1,0), the Mach-Zehnder interferometer 1500 performs multiplication, producing the result (1/
Figure 110132252-A0305-02-0175-29
,1/
Figure 110132252-A0305-02-0175-30
), the detector 1602 outputs (1/
Figure 110132252-A0305-02-0175-31
,1/
Figure 110132252-A0305-02-0175-32
), and comparator 1604 produces the result (1,1). When the input (x 1 ,x 2 )=(1,1), the Mach-Zehnder interferometer 1500 performs multiplication, producing the result (0,
Figure 110132252-A0305-02-0175-33
), the detector 1602 outputs (0,
Figure 110132252-A0305-02-0175-34
), and comparator 1604 produces the result (0,1). The above result indicates that the detector 1602 generates 1/
Figure 110132252-A0305-02-0175-35
. |x 1 -x 2 |, and 1/ is produced at the second output 1606b
Figure 110132252-A0305-02-0175-36
. |x 1 +x 2 |. Comparator 1604 removes 1/
Figure 110132252-A0305-02-0175-37
Factor to produce XOR(x 1 ,x 2 ) at the first output 1608a and OR(x 1 ,x 2 ) at the second output 1608b.

參照第17A圖,光子電路1700可以實現AND閘和OR閘。光子電路1700包括馬赫曾德爾干涉儀1500和偵測器1602,其中偵測器1602的輸出被再循環一次。當輸入訊號x1和x2被提供給光子電路1700時,馬赫曾德爾干涉儀1500和偵測器1602產生輸出:

Figure 110132252-A0305-02-0176-14
偵測器1602的輸出被再循環回到光子電路1700的輸入,並且在訊號第二次通過馬赫曾德爾干涉儀1500和偵測器1602之後,偵測器1602產生最終輸出:
Figure 110132252-A0305-02-0176-15
Referring to Figure 17A, the photonic circuit 1700 can implement AND gates and OR gates. Photonic circuit 1700 includes a Mach-Zehnder interferometer 1500 and a detector 1602, where the output of detector 1602 is recycled once. When input signals x 1 and x 2 are provided to photonic circuit 1700, Mach-Zehnder interferometer 1500 and detector 1602 produce outputs:
Figure 110132252-A0305-02-0176-14
The output of detector 1602 is recycled back to the input of photonic circuit 1700, and after the signal passes a second time through Mach-Zehnder interferometer 1500 and detector 1602, detector 1602 produces the final output:
Figure 110132252-A0305-02-0176-15

光子電路1700針對輸入訊號x1、x2的各種組合產生以下結果:

Figure 110132252-A0305-02-0176-16
在上述內容中,第一對數字是輸入訊號,第二對數字是第一次通過之後偵測器1602的輸出,並且第三對數字是第二次通過之後偵測器1602的輸出。當輸入(x1,x2)=(0,0)時,在第一次通過馬赫曾德爾干涉儀1500之後,偵測器1602輸出(0,0),並且在第二次通過馬赫曾德爾干涉儀1500之後,偵測器1602輸出(0,0)。當輸入(x1,x2)=(0,1)時,在第一次通過馬赫曾德爾干涉儀1500之後,偵測器1602輸出(1/
Figure 110132252-A0305-02-0176-38
,1/
Figure 110132252-A0305-02-0176-39
),並且在第二次通過馬赫曾德爾干涉儀1500之後,偵測器1602輸出(0,1)。當輸入(x1,x2)=(1,0)時,在第一次通過馬赫曾德爾干涉儀1500之後,偵測器1602輸出 (1/
Figure 110132252-A0305-02-0177-40
,1/
Figure 110132252-A0305-02-0177-41
),並且在第二次通過馬赫曾德爾干涉儀1500之後,偵測器1602輸出(0,1)。當輸入(x1,x2)=(1,1)時,在第一次通過馬赫曾德爾干涉儀1500之後,偵測器1602輸出(0,
Figure 110132252-A0305-02-0177-42
),並且在第二次通過馬赫曾德爾干涉儀1500之後,偵測器1602輸出(1,1)。上述結果指示出在兩次通過之後,檢測器1602在第一輸出1704產生表示AND(x1,x2)的訊號,並且在第二輸出1706產生表示OR(x1,x2)的訊號。 The photonic circuit 1700 produces the following results for various combinations of the input signals x 1 and x 2 :
Figure 110132252-A0305-02-0176-16
In the above, the first pair of numbers is the input signal, the second pair of numbers is the output of the detector 1602 after the first pass, and the third pair of numbers is the output of the detector 1602 after the second pass. When the input (x 1 , x 2 )=(0,0), after the first pass through the Mach-Zehnder interferometer 1500, the detector 1602 outputs (0,0), and after the second pass through the Mach-Zehnder interferometer 1500 After interferometer 1500, detector 1602 outputs (0,0). When the input (x 1 ,x 2 )=(0,1), after passing through the Mach-Zehnder interferometer 1500 for the first time, the detector 1602 outputs (1/
Figure 110132252-A0305-02-0176-38
,1/
Figure 110132252-A0305-02-0176-39
), and after the second pass through the Mach-Zehnder interferometer 1500, the detector 1602 outputs (0,1). When the input (x 1 ,x 2 )=(1,0), after passing through the Mach-Zehnder interferometer 1500 for the first time, the detector 1602 outputs (1/
Figure 110132252-A0305-02-0177-40
,1/
Figure 110132252-A0305-02-0177-41
), and after the second pass through the Mach-Zehnder interferometer 1500, the detector 1602 outputs (0,1). When the input (x 1 , x 2 )=(1,1), after the first pass through the Mach-Zehnder interferometer 1500 , the detector 1602 outputs (0,
Figure 110132252-A0305-02-0177-42
), and after the second pass through the Mach-Zehnder interferometer 1500, the detector 1602 outputs (1,1). The above results indicate that after two passes, the detector 1602 generates a signal representing AND(x 1 ,x 2 ) at the first output 1704 and a signal representing OR(x 1 ,x 2 ) at the second output 1706.

第17B圖顯示光子電路1710的另一實施例,其包括第一馬赫曾德爾干涉儀1712、第一偵測器1714、第二馬赫曾德爾干涉儀1716以及第二偵測器1718。第二偵測器1718產生表示AND(x1,x2)的第一輸出1720和表示OR(x1,x2)的第二輸出1722。 Figure 17B shows another embodiment of a photonic circuit 1710 that includes a first Mach-Zehnder interferometer 1712, a first detector 1714, a second Mach-Zehnder interferometer 1716, and a second detector 1718. The second detector 1718 generates a first output 1720 representing AND(x 1 ,x 2 ) and a second output 1722 representing OR(x 1 ,x 2 ).

上面描述了使用包括馬赫曾德爾干涉儀、定向耦合器、平面光波導以及光偵測器的光子電路來實現邏輯閘(例如AND、OR和XOR閘)。邏輯閘可用於產生用來排序演算法的比較器,舉例來說,類似於連結URL<https://en.wikipedia.org/wiki/Bitonic_sorter>中所描述的雙調排序器(Bitonic sorter)的演算法。作為另一實施例,邏輯閘可用於建構類似於SHA-2的雜湊演算法(hashing algorithm),在鏈接URL<https://en.wikipedia.org/wiki/SHA-2>中描述,這是NIST建議的標準並且具有許多應用程式,包括比特幣挖掘和比特幣地址的創建。因為使用上述光子電路所實現的邏輯電路大多是被 動的,所以與CMOS邏輯閘相比,它們可以具有更少的延遲和更低的功率消耗。光學邏輯閘的設計中沒有光學非線性。非線性響應來自使用光偵測器的偵測訊號。 The above describes the use of photonic circuits including Mach-Zehnder interferometers, directional couplers, planar optical waveguides, and photodetectors to implement logic gates (eg, AND, OR, and XOR gates). Logic gates can be used to generate comparators used in sorting algorithms, for example similar to the bitonic sorter described in the link URL <https://en.wikipedia.org/wiki/Bitonic_sorter> algorithm. As another example, logic gates can be used to construct a hashing algorithm similar to SHA-2, described in the link URL <https://en.wikipedia.org/wiki/SHA-2>, which is A standard recommended by NIST and has many applications, including Bitcoin mining and the creation of Bitcoin addresses. Because most of the logic circuits implemented using the above photonic circuits are dynamic, so they can have less latency and lower power consumption than CMOS logic gates. Optical logic gates are designed without optical nonlinearity. The non-linear response comes from the detection signal using a light detector.

非相干或低相干光學計算系統。 Incoherent or low-coherence optical computing systems.

以下描述了在執行矩陣計算時處理非相干或低相干光訊號的光電計算系統。第1圖中的ANN計算系統100的光處理器140包括雷射單元142,其產生具有相同波長且光學相干的N個光輸出。光矩陣乘法單元150在光域中執行N×N矩陣乘法,其中光訊號從OMM單元150的輸入到OMM單元150的輸出保持相干。上面已經描述了OMM單元150在光域中執行矩陣乘法的優點。以下描述了光電計算系統,其不要求光訊號在整個矩陣乘法過程中是相干的,其中計算的一些部分在光域中執行,並且計算的一些部分在電域中執行。光電計算系統的優點已在上面的發明內容中描述。 The following describes an optoelectronic computing system that handles incoherent or low-coherence optical signals when performing matrix calculations. The optical processor 140 of the ANN computing system 100 in Figure 1 includes a laser unit 142 that generates N optical outputs having the same wavelength and being optically coherent. The optical matrix multiplication unit 150 performs N×N matrix multiplication in the optical domain, where the optical signal remains coherent from the input of the OMM unit 150 to the output of the OMM unit 150 . The advantages of the OMM unit 150 performing matrix multiplication in the optical domain have been described above. The following describes an optoelectronic computing system that does not require the optical signal to be coherent throughout the matrix multiplication process, in which some parts of the computation are performed in the optical domain, and some parts of the computation are performed in the electrical domain. The advantages of optoelectronic computing systems have been described in the Summary of the Invention above.

光電計算系統使用不同類型的操作來產生計算結果,每一個操作都是針對操作的基礎物理學(例如:在能量消耗及/或速度上)最適合的訊號(例如:電訊號或光訊號)執行的。舉例來說,可以使用光功率分離來執行複製,可以使用基於電流的求和來執行求和,並且可以使用光幅度調變來執行乘法。可以使用這三種類型的操作所執行的計算的實施例是將向量乘以矩陣(例如:如人工神經網路計算所採用的)。可以使用這些操作來執行各種其他計算,這些操作表示可以執行各種計算的一組通用線性操作,包括: 向量-向量內積、向量-向量元素方面乘法、向量-純量元素方面乘法、或矩陣-矩陣元素方面乘法,但不限於此。 Optoelectronic computing systems use different types of operations to produce computational results. Each operation is performed on a signal (e.g., electrical or optical) that is most suitable for the underlying physics of the operation (e.g., in terms of energy consumption and/or speed). of. For example, replication can be performed using optical power splitting, summation can be performed using current-based summation, and multiplication can be performed using optical amplitude modulation. An example of a calculation that can be performed using these three types of operations is multiplying a vector by a matrix (eg, as used in artificial neural network calculations). A variety of other calculations can be performed using these operations, which represent a general set of linear operations that can perform a variety of calculations, including: Vector-vector inner product, vector-vector element-wise multiplication, vector-scalar element-wise multiplication, or matrix-matrix element-wise multiplication, but is not limited thereto.

參照第18圖,光電計算系統1800的實施例包括提供光訊號的一組光學端口/光源1802A、1802B等。舉例來說,在一些實施例中,光學端口/光源1802A可包括光輸入耦合器,其提供耦接到光路徑1803的光訊號。在其他實施例中,光學端口/光源1802A可包括調變光源,例如雷射(例如:用於相干敏感實施例)或發光二極體(light emitting diode;LED)(例如:用於相干不敏感實施例),其產生耦接到光路徑1803的光訊號。一些實施例可以包括將光訊號耦接到光電計算系統1800中的端口的組合以及在光電計算系統1800內產生光訊號的光源。光訊號可包括已經或正在使用各種形式的調變中的任何一種調變資訊的任何光波。光路徑1803可以基於光波導(例如:嵌入光子積體電路(PIC)或光纖中的波導)的引導模式來定義,或者基於光學端口/光源1802A與光電計算系統1800的另一模組之間的既定自由空間路徑來定義。 Referring to Figure 18, an embodiment of an optoelectronic computing system 1800 includes a set of optical ports/light sources 1802A, 1802B, etc. that provide optical signals. For example, in some embodiments, optical port/light source 1802A may include an optical input coupler that provides optical signals coupled to optical path 1803 . In other embodiments, optical port/light source 1802A may include a modulated light source, such as a laser (e.g., for coherent-sensitive embodiments) or a light emitting diode (LED) (e.g., for coherence-insensitive embodiments). embodiment), which generates an optical signal coupled to optical path 1803. Some embodiments may include a combination of coupling an optical signal to a port in the optoelectronic computing system 1800 and a light source that generates the optical signal within the optoelectronic computing system 1800 . An optical signal may include any light wave that has or is modulating information using any of various forms of modulation. Optical path 1803 may be defined based on the guidance pattern of an optical waveguide (eg, a waveguide embedded in a photonic integrated circuit (PIC) or optical fiber), or based on the relationship between optical port/light source 1802A and another module of optoelectronic computing system 1800 defined by a given free space path.

在一些實施例中,光電計算系統1800被配置以對在藉由光學端口/光源1802A、1802B等所提供的相應光訊號上編碼的輸入值陣列執行計算。舉例來說,對於基於神經網路的各種機器學習應用,計算可以實現向量矩陣乘法(或向量對矩陣乘法(vector-by-matrix multiplication)),其中輸入向量乘以矩陣以產生輸出向量作為結果。光訊號可以表示向量的元素,可能僅包括向量的所選元素的子集。舉例來說,對於一些神經網路模型,在計 算中使用的矩陣的大小可以大於可以加載到執行計算的向量矩陣乘法部分的硬體系統中的矩陣的大小。因此,執行計算的一部分可以涉及將矩陣和向量分成可以分別提供給硬體系統的較小片段(segment)。 In some embodiments, optoelectronic computing system 1800 is configured to perform calculations on arrays of input values encoded on corresponding optical signals provided by optical ports/light sources 1802A, 1802B, etc. For example, for various machine learning applications based on neural networks, the computation can implement vector-matrix multiplication (or vector-by-matrix multiplication), where an input vector is multiplied by a matrix to produce an output vector as the result. An optical signal may represent elements of a vector, possibly including only a selected subset of the vector's elements. For example, for some neural network models, when calculating The size of the matrices used in the calculation can be larger than the size of the matrix that can be loaded into the hardware system that performs the vector-matrix multiplication portion of the calculation. Therefore, performing part of the computation may involve dividing matrices and vectors into smaller segments that can be individually provided to the hardware system.

第18圖中所顯示的模組可以是較大系統的一部分,其對相對較大的矩陣(或子矩陣)執行向量矩陣乘法,例如64×64元素矩陣。但是,出於說明的目的,將在使用2×2元素矩陣執行向量矩陣乘法的示例計算的內容中描述模組。在該示例中引用的模組將包括兩個複製模組1804A和1804B,四個乘法模組1806A、1806B、1806C以及1806D,以及兩個求和模組,其中僅一個求和模組1808在第18圖中顯示。這些模組將使輸入向量

Figure 110132252-A0305-02-0180-17
乘以 矩陣
Figure 110132252-A0305-02-0180-18
以產生輸出向量
Figure 110132252-A0305-02-0180-19
。對於該向量矩陣乘法
Figure 110132252-A0305-02-0180-20
Figure 110132252-A0305-02-0180-21
,輸出向量
Figure 110132252-A0305-02-0180-22
的兩個元素中的每一個可以由不同的等式表示,如下所示。 The module shown in Figure 18 may be part of a larger system that performs vector matrix multiplication on relatively large matrices (or sub-matrices), such as a 64x64 element matrix. However, for illustrative purposes, the module will be described in the context of an example calculation that performs vector-matrix multiplication using a 2×2 element matrix. The modules referenced in this example will include two replication modules 1804A and 1804B, four multiplication modules 1806A, 1806B, 1806C, and 1806D, and two summation modules, only one of which is summation module 1808. 18 is shown in Figure 1. These modules will make the input vector
Figure 110132252-A0305-02-0180-17
multiply matrix
Figure 110132252-A0305-02-0180-18
to produce the output vector
Figure 110132252-A0305-02-0180-19
. For this vector matrix multiplication
Figure 110132252-A0305-02-0180-20
Figure 110132252-A0305-02-0180-21
, the output vector
Figure 110132252-A0305-02-0180-22
Each of the two elements of can be represented by a different equation, as shown below.

y A =M A x A +M B x B y A = M A x A + M B x B

y B =M C x A +M D x B y B = M C x A + M D x B

這些等式可以分解為可以使用一組基本操作在光電計算系統1800中執行的分開的步驟:複製操作、乘法操作以及求和操作。在這些等式中,輸入向量的每個元素出現兩次,因此有兩個複製操作。還有四個乘法操作,並且有兩個求和操作。對於使用較大矩陣實現向量矩陣乘法的系統,執行的操作數量會更大,並且 使用形狀不是方形矩陣的矩陣的每個操作的相應實例數量將不同(即,列數與行數不同)。 These equations can be broken down into separate steps that can be performed in the optoelectronic computing system 1800 using a set of basic operations: copy operations, multiplication operations, and summation operations. In these equations, each element of the input vector appears twice, so there are two copy operations. There are also four multiplication operations, and there are two summation operations. For systems that use larger matrices to implement vector-matrix multiplication, the number of operations performed will be larger, and The corresponding number of instances of each operation using matrices whose shape is not square will be different (i.e. the number of columns will be different than the number of rows).

在此實施例中,藉由複製模組1804A和1804B來執行複制操作。輸入向量x A x B 的元素個別由來自光學端口/光源1802A和1802B的光訊號上所編碼的數值來表示。這些數值中的每一個都用於兩個等式中,因此複製每個數值以將得到的兩個副本提供給不同的相應乘法模組。可以在特定時槽中編碼數值,舉例來說,使用已被調變為具有來自一組多個功率準位的功率的光波,或具有來自一組多個佔空比的佔空比的光波,如下面更詳細的描述。藉由複製在其上編碼數值的光訊號來複製數值。被編碼具有表示元素x A 的數值的光訊號由複製模組1804A複製,並且被編碼具有表示元素x B 的數值的光訊號由複製模組1804B複製。每個複製模組可以使用光功率分離器來實現,例如波導光分離器,其將輸入波導中的引導模式耦接到Y形分離器上的兩個輸出波導中的每一個,Y形分離器逐漸分離功率,或者例如自由空間光束分離器,其使用具有一或多個層的介電界面或薄膜,以個別透射和反射來自輸入光束的兩個輸出光束。 In this embodiment, copying operations are performed by copying modules 1804A and 1804B. The elements of the input vectors x A and x B are respectively represented by values encoded on the optical signals from optical ports/light sources 1802A and 1802B. Each of these values is used in two equations, so copy each value to feed the two resulting copies to different corresponding multiplication modules. A value may be encoded in a specific time slot, for example, using a light wave that has been modulated to have a power from a set of multiple power levels, or a light wave that has a duty cycle from a set of multiple duty cycles, As described in more detail below. The value is copied by copying the light signal on which the value is encoded. The optical signal encoded with a value representative of element x A is replicated by replication module 1804A, and the optical signal encoded with a value representative of element x B is replicated by replication module 1804B. Each replica module can be implemented using an optical power splitter, such as a waveguide optical splitter, which couples the guided mode in the input waveguide to each of the two output waveguides on a Y-splitter. Gradually split power, or, for example, a free-space beam splitter, which uses a dielectric interface or film with one or more layers to individually transmit and reflect the two output beams from the input beam.

在本揭露中,當我們說藉由複製模組1804A來複製被編碼具有表示元素x A 的數值的光訊號時,我們意味著基於輸入訊號來產生表示元素x A 的多個訊號副本,複製模組1804A的輸出訊號不一定具有與輸入訊號相同的幅度。舉例來說,如果複製模組1804A在兩個輸出訊號之間均勻地分離輸入訊號功率,則兩個輸 出訊號中的每一個將具有等於或小於輸入訊號功率的50%的功率。兩個輸出信號是彼此的副本,而複製模組1804A的每個輸出訊號的幅度不同於輸入訊號的幅度。而且,在具有用於複製給定光訊號或光訊號子集的一組多個複製模組的一些實施例中,每個單獨的複製模組不一定在其產生的副本之間均勻地分離功率,但是該組複製模組可以共同地被配置以提供與下游模組(downstream module)(例如:下游乘法模組)的輸入具有大抵相等的功率的副本。 In this disclosure, when we say that a light signal encoded with a value representing element x A is replicated by replication module 1804A, we mean that multiple copies of the signal representing element x A are generated based on the input signal, and the replication module 1804A The output signal of group 1804A does not necessarily have the same amplitude as the input signal. For example, if replica module 1804A splits the input signal power evenly between two output signals, then each of the two output signals will have a power equal to or less than 50% of the input signal power. The two output signals are copies of each other, and the amplitude of each output signal of replica module 1804A is different from the amplitude of the input signal. Furthermore, in some embodiments that have a set of multiple replica modules for replicating a given optical signal or subset of optical signals, each individual replica module does not necessarily split power evenly among the replicas it produces, But the set of replica modules can be collectively configured to provide replicas with approximately equal power as the input of the downstream module (eg, downstream multiplication module).

在此實施例中,乘法操作由四個乘法模組1806A、1806B、1806C以及1806D執行。對於一個光訊號的每個副本,一個乘法模組將光訊號的副本乘以矩陣元素值,這可以使用光幅度調變來執行。舉例來說,乘法模組1806A將輸入向量元素x A 乘以矩陣元素M A 。向量元素x A 的數值可以在光訊號上編碼,並且矩陣元素M A 的數值可以編碼作為光幅度調變器的幅度調變準位(amplitude modulation level)。 In this embodiment, multiplication operations are performed by four multiplication modules 1806A, 1806B, 1806C, and 1806D. For each copy of an optical signal, a multiplication module multiplies the copy of the optical signal by the matrix element value, which can be performed using optical amplitude modulation. For example, multiplication module 1806A multiplies the input vector element x A by the matrix element M A . The value of the vector element x A can be encoded on the optical signal, and the value of the matrix element M A can be encoded as the amplitude modulation level of the optical amplitude modulator.

被編碼具有向量元素x A 的光訊號可以使用不同形式的幅度調變來編碼。光信號的幅度可以對應特定時槽內的物理光波的特定瞬時功率準位P A ,或者可以對應特定時槽上的物理光波的特定能量E A (隨著時間的推移積分的功率(the power integrated over time)產生總能量)。舉例來說,可以調變雷射源的功率以具有來既定的一組多個功率準位的特定功率準位。在一些實施例中,在優化的操作點附近操作電子電路可能是有用的,因此代替在許多 可能的功率準位上改變功率,使用優化的“開啟(on)”功率準位和訊號,其中訊號被調變為對於時槽的特定部分是“開啟(on)”和“關閉(off)”(在零功率下)。功率在“開啟(on)”準位的時間部分對應特定能量準位。可以將功率或能量的這些特定數值中的任何一個映射到元素x A 的特定數值(使用線性或非線性映射關係)。在訊號處在電域中之後,產生特定總能量準位的隨著時間的實際積分(actual integration over time)可以在光電計算系統1800的下游發生,如下面更詳細的描述。 An optical signal encoded with a vector element x A can be encoded using different forms of amplitude modulation. The amplitude of the optical signal may correspond to a specific instantaneous power level P A of the physical light wave in a specific time slot, or may correspond to a specific energy E A (the power integrated over time) of the physical light wave on a specific time slot. over time) generates total energy). For example, the power of the laser source may be modulated to have a specific power level from a predetermined set of multiple power levels. In some embodiments, it may be useful to operate an electronic circuit near an optimized operating point, so instead of varying the power at many possible power levels, an optimized "on" power level and a signal are used, where the signal are tuned to be "on" and "off" (at zero power) for specific parts of the time slot. The portion of time the power is at the "on" level corresponds to a specific energy level. Any of these specific values of power or energy can be mapped to a specific value of element x A (using a linear or non-linear mapping relationship). After the signal is in the electrical domain, actual integration over time to produce a specific total energy level can occur downstream of the optoelectronic computing system 1800, as described in greater detail below.

另外,術語“幅度”可以指由光波中的瞬時或積分功率表示的訊號的幅度,或者也可以等效地指光波的“電磁場幅度”。這是因為電磁場幅度與訊號幅度具有定義良好的關係(例如:藉由在引導模式或自由空間光束的橫向尺寸上積分電磁場強度(與電磁場幅度的平方成比例)以產生瞬時功率。)。這導致調變值之間的關係,因為藉由特定值

Figure 110132252-A0305-02-0183-42
調變電磁場幅度的調變器也可以被認為是藉由對應的數值M調變基於功率的訊號幅度(因為光功率與電磁場幅度的平方成比例)。 Additionally, the term "amplitude" may refer to the amplitude of a signal represented by the instantaneous or integrated power in a light wave, or equivalently may refer to the "electromagnetic field amplitude" of the light wave. This is because the electromagnetic field amplitude has a well-defined relationship with the signal amplitude (e.g., instantaneous power is generated by integrating the electromagnetic field intensity (proportional to the square of the electromagnetic field amplitude) over the lateral dimension of a guided mode or free space beam). This results in a relationship between modulation values, because by a specific value
Figure 110132252-A0305-02-0183-42
A modulator that modulates the amplitude of an electromagnetic field can also be thought of as modulating the power-based signal amplitude by a corresponding value M (since optical power is proportional to the square of the electromagnetic field amplitude).

藉由乘法模組用來編碼矩陣元素M A 的光幅度調變器可以藉由使用各種物理相互作用中的任何一種來改變光訊號的幅度(即光訊號中的功率)來操作。舉例來說,調變器可包括環形共振器、電吸收調變器、熱電光調變器(thermal electro-optical modulator)或馬赫曾德爾干涉(MZI)調變器。在一些技術中,一部分功率被吸收作為物理相互作用的一部分,並且在其他技術中, 使用物理相互作用來轉移功率,物理相互作用修改光波的另一特性而不是其功率,例如其偏振或相位,或者修改不同光學結構之間的光功率的耦合(例如:使用可調共振器)。對於使用已經在不同路徑上行進的光波之間的干涉(例如,破壞性及/或建設性干涉)來進行操作的光幅度調變器,可以使用相干光源(例如雷射)。對於使用吸收來操作的光幅度調變器,可以使用相干或非相干或低相干中任一的光源,例如LED。 Optical amplitude modulators used to encode matrix elements MA by multiplication modules can operate by changing the amplitude of the optical signal (i.e., the power in the optical signal) using any of a variety of physical interactions. For example, the modulator may include a ring resonator, an electroabsorption modulator, a thermal electro-optical modulator, or a Mach-Zehnder interference (MZI) modulator. In some technologies, a portion of the power is absorbed as part of a physical interaction, and in other technologies, power is transferred using physical interactions that modify another property of the light wave than its power, such as its polarization or phase, Or modify the coupling of optical power between different optical structures (e.g. using tunable resonators). For optical amplitude modulators that operate using interference (eg, destructive and/or constructive interference) between light waves that have traveled on different paths, a coherent light source (eg, a laser) may be used. For light amplitude modulators that operate using absorption, either coherent or incoherent or low-coherence light sources may be used, such as LEDs.

在波導1×2光幅度調變器的一個實施例中,相位調變器被用以藉由將相位調變器放置在調變器的多個波導之一中來調變光波中的功率。舉例來說,波導1×2光幅度調變器可以將由輸入光波導引導的光波分成第一臂和第二臂。第一臂包括相位移器,其相對於第二臂的相位延遲賦予相應相移。接著調變器組合來自第一臂和第二臂的光波。在一些實施例中,相位延遲的不同數值透過建設性干涉或破壞性干涉在輸入光波導所引導的光波中提供給功率乘以0到1之間的數值。在一些實施例中,第一臂和第二臂組合成兩個輸出波導中的每一個,並且由接收來自兩個輸出波導的光波的相應光電探測器所產生的光電流之間的差異提供有號的乘法結果(例如,乘以-1到1之間的數值),如下面更詳細的描述。藉由適當選擇編碼光訊號的幅度縮放,矩陣元素值的範圍可以映射到正值(0到M)或有號值(-M到M)的任意範圍。 In one embodiment of a waveguide 1x2 optical amplitude modulator, a phase modulator is used to modulate power in an optical wave by placing the phase modulator in one of the plurality of waveguides of the modulator. For example, a waveguide 1x2 optical amplitude modulator may split light waves guided by an input optical waveguide into a first arm and a second arm. The first arm includes a phase shifter which imparts a corresponding phase shift relative to the phase delay of the second arm. The modulator then combines the light waves from the first and second arms. In some embodiments, different values of phase retardation are provided in light waves guided by the input optical waveguide through constructive interference or destructive interference to multiply the power by a value between 0 and 1. In some embodiments, the first arm and the second arm are combined into each of the two output waveguides, and the difference between the photocurrents generated by respective photodetectors receiving light waves from the two output waveguides is provided by The result of multiplying a number (e.g., by a number between -1 and 1), as described in more detail below. By appropriately choosing the amplitude scaling of the encoded optical signal, the range of matrix element values can be mapped to any range of positive values (0 to M) or signed values (-M to M).

在此實施例中,求和操作由兩個求和模組執行,其中求和模組1808(如第18圖所示)用於在用來計算輸出向量元素y B 的等式中執行求和。對應的求和模組(未顯示)用於在用來計算輸出向量元素y A 的等式中執行求和。求和模組1808產生電訊號,電訊號表示兩個乘法模組1806C和1806D的結果之總和。在此實施例中,電訊號是電流i sum 的形式,其個別與由乘法模組1806C和1806D所產生的輸出光訊號中的功率之總和成比例。在一些實施例中,產生此電流i sum 的求和操作在光電域中執行,並且在其他實施例中在電域中執行。或者,一些實施例可以使用用於一些求和模組的光電域求和和使用用於其他求和模組的電域求和。 In this embodiment, the summation operation is performed by two summation modules, where summation module 1808 (shown in Figure 18) is used to perform the summation in the equation used to calculate the output vector element y B . The corresponding summation module (not shown) is used to perform the summation in the equation used to calculate the output vector element y A . The summation module 1808 generates an electrical signal that represents the sum of the results of the two multiplication modules 1806C and 1806D. In this embodiment, the electrical signals are in the form of current isum , each of which is proportional to the sum of the powers in the output optical signals generated by multiplication modules 1806C and 1806D. The summation operation that produces this current i sum is performed in the optoelectronic domain in some embodiments, and in the electrical domain in other embodiments. Alternatively, some embodiments may use optoelectronic domain summing for some summing modules and electrical domain summing for other summing modules.

在電域中執行求和的實施例中,求和模組1808可以使用以下來實現:(1)兩個或多個輸入導體,每個輸入導體承載輸入電流,其輸出電流的幅度表示乘法模組之一者的結果,以及(2)至少一個輸出導體,其承載作為輸入電流之總和的電流。舉例來說,如果導體是在接點相遇的導線,則會發生這種情況。舉例來說(不受理論束縛),基於克希荷夫電流定律(Kirchhoff’s current law),該定律表明流入接點的電流等於流出接點的電流。對於這些實施例,提供給求和模組1808的訊號1810A和1810B是輸入電流,其可以由光偵測器產生,光偵測器是乘法模組的一部分,乘法模組產生相應的光電流,其幅度與接收的光訊號中的功率成比例。求和模組1808接著提供輸出電流i sum 。接著可以使用輸出電流的瞬時值(instantaneous value)或輸出電流的積分值(integrated value)來表示總和的定量值(quantitative value)。 In embodiments where the summation is performed in the electrical domain, the summation module 1808 may be implemented using: (1) Two or more input conductors, each carrying the input current and the magnitude of its output current representing the multiplication module The result of one of the group, and (2) at least one output conductor carrying a current that is the sum of the input currents. This would occur, for example, if the conductors were wires that met at a junction. For example (without being bound by theory), based on Kirchhoff's current law, which states that the current flowing into a contact is equal to the current flowing out of the contact. For these embodiments, signals 1810A and 1810B provided to summing module 1808 are input currents that may be generated by a photodetector that is part of a multiplication module that generates a corresponding photocurrent, Its amplitude is proportional to the power in the received optical signal. The summation module 1808 then provides the output current i sum . The instantaneous value of the output current or the integrated value of the output current can then be used to represent the quantitative value of the sum.

在光電域中執行求和的實施例中,求和模組1808可以使用光偵測器(例如:光二極體)來實現,光偵測器接收由不同相應乘法模組產生的光訊號。對於這些實施例,提供給求和模組1808的訊號1810A和1810B是輸入光訊號,每個輸入光訊號包括光波,其功率代表乘法模組之一者的結果。在此實施例中的輸出電流i sum 是由光偵測器產生的光電流。由於光波的波長是不同的(例如:足夠不同使得它們之間不發生顯著的建設性干涉或破壞性干涉),光電流將與接收的光訊號的功率之總和成比例。光電流也大抵等於各個電流的總和,各個電流將導致由分開的等效光偵測器所偵測到的個別偵測光功率。光波的波長是不同的,但足夠接近以使光偵測器具有大抵相同的響應(例如:光偵測器的大抵平坦的偵測帶寬內的波長)。如上面所述,使用電流求和的在電域中的求和可以藉由避免對多個波長的需要來實現更簡單的系統架構。 In embodiments where the summation is performed in the optoelectronic domain, the summation module 1808 can be implemented using a photodetector (eg, a photodiode) that receives optical signals generated by different corresponding multiplication modules. For these embodiments, signals 1810A and 1810B provided to summation module 1808 are input optical signals, each input optical signal including a light wave whose power represents the result of one of the multiplication modules. The output current isum in this embodiment is the photocurrent generated by the photodetector. Because the wavelengths of the light waves are different (i.e., different enough so that no significant constructive or destructive interference occurs between them), the photocurrent will be proportional to the sum of the powers of the received optical signals. The photocurrent is also approximately equal to the sum of the individual currents that will result in individual detection optical powers detected by separate equivalent photodetectors. The wavelengths of the light waves are different, but close enough that the light detectors have approximately the same response (eg, wavelengths within the approximately flat detection bandwidth of the light detector). As discussed above, summation in the electrical domain using current summation enables simpler system architectures by avoiding the need for multiple wavelengths.

第19A圖顯示了用於使用2×2元素矩陣執行向量矩陣乘法的系統的實現的系統配置1900的實施例,其中在電域中執行求和操作。在此實施例中,輸入向量是

Figure 110132252-A0305-02-0186-22
,並且矩陣是
Figure 110132252-A0305-02-0186-23
Figure 110132252-A0305-02-0186-24
。輸入向量的每個元素在不同的光訊號上編碼。兩個不同的複製模組1902執行光複製操作以在不同的路徑(例如:“上”路徑和“下”路徑)上分離計算。存在四個乘法模組1904,每個乘法模組1904使用光幅度調變乘以不同的矩陣元素。在每個乘法模組1904的輸出,存在光偵測模組1906,其將光訊號轉換為電流形式的電訊號。使用求和模組1908將不同輸入向量元素的兩個上路 徑組合,並且使用求和模組1908將不同輸入向量元素的兩個下路徑組合,求和模組1908在電域中執行求和。因此,輸出向量的每個元素都在不同的電訊號上編碼。如第19A圖所示,隨著計算的進行,遞增地產生輸出向量的每個分量,以個別地產生上路徑和下路徑的以下結果。 Figure 19A shows an embodiment of a system configuration 1900 for an implementation of a system that performs vector matrix multiplication using a 2x2 element matrix, where the summation operation is performed in the electrical domain. In this example, the input vector is
Figure 110132252-A0305-02-0186-22
, and the matrix is
Figure 110132252-A0305-02-0186-23
Figure 110132252-A0305-02-0186-24
. Each element of the input vector is encoded on a different optical signal. Two different replication modules 1902 perform optical replication operations to separate computations on different paths (eg, "upper" path and "lower" path). There are four multiplying modules 1904, each multiplying a different matrix element using optical amplitude modulation. At the output of each multiplication module 1904, there is a light detection module 1906, which converts the optical signal into an electrical signal in the form of a current. The two upper paths of different input vector elements are combined using summation module 1908, and the two lower paths of different input vector elements are combined using summation module 1908, which performs the summation in the electrical domain. Therefore, each element of the output vector is encoded on a different electrical signal. As shown in Figure 19A, as the calculation proceeds, each component of the output vector is generated incrementally to produce the following results for the upper path and the lower path individually.

M 11 v 1+M 12 v 2 M 11 v 1 + M 12 v 2

M 21 v 1+M 22 v 2 M 21 v 1 + M 22 v 2

可以使用各種光電技術中的任何一種來實現系統配置1900。在一些實施例中,存在共同基板(例如:半導體(例如矽)),其可以支持積體光學部件和電子部件。光路徑可以在波導結構中實現,波導結構具有由具有較低光學指數(optical index)的材料圍繞的具有較高光學指數的材料,該材料定義用於傳播承載了光訊號的光波的波導。電路徑可以由導電材料實現,用於傳播承載了電訊號的電流。(在第19A圖至第20A圖、第21A圖至第24E圖中,除非另外說明,表示路徑的線的厚度用於區分光路徑(由較粗的線表示)和電路徑(由較細的線或虛線表示)。)可以在公共基板上製造光學裝置(例如分離器和光幅度調變器),以及電子裝置(例如光偵測器和運算放大器(operational amplifier;op-amp))。或者,可以使用具有不同基板的不同裝置來實現系統的不同部分,並且那些裝置可以透過通訊通道進行通訊。舉例來說,光纖可用於提供通訊通道,以在用於實現整個系統的多個裝置之間發送光訊號。那些光訊號可以表示當執行向量矩陣乘法時所提供的輸入向量的不 同子集,及/或當執行向量矩陣乘法時所計算的中間結果的不同子集,如下面更詳細的描述。 System configuration 1900 may be implemented using any of a variety of optoelectronic technologies. In some embodiments, there is a common substrate (eg, a semiconductor (eg, silicon)) that can support integrated optical and electronic components. The optical path may be implemented in a waveguide structure having a material with a higher optical index surrounded by a material with a lower optical index that defines a waveguide for propagating light waves carrying the optical signal. Electrical paths can be made of conductive materials and are used to propagate the current carrying the electrical signal. (In Figures 19A to 20A and 21A to 24E, unless otherwise stated, the thickness of the lines representing paths is used to distinguish between optical paths (represented by thicker lines) and electrical paths (represented by thinner lines). Indicated by lines or dashed lines).) Optical devices, such as splitters and optical amplitude modulators, and electronic devices, such as photodetectors and operational amplifiers (op-amps), can be fabricated on a common substrate. Alternatively, different devices with different substrates can be used to implement different parts of the system, and those devices can communicate over communication channels. For example, fiber optics can be used to provide communication channels to send optical signals between multiple devices used to implement the overall system. Those optical signals can represent the different input vectors provided when performing vector matrix multiplication. The same subset, and/or a different subset of the intermediate results computed when performing vector matrix multiplication, as described in more detail below.

在本揭露中,圖式可顯示穿過電訊號線的光波導,應理解光波導不與電訊號線相交。電訊號線和光波導可以設置在裝置的不同層。 In the present disclosure, the drawings may show optical waveguides passing through the electrical signal lines, and it should be understood that the optical waveguides do not intersect the electrical signal lines. Electrical signal lines and optical waveguides can be placed on different layers of the device.

第19B圖顯示了用於使用2×2元素矩陣執行向量矩陣乘法的系統的實現的系統配置1920的實施例,其中在光電域中執行求和操作。在此實施例中,使用兩個不同的相應波長λ1和λ2將不同的輸入向量元素編碼在光訊號上。而且,乘法模組1904的光輸出訊號被組合在光組合器模組1910中,使得光波導將兩個波長上的兩個光訊號引導到每個光電求和模組1912,這可以使用光偵測器來實現,如用於第19A圖的實施例中的光偵測模組1906。但是,在這個實施例中,總和由表示兩個波長的功率的光電流表示,而不是由離開不同導體之間的接點的電流表示。 Figure 19B shows an embodiment of a system configuration 1920 for an implementation of a system that performs vector matrix multiplication using a 2×2 element matrix, where the summation operation is performed in the optoelectronic domain. In this embodiment, different input vector elements are encoded on the optical signal using two different corresponding wavelengths λ 1 and λ 2 . Furthermore, the optical output signals of the multiplication module 1904 are combined in the optical combiner module 1910 so that the optical waveguide guides the two optical signals at two wavelengths to each optoelectronic summing module 1912, which can use optical detection It is implemented with a detector, such as the light detection module 1906 used in the embodiment of Figure 19A. However, in this embodiment, the sum is represented by the photocurrent representing the power of the two wavelengths, rather than by the current leaving the junction between different conductors.

在本揭露中,當圖式顯示兩個彼此交叉的光波導時,從描述中將清楚兩個光波導是否實際上彼此光學耦合。舉例來說,從裝置的俯視圖顯示的彼此交叉的兩個波導可以在不同的層中實現,並因此不相互交叉。舉例來說,提供光訊號λ2作為輸入到複製模組1902的光路徑和從乘法模組1904提供光訊號M11V1到光組合器模組1910的光路徑彼此不是光學耦合的,儘管在圖式中它們可能看起來互相交叉。相似地,從複製模組1902提供光訊號λ2到乘法模組1904的光路徑和從乘法模組1904提供光信號M21V1到光 組合器模組1910的光路徑彼此不是光學耦合的,儘管在圖式中它們可能看起來互相交叉。 In the present disclosure, when a drawing shows two optical waveguides crossing each other, it will be clear from the description whether the two optical waveguides are actually optically coupled to each other. For example, two waveguides crossing each other shown from a top view of the device may be implemented in different layers and therefore do not cross each other. For example, the optical path providing optical signal λ 2 as input to replication module 1902 and the optical path providing optical signal M 11 V 1 from multiplication module 1904 to optical combiner module 1910 are not optically coupled to each other, although They may appear to cross each other in the diagram. Similarly, the optical path providing the optical signal λ 2 from the replica module 1902 to the multiplication module 1904 and the optical path providing the optical signal M 21 V 1 from the multiplication module 1904 to the optical combiner module 1910 are not optically coupled to each other, Although in the diagram they may appear to cross each other.

可以擴展第19A圖和第19B圖中所示的系統配置以實現用於使用m×n元素矩陣執行向量矩陣乘法的系統配置。在此實施中,輸入向量是

Figure 110132252-A0305-02-0189-25
,並且矩陣是
Figure 110132252-A0305-02-0189-27
。舉例來說,輸入向量元素v 1 v n n個波導提供,並且每個輸入向量元素由一或多個複製模組處理,以將m個副本的輸入向量元素提供至m個相應路徑。存在m×n個乘法模組,每個乘法模組使用光幅度調變乘以不同的矩陣元素以產生表示M ij v j (i=1...m,j=1...n)的電訊號或光訊號。使用第i個求和模組(i=1...m)組合表示M ij v j (j=1...n)的訊號,以個別產生m個路徑的以下結果。 The system configuration shown in Figures 19A and 19B can be extended to implement a system configuration for performing vector matrix multiplication using an m×n element matrix. In this implementation, the input vector is
Figure 110132252-A0305-02-0189-25
, and the matrix is
Figure 110132252-A0305-02-0189-27
. For example, input vector elements v 1 to v n are provided by n waveguides, and each input vector element is processed by one or more replication modules to provide m copies of the input vector element to m corresponding paths. There are m × n multiplication modules, and each multiplication module uses optical amplitude modulation to multiply different matrix elements to generate the representation M ij . v j ( i =1... m, j =1... n ) electrical or optical signal. Use the i-th summation module ( i =1... m ) combination to represent M ij . The signals of v j ( j =1... n ) can produce the following results of m paths individually.

M 11 v 1+M 12 v 2+…+M 1n v n M 11 v 1 + M 12 v 2 +…+ M 1 n v n

M 21 v 1+M 22 v 2+…+M 2n v n M 21 v 1 + M 22 v 2 +…+ M 2 n v n

... ...

M m1 v 1+M m2 v 2+…+M mn v n M m 1 v 1 + M m 2 v 2 +…+ M mn v n

由於光幅度調變能夠將光訊號中的功率從其全值(full value)降低到較低值,降低到零(或接近零)功率,因此可以實現0到1之間的任何數值的乘法。然而,一些計算可能要求乘以大於1的數值及/或乘以有號(正或負)值。首先,為了將範圍擴展至0到Mmax(where Mmax>1),光訊號的原始調變可包括原始向量元素幅度的顯性(explicit)或隱性(implicit)縮放Mmax(或等效地,藉由1/Mmax縮放映射到線性映射中特定向量元素幅度的數值)使得矩陣 元素幅度的範圍0到1在計算中定量地對應範圍0到Mmax。第二,為了將矩陣元素值的正範圍0到Mmax擴展到有號範圍-Mmax到Mmax,可以使用對稱差分配置,如下面更詳細的描述。相似地,對稱差分配置也可用於將在各種訊號上編碼的數值的正範圍擴展到有號範圍的數值。 Since optical amplitude modulation can reduce the power in an optical signal from its full value to a lower value, to zero (or close to zero) power, multiplication of any value between 0 and 1 can be achieved. However, some calculations may require multiplication by values greater than 1 and/or multiplication by signed (positive or negative) values. First, in order to extend the range from 0 to M max (where M max >1), the original modulation of the optical signal may include an explicit or implicit scaling of the original vector element amplitude M max (or equivalent Ground, by 1/M max scaling (the value mapped to the amplitude of a specific vector element in the linear map) so that the range of matrix element amplitudes 0 to 1 quantitatively corresponds to the range 0 to M max in the calculation. Second, to extend the positive range 0 to M max of matrix element values to the signed range -M max to M max , a symmetric differential configuration can be used, as described in more detail below. Similarly, symmetric differential configurations can also be used to extend the positive range of values encoded on various signals to the signed range of values.

第20A圖顯示了對稱差分配置2000的實施例,其用於為在光訊號上編碼的數值提供有號範圍的數值。在此實施例中,存在兩個相關的光訊號,被編碼為無號值(unsigned value),指定為

Figure 110132252-A0305-02-0190-43
Figure 110132252-A0305-02-0190-44
,其中假設每個數值在0(例如:對應接近零的光功率)與Vmax(例如:對應最大功率準位的光功率)之間變化。兩個光訊號之間的關係是,當一個光訊號用“主要(main)”值
Figure 110132252-A0305-02-0190-45
編碼時,另一個光訊號用對應的“反對稱(anti-symmetric)”值
Figure 110132252-A0305-02-0190-53
編碼,使得當在一個光訊號上編碼的主要值
Figure 110132252-A0305-02-0190-47
從0單調增加(monotonically increase)到Vmax時,在配對光訊號上編碼的反對稱值
Figure 110132252-A0305-02-0190-48
從Vmax單調減少(monotonically decrease)到0。或者,相反地,當在一個光信號上編碼的主要值
Figure 110132252-A0305-02-0190-49
從Vmax單調減少到0時,在配對光訊號上編碼的反對稱值
Figure 110132252-A0305-02-0190-50
從0單調增加到Vmax。在上路徑和下路徑中的光訊號被相應光偵測模組1906轉換為電流訊號之後,電流訊號之間的差異可以由電流減法模組(current subtraction module)2002產生。編碼
Figure 110132252-A0305-02-0190-51
Figure 110132252-A0305-02-0190-52
的當前訊號之間的差異導致用有號值V1編碼的電流,給定為:
Figure 110132252-A0305-02-0190-28
其中有號值V1在-Vmax與Vmax之間單調增加,因為無號主要值
Figure 110132252-A0305-02-0191-54
從0單調增加到Vmax並且與其成對的反對稱值
Figure 110132252-A0305-02-0191-55
從Vmax單調減少到0。存在可用於實現第20圖A的對稱差分配置的各種技術,如第20B圖和第20C圖所示。 Figure 20A shows an embodiment of a symmetric differential configuration 2000 for providing a signed range of values for values encoded on an optical signal. In this embodiment, there are two related optical signals, encoded as unsigned values, designated as
Figure 110132252-A0305-02-0190-43
and
Figure 110132252-A0305-02-0190-44
, where each value is assumed to vary between 0 (eg, corresponding to optical power close to zero) and V max (eg, corresponding to optical power at the maximum power level). The relationship between two optical signals is that when an optical signal uses the "main" value
Figure 110132252-A0305-02-0190-45
When encoding, another optical signal uses the corresponding "anti-symmetric" value
Figure 110132252-A0305-02-0190-53
Encoding such that when encoding the primary value on an optical signal
Figure 110132252-A0305-02-0190-47
The antisymmetric value encoded in the paired optical signal as it monotonically increases from 0 to V max
Figure 110132252-A0305-02-0190-48
Monotonically decreases from V max to 0. Or, conversely, when the primary value encoded on an optical signal
Figure 110132252-A0305-02-0190-49
The antisymmetric value encoded in the paired optical signal as V max decreases monotonically from V max to 0
Figure 110132252-A0305-02-0190-50
Monotonically increases from 0 to V max . After the optical signals in the upper path and the lower path are converted into current signals by the corresponding light detection modules 1906, the difference between the current signals can be generated by the current subtraction module 2002. encoding
Figure 110132252-A0305-02-0190-51
and
Figure 110132252-A0305-02-0190-52
The difference between the current signals results in a current encoded with signed value V, given by:
Figure 110132252-A0305-02-0190-28
where the signed value V 1 increases monotonically between -V max and V max , because the unsigned main value
Figure 110132252-A0305-02-0191-54
Antisymmetric value that increases monotonically from 0 to V max and is paired with it
Figure 110132252-A0305-02-0191-55
Decreases monotonically from V max to 0. There are various techniques that can be used to implement the symmetric differential configuration of Figure 20A, as shown in Figures 20B and 20C.

在第20B圖中,在公共端配置(common-terminal configuration)中偵測光訊號,其中兩個光二極體偵測器連接至運算放大器2030的公共端2032(例如:反相端(inverting terminal))。在此配置中,從第一光二極體偵測器2012產生的電流2010和從第二光二極體偵測器2016產生的電流2014在三個導體之間的接點2018組合,以產生電流2010與電流2014之間的差值電流2020。電流2010和電流2014是從相應光二極體的相對側提供的,光二極體在另一端連接到電壓源(未顯示),提供相同幅度Vbias但具有相反符號的偏壓,如第20B圖所示。在此配置中,由於在公共接點2018相遇的電流的行為而產生差異。差值電流2020表示在電訊號上編碼的有號值,其電訊號對應在偵測的光訊號上編碼的無號值之間的差值。運算放大器2030可以配置成轉阻放大器(transimpedance amplifier;TIA)配置,其中另一個端子2024接地,並且輸出端2026使用電阻元件2028反饋到公共端2032,電阻元件2028提供與差值電流2020成比例的電壓。這種TIA配置將提供結果值作為電壓訊號形式的電訊號。 In Figure 20B, an optical signal is detected in a common-terminal configuration, where two photodiode detectors are connected to the common terminal 2032 (eg, inverting terminal) of the operational amplifier 2030 ). In this configuration, current 2010 generated from the first photodiode detector 2012 and current 2014 generated from the second photodiode detector 2016 combine at the junction 2018 between the three conductors to produce current 2010 The difference between current 2014 and current 2020. Current 2010 and current 2014 are supplied from opposite sides of corresponding photodiodes, which are connected at the other end to a voltage source (not shown) providing a bias voltage of the same magnitude V bias but with opposite sign, as shown in Figure 20B Show. In this configuration, the difference occurs due to the behavior of the currents meeting at common junction 2018. The difference current 2020 represents the difference between the signaled value encoded in the electrical signal and the electrical signal corresponding to the unsigned value encoded in the detected optical signal. The op amp 2030 may be configured in a transimpedance amplifier (TIA) configuration in which the other terminal 2024 is connected to ground and the output 2026 is fed back to the common 2032 using a resistive element 2028 that provides a current proportional to the difference current 2020 voltage. This TIA configuration will provide the resulting value as an electrical signal in the form of a voltage signal.

在第20C圖中,光訊號在差分端子配置中偵測,其中兩個光二極體偵測器連接到運算放大器2050的不同端子。在此 配置中,從第一光二極體偵測器2042產生的電流2040連接到反相端2052,並且從第二光二極體偵測器2046產生的電流2044連接到非反相端2054。電流2040和2044從相應光二極體的相同端提供,光二極體在另一端連接到電壓源(未顯示),提供相同幅度Vbias和相同符號的偏壓,如第20C圖所示。在此配置中的運算放大器2050的輸出端2056提供與電流2040和電流2044之間的差值成比例的電流。在此配置中,由於運算放大器2050的電路的行為而產生差異。從輸出端2056流出的差值電流表示在電訊號上編碼的有號值,其電訊號對應在偵測的光訊號上編碼的無號值之間的差值。 In Figure 20C, the optical signal is detected in a differential terminal configuration, where two photodiode detectors are connected to different terminals of operational amplifier 2050. In this configuration, current 2040 generated from the first photodiode detector 2042 is connected to the inverting terminal 2052, and current 2044 generated from the second photodiode detector 2046 is connected to the non-inverting terminal 2054. Currents 2040 and 2044 are supplied from the same ends of corresponding photodiodes, which are connected at the other end to a voltage source (not shown) providing the same magnitude V bias and the same sign of the bias voltage, as shown in Figure 20C. The output 2056 of the operational amplifier 2050 in this configuration provides a current proportional to the difference between the current 2040 and the current 2044. In this configuration, differences occur due to the behavior of the circuitry of op amp 2050. The difference current flowing out of output 2056 represents the difference between the signaled value encoded in the electrical signal and the electrical signal corresponding to the unsigned value encoded in the detected optical signal.

第21A圖顯示了對稱差分配置2100的實施例,其用於為被編碼以實現乘法模組1904的光幅度調變器的調變準位的數值提供有號範圍的數值。在此實施例中,存在兩個相關的調變器,被配置以藉由被指定為

Figure 110132252-A0305-02-0192-90
Figure 110132252-A0305-02-0192-59
的無號值來進行調變,其中假設每個數值在0(例如:對應被調變降低至接近零的光功率)與Mmax(例如:對應保持在最大功率準位附近的光功率)之間變化。兩個調變準位之間的關係是,當一個調變準位被配置在“主要”值
Figure 110132252-A0305-02-0192-66
時,另一個調變準位被配置在對應的“反對稱”值
Figure 110132252-A0305-02-0192-61
,使得當一個調變器的主要值
Figure 110132252-A0305-02-0192-62
從0單調增加到Mmax時,另一個調變器的反對稱值
Figure 110132252-A0305-02-0192-67
從Mmax單調減少到0。或者,相反地,當一個調變器的主要值
Figure 110132252-A0305-02-0192-64
從Mmax單調減少到0時,另一個調變器的反對稱值
Figure 110132252-A0305-02-0192-65
從0單調增加到Mmax。在複製模組1902複製編碼了數值V的輸入光訊號之後,每個調變器將調變的輸出光訊號提供給對應的光偵測模組1906。 在上路徑中的乘法模組1904包括與
Figure 110132252-A0305-02-0193-69
相乘的調變器,並且提供以數值
Figure 110132252-A0305-02-0193-68
V編碼的光訊號。在下路徑中的乘法模組1904包括與
Figure 110132252-A0305-02-0193-70
相乘的調變器,並且提供以數值
Figure 110132252-A0305-02-0193-71
V編碼的光訊號。在光訊號被相應光偵測模組1906轉換為電流訊號之後,它們之間的差異可以由電流減法模組2102產生。編碼
Figure 110132252-A0305-02-0193-72
V和
Figure 110132252-A0305-02-0193-73
V的電流訊號之間的差異導致用V編碼的電流乘以有號值M11,給定為:
Figure 110132252-A0305-02-0193-29
其中有號值M11在-Mmax與Mmax之間單調增加,因為無號主要值
Figure 110132252-A0305-02-0193-74
從0單調增加到Mmax並且與其成對的反對稱值
Figure 110132252-A0305-02-0193-75
從Mmax單調減少到0。 Figure 21A shows an embodiment of a symmetric differential configuration 2100 for providing a signed range of values for the values encoded to implement the modulation level of the optical amplitude modulator of the multiplication module 1904. In this embodiment, there are two related modulators, configured to be
Figure 110132252-A0305-02-0192-90
and
Figure 110132252-A0305-02-0192-59
Modulation is performed with unsigned values, where each value is assumed to be between 0 (for example: corresponding to the optical power that is modulated to be reduced to close to zero) and M max (for example: corresponding to the optical power maintained near the maximum power level) changes between times. The relationship between two modulation levels is that when a modulation level is configured at the "main" value
Figure 110132252-A0305-02-0192-66
, the other modulation level is configured at the corresponding "antisymmetric" value
Figure 110132252-A0305-02-0192-61
, such that when the main value of a modulator
Figure 110132252-A0305-02-0192-62
The antisymmetric value of another modulator when increasing monotonically from 0 to M max
Figure 110132252-A0305-02-0192-67
Monotonically decreases from M max to 0. Or, conversely, when the primary value of a modulator
Figure 110132252-A0305-02-0192-64
The antisymmetric value of the other modulator as it decreases monotonically from M max to 0
Figure 110132252-A0305-02-0192-65
Increases monotonically from 0 to M max . After the replicating module 1902 replicates the input optical signal encoded with the value V, each modulator provides the modulated output optical signal to the corresponding light detection module 1906 . The multiplication module 1904 in the upper path consists of
Figure 110132252-A0305-02-0193-69
multiplied modulator and provides the numerical
Figure 110132252-A0305-02-0193-68
V-encoded optical signal. The multiplication module 1904 in the lower path consists of
Figure 110132252-A0305-02-0193-70
multiplied modulator and provides the numerical
Figure 110132252-A0305-02-0193-71
V-encoded optical signal. After the light signals are converted into current signals by the corresponding light detection modules 1906, the difference between them can be generated by the current subtraction module 2102. encoding
Figure 110132252-A0305-02-0193-72
V and
Figure 110132252-A0305-02-0193-73
The difference between the current signals of V results in the current encoded in V multiplied by the signed value M 11 , given by:
Figure 110132252-A0305-02-0193-29
Among them, the signed value M 11 increases monotonically between -M max and M max , because the unsigned main value
Figure 110132252-A0305-02-0193-74
antisymmetric value that increases monotonically from 0 to M max and is paired with it
Figure 110132252-A0305-02-0193-75
Monotonically decreases from M max to 0.

第21B圖顯示了用於使用2×2元素矩陣執行向量矩陣乘法的光電計算系統1800的實現的系統配置2110的示實施例,其中求和操作在電域中執行,並且具有輸入向量的有號元素和矩陣的有號元素。在此實施例中,對於輸入向量的每個有號元素,存在兩個編碼無號值的相關光訊號。對於第一有號輸入向量元素值V1,有兩個指定為

Figure 110132252-A0305-02-0193-76
Figure 110132252-A0305-02-0193-77
的無號值,並且對於第二有號輸入向量元素值V2,有兩個指定為
Figure 110132252-A0305-02-0193-81
Figure 110132252-A0305-02-0193-84
的無號值。在光訊號上編碼的每個無號值由複製模組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的功率比分離以提供兩個實質上有相同功率之中間光訊號(例如:輸入光波之50%功率給兩個輸出端口)。接著,可以使用具有1:2的功率比的第二分離器來分離這些中間光訊號中的一個,以將25%的輸入光波功率轉移到第一路徑和第二路徑中的每一個,並且可以使用具有1:2功率比的第三分離器來分離那些中間光訊號中的另一個,以將25%的輸入光波功率轉移到第三路徑和第四路徑中的每一個。 Figure 21B shows an example embodiment of a system configuration 2110 for an implementation of an optoelectronic computing system 1800 that performs vector matrix multiplication using a 2×2 element matrix, where the summation operations are performed in the electrical domain and have signed elements and signed elements of matrices. In this embodiment, for each signed element of the input vector, there are two associated optical signals encoding unsigned values. For the first signed input vector element value V 1 , there are two specified as
Figure 110132252-A0305-02-0193-76
and
Figure 110132252-A0305-02-0193-77
unsigned value of , and for the second signed input vector element value V 2 , there are two specified as
Figure 110132252-A0305-02-0193-81
and
Figure 110132252-A0305-02-0193-84
The unsigned value. Each unsigned value encoded on the optical signal is received by replication module 2112, which performs one or more optical replication operations that produce four copies of the optical signal on four corresponding optical paths. In some embodiments of replication module 2112, there are three different Y-shaped waveguide splitters, each Y-shaped waveguide splitter configured to use a different power ratio for splitting (this can use any of a variety of photonic devices to achieve). For example, the first splitter can split using a power ratio of 1:4 to transfer 25% (1/4) of the power to the first path, and the second splitter can split using a power ratio of 1:3 , to transfer 25% (1/4=1/3×3/4) of the power to the second path, and the third splitter can separate using a power ratio of 1:2 to transfer 25% (1/4 =1/2×2/3×3/4) of the power is transferred to the third path, and the remaining 25% of the power is transferred to the fourth path. Individual splitters that are part of the replication module 2112 may be arranged in different portions of the substrate to appropriately distribute different replicas to different paths within the system. In other embodiments of replication module 2112, it may be appropriate to separate different numbers of paths at different separation rates. For example, the first splitter can split using a power ratio of 1:2 to provide two intermediate optical signals with substantially the same power (for example: 50% of the power of the input light wave to the two output ports). Then, one of these intermediate optical signals can be split using a second splitter with a power ratio of 1:2 to transfer 25% of the input optical wave power to each of the first and second paths, and can Another one of those intermediate optical signals is split using a third splitter with a 1:2 power ratio to transfer 25% of the input optical wave power to each of the third and fourth paths.

這類有二元樹拓樸的光複製分配網路提供特定優勢。舉例而言,因為二元樹光複製分配網路可以對所有的波長在均勻1:2功率分離器上使用對稱設計(例如Y形絕熱波導錐,Y-shaped adiabatic waveguide taper),網路會與波長不相依,促進其使用於多個波長。此外,非均勻功率分離器可能會有需要精準控制長度以轉換不同功率比例(例如:1/n、1/(n-1)、......等等之於n分支網路)之耦接部分。然而,此等精準度在現存製程變化中可能很困難。此二 元樹光複製分配網路也促使部分緊湊晶粒布局之電路徑縮短,如下述參照第45A-45G圖之更多細節。 This type of optical replication distribution network with binary tree topology offers certain advantages. For example, because a binary tree optical replication distribution network can use a symmetrical design on a uniform 1:2 power splitter for all wavelengths (such as a Y-shaped adiabatic waveguide taper), the network will be consistent with Wavelength independence facilitates its use at multiple wavelengths. In addition, non-uniform power splitters may require precise length control to convert different power ratios (for example: 1/n, 1/(n-1),...etc. for n-branch networks) coupling part. However, such accuracy can be difficult with existing process variations. This two Yuanshu's optical replication distribution network also enables the shortening of electrical paths in some compact die layouts, as described below with reference to Figures 45A-45G for more details.

系統配置2110還包括如第21B圖所示佈置的其他模組,以提供表示輸出向量的兩個不同的輸出電訊號,輸出向量是由人工神經網路計算系統100執行的向量矩陣乘法的結果。存在16個不同的乘法模組1904,其調變表示輸入向量的光訊號的不同副本,並且存在16個不同的光偵測模組1906,以提供表示計算的中間結果的電訊號。還存在兩個不同的求和模組2114A和2114B,其計算每個輸出電訊號的總體求和。在圖式中,以虛線顯示了將光偵測模組1906電性耦接到求和模組2114B的訊號線。因為每個總體求和可包括從來自於用於向量元素及/或矩陣元素的任何對稱差分配置的成對主要項(paired main term)中減去的一些反對稱項(anti-symmetric term),所以求和模組2114A和2114B可包括用於在被轉換之後加入的求和的一些項次的機制(等效地,從非反轉項(non-inverted term)中減去)。舉例來說,在一些實施例中,求和模組2114A和2114B包括反相輸入端口和非反相輸入端口,使得在總體求和中要加入的項次可以連接到非反相輸入端口,並且要在總體求和中減去的項次可以連接到反相輸入端口。這種求和模組的一個實施例是運算放大器,其中非反相端連接到傳導了表示要加入的訊號的電流的導線,並且反相端連接到傳導了表示要被減去的訊號的電流的導線。或者,如果藉由其他方式執行反對稱項的反 轉,則在求和模組上可能不需要反相輸入端口。求和模組2114A和2114B個別產生以下求和結果,以完成向量矩陣乘法。 The system configuration 2110 also includes other modules arranged as shown in FIG. 21B to provide two different output electrical signals representing output vectors that are the results of vector matrix multiplication performed by the artificial neural network computing system 100 . There are 16 different multiplication modules 1904 that modulate different copies of the light signal representing the input vector, and there are 16 different light detection modules 1906 that provide electrical signals that represent the intermediate results of the calculations. There are also two different summing modules 2114A and 2114B that calculate the overall sum of each output electrical signal. In the figure, the signal lines electrically coupling the light detection module 1906 to the summing module 2114B are shown as dotted lines. Since each overall summation may include some anti-symmetric terms subtracted from the paired main terms from any symmetric differential configuration for vector elements and/or matrix elements, So summation modules 2114A and 2114B may include mechanisms for adding some terms of the summation after being transformed (equivalently, subtracting from non-inverted terms). For example, in some embodiments, summing modules 2114A and 2114B include an inverting input port and a non-inverting input port such that terms to be added to the overall summation can be connected to the non-inverting input port, and The terms to be subtracted from the overall sum can be connected to the inverting input port. One embodiment of such a summing module is an operational amplifier in which the non-inverting terminal is connected to a wire conducting a current representing the signal to be added, and the inverting terminal is connected to a wire conducting a current representing the signal to be subtracted. of wires. Alternatively, if the inverse of the antisymmetric term is performed by other means rotation, the inverting input port may not be needed on the summing module. Summing modules 2114A and 2114B individually generate the following summation results to complete vector matrix multiplication.

Figure 110132252-A0305-02-0196-30
Figure 110132252-A0305-02-0196-30

在本揭露中,當圖式顯示彼此交叉的兩條電訊號線時,將會清楚描述兩條電訊號線是否彼此電性耦合。舉例來說,承載M21 +V1+訊號的訊號線不電性耦接至承載M11 +V1 -訊號的訊號線或承載M11 -V1 -訊號的訊號線。 In this disclosure, when a diagram shows two electrical signal lines crossing each other, it will be clearly described whether the two electrical signal lines are electrically coupled to each other. For example, a signal line carrying an M 21 + V1 + signal is not electrically coupled to a signal line carrying an M 11 + V 1 - signal or a signal line carrying an M 11 - V 1 - signal.

可以擴展第21B圖中所示的系統配置以實現使用m×n元素矩陣執行向量矩陣乘法的系統配置,其中輸入向量和矩陣包括有號元素。 The system configuration shown in Figure 21B can be extended to implement a system configuration that performs vector matrix multiplication using an m×n element matrix, where the input vectors and matrices include signed elements.

存在可以用於實現第21B圖的對稱差分配置的各種技術。這些技術中的一些利用1×2光幅度調變器來實現乘法模組1904,及/或提供與主要和反對稱配對相關的光訊號對。第22A圖顯示了1×2光幅度調變器2200的實施例。在此實施例中,1×2光幅度調變器2200包括輸入光分離器2202,其將輸入光訊號分離以將50%的功率提供給包括相位調變器2204(亦稱為相位移器)的第一路徑,並且將50%功率提供給不包括相位調變器的第二路徑。可以以不同的方式定義路徑,這取決於光幅度調變器是否實現作為自由空間干涉儀或作為波導干涉儀。舉例來說,在自由空間干涉儀中,藉由光束通過光束分離器的傳輸來定義一條路徑,並且藉由來自光束分離器的波的反射來定義另一條路徑。在波導干涉儀中,每 個路徑藉由已耦接至入射波導(incoming waveguide)的不同光波導來定義(例如:在Y形分離器中)。相位調變器2204可以被配置以賦予相位移,使得第一路徑的總相位延遲與第二路徑的總相位延遲相差一個可配置的相位移值(例如:可以設置為在0度到180度之間某處相位移的數值)。 There are various techniques that can be used to implement the symmetric differential configuration of Figure 21B. Some of these techniques utilize 1×2 optical amplitude modulators to implement the multiplication module 1904, and/or provide pairs of optical signals associated with primary and antisymmetric pairings. Figure 22A shows an embodiment of a 1x2 optical amplitude modulator 2200. In this embodiment, the 1×2 optical amplitude modulator 2200 includes an input optical splitter 2202 that splits the input optical signal to provide 50% of the power to a phase modulator including a phase modulator 2204 (also known as a phase shifter). first path, and 50% power is provided to the second path that does not include the phase modulator. The path can be defined in different ways, depending on whether the optical amplitude modulator is implemented as a free-space interferometer or as a waveguide interferometer. For example, in a free-space interferometer, one path is defined by the transmission of a beam through a beam splitter, and another path is defined by the reflection of the wave from the beam splitter. In a waveguide interferometer, each Each path is defined by different optical waveguides that have been coupled to the incoming waveguide (eg in a Y-splitter). Phase modulator 2204 may be configured to impart a phase shift such that the total phase delay of the first path differs from the total phase delay of the second path by a configurable phase shift value (e.g., may be set to between 0 degrees and 180 degrees). the value of the phase shift somewhere between).

1×2光幅度調變器2200包括2×2耦合器2206,其以特定方式使用光學干涉或光學耦合來組合來自第一和第二輸入路徑的光波,以在不同的比率將功率轉移到第一和第二輸出路徑中,這取決於關於相位移。舉例來說,在自由空間干涉儀中,0度的相位移導致在兩個路徑之間分離的大抵所有輸入功率的建設性干涉,以從實現耦合器2206的光束分離器的一個輸出路徑離開,並且180度的相位移導致在兩個路徑之間分離的大抵所有輸入功率建設性干涉,以從實現耦合器2206的光束分離器的另一輸出路徑離開。在波導干涉儀中,0度的相位移導致在兩個路徑之間分離的大抵所有輸入功率耦接到耦合器2206的一個輸出波導,並且180度的相位移導致在兩個路徑之間分離的大抵所有輸入功率耦接到耦合器2206的另一個輸出波導。接著,0度和180度之間的相位移可以透過部分建設性干涉或破壞性干涉或部分波導耦合將光波中的功率(和在光波上編碼的數值)乘以0和1之間的值。然後可以將乘以0和1之間的任何數值的乘法映射到如上所述的乘以0和Mmax之間的任何數值的乘法。 1×2 optical amplitude modulator 2200 includes a 2×2 coupler 2206 that uses optical interference or optical coupling in a specific manner to combine light waves from the first and second input paths to transfer power to the first and second input paths at different ratios. one and two output paths, which depend on the phase shift. For example, in a free space interferometer, a phase shift of 0 degrees results in constructive interference of approximately all input power split between the two paths to exit one output path of the beam splitter implementing coupler 2206, And a phase shift of 180 degrees results in constructive interference of substantially all input power split between the two paths to exit the other output path of the beam splitter implementing coupler 2206. In a waveguide interferometer, a phase shift of 0 degrees results in separation between the two paths with approximately all input power coupled to one output waveguide of the coupler 2206, and a phase shift of 180 degrees results in separation between the two paths. Approximately all input power is coupled to the other output waveguide of coupler 2206. The phase shift between 0 degrees and 180 degrees can then multiply the power in the light wave (and the value encoded on the light wave) by a value between 0 and 1 through partial constructive or destructive interference or partial waveguide coupling. Multiplication by any value between 0 and 1 can then be mapped to multiplication by any value between 0 and M max as described above.

另外,從調變器2200發射的兩個光波中的功率之間的關係遵循上面所述的主要和反對稱配對的功率之間的關係。當一個訊號的光功率的幅度增加時,另一個訊號的光功率的幅度減小,因此偵測到的光電流之間的差值可以產生有號向量元素,或者乘以有號矩陣元素,如此處所述。舉例來說,可以從調變器2200的兩個輸出端口提供該對相關光訊號,使得相關光訊號的幅度之間的差值對應將輸入值乘以有號矩陣元素值的結果。第22B圖顯示了1×2光幅度調變器2200的對稱差分配置2210,其在第20B圖的對稱差分配置的公共終端版本(common-terminal version)中在待偵測的輸出佈置有光訊號。對應由一對光偵測器2212和2214所產生的光電流的電流信號在接點2216組合,以提供輸出電流信號,其幅度對應相關光訊號的幅度之間的差值。在其他實施例中,例如在第20C圖的對稱差分配置中,可以使用不同的電路組合從輸出的兩個光訊號所偵測到的光電流。 Additionally, the relationship between the power in the two light waves emitted from the modulator 2200 follows the relationship between the power of the primary and antisymmetric pairs described above. As the amplitude of the optical power of one signal increases, the amplitude of the optical power of the other signal decreases, so the difference between the detected photocurrents can be generated by a signed vector element, or multiplied by a signed matrix element, like this stated here. For example, the pair of correlated optical signals may be provided from two output ports of the modulator 2200 such that the difference between the amplitudes of the correlated optical signals corresponds to the result of multiplying the input value by the signed matrix element value. Figure 22B shows a symmetric differential configuration 2210 of a 1x2 optical amplitude modulator 2200 with an optical signal arranged at the output to be detected in the common-terminal version of the symmetric differential configuration of Figure 20B . Current signals corresponding to the photocurrents generated by a pair of photodetectors 2212 and 2214 are combined at junction 2216 to provide an output current signal whose amplitude corresponds to the difference between the amplitudes of the associated optical signals. In other embodiments, such as in the symmetric differential configuration of Figure 20C, different circuit combinations can be used to combine the photocurrent detected from the two output optical signals.

可以使用其他技術來建構1×2光幅度調變器以用於實現乘法模組1904,及/或提供與主要和反對稱配對相關的光訊號對。第22C圖顯示了另一種類型的1×2光幅度調變器的對稱差分配置2220的另一實施例。在此實施例中,1×2光幅度調變器包括環形共振器2222,其被配置以將輸入端口2221的光訊號的光功率分到兩個輸出端口。環形共振器2222(亦稱為“微環(microring)”)可以藉由在基板上形成圓形波導來製造,其中圓形波導耦接到對應輸入端口2221的直線波導(straight waveguide)。當光信號的波 長接近與環形共振器2222相關的共振波長時,耦接到環中的光波在順時針路徑2226上圍繞環循環並且在耦合位置破壞性地干涉,使得降低功率的光波通過路徑2224離開到第一輸出端口。循環光波也耦接出環,使得另一光波通過彎曲波導在路徑2228上離開,彎曲波導將光波引導出第二輸出端口。 Other techniques may be used to construct a 1×2 optical amplitude modulator for implementing the multiplication module 1904, and/or to provide pairs of optical signals associated with primary and antisymmetric pairings. Figure 22C shows another embodiment of a symmetric differential configuration 2220 of another type of 1x2 optical amplitude modulator. In this embodiment, the 1×2 optical amplitude modulator includes a ring resonator 2222 configured to split the optical power of the optical signal at the input port 2221 to two output ports. The ring resonator 2222 (also called a "microring") can be fabricated by forming a circular waveguide on a substrate, where the circular waveguide is coupled to a straight waveguide corresponding to the input port 2221. When the light signal wave Near the resonant wavelength associated with ring resonator 2222, a light wave coupled into the ring circulates around the ring on a clockwise path 2226 and interferes destructively at the coupling location, causing the reduced power light wave to exit through path 2224 to the first output port. The circulating light wave also couples out of the ring, allowing another light wave to exit on path 2228 through the curved waveguide, which directs the light wave out of the second output port.

由於光功率圍繞環形共振器2222循環的時間尺度與光訊號的幅度調變的時間尺度相比較小,因此在兩個輸出端口之間快速建立反對稱功率關係,使得由光偵測器2212偵測的光波和由光偵測器2214偵測的光波形成主要和反對稱對。可以調整環形共振器2222的共振波長以單調減少/增加主要/反對稱訊號以實現有號結果,如上面所述。當環完全不共振時,所有功率通過路徑2224離開第一輸出端口,並且當它完全共振時,適當調整某些其他參數(例如:品質因數和耦合係數)的情況下,所有功率通過路徑2228離開第二輸出端口。具體來說,為了實現完全的功率傳輸,表徵(characterizing)波導和環形共振器之間的耦合效率的耦合係數應要匹配。在一些實施例中,具有相對淺的調整曲線(tuning curve)是有用的,這可以藉由降低環形共振器2222的品質因數(例如:藉由增加損耗)並相應地增加進入和離開環的耦合係數來實現。淺調整曲線提供對共振波長的較小幅度靈敏度。諸如溫度控制的技術也可用於共振波長的調整及/或穩定性。 Since the time scale of the optical power circulating around the ring resonator 2222 is small compared to the time scale of the amplitude modulation of the optical signal, an antisymmetric power relationship is quickly established between the two output ports, allowing detection by the optical detector 2212 The light waves of and the light waves detected by the light detector 2214 form principal and antisymmetric pairs. The resonant wavelength of ring resonator 2222 can be adjusted to monotonically decrease/increase the primary/antisymmetric signal to achieve signed results, as described above. When the ring is completely unresonant, all power leaves the first output port via path 2224, and when it is fully resonant, all power leaves via path 2228 with appropriate adjustments to certain other parameters (e.g., quality factor and coupling coefficient) Second output port. Specifically, in order to achieve complete power transfer, the coupling coefficients characterizing the coupling efficiency between the waveguide and the ring resonator should match. In some embodiments, it is useful to have a relatively shallow tuning curve, which can be achieved by lowering the quality factor of ring resonator 2222 (e.g., by increasing losses) and correspondingly increasing coupling into and out of the ring. coefficients to achieve. Shallow tuning curves provide smaller amplitude sensitivity to the resonant wavelength. Techniques such as temperature control may also be used for resonant wavelength tuning and/or stabilization.

第22D圖顯示了另一種類型的1×2光幅度調變器的對稱差分配置2230的另一實施例。在此實施例中,1×2光幅度調 變器包括兩個環形共振器2232和2234。在輸入端口2231的光訊號的光功率被分到兩個端口。當光訊號的波長接近與兩個環形共振器2232和2234相關的共振波長時,降低功率的光波通過路徑2236離開第一輸出端口。光波的一部分還耦接到環形共振器2232中,其在順時針路徑2238上圍繞環循環,並且還耦接到環形共振器2234中,其在逆時針路徑2240上圍繞環循環。接著將循環的光波耦接出環,使得另一光波通過路徑2242離開第二輸出端口。在此實施例中,由光偵測器2212偵測的光波和由光偵測器2214偵測的光波也形成主要和反對稱配對。 Figure 22D shows another embodiment of a symmetric differential configuration 2230 of another type of 1x2 optical amplitude modulator. In this example, 1×2 light amplitude modulation The converter includes two ring resonators 2232 and 2234. The optical power of the optical signal at input port 2231 is divided into two ports. When the wavelength of the optical signal approaches the resonance wavelength associated with the two ring resonators 2232 and 2234, the reduced power optical wave exits the first output port through path 2236. A portion of the light wave is also coupled into ring resonator 2232, which circulates around the ring on clockwise path 2238, and into ring resonator 2234, which circulates around the ring on counterclockwise path 2240. The circulating light wave is then coupled out of the loop, allowing another light wave to exit the second output port through path 2242. In this embodiment, the light waves detected by light detector 2212 and the light waves detected by light detector 2214 also form a primary and antisymmetric pairing.

第23A圖和第23B圖顯示了使用光學幅度調變器的不同實施例,例如1×2光幅度調變器2200,用於實現以2×2元素矩陣執行向量矩陣乘法的光電計算系統1800。第23A圖顯示了光電系統配置2300A的實施例,其包括提供表示輸入向量的有號向量元素的數值的光幅度調變器2302A和2302B。光幅度調變器2302A提供一對光訊號,其為第一有號向量元素編碼一對數值

Figure 110132252-A0305-02-0200-85
Figure 110132252-A0305-02-0200-86
,並且光幅度調變器2302B提供一對光訊號,其對第二有號向量元素編碼一對數值
Figure 110132252-A0305-02-0200-87
Figure 110132252-A0305-02-0200-88
。向量矩陣乘法器(VMM)子系統2310A接收輸入光訊號,執行分離操作、乘法操作以及如上面所述的一些求和操作,並且提供將由額外電路處理的輸出電流訊號。在一些實施例中,輸出電流訊號表示被進一步處理以產生最終總和的部分總和,其導致輸出向量的有號向量元素。在此實施例中,一些最終求和操作被執行作為由運算放大器2306A和2306B的反相 和非反相端子的電流訊號表示的不同部分總和之間的減法。減法用以提供有號值,如上面所述(例如:參考第21B圖)。此實施例還說明了某些元素如何成為多個模組的一部分。具體來說,由波導分離器2303執行的光學複製可以被認為是複製模組(例如:第21B圖中的複製模組2112的一個)的一部分和乘法模組(例如:第21B圖中的乘法模組1904的一個)的一部分。在VMM子系統2310A內使用的光幅度調變器被配置用於在第20B圖中所示的公共端子配置(common-terminal configuration)中進行偵測。 Figures 23A and 23B show different embodiments using optical amplitude modulators, such as a 1x2 optical amplitude modulator 2200, for implementing an optoelectronic computing system 1800 that performs vector matrix multiplication in a 2x2 element matrix. Figure 23A shows an embodiment of an optoelectronic system configuration 2300A including optical amplitude modulators 2302A and 2302B that provide values representing signed vector elements of an input vector. Optical amplitude modulator 2302A provides a pair of optical signals that encode a pair of values for the first signed vector element
Figure 110132252-A0305-02-0200-85
and
Figure 110132252-A0305-02-0200-86
, and optical amplitude modulator 2302B provides a pair of optical signals that encode a pair of values for the second signed vector element
Figure 110132252-A0305-02-0200-87
and
Figure 110132252-A0305-02-0200-88
. Vector matrix multiplier (VMM) subsystem 2310A receives an input optical signal, performs separation operations, multiplication operations, and some summing operations as described above, and provides an output current signal that will be processed by additional circuitry. In some embodiments, the output current signal representation is a partial sum that is further processed to produce a final sum, which results in signed vector elements of the output vector. In this embodiment, some final summation operations are performed as subtractions between different partial sums represented by the current signals at the inverting and non-inverting terminals of operational amplifiers 2306A and 2306B. Subtraction is used to provide signed values, as described above (e.g. see Figure 21B). This example also illustrates how certain elements can be part of multiple mods. Specifically, the optical replication performed by waveguide splitter 2303 can be considered to be part of a replication module (eg, one of replication modules 2112 in Figure 21B) and a multiplication module (eg, multiplication in Figure 21B Part of Module 1904). The optical amplitude modulator used within VMM subsystem 2310A is configured for detection in the common-terminal configuration shown in Figure 20B.

第23B圖顯示了與第23A圖中所示的光電系統配置2300A類似的光電系統配置2300B的實施例。但是,VMM子系統2310B包括光調變器,其被配置用於在第20C圖所示的差分端子配置中進行偵測。在此實施例中,VMM子系統2310B的輸出電流訊號亦表示被進一步處理以產生最終總和的部分總和,其導致輸出向量的有號向量元素。作為由運算放大器2306A和2306B的反相和非反相端子的電流訊號表示的不同部分總和之間的減法執行的最終求和操作與第23A圖的實施例不同。但是,如上面所述(例如:參照第21B圖),最終減法仍然導致提供有號值。 Figure 23B shows an embodiment of an optoelectronic system configuration 2300B similar to the optoelectronic system configuration 2300A shown in Figure 23A. However, VMM subsystem 2310B includes an optical modulator configured for detection in the differential terminal configuration shown in Figure 20C. In this embodiment, the output current signal of VMM subsystem 2310B also represents the signed vector elements that are further processed to produce a final sum, which results in the output vector. The final summation operation performed as a subtraction between different partial sums represented by the current signals at the inverting and non-inverting terminals of operational amplifiers 2306A and 2306B is different from the embodiment of Figure 23A. However, as mentioned above (eg with reference to Figure 21B), the final subtraction still results in providing a signed value.

第23C圖顯示了光電系統配置2300C的實施例,其在公共端子配置中進行偵測的情況下使用VVM子系統2310C的替代佈置,如第23A圖所示的VVM子系統2310A,但具有承載乘法模組的結果的光訊號,乘法模組透過波導內的子系統路由至基板的一部分,基板包括被設置以將光訊號轉換成電訊號的偵測器。在一 些實施例中,此偵測器的分組允許縮短電路徑,可能減少由於在其他方面將使用的長電路徑所引起的電性串擾或其他損害。光波導可以在基板的一個層內繞線(route),或者為了防止在一個層內可能會遇到的波導交叉(與相關的損失),波導也可以在基板的多個層內繞線,以允許在基板的兩個維度上交叉但不在(基板中的深度的)第三維度中交叉的佈線路徑中的更大靈活性。可以在系統配置中進行各種其他更改,包括VMM子系統中所包括的部件的更改。舉例來說,光幅度調變器2302A和2302B可以被包括作為VMM子系統的一部分。或者,VMM子系統可以包括光輸入端口,用於接收由除了光幅度調變器之外的模組所產生的成對的主要和反對稱光訊號,或者用於與其他類型的子系統連接。在一些實施例中,除了將偵測器分組和為了波導在基板使用多個層,一種避免波導交叉損失且仍然限制電路徑長度的替代方式,包含重新排列波導和光子積體電路晶粒上的元件之布局。舉例來說,為了在基板提供多個波導層,有些生產程序可能會帶來額外的成本及/或複雜度。相反地,光路由可以包含促進縮短一些緊湊晶粒布局之電路徑之光複製分配網路,如同下述說明,參照第45A-45G圖。 Figure 23C shows an embodiment of an optoelectronic system configuration 2300C that uses an alternative arrangement of VVM subsystem 2310C with detection in a common terminal configuration, such as the VVM subsystem 2310A shown in Figure 23A, but with load multiplication The resulting optical signal from the multiplication module is routed through a subsystem within the waveguide to a portion of the substrate that includes a detector configured to convert the optical signal into an electrical signal. In a In some embodiments, this grouping of detectors allows for shortened electrical paths, possibly reducing electrical crosstalk or other damage caused by otherwise long electrical paths that would be used. Optical waveguides may be routed within one layer of the substrate, or to prevent waveguide crossovers (and associated losses) that may be encountered within one layer, waveguides may be routed within multiple layers of the substrate to Allows greater flexibility in routing paths that cross in two dimensions of the substrate but not in the third dimension (depth in the substrate). Various other changes can be made in the system configuration, including changes to the components included in the VMM subsystem. For example, optical amplitude modulators 2302A and 2302B may be included as part of the VMM subsystem. Alternatively, the VMM subsystem may include optical input ports for receiving pairs of primary and antisymmetric optical signals generated by modules other than optical amplitude modulators, or for interfacing with other types of subsystems. In some embodiments, instead of grouping detectors and using multiple layers on the substrate for waveguides, an alternative way to avoid waveguide crossover losses and still limit electrical path lengths involves rearranging the waveguides and circuits on the photonic integrated circuit die. Component layout. For example, in order to provide multiple waveguide layers in a substrate, some production processes may bring additional cost and/or complexity. Conversely, optical routing may include optical replication distribution networks that facilitate shortening of electrical paths in some compact die layouts, as explained below with reference to Figures 45A-45G.

在給定之光偵測器和下游端口間之一長導線有一關聯之寄生電容,該寄生電容導致順著導線以驅動訊號的功耗增加。為了限制系統中之功率損耗,包含光子積體電路(PIC)之晶粒上的元件之佈局所實作之光處理器可以優化以允許緊湊電路由(electrical routing)。舉例而言,部分PIC實施分佈式光電處 理,例如可以設置該向量矩陣乘法器子系統2310A或該向量矩陣乘法器子系統2310B,使產生相對窄之「光學排線(optical ribbon)」,該光學排線包含:光波導,攜帶光輸入之光訊號(例如:來自提供輸入向量之元素之光調變器);光電子節點(例如:包含MZI調變器及偵測器);以及攜帶電輸出之電訊號之導線(例如:饋送提供輸出向量之元素之跨阻抗放大器)。在一些實施例中,跨阻抗放大器(例如:TIA 2306A及2306B)為一部分以覆晶連接光子積體電路(PIC)之電子積體電路(EIC)。光學排線包含多條「股(strands)」,其中該等股包含光複製分配網路,以及與特定乘法矩陣欄位相應之光電子「節點(nodes)」,與「瓦片(tiles)」相交,瓦片包含對應到乘法矩陣特定列之元素。這些PIC中的瓦片也與EIC中對應的瓦片重疊,如下之更多細節所述。 A long wire between a given photodetector and a downstream port has an associated parasitic capacitance that causes increased power dissipation to drive the signal along the wire. To limit power losses in the system, the layout of the components on the die containing photonic integrated circuits (PICs) implemented in the optical processor can be optimized to allow compact electrical routing. For example, some PICs implement distributed photonics processing Processing, for example, the vector matrix multiplier subsystem 2310A or the vector matrix multiplier subsystem 2310B can be configured to produce a relatively narrow "optical ribbon" that includes: an optical waveguide that carries the light input optical signals (e.g., from light modulators that provide elements of the input vector); optoelectronic nodes (e.g., including MZI modulators and detectors); and wires that carry electrical signals that provide electrical output (e.g., feeds that provide output transimpedance amplifier of vector elements). In some embodiments, the transimpedance amplifier (eg, TIA 2306A and 2306B) is part of an electronic integrated circuit (EIC) with a flip-chip connected photonic integrated circuit (PIC). Optical cabling consists of multiple "strands" that contain optical replication distribution networks and optoelectronic "nodes" corresponding to specific multiplication matrix fields, intersecting "tiles" , the tile contains elements corresponding to specific columns of the multiplication matrix. These tiles in the PIC also overlap with corresponding tiles in the EIC, as described in more detail below.

第45A圖展示上述之光學排線中的一條股4500之一例。該股4500包括:二元樹光導網路,光分配對應之輸入向量元件,使用1:2分離器4502(或兩個二元樹各自分配該元素之主要及反對稱值);以及光電子節點4504,進行光電子運算。此外,PIC會包含從節點4504延伸之導線(未顯示),在交界處連接其他股之導線。各光複製分配網路之根,可以被根據輸入向量之元素調變光波之根調變器(未顯示)(例如:如2302A或2302B之MZI調變器)饋送。在一些實施例中,在每個光複製分配網路的葉節點之該光電子節點4504包含藉由矩陣元素進行乘法之MZI調變器4505,以及一對位於MZI調變器輸出以進行光電轉換之光偵測器4507。電路 由之電訊號使用之導線長度,部分取決於整個光學排線之寬度。對N×N個陣列之元素(例如:N×N矩陣之乘法)來說,排線中有N股之集合每個集合有自己的光複製分配網路。因為最長導線之長度可能需要穿過多至N股之距離,每個光複製分配網路需佔據一窄幅。為求圖式簡潔明瞭,描繪之範例圖為4×4個陣列之元素,但在一些實施例中,N的值可能會顯著增加(例如:32、64、128或更大)。 Figure 45A shows an example of a strand 4500 in the above-mentioned optical cable. The unit 4500 includes: a binary tree photoconductive network, light distribution corresponding to the input vector element, using a 1:2 splitter 4502 (or two binary trees each assigning the primary and antisymmetric values of the element); and the optoelectronic node 4504 , perform optoelectronic calculations. In addition, the PIC will include wires (not shown) extending from node 4504, connecting the other strands of wire at the junction. Each optical replication distribution network root may be fed by a root modulator (not shown) that modulates the light wave according to elements of the input vector (eg, an MZI modulator such as the 2302A or 2302B). In some embodiments, the optoelectronic node 4504 at each leaf node of the optical replication distribution network includes an MZI modulator 4505 for multiplication by matrix elements, and a pair of MZI modulator outputs for optoelectronic conversion. Light Detector 4507. circuit The length of wires used for electrical signals depends in part on the width of the entire optical cable. For N×N array elements (for example: N×N matrix multiplication), there are sets of N strands in the cable, each set having its own optical replication distribution network. Because the length of the longest wire may need to traverse as many as N strands, each optical replication distribution network needs to occupy a narrow area. For simplicity and clarity of the diagram, the example diagram is depicted with elements of a 4×4 array, but in some embodiments, the value of N may be significantly increased (eg, 32, 64, 128, or larger).

如上述之說明,可以藉由上述的二元樹拓樸製造具有容忍誤差以及與波長不相依之光複製分配網路,該光複製分配網路分配給定值給股的節點。作為考量股4500中二元樹之非對稱設置之動機,考慮N×N矩陣乘法下對稱二元樹可能的大小。因為一行N個元素之樹,其寬度(N)大於深度(log2(N)),該樹可以被設置使最窄之維度超過其寬度。然而,二元樹之最後一階層,在葉節點,可能需要在樹的寬度上符合節點之對稱分配,所以樹中之波導需要90度轉彎以擴張出足夠之寬度。基於在樹之各階層支持波導之曲率之最小半徑(為了限制彎曲損失)之需求,可能會有關於該深度維度有多窄之限制,導致樹之各階層有最小寬度(例如:大約40微米)。因此,在此例中,總寬度與log2(N)乘以40微米成比例。相反地,考慮在股4500中使用二元樹之對稱設置。1:2Y形分離器之寬度不需要改變方位即可被限制在每臂1微米(也就是總共大約2微米)左右,而不需要製造90度旋轉的轉彎而耗費10微米左右。股中最寬的部分在頂節點,為與節點+log2(N)相鄰之矩形波導之寬度。各節點的寬度足夠大以容納2臂MZI調變器之寬度(也就是20 微米或更少)。該相鄰波導之寬度約為2.5微米(為波導本身以及其與鄰居之間隔)。因此,股之總寬度與20微米加上log2(N)乘以2.5微米成正比,可能比對稱二元樹的情況要窄上許多。 As explained above, an error-tolerant and wavelength-independent optical replication distribution network can be fabricated using the above binary tree topology, and the optical replication distribution network is assigned to nodes with assigned values. As a motivation for considering the asymmetric setup of binary trees in stock 4500, consider the possible sizes of symmetric binary trees under N×N matrix multiplication. Because the width (N) of a row of N-element trees is greater than its depth (log2(N)), the tree can be set up so that its narrowest dimension exceeds its width. However, the last level of the binary tree, at the leaf nodes, may need to be distributed symmetrically across the width of the tree, so the waveguides in the tree need to be turned 90 degrees to expand enough width. Based on the need to support a minimum radius of waveguide curvature at each level of the tree (to limit bending losses), there may be restrictions on how narrow this depth dimension can be, resulting in a minimum width at each level of the tree (e.g. about 40 microns) . So, in this example, the total width is proportional to log2(N) times 40 microns. Instead, consider using a symmetrical setup of binary trees in stock 4500. The width of the 1:2 Y-shaped separator can be limited to about 1 micron per arm (that is, about 2 microns in total) without changing the orientation, and there is no need to make a 90-degree turn that consumes about 10 microns. The widest part of the strand is at the top node, which is the width of the rectangular waveguide adjacent to node +log2(N). The width of each node is large enough to accommodate the width of a 2-arm MZI modulator (that is, 20 microns or less). The width of the adjacent waveguide is approximately 2.5 microns (the distance between the waveguide itself and its neighbor). Therefore, the total strand width is proportional to 20 microns plus log2(N) times 2.5 microns, which is probably much narrower than in the case of a symmetric binary tree.

第45B圖顯示排線4510可以如何在PIC晶粒上設置。排線4510包含設置在晶粒一側的瓦片4514之第一線4512A;以及設置在晶粒另一側的瓦片4514之第二線4512B。連接部分4515藉由延伸各股中一個或多個波導來提供。瓦片分配到兩條或更多之直線散佈在晶粒區域上,被股中之光複製分配網路之波導連接,使更緊湊之設置變得可能。用這樣的方式延伸波導會漸漸增加總光學插入損失(例如:藉由約1dB/cm之額外波導長度),然而這樣的額外損失通常可以忍受。被延長之波導連接的瓦片之線的數量(例如:2條線、3條線、4條線,或更多)可以被選擇以共同優化配合整個系統中晶粒區域與總功率損失。同樣地,波導延長的總數可以被運算限制侷限,例如股之長度顯著小於時脈週期的傳播時間,導致一個股之總長度的限制(例如:少於10公分)。 Figure 45B shows how the ribbon 4510 can be arranged on the PIC die. The wiring 4510 includes a first line 4512A of the tile 4514 provided on one side of the die; and a second line 4512B of the tile 4514 provided on the other side of the die. Connection portion 4515 is provided by extending one or more waveguides in each strand. The tiles are distributed into two or more straight lines spread over the die area, connected by the waveguides of the distribution network replicated by the light in the strand, making a more compact setup possible. Extending the waveguide in this manner will gradually increase the total optical insertion loss (for example, by approximately 1 dB/cm of additional waveguide length), however this additional loss is usually tolerated. The number of tile wires connected by the extended waveguide (e.g., 2 wires, 3 wires, 4 wires, or more) can be selected to jointly optimize die area and total power loss in the overall system. Likewise, the total number of waveguide extensions can be limited by computational constraints, such that the strand length is significantly less than the clock cycle propagation time, resulting in a limit on the total length of a strand (e.g., less than 10 cm).

第45C圖顯示排線4510之設置(未顯示瓦片邊界),疊加在凸塊4516之配置上,該配置用於將PIC上提供電輸入及輸出端口之焊盤(例如:以導電材料如金屬或合金組成)與EIC上相對應之提供電輸出及輸入端口之焊盤電性耦接。舉例而言,訊號藉由EIC之輸出端口被提供以控制MZI調變器(例如:在給定的光電子節點中每MZI中兩個凸塊)。在一些實施例中,每個光電子節點有一個或多個額外的凸塊(例如:為了給定之MZI調變器之溫度控制 之凸塊),以及為了PIC與EIC間各種其他電訊號交換之額外的焊盤。為了從EIC轉換電訊號到PIC以進行控制,以及為了從PIC接收電訊號到EIC,PIC中的焊盤會與EIC中之凸塊位置上相應之焊盤對齊。一個將PIC輸出端口連接到EIC輸入端口之例示凸塊為,該凸塊(未圖示)將瓦片中提供該瓦片之多個光電子節點之導線之總和電流之焊盤連接到EIC中之TIA輸入之焊盤。典型的凸塊直徑可以約為100微米,儘管凸塊可能更小(例如50微米)。因此,在一些實施例中,凸塊之間距(例如:100微米)會比股中之瓦片所需空間更大,在這種例子中瓦片可以被散開以提供大致均勻之瓦片間隔。 Figure 45C shows the arrangement of ribbon cables 4510 (tile boundaries not shown), superimposed on the arrangement of bumps 4516 used to connect pads (e.g., made of conductive material such as metal) on the PIC that provide electrical input and output ports. or alloy composition) is electrically coupled to the corresponding pads on the EIC that provide electrical output and input ports. For example, signals are provided through the output port of the EIC to control MZI modulators (eg, two bumps per MZI in a given optoelectronic node). In some embodiments, there are one or more additional bumps per optoelectronic node (e.g., for temperature control of a given MZI modulator). bumps), and additional pads for various other electrical signal exchanges between the PIC and the EIC. In order to convert electrical signals from the EIC to the PIC for control, and to receive electrical signals from the PIC to the EIC, the pads in the PIC are aligned with the corresponding pads at the bump locations in the EIC. An example bump connecting a PIC output port to an EIC input port is a bump (not shown) that connects a pad in the tile that provides the sum current of the wires for the multiple optoelectronic nodes of the tile to a pad in the EIC. TIA input pad. A typical bump diameter may be approximately 100 microns, although bumps may be smaller (eg, 50 microns). Therefore, in some embodiments, the spacing between bumps (eg, 100 microns) may be greater than the space required for the tiles in the strand, in which case the tiles may be spread out to provide approximately even tile spacing.

第45D圖顯示另一個排線4520之例子,描繪包含根調變器4524之瓦片4522之一例,該根調變器將資料值調變到饋送給光複製分配網路之其中一股之光波。各股(包含被根調變器4524饋送之股)之中也有光電子節點4526(此例中為4個節點)之一陣列。在節點4526之中,有為了傳送從EIC到PIC MZI調變器之臂之相位調變值之一組4528凸塊(例如:作為矩陣乘法之調變權重)。瓦片4522也包含結束於焊盤之導線,該等焊盤經由凸塊4530與EIC中之TIA 4532之輸入之焊盤連接。在第45D圖中,顯示凸塊4528、4530以及TIA 4532疊加在瓦片4522上,但並非瓦片4522之一部分。因為瓦片4522之根調變器4524被放置在晶粒上與光複製分配網路之節點不同之位置,連接波導部分的調變器4524包含波導之光學延遲部分(或其他形式之光學延遲),使總有 效光學距離以及相應之時間延遲與其他瓦片之根調變器匹配。因此,在此例中,該波導部分4534比該波導部分4536更長。 Figure 45D shows another example of a cable 4520, depicting an example of a tile 4522 that includes a root modulator 4524 that modulates data values onto one of the optical waves that feeds one of the optical replication distribution networks. . Each strand (including the strand fed by root modulator 4524) also has an array of optoelectronic nodes 4526 (4 nodes in this example). Within node 4526, there is a set of 4528 bumps for transmitting the phase modulation values from the EIC to the PIC MZI modulator arm (eg: modulation weights as matrix multiplication). Tile 4522 also contains wires ending in pads that are connected via bumps 4530 to the pads of the inputs of TIA 4532 in the EIC. In Figure 45D, bumps 4528, 4530 and TIA 4532 are shown superimposed on tile 4522, but are not part of tile 4522. Because the root modulator 4524 of the tile 4522 is placed at a different location on the die than the node of the optical replication distribution network, the modulator 4524 connected to the waveguide portion contains the optical delay portion of the waveguide (or other form of optical delay) , so that there is always The effective optical distance and corresponding time delay match other tile root modulators. Therefore, the waveguide portion 4534 is longer than the waveguide portion 4536 in this example.

第45E圖顯示不同的光電計算系統之另一種光學排線4540,此光電計算系統以EIC代替PIC進行更多計算。此例中,為了4×4矩陣乘法,在PIC中仍有四個瓦片4542、4544、4546及4548之相似配置。然而攜帶調變資料值的光波經由EIC中連接到TIA之凸塊被偵測並耦接到EIC。接著VMM操作之一部分之乘法與加法藉由EIC中之數位電路使用數位值以電氣執行。為了此運算,可能會因為不同波導長度而導致的時間差存在於數位領域同步通訊的環境時可以被補償,因此不需要光學延遲。 Figure 45E shows another optical cable 4540 of a different optoelectronic computing system. This optoelectronic computing system uses EIC instead of PIC to perform more calculations. In this example, there are still four similar configurations of tiles 4542, 4544, 4546 and 4548 in the PIC for 4x4 matrix multiplication. However, the light wave carrying the modulation data value is detected and coupled to the EIC through the bump in the EIC connected to the TIA. The multiplications and additions that are part of the VMM operation are then performed electrically using digital values by digital circuitry in the EIC. For this purpose, possible time differences due to different waveguide lengths can be compensated for in the context of synchronous communications in the digital realm, so no optical delays are required.

第45F圖顯示另一種光學排線4550之例子以及可以發生在瓦片4552中光電處理之類型,該瓦片進行任何PIC中之資料處理的各種類型。通常,光二極體被用來將被分布到排線之不同股之光波上被編碼之光訊號轉換成電訊號。這些電訊號被饋送到PIC中的資料處理電路4560。PIC也包含資料上傳電路4570,為了用來上傳結果到覆晶連接EIC或任何其他形式之積體電子電路之任何操作。 Figure 45F shows another example of optical routing 4550 and the type of optical processing that can occur in tile 4552, which performs various types of data processing in any PIC. Typically, photodiodes are used to convert encoded optical signals onto different strands of light waves distributed across the cable into electrical signals. These electrical signals are fed to data processing circuitry 4560 in the PIC. The PIC also contains a data upload circuit 4570 for uploading the results of any operation to a flip chip connected EIC or any other form of integrated electronic circuit.

第45G圖顯示光電計算系統4580之一種觀點,描繪系統中各種功能之設置之示例,包含用於乘法矩陣元素之權重值(W#,#)、用於光學或電氣加法之光二極體(PD),以及用來將類比電訊號轉換成數位電訊號的類比數位轉換器模組。系統4580中之PIC或EIC中可包含不同部分之功能。 Figure 45G shows a view of the optoelectronic computing system 4580, depicting examples of the setup of various functions in the system, including weight values (W#,#) for multiplying matrix elements, photodiodes (PD) for optical or electrical addition ), and analog-to-digital converter modules used to convert analog electrical signals into digital electrical signals. The PIC or EIC in the system 4580 may contain functions of different parts.

在某些設置中,矩陣乘法可能有不同數目之列或行。舉例來說,對於M×N矩陣乘法器,EIC中存在M個電氣瓦片(每列一個),且PIC中存在M個,其中各瓦片有N權重之調變器,與光學排線中N股的其中之一相對應。如上所述,為了在經歷上更契合,可能會有複數直線:M/2個瓦片之第一直線和M/2個瓦片之第二直線,或是四條M/4個瓦片之直線等等,而不是將M個瓦片排列成一直線。在某些案例中,四條直線可能足夠,因為特殊分配中可能會有遞減回收,然而在一些案例中,直線之數量可能會更多但少於M。 In some settings, matrix multiplication may have a different number of columns or rows. For example, for an M×N matrix multiplier, there are M electrical tiles (one for each column) in the EIC, and M tiles in the PIC, each of which has N-weighted modulators, which are the same as those in the optical cabling. Corresponds to one of the N shares. As mentioned above, in order to be more consistent in experience, there may be a plurality of straight lines: the first straight line of M/2 tiles and the second straight line of M/2 tiles, or four straight lines of M/4 tiles, etc. etc., instead of arranging M tiles in a straight line. In some cases, four lines may be sufficient because there may be decreasing collections in a particular allocation, whereas in some cases the number of lines may be more but less than M.

在一些實施例中,EIC包含元件之電路如權重驅動器、資料驅動器、記憶體(例如為了儲存矩陣之權重,以及累加結果)、數位類比轉換器、類比數位轉換器、數位邏輯(例如:為了累積),以及用來與其他瓦片通訊之部分數位資料匯流排。在大部分案例中,因為不同瓦片間之計算資料相依程度有限,不同瓦片間(例如:矩陣中之不同列)之通訊之需求有限。因此,該布局能允許(短的)列被加總(經由電流)到給定之TIA(以及輸出向量之相應元素)以變成與佈局中之它者相對不相依。大部分時間中,給定之輸出向量與下一迭代之輸入向量之間沒有關係,然而在一計算(例如:一神經網路計算)之某些迭代中,輸出向量與用來進行下一迭代之輸入向量之相應元素之間存在相依性。非常稀有地,可能會有更多相依性存在於其他元素間,例如當所有元素被累積為正規化運 算的一部份,該正規化運算將各元素除以該累積和。因此,在該佈局中,需要與彼此更頻繁溝通之元件可以被設置得離彼此更近。 In some embodiments, the EIC includes circuits of components such as weight drivers, data drivers, memories (for example, to store matrix weights and accumulation results), digital-to-analog converters, analog-to-digital converters, digital logic (for example, to accumulate ), and part of the digital data bus used to communicate with other tiles. In most cases, the need for communication between different tiles (for example, different columns in a matrix) is limited due to the limited dependence of the calculation data between different tiles. Therefore, this layout can allow (short) columns to be summed (via current) to a given TIA (and the corresponding elements of the output vector) to become relatively independent of others in the layout. Most of the time, there is no relationship between a given output vector and the input vector for the next iteration. However, in some iterations of a computation (such as a neural network calculation), the output vector is related to the input vector used to perform the next iteration. There are dependencies between corresponding elements of the input vector. Very rarely, there may be more dependencies between other elements, such as when all elements are accumulated into the normalized operation As part of the calculation, the normalization operation divides each element by the cumulative sum. Therefore, components that need to communicate with each other more frequently can be placed closer to each other in this layout.

第24A圖顯示了用於光電計算系統1800的實現的系統配置2400A的實施例,其中存在託管(host)不同乘法模組(例如:乘法模組1806A、1806B、1806C和1806D)的多個裝置2410,每個乘法模組都被配置作為VMM子系統(後續統稱VMM子系統2410),以藉由較大矩陣的不同子矩陣對向量元素的不同子集執行向量矩陣乘法。舉例來說,每個乘法模組可以被配置與系統配置2110(第21B圖)相似,但不是使用2×2元素矩陣實現VMM子系統,每個乘法模組可以被配置以使用矩陣來實現VMM子系統,矩陣具有與在單一裝置上能有效製造的尺寸一樣的尺寸,裝置具有用於該裝置內的模組的公共基板。舉例來說,每個乘法模組可以使用64×64元素矩陣來實現VMM子系統。 Figure 24A shows an embodiment of a system configuration 2400A for an implementation of an optoelectronic computing system 1800, where there are multiple devices 2410 hosting different multiplication modules (eg, multiplication modules 1806A, 1806B, 1806C, and 1806D) , each multiplication module is configured as a VMM subsystem (hereinafter collectively referred to as VMM subsystem 2410) to perform vector matrix multiplication on different subsets of vector elements by different sub-matrices of a larger matrix. For example, each multiplication module can be configured similar to system configuration 2110 (Figure 21B), but instead of using a 2×2 element matrix to implement the VMM subsystem, each multiplication module can be configured to use a matrix to implement the VMM. The subsystem, matrix, has the same dimensions that can be efficiently fabricated on a single device with a common substrate for the modules within the device. For example, each multiplication module can use a 64×64 element matrix to implement the VMM subsystem.

排列不同的VMM子系統,以便適當地組合每個子矩陣的結果,以產生較大組合矩陣的結果(例如:乘以128×128元素矩陣得到的128元素向量的元素)。每組光學端口或光源2402提供一組光訊號,其表示較大輸入向量的向量元素的不同子集。複製模組2404被配置以複製接收光訊號組(在64個光波導的群組2403中所引導的光波上編碼)內的所有光訊號,並且將該光訊號組提供給兩個不同光波導組中的每一組,其光波導組在此實施例中是64個光波導的群組2405A和64個光波導的群組2405B。舉例來說,藉由使用波導分離器陣列來執行此複製操作,陣列中的每個分離器 藉由將光波導的群組2403中的光波分成在光波導的群組2405A中的第一對應光波和在光波導的群組2405B中的第二對應光波,來複製輸入向量元素子集的一個元素。如果在一些實施例中使用多個波長(例如:W波長),則分開的波導的數量(和因此光學端口或光源2402的數量)可以減少1/W。每個VMM子系統2410執行向量矩陣乘法,提供其部分結果作為一組電訊號(用於輸出向量的元素的子集),來自不同VMM子系統2410的相應部分結果藉由如第24A圖所示的求和模組2414被加在一起,使用了此處所述的任何技術,例如導體之間的接點的電流求和。在一些實施例中,對於任何數量的遞歸階級,通過在遞歸的根級別使用單個元素光學幅度調變器結束,可以藉由組合來自較小子矩陣的結果來遞歸地執行使用期望矩陣的向量矩陣乘法,藉由在遞歸的根級(root level)使用單一元件光幅度調變器來結束。在遞歸的不同級別,VMM子系統裝置可以更緊湊(例如:藉由在一個級別的長距離光纖網路連接的不同資料中心,藉由在另一級別的資料中心內的光纖連接的不同多晶片裝置,藉由在另一級別的光纖連接的裝置內的不同晶片,以及藉由另一級別的晶片上波導(on-chip waveguide)連接的在相同晶片上的模組的不同部分)。 The different VMM subsystems are arranged so that the results of each submatrix are appropriately combined to produce the results of the larger combined matrix (for example: multiplying the elements of a 128-element vector resulting from a 128×128-element matrix). Each set of optical ports or light sources 2402 provides a set of optical signals that represent a different subset of the vector elements of the larger input vector. The replication module 2404 is configured to replicate all optical signals within the received optical signal group (encoded on the light waves guided in the group 2403 of 64 optical waveguides) and provide the optical signal group to two different optical waveguide groups In each group, the optical waveguide group in this embodiment is the group 2405A of 64 optical waveguides and the group 2405B of 64 optical waveguides. For example, by using an array of waveguide splitters to perform this replication operation, each splitter in the array Replicate one of the subset of input vector elements by dividing the light waves in the group of optical waveguides 2403 into a first corresponding light wave in the group of optical waveguides 2405A and a second corresponding light wave in the group of optical waveguides 2405B element. If multiple wavelengths (eg, W wavelength) are used in some embodiments, the number of separate waveguides (and therefore the number of optical ports or light sources 2402) may be reduced by 1/W. Each VMM subsystem 2410 performs a vector-matrix multiplication, providing its partial result as a set of electrical signals (a subset of the elements for the output vector). The corresponding partial results from the different VMM subsystems 2410 are expressed as shown in Figure 24A The summation module 2414 is summed together, using any of the techniques described here, such as current summation at junctions between conductors. In some embodiments, vector matrices using the desired matrix can be performed recursively by combining the results from smaller submatrices, for any number of recursion levels, ending with a single element optical amplitude modulator at the root level of the recursion. The multiplication is completed by using a single-element optical amplitude modulator at the root level of the recursion. At different levels of recursion, VMM subsystem devices can be more compact (e.g., different data centers connected by long-distance fiber optic networks at one level, different multi-chips connected by fiber optics in another data center) devices, different chips within the device connected by fiber optics at another level, and different parts of modules on the same chip connected by on-chip waveguides at another level).

第24B圖顯示了系統配置2400B的另一實施例,其中額外裝置用於對每個VMM子系統2410的光傳輸和接收。在每個VMM子系統2410的輸出中,光發射器陣列2420用於將每個光訊號耦接到光傳輸線內的通道(例如:VMM子系統2410之間的光纖 束(fiber bundle)中的光纖,其VMM子系統2410可以由分離的裝置託管(host)及/或分佈在遠程位置,或者是在積體裝置上的一組波導中的波導,其積體裝置在公共基板上託管VMM子系統2410)。光接收器陣列2422用於輸出向量元件的每個子集,以在部分結果的對應配對由求和模組2414求和之前,將光訊號轉換成電訊號。 Figure 24B shows another embodiment of a system configuration 2400B in which additional devices are used for optical transmission and reception of each VMM subsystem 2410. At the output of each VMM subsystem 2410, an optical transmitter array 2420 is used to couple each optical signal to a channel within an optical transmission line (e.g., an optical fiber between VMM subsystems 2410 Optical fiber in a fiber bundle, whose VMM subsystem 2410 may be hosted by a separate device and/or distributed at a remote location, or a waveguide within a set of waveguides on an integrated device, whose integrated device Host the VMM subsystem 2410) on a common substrate. Optical receiver array 2422 is used to output each subset of vector elements to convert the optical signal into an electrical signal before corresponding pairs of partial results are summed by summation module 2414 .

第24C圖顯示了系統配置2400C的另一實施例,其中可以重新配置VMM子系統2410以使得用於不同子矩陣的不同向量矩陣乘法能夠以不同方式重新佈置。舉例來說,藉由組合不同子矩陣所形成的較大矩陣的形狀可為可配置的。在此實施例中,兩個不同的光訊號子集從每組光學端口或光源2402提供至光學開關2430。還存在電開關2440,其能夠重新排列電訊號子集,其電訊號子集表示要由求和模組2414求和的部分結果,以提供用於期望的計算的一個輸出向量或分離的輸出向量。舉例來說,代替使用由大小m×n的四個子矩陣所組成的大小2m×2n的矩陣的向量矩陣乘法,可以重新佈置VMM子系統2410以使用大小2m×n的矩陣或大小m×2n的矩陣。 Figure 24C shows another embodiment of a system configuration 2400C in which the VMM subsystem 2410 can be reconfigured such that different vector matrix multiplications for different sub-matrices can be rearranged differently. For example, the shape of a larger matrix formed by combining different sub-matrices may be configurable. In this embodiment, two different subsets of optical signals are provided to optical switch 2430 from each set of optical ports or light sources 2402 . There is also an electrical switch 2440 capable of rearranging the subset of electrical signals representing the partial results to be summed by the summation module 2414 to provide one output vector or separate output vectors for the desired calculation. . For example, instead of using vector matrix multiplication of a matrix of size 2mx2n consisting of four submatrices of size mxn , the VMM subsystem 2410 may be rearranged to use a matrix of size 2mxn or a matrix of size mx2n matrix.

第24D圖顯示了系統配置2400D的另一實施例,其中VMM子系統2410可以以其他方式重新配置。光學開關2430可以接收多達四組分離的光訊號,並且可以被配置以將不同組的光訊號提供至不同的VMM子系統2410,或者將任何組的光訊號複製到多個VMM子系統2410。而且,電開關2440可以被配置以將所接 收到的電訊號組的任何組合提供至求和模組2414。這種更大的可重新配置性使得能夠進行更多各種不同的向量矩陣乘法計算,包括使用大小為m×3n3m×nm×4n4m×n的矩陣進行乘法。 Figure 24D shows another embodiment of a system configuration 2400D in which the VMM subsystem 2410 may be reconfigured in other ways. Optical switch 2430 can receive up to four separate sets of optical signals and can be configured to provide different sets of optical signals to different VMM subsystems 2410 or to duplicate any set of optical signals to multiple VMM subsystems 2410 . Furthermore, electrical switch 2440 may be configured to provide any combination of received sets of electrical signals to summing module 2414. This greater reconfigurability enables a wider variety of vector matrix multiplication calculations, including multiplication using matrices of size m×3n , 3m×n , m×4n , 4m×n .

第24E圖顯示系統配置2400E的另一實施例,其包括可執行各種操作(例如:數位邏輯操作)的額外電路,以使系統配置2400E(例如:用於完整的光電計算系統,或者用於較大計算平台的光電子系統)能夠用於實施計算技術,例如人工神經網路或其他形式的機器學習。資料儲存子系統2450可包括揮發性儲存媒體(例如:SRAM及/或DRAM)及/或非揮發性儲存媒體(例如:固態硬碟及/或硬碟)。資料儲存子系統2450還可包括階層式快取模組(hierarchical cache module)。儲存的資料可以括訓練資料、中間結果資料或用於饋送至在線計算系統(online computational system)的生產資料(production data)。資料儲存子系統2450可以被配置以將並發存取(concurrent access)提供至輸入資料,以在由光學端口或光源2402所提供的不同光學訊號上進行調變。以數位形式儲存的資料到可用於調變的類比形式的轉換可以由電路(數位類比轉換器)來執行,電路被包括在資料儲存子系統2450的輸出、或在光學端口或光源2402的輸入、或在兩者之間分開。輔助處理子系統(auxiliary processing subsystem)2460可被配置以對資料執行輔助操作(例如:非線性操作、資料混洗(data shuffling)等),資料可以使用VMM子系統2410透過向量矩陣乘法的多次迭代循環。來自那些輔助操作的結果資料2462可以以數 位形式發送到資料儲存子系統2450。由資料儲存子系統2450檢索的資料可用於使用適當的輸入向量調變光訊號,並且用於提供用來在VMM子系統2410中設置光幅度調變器的調變準位的控制訊號(未顯示)。以類比形式編碼在電訊號上的資料到數位形式的轉換可以由輔助處理子系統2460內的電路(例如:類比數位轉換器)執行。 Figure 24E shows another embodiment of a system configuration 2400E that includes additional circuitry that can perform various operations (e.g., digital logic operations) to enable the system configuration 2400E (e.g., for a complete optoelectronic computing system, or for a larger Optoelectronic systems for large computing platforms) can be used to implement computing techniques such as artificial neural networks or other forms of machine learning. The data storage subsystem 2450 may include volatile storage media (eg, SRAM and/or DRAM) and/or non-volatile storage media (eg, solid state drives and/or hard drives). The data storage subsystem 2450 may also include a hierarchical cache module. The stored data may include training data, intermediate result data, or production data for feeding to an online computational system. Data storage subsystem 2450 may be configured to provide concurrent access to input data for modulation on different optical signals provided by optical port or light source 2402. Conversion of data stored in digital form to an analog form available for modulation may be performed by circuitry (digital-to-analog converter) included at the output of data storage subsystem 2450, or at the input of optical port or light source 2402, Or split between the two. The auxiliary processing subsystem 2460 may be configured to perform auxiliary operations (e.g., nonlinear operations, data shuffling, etc.) on the data, which may be processed multiple times through vector matrix multiplication using the VMM subsystem 2410 Iterative loop. The resulting data 2462 from those auxiliary operations can be The bit form is sent to the data storage subsystem 2450. The data retrieved by the data storage subsystem 2450 can be used to modulate the optical signal using the appropriate input vector and to provide control signals used to set the modulation level of the optical amplitude modulator in the VMM subsystem 2410 (not shown ). Conversion of data encoded in an electrical signal in analog form to digital form may be performed by circuitry within auxiliary processing subsystem 2460 (eg, an analog-to-digital converter).

在一些實施例中,提供數位控制器(未顯示於圖式中)以控制資料儲存子系統2450、階層式快取模組、各種電路(例如數位類比轉換器和類比數位轉換器)、VMM子系統2410以及光學端口或光源2402的操作。舉例來說,數位控制器被配置以執行程式代碼以實現具有多個隱藏層的神經網路。數位控制器迭代地執行與神經網路的各個層相關聯的矩陣處理。數位控制器藉由從資料儲存子系統2450檢索第一矩陣資料並且基於檢索的資料設置VMM子系統2410中的光幅度調變器的調變準未來執行矩陣處理的第一次迭代,其中第一矩陣資料表示神經網路的第一層的係數。數位控制器從資料儲存子系統檢索一組輸入資料,並且設置用於光學端口或光源2402的調變準位,以產生表示第一輸入向量的元素的一組光輸入訊號。 In some embodiments, a digital controller (not shown in the figures) is provided to control the data storage subsystem 2450, the hierarchical cache module, various circuits (such as digital-to-analog converters and analog-to-digital converters), VMM subsystems Operation of system 2410 and optical port or light source 2402. For example, the digital controller is configured to execute program code to implement a neural network with multiple hidden layers. The digital controller iteratively performs matrix processing associated with each layer of the neural network. The digital controller performs a first iteration of matrix processing by retrieving the first matrix data from the data storage subsystem 2450 and setting the modulation quasi-future of the optical amplitude modulator in the VMM subsystem 2410 based on the retrieved data, wherein the first The matrix data represents the coefficients of the first layer of the neural network. The digital controller retrieves a set of input data from the data storage subsystem and sets the modulation levels for the optical port or light source 2402 to generate a set of optical input signals representing elements of the first input vector.

VMM子系統2410基於第一輸入向量和第一矩陣資料執行矩陣處理,表示神經網路的第一層對訊號的處理。在輔助處理子系統2450產生第一組結果資料2462之後,數位控制器藉由從資料儲存子系統檢索表示神經網路的第二層的係數的第二矩陣資 料,並且基於第二矩陣資料設置VMM子系統2410中的光幅度調變器的調變準未來,來執行矩陣處理的第二次迭代。第一組結果數據2462用來作為第二輸入向量,以設置光學端口或光源2402的調變準位。VMM子系統2410基於第二輸入向量和第二矩陣資料執行矩陣處理,表示神經網路的第二層對訊號的處理,以此類推。在最後一次迭代中,產生由神經網路的最後一層處理訊號的輸出。 The VMM subsystem 2410 performs matrix processing based on the first input vector and the first matrix data, representing the processing of the signal by the first layer of the neural network. After the auxiliary processing subsystem 2450 generates the first set of result data 2462, the digital controller retrieves the second matrix information representing the coefficients of the second layer of the neural network from the data storage subsystem. The second iteration of matrix processing is performed by setting the modulation quasi-future of the optical amplitude modulator in the VMM subsystem 2410 based on the second matrix data. The first set of result data 2462 is used as a second input vector to set the modulation level of the optical port or light source 2402. The VMM subsystem 2410 performs matrix processing based on the second input vector and the second matrix data, representing the processing of the signal by the second layer of the neural network, and so on. In the last iteration, the output of the signal processed by the last layer of the neural network is produced.

在一些實施例中,當執行與神經網路的隱藏層相關聯的計算時,結果資料2462不是被發送到資料儲存子系統2450,而是被數位控制器用來直接控制數位類比轉換器,其數位類比轉換器產生用於在VMM子系統2410中設置光幅度調變器的調變準位的控制訊號。這減少了將資料儲存到資料儲存子系統2450和從資料儲存子系統2450存取資料所需的時間。 In some embodiments, when performing computations associated with the hidden layers of the neural network, the resulting data 2462 is not sent to the data storage subsystem 2450 but is used by the digital controller to directly control the digital-to-analog converter, whose digital The analog converter generates a control signal for setting the modulation level of the optical amplitude modulator in the VMM subsystem 2410. This reduces the time required to store data to and access data from the data storage subsystem 2450.

可以將其他處理技術結合到系統配置的其他實施例中。舉例來說,與其他種類的像向量矩陣乘法子系統一起使用的各種技術(例如:不具有此處所述的電求和或有號乘法而使用光干涉的子系統)可以結合到一些系統配置中,例如美國專利公開No.US 2017/0351293中所述的一些技術,其由引用完全併入本文。 Other processing techniques may be incorporated into other embodiments of system configurations. For example, various techniques used with other kinds of subsystems like vector matrix multiplication (e.g., subsystems that do not have electrical summation or signed multiplication as described here but instead use optical interference) may be incorporated into some system configurations , such as some of the techniques described in U.S. Patent Publication No. US 2017/0351293, which is fully incorporated herein by reference.

參照第32A圖,人工神經網路(ANN)計算系統3200包括光電矩陣乘法單元3220,光電矩陣乘法單元3220包括如第18圖至第24D圖所示的複製模組、乘法模組以及求和模組,以能夠在執行矩陣計算時處理非相干或低相干光訊號。人工神經網路計算系統3200包括控制器110、記憶體單元120、DAC單元130以及ADC 單元160,與第1A圖的人工神經網路計算系統100的那些相似。控制器110接收來自電腦102的請求,並且將計算輸出發送到電腦102,與第1A圖所示的相似。 Referring to Figure 32A, the artificial neural network (ANN) computing system 3200 includes a photoelectric matrix multiplication unit 3220. The photoelectric matrix multiplication unit 3220 includes a copy module, a multiplication module and a summation module as shown in Figures 18 to 24D. set to be able to handle incoherent or low-coherence optical signals when performing matrix calculations. The artificial neural network computing system 3200 includes a controller 110, a memory unit 120, a DAC unit 130 and an ADC. Units 160 are similar to those of the artificial neural network computing system 100 of Figure 1A. Controller 110 receives requests from computer 102 and sends computational output to computer 102, similar to that shown in Figure 1A.

光電處理器3210包括光源3230,其可以與第1A圖的雷射單元142相似,其中光源3230的多個輸出訊號是相干的。光源3230還可以使用發光二極體來產生不相干或具有低相干性的多個輸出訊號。光電矩陣乘法單元3220包括調變器陣列144,調變器陣列144接收由第一DAC子單元132基於輸入向量產生的調變器控制訊號,與由第1A圖的光處理器140所執行的操作相似。調變器陣列144的輸出可比為第18圖中的光學端口或光源1802的輸出。光電矩陣乘法單元3220處理來自調變器陣列144的光訊號的方式與在第18圖中的複製模組1804、乘法模組1806以及求和模組1808處理來自光學端口或光源1802的光訊號的方式相似。 The optoelectronic processor 3210 includes a light source 3230, which may be similar to the laser unit 142 of FIG. 1A, where multiple output signals of the light source 3230 are coherent. The light source 3230 may also use light emitting diodes to generate multiple output signals that are incoherent or have low coherence. The optoelectronic matrix multiplication unit 3220 includes a modulator array 144 that receives the modulator control signal generated by the first DAC subunit 132 based on the input vector and the operations performed by the optical processor 140 of FIG. 1A resemblance. The output of modulator array 144 may be compared to the output of optical port or light source 1802 in Figure 18. The optical matrix multiplication unit 3220 processes the optical signal from the modulator array 144 in the same manner as the replica module 1804, the multiplication module 1806, and the summation module 1808 in FIG. 18 process the optical signal from the optical port or light source 1802. In a similar way.

參照第32B圖,光電矩陣乘法單元3220接收輸入向量

Figure 110132252-A0305-02-0215-31
,並且將輸入向量乘以矩陣
Figure 110132252-A0305-02-0215-33
,以產生 輸出向量
Figure 110132252-A0305-02-0215-32
。 Referring to Figure 32B, the photoelectric matrix multiplication unit 3220 receives the input vector
Figure 110132252-A0305-02-0215-31
, and multiply the input vector by the matrix
Figure 110132252-A0305-02-0215-33
, to produce the output vector
Figure 110132252-A0305-02-0215-32
.

光電矩陣乘法單元3220包括m個光路徑1803_1、1803_2、...、1803_m(統稱為1803),其承載表示輸入向量的光訊號。複製模組1804_1將輸入光訊號v 1的副本提供給乘法模組1806_11、1806_21、...、1806_m1。複製模組1804_2將輸入光 訊號v 2的副本提供給乘法模組1806_12、1806_22、...、1806_m2。複製模組1804_n將輸入光訊號v n 的副本提供給乘法模組1806_1n、1806_2n、...、1806_mnThe optoelectronic matrix multiplication unit 3220 includes m optical paths 1803_1, 1803_2, ..., 1803_m (collectively 1803), which carry optical signals representing input vectors. The copy module 1804_1 provides a copy of the input optical signal v 1 to the multiplication modules 1806_11, 1806_21, ..., 1806_ m 1 . The copy module 1804_2 provides a copy of the input optical signal v 2 to the multiplication modules 1806_12, 1806_22, ..., 1806_m2 . The copy module 1804_n provides a copy of the input optical signal vn to the multiplication modules 1806_1n , 1806_2n ,..., 1806_mn .

如上面所述,由複制模組1804_1提供的光訊號v 1的副本的幅度相對於彼此是相同的(或大抵相同的),但是與調變器陣列144所提供的光訊號v 1不同。舉例來說,如果複製模組1804_1在m個信號中均勻地分割由調變器陣列144所提供的光訊號v 1的訊號功率,則m個訊號中的每一個將具有等於或小於調變器陣列144所提供的光訊號v 1的功率的1/m的功率。 As described above, the amplitudes of the replicas of optical signal v 1 provided by replica module 1804_1 are the same (or substantially the same) relative to each other, but are different from the optical signal v 1 provided by modulator array 144 . For example, if replication module 1804_1 evenly divides the signal power of optical signal v 1 provided by modulator array 144 among m signals, then each of the m signals will have a modulator power equal to or less than The array 144 provides a power of 1/ m of the power of the optical signal v 1 .

乘法模組1806_11將輸入訊號v 1與矩陣元素M 11相乘以產生M 11v 1。乘法模組1806_21將輸入訊號v 1與矩陣元素M 21相乘以產生M 21v 1。乘法模組1806_m1將輸入訊號v 1與矩陣元素M m1相乘以產生M m1v 1。乘法模組1806_12將輸入訊號v 2與矩陣元素M 12相乘以產生M 12v 2。乘法模組1806_22將輸入訊號v 2與矩陣元素M 22相乘以產生M 22v 2。乘法模組1806_m2將輸入訊號v 2與矩陣元素M m2相乘以產生M m2v 2。乘法模組1806_1n將輸入訊號v n 與矩陣元素M 1n 相乘以產生M 1n v n 。乘法模組1806_2n將輸入訊號v n 與矩陣元素M 2n 相乘以產生M 2n v n 。乘法模組1806_mn將輸入訊號v n 與矩陣元素M mn 相乘以產生M mn v n ,以此類推。 The multiplication module 1806_11 multiplies the input signal v 1 and the matrix element M 11 to generate M 11 . v1 . The multiplication module 1806_21 multiplies the input signal v 1 and the matrix element M 21 to generate M 21 . v1 . The multiplication module 1806_ m 1 multiplies the input signal v 1 and the matrix element M m 1 to generate M m 1 . v1 . The multiplication module 1806_12 multiplies the input signal v 2 and the matrix element M 12 to generate M 12 . v2 . The multiplication module 1806_22 multiplies the input signal v 2 and the matrix element M 22 to generate M 22 . v2 . The multiplication module 1806_ m 2 multiplies the input signal v 2 and the matrix element M m 2 to generate M m 2 . v2 . The multiplication module 1806_1 n multiplies the input signal v n and the matrix element M 1 n to generate M 1 n . vn . The multiplication module 1806_2 n multiplies the input signal v n and the matrix element M 2 n to generate M 2 n . vn . The multiplication module 1806_mn multiplies the input signal v n and the matrix element M mn to generate M mn . v n , and so on.

第二DAC子單元134基於矩陣元素的數值產生控制信號,並且將控制信號發送到乘法模組1806,以使乘法模組1806能夠藉由使用光幅度調變將輸入向量元素的數值乘以矩陣元素的數 值。舉例來說,乘法模組1806_11可包括光幅度調變器,並且藉由將矩陣元素M 11的數值編碼作為應用於表示輸入向量元素v 1的輸入光訊號的幅度調變準位,可以實現將輸入向量元素v 1乘以矩陣元素M 11The second DAC subunit 134 generates a control signal based on the value of the matrix element and sends the control signal to the multiplication module 1806 so that the multiplication module 1806 can multiply the value of the input vector element by the matrix element by using optical amplitude modulation. value. For example, the multiplication module 1806_11 may include an optical amplitude modulator, and by encoding the numerical value of the matrix element M 11 as the amplitude modulation level applied to the input optical signal representing the input vector element v 1 , the The input vector element v 1 is multiplied by the matrix element M 11 .

求和模組1808_1接收乘法模組1806_11、1806_12、...、1806_1n的輸出,並且產生等於M 11 v 1+M 12 v 2+…+M 1n v n 的總和y 1。求和模組1808_2接收乘法模組1806_21、1806_22、...、1806_2n的輸出,並且產生等於M 21 v 1+M 22 v 2+…+M 2n v n 的總和y 2。求和模組1808_n接收乘法模組1806_m1、1806_m2、...、1806_mn的輸出,並且產生等於M m1 v 1+M m2 v 2+…+M mn v n 的總和y n 。在人工神經網路計算系統3200中,光電矩陣乘法單元3220的輸出被提供給ADC單元160,而不會如第1A圖的人工神經網路計算系統100中的情況通過偵測單元146。這是因為乘法模組1806或求和模組1808已經將光訊號轉換成電訊號,因此人工神經網路計算系統3200中不需要分開的偵測單元146。 The summation module 1808_1 receives the outputs of the multiplication modules 1806_11, 1806_12, ..., 1806_1 n and produces a sum y 1 equal to M 11 v 1 + M 12 v 2 + ... + M 1 n v n . The summation module 1808_2 receives the outputs of the multiplication modules 1806_21 , 1806_22 , ... , 1806_2n and produces a sum y2 equal to M21v1 + M22v2 + ... + M2nvn . The summation module 1808_n receives the outputs of the multiplication modules 1806_m1, 1806_m2 , ... , 1806_mn and produces a sum equal to Mm1v1 + Mm2v2 + ... + Mmnvn y n . In the artificial neural network computing system 3200, the output of the photoelectric matrix multiplication unit 3220 is provided to the ADC unit 160 without passing through the detection unit 146 as in the artificial neural network computing system 100 of FIG. 1A. This is because the multiplication module 1806 or the summation module 1808 has already converted the optical signal into an electrical signal, so there is no need for a separate detection unit 146 in the artificial neural network computing system 3200 .

第33圖顯示了使用第32A圖的ANN計算系統3200執行ANN計算的方法3300的流程圖。方法3300的步驟可以由ANN計算系統3200的控制器110執行。在一些實施例中,方法3300的各個步驟可以並行、組合、循環或以任何順序運行。 Figure 33 shows a flow diagram of a method 3300 of performing ANN calculations using the ANN calculation system 3200 of Figure 32A. The steps of method 3300 may be performed by controller 110 of ANN computing system 3200. In some embodiments, the various steps of method 3300 may be run in parallel, combined, in a loop, or in any order.

在步驟3310中,接收包括輸入資料集和第一多個神經網路權重的人工神經網路(ANN)計算請求。輸入資料集包括第 一數位輸入向量。第一個數位輸入向量是輸入資料集的子集。舉例來說,它可以是影像的子區域。ANN計算請求可以由各種實體(例如第32A圖的電腦102)產生。電腦可包括各種類型的計算裝置中的一或多個,例如個人電腦、伺服器電腦、載具電腦和飛行電腦。ANN計算請求通常是指通知或告知要執行ANN計算的ANN計算系統100的電訊號。在一些實施例中,ANN計算請求可以被分為兩個或多個訊號。舉例來說,第一訊號可以詢問(query)ANN計算系統3300以檢查ANN計算系統3300是否準備好接收輸入資料集和第一多個神經網路權重。響應於ANN計算系統3300的肯定應答,電腦102可以發送包括輸入資料集和第一多個神經網路權重的第二訊號。 In step 3310, an artificial neural network (ANN) calculation request including an input data set and a first plurality of neural network weights is received. The input data set includes the One-digit input vector. The first digit input vector is a subset of the input data set. For example, it could be a subregion of the image. ANN calculation requests may be generated by various entities (eg, computer 102 of Figure 32A). Computers may include one or more of various types of computing devices, such as personal computers, server computers, vehicle computers, and flight computers. The ANN calculation request generally refers to an electrical signal that notifies or informs the ANN calculation system 100 that the ANN calculation is to be performed. In some embodiments, an ANN calculation request may be split into two or more signals. For example, the first signal may query the ANN computing system 3300 to check whether the ANN computing system 3300 is ready to receive the input data set and the first plurality of neural network weights. In response to a positive response from the ANN computing system 3300, the computer 102 may send a second signal including the input data set and the first plurality of neural network weights.

在步驟3320中,儲存輸入資料集和第一多個神經網路權重。控制器110可以將輸入資料集和第一多個神經網路權重儲存在記憶體單元120中。在記憶體單元120中儲存輸入資料集和第一多個神經網路權重可以允許ANN計算系統3300的操作中的靈活性,例如可以改善系統的整體效能。舉例來說,藉由從記憶體單元120檢索(retrieve)輸入資料集的期望部分,可以將輸入資料集分為設定大小和格式的數位輸入向量。輸入資料集的不同部分可以以各種順序處理,或者被混洗(shuffled),以允許執行各種類型的ANN計算。舉例來說,在輸入和輸出矩陣大小不同的情況下,混洗可以允許藉由塊矩陣乘法技術執行矩陣乘法。作為另一實施例,將輸入資料集和第一多個神經網路權重儲存在記憶體單元120中可 以允許藉由ANN計算系統3300對多個ANN計算請求進行排隊,這可以允許ANN計算系統3300以其全速維持操作而沒有不活動的時段。 In step 3320, the input data set and the first plurality of neural network weights are stored. The controller 110 may store the input data set and the first plurality of neural network weights in the memory unit 120 . Storing the input data set and the first plurality of neural network weights in the memory unit 120 may allow flexibility in the operation of the ANN computing system 3300, which may, for example, improve the overall performance of the system. For example, by retrieving a desired portion of the input data set from memory unit 120, the input data set may be divided into numeric input vectors of a set size and format. Different parts of the input data set can be processed in various orders, or shuffled, to allow various types of ANN calculations to be performed. For example, shuffling can allow matrix multiplication to be performed via block matrix multiplication techniques when the input and output matrices are of different sizes. As another embodiment, the input data set and the first plurality of neural network weights may be stored in the memory unit 120 To allow multiple ANN computing requests to be queued by the ANN computing system 3300, this may allow the ANN computing system 3300 to maintain operation at its full speed without periods of inactivity.

在一些實施例中,輸入資料集可以儲存在第一記憶體子單元中,並且第一多個神經網路權重可以儲存在第二記憶體子單元中。 In some embodiments, the input data set may be stored in a first memory subunit and the first plurality of neural network weights may be stored in a second memory subunit.

在步驟3330中,基於第一數位輸入向量產生第一多個調變器控制訊號,並且基於第一多個神經網路權重產生第一多個權重控制訊號。控制器110可以將第一DAC控制訊號發送至DAC單元130,以產生第一多個調變器控制訊號。DAC單元130基於第一DAC控制訊號產生第一多個調變器控制訊號,並且調變器陣列144產生表示第一數位輸入向量的光輸入向量。 In step 3330, a first plurality of modulator control signals are generated based on the first digital input vector, and a first plurality of weight control signals are generated based on the first plurality of neural network weights. The controller 110 may send the first DAC control signal to the DAC unit 130 to generate a first plurality of modulator control signals. DAC unit 130 generates a first plurality of modulator control signals based on the first DAC control signal, and modulator array 144 generates an optical input vector representing a first digital input vector.

第一DAC控制訊號可包括將要由DAC單元130轉換成第一多個調變器控制訊號的多個數位值。多個數位值通常對應第一數位輸入向量,並且可以透過各種數學關係或查找表來關聯。舉例來說,多個數位值可以與第一數位輸入向量的元素的數值成線性比例。作為另一實施例,多個數位值可以透過查找表與第一數位輸入向量的元素關聯,該查找表被配置以維持數位輸入向量與由調變器陣列144產生的光輸入向量之間的線性關係。 The first DAC control signal may include a plurality of digital values to be converted by the DAC unit 130 into a first plurality of modulator control signals. Multiple digit values typically correspond to the first digit input vector and can be related through various mathematical relationships or lookup tables. For example, the plurality of digit values may be linearly proportional to the values of the elements of the first digit input vector. As another example, a plurality of digital values may be associated with elements of the first digital input vector via a lookup table configured to maintain linearity between the digital input vector and the light input vector generated by the modulator array 144 relation.

控制器110可以將第二DAC控制訊號發送至DAC單元130,以產生第一多個權重控制訊號。DAC單元130基於第二DAC控制訊號產生第一多個權重控制訊號,並且根據第一多個權 重控制訊號重新配置光電矩陣乘法單元3220,實現對應第一多個神經網路權重的矩陣。 The controller 110 may send the second DAC control signal to the DAC unit 130 to generate the first plurality of weight control signals. The DAC unit 130 generates a first plurality of weight control signals based on the second DAC control signal, and The heavy control signal reconfigures the photoelectric matrix multiplication unit 3220 to implement matrices corresponding to the first plurality of neural network weights.

第二DAC控制訊號可包括將要由DAC單元130轉換成第一多個權重控制訊號的多個數位值。多個數位值通常對應第一多個神經網路權重,並且可以透過各種數學關係或查找表來關聯。舉例來說,多個數位值可以與第一多個神經網路權重成線性比例。作為另一實施例,多個數位值可以藉由對第一多個神經網路權重執行各種數學操作來計算,以產生權重控制訊號,權重控制信號可以配置光電矩陣乘法單元3220以執行對應第一多個神經網路權重的矩陣乘法。 The second DAC control signal may include a plurality of digital values to be converted by the DAC unit 130 into the first plurality of weighted control signals. Multiple numerical values typically correspond to a first plurality of neural network weights, and can be related through various mathematical relationships or lookup tables. For example, the plurality of numerical values may be linearly proportional to the first plurality of neural network weights. As another embodiment, a plurality of digital values may be calculated by performing various mathematical operations on the first plurality of neural network weights to generate a weight control signal. The weight control signal may configure the photoelectric matrix multiplication unit 3220 to perform corresponding to the first Matrix multiplication of multiple neural network weights.

在步驟3340中,得到對應光電矩陣乘法單元3220的電輸出向量的第一多個數位輸出。由調變器陣列144所產生的光輸入向量由光電矩陣乘法單元3220處理並且轉換為電輸出向量。電輸出向量由ADC單元160轉換成數位值。控制器110可以將轉換請求發送至ADC單元160,以開始將光電矩陣乘法單元3220輸出的電壓轉換為數位輸出。一旦轉換完成,ADC單元160可將轉換結果發送至控制器110。或者,控制器110可以從ADC單元160檢索轉換結果。控制器110可以從數位輸出形成數位輸出向量,該數位輸出向量對應輸入數位向量的矩陣乘法的結果。舉例來說,數位輸出可以被組織或連接以具有向量格式。 In step 3340, a first plurality of digital outputs corresponding to the electrical output vector of the photoelectric matrix multiplication unit 3220 are obtained. The optical input vector generated by the modulator array 144 is processed by the optoelectronic matrix multiplication unit 3220 and converted into an electrical output vector. The electrical output vector is converted into a digital value by ADC unit 160. The controller 110 may send a conversion request to the ADC unit 160 to start converting the voltage output by the photoelectric matrix multiplication unit 3220 into a digital output. Once the conversion is completed, the ADC unit 160 may send the conversion result to the controller 110 . Alternatively, the controller 110 may retrieve the conversion results from the ADC unit 160 . Controller 110 may form a digital output vector from the digital output, the digital output vector corresponding to the result of matrix multiplication of the input digital vector. For example, digital output can be organized or concatenated to have a vector format.

在一些實施例中,可基於由控制器110將DAC控制訊號發出到DAC單元130,來設定或控制ADC單元160以執行 ADC轉換。舉例來說,ADC轉換可以被設定以在DAC單元130產生調變控制訊號之後的預設時間開始。ADC轉換的這種控制可以簡化控制器110的操作並且減少必要的控制操作的數量。 In some embodiments, the ADC unit 160 may be set or controlled to perform based on the DAC control signal being sent by the controller 110 to the DAC unit 130 ADC conversion. For example, the ADC conversion may be set to start at a preset time after the DAC unit 130 generates the modulation control signal. Such control of ADC conversion can simplify the operation of the controller 110 and reduce the number of necessary control operations.

在步驟3350中,對第一數位輸出向量執行非線性轉換以產生第一轉換數位輸出向量。ANN的節點或人工神經元藉由首先執行從先前層的節點接收的訊號的權重總和,然後執行權重總和的非線性轉換(“激活”)以產生輸出來進行操作。各種類型的ANN可以實現各種類型的可微分的非線性轉換。非線性轉換函數的實施例包括修正線性單元(rectified linear unit;RELU)函數、Sigmoid函數、雙曲正切函數(yperbolic tangent function),X^2函數以及|X|函數。由控制器110對第一數位輸出執行這種非線性轉換,以產生第一轉換數位輸出向量。在一些實施例中,非線性轉換可由控制器110內的專用數位積體電路執行。舉例來說,控制器110可包括一或多個模組或電路塊,其特別適於加速一或多種類型的非線性轉換的計算。 In step 3350, a non-linear transformation is performed on the first digital output vector to produce a first transformed digital output vector. An ANN's nodes, or artificial neurons, operate by first performing a weighted summation of signals received from nodes in previous layers, and then performing a nonlinear transformation ("activation") of the weighted summation to produce an output. Various types of ANN can implement various types of differentiable nonlinear transformations. Examples of nonlinear transformation functions include a rectified linear unit (RELU) function, a sigmoid function, a hyperbolic tangent function, an X^2 function, and an |X| function. This non-linear conversion is performed on the first digital output by controller 110 to produce a first converted digital output vector. In some embodiments, the nonlinear conversion may be performed by dedicated digital integrated circuits within controller 110 . For example, controller 110 may include one or more modules or circuit blocks that are particularly suitable for accelerating the calculation of one or more types of nonlinear transformations.

在步驟3360中,儲存第一轉換數位輸出向量。控制器110可以將第一轉換數位輸出向量儲存在記憶體單元120中。在輸入資料集被分成多個數位輸入向量的情況下,第一轉換數位輸出向量對應輸入資料集的一部分的ANN計算結果,例如第一數位輸入向量。如此一來,儲存第一轉換數位輸出向量允許ANN計算系統3200在輸入資料集的其他數位輸入向量上執行和儲存額外計算,以在稍後被聚合成單一ANN輸出。 In step 3360, the first converted digital output vector is stored. The controller 110 may store the first converted digital output vector in the memory unit 120 . In the case where the input data set is divided into a plurality of digit input vectors, the first converted digit output vector corresponds to the ANN calculation result of a portion of the input data set, such as the first digit input vector. As such, storing the first transformed digital output vector allows the ANN calculation system 3200 to perform and store additional calculations on other digital input vectors of the input data set to be later aggregated into a single ANN output.

在步驟3370中,輸出基於第一轉換數位輸出向量產生的人工神經網路輸出。控制器110產生ANN輸出,其是透過由第一多個神經網路權重所定義的ANN處理輸入資料集的結果。在輸入資料集被分成多個數位輸入向量的情況下,所產生的ANN輸出是包括第一轉換數位輸出的聚合輸出,但是可更包括對應輸入資料集的其他部分的額外轉換數位輸出。一旦產生ANN輸出,就將所產生的輸出發送至發起ANN計算請求的電腦(例如電腦102)。 In step 3370, the artificial neural network output generated based on the first converted digital output vector is output. The controller 110 generates an ANN output that is a result of processing the input data set through an ANN defined by the first plurality of neural network weights. Where the input data set is divided into multiple digital input vectors, the resulting ANN output is an aggregate output that includes the first transformed digital output, but may further include additional transformed digital outputs corresponding to other portions of the input data set. Once the ANN output is generated, the generated output is sent to the computer that initiated the ANN calculation request (eg, computer 102).

可以為實現方法3300的ANN計算系統3200定義各種效能指標(performance metric)。定義效能指標可以允許將實現光電處理器3210的ANN計算系統3200的效能與用於替代實現電矩陣乘法單元(electronic matrix multiplication unit)的ANN計算的其他系統的效能進行比較。在一個觀點中,可以執行ANN計算的速率可以部分地由第一循環週期指示,第一循環週期定義為在記憶體單元中儲存輸入資料集和第一多個神經網路權重的步驟3320與在記憶體單元中儲存第一轉換數位輸出向量的步驟3360之間所經過的時間。因此,第一循環週期包括將電訊號轉換成光訊號(例如:步驟3330)、在光域和電域中執行矩陣乘法(例如:步驟3340)所花費的時間。步驟3320和3360都涉及將資料儲存至記憶體單元120中,這是在ANN計算系統3200和沒有光電處理器3210的習知ANN計算系統之間共享的步驟。如此一來,測量記憶體到記憶體交易時間(memory-to-memory transaction time)的第一循環週期可以允許在ANN計算系統3200與沒有光電處理器3210的 ANN計算系統(例如實現電矩陣乘法單元的系統)之間進行ANN計算流通量的實際或公平比較。 Various performance metrics may be defined for the ANN computing system 3200 implementing the method 3300. Defining performance metrics may allow the performance of the ANN computing system 3200 implementing the optoelectronic processor 3210 to be compared with the performance of other systems used to alternatively implement ANN computing of the electronic matrix multiplication unit. In one view, the rate at which ANN computations can be performed can be dictated in part by the first loop period, which is defined as the step 3320 of storing the input data set and the first plurality of neural network weights in a memory unit versus The time elapsed between steps 3360 of storing the first converted digital output vector in the memory unit. Therefore, the first cycle includes the time spent converting the electrical signal into an optical signal (eg, step 3330) and performing matrix multiplication in the optical and electrical domains (eg, step 3340). Both steps 3320 and 3360 involve storing data into the memory unit 120, which is a step shared between the ANN computing system 3200 and conventional ANN computing systems without the optoelectronic processor 3210. In this way, measuring the memory-to-memory transaction time of the first cycle may allow the ANN computing system 3200 to be used with or without the optoelectronic processor 3210. Actual or fair comparison of ANN calculation flows between ANN calculation systems (such as systems implementing electrical matrix multiplication units).

由於調變器陣列144可以產生光輸入向量的速率(例如:在25GHz)和光電矩陣乘法單元3220的處理速率(例如:>25GHz),用於執行單一數位輸入向量的單一ANN計算的ANN計算系統3200的第一循環週期可以接近調變器陣列144的速度的倒數(例如40ps)。在考慮與DAC單元130的訊號產生和ADC單元160的ADC轉換相關聯的延遲之後,第一循環週期可以小於或等於100ps、小於或等於200ps、小於或等於500ps、小於或等於1ns、小於或等於2ns、小於或等於5ns、或小於或等於10ns。 Due to the rate at which the modulator array 144 can generate optical input vectors (e.g., at 25 GHz) and the processing rate of the optoelectronic matrix multiplication unit 3220 (e.g., >25 GHz), an ANN computing system for performing a single ANN calculation of a single digit input vector The first cycle period of 3200 may be close to the reciprocal of the speed of modulator array 144 (eg, 40 ps). The first cycle period may be less than or equal to 100 ps, less than or equal to 200 ps, less than or equal to 500 ps, less than or equal to 1 ns, less than or equal to 2ns, less than or equal to 5ns, or less than or equal to 10ns.

作為比較,電矩陣乘法單元的M×1向量和M×M矩陣的乘法執行時間通常與M^2-1個處理器時鐘週期(processor clock cycle)成比例。對於M=32,這種乘法將花費大約1024個週期,其在3GHz時鐘速度下導致執行時間超過300ns,這比ANN計算系統3200的第一循環週期慢幾個數量級。 For comparison, the multiplication execution time of M×1 vectors and M×M matrices of the electrical matrix multiplication unit is usually proportional to M^2-1 processor clock cycles. For M=32, this multiplication will take approximately 1024 cycles, which results in an execution time of over 300ns at a 3GHz clock speed, which is several orders of magnitude slower than the first cycle period of the ANN computing system 3200.

在一些實施例中,方法3300更包括基於第一轉換數位輸出向量產生第二多個調變器控制訊號的步驟。在一些類型的ANN計算中,單一數位輸入向量可以透過相同的ANN重複傳播或由相同的ANN處理。如上面所述,實現多次通過處理(multi-pass processing)的ANN可以稱為遞歸神經網路(recurrent neural network;RNN)。RNN是神經網路,其中在第(k)次通過神經網路期間網絡的輸出被再循環回到神經網路的輸入並且在第(k+1)次 通過期間被用作輸入。RNN可以在圖案識別任務中具有各種應用,例如語音或手寫識別。一旦產生了第二多個調變器控制信號,方法3300就可以從步驟3340進行到步驟3360,以完成第一數位輸入向量通過ANN的第二次。通常來說,根據在ANN計算請求中所接收的RNN的特性,將轉換的數位輸出作為數位輸入向量的再循環可以重複預定數量的循環。 In some embodiments, method 3300 further includes the step of generating a second plurality of modulator control signals based on the first converted digital output vector. In some types of ANN calculations, a single digit input vector can be repeatedly propagated through the same ANN or processed by the same ANN. As mentioned above, an ANN that implements multi-pass processing can be called a recurrent neural network (RNN). RNN is a neural network in which the output of the network during the (k)th pass through the neural network is recycled back to the input of the neural network and during the (k+1)th pass The passing period is used as input. RNNs can have various applications in pattern recognition tasks, such as speech or handwriting recognition. Once the second plurality of modulator control signals are generated, method 3300 may proceed from step 3340 to step 3360 to complete the second pass of the first digital input vector through the ANN. Generally speaking, the recycling of the converted digital output as a digital input vector can be repeated for a predetermined number of cycles depending on the characteristics of the RNN received in the ANN calculation request.

在一些實施例中,方法3300更包括基於第二多個神經網路權重產生第二多個權重控制訊號的步驟。在一些情況下,人工神經網路計算請求更包括第二多個神經網路權重。如上面所述,通常來說,除了輸入層和輸出層之外,ANN還具有一或多個隱藏層。對於具有兩個隱藏層的ANN,第二多個神經網路權重可對應ANN的第一層與ANN的第二層之間的連接性。為了透過ANN的兩個隱藏層處理第一數位輸入向量,可以首先根據方法3300處理第一數位輸入向量直到步驟3360,其中在步驟3360透過ANN的第一隱藏層處理第一數位輸入向量的結果儲存在記憶體單元120中。接著控制器110重新配置光電矩陣乘法單元3220以執行對應與ANN的第二隱藏層相關聯的第二多個神經網路權重的矩陣乘法。一旦光電矩陣乘法單元3220被重新配置,方法3300可以基於第一轉換數位輸出向量產生多個調變器控制訊號,其產生對應第一隱藏層的輸出的更新的光輸入向量。接著更新的光輸入向量由重新配置的光電矩陣乘法單元3220處理,光電矩陣乘法單元3220對應ANN的第二 隱藏層。通常來說,所述的步驟可以重複直到已經透過ANN的所有隱藏層處理了數位輸入向量。 In some embodiments, the method 3300 further includes the step of generating a second plurality of weight control signals based on the second plurality of neural network weights. In some cases, the artificial neural network calculation request further includes a second plurality of neural network weights. As mentioned above, generally speaking, in addition to the input layer and output layer, ANN also has one or more hidden layers. For an ANN with two hidden layers, the second plurality of neural network weights may correspond to the connectivity between the first layer of the ANN and the second layer of the ANN. In order to process the first digital input vector through the two hidden layers of the ANN, the first digital input vector may first be processed according to the method 3300 until step 3360, where the result of processing the first digital input vector through the first hidden layer of the ANN is stored in step 3360. in memory unit 120. The controller 110 then reconfigures the optoelectronic matrix multiplication unit 3220 to perform matrix multiplication corresponding to the second plurality of neural network weights associated with the second hidden layer of the ANN. Once the opto-matrix multiplication unit 3220 is reconfigured, the method 3300 can generate a plurality of modulator control signals based on the first converted digital output vector, which generates an updated optical input vector corresponding to the output of the first hidden layer. Then the updated optical input vector is processed by the reconfigured photoelectric matrix multiplication unit 3220, which corresponds to the second phase of the ANN. Hidden layer. In general, the steps described can be repeated until the numeric input vector has been processed through all hidden layers of the ANN.

在光電矩陣乘法單元3220的一些實施例中,光電矩陣乘法單元3220的重新配置速率可明顯慢於調變器陣列144的調變速率。在這種情況下,ANN計算系統3200的流通量可能受到在其不能執行ANN計算的期間,重新配置光電矩陣乘法單元3220所花費的時間量的不利影響。為了減輕光電矩陣乘法單元3220的相對慢的重新配置時間的影響,可以利用批量處理(batch processing)技術,其中兩個或多個數位輸入向量傳播通過光電矩陣乘法單元3220而沒有配置改變,以分攤(amortize)重新配置時間在更大數量的數位輸入向量上。 In some embodiments of opto-matrix multiplication unit 3220, the reconfiguration rate of opto-matrix multiplication unit 3220 may be significantly slower than the modulation rate of modulator array 144. In this case, the throughput of the ANN computing system 3200 may be adversely affected by the amount of time spent reconfiguring the optoelectronic matrix multiplication unit 3220 during the period that it is unable to perform ANN calculations. To mitigate the impact of the relatively slow reconfiguration time of the opto-matrix multiplication unit 3220, batch processing techniques may be utilized, in which two or more digital input vectors are propagated through the opto-matrix multiplication unit 3220 without configuration changes to amortize (amortize) reconfiguration time on a larger number of digit input vectors.

第34圖顯示了說明第33圖的方法3300的示意圖3290。對於具有兩個隱藏層的ANN,代替透過第一隱藏層處理第一數位輸入向量、重新配置光電矩陣乘法單元3220用於第二隱藏層、透過重新配置的光電矩陣乘法單元3220處理第一數位輸入向量、以及對剩餘的數位輸入向量重複相同的操作,可以首先透過對第一隱藏層(配置#1)配置的光電矩陣乘法單元3220來處理輸入資料集的所有數位輸入向量,如示意圖3290的上部所示。一旦藉由具有配置#1的光電矩陣乘法單元3220處理了所有數位輸入向量,則將光電矩陣乘法單元3220重新配置成配置#2,其對應ANN的第二隱藏層。此重新配置可以明顯慢於光電矩陣乘法單元3220可以處理的輸入向量的速率。一旦光電矩陣乘法單元3220被重新配 置用於第二隱藏層,來自先前隱藏層的輸出向量可以由光電矩陣乘法單元3220批量處理。對於具有數十或數十萬個數位輸入向量的大輸入資料集,可以藉由大致相同的因素來減少重新配置時間的影響,這可以顯著減少ANN計算系統3200在重新配置中花費的時間部分。 Figure 34 shows a schematic diagram 3290 illustrating the method 3300 of Figure 33. For an ANN with two hidden layers, instead of processing the first digital input vector through the first hidden layer, the photoelectric matrix multiplication unit 3220 is reconfigured for the second hidden layer, and the first digital input is processed through the reconfigured photoelectric matrix multiplication unit 3220 vectors, and repeating the same operation for the remaining digital input vectors, all digital input vectors of the input data set can be processed first through the photoelectric matrix multiplication unit 3220 configured for the first hidden layer (configuration #1), as shown in the upper part of schematic diagram 3290 shown. Once all digital input vectors have been processed by the opto-matrix multiplication unit 3220 with configuration #1, the opto-matrix multiplication unit 3220 is reconfigured into configuration #2, which corresponds to the second hidden layer of the ANN. This reconfiguration may be significantly slower than the rate at which the opto-matrix multiplication unit 3220 can process the input vectors. Once the optoelectronic matrix multiplication unit 3220 is reconfigured Set for the second hidden layer, the output vectors from the previous hidden layer can be batch processed by the opto-matrix multiplication unit 3220. For large input data sets with tens or hundreds of thousands of digit input vectors, the impact of reconfiguration time can be reduced by approximately the same factor, which can significantly reduce the portion of time the ANN computing system 3200 spends in reconfiguration.

為了實現批量處理,在一些實施例中,方法3300更包括透過DAC單元基於第二數位輸入向量產生第二多個調變器控制訊號的步驟;從ADC單元得到對應光電矩陣乘法單元的輸出向量的第二多個數位輸出的步驟,第二多個數位輸出形成第二數位輸出向量;對第二數位輸出向量執行非線性轉換以產生第二轉換數位輸出向量的步驟;以及在記憶體單元中儲存第二轉換數位輸出向量的步驟。舉例來說,產生第二多個調變器控制訊號可以在步驟3360之後。此外,在這種情況下的步驟3370的ANN輸出現在是基於第一轉換數位輸出向量和第二轉換數位輸出向量。獲取、執行和儲存步驟類似於步驟3340到步驟3360。 In order to achieve batch processing, in some embodiments, the method 3300 further includes the step of generating a second plurality of modulator control signals based on the second digital input vector through the DAC unit; obtaining from the ADC unit the output vector corresponding to the photoelectric matrix multiplication unit. The steps of a second plurality of digital outputs, the second plurality of digital outputs forming a second digital output vector; the steps of performing a nonlinear transformation on the second digital output vector to generate a second transformed digital output vector; and storing in a memory unit The second step is to convert the digital output vector. For example, generating the second plurality of modulator control signals may occur after step 3360. Furthermore, the ANN output of step 3370 in this case is now based on the first converted digit output vector and the second converted digit output vector. The acquisition, execution and storage steps are similar to steps 3340 to 3360.

批量處理技術是用於提高ANN計算系統3200的流通量的多種技術之一。用於提高ANN計算系統3200的流通量的另一種技術是透過利用波長分波多路複用(WDM)並行處理多個數位輸入向量。如上面所述,WDM是透過公共傳播通道(例如光電矩陣乘法單元3220的波導)同時傳播不同波長的多個光訊號的技術。與電訊號不同,不同波長的光訊號可以透過公共通道傳播,而不會影響在同一通道上不同波長的其他光訊號。此外,可以使用諸如光 學多路複用器和多路分解器的公知結構從公共傳播通道添加(多路複用(multiplexed))或丟棄(多路分解(demultiplexed))光訊號。 Batch processing technology is one of several technologies used to increase throughput of the ANN computing system 3200. Another technique used to increase the throughput of the ANN computing system 3200 is by processing multiple digital input vectors in parallel using wavelength division multiplexing (WDM). As mentioned above, WDM is a technology that simultaneously propagates multiple optical signals of different wavelengths through a common propagation channel (such as the waveguide of the photoelectric matrix multiplication unit 3220). Unlike electrical signals, optical signals of different wavelengths can propagate through a common channel without affecting other optical signals of different wavelengths on the same channel. Additionally, one can use light such as Known structures of multiplexers and demultiplexers add (multiplexed) or drop (demultiplexed) optical signals from a common propagation channel.

在ANN計算系統3200的背景下,不同波長的多個光輸入向量可以獨立地產生、同時傳播通過光電矩陣乘法單元3220的光路徑和光學處理部件(例如:光幅度調變器)、以及由電子處理部件(例如:偵測器及/或求和模組)獨立地處理以增強ANN計算系統3200的流通量。 In the context of the ANN computing system 3200, multiple optical input vectors of different wavelengths may be independently generated, propagated simultaneously through the optical path and optical processing components (e.g., optical amplitude modulators) of the optoelectronic matrix multiplication unit 3220, and electronically Processing components (eg, detectors and/or summation modules) are processed independently to enhance the throughput of the ANN computing system 3200.

參照第35A圖,在一些實施例中,波長分波多路複用(WDM)人工神經網路(ANN)計算系統3500包括光電處理器3510,光電處理器3510包括光電矩陣乘法單元3520,光電矩陣乘法單元3520具有如第18圖至第24D圖所示的複製模組、乘法模組以及求和模組,以能夠在執行矩陣計算時處理非相干或低相干光訊號,其中光訊號以多個波長編碼。WDM ANN計算系統3500類似於ANN計算系統3200,除了其中使用了WDM技術,對於ANN計算系統3500的一些實施例,光源3230被配置以產生多個波長,例如λ1、λ2以及λ3,與第1F圖的WDM ANN計算系統104相似。 Referring to Figure 35A, in some embodiments, a wavelength division multiplexing (WDM) artificial neural network (ANN) computing system 3500 includes an optoelectronic processor 3510, which includes an optoelectronic matrix multiplication unit 3520, and an optoelectronic matrix multiplication unit 3520. Unit 3520 has a replication module, a multiplication module, and a summation module as shown in Figures 18 to 24D to be able to process incoherent or low-coherence optical signals at multiple wavelengths when performing matrix calculations. Encoding. WDM ANN computing system 3500 is similar to ANN computing system 3200, except that WDM technology is used. For some embodiments of ANN computing system 3500, light source 3230 is configured to generate multiple wavelengths, such as λ1, λ2, and λ3, as shown in Figure 1F The WDM ANN computing system 104 is similar.

多個波長可以優選地藉由足夠大的波長間隔分開,以允許容易地多路複用和多路分解到公共傳播通道上。舉例來說,大於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。 Multiple wavelengths may preferably be separated by a sufficiently large wavelength spacing to allow easy multiplexing and demultiplexing onto a common propagation channel. For example, wavelength spacing greater than 0.5 nm, 1.0 nm, 2.0 nm, 3.0 nm, or 5.0 nm may allow for simple multiplexing and demultiplexing. On the other hand, the range between the shortest wavelength and the longest wavelength of the plurality of wavelengths (the "WDM bandwidth") may preferably be small enough such that the characteristics or performance of the optoelectronic matrix multiplication unit 3520 remains substantially the same across the plurality of wavelengths. Optical components are often dispersive, meaning their optical properties vary with wavelength. For example, the power separation ratio of an MZI can vary with wavelength. However, by designing the photoelectric matrix multiplication unit 3520 to have a sufficiently large operating wavelength window, and by limiting the wavelength within the operating wavelength window, the photoelectric matrix multiplication unit 3520 outputs corresponding to each wavelength. The electrical output vector may be a sufficiently accurate result of matrix multiplication implemented by the optoelectronic matrix multiplication unit 3520. The operating wavelength window can be 1nm, 2nm, 3nm, 4nm, 5nm, 10nm or 20nm.

WDM ANN計算系統3500的調變器陣列144包括光調變器組(banks of optical modulators),其被配置以產生多個光輸入向量,每一組對應於多個波長之一者並且產生具有相應波長的相應光輸入向量。舉例來說,對於具有長度為32和3個波長(例如:λ1、λ2和λ3)的光輸入向量的系統,調變器陣列144可以具有每一組32個調變器的3個組。此外,調變器陣列144更還包括光多路複用器,其被配置以將多個光輸入向量組合成包括多個波長的組合光輸入向量。舉例來說,光多路複用器可以將三個不同波長的三個調變器組的輸出組合成光輸入向量的每個元素的單一傳播通道(例如波導)。如此一來,返回上面的實施例,組合光輸入向量將具有32個光訊號,每一個訊號包括3個波長。 Modulator array 144 of WDM ANN computing system 3500 includes banks of optical modulators configured to generate a plurality of optical input vectors, each group corresponding to one of a plurality of wavelengths and generating a corresponding The corresponding light input vector of the wavelength. For example, for a system with optical input vectors of length 32 and 3 wavelengths (eg, λ1, λ2, and λ3), modulator array 144 may have 3 groups of 32 modulators each. In addition, the modulator array 144 further includes an optical multiplexer configured to combine multiple optical input vectors into a combined optical input vector including multiple wavelengths. For example, an optical multiplexer can combine the outputs of three modulator banks at three different wavelengths into a single propagation channel (eg, waveguide) for each element of the optical input vector. Thus, returning to the above embodiment, the combined optical input vector will have 32 optical signals, each signal including 3 wavelengths.

WDM ANN計算系統3500的光電處理部件更被配置以多路分解多個波長並且產生多個多路分解的輸出電訊號。參照第35B圖,光電矩陣乘法單元3520包括光路徑1803,光路徑1803 被配置以從調變器陣列144接收包括多個波長的組合光輸入向量。舉例來說,光路徑1803_1接收在波長λ1、λ2以及λ3的組合光輸入向量元素v 1。在波長λ1、λ2以及λ3的光輸入向量元素v 1的副本被提供給乘法模組3530_11、3530_21、...、以及3530_m1。在乘法模組3530輸出電訊號的一些實施例中,乘法模組3530_11輸出表示M 11v 1的三個電訊號,其對應在波長λ1、λ2以及λ3的輸入向量元素v 1。對應在波長λ1、λ2以及λ3的輸入向量元素v 1的乘法模組3530_11輸出電訊號個別地示為(λ1)、(λ2)以及(λ3)。相似的符號應用於其他乘法模組的輸出。乘法模組3530_21輸出表示M 21v 1的三個電訊號,其個別地對應在波長λ1、λ2以及λ3的輸入向量元素v 1。乘法模組3530_m1輸出表示M m1v 1的三個電訊號,其對應在波長λ1、λ2以及λ3的輸入向量元素v 1The optoelectronic processing component of the WDM ANN computing system 3500 is further configured to demultiplex multiple wavelengths and generate multiple demultiplexed output electrical signals. Referring to FIG. 35B , the optoelectronic matrix multiplication unit 3520 includes an optical path 1803 configured to receive a combined optical input vector including a plurality of wavelengths from the modulator array 144 . For example, optical path 1803_1 receives combined optical input vector element v 1 at wavelengths λ1, λ2, and λ3. Copies of the light input vector elements v 1 at wavelengths λ1, λ2 and λ3 are provided to the multiplication modules 3530_11, 3530_21, ..., and 3530_m 1 . In some embodiments in which the multiplication module 3530 outputs an electrical signal, the multiplication module 3530_11 outputs a representation of M 11 . The three electrical signals v 1 correspond to the input vector elements v 1 at wavelengths λ1, λ2 and λ3. The output electrical signals of the multiplication module 3530_11 corresponding to the input vector element v 1 at wavelengths λ1, λ2 and λ3 are shown as (λ1), (λ2) and (λ3) respectively. Similar notation applies to the outputs of other multiplication modules. The output of the multiplication module 3530_21 represents M 21 . The three electrical signals v 1 respectively correspond to the input vector elements v 1 at wavelengths λ1, λ2 and λ3. The output of the multiplication module 3530_ m 1 represents M m 1 . The three electrical signals v 1 correspond to the input vector elements v 1 at wavelengths λ1, λ2 and λ3.

在波長λ1、λ2以及λ3的光輸入向量元素v 2的副本被提供給乘法模組3530_12、3530_22、...、以及3530_m2。乘法模組3530_12輸出表示M 12v 2的三個電訊號,其對應在波長λ1、λ2以及λ3的輸入向量元素v 2。乘法模組3530_22輸出表示M 22v 2的三個電訊號,其對應在波長λ1、λ2以及λ3的輸入向量元素v 2。乘法模組3530_m2輸出表示M m2_v 2的三個電訊號,其對應在波長λ1、λ2以及λ3的輸入向量元素v 2Copies of the optical input vector element v 2 at wavelengths λ1, λ2 and λ3 are provided to the multiplication modules 3530_12, 3530_22, ..., and 3530_m2 . The output of the multiplication module 3530_12 represents M 12 . The three electrical signals v 2 correspond to the input vector elements v 2 at wavelengths λ1, λ2 and λ3. The output of multiplication module 3530_22 represents M 22 . The three electrical signals v 2 correspond to the input vector elements v 2 at wavelengths λ1, λ2 and λ3. The multiplication module 3530_m 2 outputs three electrical signals representing M m 2 _ v 2 , which correspond to the input vector elements v 2 at wavelengths λ1, λ2 and λ3.

包括波長λ1、λ2以及λ3的光輸入向量元素v n 的副本被提供給乘法模組3530_1n、3530_2n、...、以及3530_mn。乘法模組3530_1n輸出表示M 1n v n 的三個電訊號,其對應在波長 λ1、λ2以及λ3的輸入向量元素v n 。乘法模組3530_2n輸出表示M 2n v n 的三個電訊號,其對應在波長λ1、λ2以及λ3的輸入向量元素v n 。乘法模組3530_mn輸出表示M mn v n 的三個電訊號,其對應在波長λ1、λ2以及λ3的輸入向量元素v n ,以此類推。 Copies of the optical input vector elements v n including wavelengths λ1, λ2 and λ3 are provided to the multiplication modules 3530_1 n , 3530_2 n , . . . , and 3530_ mn . The output of multiplication module 3530_1 n represents M 1 n . The three electrical signals v n correspond to the input vector elements v n at wavelengths λ1, λ2, and λ3. The output of multiplication module 3530_2 n represents M 2 n . The three electrical signals v n correspond to the input vector elements v n at wavelengths λ1, λ2, and λ3. The output of the multiplication module 3530_ mn represents M mn . The three electrical signals v n correspond to the input vector elements v n at wavelengths λ1, λ2, and λ3, and so on.

舉例來說,每一個乘法模組3530可包括多路分解器,多路分解器被配置以多路分解包含在多波長光向量的32個訊號之每一個中的三個波長,並且將3個單一波長光輸出向量路由(route)到耦接至三組運算放大器或跨阻抗放大器(例如:運算放大器2030(第20B圖)或2050(第20C圖))的三組光偵測器(例如:光偵測器2012、2016(第20B圖)或2042、2046(第20C圖))。 For example, each multiplication module 3530 may include a demultiplexer configured to demultiplex three wavelengths contained in each of the 32 signals of the multi-wavelength light vector and demultiplex the 3 The single wavelength light output vector is routed to three sets of photodetectors (e.g., operational amplifiers 2030 (Fig. 20B) or 2050 (Fig. 20C)) coupled to three sets of operational amplifiers or transimpedance amplifiers (e.g., op amps 2030 (Fig. 20B) or 2050 (Fig. 20C)). Light detectors 2012, 2016 (Fig. 20B) or 2042, 2046 (Fig. 20C)).

三組求和模組1808接收來自乘法模組3530的輸出,並且產生對應在各種波長的輸入向量的總和y。舉例來說,三個求和模組1808_1接收乘法模組3530_11、3530_12、...、3530_1n的輸出,並且產生個別地對應在波長λ1、λ2以及λ3的輸入向量元素v 1的總和y 1(λ1)、y 1(λ2)、y 1(λ2),其中在每個波長的總和y 1等於M 11 v 1+M 12 v 2+…+M 1n v n 。三個求和模組1808_2接收乘法模組3530_21、3530_22、...、3530_2n的輸出,並且產生個別地對應在波長λ1、λ2以及λ3的輸入向量元素v 2的總和y 2(λ1)、y 2(λ2)、y 2(λ2),其中在每個波長的總和y 2等於M 21 v 1+M 22 v 2+…+M 2n v n 。三個求和模組1808_n接收乘法模組3530_m1、3530_m2、...、3530_mn的輸出,並且產生個別地對應在波長 λ1、λ2以及λ3的輸入向量元素v n 的總和y n (λ1)、y n (λ2)、y n (λ2),其中在每個波長的總和y n 等於M m1 v 1+M m2 v 2+…+M mn v n The three summation modules 1808 receive the output from the multiplication module 3530 and generate the sum y corresponding to the input vectors at various wavelengths. For example, three summation modules 1808_1 receive the outputs of the multiplication modules 3530_11, 3530_12, ..., 3530_1 n and generate sums y 1 corresponding to input vector elements v 1 at wavelengths λ1 , λ2 and λ3 , respectively. (λ1), y 1 (λ2), y 1 (λ2), where the sum y 1 at each wavelength is equal to M 11 v 1 + M 12 v 2 +…+ M 1 n v n . The three summation modules 1808_2 receive the outputs of the multiplication modules 3530_21, 3530_22, ..., 3530_2n and generate sums y2 ( λ1 ) , y 2 (λ2), y 2 (λ2), where the sum y 2 at each wavelength is equal to M 21 v 1 + M 22 v 2 +…+ M 2 n v n . The three summation modules 1808_n receive the outputs of the multiplication modules 3530_m1 , 3530_m2 , ..., 3530_mn and generate the sum y of the input vector elements vn respectively corresponding to the wavelengths λ1, λ2 and λ3 n (λ1), y n (λ2), y n (λ2), where the sum y n at each wavelength is equal to M m 1 v 1 + M m 2 v 2 +…+ M mn v n .

再次參照第35A圖,WDM ANN計算系統3500的ADC單元160包括ADC組(banks of ADCs),其被配置以轉換光電矩陣乘法單元3520的多個多路分解輸出電壓(demultiplexed output voltage)。每組對應於多個波長之一者,並且產生相應的數位多路分解輸出(digitized demultiplexed output)。舉例來說,例如,ADC 160的組可以耦接到求和模組1808的組。 Referring again to FIG. 35A , the ADC unit 160 of the WDM ANN computing system 3500 includes banks of ADCs configured to convert multiple demultiplexed output voltages of the optoelectronic matrix multiplication unit 3520 . Each group corresponds to one of a plurality of wavelengths and produces a corresponding digitized demultiplexed output. For example, a bank of ADCs 160 may be coupled to a bank of summing modules 1808 .

控制器110可以實現與方法3300(第33圖)相似的方法,但是擴展為支持多波長操作。舉例來說,方法可包括從ADC單元160得到多個數位多路分解輸出的步驟,多個數位多路分解輸出形成多個第一數位輸出向量,其中多個第一數位輸出向量中的每一者對應多個波長中的一者;對多個第一數位輸出向量中的每一者執行非線性轉換,以產生多個轉換第一數位輸出向量的步驟;以及在記憶體單元中儲存多個轉換第一數位輸出向量的步驟。 Controller 110 may implement a similar method to method 3300 (Fig. 33), but extended to support multi-wavelength operation. For example, the method may include the step of obtaining a plurality of digital demultiplexed outputs from the ADC unit 160, the plurality of digital demultiplexed outputs forming a plurality of first digital output vectors, wherein each of the plurality of first digital output vectors corresponding to one of the plurality of wavelengths; performing a nonlinear transformation on each of the plurality of first digital output vectors to generate a plurality of steps of converting the first digital output vector; and storing the plurality of steps in the memory unit. Steps to convert the first digit of the output vector.

在一些情況下,可以專門設計ANN,並且可以具體地形成數位輸入向量,使得可以在不進行多路分解的情況下加入乘法模組3530的多波長乘積(multi-wavelength product)。在這種情況下,乘法模組3530可以是波長非敏感(wavelength-insensitive)的乘法模組,其不會多路分解多波長乘積的多個波長。如此一來,乘法模組3530的每一個光偵測器有效地將光訊號的多個波長加到單一光電流中,並且乘法模組3530輸出的每一個 電壓對應於對多個波長的向量元素和矩陣元素的乘積的總和。求和模組1808(僅需要一個組)輸出多個數位輸入向量的矩陣乘法結果的元素對元素總和(element-by-element sum)。 In some cases, the ANN can be specifically designed and the digital input vectors can be specifically formed such that the multi-wavelength product of the multiplication module 3530 can be added without demultiplexing. In this case, the multiplication module 3530 may be a wavelength-insensitive multiplication module that does not demultiplex the multiple wavelengths of the multi-wavelength product. In this way, each photodetector of the multiplication module 3530 effectively adds multiple wavelengths of the optical signal into a single photocurrent, and each of the outputs of the multiplication module 3530 The voltage corresponds to the sum of the products of vector elements and matrix elements for multiple wavelengths. The summation module 1808 (requiring only one group) outputs an element-by-element sum of the matrix multiplication results of multiple numeric input vectors.

第35C圖顯示了用於使用2×2元素矩陣執行向量矩陣乘法的分波多路複用的光電矩陣乘法單元3520的實現的系統配置3500的實施例,其中在電域中執行求和操作。在此實施例中,輸入向量是

Figure 110132252-A0305-02-0232-35
,並且矩陣是
Figure 110132252-A0305-02-0232-34
。在此實施例中,輸入向量具有多個波長λ1、λ2以及λ3,並且輸入向量的每個元素在不同的光訊號上編碼。兩個不同的複製模組1902執行光複製操作以在不同的路徑(例如:“上”路徑和“下”路徑)上分離計算。存在四個乘法模組1904,每個乘法模組1904使用光幅度調變乘以不同的矩陣元素。每個乘法模組1904的輸出被提供給多路分解器和一組光偵測模組3310,光偵測模組3310將波長分波多路複用光訊號轉換成與波長λ1、λ2以及λ3相關的電流形式的電訊號。使用與波長λ1、λ2以及λ3相關的一組求和模組3320來組合不同輸入向量元素的兩個上路徑,並且使用與波長λ1、λ2以及λ3相關的一組求和模組3320來組合不同輸入向量元素的兩個下路徑,其中求和模組3320在電域中執行求和。因此,對每個波長的輸出向量的每個元素都在不同的電訊號上編碼。如第35A圖所示,隨著計算的進行,遞增地產生輸出向量的每個分量,以對每個波長個別地產生上路徑和下路徑的以下結果。 Figure 35C shows an embodiment of a system configuration 3500 for the implementation of a demultiplexed optoelectronic matrix multiplication unit 3520 using a 2x2 element matrix to perform vector matrix multiplication, where the summation operation is performed in the electrical domain. In this example, the input vector is
Figure 110132252-A0305-02-0232-35
, and the matrix is
Figure 110132252-A0305-02-0232-34
. In this embodiment, the input vector has multiple wavelengths λ1, λ2, and λ3, and each element of the input vector is encoded on a different optical signal. Two different replication modules 1902 perform optical replication operations to separate computations on different paths (eg, "upper" path and "lower" path). There are four multiplying modules 1904, each multiplying a different matrix element using optical amplitude modulation. The output of each multiplication module 1904 is provided to a demultiplexer and a set of optical detection modules 3310, which convert the wavelength demultiplexed optical signal into wavelengths λ1, λ2, and λ3 An electrical signal in the form of an electric current. A set of summation modules 3320 associated with wavelengths λ1, λ2, and λ3 are used to combine the two upper paths of different input vector elements, and a set of summation modules 3320 associated with wavelengths λ1, λ2, and λ3 are used to combine different Two lower paths of input vector elements, where summation module 3320 performs the summation in the electrical domain. Therefore, each element of the output vector for each wavelength is encoded in a different electrical signal. As shown in Figure 35A, as the calculation proceeds, each component of the output vector is generated incrementally to produce the following results for the upper path and lower path individually for each wavelength.

M 11 v 1+M 12 v 2 M 11 v 1 + M 12 v 2

M 21 v 1+M 22 v 2 M 21 v 1 + M 22 v 2

可以使用各種光電技術中的任何一種來實現系統配置3500。在一些實施例中,存在共同基板(例如:半導體(例如矽)),其可以支持積體光學部件和電子部件。光路徑可以在波導結構中實現,波導結構具有由具有較低光學指數(optical index)的材料圍繞的具有較高光學指數的材料,該材料定義用於傳播承載了光訊號的光波的波導。電路徑可以由導電材料實現,用於傳播承載了電訊號的電流。(在第35C圖中,表示路徑的線的厚度用於區分光路徑(由較粗的線表示)和電路徑(由較細的線或虛線表示)。)可以在公共基板上製造光學裝置(例如分離器和光幅度調變器),以及電子裝置(例如光偵測器和運算放大器(op-amp))。或者,可以使用具有不同基板的不同裝置來實現系統的不同部分,並且那些裝置可以透過通訊通道進行通訊。舉例來說,光纖可用於提供通訊通道,以在用於實現整個系統的多個裝置之間發送光訊號。那些光訊號可以表示當執行向量矩陣乘法時所提供的輸入向量的不同子集,及/或當執行向量矩陣乘法時所計算的中間結果的不同子集,如下面更詳細的描述。 System configuration 3500 may be implemented using any of a variety of optoelectronic technologies. In some embodiments, there is a common substrate (eg, a semiconductor (eg, silicon)) that can support integrated optical and electronic components. The optical path may be implemented in a waveguide structure having a material with a higher optical index surrounded by a material with a lower optical index that defines a waveguide for propagating light waves carrying the optical signal. Electrical paths can be made of conductive materials and are used to propagate the current carrying the electrical signal. (In Figure 35C, the thickness of the lines representing paths is used to differentiate between optical paths (represented by thicker lines) and electrical paths (represented by thinner or dashed lines).) Optical devices can be fabricated on a common substrate ( such as splitters and optical amplitude modulators), and electronic devices such as photodetectors and operational amplifiers (op-amps). Alternatively, different devices with different substrates can be used to implement different parts of the system, and those devices can communicate over communication channels. For example, fiber optics can be used to provide communication channels to send optical signals between multiple devices used to implement the overall system. Those optical signals may represent different subsets of the input vectors provided when performing vector matrix multiplication, and/or different subsets of the intermediate results computed when performing vector matrix multiplication, as described in more detail below.

到目前為止,作為ANN計算的一部分執行的權重總和的非線性轉換由控制器110在數位域中執行。在一些情況下,非線性轉換可能是計算密集的(computationally intensive)或耗電的,顯著增加了控制器110的複雜性,或者在流通量或功率效率方面限制了ANN計算系統3200(第32A圖)的效能。如此一來,在 ANN計算系統的一些實施例中,可以透過類比電子設備在類比域中執行非線性轉換。 The non-linear transformation of the weight sum performed so far as part of the ANN calculation is performed by the controller 110 in the digital domain. In some cases, nonlinear transformations may be computationally intensive or power-consuming, significantly increase the complexity of the controller 110, or limit the ANN computing system 3200 in terms of throughput or power efficiency (Fig. 32A ) performance. In this way, in In some embodiments of the ANN computing system, nonlinear transformations can be performed in the analog domain through analog electronics.

第36圖顯示了ANN計算系統3600的示意圖。ANN計算系統3600類似於ANN計算系統3200,不同之處在於添加了類比非線性單元310。類比非線性單元310設置在光電矩陣乘法單元3220和ADC單元160之間。類比非線性單元310被配置以從光電矩陣乘法單元3220接收輸出電壓、應用非線性傳遞函數、以及將轉換輸出電壓輸出到ADC單元160。 Figure 36 shows a schematic diagram of the ANN computing system 3600. ANN computing system 3600 is similar to ANN computing system 3200 except that an analog nonlinear unit 310 is added. The analog nonlinear unit 310 is provided between the photoelectric matrix multiplication unit 3220 and the ADC unit 160 . The analog nonlinear unit 310 is configured to receive an output voltage from the optoelectronic matrix multiplication unit 3220 , apply a nonlinear transfer function, and output the converted output voltage to the ADC unit 160 .

當ADC單元160接收已經由類比非線性單元310非線性轉換的電壓時,控制器110可以從ADC單元160得到對應轉換輸出電壓的轉換數位輸出電壓。因為從ADC單元160得到的數位輸出電壓已經被非線性轉換(“激活”),所以可以省略控制器110的非線性轉換步驟,從而減少了控制器110的計算負擔。接著,可以將直接從ADC單元160得到的第一轉換電壓作為第一轉換數位輸出向量儲存在記憶體單元120中。 When the ADC unit 160 receives the voltage that has been nonlinearly converted by the analog nonlinear unit 310, the controller 110 may obtain a converted digital output voltage corresponding to the converted output voltage from the ADC unit 160. Because the digital output voltage obtained from the ADC unit 160 has already been nonlinearly converted ("activated"), the nonlinear conversion step of the controller 110 can be omitted, thereby reducing the computational burden of the controller 110 . Then, the first conversion voltage directly obtained from the ADC unit 160 may be stored in the memory unit 120 as the first conversion digital output vector.

可以以各種方式實現類比非線性單元310,如上面對第3A圖的類比非線性單元310的討論。使用類比非線性單元310可以藉由減少在數位域中執行的步驟來改善ANN計算系統3600的效能,例如流通量或功率效率。將非線性轉換步驟移出數位域可以允許ANN計算系統的操作中的額外的靈活性和改進。舉例來說,在遞歸神經網路中,光電矩陣乘法單元3220的輸出被激活,並且再循環回到光電矩陣乘法單元3220的輸入。激活步驟由ANN計算 系統3200中的控制器110執行,這需要在每次通過光電矩陣乘法單元3220時數位化光電矩陣乘法單元3220的輸出電壓。然而,因為激活步驟現在在ADC單元160的數位化之前執行,所以可以減少在執行遞歸神經網路計算中所需的ADC轉換的次數。 The analog nonlinear unit 310 may be implemented in various ways, as discussed above with respect to the analog nonlinear unit 310 of Figure 3A. The use of the analog nonlinear unit 310 can improve the performance of the ANN computing system 3600, such as throughput or power efficiency, by reducing the number of steps performed in the digital domain. Moving the nonlinear transformation step out of the digital domain can allow additional flexibility and improvements in the operation of ANN computing systems. For example, in a recurrent neural network, the output of the optoelectronic matrix multiplication unit 3220 is activated and recycled back to the input of the optoelectronic matrix multiplication unit 3220. Activation steps are calculated by ANN The controller 110 in the system 3200 performs this by digitizing the output voltage of the opto-electronic matrix multiplication unit 3220 on each pass through the opto-electronic matrix multiplication unit 3220 . However, since the activation step is now performed before digitization of the ADC unit 160, the number of ADC conversions required in performing the recursive neural network calculations can be reduced.

在一些實施例中,類比非線性單元310可以整合到ADC單元160中作為非線性ADC單元。舉例來說,非線性ADC單元可以是具有非線性查找表的線性ADC單元,其將線性ADC單元的線性數位輸出映射到所期望的非線性轉換數位輸出。 In some embodiments, analog nonlinear unit 310 may be integrated into ADC unit 160 as a nonlinear ADC unit. For example, the nonlinear ADC unit may be a linear ADC unit with a nonlinear lookup table that maps the linear digital output of the linear ADC unit to a desired nonlinear converted digital output.

第37圖顯示了ANN計算系統3700的示意圖。ANN計算系統3700類似於第36圖的ANN計算系統3600,不同之處在於它更包括類比記憶體單元320。類比記憶體單元320耦接至DAC單元130(例如:透過第一DAC子單元132)、調變器陣列144和類比非線性單元310。類比記憶體單元320包括多路複用器,其具有耦接至第一DAC子單元132的第一輸入和耦接至類比非線性單元310的第二輸入。這允許類比記憶體單元320從第一DAC子單元132或類比非線性單元310接收訊號。類比記憶體單元320被配置以儲存類比電壓並且輸出所儲存的類比電壓。可以以各種方式實現類比記憶體單元320,如上面對第3B圖的類比記憶體單元320的討論。 Figure 37 shows a schematic diagram of the ANN computing system 3700. The ANN computing system 3700 is similar to the ANN computing system 3600 of FIG. 36 except that it further includes an analog memory unit 320 . The analog memory unit 320 is coupled to the DAC unit 130 (eg, through the first DAC subunit 132 ), the modulator array 144 and the analog nonlinear unit 310 . The analog memory unit 320 includes a multiplexer having a first input coupled to the first DAC subunit 132 and a second input coupled to the analog nonlinear unit 310 . This allows the analog memory unit 320 to receive signals from the first DAC sub-unit 132 or the analog non-linear unit 310 . The analog memory unit 320 is configured to store analog voltages and output the stored analog voltages. Analog memory unit 320 may be implemented in various ways, as discussed above with respect to analog memory unit 320 of Figure 3B.

現在將描述ANN計算系統3700的操作。由DAC單元130(例如:由第一DAC子單元132)輸出的第一多個調變器控制訊號首先透過類比記憶體單元320輸入至調變器陣列144。在此步 驟中,類比記憶體單元320可以簡單地傳遞或緩衝第一多個調變器控制訊號。調變器陣列144基於第一多個調變器控制訊號產生光輸入向量,其透過光電矩陣乘法單元3220傳播。光電矩陣乘法單元3220的輸出電壓由類比非線性單元310非線性轉換。此時,代替由ADC單元160數位化,光電矩陣乘法單元3220的輸出電壓由類比記憶體單元320儲存,其接著輸出到調變器陣列144,以被轉換成將要透過光電矩陣乘法單元3220傳播的下一個光輸入向量。在控制器110的控制下,可以在預設時間量或預設數量的循環執行該遞歸處理(recurrent processing)。一旦對於給定數位輸入向量完成了遞歸處理,類比非線性單元310的轉換輸出電壓就由ADC單元160轉換。 The operation of ANN computing system 3700 will now be described. The first plurality of modulator control signals output by the DAC unit 130 (eg, by the first DAC sub-unit 132 ) are first input to the modulator array 144 through the analog memory unit 320 . at this step In this step, the analog memory unit 320 may simply pass or buffer the first plurality of modulator control signals. The modulator array 144 generates an optical input vector based on the first plurality of modulator control signals, which is propagated through the optoelectronic matrix multiplication unit 3220 . The output voltage of the photoelectric matrix multiplication unit 3220 is nonlinearly converted by the analog nonlinear unit 310 . At this time, instead of being digitized by the ADC unit 160 , the output voltage of the photoelectric matrix multiplication unit 3220 is stored by the analog memory unit 320 , which is then output to the modulator array 144 to be converted into a voltage to be propagated through the photoelectric matrix multiplication unit 3220 The next light input vector. Under the control of the controller 110, the recursive processing may be performed for a preset amount of time or a preset number of cycles. Once the recursive processing is completed for a given digital input vector, the converted output voltage of the analog nonlinear unit 310 is converted by the ADC unit 160 .

在ANN計算系統3700中使用類比記憶體單元320的優點與在第3B圖的ANN計算系統302中使用類比記憶體單元320的優點相似。相似地,使用ANN計算系統3700的遞歸神經網絡計算的執行可以與第3B圖的ANN計算系統302的相似。 The advantages of using analog memory unit 320 in ANN computing system 3700 are similar to the advantages of using analog memory unit 320 in ANN computing system 302 of Figure 3B. Similarly, execution of recursive neural network computations using ANN computing system 3700 may be similar to that of ANN computing system 302 of Figure 3B.

如上面對第4A圖的ANN計算系統400的討論,使用ANN計算系統具有優點,ANN計算系統內部操作在比輸入資料集的解析度低的位元解析度,同時保持ANN計算輸出的解析度。參照第38圖,顯示了具有1位元內部解析度的人工神經網路(ANN)計算系統3800的示意圖。ANN計算系統3800與ANN計算系統3200(第32A圖)相似,不同之處在於DAC單元130現在由驅動器單元430代替,並且ADC單元160現在由比較器單元460代替。 As discussed above with respect to the ANN computing system 400 of Figure 4A, there are advantages to using an ANN computing system that internally operates at a lower bit resolution than the resolution of the input data set, while maintaining the resolution of the ANN computing output. Referring to Figure 38, a schematic diagram of an artificial neural network (ANN) computing system 3800 with 1-bit internal resolution is shown. ANN computing system 3800 is similar to ANN computing system 3200 (FIG. 32A), except that DAC unit 130 is now replaced by driver unit 430, and ADC unit 160 is now replaced by comparator unit 460.

在第38圖的ANN計算系統3800中的驅動器單元430和比較器單元460以類似於在第4A圖的ANN計算系統400中的驅動器單元430和比較器460的方式操作。在第38圖中的ANN計算系統3800的操作的數學表示類似於在第4A圖中所示的ANN計算系統400的操作的數學表示。 The driver unit 430 and comparator unit 460 in the ANN computing system 3800 of Figure 38 operate in a similar manner to the driver unit 430 and comparator 460 in the ANN computing system 400 of Figure 4A. The mathematical representation of the operation of the ANN computing system 3800 in Figure 38 is similar to the mathematical representation of the operation of the ANN computing system 400 shown in Figure 4A.

ANN計算系統3800藉由執行1位元向量的一系列矩陣乘法,接著對個別矩陣乘法結果求和來執行特定ANN計算。使用第4A圖所示的實施例,藉由透過驅動器單元430產生對應4個1位元輸入向量的4個1位元調變器控制訊號的序列,可以將分解的輸入向量Vbit0到Vbit3中的每一個與矩陣U相乘。這又產生4個1位元光輸入向量的序列,其由配置通過驅動器單元430的光電矩陣乘法單元3220處理,以實現矩陣U的矩陣乘法。接著,控制器110可以從比較器單元460得到對應4個1位元調變器控制訊號的序列的4個數位1位元光輸出的序列。 The ANN calculation system 3800 performs certain ANN calculations by performing a series of matrix multiplications of 1-bit vectors and then summing the individual matrix multiplication results. Using the embodiment shown in Figure 4A, by generating a sequence of four 1-bit modulator control signals corresponding to the four 1-bit input vectors through the driver unit 430, the decomposed input vectors V bit0 to V bit3 can be Each of is multiplied by the matrix U. This in turn produces a sequence of four 1-bit optical input vectors, which are processed by the optoelectronic matrix multiplication unit 3220 configured through the driver unit 430 to achieve matrix multiplication of the matrix U. Then, the controller 110 can obtain a sequence of four digital 1-bit light outputs corresponding to a sequence of four 1-bit modulator control signals from the comparator unit 460 .

在將4位元向量分解為4個1位元向量的情況下,每一個向量應該由ANN計算系統3800處理,其速度是其他ANN計算系統(例如ANN計算系統3200(第32A圖))可以處理單一個4位元向量的速度的四倍,以保持相同的有效ANN計算流通量。這種增加的內部處理速度可以被視為將4個1位元向量分時多工(time-division multiplexing)到用於處理4位元向量的單一時槽(timeslot)中。處理速度所需的增加可以至少部分地藉由驅動器單元430和比較器單元460相對於DAC單元130和ADC單元160的增 加的操作速度來實現,因為訊號轉換處理的解析度的降低通常造成可實現的訊號轉換速率的增加。 With the 4-bit vector decomposed into four 1-bit vectors, each vector should be processed by the ANN computing system 3800 at a speed that other ANN computing systems, such as the ANN computing system 3200 (Fig. 32A), can process Four times the speed of a single 4-bit vector to maintain the same effective ANN computational throughput. This increased internal processing speed can be thought of as time-division multiplexing four 1-bit vectors into a single timeslot for processing 4-bit vectors. The required increase in processing speed may be achieved, at least in part, by the increase in driver unit 430 and comparator unit 460 relative to DAC unit 130 and ADC unit 160. This is achieved by increasing the operating speed, since a reduction in the resolution of the signal conversion process usually results in an increase in the achievable signal conversion rate.

在此實施例中,雖然在1位元操作中的訊號轉換速率增加了四倍,但是相對於4位元操作,功率消耗結果可以顯著降低。如上面所述,訊號轉換處理的功率消耗通常隨著位元解析度指數地縮放,同時隨著轉換速率線性地縮放。如此一來,每次轉換功率降低16倍可能是由於位元解析度降低4倍,接著是轉換速率增加4倍的結果。總而言之,通過ANN計算系統3800可以在ANN計算系統3200之上實現操作功率的4倍減小,同時保持相同的有效ANN計算流通量。 In this embodiment, although the signal conversion rate in 1-bit operation is increased by four times, the power consumption results can be significantly reduced compared to 4-bit operation. As mentioned above, the power consumption of signal conversion processing generally scales exponentially with bit resolution and linearly with conversion rate. Thus, a 16x reduction in power per conversion may be due to a 4x reduction in bit resolution, followed by a 4x increase in conversion rate. In summary, a 4x reduction in operating power can be achieved with the ANN computing system 3800 over the ANN computing system 3200 while maintaining the same effective ANN computing throughput.

接著,控制器110可以藉由將每一個數位1位元光輸出乘以相應的權重2^0到2^3,從4個數位1位元光輸出建構4位元數位輸出向量。一旦建構了4位元數位輸出向量,就可以藉由對所建構的4位元數位輸出向量執行非線性轉換來進行ANN計算,以產生轉換4位元數位輸出向量;以及在記憶體單元120中儲存轉換4位元數位輸出向量。 The controller 110 can then construct a 4-bit digital output vector from the four digital 1-bit light outputs by multiplying each digital 1-bit light output by the corresponding weight 2^0 to 2^3. Once the 4-bit digital output vector is constructed, ANN calculations can be performed by performing a non-linear transformation on the constructed 4-bit digital output vector to produce a transformed 4-bit digital output vector; and in memory unit 120 Store the converted 4-bit digital output vector.

替代地(或另外地),在一些實施例中,可以對4個數位1位元光輸出中的每一者進行非線性轉換。舉例來說,階梯函數非線性函數(step-function nonlinear function)可以用於非線性轉換。接著可以從非線性轉換的數位1位元光輸出建構出轉換4位元數位輸出向量。 Alternatively (or additionally), in some embodiments, each of the 4 digital 1-bit light outputs may be converted non-linearly. For example, a step-function nonlinear function can be used for nonlinear transformation. The converted 4-bit digital output vector can then be constructed from the nonlinearly converted digital 1-bit light output.

雖然已經顯示並描述了個別的ANN計算系統3800,但通常來說,第32A圖的ANN計算系統3200可以被設計以實現類似於ANN計算系統3800的功能。舉例來說,DAC單元130可包括1位元DAC子單元,其被配置以產生1位元調變器控制訊號,並且ADC單元160可以被設計為具有1位元的解析度。這種1位元ADC可以與比較器類似或有效地等價於比較器。 Although individual ANN computing systems 3800 have been shown and described, generally speaking, the ANN computing system 3200 of Figure 32A can be designed to perform functions similar to the ANN computing system 3800. For example, the DAC unit 130 may include a 1-bit DAC subunit configured to generate a 1-bit modulator control signal, and the ADC unit 160 may be designed to have a 1-bit resolution. This 1-bit ADC can be similar to or effectively equivalent to a comparator.

此外,雖然已經描述了具有1位元內部解析度的ANN計算系統的操作,但通常來說,ANN計算系統的內部解析度可以降低到低於輸入資料集的N位解析度的中間準位。舉例來說,內部解析度可以減少到2^Y位元,其中Y是大於或等於0的整數。 Furthermore, although the operation of an ANN computing system has been described with an internal resolution of 1 bit, in general the internal resolution of an ANN computing system can be reduced to an intermediate level below the N-bit resolution of the input data set. For example, the internal resolution can be reduced to 2^Y bits, where Y is an integer greater than or equal to 0.

各種替代系統配置或訊號處理技術可以與此處所述的不同系統、子系統以及模組的各種實施例一起使用。 Various alternative system configurations or signal processing techniques may be used with the various embodiments of the different systems, subsystems, and modules described herein.

在一些實施例中,一些或所有VMM子系統以替代子系統替換可能是有用的,包括使用各種複製模組、乘法模組及/或求和模組的不同實施例的子系統。舉例來說,VMM子系統可包括此處所描述的光複製模組和此處所描述的電求和模組,但是乘法模組可以使用在電域而不是光電域中執行乘法操作的子系統代替。在此實施例中,光幅度調變器陣列可以由偵測器陣列代替,以將光訊號轉換為電訊號,後續接著是電子子系統(例如:ASIC、處理器或SoC)。可選地,如果光訊號路由(optical signal routing)將被用於被配置以偵測光訊號的求和模組,則電子子系統可包括使用電 調變光源陣列(array of electrically-modulated optical sources)的電光轉換。 In some embodiments, it may be useful to replace some or all VMM subsystems with alternative subsystems, including subsystems that use different embodiments of various copy modules, multiplication modules, and/or sum modules. For example, a VMM subsystem may include an optical replication module as described herein and an electrical summation module as described herein, but the multiplication module may be replaced with a subsystem that performs multiplication operations in the electrical domain rather than the optical domain. In this embodiment, the optical amplitude modulator array can be replaced by a detector array to convert optical signals into electrical signals, followed by an electronic subsystem (eg, ASIC, processor, or SoC). Alternatively, if optical signal routing is to be used for a summation module configured to detect optical signals, the electronic subsystem may include the use of electrical Electro-optical conversion of an array of electrically-modulated optical sources.

在一些實施例中,對於用於一些或所有VMM計算的一些或所有光訊號能夠使用單一波長可能是有用的。或者,在一些實施例中,為了幫助減少可能需要的光輸入端口的數量,輸入端口可以接收多路複用光訊號,多路複用光訊號具有在不同波長的不同光波上編碼的不同數值。接著,可以在系統中的適當位置將那些光波分開,這取決於複製模組、乘法模組及/或求和模組中的任何一個是否被配置以在多個波長上操作。但是,即使在多波長實施例中,對於在相同VMM子系統中使用的不同光訊號子集,使用相同波長可能是有用的。 In some embodiments, it may be useful to be able to use a single wavelength for some or all optical signals for some or all VMM calculations. Alternatively, in some embodiments, to help reduce the number of optical input ports that may be needed, the input ports may receive multiplexed optical signals with different values encoded on different light waves at different wavelengths. Those light waves can then be separated at appropriate locations in the system, depending on whether any of the replication module, multiplication module, and/or summation module are configured to operate at multiple wavelengths. However, even in multi-wavelength embodiments, it may be useful to use the same wavelength for different subsets of optical signals used in the same VMM subsystem.

在一些實施例中,累加器可用來實現由各種模組接收的光訊號和電訊號的時域編碼,從而減輕電路的需要,以在大量不同功率準位上有效操作。舉例來說,使用二進制(開(on)-關(off))幅度調變編碼的在每個符號的N個時隙上具有特定佔空比的訊號,可以在該信號通過累加器(整合電訊號的電流或電壓的類比電子累加器)之後,被轉換為每個符號具有N個幅度準位的訊號。因此,如果光學裝置(例如:光幅度調變器中的相位調變器)能夠在符號帶寬(symbol bandwidth)B操作,則它們反而可以在符號帶寬B/100操作,其中每個符號值使用N=100時槽。50%的積分幅度具有50%的佔空比(例如:前50個時槽在非零的“開”準位,接著是50個時槽在零或接近零的“關”準位),而10%的積分幅度具 有10%的佔空比(例如:前10個時槽在非零的“開”準位,接著是90個時槽在零的“關”準位)。在此處所述的實施例中,這種累加器可以被定位在VMM子系統內與每個電信號一致的在任何位置的每個電訊號的路徑上,例如在用於該VMM子系統中的所有電訊號的求和模組之前或者在用於該VMM子系統中的所有電訊號的求和模組之後。VMM子系統還可以被配置使得在保持不同符號的對準的不同電訊號之間不存在顯著的相對時間位移。 In some embodiments, accumulators can be used to implement time domain encoding of optical and electrical signals received by various modules, thereby alleviating the need for circuitry to operate efficiently at a large number of different power levels. For example, a signal using binary (on-off) amplitude modulation coding with a specific duty cycle on N slots of each symbol can be passed through an accumulator (Integrated Telecommunications The signal's current or voltage is then converted into a signal with N amplitude levels per symbol. Therefore, if optical devices (e.g., phase modulators in optical amplitude modulators) can operate at a symbol bandwidth B, they can instead operate at a symbol bandwidth B/100, using N per symbol value =100 time slots. An integration amplitude of 50% has a duty cycle of 50% (for example: the first 50 slots are at a non-zero "on" level, followed by 50 slots at a zero or near-zero "off" level), while 10% points margin There is a 10% duty cycle (for example: the first 10 slots are at a non-zero "on" level, followed by 90 slots at a zero "off" level). In the embodiments described herein, such accumulators may be positioned consistent with each electrical signal at any location in the path of each electrical signal within the VMM subsystem, such as in the VMM subsystem for before the summation module of all electrical signals or after the summation module of all electrical signals in the VMM subsystem. The VMM subsystem can also be configured so that there is no significant relative time shift between different electrical signals maintaining the alignment of different symbols.

參照第40圖,在一些實施例中,零差偵測可用於得到調變訊號的相位和幅度。零差偵測器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與|E 1||E 2|sin(θ)成比例,其中|E 1|和E 2|是兩個輸入光場(input optical field)的幅度,θ是它們的相對相位。由於輸出與兩個光場的乘積相關,因此即使在單一光子準位下也能偵測到極弱的光訊號。 Referring to Figure 40, in some embodiments, homodyne detection can be used to obtain the phase and amplitude of the modulation signal. Homodyne detector 4000 includes a beam splitter 4002 including a 2×2 multi-mode interference (MMI) coupler, two photodetectors 4004a and 4004b, and a subtractor 4006. Beam splitter 4002 receives input signals E 1 and E 2 , and the output of beam splitter 402 is detected by photodetectors 4004a and 4004b. For example, the input signal E 1 may be the signal to be detected, and the input signal E 2 may be generated by a local oscillator with constant laser power. The local oscillator signal E 2 is mixed with the input signal E 1 by the beam splitter 4002 before the signal is detected by the photodetectors 4004a and 4004b. Subtractor 4006 outputs the difference between the outputs of photodetectors 4004a and 4004b. The output 4008 of the subtractor 4006 is proportional to | E 1 | | E 2 | sin(θ), where | E 1 | and E 2 | are the amplitudes of the two input optical fields and θ is their relative phase. Because the output is related to the product of two light fields, extremely weak light signals can be detected even at a single photon level.

舉例來說,零差偵測器4000可用於第1A圖、第1F圖、第3A圖至第4A圖、第5圖、第7圖、第9圖、第18圖至24E 圖、第26圖至第32B圖以及第35A圖至第38圖所示的系統中。零差偵測器4000提供訊號上的增益(gain),並因此提供更好的訊號雜訊比(signal noise ratio)。對於相干系統,零偵檢測器4000提供了透過偵測結果的極性的揭示訊號的相位資訊的附加效益。 For example, the homodyne detector 4000 can be used in Figures 1A, 1F, 3A to 4A, 5, 7, 9, 18 to 24E Figure 26 to Figure 32B and Figure 35A to Figure 38 in the system shown. The homodyne detector 4000 provides gain on the signal and therefore provides a better signal to noise ratio. For coherent systems, the null detection detector 4000 provides the added benefit of revealing the phase information of the signal through the polarity of the detection result.

在第19B圖的實施例中,系統配置1920包括2×2元素矩陣,其中使用兩個不同的相應波長λ1和λ2在兩個光訊號上編碼兩個輸入向量元素。可以使用兩個光纖將兩個光訊號提供給系統配置1920。舉例來說,對4×4矩陣執行矩陣處理的系統可以接收四個光纖上承載的四個輸入光訊號。雖然可以使用更多光纖來承載用於處理較大矩陣的系統的更多輸入光訊號,但因為光纖和光電晶片之間的耦合佔用相當大的空間,很難將大量光纖耦接到光電晶片上。 In the embodiment of Figure 19B, system configuration 1920 includes a 2x2 element matrix in which two input vector elements are encoded on two optical signals using two different corresponding wavelengths λ 1 and λ 2 . Two optical fibers can be used to provide two optical signals to the system configuration 1920. For example, a system that performs matrix processing on a 4×4 matrix can receive four input optical signals carried on four optical fibers. Although more optical fibers can be used to carry more input optical signals for systems that handle larger matrices, it is difficult to couple large numbers of optical fibers to an optoelectronic chip because the coupling between the optical fiber and the optoelectronic chip takes up considerable space. .

減少將光信號承載到光電晶片所需的光纖數量的方法是使用波長分波多路複用。可以使用單一光纖多路複用和傳輸具有不同波長的多個光訊號。舉例來說,參照第41圖,在計算系統4100中,具有波長λ1的第一光訊號4102由第一調變器4104調變,以產生表示第一輸入向量元素V 1的第一調變光訊號4120。具有波長λ2的第二光訊號4106由第二調變器4108調變,以產生表示第二輸入向量元素V 2的第二調變光訊號4122。第一和第二調變光訊號由多路複用器4110組合以產生波長分波多路複用訊號,其透過光纖4112被傳輸到光電晶片4114,光電晶片4114包括多個矩陣乘法 模組4116a、4116b、4116c以及4116d(統稱為4116)和4118a、4118b、4118c以及4118d(統稱為4118)。 One way to reduce the number of optical fibers required to carry optical signals to an optoelectronic die is to use wavelength division multiplexing. Multiple optical signals with different wavelengths can be multiplexed and transmitted using a single optical fiber. For example, referring to Figure 41, in computing system 4100, first optical signal 4102 having wavelength λ 1 is modulated by first modulator 4104 to produce a first modulation representing first input vector element V 1 Light Signal 4120. The second optical signal 4106 having wavelength λ 2 is modulated by the second modulator 4108 to produce a second modulated optical signal 4122 representing the second input vector element V 2 . The first and second modulated optical signals are combined by a multiplexer 4110 to generate a wavelength division multiplexed signal, which is transmitted to the optoelectronic chip 4114 through the optical fiber 4112. The optoelectronic chip 4114 includes a plurality of matrix multiplication modules 4116a, 4116b, 4116c, and 4116d (collectively, 4116) and 4118a, 4118b, 4118c, and 4118d (collectively, 4118).

在光電晶片4114內部,藉由多路分解器4118多路分解波長分波多路複用訊號,以分離第一調變光訊號4120和第二調變光訊號4122。在此實施例中,第一調變光訊號4120由複製模組4124複製,以產生發送到矩陣乘法模組4116a和4118a的光訊號的副本。第二調變光訊號4122由複製模組4126複製,以產生發送到矩陣乘法模組4116b和4118b的光訊號的副本。矩陣乘法單元4116a和4116b的輸出使用光耦合器4120a組合,並且組合訊號由光偵測器4122a偵測。 Inside the optoelectronic chip 4114, the wavelength demultiplexing signal is demultiplexed by a demultiplexer 4118 to separate the first modulated optical signal 4120 and the second modulated optical signal 4122. In this embodiment, the first modulated optical signal 4120 is replicated by replication module 4124 to generate a replica of the optical signal sent to matrix multiplication modules 4116a and 4118a. The second modulated optical signal 4122 is replicated by replication module 4126 to produce a replica of the optical signal sent to matrix multiplication modules 4116b and 4118b. The outputs of matrix multiplication units 4116a and 4116b are combined using optical coupler 4120a, and the combined signal is detected by photodetector 4122a.

具有波長λ1的第三光訊號4124由第三調變器4128調變,以產生表示第三輸入向量元素V 3的第三調變光訊號4132。具有波長λ2的第四光訊號4126由第四調變器4130調變,以產生表示第四輸入向量元素V 4的第四調變光訊號4134。第三和第四調變光訊號由多路複用器4136組合以產生波長分波多路複用訊號,其透過光纖4138傳輸到光電晶片4114。 The third optical signal 4124 having wavelength λ 1 is modulated by the third modulator 4128 to produce a third modulated optical signal 4132 representing the third input vector element V 3 . The fourth optical signal 4126 having wavelength λ 2 is modulated by the fourth modulator 4130 to generate a fourth modulated optical signal 4134 representing the fourth input vector element V 4 . The third and fourth modulated optical signals are combined by a multiplexer 4136 to generate a wavelength division multiplexed signal, which is transmitted to the optoelectronic chip 4114 through the optical fiber 4138.

在光電晶片4114內部,由光纖4138提供的波長分波多路複用訊號由多路分解器4140多路分解,以分離光訊號4132和4134。在此實施例中,第三調變光訊號4132由複製模組4142複製,以產生發送到矩陣乘法模組4116c和4118c的光訊號的副本。第四調變光訊號4134由複製模組4144複製,以產生發送到矩陣乘法模組4116d和4118d的光訊號的副本。矩陣乘法單元4116c和 4116d的輸出使用光耦合器4120b組合,並且組合訊號由光偵測器4122b偵測。矩陣乘法單元4118a和4118b的輸出使用光耦合器組合,並且組合訊號由光偵測器偵測。矩陣乘法單元4118c和4118d的輸出使用光耦合器組合,並且組合訊號由光偵測器偵測。 Inside the optoelectronic chip 4114, the wavelength division multiplexing signal provided by the optical fiber 4138 is demultiplexed by a demultiplexer 4140 to separate the optical signals 4132 and 4134. In this embodiment, the third modulated optical signal 4132 is replicated by replication module 4142 to generate a replica of the optical signal sent to matrix multiplication modules 4116c and 4118c. The fourth modulated optical signal 4134 is replicated by replication module 4144 to produce a replica of the optical signal sent to matrix multiplication modules 4116d and 4118d. Matrix multiplication unit 4116c and The outputs of 4116d are combined using optical coupler 4120b, and the combined signal is detected by photodetector 4122b. The outputs of matrix multiplication units 4118a and 4118b are combined using an optical coupler, and the combined signal is detected by a photodetector. The outputs of matrix multiplication units 4118c and 4118d are combined using an optical coupler, and the combined signal is detected by a photodetector.

在一些實施例中,多路複用器可以多路複用具有三個或多個(例如:10或100)波長的光信號,以產生由單一光纖傳輸的波長分波多路複用訊號,並且光電經片內部的多路分解器可以多路分解波長分波多路複用訊號,以將具有不同波長的訊號分開。這允許更多的光訊號並行通過光纖傳輸到光電晶片,增加了光電晶片的資料處理流通量。 In some embodiments, a multiplexer may multiplex optical signals with three or more (eg, 10 or 100) wavelengths to produce a wavelength-demultiplexed signal transmitted over a single optical fiber, and The demultiplexer inside the photoelectric transceiver can demultiplex the wavelength division multiplexing signal to separate signals with different wavelengths. This allows more optical signals to be transmitted in parallel through the optical fiber to the optoelectronic chip, increasing the data processing throughput of the optoelectronic chip.

在一些實施例中,第1A圖的雷射單元142包括單一雷射,其提供可以用不同的光訊號調變的光波。在那種情況下,系統的各個波導中的光波在雷射的線寬的解析度內具有彼此大抵相同的公共波長。舉例來說,光波可具有彼此在1nm之內的波長。然而,雷射單元142還可包括多個雷射,其能夠使用調變到不同相應光波(例如:每個具有1nm或更小的線寬)上的不同的光訊號來進行波長分波多路複用操作。不同的光波可具有峰值波長,其彼此分開的波長距離大於個別雷射的線寬(例如:大於1nm)。在一些實施例中,波長分波多路複用系統可以使用被調變到具有幾奈米(例如:3nm或更大)的波長的光波上的光訊號。然而,如果多路分解器具有更好的解析度,則WDM系統中不同波長之間的差異也可以小於3nm。 In some embodiments, laser unit 142 of Figure 1A includes a single laser that provides light waves that can be modulated with different optical signals. In that case, the light waves in the various waveguides of the system have approximately the same common wavelength as each other within the resolution of the linewidth of the laser. For example, the light waves may have wavelengths within 1 nm of each other. However, the laser unit 142 may also include multiple lasers capable of wavelength demultiplexing using different optical signals modulated onto different corresponding optical waves (eg, each having a linewidth of 1 nm or less). Use operation. Different light waves may have peak wavelengths that are separated from each other by a wavelength distance greater than the linewidth of the individual lasers (eg, greater than 1 nm). In some embodiments, a wavelength division multiplexing system may use optical signals that are modulated onto light waves with wavelengths of several nanometers (eg, 3 nm or greater). However, if the demultiplexer has better resolution, the difference between different wavelengths in a WDM system can also be less than 3nm.

本揭露所述的數位控制器(例如:用於控制第24E圖所示的部件)和功能操作可以在數位電子電路中實現,或者在電腦軟體、韌體或硬體中實現,其包括本揭露中的結構及其結構等價物,或者其中的一或多個組合。本揭露所述的實施例和功能操作可以使用在電腦可讀媒體上所編碼的一或多個電腦程式指令模組來實現,以由資料處理裝置來執行或控制資料處理裝置的操作。電腦可讀媒體可以是製造產品(例如電腦系統中的硬碟驅動器或通過零售管道銷售的光碟)或嵌入式系統。計算機可讀介質可以個別地獲取並隨後使用電腦程式指令的一或多個模組進行編碼,例如藉由有線或無線網路傳送電腦程式指令的一或多個模組。電腦可讀媒體可以是機器可讀儲存裝置、機器可讀儲存基板、記憶體裝置或它們中的一或多個的組合。 The digital controller (for example, used to control the components shown in Figure 24E) and functional operations described in the present disclosure can be implemented in digital electronic circuits, or in computer software, firmware or hardware, including the present disclosure The structures in and their structural equivalents, or one or more combinations thereof. The embodiments and functional operations described in the present disclosure may be implemented using one or more computer program instruction modules encoded on a computer-readable medium for execution by a data processing device or to control the operation of the data processing device. The computer-readable medium may be a manufactured product (such as a hard drive in a computer system or an optical disc sold through retail channels) or an embedded system. The computer-readable medium may be individually retrieved and subsequently encoded using one or more modules of computer program instructions, such as one or more modules of computer program instructions transmitted over a wired or wireless network. The computer-readable medium may be a machine-readable storage device, a machine-readable storage substrate, a memory device, or a combination of one or more of them.

電腦程式(亦稱為程式、軟體、軟體應用、腳本(script)或代碼)可以用任何形式的程式語言編寫,包括編譯或直譯語言、宣告(declarative)或程序(procedural)語言,並且可以配置在任何形式,包括作為獨立程式(stand alone program)或作為模組、部件、子程式或適用於計算環境的其他單元。電腦程式不一定對應於檔案系統中的檔案。程式可以儲存在保存其他程式或資料(例如:儲存在標記式語言文檔(markup language document)中的一或多個腳本)的檔案的一部分中、儲存在專用於所討論的程式的單一檔案中、或儲存在多個協調檔案(multiple coordinated file)(例如:儲存一或多個模組、子程式或代碼部分的檔案)中。 電腦程式可被配置以執行在一個電腦上或在位於一個站點或分佈在多個站點並藉由通訊網路互連的多個電腦上。 A computer program (also called a program, software, software application, script, or code) can be written in any form of programming language, including compiled or literal languages, declarative or procedural languages, and can be configured in In any form, including as a stand alone program or as a module, component, subroutine or other unit suitable for use in a computing environment. Computer programs do not necessarily correspond to files in a file system. Programs may be stored as part of a file that holds other programs or data (for example, one or more scripts stored in a markup language document), in a single file dedicated to the program in question, or stored in multiple coordinated files (e.g., files that store one or more modules, subroutines, or code portions). A computer program may be configured to execute on one computer or on multiple computers located at a single site or distributed across multiple sites and interconnected by a communications network.

本揭露中所述的處理和邏輯流程可以由執行一或多個電腦程式的一或多個可程式處理器(programmable processor)執行,以藉由對輸入資料進行操作並產生輸出來執行功能。處理和邏輯流程也可由專用邏輯電路(special purpose logic circuitry)執行,並且裝置也可以實現為專用邏輯電路,例如現場可程式閘陣列(field programmable gate array;FPGA)或特殊應用積體電路(ASIC)。 The processes and logic flows described in this disclosure may be performed by one or more programmable processors executing one or more computer programs to perform functions by operating on input data and producing output. Processing and logic flows may also be performed by special purpose logic circuitry, and devices may also be implemented as special purpose logic circuitry, such as field programmable gate arrays (FPGAs) or application special integrated circuits (ASICs). .

雖然已經結合某些實施例描述了本揭露,但應理解本揭露不限於所揭露的實施例,而是相反地,旨在涵蓋包括在所附申請專利範圍內的各種修改和等價佈置,其範圍應被賦予最廣泛的解釋,以包含法律允許的所有這些修改和等價結構。 While the present disclosure has been described in connection with certain embodiments, it is to be understood that the disclosure is not limited to the disclosed embodiments, but on the contrary, is intended to cover various modifications and equivalent arrangements included within the scope of the appended claims. The scope shall be given the broadest interpretation to include all such modifications and equivalent constructions permitted by law.

舉例來說,第42圖顯示了其中小係數更頻繁出現的資料集的機率分佈函數。在另一實施例中,假設資料集具有使得係數的機率分佈函數(PDF)對於較大的係數(即絕對值相對較大的係數)產生較高的概率(並因此實例更加頻繁)的特性。對於這種資料集(“高係數權重資料集”),可以藉由設計調變器以達到降低的功耗,使得調變器在較低功率狀態下操作以使用較大的係數(在資料集中出現的頻率較高)進行計算,而在較高功率狀態下操作以使用較小的係數(在資料集中出現的頻率較低)進行計算。 For example, Figure 42 shows the probability distribution function for a data set in which small coefficients occur more frequently. In another embodiment, it is assumed that the data set has properties such that the probability distribution function (PDF) of the coefficients yields higher probabilities (and therefore more frequent instances) for larger coefficients (ie coefficients with relatively larger absolute values). For such data sets ("high coefficient weight data sets"), reduced power consumption can be achieved by designing the modulator such that the modulator operates in a lower power state to use larger coefficients (in the data set occur more frequently), while operating in a higher power state allows calculations using smaller coefficients (occur less frequently in the data set).

本揭露中描述的各種系統的一些背景資訊公開於 2018年6月5日提交的美國臨時申請62/680,944、2018年10月12日提交的美國臨時申請62/744,70以及2019年6月4日提交的美國申請16/431,167。以上申請的全部揭露內容藉由引用結合於此。 Some background information on the various systems described in this disclosure is available at U.S. Provisional Application 62/680,944 filed on June 5, 2018, U.S. Provisional Application 62/744,70 filed on October 12, 2018, and U.S. Application 16/431,167 filed on June 4, 2019. The entire disclosures of the above applications are incorporated herein by reference.

儘管在所附申請專利範圍中定義了本揭露,但應理解本揭露亦可以根據以下實施例來定義: Although the present disclosure is defined in the appended claims, it should be understood that the present disclosure may also be defined in accordance with the following embodiments:

實施例1:計算系統,包括:記憶體單元,被配置以儲存資料集和複數神經網路權重;數位類比轉換器(digital-to-analog converter;DAC)單元,被配置以產生複數調變器控制訊號,並且產生複數權重控制訊號;光處理器,包括:雷射單元,被配置以產生複數光輸出;複數光調變器,耦接至雷射單元和DAC單元,光調變器被配置以基於調變器控制訊號,調變由雷射單元所產生的光輸出,來產生光輸入向量;光矩陣乘法單元,耦接至光調變器和DAC單元,光矩陣乘法單元被配置以基於權重控制訊號將光輸入向量轉換成光輸出向量;以及光偵測單元,耦接至光矩陣乘法單元,並且被配置以產生對應光輸出向量的複數輸出電壓;類比數位轉換器(analog-to-digital converter;ADC)單元,耦接至光偵測單元,並且被配置以將輸出電壓轉換成複數數位光輸出; 控制器,包括積體電路,被配置以執行以下操作:從電腦接收包括輸入資料集和第一多個神經網路權重的人工神經網路計算請求,其中輸入資料集包括第一數位輸入向量;在記憶體單元中儲存輸入資料集和第一多個神經網路權重;以及透過DAC單元,基於第一數位輸入向量產生第一多個調變器控制訊號,並且基於第一多個神經網路權重產生第一多個權重控制訊號。 Embodiment 1: A computing system, including: a memory unit configured to store a data set and complex neural network weights; a digital-to-analog converter (DAC) unit configured to generate a complex modulator control signal and generate a complex weighted control signal; the optical processor includes: a laser unit configured to generate a complex optical output; a complex optical modulator coupled to the laser unit and the DAC unit, the optical modulator is configured Based on the modulator control signal, the light output generated by the laser unit is modulated to generate the light input vector; the light matrix multiplication unit is coupled to the light modulator and the DAC unit, and the light matrix multiplication unit is configured based on The weight control signal converts the light input vector into the light output vector; and the light detection unit is coupled to the light matrix multiplication unit and is configured to generate a complex output voltage corresponding to the light output vector; an analog-to-digital converter (analog-to- digital converter (ADC) unit, coupled to the light detection unit, and configured to convert the output voltage into a complex digital light output; The controller, including the integrated circuit, is configured to perform the following operations: receive an artificial neural network calculation request from the computer including an input data set and a first plurality of neural network weights, wherein the input data set includes a first digital input vector; storing the input data set and the first plurality of neural network weights in the memory unit; and generating, through the DAC unit, a first plurality of modulator control signals based on the first digital input vector and based on the first plurality of neural networks The weight generates a first plurality of weight control signals.

實施例2:如實施例1之計算系統,其中操作更包括:從ADC單元得到對應光矩陣乘法單元的光輸出向量的第一多個數位光輸出,第一多個數位光輸出形成第一數位輸出向量;對第一數位輸出向量執行非線性轉換,以產生第一轉換數位輸出向量;以及在記憶體單元中儲存第一轉換數位輸出向量 Embodiment 2: The computing system of Embodiment 1, wherein the operation further includes: obtaining a first plurality of digital light outputs corresponding to the light output vector of the light matrix multiplication unit from the ADC unit, and the first plurality of digital light outputs form the first digit. output vector; perform a non-linear transformation on the first digital output vector to generate a first transformed digital output vector; and store the first transformed digital output vector in the memory unit

實施例3:如實施例2之計算系統,其中計算系統具有第一循環週期,其被定義為在記憶體單元中儲存輸入資料集和第一多個神經網路權重的步驟與在記憶體單元中儲存第一轉換數位輸出向量的步驟之間所經過的時間,以及其中第一循環週期小於或等於1ns。 Embodiment 3: The computing system of Embodiment 2, wherein the computing system has a first cycle, which is defined as the step of storing the input data set and the first plurality of neural network weights in the memory unit and the steps of storing the input data set and the first plurality of neural network weights in the memory unit. The time elapsed between steps of storing the first converted digital output vector in , and wherein the first cycle period is less than or equal to 1 ns.

實施例4:如實施例2之計算系統,其中操作更包括:輸出基於第一轉換數位輸出向量所產生的人工神經網路輸出。 Embodiment 4: The computing system of Embodiment 2, wherein the operation further includes: outputting an artificial neural network output generated based on the first converted digital output vector.

實施例5:如實施例2之計算系統,其中操作更包括:透過DAC單元基於第一轉換數位輸出向量產生第二多個調變器控制訊號。 Embodiment 5: The computing system of Embodiment 2, wherein the operation further includes: generating a second plurality of modulator control signals based on the first converted digital output vector through the DAC unit.

實施例6:如實施例2之計算系統,其中人工神經網路計算請求更包括第二多個神經網路權重,並且其中操作更包括:基於第一多個數位光輸出的獲得,透過數位類比轉換器單元基於第二多個神經網路權重產生第二多個權重控制訊號。 Embodiment 6: The computing system of Embodiment 2, wherein the artificial neural network calculation request further includes a second plurality of neural network weights, and the operation further includes: based on obtaining the first plurality of digital light outputs, through a digital analog The converter unit generates a second plurality of weight control signals based on the second plurality of neural network weights.

實施例7:如實施例6之計算系統,其中第一多個神經網路權重和第二多個神經網路權重對應人工神經網路的不同層。 Embodiment 7: The computing system of Embodiment 6, wherein the first plurality of neural network weights and the second plurality of neural network weights correspond to different layers of the artificial neural network.

實施例8:如實施例2之計算系統,其中輸入資料集更包括第二數位輸入向量,並且其中操作更包括:透過DAC單元,基於第二數位輸入向量產生第二多個調變器控制訊號;從ADC單元得到對應光矩陣乘法單元的光輸出向量的第二多個數位光輸出,第二多個數位光輸出形成第二數位輸出向量; 對第二數位輸出向量執行非線性轉換以產生第二轉換數位輸出向量;在記憶體單元中儲存第二轉換數位輸出向量;以及輸出基於第一轉換數位輸出向量和第二轉換數位輸出向量所產生的人工神經網路輸出,其中光矩陣乘法單元的光輸出向量由基於第二多個調變器控制訊號所產生的第二光輸入向量產生,第二光輸入向量由光矩陣乘法單元基於首先提到的上述權重控制訊號來轉換。 Embodiment 8: The computing system of Embodiment 2, wherein the input data set further includes a second digital input vector, and the operation further includes: generating a second plurality of modulator control signals based on the second digital input vector through the DAC unit ; Obtain a second plurality of digital light outputs corresponding to the light output vector of the light matrix multiplication unit from the ADC unit, and the second plurality of digital light outputs form a second digital output vector; perform a non-linear transformation on the second digital output vector to generate a second transformed digital output vector; store the second transformed digital output vector in a memory unit; and output a result generated based on the first transformed digital output vector and the second transformed digital output vector Artificial neural network output, wherein the optical output vector of the optical matrix multiplication unit is generated by a second optical input vector generated based on the second plurality of modulator control signals, and the second optical input vector is generated by the optical matrix multiplication unit based on the first The above weight control signal is obtained to convert.

實施例9:如實施例1之計算系統,更包括:類比非線性單元,被設置在光偵測單元與ADC單元之間,類比非線性單元被配置以從光偵測單元接收輸出電壓、應用非線性傳遞函數、以及輸出複數轉換輸出電壓至ADC單元,其中操作更包括:從ADC單元得到對應轉換輸出電壓的第一多個轉換數位輸出電壓,第一多個轉換數位輸出電壓形成第一轉換數位輸出向量;以及在記憶體單元中儲存第一轉換數位輸出向量。 Embodiment 9: The computing system of Embodiment 1 further includes: an analog nonlinear unit disposed between the light detection unit and the ADC unit, the analog nonlinear unit is configured to receive the output voltage from the light detection unit and apply The nonlinear transfer function, and outputting the complex conversion output voltage to the ADC unit, wherein the operation further includes: obtaining a first plurality of conversion digital output voltages corresponding to the conversion output voltage from the ADC unit, and the first plurality of conversion digital output voltages form a first conversion a digital output vector; and storing the first converted digital output vector in the memory unit.

實施例10:如實施例1之計算系統,其中控制器的積體電路被配置以產生大於或等於8GHz的頻率的第一多個調變器控制訊號。 Embodiment 10: The computing system of Embodiment 1, wherein the integrated circuit of the controller is configured to generate a first plurality of modulator control signals with a frequency greater than or equal to 8 GHz.

實施例11:如實施例1之計算系統,更包括: 類比記憶體單元,被設置在DAC單元與光調變器之間,類比記憶體單元被配置以儲存複數類比電壓,並且輸出儲存的類比電壓;以及類比非線性單元,被設置在光偵測單元與ADC單元之間,類比非線性單元被配置以從光偵測單元接收輸出電壓、應用非線性傳遞函數、以及輸出複數轉換輸出電壓。 Embodiment 11: The computing system of Embodiment 1 further includes: An analog memory unit is disposed between the DAC unit and the light modulator. The analog memory unit is configured to store a complex analog voltage and output the stored analog voltage; and an analog nonlinear unit is disposed in the light detection unit. With the ADC unit, the analog nonlinear unit is configured to receive an output voltage from the light detection unit, apply a nonlinear transfer function, and output a complex converted output voltage.

實施例12:如實施例11之計算系統,其中類比記憶體單元包括複數電容。 Embodiment 12: The computing system of Embodiment 11, wherein the analog memory unit includes a complex capacitor.

實施例13:如實施例11之計算系統,其中類比記憶體單元被配置以接收和儲存類比非線性單元的轉換輸出電壓,並且將儲存的轉換輸出電壓輸出至光調變器,以及其中操作更包括:基於產生第一多個調變器控制訊號和第一多個權重控制訊號,在類比記憶體單元中儲存類比非線性單元的轉換輸出電壓;透過類比記憶體單元輸出儲存的轉換輸出電壓;從ADC單元得到第二多個轉換數位輸出電壓,第二多個轉換數位輸出電壓形成第二轉換數位輸出向量;以及在記憶體單元中儲存第二轉換數位輸出向量。 Embodiment 13: The computing system of Embodiment 11, wherein the analog memory unit is configured to receive and store the conversion output voltage of the analog nonlinear unit, and output the stored conversion output voltage to the light modulator, and wherein the operation is more The method includes: storing the conversion output voltage of the analog nonlinear unit in the analog memory unit based on generating the first plurality of modulator control signals and the first plurality of weight control signals; and outputting the stored conversion output voltage through the analog memory unit; Obtaining a second plurality of converted digital output voltages from the ADC unit, the second plurality of converted digital output voltages forming a second converted digital output vector; and storing the second converted digital output vector in the memory unit.

實施例14:如實施例1之計算系統,其中人工神經網路計算請求的輸入資料集包括複數數位輸入向量,其中雷射單元被配置以產生複數波長,其中光調變器包括: 複數光調變器組(bank),被配置以產生複數光輸入向量,每一個光調變器組對應一個波長,並且產生具有相應波長的相應光輸入向量;以及光多路複用器,被配置以將光輸入向量組合成包括波長的組合光輸入向量,其中光偵測單元更被配置以多路分解波長,並且產生複數多路分解輸出電壓,以及其中操作包括:從ADC單元得到複數數位多路分解光輸出,數位多路分解光輸出形成複數第一數位輸出向量,其中每一個第一數位輸出向量對應一個波長;對每一個第一數位輸出向量執行非線性轉換,以產生複數轉換第一數位輸出向量;以及在記憶體單元中儲存轉換第一數位輸出向量,其中每一個數位輸入向量對應一個光輸入向量。 Embodiment 14: The computing system of Embodiment 1, wherein the input data set of the artificial neural network calculation request includes a complex digital input vector, wherein the laser unit is configured to generate a complex wavelength, and the light modulator includes: a complex optical modulator bank configured to generate a complex optical input vector, each optical modulator bank corresponding to a wavelength and generating a corresponding optical input vector having a corresponding wavelength; and an optical multiplexer, Configured to combine the optical input vectors into a combined optical input vector including wavelengths, wherein the light detection unit is further configured to demultiplex the wavelengths and generate a complex demultiplexed output voltage, and wherein the operations include: obtaining the complex digital bits from the ADC unit The demultiplexed light output is digitally demultiplexed to form a complex first digital output vector, where each first digital output vector corresponds to a wavelength; a nonlinear conversion is performed on each first digital output vector to generate the complex converted first a digital output vector; and storing the converted first digital output vector in the memory unit, wherein each digital input vector corresponds to a light input vector.

實施例15:如實施例1之計算系統,其中人工神經網路計算請求包括複數數位輸入向量,其中雷射單元被配置以產生複數波長,其中光調變器包括:複數光調變器組,被配置以產生複數光輸入向量,每一個光調變器組對應一個波長,並且產生具有相應波長的相應光輸入向量;以及 光多路複用器,被配置以將光輸入向量組合成包括波長的組合光輸入向量,以及其中操作包括:從ADC單元得到對應光輸出向量的第一多個數位光輸出,光輸出向量包括波長,第一多個數位光輸出形成第一數位輸出向量;對第一數位輸出向量執行非線性轉換,以產生第一轉換數位輸出向量;以及在記憶體單元中儲存第一轉換數位輸出向量。 Embodiment 15: The computing system of Embodiment 1, wherein the artificial neural network calculation request includes a complex digital input vector, wherein the laser unit is configured to generate a complex wavelength, and the optical modulator includes: a complex optical modulator group, configured to generate a plurality of optical input vectors, one for each optical modulator group corresponding to a wavelength, and generate corresponding optical input vectors having corresponding wavelengths; and An optical multiplexer configured to combine the optical input vectors into a combined optical input vector including wavelengths, and wherein the operations include: obtaining a first plurality of digital optical outputs from the ADC unit corresponding to the optical output vector, the optical output vector including wavelength, the first plurality of digital light outputs form a first digital output vector; perform a nonlinear transformation on the first digital output vector to generate a first converted digital output vector; and store the first converted digital output vector in a memory unit.

實施例16:如實施例1之計算系統,其中DAC單元包括:1位元DAC子單元,被配置以產生複數1位元調變器控制訊號,其中ADC單元的解析度為1位元,其中第一數位輸入向量的解析度為N位元,以及其中操作包括:將第一數位輸入向量分解為N個1位元輸入向量,每一個N個1位元輸入向量對應第一數位輸入向量的N位元中的一個;透過1位元DAC子單元產生對應N個1位元輸入向量的N個1位元調變器控制訊號的序列;從ADC單元得到對應N個1位元調變器控制訊號的序列的N個數位1位元光輸出的序列;從N個數位1位元光輸出的序列建構N位元數位輸出向量; 對建構的N位元數位輸出向量執行非線性轉換,以產生轉換N位元數位輸出向量;以及在記憶體單元中儲存轉換N位元數位輸出向量。 Embodiment 16: The computing system of Embodiment 1, wherein the DAC unit includes: a 1-bit DAC subunit configured to generate a complex 1-bit modulator control signal, wherein the resolution of the ADC unit is 1 bit, where The resolution of the first digit input vector is N bits, and the operation includes: decomposing the first digit input vector into N 1-bit input vectors, each N 1-bit input vector corresponding to the first digit input vector. One of N bits; generate a sequence of N 1-bit modulator control signals corresponding to N 1-bit input vectors through the 1-bit DAC subunit; obtain the corresponding N 1-bit modulators from the ADC unit A sequence of N digital 1-bit light outputs of a sequence of control signals; constructing an N-bit digital output vector from a sequence of N digital 1-bit light outputs; Perform a non-linear transformation on the constructed N-bit digital output vector to generate a transformed N-bit digital output vector; and store the transformed N-bit digital output vector in a memory unit.

實施例17:如實施例1之計算系統,其中記憶體單元包括:數位輸入向量記憶體,被配置以儲存第一數位輸入向量,並且包括至少一靜態隨機存取記憶體;以及神經網路權重記憶體,被配置以儲存神經網路權重,並且包括至少一動態隨機存取記憶體。 Embodiment 17: The computing system of Embodiment 1, wherein the memory unit includes: a digital input vector memory configured to store the first digital input vector and including at least one static random access memory; and neural network weights The memory is configured to store the neural network weights and includes at least one dynamic random access memory.

實施例18:如實施例1之計算系統,其中DAC單元包括:第一DAC子單元,被配置以產生調變器控制訊號;以及第二DAC子單元,被配置以產生權重控制訊號,其中第一DAC子單元和第二DAC子單元是不同的。 Embodiment 18: The computing system of Embodiment 1, wherein the DAC unit includes: a first DAC subunit configured to generate a modulator control signal; and a second DAC subunit configured to generate a weight control signal, wherein the One DAC subunit and the second DAC subunit are different.

實施例19:如實施例1之計算系統,其中雷射單元包括:雷射源,被配置以產生光;以及光功率分離器,被配置以將由雷射源所產生的光分成光輸出,其中每一個光輸出具有大抵相同的功率。 Embodiment 19: The computing system of Embodiment 1, wherein the laser unit includes: a laser source configured to generate light; and an optical power splitter configured to split the light generated by the laser source into light output, wherein Each light output has approximately the same power.

實施例20:如實施例1之計算系統,其中光調變器包括MZI調變器、環形共振調變器或電吸收調變器中的一個。 Embodiment 20: The computing system of Embodiment 1, wherein the light modulator includes one of an MZI modulator, a ring resonance modulator, or an electroabsorption modulator.

實施例21:如實施例1之計算系統,其中光偵測單元包括:複數光偵測器;以及複數放大器,被配置以將由光偵測器所產生的光電流轉換成輸出電壓。 Embodiment 21: The computing system of Embodiment 1, wherein the light detection unit includes: a complex photodetector; and a complex amplifier configured to convert the photocurrent generated by the photodetector into an output voltage.

實施例22:如實施例1之計算系統,其中積體電路是特殊應用積體電路。 Embodiment 22: The computing system of Embodiment 1, wherein the integrated circuit is a special application integrated circuit.

實施例23:如實施例1之計算系統,其中光矩陣乘法單元包括:輸入波導陣列,用於接收光輸入向量;光干涉單元,與輸入波導陣列光學通訊,用於執行將光輸入向量轉換成第二光訊號陣列的線性轉換;以及輸出波導陣列,與光干涉單元光學通訊,用於引導第二光訊號陣列,其中在輸入波導陣列中的至少一輸入波導透過光干涉單元與在輸出波導陣列中的每一個輸出波導光學通訊。 Embodiment 23: The computing system of Embodiment 1, wherein the optical matrix multiplication unit includes: an input waveguide array, used to receive the light input vector; an optical interference unit, in optical communication with the input waveguide array, used to perform conversion of the light input vector into Linear conversion of the second optical signal array; and an output waveguide array in optical communication with the optical interference unit for guiding the second optical signal array, wherein at least one input waveguide in the input waveguide array passes through the optical interference unit and the output waveguide array Each of the output waveguide optical communications.

實施例24:如實施例23之計算系統,其中光干涉單元包括:複數互連馬赫曾德爾干涉(MZI),互連MZI中的每一個MZI包括:第一相位移器,被配置以改變MZI的分離比;以及第二相位移器,被配置以位移MZI的一個輸出的相位,其中第一相位移器和第二相位移器耦接至權重控制訊號。 Embodiment 24: The computing system of Embodiment 23, wherein the optical interference unit includes: complex interconnected Mach-Zehnder Interference (MZI), and each MZI of the interconnected MZIs includes: a first phase shifter configured to change the MZI a separation ratio; and a second phase shifter configured to shift a phase of one output of the MZI, wherein the first phase shifter and the second phase shifter are coupled to the weight control signal.

實施例25:計算系統,包括:記憶體單元,被配置以儲存資料集和複數神經網路權重;驅動器單元,被配置以產生複數調變器控制訊號和產生複數權重控制訊號;光處理器,包括:雷射單元,被配置以產生複數光輸出;複數光調變器,耦接至雷射單元和驅動器單元,光調變器被配置以基於調變器控制訊號,調變由雷射單元所產生的光輸出,來產生光輸入向量;光矩陣乘法單元,耦接至光調變器和驅動器單元,光矩陣乘法單元被配置以基於權重控制訊號將光輸入向量轉換成光輸出向量;以及光偵測單元,耦接至光矩陣乘法單元,並且被配置以產生對應光輸出向量的複數輸出電壓;比較器單元,耦接至光偵測單元,並且被配置以將輸出電壓轉換成複數數位1位元光輸出;以及控制器,包括積體電路,被配置以執行以下操作:從電腦接收包括輸入資料集和第一多個神經網路權重的人工神經網路計算請求,其中輸入資料集包括具有N位元解析度的第一數位輸入向量;在記憶體單元中儲存輸入資料集和第一多個神經網路權重; 將第一數位輸入向量分解為N個1位元輸入向量,每一個N個1位元輸入向量對應第一數位輸入向量的N位元中的一個;透過驅動器單元產生對應N個1位元輸入向量的N個1位元調變器控制訊號的序列;從比較器單元得到對應N個1位元調變器控制訊號的序列的N個數位1位元光輸出的序列;從N個數位1位元光輸出的序列建構N位元數位輸出向量;對建構的N位元數位輸出向量執行非線性轉換,以產生轉換N位元數位輸出向量;以及在記憶體單元中儲存轉換N位元數位輸出向量。 Embodiment 25: A computing system, including: a memory unit configured to store a data set and a complex neural network weight; a driver unit configured to generate a complex modulator control signal and generate a complex weight control signal; an optical processor, It includes: a laser unit configured to generate a plurality of light outputs; a plurality of light modulators coupled to the laser unit and a driver unit, the light modulator being configured to control a signal based on the modulator, and the modulation is performed by the laser unit the generated optical output to generate an optical input vector; an optical matrix multiplication unit coupled to the optical modulator and the driver unit, the optical matrix multiplication unit configured to convert the optical input vector into an optical output vector based on the weight control signal; and The light detection unit is coupled to the light matrix multiplication unit and is configured to generate a complex output voltage corresponding to the light output vector; the comparator unit is coupled to the light detection unit and is configured to convert the output voltage into a complex digital number. 1-bit light output; and a controller, including an integrated circuit, configured to: receive an artificial neural network calculation request from the computer including an input data set and a first plurality of neural network weights, wherein the input data set including a first digital input vector having N-bit resolution; storing an input data set and a first plurality of neural network weights in a memory unit; The first digital input vector is decomposed into N 1-bit input vectors, each N 1-bit input vector corresponds to one of the N bits of the first digital input vector; the corresponding N 1-bit inputs are generated through the driver unit A sequence of N 1-bit modulator control signals of the vector; a sequence of N digital 1-bit light output corresponding to the sequence of N 1-bit modulator control signals is obtained from the comparator unit; from the N digital 1 A sequence of bit light outputs constructs an N-bit digital output vector; performs a nonlinear transformation on the constructed N-bit digital output vector to produce a transformed N-bit digital output vector; and stores the transformed N-bit digital output vector in a memory unit Output vector.

實施例26:計算方法用於在計算系統中執行人工神經網路計算,計算系統具有光矩陣乘法單元,光矩陣乘法單元被配置以基於複數權重控制訊號將光輸入向量轉換成光輸出向量,計算方法包括:從電腦接收包括輸入資料集和第一多個神經網路權重的人工神經網路計算請求,其中輸入資料集包括第一數位輸入向量;在記憶體單元中儲存輸入資料集和第一多個神經網路權重;透過數位類比轉換器(DAC)單元,基於第一數位輸入向量產生第一多個調變器控制訊號,並且基於第一多個神經網路權重產生第一多個權重控制訊號; 從類比數位轉換器(ADC)單元得到對應光矩陣乘法單元的光輸出向量的第一多個數位光輸出,第一多個數位光輸出形成第一數位輸出向量;藉由控制器對第一數位輸出向量執行非線性轉換,以產生第一轉換數位輸出向量;在記憶體單元中儲存第一轉換數位輸出向量;以及藉由控制器輸出基於第一轉換數位輸出向量所產生的人工神經網路輸出。 Embodiment 26: The calculation method is used to perform artificial neural network calculations in a computing system. The computing system has a light matrix multiplication unit configured to convert a light input vector into a light output vector based on a complex weight control signal. Calculate The method includes: receiving an artificial neural network calculation request including an input data set and a first plurality of neural network weights from a computer, wherein the input data set includes a first digital input vector; and storing the input data set and the first plurality of neural network weights in a memory unit. a plurality of neural network weights; generating a first plurality of modulator control signals based on a first digital input vector through a digital-to-analog converter (DAC) unit, and generating a first plurality of weights based on the first plurality of neural network weights control signal; The first plurality of digital light outputs corresponding to the light output vector of the light matrix multiplication unit are obtained from the analog-to-digital converter (ADC) unit, and the first plurality of digital light outputs form the first digital output vector; performing a nonlinear conversion on the output vector to generate a first converted digital output vector; storing the first converted digital output vector in the memory unit; and outputting an artificial neural network output generated based on the first converted digital output vector by the controller .

實施例27:計算方法,包括:以電子格式提供輸入資訊;將至少一部分電子輸入資訊轉換成光輸入向量;基於光矩陣乘法將光輸入向量光學地轉換成光輸出向量;將光輸出向量轉換成電子格式;以及將非線性轉換電子地應用於電子轉換後的光輸出向量,以提供電子格式的輸出資訊。 Embodiment 27: Computing method, including: providing input information in an electronic format; converting at least a portion of the electronic input information into a light input vector; optically converting the light input vector into a light output vector based on light matrix multiplication; converting the light output vector into an electronic format; and electronically applying a nonlinear transformation to the electronically converted light output vector to provide output information in an electronic format.

實施例28:如實施例27之計算方法,更包括:對於對應電子格式所提供的輸出資訊的新電子輸入資訊,重複電光轉換(electronic-to-optical converting)、光轉換(optical transforming)、光電轉換(optical-to-electronic converting)以及電應用的非線性轉換。 Embodiment 28: The calculation method is as in Embodiment 27, further including: repeating electro-optical converting (electronic-to-optical converting), optical transforming (optical transforming), and photoelectric conversion for new electronic input information corresponding to the output information provided in the electronic format. Optical-to-electronic converting and nonlinear conversion for electrical applications.

實施例29:如實施例28之計算方法,其中用於初始光轉換的光矩陣乘法和重複光轉換的光矩陣乘法是相同的,並且對應人工神經網路的相同層。 Embodiment 29: The calculation method as in Embodiment 28, wherein the light matrix multiplication used for the initial light conversion and the light matrix multiplication used for the repeated light conversion are the same and correspond to the same layer of the artificial neural network.

實施例30:如實施例28之計算方法,其中用於初始光轉換的光矩陣乘法和重複光轉換的光矩陣乘法是不同的,並且對應人工神經網路的不同層。 Embodiment 30: The calculation method as in Embodiment 28, wherein the light matrix multiplication used for the initial light conversion and the light matrix multiplication used for the repeated light conversion are different and correspond to different layers of the artificial neural network.

實施例31:如實施例27之計算方法,更包括:對於電子輸入資訊的不同部分,重複電光轉換、光轉換、光電轉換以及電應用的非線性轉換,其中用於初始光轉換的光矩陣乘法和重複光轉換的光矩陣乘法是相同的,並且對應人工神經網路的第一層。 Embodiment 31: The calculation method is as in Embodiment 27, further including: repeating electro-optical conversion, optical conversion, photoelectric conversion and electrically applied nonlinear conversion for different parts of the electronic input information, wherein the optical matrix multiplication is used for the initial optical conversion. It is the same as light matrix multiplication for repeated light conversion, and corresponds to the first layer of artificial neural networks.

實施例32:如實施例31之計算方法,更包括:基於由人工神經網路的第一層所產生的用於電子輸入資訊的多個部分的電子輸出資訊,以電子格式提供電子中間資訊;以及對於電子中間資訊的每一個不同部分,重複電光轉換、光轉換、光電轉換以及電應用的非線性轉換,其中用於初始光轉換的光矩陣乘法和與電子中間資訊的不同部分相關的重複光轉換的光矩陣乘法是相同的,並且對應人工神經網路的第二層。 Embodiment 32: The calculation method of Embodiment 31, further comprising: providing electronic intermediate information in an electronic format based on the electronic output information for the plurality of parts of the electronic input information generated by the first layer of the artificial neural network; and for each different part of the electronic intermediate information, repeated electro-optical conversions, optical conversions, photoelectric conversions, and electrically applied nonlinear conversions, where the optical matrix multiplication for the initial optical conversion and the repeated optical conversions associated with the different parts of the electronic intermediate information The converted light matrix multiplication is the same and corresponds to the second layer of the artificial neural network.

實施例33:計算系統,包括:光處理器,包括被動繞射光學元件,其中被動繞射光學元件被配置以將光輸入向量或矩陣轉換成光輸出向量或矩陣,其表示應用 於光輸入向量或矩陣和由繞射光學元件的排列所定義的既定向量的矩陣處理的結果。 Embodiment 33: A computing system, comprising: a light processor comprising a passive diffractive optical element, wherein the passive diffractive optical element is configured to convert a light input vector or matrix into a light output vector or matrix representing an application The result of matrix processing of a light input vector or matrix and a given vector defined by the arrangement of diffractive optical elements.

實施例34:如實施例33之計算系統,其中矩陣處理包括光輸入向量或矩陣與由繞射光學元件的排列所定義的既定向量之間的矩陣乘法。 Embodiment 34: The computing system of Embodiment 33, wherein matrix processing includes matrix multiplication between a light input vector or matrix and a given vector defined by an arrangement of diffractive optical elements.

實施例35:如實施例33之計算系統,其中光處理器包括光矩陣處理單元,其包括:輸入波導陣列,用於接收光輸入向量,包括被動繞射光學元件的光干涉單元,其中光干涉單元與輸入波導陣列光學通訊,並且被配置以執行將光輸入向量轉換成第二光訊號陣列的線性轉換;以及輸出波導陣列,與光干涉單元光學通訊,用於引導第二光訊號陣列,其中輸入波導陣列的至少一輸入波導透過光干涉單元與輸出波導陣列中的每一個輸出波導光學通訊。 Embodiment 35: The computing system of Embodiment 33, wherein the optical processor includes an optical matrix processing unit, which includes: an input waveguide array for receiving the optical input vector, and an optical interference unit including a passive diffraction optical element, wherein the optical interference unit a unit in optical communication with the input waveguide array and configured to perform a linear conversion of the optical input vector into a second array of optical signals; and an output waveguide array in optical communication with the optical interference unit for guiding the second array of optical signals, wherein At least one input waveguide of the input waveguide array is in optical communication with each output waveguide of the output waveguide array through the optical interference unit.

實施例36:如實施例35之計算系統,其中光干涉單元包括具有孔洞或條帶中至少一者的基板,孔洞的尺寸在100nm至10μm的範圍內,並且條帶的寬度在100nm至10μm的範圍內。 Embodiment 36: The computing system of Embodiment 35, wherein the optical interference unit includes a substrate having at least one of holes or strips, the size of the holes is in the range of 100 nm to 10 μm, and the width of the strips is in the range of 100 nm to 10 μm. within the range.

實施例37:如實施例35之計算系統,其中光干涉單元包括具有以二維配置來設置的被動繞射光學元件的基板,並且基板包括平面基板或彎曲基板中至少一者。 Embodiment 37: The computing system of Embodiment 35, wherein the optical interference unit includes a substrate having passive diffractive optical elements disposed in a two-dimensional configuration, and the substrate includes at least one of a planar substrate or a curved substrate.

實施例38:如實施例37之計算系統,其中基板包括平面基板,其平行於從輸入波導陣列到輸出波導陣列的光傳播方向。 Embodiment 38: The computing system of Embodiment 37, wherein the substrate includes a planar substrate parallel to a direction of light propagation from the input waveguide array to the output waveguide array.

實施例39:如實施例33之計算系統,其中光處理器包括光矩陣處理單元,其包括:輸入波導陣列,用於接收光輸入矩陣,包括被動繞射光學元件的光干涉單元,其中光干涉單元與輸入波導陣列光學通訊,並且被配置以執行將光輸入矩陣轉換成第二光訊號陣列的線性轉換;以及輸出波導陣列,與光干涉單元光學通訊,用於引導第二光訊號陣列,其中輸入波導陣列的至少一輸入波導透過光干涉單元與輸出波導陣列中的每一個輸出波導光學通訊。 Embodiment 39: The computing system of Embodiment 33, wherein the optical processor includes an optical matrix processing unit, which includes: an input waveguide array for receiving the optical input matrix, and an optical interference unit including a passive diffraction optical element, wherein the optical interference unit a unit in optical communication with the input waveguide array and configured to perform linear conversion of the optical input matrix into a second optical signal array; and an output waveguide array in optical communication with the optical interference unit for guiding the second optical signal array, wherein At least one input waveguide of the input waveguide array is in optical communication with each output waveguide of the output waveguide array through the optical interference unit.

實施例40:如實施例39之計算系統,其中光干涉單元包括具有孔洞或條帶(stripe)中至少一者的基板,孔洞的尺寸在100nm至10μm的範圍內,並且條帶的寬度在100nm至10μm的範圍內。 Embodiment 40: The computing system of Embodiment 39, wherein the optical interference unit includes a substrate having at least one of holes or stripes, the size of the holes is in the range of 100 nm to 10 μm, and the width of the strip is 100 nm to the range of 10μm.

實施例41:如實施例39之計算系統,其中光干涉單元包括具有以三維配置來設置的被動繞射光學元件的基板。 Embodiment 41: The computing system of Embodiment 39, wherein the optical interference unit includes a substrate having passive diffraction optical elements arranged in a three-dimensional configuration.

實施例42:如實施例41之計算系統,其中基板具有立方體狀、柱狀、角柱狀或不規則體積中的至少一者的形狀。 Embodiment 42: The computing system of Embodiment 41, wherein the substrate has a shape of at least one of a cube, a column, a prism, or an irregular volume.

實施例43:如實施例39之計算系統,其中光處理器包括光干涉單元,其包括具有被動繞射光學元件的全像圖 (hologram),光處理器被配置以接收表示光輸入矩陣的調變光,並且在光通過全像圖時連續轉換光,直到光作為光輸出矩陣從全息圖射出。 Embodiment 43: The computing system of Embodiment 39, wherein the optical processor includes an optical interference unit including a hologram with passive diffraction optical elements (hologram), the light processor is configured to receive modulated light representing the light input matrix and to continuously convert the light as it passes through the hologram until the light exits the hologram as a light output matrix.

實施例44:如實施例35或39之計算系統,其中光干涉單元包括具有被動繞射光學元件的基板,並且基板包括矽、氧化矽、氮化矽、石英、鈮酸鋰、相變化材料或聚合物中的至少一者。 Embodiment 44: The computing system of Embodiment 35 or 39, wherein the optical interference unit includes a substrate with passive diffraction optical elements, and the substrate includes silicon, silicon oxide, silicon nitride, quartz, lithium niobate, phase change material or at least one of the polymers.

實施例45:如實施例35或39之計算系統,其中光干涉單元包括具有被動繞射光學元件的基板,並且基板包括玻璃基板或丙烯酸基板中的至少一者。 Embodiment 45: The computing system of embodiment 35 or 39, wherein the optical interference unit includes a substrate having a passive diffraction optical element, and the substrate includes at least one of a glass substrate or an acrylic substrate.

實施例46:如實施例33之計算系統,其中被動繞射光學元件由摻雜物來部分地形成。 Embodiment 46: The computing system of Embodiment 33, wherein the passive diffractive optical element is formed in part from a dopant.

實施例47:如實施例33之計算系統,其中矩陣處理表示神經網路對輸入資料的處理,輸入資料由光輸入向量表示。 Embodiment 47: The computing system of Embodiment 33, wherein the matrix processing represents the processing of input data by the neural network, and the input data is represented by a light input vector.

實施例48:如實施例33之計算系統,其中光處理器包括:雷射單元,被配置以產生複數光輸出;複數光調變器,耦接至雷射單元和DAC單元,並且被配置以基於複數調變器控制訊號,調變由雷射單元所產生的光輸出,來產生光輸入向量; 光矩陣處理單元,耦接至光調變器,光矩陣處理單元包括被動繞射光學元件,其被配置以基於由被動繞射光學元件所定義的複數權重,將光輸入向量轉換成光輸出向量;以及光偵測單元,耦接至光矩陣處理單元,並且被配置以產生對應光輸出向量的複數輸出電訊號。 Embodiment 48: The computing system of Embodiment 33, wherein the light processor includes: a laser unit configured to generate a complex light output; a complex light modulator coupled to the laser unit and the DAC unit and configured to Based on the complex modulator control signal, the light output generated by the laser unit is modulated to generate a light input vector; A light matrix processing unit coupled to the light modulator, the light matrix processing unit including a passive diffractive optical element configured to convert a light input vector into a light output vector based on a complex weight defined by the passive diffractive optical element ; And a light detection unit, coupled to the light matrix processing unit, and configured to generate a complex output electrical signal corresponding to the light output vector.

實施例49:如實施例48之計算系統,其中被動繞射光學元件以三維配置來設置,光調變器包括二維光調變器陣列,並且光偵測單元包括二維光偵測器陣列。 Embodiment 49: The computing system of Embodiment 48, wherein the passive diffractive optical element is arranged in a three-dimensional configuration, the light modulator includes a two-dimensional light modulator array, and the light detection unit includes a two-dimensional light detector array .

實施例50:如實施例48之計算系統,其中光矩陣處理單元包括外殼模組(housing module)以支持和保護輸入波導陣列、光干涉單元以及輸出波導陣列,以及光處理器包括接收模組,接收模組被配置以接收光矩陣處理單元,接收模組包括第一介面(interface),使光矩陣處理單元能夠從光調變器接收光輸入向量,以及第二介面,使光矩陣處理單元能夠將光輸出向量傳輸至光偵測單元。 Embodiment 50: The computing system of Embodiment 48, wherein the optical matrix processing unit includes a housing module to support and protect the input waveguide array, the optical interference unit, and the output waveguide array, and the optical processor includes a receiving module, The receiving module is configured to receive the optical matrix processing unit. The receiving module includes a first interface that enables the optical matrix processing unit to receive the optical input vector from the optical modulator, and a second interface that enables the optical matrix processing unit to The light output vector is transmitted to the light detection unit.

實施例51:如實施例48之計算系統,其中輸出電訊號包括複數電壓訊號或複數電流訊號中的至少一者。 Embodiment 51: The computing system of Embodiment 48, wherein the output electrical signal includes at least one of a complex voltage signal or a complex current signal.

實施例52:如實施例48之計算系統,更包括:記憶體單元;數位類比轉換器(DAC)單元,被配置以產生調變器控制訊號;類比數位轉換器(ADC)單元,耦接至光偵測單元,並且被配置以將輸出電訊號轉換成複數數位輸出;以及 控制器,包括積體電路,被配置以執行以下操作:從電腦接收包括輸入資料集的人工神經網路計算請求,其中輸入資料集包括第一數位輸入向量;在記憶體單元中儲存輸入資料集;以及透過DAC單元,基於第一數位輸入向量產生第一多個調變器控制訊號。 Embodiment 52: The computing system of Embodiment 48, further comprising: a memory unit; a digital-to-analog converter (DAC) unit configured to generate a modulator control signal; an analog-to-digital converter (ADC) unit coupled to a light detection unit and configured to convert the output electrical signal into a complex digital output; and A controller, including an integrated circuit, configured to perform the following operations: receive an artificial neural network calculation request including an input data set from a computer, wherein the input data set includes a first digital input vector; and store the input data set in a memory unit ; and generating a first plurality of modulator control signals based on the first digital input vector through the DAC unit.

實施例53:計算方法,包括:3D列印包括被動繞射光學元件的光矩陣處理單元,其中被動繞射光學元件被配置以將光輸入向量或矩陣轉換成光輸出向量或矩陣,其表示應用於光輸入向量或矩陣和由繞射光學元件的排列所定義的既定向量的矩陣處理的結果。 Embodiment 53: Computing method, comprising: 3D printing a light matrix processing unit including a passive diffractive optical element, wherein the passive diffractive optical element is configured to convert a light input vector or matrix into a light output vector or matrix, which represents an application The result of matrix processing of a light input vector or matrix and a given vector defined by the arrangement of diffractive optical elements.

實施例54:計算方法,包括:使用一或多個雷射束產生包括被動繞射光學元件的全像圖,其中被動繞射光學元件被配置以將光輸入向量或矩陣轉換成光輸出向量或矩陣,其表示應用於光輸入向量或矩陣和由繞射光學元件的排列所定義的既定向量的矩陣處理的結果。 Embodiment 54: A computational method comprising: using one or more laser beams to generate a hologram including a passive diffractive optical element, wherein the passive diffractive optical element is configured to convert a light input vector or matrix into a light output vector or A matrix that represents the result of matrix processing applied to a light input vector or matrix and a given vector defined by the arrangement of diffractive optical elements.

實施例55:計算系統,包括:光處理器,包括以一維方式設置的被動繞射光學元件,其中被動繞射光學元件被配置以將光輸入轉換成光輸出,其表示應用於光輸入和由繞射光學元件的排列所定義的既定向量的矩陣處理的結果。 Embodiment 55: A computing system, comprising: a light processor comprising a passive diffractive optical element disposed in a one-dimensional manner, wherein the passive diffractive optical element is configured to convert light input into light output, a representation of which is applied to the light input and The result of matrix processing of a given vector defined by an arrangement of diffractive optical elements.

實施例56:如實施例55之計算系統,其中矩陣處理包括光輸入與由繞射光學元件的排列所定義的既定向量之間的矩陣乘法。 Embodiment 56: The computing system of Embodiment 55, wherein matrix processing includes matrix multiplication between the optical input and a given vector defined by the arrangement of diffractive optical elements.

實施例57:如實施例55之計算系統,其中光處理器包括光矩陣處理單元,其包括:輸入波導,用於接收光輸入,包括被動繞射光學元件的光干涉單元,其中光干涉單元與輸入波導光學通訊,並且被配置以執行將光輸入的線性轉換;以及輸出波導,與光干涉單元光學通訊,用於引導光輸出。 Embodiment 57: The computing system of Embodiment 55, wherein the optical processor includes an optical matrix processing unit, which includes: an input waveguide for receiving optical input, and an optical interference unit including a passive diffraction optical element, wherein the optical interference unit and an input waveguide in optical communication and configured to perform linear conversion of the light input; and an output waveguide in optical communication with the optical interference unit for directing the light output.

實施例58:如實施例57之計算系統,其中光干涉單元包括具有孔洞或光柵(grating)中至少一者的基板,孔洞或光柵元件的具有在100nm至10μm的範圍內的尺寸。 Embodiment 58: The computing system of Embodiment 57, wherein the optical interference unit includes a substrate having at least one of holes or grating elements, the holes or grating elements having a size in the range of 100 nm to 10 μm.

實施例59:計算系統,包括:記憶體單元;數位類比轉換器(DAC)單元,被配置以產生複數調變器控制訊號;光處理器,包括:雷射單元,被配置以產生複數光輸出;複數光調變器,耦接至雷射單元和DAC單元,光調變器被配置以基於調變器控制訊號,調變由雷射單元所產生的光輸出,來產生光輸入向量; 光矩陣處理單元,耦接至光調變器,光矩陣處理單元包括被動繞射光學元件,其被配置以基於由被動繞射光學元件所定義的複數權重,將光輸入向量轉換成光輸出向量;以及光偵測單元,耦接至光矩陣處理單元,並且被配置以產生對應光輸出向量的複數輸出電訊號;類比數位轉換器(ADC)單元,耦接至光偵測單元,並且被配置以將輸出電訊號轉換成複數數位光輸出;控制器,包括積體電路,被配置以執行以下操作:從電腦接收包括輸入資料集的人工神經網路計算請求,其中輸入資料集包括第一數位輸入向量;在記憶體單元中儲存輸入資料集;以及透過DAC單元,基於第一數位輸入向量產生第一多個調變器控制訊號。 Embodiment 59: A computing system including: a memory unit; a digital-to-analog converter (DAC) unit configured to generate a complex modulator control signal; an optical processor including: a laser unit configured to generate a complex optical output ; A plurality of optical modulators, coupled to the laser unit and the DAC unit, the optical modulator is configured to modulate the optical output generated by the laser unit based on the modulator control signal to generate an optical input vector; A light matrix processing unit coupled to the light modulator, the light matrix processing unit including a passive diffractive optical element configured to convert a light input vector into a light output vector based on a complex weight defined by the passive diffractive optical element ; and a light detection unit, coupled to the light matrix processing unit, and configured to generate a complex output electrical signal corresponding to the light output vector; an analog-to-digital converter (ADC) unit, coupled to the light detection unit, and configured to convert the output electrical signal into a complex digital light output; the controller, including the integrated circuit, is configured to perform the following operations: receive an artificial neural network calculation request from the computer including an input data set, wherein the input data set includes a first digit input vector; store the input data set in the memory unit; and generate a first plurality of modulator control signals based on the first digital input vector through the DAC unit.

實施例60:如實施例59之計算系統,其中矩陣處理單元包括被動繞射光學元件,其被配置以將光輸入向量轉換成光輸出向量,其表示光輸入向量與由被動繞射光學元件的所定義的既定向量之間的矩陣乘法的乘積。 Embodiment 60: The computing system of Embodiment 59, wherein the matrix processing unit includes a passive diffraction optical element configured to convert a light input vector into a light output vector that represents the difference between the light input vector and the light output vector generated by the passive diffraction optical element. The product of matrix multiplications between defined vectors.

實施例61:如實施例59之計算系統,其中操作更包括:從ADC單元得到對應光矩陣處理單元的光輸出向量的第一多個數位光輸出,第一多個數位光輸出形成第一數位輸出向量; 對第一數位輸出向量執行非線性轉換,以產生第一轉換數位輸出向量;以及在記憶體單元中儲存第一轉換數位輸出向量。 Embodiment 61: The computing system of Embodiment 59, wherein the operation further includes: obtaining a first plurality of digital light outputs corresponding to the light output vector of the light matrix processing unit from the ADC unit, and the first plurality of digital light outputs form the first digital output vector; Perform a non-linear transformation on the first digital output vector to generate a first transformed digital output vector; and store the first transformed digital output vector in a memory unit.

實施例62:如實施例61之計算系統,其中計算系統具有第一循環週期,其被定義為在記憶體單元中儲存輸入資料集的步驟與在記憶體單元中儲存第一轉換數位輸出向量的步驟之間所經過的時間,以及其中第一循環週期小於或等於1ns。 Embodiment 62: The computing system of Embodiment 61, wherein the computing system has a first cycle defined as the steps of storing the input data set in the memory unit and storing the first converted digital output vector in the memory unit. The time elapsed between steps, and where the first cycle period is less than or equal to 1 ns.

實施例63:如實施例61之計算系統,其中操作更包括:輸出基於第一轉換數位輸出向量所產生的人工神經網路輸出。 Embodiment 63: The computing system of Embodiment 61, wherein the operation further includes: outputting an artificial neural network output generated based on the first converted digital output vector.

實施例64:如實施例61之計算系統,其中操作更包括:透過DAC單元基於第一轉換數位輸出向量產生第二多個調變器控制訊號。 Embodiment 64: The computing system of Embodiment 61, wherein the operation further includes: generating a second plurality of modulator control signals based on the first converted digital output vector through the DAC unit.

實施例65:如實施例61之計算系統,其中輸入資料集更包括第二數位輸入向量,以及其中操作更包括:透過DAC單元,基於第二數位輸入向量產生第二多個調變器控制訊號;從ADC單元得到對應光矩陣處理單元的光輸出向量的第二多個數位光輸出,第二多個數位光輸出形成第二數位輸出向量; 對第二數位輸出向量執行非線性轉換以產生第二轉換數位輸出向量;在記憶體單元中儲存第二轉換數位輸出向量;以及輸出基於第一轉換數位輸出向量和第二轉換數位輸出向量所產生的人工神經網路輸出,其中光矩陣處理單元的光輸出向量由基於第二多個調變器控制訊號所產生的第二光輸入向量產生,第二光輸入向量由光矩陣乘法單元基於由被動繞射光學元件所定義的權重來轉換。 Embodiment 65: The computing system of Embodiment 61, wherein the input data set further includes a second digital input vector, and the operation further includes: generating a second plurality of modulator control signals based on the second digital input vector through the DAC unit ; Obtain a second plurality of digital light outputs corresponding to the light output vector of the light matrix processing unit from the ADC unit, and the second plurality of digital light outputs form a second digital output vector; perform a non-linear transformation on the second digital output vector to generate a second transformed digital output vector; store the second transformed digital output vector in a memory unit; and output a result generated based on the first transformed digital output vector and the second transformed digital output vector The artificial neural network output, wherein the optical output vector of the optical matrix processing unit is generated by a second optical input vector generated based on the second plurality of modulator control signals, and the second optical input vector is generated by the optical matrix multiplication unit based on the passive Diffractive optical elements are converted by weights defined by them.

實施例66:如實施例59之計算系統,更包括:類比非線性單元,被設置在光偵測單元與ADC單元之間,類比非線性單元被配置以從光偵測單元接收輸出電訊號、應用非線性傳遞函數、以及輸出複數轉換輸出電訊號至ADC單元,其中操作更包括:從ADC單元得到對應轉換輸出電訊號的第一多個轉換數位輸出電訊號,第一多個轉換數位輸出電訊號形成第一轉換數位輸出向量;以及在記憶體單元中儲存第一轉換數位輸出向量。 Embodiment 66: The computing system of Embodiment 59 further includes: an analog nonlinear unit disposed between the light detection unit and the ADC unit, the analog nonlinear unit is configured to receive an output electrical signal from the light detection unit, Apply a nonlinear transfer function, and output the complex conversion output electrical signal to the ADC unit. The operation further includes: obtaining the first plurality of conversion digital output electrical signals corresponding to the conversion output electrical signal from the ADC unit, and the first plurality of conversion digital output electrical signals. forming a first converted digital output vector; and storing the first converted digital output vector in the memory unit.

實施例67:如實施例59之計算系統,其中控制器的積體電路被配置以以產生大於或等於8GHz的頻率的第一多個調變器控制訊號。 Embodiment 67: The computing system of Embodiment 59, wherein the integrated circuit of the controller is configured to generate a first plurality of modulator control signals with a frequency greater than or equal to 8 GHz.

實施例68:如實施例59之計算系統,更包括: 類比記憶體單元,被設置在DAC單元與光調變器之間,類比記憶體單元被配置以儲存複數類比電壓,並且輸出儲存的類比電壓;以及類比非線性單元,被設置在光偵測單元與ADC單元之間,類比非線性單元被配置以從光偵測單元接收輸出電訊號、應用非線性傳遞函數、以及輸出複數轉換輸出電訊號。 Embodiment 68: The computing system of Embodiment 59, further comprising: An analog memory unit is disposed between the DAC unit and the light modulator. The analog memory unit is configured to store a complex analog voltage and output the stored analog voltage; and an analog nonlinear unit is disposed in the light detection unit. Between the ADC unit and the analog nonlinear unit, the analog nonlinear unit is configured to receive the output electrical signal from the light detection unit, apply the nonlinear transfer function, and output the complex conversion output electrical signal.

實施例69:如實施例68之計算系統,其中類比記憶體單元包括複數電容。 Embodiment 69: The computing system of Embodiment 68, wherein the analog memory unit includes a complex capacitor.

實施例70:如實施例68之計算系統,其中類比記憶體單元被配置以接收和儲存類比非線性單元的轉換輸出電訊號,並且將儲存的轉換輸出電訊號輸出至光調變器,以及其中操作更包括:基於產生第一多個調變器控制訊號,在類比記憶體單元中儲存類比非線性單元的轉換輸出電訊號;透過類比記憶體單元輸出儲存的轉換輸出電訊號;從ADC單元得到第二多個轉換數位輸出電訊號,第二多個轉換數位輸出電訊號形成第二轉換數位輸出向量;以及在記憶體單元中儲存第二轉換數位輸出向量。 Embodiment 70: The computing system of Embodiment 68, wherein the analog memory unit is configured to receive and store the conversion output electrical signal of the analog nonlinear unit, and output the stored conversion output electrical signal to the light modulator, and wherein The operation further includes: based on generating the first plurality of modulator control signals, storing the conversion output electrical signal of the analog nonlinear unit in the analog memory unit; outputting the stored conversion output electrical signal through the analog memory unit; obtaining from the ADC unit The second plurality of conversion digital output electrical signals forms a second conversion digital output vector; and the second conversion digital output vector is stored in the memory unit.

實施例71:如實施例59之計算系統,其中人工神經網路計算請求包括複數數位輸入向量,其中雷射單元被配置以產生複數波長,其中光調變器包括: 複數光調變器組,被配置以產生複數光輸入向量,每一個光調變器組對應一個波長,並且產生具有相應波長的相應光輸入向量;以及光多路複用器,被配置以將光輸入向量組合成包括波長的組合光輸入向量,其中光偵測單元更被配置以多路分解波長,並且產生複數多路分解輸出電訊號,以及其中操作包括:從ADC單元得到複數數位多路分解光輸出,數位多路分解光輸出形成複數第一數位輸出向量,其中每一個第一數位輸出向量對應一個波長;對每一個第一數位輸出向量執行非線性轉換,以產生複數轉換第一數位輸出向量;以及在記憶體單元中儲存轉換第一數位輸出向量,其中每一個數位輸入向量對應一個光輸入向量。 Embodiment 71: The computing system of Embodiment 59, wherein the artificial neural network calculation request includes a complex digital input vector, wherein the laser unit is configured to generate a complex wavelength, and wherein the light modulator includes: a plurality of optical modulator groups configured to generate a plurality of optical input vectors, each optical modulator group corresponding to a wavelength and generating a corresponding optical input vector having a corresponding wavelength; and an optical multiplexer configured to combine The optical input vectors are combined into a combined optical input vector including wavelengths, wherein the light detection unit is further configured to demultiplex the wavelengths and generate a complex demultiplexed output electrical signal, and the operation includes: obtaining the complex digital demultiplexer from the ADC unit Decompose the light output, and digitally demultiplex the light output to form a complex first digital output vector, where each first digital output vector corresponds to a wavelength; perform a nonlinear conversion on each first digital output vector to generate a complex converted first digital output vector; and store the converted first digital output vector in the memory unit, wherein each digital input vector corresponds to a light input vector.

實施例72:如實施例59之計算系統,其中人工神經網路計算請求包括複數數位輸入向量,其中雷射單元被配置以產生複數波長,其中光調變器包括:複數光調變器組,被配置以產生複數光輸入向量,每一個光調變器組對應一個波長,並且產生具有相應波長的相應光輸入向量;以及 光多路複用器,被配置以將光輸入向量組合成包括波長的組合光輸入向量,以及其中操作包括:從ADC單元得到對應光輸出向量的第一多個數位光輸出,光輸出向量包括波長,第一多個數位光輸出形成第一數位輸出向量;對第一數位輸出向量執行非線性轉換,以產生第一轉換數位輸出向量;以及在記憶體單元中儲存第一轉換數位輸出向量。 Embodiment 72: The computing system of Embodiment 59, wherein the artificial neural network calculation request includes a complex digital input vector, wherein the laser unit is configured to generate a complex wavelength, and the optical modulator includes: a complex optical modulator group, configured to generate a plurality of optical input vectors, one for each optical modulator group corresponding to a wavelength, and generate corresponding optical input vectors having corresponding wavelengths; and An optical multiplexer configured to combine the optical input vectors into a combined optical input vector including wavelengths, and wherein the operations include: obtaining a first plurality of digital optical outputs from the ADC unit corresponding to the optical output vector, the optical output vector including wavelength, the first plurality of digital light outputs form a first digital output vector; perform a nonlinear transformation on the first digital output vector to generate a first converted digital output vector; and store the first converted digital output vector in a memory unit.

實施例73:如實施例59之計算系統,其中DAC單元包括:1位元DAC單元,被配置以產生複數1位元調變器控制訊號,其中ADC單元的解析度為1位元,其中第一數位輸入向量的解析度為N位元,以及其中操作包括:將第一數位輸入向量分解為N個1位元輸入向量,每一個N個1位元輸入向量對應第一數位輸入向量的N位元中的一個;透過1位元DAC單元產生對應N個1位元輸入向量的N個1位元調變器控制訊號的序列;從ADC單元得到對應N個1位元調變器控制訊號的序列的N個數位1位元光輸出的序列; 從N個數位1位元光輸出的序列建構N位元數位輸出向量;對建構的N位元數位輸出向量執行非線性轉換,以產生轉換N位元數位輸出向量;以及在記憶體單元中儲存轉換N位元數位輸出向量。 Embodiment 73: The computing system of Embodiment 59, wherein the DAC unit includes: a 1-bit DAC unit configured to generate a complex 1-bit modulator control signal, wherein the resolution of the ADC unit is 1 bit, wherein the The resolution of the one-digit input vector is N bits, and the operation includes: decomposing the first-digit input vector into N 1-bit input vectors, each N 1-bit input vector corresponding to N of the first-digit input vector One of the bits; generate a sequence of N 1-bit modulator control signals corresponding to N 1-bit input vectors through the 1-bit DAC unit; obtain corresponding N 1-bit modulator control signals from the ADC unit The sequence of N digits of the sequence of 1-bit light output; Construct an N-bit digital output vector from a sequence of N digital 1-bit light outputs; perform a nonlinear transformation on the constructed N-bit digital output vector to produce a converted N-bit digital output vector; and store in a memory unit Convert an N-bit digital output vector.

實施例74:如實施例59之計算系統,其中記憶體單元包括數位輸入向量記憶體,被配置以儲存第一數位輸入向量,並且包括至少一靜態隨機存取記憶體。 Embodiment 74: The computing system of Embodiment 59, wherein the memory unit includes a digital input vector memory configured to store the first digital input vector and includes at least one static random access memory.

實施例75:如實施例59之計算系統,其中雷射單元包括:雷射源,被配置以產生光;以及光功率分離器,被配置以將由雷射源所產生的光分成光輸出,其中每一個光輸出具有大抵相同的功率。 Embodiment 75: The computing system of Embodiment 59, wherein the laser unit includes: a laser source configured to generate light; and an optical power splitter configured to split the light generated by the laser source into light output, wherein Each light output has approximately the same power.

實施例76:如實施例59之計算系統,其中光調變器包括MZI調變器、環形共振調變器或電吸收調變器中的一個。 Embodiment 76: The computing system of embodiment 59, wherein the light modulator includes one of an MZI modulator, a ring resonance modulator, or an electroabsorption modulator.

實施例77:如實施例59之計算系統,其中光偵測單元包括:複數光偵測器;以及複數放大器,被配置以將由光偵測器所產生的光電流轉換成輸出電訊號。 Embodiment 77: The computing system of Embodiment 59, wherein the light detection unit includes: a plurality of light detectors; and a plurality of amplifiers configured to convert the photocurrent generated by the light detector into an output electrical signal.

實施例78:如實施例59之計算系統,其中積體電路包括特殊應用積體電路。 Embodiment 78: The computing system of Embodiment 59, wherein the integrated circuit includes an application special integrated circuit.

實施例79:如實施例59之計算系統,其中光矩陣處理單元包括:輸入波導陣列,用於接收光輸入向量;光干涉單元,與輸入波導陣列光學通訊,用於執行將光輸入向量轉換成第二光訊號陣列的線性轉換,其中光干涉單元包括被動繞射光學元件;以及輸出波導陣列,與光干涉單元光學通訊,用於引導第二光訊號陣列,其中在輸入波導陣列中的至少一輸入波導透過光干涉單元與在輸出波導陣列中的每一個輸出波導光學通訊。 Embodiment 79: The computing system of Embodiment 59, wherein the light matrix processing unit includes: an input waveguide array, used to receive the light input vector; an optical interference unit, in optical communication with the input waveguide array, used to perform conversion of the light input vector into Linear conversion of the second optical signal array, wherein the optical interference unit includes a passive diffraction optical element; and an output waveguide array in optical communication with the optical interference unit for guiding the second optical signal array, wherein at least one of the input waveguide arrays The input waveguide is in optical communication with each output waveguide in the output waveguide array through the optical interference unit.

實施例80:計算系統,包括:記憶體單元;驅動器單元,被配置以產生複數調變器控制訊號;光處理器,包括:雷射單元,被配置以產生複數光輸出;複數光調變器,耦接至雷射單元和驅動器單元,光調變器被配置以基於調變器控制訊號,調變由雷射單元所產生的光輸出,來產生光輸入向量;光矩陣處理單元,耦接至光調變器和驅動器單元,光矩陣處理單元包括被動繞射光學元件,被配置以基於由被動繞射光學元件所定義的複數權重控制訊號將光輸入向量轉換成光輸出向量;以及 光偵測單元,耦接至光矩陣處理單元,並且被配置以產生對應光輸出向量的複數輸出電訊號;比較器單元,耦接至光偵測單元,並且被配置以將輸出電訊號轉換成複數數位1位元光輸出;以及控制器,包括積體電路,被配置以執行以下操作:從電腦接收包括輸入資料集的人工神經網路計算請求,其中輸入資料集包括具有N位元解析度的第一數位輸入向量;在記憶體單元中儲存輸入資料集;將第一數位輸入向量分解為N個1位元輸入向量,每一個N個1位元輸入向量對應第一數位輸入向量的N位元中的一個;透過驅動器單元產生對應N個1位元輸入向量的N個1位元調變器控制訊號的序列;從比較器單元得到對應N個1位元調變器控制訊號的序列的N個數位1位元光輸出的序列;從N個數位1位元光輸出的序列建構N位元數位輸出向量;對建構的N位元數位輸出向量執行非線性轉換,以產生轉換N位元數位輸出向量;以及在記憶體單元中儲存轉換N位元數位輸出向量。 Embodiment 80: A computing system, including: a memory unit; a driver unit configured to generate a complex modulator control signal; a light processor including: a laser unit configured to generate a complex light output; a complex light modulator , coupled to the laser unit and the driver unit, the optical modulator is configured to modulate the light output generated by the laser unit based on the modulator control signal to generate an optical input vector; the optical matrix processing unit is coupled To the light modulator and driver unit, the light matrix processing unit includes a passive diffractive optical element configured to convert the light input vector into a light output vector based on a complex weighted control signal defined by the passive diffractive optical element; and The light detection unit is coupled to the light matrix processing unit and is configured to generate a complex output electrical signal corresponding to the light output vector; the comparator unit is coupled to the light detection unit and is configured to convert the output electrical signal into a complex digital 1-bit light output; and a controller, including an integrated circuit, configured to perform the following operations: receive an artificial neural network calculation request from the computer including an input data set, wherein the input data set includes an N-bit resolution The first digit input vector of One of the bits; generate a sequence of N 1-bit modulator control signals corresponding to N 1-bit input vectors through the driver unit; obtain a sequence of N 1-bit modulator control signals corresponding to the comparator unit a sequence of N digital 1-bit light outputs; construct an N-bit digital output vector from the sequence of N digital 1-bit light outputs; perform a nonlinear transformation on the constructed N-bit digital output vector to produce a converted N-bit the N-bit digital output vector; and storing the converted N-bit digital output vector in the memory unit.

實施例81:如實施例80之計算系統,其中光矩陣處理單元包括被動繞射光學元件,其被配置以將光輸入向量轉換成光輸出向量,其表示由光輸入向量所表示的輸入向量與由被動繞射光學元件的所定義的既定向量之間的矩陣乘法的乘積。 Embodiment 81: The computing system of Embodiment 80, wherein the light matrix processing unit includes a passive diffractive optical element configured to convert a light input vector into a light output vector that represents an input vector represented by the light input vector and The product of matrix multiplications between given vectors defined by passive diffractive optical elements.

實施例82:計算方法,用於在具有光矩陣處理單元的計算系統中執行人工神經網路計算,計算方法包括:從電腦接收包括輸入資料集的人工神經網路計算請求,輸入資料集包括第一數位輸入向量;在記憶體單元中儲存輸入資料集;透過數位類比轉換器(DAC)單元,基於第一數位輸入向量產生第一多個調變器控制訊號;藉由使用包括被動繞射光學元件的排列的光矩陣處理單元,將光輸入向量轉換成光輸出向量,其中光輸出向量表示應用於光輸入向量和由繞射光學元件的排列所定義的既定向量的矩陣處理的結果;從類比數位轉換器(ADC)單元得到對應光矩陣處理單元的光輸出向量的第一多個數位光輸出,第一多個數位光輸出形成第一數位輸出向量;藉由控制器對第一數位輸出向量執行非線性轉換,以產生第一轉換數位輸出向量;在記憶體單元中儲存第一轉換數位輸出向量;以及 藉由控制器輸出基於第一轉換數位輸出向量所產生的人工神經網路輸出。 Embodiment 82: A computing method for performing artificial neural network calculations in a computing system having a light matrix processing unit. The computing method includes: receiving an artificial neural network calculation request including an input data set from a computer, the input data set including a digital input vector; storing the input data set in the memory unit; generating a first plurality of modulator control signals based on the first digital input vector through a digital-to-analog converter (DAC) unit; by using passive diffraction optics including A light matrix processing unit of an arrangement of elements that converts a light input vector into a light output vector, where the light output vector represents the result of matrix processing applied to the light input vector and a given vector defined by the arrangement of diffractive optical elements; from analogy The digital converter (ADC) unit obtains a first plurality of digital light outputs corresponding to the light output vector of the light matrix processing unit, and the first plurality of digital light outputs form a first digital output vector; the controller controls the first digital output vector performing a nonlinear transformation to generate a first transformed digital output vector; storing the first transformed digital output vector in a memory unit; and The controller outputs an artificial neural network output generated based on the first converted digital output vector.

實施例83:如實施例82之計算方法,其中將光輸入向量轉換成光輸出向量包括將光輸入向量轉換成表示數位輸入向量與由繞射光學元件的排列所定義的既定向量之間的矩陣乘法的乘積的光輸出向量。 Embodiment 83: The calculation method of Embodiment 82, wherein converting the light input vector into the light output vector includes converting the light input vector into a matrix representing a relationship between the digital input vector and a predetermined vector defined by the arrangement of the diffractive optical elements. Multiply the product of the light output vector.

實施例84:計算方法,包括:以電子格式提供輸入資訊;將至少一部分電子輸入資訊轉換成光輸入向量;藉由包括被動繞射光學元件的光處理器,基於光矩陣處理將光輸入向量光學地轉換成光輸出向量;將光輸出向量轉換成電子格式;以及將非線性轉換電子地應用於電子轉換後的光輸出向量,以提供電子格式的輸出資訊。 Embodiment 84: Computing method, comprising: providing input information in an electronic format; converting at least a portion of the electronic input information into a light input vector; and converting the light input vector optics based on light matrix processing by a light processor including passive diffractive optical elements. ground into a light output vector; convert the light output vector into an electronic format; and electronically apply a nonlinear transformation to the electronically converted light output vector to provide output information in an electronic format.

實施例85:如實施例84之計算方法,其中將光輸入向量光學地轉換成光輸出向量包括基於由光輸入向量所表示的輸入向量與由被動繞射光學元件的所定義的既定向量之間的光矩陣乘法,將光輸入向量光學地轉換成光輸出向量。 Embodiment 85: The calculation method of Embodiment 84, wherein optically converting the light input vector into the light output vector includes based on a relationship between the input vector represented by the light input vector and a predetermined vector defined by the passive diffractive optical element. The light matrix multiplication optically converts the light input vector into the light output vector.

實施例86:如實施例84之計算方法,更包括:對於對應以電子格式所提供的輸出資訊的新電子輸入資訊,重複電光轉換、光轉換、光電轉換以及電應用的非線性轉換。 Embodiment 86: The calculation method of Embodiment 84 further includes: repeating electro-optical conversion, optical conversion, photoelectric conversion and electrically applied nonlinear conversion for new electronic input information corresponding to the output information provided in an electronic format.

實施例87:如實施例86之計算方法,其中用於初始光轉換的光矩陣處理和重複光轉換的光矩陣處理為相同的,並且對應人工神經網路的相同層。 Embodiment 87: The calculation method of Embodiment 86, wherein the light matrix processing for initial light conversion and the light matrix processing for repeated light conversion are the same and correspond to the same layer of the artificial neural network.

實施例88:如實施例84之計算方法,更包括:對於電子輸入資訊的不同部分,重複電光轉換、光轉換、光電轉換以及電應用的非線性轉換,其中用於初始光轉換的光矩陣處理和重複光轉換的光矩陣處理為相同的,並且對應人工神經網路的一個層。 Embodiment 88: The calculation method is as in Embodiment 84, further including: repeating electro-optical conversion, optical conversion, photoelectric conversion and electrically applied nonlinear conversion for different parts of the electronic input information, wherein the optical matrix processing is used for the initial optical conversion. The light matrix processing is the same as that of repeated light conversion, and corresponds to a layer of the artificial neural network.

實施例89:計算系統,包括:光矩陣處理單元,被配置以處理N長度的輸入向量,其中光矩陣處理單元包括N+2層的定向耦合器(directional coupler)和N層的相位移器,並且N為正整數。 Embodiment 89: The computing system includes: an optical matrix processing unit configured to process an input vector of length N, wherein the optical matrix processing unit includes an N+2 layer of directional coupler and an N layer of phase shifter, And N is a positive integer.

實施例90:如實施例89之計算系統,其中光矩陣處理單元包括不多於N+2層的定向耦合器。 Embodiment 90: The computing system of embodiment 89, wherein the optical matrix processing unit includes no more than N+2 layers of directional couplers.

實施例91:如實施例89之計算系統,其中光矩陣處理單元包括光矩陣法單元。 Embodiment 91: The computing system of embodiment 89, wherein the light matrix processing unit includes a light matrix method unit.

實施例92:如實施例89之計算系統,其中光矩陣處理單元包括:基板,以及互連干涉儀,設置在基板上,其中每一個干涉儀包括設置在基板上的光波導,並且定向耦合器和相位移器是互連干涉儀的一部分。 Embodiment 92: The computing system of Embodiment 89, wherein the optical matrix processing unit includes: a substrate, and interconnected interferometers disposed on the substrate, wherein each interferometer includes an optical waveguide disposed on the substrate, and a directional coupler and phase shifters are part of the interconnected interferometer.

實施例93:如實施例89之計算系統,其中光矩陣處理單元包括一層衰減器(attenuator),其在最後一層定向耦合器之後。 Embodiment 93: The computing system of embodiment 89, wherein the light matrix processing unit includes an attenuator layer after the last layer of directional couplers.

實施例94:如實施例93之計算系統,其中一層衰減器包括N個衰減器。 Embodiment 94: The computing system of Embodiment 93, wherein one layer of attenuators includes N attenuators.

實施例95:如實施例93之計算系統,包括一或多個零差偵測器(homodyne detector),用於偵測來自衰減器的輸出。 Embodiment 95: The computing system of Embodiment 93, including one or more homodyne detectors for detecting the output from the attenuator.

實施例96:如實施例89之計算系統,其中N=3,並且光矩陣處理單元包括:輸入端(terminal),被配置以接收輸入向量;第一層定向耦合器,耦接至輸入端;第一層相位移器,耦接至第一層定向耦合器;第二層定向耦合器,耦接至第一層相位移器;第二層相位移器,耦接至第二層定向耦合器;第三層定向耦合器,耦接至第二層相位移器;第三層相位移器,耦接至第三層定向耦合器;第四層定向耦合器,耦接至第三層相位移器;以及第五層定向耦合器,耦接至第四層定向耦合器。 Embodiment 96: The computing system of Embodiment 89, wherein N=3, and the optical matrix processing unit includes: an input terminal (terminal) configured to receive an input vector; a first-layer directional coupler coupled to the input terminal; The first layer of phase shifters is coupled to the first layer of directional couplers; the second layer of directional couplers is coupled to the first layer of phase shifters; the second layer of phase shifters is coupled to the second layer of directional couplers ; The third layer directional coupler, coupled to the second layer phase shifter; the third layer phase shifter, coupled to the third layer directional coupler; the fourth layer directional coupler, coupled to the third layer phase shifter and a fifth layer directional coupler coupled to the fourth layer directional coupler.

實施例97:如實施例89之計算系統,其中N=4,並且光矩陣處理單元包括:輸入端,被配置以接收輸入向量; 第一層、第二層、第三層以及第四層定向耦合器,每層定向耦合器後續是一層相位移器,其中第一層定向耦合器耦接至輸入端;倒數第二層(second-to-last layer)定向耦合器,耦接至第四層相位移器;以及最終層定向耦合器,耦接至倒數第二層定向耦合器。 Embodiment 97: The computing system of embodiment 89, wherein N=4, and the light matrix processing unit includes: an input terminal configured to receive an input vector; The first, second, third and fourth layers of directional couplers, each layer of directional couplers is followed by a layer of phase shifters, where the first layer of directional couplers is coupled to the input; the penultimate layer (second to last) -to-last layer) directional coupler, coupled to the fourth layer phase shifter; and a last layer directional coupler, coupled to the penultimate layer directional coupler.

實施例98:如實施例89之計算系統,其中N=8,並且光矩陣處理單元包括:輸入端,被配置以接收輸入向量;八層定向耦合器,每一層定向耦合器後續是一層相位移器,其中第一層定向耦合器耦接至輸入端;倒數第二層定向耦合器,耦接至第八層相位移器;以及最終層定向耦合器,耦接至倒數第二層定向耦合器。 Embodiment 98: The computing system of Embodiment 89, wherein N=8, and the optical matrix processing unit includes: an input terminal configured to receive an input vector; eight layers of directional couplers, each layer of directional couplers is followed by a layer of phase shift. device, wherein the first layer of directional couplers is coupled to the input end; the penultimate layer of directional couplers is coupled to the eighth layer of phase shifters; and the final layer of directional couplers is coupled to the penultimate layer of directional couplers. .

實施例99:如實施例89之計算系統,其中光矩陣處理單元包括:輸入端,被配置以接收輸入向量;N層定向耦合器,每一層定向耦合器後續是一層相位移器,其中第一層定向耦合器耦接至輸入端;倒數第二層定向耦合器,耦接至第N層定向耦合器;以及最終層定向耦合器,耦接至倒數第二層定向耦合器。 Embodiment 99: The computing system of Embodiment 89, wherein the optical matrix processing unit includes: an input terminal configured to receive an input vector; N layers of directional couplers, each layer of directional couplers is followed by a layer of phase shifters, wherein the first The layer directional coupler is coupled to the input terminal; the penultimate layer directional coupler is coupled to the Nth layer directional coupler; and the final layer directional coupler is coupled to the penultimate layer directional coupler.

實施例100:如實施例99之計算系統,其中N是偶數。 Embodiment 100: The computing system of embodiment 99, wherein N is an even number.

實施例101:如實施例100之計算系統,其中每一個第i層定向耦合器包括N/2個定向耦合器,其中i是奇數,以及每一個第j層定向耦合器包括N/2-1個定向耦合器,其中j是奇數。 Embodiment 101: The computing system of Embodiment 100, wherein each i-th layer directional coupler includes N/2 directional couplers, where i is an odd number, and each j-th layer directional coupler includes N/2-1 directional couplers, where j is an odd number.

實施例102:如實施例100之計算系統,其中對於i為奇數的每一個第i層定向耦合器,第k個定向耦合器耦接至前一層的第(2k-1)個和第2k個輸出,k是從1到N/2的整數。 Embodiment 102: The computing system of Embodiment 100, wherein for each i-th layer directional coupler where i is an odd number, the k-th directional coupler is coupled to the (2k-1)-th and 2k-th directional couplers of the previous layer. Output, k is an integer from 1 to N/2.

實施例103:如實施例100之計算系統,其中對於其中j為偶數的每一個第j層定向耦合器,第m個定向耦合器耦接至前一層的第(2m)個和第(2m+1)個輸出,m是從1到N/2-1的整數。 Embodiment 103: The computing system of Embodiment 100, wherein for each j-th layer of directional couplers where j is an even number, the m-th directional coupler is coupled to the (2m)-th and (2m+) of the previous layer. 1) output, m is an integer from 1 to N/2-1.

實施例104:如實施例100之計算系統,其中每一個第i層相位移器包括N個相位移器,其中i是奇數,並且每一個第j層相位移器包括N-2個相位移器,其中j是偶數。 Embodiment 104: The computing system of Embodiment 100, wherein each i-th layer phase shifter includes N phase shifters, where i is an odd number, and each j-th layer phase shifter includes N-2 phase shifters. , where j is an even number.

實施例105:如實施例99之計算系統,其中N為奇數。 Embodiment 105: The computing system of embodiment 99, wherein N is an odd number.

實施例106:如實施例105之計算系統,其中每一層定向耦合器包括(N-1)/2個定向耦合器。 Embodiment 106: The computing system of embodiment 105, wherein each layer of directional couplers includes (N-1)/2 directional couplers.

實施例107:如實施例105之計算系統,其中每一層相位移器包括N-1個相位移器。 Embodiment 107: The computing system of Embodiment 105, wherein each layer of phase shifters includes N-1 phase shifters.

實施例108:計算系統,包括: 產生器(generator),被配置以產生第一資料集,其中產生器包刮光矩陣處理單元;以及鑑別器(discriminator),被配置以接收包括來自第一資料集的資料和來自第三資料集的資料的第二資料集,第一資料集中的資料具有與第三資料集中的資料類似的特徵(characteristics),並且將第二資料集中的資料分類為來自第一資料集的資料或來自第三資料集的資料。 Embodiment 108: Computing system, including: a generator (generator) configured to generate a first data set, wherein the generator includes a light matrix processing unit; and a discriminator (discriminator) configured to receive data including data from the first data set and data from a third data set A second data set of data, the data in the first data set has similar characteristics to the data in the third data set, and the data in the second data set is classified as data from the first data set or from the third data set. Data set information.

實施例109:如實施例108之計算系統,其中光矩陣處理單元包括以下至少一者:(i)實施例1至25中任意一者之光矩陣乘法單元、(ii)實施例32至52、55至81中任意一者之被動繞射光學元件、或(iii)實施例89至107中任意一者之光矩陣處理單元。 Embodiment 109: The computing system of Embodiment 108, wherein the light matrix processing unit includes at least one of the following: (i) the light matrix multiplication unit of any one of Embodiments 1 to 25, (ii) Embodiments 32 to 52, The passive diffractive optical element of any one of Embodiments 55 to 81, or (iii) the light matrix processing unit of any one of Embodiments 89 to 107.

實施例110:如實施例108之計算系統,其中第三資料集包括真實資料,產生器被配置以產生類似於真實資料的合成資料(synthesized data),並且鑑別器被配置以將資料分類為真實資料或合成資料。 Embodiment 110: The computing system of embodiment 108, wherein the third data set includes real data, the generator is configured to generate synthetic data similar to the real data, and the discriminator is configured to classify the data as real data or synthetic data.

實施例111:如實施例108之計算系統,其中產生器被配置以產生資料集,用於訓練自動駕駛載具(vehicle)、醫療診斷系統、欺詐偵測系統、天氣預報系統、財務預測系統、面部識別系統、語音識別系統或產品缺陷偵測系統中的至少一者。 Embodiment 111: The computing system of embodiment 108, wherein the generator is configured to generate a data set for training an autonomous vehicle (vehicle), a medical diagnostic system, a fraud detection system, a weather forecast system, a financial forecast system, At least one of a facial recognition system, a speech recognition system, or a product defect detection system.

實施例112:如實施例108之計算系統,其中產生器被配置以產生影像,其類似於真實物體或真實場景中的至少一者 的影像,並且鑑別器被配置以將接收的影像分類為(i)真實物體或真實場景的影像,或(ii)由產生器產生的合成影像。 Embodiment 112: The computing system of embodiment 108, wherein the generator is configured to generate an image that resembles at least one of a real object or a real scene images, and the discriminator is configured to classify the received images as (i) images of real objects or real scenes, or (ii) synthetic images produced by the generator.

實施例113:如實施例112之計算系統,其中真實物體包括人物、動物、細胞、組織或產品中的至少一者,並且真實場景包括載具遇到的場景。 Embodiment 113: The computing system of embodiment 112, wherein the real object includes at least one of a person, an animal, a cell, a tissue, or a product, and the real scene includes a scene encountered by the vehicle.

實施例114:如實施例113之計算系統,其中鑑別器被配置以將接收的影像分類成是否為(i)真實人物、真實動物、真實細胞、真實組織、真實產品或載具遇到的真實場景,或(ii)由產生器產生的合成影像。 Embodiment 114: The computing system of embodiment 113, wherein the discriminator is configured to classify the received image as (i) a real person, a real animal, a real cell, a real tissue, a real product, or a real object encountered by the vehicle scene, or (ii) a composite image produced by a generator.

實施例115:如實施例113之計算系統,其中載具包括摩托車、汽車、卡車、火車、直升機、飛機、潛艇、船舶或無人機中的至少一種。 Embodiment 115: The computing system of Embodiment 113, wherein the vehicle includes at least one of a motorcycle, a car, a truck, a train, a helicopter, an airplane, a submarine, a ship, or a drone.

實施例116:如實施例113之計算系統,其中產生器被配置以產生組織或細胞的影像,其與人類疾病、動物疾病或植物疾病中的至少一者相關。 Embodiment 116: The computing system of embodiment 113, wherein the generator is configured to generate images of tissues or cells associated with at least one of human disease, animal disease, or plant disease.

實施例117:如實施例116之計算系統,其中產生器被配置以產生與人類疾病相關的組織或細胞的影像,並且疾病包括癌症、帕金森病、鐮狀細胞貧血症、心臟病、心血管疾病、糖尿病、胸部疾病或皮膚病中的至少一者。 Embodiment 117: The computing system of embodiment 116, wherein the generator is configured to generate images of tissues or cells associated with a human disease, and the disease includes cancer, Parkinson's disease, sickle cell anemia, heart disease, cardiovascular disease disease, diabetes, chest disease, or skin disease.

實施例118:如實施例116之計算系統,其中產生器被配置以產生與癌症相關的組織或細胞的影像,並且癌症包括皮膚癌、乳癌、肺癌、肝癌、前列腺癌或腦癌中的至少一者。 Embodiment 118: The computing system of embodiment 116, wherein the generator is configured to generate images of tissues or cells associated with cancer, and the cancer includes at least one of skin cancer, breast cancer, lung cancer, liver cancer, prostate cancer, or brain cancer. By.

實施例119:如實施例108之計算系統,更包括隨機雜訊產生器,被配置以產生輸入到產生器的隨機雜訊,並且產生器被配置以基於隨機雜訊產生第一資料集。 Embodiment 119: The computing system of Embodiment 108 further includes a random noise generator configured to generate random noise input to the generator, and the generator is configured to generate the first data set based on the random noise.

實施例120:計算系統,包括:隨機雜訊產生器,被配置以產生隨機雜訊;以及產生器,被配置以基於隨機雜訊產生資料,其中產生器包括光矩陣處理單元。 Embodiment 120: A computing system includes: a random noise generator configured to generate random noise; and a generator configured to generate data based on the random noise, wherein the generator includes an optical matrix processing unit.

實施例121:如實施例120之計算系統,其中光矩陣處理單元包括以下至少一者:(i)實施例1至25中任意一者之光矩陣乘法單元、(ii)實施例33至52、55至81中任意一者之被動繞射光學元件、或(iii)實施例89至107中任意一者之光矩陣處理單元。 Embodiment 121: The computing system of Embodiment 120, wherein the light matrix processing unit includes at least one of the following: (i) the light matrix multiplication unit of any one of Embodiments 1 to 25, (ii) Embodiments 33 to 52, The passive diffractive optical element of any one of Embodiments 55 to 81, or (iii) the light matrix processing unit of any one of Embodiments 89 to 107.

實施例122:計算系統,包括:光電路,被配置以對兩個輸入訊號執行邏輯函數(logic function),光電路包括:第一定向耦合器,具有兩個輸入端和兩個輸出端,兩個輸入端被配置以接收兩個輸入訊號;第一對(pair)相位移器,被配置以修改在第一定向耦合器的兩個輸出端的訊號的相位;第二定向耦合器,具有兩個輸入端和兩個輸出端,兩個輸入端被配置以接收來自第一對相位移器的訊號;以及 第二對相位移器,被配置以修改在第二定向耦合器的兩個輸出端的訊號的相位。 Embodiment 122: A computing system including: an optical circuit configured to perform a logic function on two input signals, the optical circuit including: a first directional coupler having two input terminals and two output terminals, Two input terminals are configured to receive two input signals; a first pair of phase shifters is configured to modify the phase of signals at the two output terminals of the first directional coupler; the second directional coupler has two input terminals and two output terminals, the two input terminals being configured to receive signals from the first pair of phase shifters; and The second pair of phase shifters is configured to modify the phase of the signal at the two output terminals of the second directional coupler.

實施例123:如實施例122之計算系統,其中相位移器被配置以致使光電路執行旋轉(rotation):

Figure 110132252-A0305-02-0284-36
Embodiment 123: The computing system of embodiment 122, wherein the phase shifter is configured to cause the optical circuit to perform rotation:
Figure 110132252-A0305-02-0284-36

實施例124:如實施例122之計算系統,其中當輸入訊號x1和x2被提供到第一定向耦合器的兩個輸入端時,相位移器被配置以致使光電路執行操作:

Figure 110132252-A0305-02-0284-37
Embodiment 124: The computing system of embodiment 122, wherein when the input signals x 1 and x 2 are provided to the two input terminals of the first directional coupler, the phase shifter is configured to cause the optical circuit to perform an operation:
Figure 110132252-A0305-02-0284-37

實施例125:如實施例124之計算系統,其中光電路包括第一光偵測器,其被配置以產生來自第二對相位移器的訊號的絕對值,以致使光電路執行操作:

Figure 110132252-A0305-02-0284-38
Embodiment 125: The computing system of Embodiment 124, wherein the optical circuit includes a first photodetector configured to generate an absolute value of the signal from the second pair of phase shifters to cause the optical circuit to perform:
Figure 110132252-A0305-02-0284-38

實施例126:如實施例125之計算系統,其中光電路包括比較器,其被配置以將第一光偵測器的輸出訊號與閾值比較,以產生二進制值(binary value)來致使光電路產生輸出:

Figure 110132252-A0305-02-0284-39
Embodiment 126: The computing system of Embodiment 125, wherein the optical circuit includes a comparator configured to compare the output signal of the first photodetector with a threshold to generate a binary value to cause the optical circuit to generate Output:
Figure 110132252-A0305-02-0284-39

實施例127:如實施例125之計算系統,其中光電路包括回饋機制(feedback mechanism),回饋機制被配置以使光偵測器的輸出訊號被回饋至第一定向耦合器的輸入端,並且通過第一定向耦合器、第一對相位移器、第二定向耦合器以及第二對相位移器,並且由光偵測器偵測以致使光電路執行操作:

Figure 110132252-A0305-02-0285-40
其產生輸出AND(x1,x2)和OR(x1,x2)。 Embodiment 127: The computing system of Embodiment 125, wherein the optical circuit includes a feedback mechanism configured such that the output signal of the photodetector is fed back to the input of the first directional coupler, and Through the first directional coupler, the first pair of phase shifters, the second directional coupler and the second pair of phase shifters, and detected by the photodetector, the optical circuit performs an operation:
Figure 110132252-A0305-02-0285-40
It produces the outputs AND(x 1 ,x 2 ) and OR(x 1 ,x 2 ).

實施例128:如實施例125之計算系統,其中光電路包括:第三定向耦合器,具有兩個輸入端和兩個輸出端,兩個輸入端被配置以接收來自第二對相位移器的訊號;第三對相位移器,被配置以修改在第三定向耦合器的兩個輸出端的訊號的相位;第四定向耦合器,具有兩個輸入端和兩個輸出端,兩個輸入端被配置以接收來自第三對相位移器的訊號;第四對相位移器,被配置以修改在第四定向耦合器的兩個輸出端的訊號的相位;以及第二光偵測器,被配置以產生來自第四對相位移器的訊號的絕對值,以致使光電路執行操作:

Figure 110132252-A0305-02-0285-41
其產生輸出AND(x1,x2)和OR(x1,x2)。 Embodiment 128: The computing system of Embodiment 125, wherein the optical circuit includes: a third directional coupler having two input terminals and two output terminals, the two input terminals being configured to receive from the second pair of phase shifters. signal; the third pair of phase shifters is configured to modify the phase of the signal at the two output terminals of the third directional coupler; the fourth directional coupler has two input terminals and two output terminals, the two input terminals are configured to receive signals from a third pair of phase shifters; a fourth pair of phase shifters configured to modify the phase of signals at the two output terminals of the fourth directional coupler; and a second photodetector configured to The absolute value of the signal from the fourth pair of phase shifters is generated to cause the optical circuit to perform:
Figure 110132252-A0305-02-0285-41
It produces the outputs AND(x 1 ,x 2 ) and OR(x 1 ,x 2 ).

實施例129:如實施例122之計算系統,包括雙調排序式交換機(Bitonic sorter),其被配置以由使用光電路執行雙調排序式交換機的排序函數(sorting function)。 Embodiment 129: The computing system of embodiment 122, including a bitonic sorter configured to perform a sorting function of the bitonic sorter using optical circuits.

實施例130:如實施例122之計算系統,包括被配置以使用光電路來執行雜湊函數(hashing function)的裝置。 Embodiment 130: The computing system of embodiment 122, including a device configured to perform a hashing function using optical circuits.

實施例131:如實施例130之計算系統,其中雜湊函數包括安全雜湊演算法(secure hash algorithm)2(SHA-2)。 Embodiment 131: The computing system of embodiment 130, wherein the hash function includes secure hash algorithm 2 (SHA-2).

實施例132:計算裝置,包括:複數光波導,其中一組多個輸入值被編碼在由光波導承載的相應光訊號上;複數複製模組,並且對於一或多個光訊號的至少兩個子集中的每一者,一或多個複製模組的相應一組被配置以將一或多個光訊號的子集分成二或多個光訊號的副本(copies);複數乘法模組,並且對於一或多個光訊號的第一子集的至少兩個副本中的每一者,相應的乘法模組被配置以使用光幅度調變將第一子集的一或多個光訊號乘以一或多個矩陣元素值,其中至少一乘法模組包括光幅度調變器,光幅度調變器包括一個輸入端口和兩個輸出端口,並且從兩個輸出端口提供一對相關光訊號,使得相關光訊號的幅度之間的差值對應於將輸入值乘以有號矩陣元素值的結果;以及 一或多個求和模組,並且對於二或多個乘法模組的結果,相應的一個求和模組被配置以產生電訊號,電訊號表示二或多個乘法模組的結果的總和。 Embodiment 132: A computing device comprising: a plurality of optical waveguides, wherein a set of a plurality of input values is encoded on a corresponding optical signal carried by the optical waveguide; a plurality of replica modules, and for at least two of the one or more optical signals each of the subsets, a corresponding set of one or more replication modules configured to divide the one or more subsets of the optical signal into two or more copies of the optical signal; the complex multiplication module, and For each of the at least two copies of the first subset of the one or more optical signals, a corresponding multiplication module is configured to multiply the one or more optical signals of the first subset using optical amplitude modulation. One or more matrix element values, wherein at least one multiplication module includes an optical amplitude modulator, the optical amplitude modulator includes an input port and two output ports, and provides a pair of correlated optical signals from the two output ports, such that The difference between the amplitudes of the correlated optical signals corresponds to the result of multiplying the input value by the signed matrix element value; and One or more summing modules, and for the results of the two or more multiplication modules, a corresponding summation module is configured to generate an electrical signal, the electrical signal representing the sum of the results of the two or more multiplication modules.

實施例133:如實施例132之計算裝置,其中在一組多個輸入值中的編碼在相應光訊號上的輸入值表示與包括一或多個矩陣元素值的矩陣相乘的輸入向量的元素。 Embodiment 133: The computing device of Embodiment 132, wherein an input value encoded on a corresponding optical signal in a set of a plurality of input values represents an element of an input vector multiplied by a matrix including one or more matrix element values. .

實施例134:如實施例132或133中任意一者之計算裝置,其中一組多個輸出值被編碼在由一或多個求和模組所產生的相應電訊號上,並且一組多個輸出值中的輸出值表示輸出向量的元素,輸出向量藉由輸入向量乘以矩陣產生。 Embodiment 134: The computing device of any one of embodiments 132 or 133, wherein a plurality of output values are encoded on corresponding electrical signals generated by one or more summing modules, and a plurality of The output value in the output value represents the element of the output vector, which is generated by multiplying the input vector by the matrix.

實施例135:如實施例132至134計算裝置,其中由光波導所承載的每一個光訊號包括具有共同波長的光波,共同波長於所有光訊號大抵相同。 Embodiment 135: The computing device of embodiments 132 to 134, wherein each optical signal carried by the optical waveguide includes an optical wave having a common wavelength, the common wavelength being substantially the same for all optical signals.

實施例136:如實施例132至135中任意一者之計算裝置,其中複製模組包括具有光分離器的至少一複製模組,光分離器在輸入端口將光波的功率的既定比例發送至第一輸出端口,並且在輸入端口將光波的功率的剩餘比例發送至第二輸出端口。 Embodiment 136: The computing device of any one of Embodiments 132 to 135, wherein the replica module includes at least one replica module having an optical splitter that sends a predetermined proportion of the power of the light wave to the input port. an output port, and the remaining proportion of the power of the light wave is sent to the second output port at the input port.

實施例137:如實施例136之計算裝置,其中光分離器包括波導光分離器,波導光分離器將由輸入光波導所引導的光波的功率的既定比例發送至第一輸出光波導,並且將由輸入光波導所引導的光波的功率的剩餘比例發送至第二輸出光波導。 Embodiment 137: The computing device of Embodiment 136, wherein the optical splitter includes a waveguide optical splitter that sends a determined proportion of the power of the optical wave guided by the input optical waveguide to the first output optical waveguide and is The remaining proportion of the power of the light wave guided by the optical waveguide is sent to the second output optical waveguide.

實施例138:如實施例137之計算裝置,其中輸入光波導的引導模式被絕熱地耦接至第一輸出光波導和第二輸出光波導中之每一者的複數引導模式。 Embodiment 138: The computing device of Embodiment 137, wherein the guided mode of the input optical waveguide is adiabatically coupled to the plurality of guided modes of each of the first output optical waveguide and the second output optical waveguide.

實施例139:如實施例136至138中任意一者之計算裝置,其中光分離器包括光束分離器,光束分離器包括至少一表面,其在輸入端口傳輸光波的功率的既定比例,並且在輸入端口反射光波的功率的剩餘比例。 Embodiment 139: The computing device of any one of Embodiments 136 to 138, wherein the optical splitter includes a beam splitter including at least one surface that transmits a determined proportion of the power of the light wave at the input port and at the input port. The remaining fraction of the power of the light wave reflected by the port.

實施例140:如實施例139之計算裝置,其中至少一光波導包括耦接至光耦合器的光纖,光耦合器將光纖的引導模式耦接至自由空間傳播模式(free-space propagation mode)。 Embodiment 140: The computing device of embodiment 139, wherein the at least one optical waveguide includes an optical fiber coupled to an optical coupler that couples a guided mode of the optical fiber to a free-space propagation mode.

實施例141:如實施例132至140中任意一者之計算裝置,其中乘法模組包括至少一相干敏感乘法模組(coherence-sensitive multiplication module),相干敏感乘法模組被配置以基於複數光波之間的干涉,使用光幅度調變將第一子集的一或多個光訊號乘以一或多個矩陣元素值,光波具有相干長度,相干長度至少與通過相干敏感乘法模組的傳播距離一樣長。 Embodiment 141: The computing device of any one of embodiments 132 to 140, wherein the multiplication module includes at least one coherence-sensitive multiplication module, the coherence-sensitive multiplication module configured to Interference between, using optical amplitude modulation to multiply one or more optical signals of the first subset by one or more matrix element values, the light wave has a coherence length, and the coherence length is at least the same as the propagation distance through the coherence sensitive multiplication module long.

實施例142:如實施例141之計算裝置,其中相干敏感乘法模組包括馬赫曾德爾干涉儀(MZI),馬赫曾德爾干涉儀將輸入光波導所引導的光波分成馬赫曾德爾干涉儀的第一光波導臂(optical waveguide arm)和馬赫曾德爾干涉儀的第二光波導臂,第一光波導臂包括相位移器,相位移器相對於第二光波導臂的相位 延遲產生相對相位移,並且馬赫曾德爾干涉儀將來自第一光波導臂和第二光波導臂的複數光波組合成至少一輸出光波導。 Embodiment 142: The computing device of Embodiment 141, wherein the coherence-sensitive multiplication module includes a Mach-Zehnder interferometer (MZI), which divides the light waves guided by the input optical waveguide into the first phase of the MZI. An optical waveguide arm and a second optical waveguide arm of a Mach-Zehnder interferometer. The first optical waveguide arm includes a phase shifter, and the phase shifter has a phase relative to the second optical waveguide arm. The delay creates a relative phase shift, and the Mach-Zehnder interferometer combines the complex light waves from the first optical waveguide arm and the second optical waveguide arm into at least one output optical waveguide.

實施例143:如實施例142之計算裝置,其中MZI將來自第一光波導臂和第二光波導臂的複數光波組合成第一輸出光波導和第二輸出光波導中的每一者,第一光偵測器從第一輸出光波導接收光波以產生第一光電流,第二光偵測器從第二輸出光波導接收光波以產生第二光電流,並且相干敏感乘法模組的結果包括第一光電流與第二光電流之間的差值。 Embodiment 143: The computing device of Embodiment 142, wherein the MZI combines the complex light waves from the first optical waveguide arm and the second optical waveguide arm into each of the first output optical waveguide and the second output optical waveguide, A photodetector receives a light wave from the first output optical waveguide to generate a first photocurrent, a second photodetector receives a light wave from the second output optical waveguide to generate a second photocurrent, and the result of the coherent sensitive multiplication module includes The difference between the first photocurrent and the second photocurrent.

實施例144:如實施例141至143中任意一者之計算裝置,其中相干敏感乘法模組包括一或多個環形共振器(ring resonator),環形共振器包括耦接至第一光波導的至少一環形共振器和耦接至第二光波導的至少一環形共振器。 Embodiment 144: The computing device of any one of embodiments 141 to 143, wherein the coherence sensitive multiplication module includes one or more ring resonators, the ring resonators including at least one coupled to the first optical waveguide. a ring resonator and at least one ring resonator coupled to the second optical waveguide.

實施例145:如實施例144之計算裝置,其中,第一光偵測器接收來自第一光波導的光波,以產生第一光電流,第二光偵測器接收來自第二光波導的光波,以產生第二光電流,並且相干敏感乘法模組的結果包括第一光電流與第二光電流之間的差值。 Embodiment 145: The computing device of Embodiment 144, wherein the first photodetector receives the light wave from the first optical waveguide to generate the first photocurrent, and the second photodetector receives the light wave from the second optical waveguide. , to generate a second photocurrent, and the result of the coherent sensitive multiplication module includes the difference between the first photocurrent and the second photocurrent.

實施例146:如實施例132至145中任意一者之計算裝置,其中乘法模組包括至少一相干非敏感乘法模組(coherence-insensitive multiplication module),相干非敏感乘法模組被配置以基於光波內的能量吸收,使用光幅度調變將第一子集的一或多個光訊號乘以一或多個矩陣元素值。 Embodiment 146: The computing device of any one of embodiments 132 to 145, wherein the multiplication module includes at least one coherence-insensitive multiplication module, the coherence-insensitive multiplication module configured to Energy absorption within the first subset of one or more optical signals is multiplied by one or more matrix element values using optical amplitude modulation.

實施例147:如實施例146之計算裝置,其中相干非敏感乘法模組包括電吸收調變器(electro-absorption modulator)。 Embodiment 147: The computing device of embodiment 146, wherein the coherent insensitive multiplication module includes an electro-absorption modulator.

實施例148:如實施例132至147中任意一者之計算裝置,其中一或多個求和模組包括具有以下部件的至少一求和模組:(1)二或多個輸入導體,每一個輸入導體以輸入電流的形式承載電訊號,輸入電流的幅度表示相應一個乘法模組的相應結果,以及(2)至少一輸出導體,輸出導體承載表示輸出電流形式的相應結果的總和的電訊號,輸出電流與輸入電流之總和成比例。 Embodiment 148: The computing device of any one of Embodiments 132-147, wherein the one or more summing modules include at least one summing module having: (1) two or more input conductors, each an input conductor carrying an electrical signal in the form of an input current, the magnitude of which represents a corresponding result of a multiplication module, and (2) at least one output conductor carrying an electrical signal representing the sum of the corresponding results in the form of an output current , the output current is proportional to the sum of the input currents.

實施例149:如實施例148之計算裝置,其中二或多個輸入導體和輸出導體包括複數導線,其在導線之間的一或多個接點相遇,並且輸出電流大抵等於輸入電流之總和。 Embodiment 149: The computing device of Embodiment 148, wherein the two or more input conductors and the output conductors comprise a plurality of conductors meeting at one or more junctions between the conductors, and the output current is substantially equal to the sum of the input currents.

實施例150:如實施例148或149之計算裝置,其中輸入電流的至少一第一輸入電流在至少一光電流的形式提供,光電流由至少一光偵測器產生,光偵測器接收由乘法模組的第一乘法模組所產生的光訊號。 Embodiment 150: The computing device of embodiment 148 or 149, wherein at least a first input current of the input current is provided in the form of at least one photocurrent generated by at least one photodetector, the photodetector receiving The optical signal generated by the first multiplication module of the multiplication module.

實施例151:如實施例150之計算裝置,其中第一輸入電流在兩個光電流之間的差值的形式提供,兩個光電流由不同相應光偵測器產生,光偵測器接收由第一乘法模組所產生的不同相應光訊號。 Embodiment 151: The computing device of embodiment 150, wherein the first input current is provided in the form of a difference between two photocurrents generated by different corresponding photodetectors, and the photodetectors receive Different corresponding optical signals generated by the first multiplication module.

實施例152:如實施例132至151中任意一者之計算裝置,其中一或多個光訊號的第一子集的副本之一者由單一光訊號組成,其中單一光訊號上的一個輸入值被編碼。 Embodiment 152: The computing device of any one of embodiments 132-151, wherein one of the copies of the first subset of the one or more optical signals consists of a single optical signal, and wherein an input value on the single optical signal is encoded.

實施例153:如實施例152之計算裝置,其中對應第一子集的副本的乘法模組將編碼的輸入值乘以單一矩陣元素值。 Embodiment 153: The computing device of embodiment 152, wherein the multiplication module corresponding to the copy of the first subset multiplies the encoded input value by a single matrix element value.

實施例154:如實施例132至153中任意一者之計算裝置,其中一或多個光訊號的第一子集的副本之一者包括的光訊號多於一個,並且少於所有光訊號的數量,其中光訊號的多個輸入值被編碼。 Embodiment 154: The computing device of any one of Embodiments 132-153, wherein one of the copies of the first subset of the one or more optical signals includes more than one optical signal and less than all optical signals. A quantity in which multiple input values of an optical signal are encoded.

實施例155:如實施例154之計算裝置,其中對應第一子集的副本的乘法模組將編碼的輸入值乘以不同的相應矩陣元素值。 Embodiment 155: The computing device of embodiment 154, wherein the multiplication module corresponding to the copy of the first subset multiplies the encoded input value by a different corresponding matrix element value.

實施例156:如實施例152之計算裝置,其中對應一或多個光訊號的第一子集的不同相應副本的不同乘法模組被包含在不同裝置,不同裝置進行光學通訊以在不同裝置之間傳輸一或多個光訊號的第一子集的副本之一者。 Embodiment 156: The computing device of Embodiment 152, wherein different multiplication modules corresponding to different corresponding copies of the first subset of the one or more optical signals are included in different devices, and the different devices perform optical communication between the different devices. one of the copies of the first subset of one or more optical signals.

實施例157:如實施例132至156中任意一者之計算裝置,其中光波導的二或多個、複製模組的二或多個、乘法模組的二或多個、以及一或多個求和模組的至少一者被設置在公共裝置的基板上。 Embodiment 157: The computing device of any one of Embodiments 132-156, wherein two or more of the optical waveguides, two or more of the replication modules, two or more of the multiplication modules, and one or more At least one of the summing modules is provided on the substrate of the common device.

實施例158:如實施例157之計算裝置,其中裝置執行向量矩陣乘法,其中提供輸入向量作為一組光訊號,並且提供輸出向量作為一組電訊號。 Embodiment 158: The computing device of Embodiment 157, wherein the device performs vector matrix multiplication, wherein the input vectors are provided as a set of optical signals and the output vectors are provided as a set of electrical signals.

實施例159:如實施例132至155中任意一者之計算裝置,更包括累加器,累加器整合對應乘法模組或求和模組的輸出的輸入電訊號,其中使用時域編碼(time domain encoding)來編碼輸入電信號,時域編碼在多個時槽的每一者內使用開關幅度調變(on-off amplitude modulation),並且累加器產生輸出電訊號,輸出電訊號以多於兩個幅度準位來編碼,幅度準位對應多個時槽上的時域編碼的不同佔空比。 Embodiment 159: The computing device as in any one of embodiments 132 to 155, further comprising an accumulator, the accumulator integrates the input electrical signal corresponding to the output of the multiplication module or the summation module, wherein time domain coding is used. encoding) to encode the input electrical signal, the time domain encoding uses on-off amplitude modulation in each of a plurality of time slots, and the accumulator generates an output electrical signal, the output electrical signal is expressed in more than two The amplitude level is encoded by the amplitude level, which corresponds to the different duty cycles of the time domain encoding on multiple time slots.

實施例160:如實施例132至159中任意一者之計算裝置,其中乘法模組的二或多個之每一者對應一或多個光訊號的不同子集。 Embodiment 160: The computing device of any one of embodiments 132-159, wherein each of the two or more multiplication modules corresponds to a different subset of the one or more optical signals.

實施例161:如實施例132至160中任意一者之計算裝置,更包括用於一或多個光訊號的第二子集的每一個副本,與一或多個光訊號的第一子集中的光訊號不同,乘法模組被配置以使用光幅度調變將第二子集的一個或多個光訊號乘以一或多個矩陣元素值。 Embodiment 161: The computing device of any one of Embodiments 132-160, further comprising each replica for the second subset of the one or more optical signals, and the first subset of the one or more optical signals. The multiplication module is configured to multiply one or more optical signals of the second subset by one or more matrix element values using optical amplitude modulation.

實施例162:計算方法,包括:在相應光訊號上編碼一組多個輸入值; 對於一或多個光訊號的至少兩個子集中的每一者,使用一或多個複製模組的相應一組以將一或多個光訊號的子集分成二或多個光訊號的副本;對於一或多個光訊號的第一子集的至少兩個副本中的每一者,使用相應的乘法模組以使用光幅度調變將第一子集的一或多個光訊號乘以一或多個矩陣元素值,其中至少一乘法模組包括光幅度調變器,光幅度調變器包括一個輸入端口和兩個輸出端口,並且從兩個輸出端口提供一對相關光訊號,使得相關光訊號的幅度之間的差值對應於將輸入值乘以有號矩陣元素值的結果;以及對於二或多個乘法模組的結果,使用求和模組以產生電訊號,電訊號表示二或多個乘法模組的結果的總和。 Embodiment 162: A calculation method, including: encoding a set of multiple input values on a corresponding optical signal; For each of the at least two subsets of the one or more optical signals, use a respective set of one or more replication modules to divide the one or more subsets of the optical signals into two or more replicas of the optical signals ; for each of the at least two copies of the first subset of the one or more optical signals, using a corresponding multiplication module to multiply the one or more optical signals of the first subset using optical amplitude modulation One or more matrix element values, wherein at least one multiplication module includes an optical amplitude modulator, the optical amplitude modulator includes an input port and two output ports, and provides a pair of correlated optical signals from the two output ports, such that The difference between the amplitudes of the correlated optical signals corresponds to the result of multiplying the input value by the element value of the signed matrix; and for the result of two or more multiplication modules, a summation module is used to generate an electrical signal, the electrical signal represents The sum of the results of two or more multiplication modules.

實施例163:計算方法,包括:編碼表示相應光訊號上的輸入向量的元素的一組輸入值;將表示矩陣元素的一組係數編碼作為耦合至光訊號的一組光幅度調變器的幅度調變準位,其中包括一個輸入端口和兩個輸出端口的至少一光幅度調變器從兩個輸出端口提供一對相關光訊號,使得相關光訊號的幅度之間的差值對應於將輸入值乘以有號矩陣元素值的結果;以及編碼表示相應電訊號上的輸出向量的元素的一組輸出值,其中至少一電訊號是電流形式,其幅度對應輸入向量的相應元素乘以矩陣的一列(row)的相應元素的總和。 Embodiment 163: Calculation method, comprising: encoding a set of input values representing elements of an input vector on a corresponding optical signal; encoding a set of coefficients representing matrix elements as amplitudes of a set of optical amplitude modulators coupled to the optical signal Modulation level, wherein at least one optical amplitude modulator including one input port and two output ports provides a pair of correlated optical signals from the two output ports, such that the difference between the amplitudes of the correlated optical signals corresponds to the input the result of multiplying a value by an element value of a signed matrix; and a set of output values encoding elements representing an output vector on a corresponding electrical signal, at least one of which is in the form of a current whose amplitude corresponds to the corresponding element of the input vector multiplied by the matrix The sum of the corresponding elements of a row.

實施例164:如實施例163之計算方法,其中至少一光訊號由第一光波導提供,並且第一光波導耦接至光分離器,光分離器將由第一光波導所引導的光波的功率的既定比例發送至第二輸出光波導,並且將由第一光波導所引導的光波的功率的剩餘定比例發送至第三光波導。 Embodiment 164: The calculation method of Embodiment 163, wherein at least one optical signal is provided by a first optical waveguide, and the first optical waveguide is coupled to an optical splitter, and the optical splitter determines the power of the optical wave guided by the first optical waveguide. A given proportion of the power of the light wave guided by the first optical waveguide is sent to the second output optical waveguide, and a remaining proportion of the power of the light wave guided by the first optical waveguide is sent to the third optical waveguide.

實施例165:計算裝置,包括:複數光波導,編碼表示由光波導承載的相應光訊號上的輸入向量的元素的一組輸入值;一組光幅度調變器,耦接至光訊號,將表示矩陣元素的一組係數編碼作為幅度調變準位,其中包括一個輸入端口和兩個輸出端口的至少一光幅度調變器從兩個輸出端口提供一對相關光訊號,使得相關光訊號的幅度之間的差值對應於將輸入值乘以有號矩陣元素值的結果;以及複數求和模組,其編碼表示相應電訊號上的輸出向量的元素的一組輸出值,其中至少一電訊號是電流形式,其幅度對應輸入向量的相應元素乘以矩陣的一列(row)的相應元素的總和。 Embodiment 165: A computing device comprising: a plurality of optical waveguides encoding a set of input values representing elements of an input vector on a corresponding optical signal carried by the optical waveguide; a set of optical amplitude modulators coupled to the optical signal to convert A set of coefficients representing matrix elements is encoded as an amplitude modulation level, and at least one optical amplitude modulator including one input port and two output ports provides a pair of correlated optical signals from the two output ports, such that the correlated optical signals The difference between the amplitudes corresponds to the result of multiplying the input value by the element value of the signed matrix; and a complex summation module encoding a set of output values representing the elements of the output vector on the corresponding electrical signal, wherein at least one telecommunication signal The signal is the form of a current whose amplitude corresponds to the corresponding element of the input vector multiplied by the sum of the corresponding elements of a column (row) of the matrix.

實施例166:用於將輸入向量乘以給定矩陣的計算方法包括:編碼表示一組光訊號的相應光訊號上的輸入向量的元素的一組輸入值; 將第一組一或多個裝置耦接至第一組一或多個波導,提供該組光訊號的第一子集,並且產生給定矩陣的第一子矩陣乘以在該組光訊號的第一子集上的數值的結果;將第二組一或多個裝置耦接至第二組一或多個波導,提供該組光訊號的第二子集,並且產生給定矩陣的第二子矩陣乘以在該組光訊號的第二子集上的數值的結果;將第三組一或多個裝置耦接至第三組一或多個波導,提供由第一光分離器所產生的該組光訊號的第一子集的副本,並且產生給定矩陣的第三子矩陣乘以在該組光訊號的第一子集上的數值的結果;將第四組一或多個裝置耦接至第四組一或多個波導,提供由第二光分離器所產生的該組光訊號的第二子集的副本,並且產生給定矩陣的第四子矩陣乘以在該組光訊號的第二子集上的數值的結果;其中連接在一起的第一、第二、第三以及第四子矩陣形成給定矩陣;以及其中表示輸出向量的元素的至少一輸出值被編碼在電訊號上,輸出向量對應輸入向量乘以給定矩陣,電訊號由與第一組一或多個裝置和第二組一或多個裝置通訊的裝置產生。 Embodiment 166: A computational method for multiplying an input vector by a given matrix comprising: encoding a set of input values representing elements of the input vector on corresponding optical signals of a set of optical signals; coupling a first set of one or more devices to a first set of one or more waveguides, providing a first subset of the set of optical signals, and generating a first sub-matrix of a given matrix multiplied by results in values on the first subset; coupling a second set of one or more devices to a second set of one or more waveguides, providing a second subset of the set of optical signals, and producing a second set of the given matrix a result of multiplying the sub-matrix by a value on a second subset of the set of optical signals; coupling a third set of one or more devices to a third set of one or more waveguides to provide the output generated by the first optical splitter a copy of the first subset of the set of optical signals, and produce a result of multiplying the third submatrix of the given matrix by the value on the first subset of the set of optical signals; converting the fourth set of one or more devices coupled to a fourth set of one or more waveguides, providing a copy of a second subset of the set of optical signals produced by the second optical splitter, and producing a fourth submatrix of the given matrix multiplied by the set of optical signals a result of values on a second subset of the signal; wherein the first, second, third and fourth submatrices connected together form a given matrix; and wherein at least one output value representing an element of the output vector is encoded in On the electrical signal, the output vector corresponds to the input vector multiplied by the given matrix. The electrical signal is generated by the device communicating with the first group of one or more devices and the second group of one or more devices.

實施例167:如實施例166之計算裝置,其中第一組一或多個裝置、第二組一或多個裝置、第三組一或多個裝置、以及第四組一或多個裝置中的每一對組是互斥的(mutually exclusive)。 Embodiment 167: The computing device of embodiment 166, wherein the first group of one or more devices, the second group of one or more devices, the third group of one or more devices, and the fourth group of one or more devices Each pair of is mutually exclusive.

實施例168:計算裝置,包括: 第一組一或多個裝置,被配置以接收第一組光訊號,並且產生第一矩陣乘以在第一組光訊號上編碼的數值的結果;第二組一或多個裝置,被配置以接收第二組光訊號,並且產生第二矩陣乘以在第二組光訊號上編碼的數值的結果;第三組一或多個裝置,被配置以接收第三組光訊號,並且產生第三矩陣乘以在第三組光訊號上編碼的數值的結果;第四組一或多個裝置,被配置以接收第四組光訊號,並且產生第四矩陣乘以在第四組光訊號上編碼的數值的結果;以及可配置連接路徑,在第一組一或多個裝置、第二組一或多個裝置、第三組一或多個裝置或第四組一或多個裝置中的二或多個之間,其中可配置連接路徑的第一配置被配置以(1)提供第一組光訊號的副本作為第二組光訊號,第三組光訊號或第四組光訊號中的至少一者,並且(2)將來自第一組一或多個裝置的一或多個訊號和來自第二組一或多個裝置的一或多個訊號提供至求和模組,求和模組被配置以產生電訊號,電訊號表示在由求和模組接收的訊號上編碼的數值的總和。 Embodiment 168: A computing device, comprising: A first group of one or more devices is configured to receive a first group of optical signals and generate a first matrix multiplied by a value encoded on the first group of optical signals; a second group of one or more devices is configured to to receive a second set of optical signals and generate a result of multiplying the second matrix by a value encoded on the second set of optical signals; and a third set of one or more devices configured to receive a third set of optical signals and generate a third set of optical signals. The result of three matrices multiplied by the values encoded on the third set of optical signals; a fourth set of one or more devices configured to receive the fourth set of optical signals and generate a fourth matrix multiplied by the fourth set of optical signals the result of an encoded numerical value; and a configurable connection path within a first group of one or more devices, a second group of one or more devices, a third group of one or more devices, or a fourth group of one or more devices. Between two or more, wherein a first configuration of configurable connection paths is configured to (1) provide a copy of a first set of optical signals as a second set of optical signals, a third set of optical signals, or a fourth set of optical signals at least one, and (2) providing one or more signals from the first set of one or more devices and one or more signals from the second set of one or more devices to the summing module, the summing module The group is configured to generate an electrical signal representing the sum of the values encoded on the signal received by the summation module.

實施例169:計算裝置,包括:第一組一或多個裝置,被配置以接收第一組光訊號,並且基於第一組光訊號的一或多個光訊號的光幅度調變產生結果;第二組一或多個裝置,被配置以接收第二組光訊號,並且基於第二組光訊號的一或多個光訊號的光幅度調變產生結果; 第三組一或多個裝置,被配置以接收第三組光訊號,並且基於第三組光訊號的一或多個光訊號的光幅度調變產生結果;第四組一或多個裝置,被配置以接收第四組光訊號,並且基於第四組光訊號的一或多個光訊號的光幅度調變產生結果;以及可配置連接路徑,在第一組一或多個裝置、第二組一或多個裝置、第三組一或多個裝置或第四組一或多個裝置中的二或多個之間,其中可配置連接路徑的第一配置被配置以(1)提供第一組光訊號的副本作為第三組光訊號,或(2)將來自第一組一或多個裝置的一或多個訊號和來自第二組一或多個裝置的一或多個訊號提供至求和模組,求和模組被配置以產生電訊號,電訊號表示在由求和模組接收的訊號上編碼的數值的總和。 Embodiment 169: A computing device, comprising: a first set of one or more devices configured to receive a first set of optical signals and generate a result based on optical amplitude modulation of the one or more optical signals of the first set of optical signals; a second set of one or more devices configured to receive a second set of optical signals and generate a result based on optical amplitude modulation of the one or more optical signals of the second set of optical signals; The third group of one or more devices is configured to receive the third group of optical signals and generate a result based on the optical amplitude modulation of the one or more optical signals of the third group of optical signals; the fourth group of one or more devices, configured to receive a fourth set of optical signals and produce an optical amplitude modulation result of one or more optical signals based on the fourth set of optical signals; and a configurable connection path between the first set of one or more devices, the second between two or more of a group of one or more devices, a third group of one or more devices, or a fourth group of one or more devices, wherein a first configuration of configurable connection paths is configured to (1) provide a a copy of one set of optical signals as a third set of optical signals, or (2) providing one or more signals from the first set of one or more devices and one or more signals from a second set of one or more devices To the summation module, the summation module is configured to generate an electrical signal representing the sum of the values encoded on the signal received by the summation module.

實施例170:如實施例169之計算裝置,其中第一組一或多個裝置、第二組一或多個裝置、第三組一或多個裝置、以及第四組一或多個裝置中的每一對組是互斥的。 Embodiment 170: The computing device of embodiment 169, wherein the first group of one or more devices, the second group of one or more devices, the third group of one or more devices, and the fourth group of one or more devices Each pair of groups is mutually exclusive.

實施例171:如實施例169或170之計算裝置,其中可配置連接路徑的第一配置被配置以(1)提供第一組光訊號的副本作為第三組光訊號,並且(2)將來自第一組一或多個裝置的一或多個訊號和來自第二組一或多個裝置的一或多個訊號提供至求和模組,求和模組被配置以產生電訊號,電訊號表示在由求和模組接收的至少兩個不同訊號上編碼的數值的總和。 Embodiment 171: The computing device of embodiment 169 or 170, wherein the first configuration of configurable connection paths is configured to (1) provide a copy of the first set of optical signals as a third set of optical signals, and (2) convert from One or more signals from the first group of one or more devices and one or more signals from the second group of one or more devices are provided to a summing module configured to generate an electrical signal, the electrical signal Represents the sum of the values encoded on at least two different signals received by the summation module.

實施例172:如實施例169至171中任意一者之計算裝置,其中可配置連接路徑的第一配置被配置以提供第一組光訊號的副本作為第三組光訊號,並且可配置連接路徑的第二配置被配置以將來自第一組一或多個裝置的一或多個訊號和來自第二組一或多個裝置的一或多個訊號提供至求和模組,求和模組被配置以產生電訊號,電訊號表示在由求和模組接收的訊號上編碼的數值的總和。 Embodiment 172: The computing device of any one of embodiments 169-171, wherein the first configuration of configurable connection paths is configured to provide a copy of the first set of optical signals as a third set of optical signals, and the configurable connection paths The second configuration is configured to provide one or more signals from the first set of one or more devices and one or more signals from the second set of one or more devices to the summing module, the summing module Configured to generate an electrical signal representing a sum of values encoded on the signal received by the summation module.

實施例173:計算裝置,包括:複數光波導,其中一組多個輸入值被編碼在由光波導承載的相應光訊號上;複數複製模組,包括用於一或多個光訊號的至少兩個子集中的每一者,一或多個複製模組的相應一組被配置以將一或多個光訊號的子集分成二或多個光訊號的副本;複數乘法模組,包括用於一或多個光訊號的第一子集的至少兩個副本中的每一者,相應的乘法模組被配置以使用光幅度調變將第一子集的一或多個光訊號乘以一或多個數值;以及一或多個求和模組,包括用於二或多個乘法模組的結果,求和模組被配置以產生電訊號,電訊號表示二或多個乘法模組的結果的總和,其中該結果包括在電訊號上編碼的至少一結果,並且該結果是從光訊號的一個副本導出的,其在被轉換成電訊號之前傳播通過不超過單一光幅度調變器。 Embodiment 173: A computing device comprising: a plurality of optical waveguides, wherein a plurality of input values are encoded on corresponding optical signals carried by the optical waveguide; and a plurality of replica modules including at least two for the one or more optical signals. In each of the subsets, a corresponding set of one or more replication modules is configured to divide a subset of one or more optical signals into two or more replicas of the optical signal; a complex multiplication module, including for For each of the at least two copies of a first subset of one or more optical signals, a corresponding multiplication module is configured to multiply the one or more optical signals of the first subset by a or a plurality of numerical values; and one or more summation modules, including results for two or more multiplication modules, the summation module being configured to generate an electrical signal, the electrical signal representing a result of the two or more multiplication modules. A sum of results, wherein the result includes at least one result encoded on an electrical signal and the result is derived from a copy of the optical signal that propagates through no more than a single optical amplitude modulator before being converted into an electrical signal.

實施例174:計算系統,包括:第一單元,被配置以產生複數調變器控制訊號; 處理器,包括:光源,被配置以提供複數光輸出;複數光調變器,耦接至光源和第一單元,光調變器被配置以基於調變器控制訊號,調變由光源所提供的光輸出,來產生光輸入向量,光輸入向量包括複數光訊號;以及矩陣乘法單元,耦接至光調變器和第一單元,矩陣乘法單元被配置以基於複數權重控制訊號,將光輸入向量轉換成類比輸出向量;第二單元,耦接至矩陣乘法單元,並且第二單元被配置以將類比輸出向量轉換成數位輸出向量;以及控制器,包括積體電路,被配置以執行以下操作:接收人工神經網路計算請求,人工神經網路計算請求包括輸入資料集,輸入資料集包括第一數位輸入向量;接收第一多個神經網路權重;以及透過第一單元,基於第一數位輸入向量產生第一多個調變器控制訊號,並且基於第一多個神經網路權重產生第一多個權重控制訊號。 Embodiment 174: A computing system, comprising: a first unit configured to generate a complex modulator control signal; A processor including: a light source configured to provide a plurality of light outputs; a plurality of light modulators coupled to the light source and the first unit, the light modulator being configured to control a signal based on the modulator, the modulation being provided by the light source a light output to generate a light input vector, the light input vector including a complex light signal; and a matrix multiplication unit coupled to the light modulator and the first unit, the matrix multiplication unit being configured to control the light input based on the complex weight signal the vector is converted into an analog output vector; a second unit is coupled to the matrix multiplication unit, and the second unit is configured to convert the analog output vector into a digital output vector; and a controller, including an integrated circuit, is configured to perform the following operations : Receive an artificial neural network calculation request, the artificial neural network calculation request includes an input data set, the input data set includes a first digital input vector; receive a first plurality of neural network weights; and through the first unit, based on the first digital The input vector generates a first plurality of modulator control signals, and a first plurality of weight control signals are generated based on the first plurality of neural network weights.

實施例175:如實施例174之計算系統,其中第一單元包括數位類比轉換器(DAC)。 Embodiment 175: The computing system of embodiment 174, wherein the first unit includes a digital-to-analog converter (DAC).

實施例176:如實施例174或175之計算系統,其中第二單元包括類比數位轉換器(ADC)。 Embodiment 176: The computing system of embodiment 174 or 175, wherein the second unit includes an analog-to-digital converter (ADC).

實施例177:如實施例174至176中任意一者之計算系統,包括記憶體單元,被配置以儲存資料集和複數神經網路權重。 Embodiment 177: The computing system of any one of Embodiments 174-176, including a memory unit configured to store a data set and a complex neural network weight.

實施例178:如實施例177之計算系統,其中控制器的積體電路更被配置以執行包括在上述記憶體單元中儲存輸入資料集和第一多個神經網路權重的操作。 Embodiment 178: The computing system of Embodiment 177, wherein the integrated circuit of the controller is further configured to perform operations including storing the input data set and the first plurality of neural network weights in the memory unit.

實施例179:如實施例174至178中任意一者之計算系統,其中第一單元被配置以產生權重控制訊號。 Embodiment 179: The computing system of any one of embodiments 174-178, wherein the first unit is configured to generate the weight control signal.

實施例180:如實施例174至178中任意一者之計算系統,其中控制器包括特殊應用積體電路(ASIC),以及接收人工神經網路計算請求的步驟包括從通用資料處理器接收人工神經網路計算請求。 Embodiment 180: The computing system of any one of Embodiments 174 to 178, wherein the controller includes an application specific integrated circuit (ASIC), and the step of receiving the artificial neural network calculation request includes receiving the artificial neural network calculation request from the general purpose data processor. Network computing requests.

實施例181:如實施例174至178中任意一者之計算系統,其中第一單元、處理單元、第二單元以及控制器被設置在多晶片模組或積體電路中的至少一者上,以及接收人工神經網路計算請求的步驟包括從第二資料處理器接收人工神經網路計算請求,其中第二資料處理器可在多晶片模組或積體電路的外部,第二資料處理器可透過通訊通道(communication channel)耦接至多晶片模組或積體電路,並且處理單元可以以比通訊通道的資料速率大至少一數量級的資料速率來處理資料。 Embodiment 181: The computing system of any one of embodiments 174 to 178, wherein the first unit, the processing unit, the second unit, and the controller are disposed on at least one of a multi-chip module or an integrated circuit, And the step of receiving the artificial neural network calculation request includes receiving the artificial neural network calculation request from a second data processor, wherein the second data processor can be external to the multi-chip module or integrated circuit, and the second data processor can The processing unit is coupled to the multi-chip module or integrated circuit through a communication channel, and the processing unit can process data at a data rate that is at least one order of magnitude greater than the data rate of the communication channel.

實施例182:如實施例174之計算系統,其中第一單元、處理單元、第二單元以及控制器可被用於在複數迭代中重複的光電處理循環,並且光電處理循環包括:(1)基於調變器控制訊號之至少一者的至少一第一光調變操作,並且基於權重控制訊號之至少一者的至少一第二光調變操作,以及(2)(a)電求和操作或(b)電儲存操作中之至少一者。 Embodiment 182: The computing system of embodiment 174, wherein the first unit, the processing unit, the second unit, and the controller are operable for an optoelectronic processing cycle repeated in a plurality of iterations, and the optoelectronic processing cycle includes: (1) based on The modulator controls at least a first optical modulation operation of at least one of the signals and controls at least a second optical modulation operation of at least one of the signals based on the weight, and (2) (a) an electrical summation operation or (b) At least one of the electrical storage operations.

實施例183:如實施例182之計算系統,其中光電處理循環包括電儲存操作,並且電儲存操作使用耦接至控制器的記憶體單元來執行,其中藉由控制器所執行的操作更包括在記憶體單元中儲存輸入資料集和第一多個神經網路權重。 Embodiment 183: The computing system of Embodiment 182, wherein the photoelectric processing cycle includes electrical storage operations, and the electrical storage operations are performed using a memory unit coupled to the controller, wherein the operations performed by the controller further include The input data set and the first plurality of neural network weights are stored in the memory unit.

實施例184:如實施例182之計算系統,其中光電處理循環包括電求和操作,並且電求和操作使用在矩陣乘法單元內的電求和模組來執行,其中電求和模組被配置以產生對應類比輸出向量的元素的電流,電流表示光輸入向量的相應元素乘以相應神經網路權重的總和。 Embodiment 184: The computing system of Embodiment 182, wherein the photoelectric processing loop includes an electrical summing operation, and the electrical summing operation is performed using an electrical summing module within the matrix multiplication unit, wherein the electrical summing module is configured To produce a current corresponding to an element of the analog output vector, the current represents the sum of the corresponding element of the light input vector multiplied by the corresponding neural network weight.

實施例185:如實施例182之計算系統,其中光電處理循環包括至少一訊號路徑,在訊號路徑上,基於調變器控制訊號之至少一者,在單一循環迭代中執行不超過一個第一光調變操作,並且基於權重控制訊號之至少一者,在單一循環迭代中執行不超過一個第二光調變操作。 Embodiment 185: The computing system of Embodiment 182, wherein the photoelectric processing loop includes at least one signal path on which no more than one first optical signal is executed in a single loop iteration based on at least one of the modulator control signals. modulation operations, and performing no more than one second light modulation operation in a single loop iteration based on at least one of the weighted control signals.

實施例186:如實施例185之計算系統,其中第一光調變操作藉由耦接至光輸出的光源和矩陣乘法單元的光調變器之一者來執行,並且第二光調變操作藉由被包括在矩陣乘法單元中的光調變器來執行。 Embodiment 186: The computing system of Embodiment 185, wherein the first light modulation operation is performed by one of the light modulator coupled to the light source and the matrix multiplication unit of the light output, and the second light modulation operation It is performed by the light modulator included in the matrix multiplication unit.

實施例187:如實施例182之計算系統,其中光電處理循環包括至少一訊號路徑,在上述訊號路徑上,在單一循環迭代中執行不超過一個電儲存操作。 Embodiment 187: The computing system of Embodiment 182, wherein the photoelectric processing loop includes at least one signal path on which no more than one electrical storage operation is performed in a single loop iteration.

實施例188:如實施例174之計算系統,其中光源包括雷射單元,被配置以產生光輸出。 Embodiment 188: The computing system of embodiment 174, wherein the light source includes a laser unit configured to generate a light output.

實施例189:如實施例174之計算系統,其中矩陣乘法單元包括:輸入波導陣列,用於接收光輸入向量,並且光輸入向量包括第一光訊號陣列;光干涉單元,與輸入波導陣列光學通訊,用於執行將光輸入向量轉換成第二光訊號陣列的線性轉換;以及輸出波導陣列,與光干涉單元光學通訊,用於引導第二光訊號陣列,其中在輸入波導陣列中的至少一輸入波導透過光干涉單元與在輸出波導陣列中的每一個輸出波導光學通訊。 Embodiment 189: The computing system of Embodiment 174, wherein the matrix multiplication unit includes: an input waveguide array for receiving the light input vector, and the light input vector includes the first optical signal array; and an optical interference unit that is in optical communication with the input waveguide array. , for performing linear conversion of the light input vector into the second optical signal array; and an output waveguide array in optical communication with the optical interference unit for guiding the second optical signal array, wherein at least one input in the input waveguide array The waveguide is in optical communication with each output waveguide in the output waveguide array through the optical interference unit.

實施例190:如實施例189之計算系統,其中光干涉單元包括:複數互連MZI,互連MZI中的每一個MZI包括:第一相位移器,被配置以改變MZI的分離比;以及 第二相位移器,被配置以位移MZI的一個輸出的相位,其中第一相位移器和第二相位移器耦接至權重控制訊號。 Embodiment 190: The computing system of Embodiment 189, wherein the optical interference unit includes: a plurality of interconnected MZIs, each of the interconnected MZIs including: a first phase shifter configured to change a separation ratio of the MZIs; and The second phase shifter is configured to shift the phase of an output of the MZI, wherein the first phase shifter and the second phase shifter are coupled to the weight control signal.

實施例191:如實施例174之計算系統,其中矩陣乘法單元包括:複數複製模組,其中每一個複製模組對應光輸入向量的一或多個光訊號的子集,並且被配置以將一或多個光訊號的子集分成光訊號的二或多個副本;複數乘法模組,其中每一個乘法模組對應一或多個光訊號的子集,並且被配置以使用光幅度調變將子集的一或多個光訊號乘以一或多個矩陣元素值;以及一或多個求和模組,其中每一個求和模組被配置以產生電訊號,電訊號表示乘法模組的二或多個的結果的總和。 Embodiment 191: The computing system of Embodiment 174, wherein the matrix multiplication unit includes: complex replication modules, wherein each replication module corresponds to a subset of one or more optical signals of the optical input vector and is configured to convert a or a plurality of subsets of the optical signal into two or more copies of the optical signal; complex multiplication modules, wherein each multiplication module corresponds to one or more subsets of the optical signal and is configured to use optical amplitude modulation to one or more optical signals of a subset multiplied by one or more matrix element values; and one or more summation modules, wherein each summation module is configured to generate an electrical signal, the electrical signal represents a value of the multiplication module The sum of two or more results.

實施例192:如實施例191之計算系統,其中至少一乘法模組包括光幅度調變器,光幅度調變器包括一個輸入端口和兩個輸出端口,並且從兩個輸出端口提供一對相關光訊號,使得相關光訊號的幅度之間的差值對應於將輸入值乘以有號矩陣元素值的結果。 Embodiment 192: The computing system of Embodiment 191, wherein at least one multiplication module includes an optical amplitude modulator, the optical amplitude modulator includes an input port and two output ports, and provides a pair of correlation signals from the two output ports. optical signals such that the difference between the amplitudes of the associated optical signals corresponds to the result of multiplying the input value by the signed matrix element value.

實施例193:如實施例191或192之計算系統,其中矩陣乘法單元可被配置以將光輸入向量乘以包括一或多個矩陣元素值的矩陣。 Embodiment 193: The computing system of embodiment 191 or 192, wherein the matrix multiplication unit is configured to multiply the light input vector by a matrix including one or more matrix element values.

實施例194:如實施例193之計算系統,其中一組多個輸出值被編碼在由一或多個求和模組所產生的相應電訊號上, 並且一組多個輸出值中的輸出值表示輸出向量的元素,輸出向量藉由光輸入向量乘以矩陣產生。 Embodiment 194: The computing system of Embodiment 193, wherein a set of multiple output values is encoded on a corresponding electrical signal generated by one or more summation modules, And the output values in a set of multiple output values represent elements of the output vector, which is generated by multiplying the light input vector by the matrix.

實施例195:如實施例174至194中任意一者之計算系統,其中計算系統包括記憶體單元,記憶體單元被配置以儲存輸入資料集和神經網路權重,第二單元包括類比數位轉換器(ADC)單元,並且操作更包括:從類比數位轉換器單元得到對應矩陣乘法單元的類比輸出向量的第一多個數位輸出,第一多個數位輸出形成第一數位輸出向量;對第一數位輸出向量執行非線性轉換以產生第一轉換數位輸出向量;以及在記憶體單元中儲存第一轉換數位輸出向量。 Embodiment 195: The computing system of any one of embodiments 174 to 194, wherein the computing system includes a memory unit configured to store the input data set and the neural network weights, the second unit including an analog-to-digital converter (ADC) unit, and the operation further includes: obtaining a first plurality of digital outputs corresponding to the analog output vector of the matrix multiplication unit from the analog-to-digital converter unit, and the first plurality of digital outputs form a first digital output vector; performing a non-linear transformation on the output vector to generate a first transformed digital output vector; and storing the first transformed digital output vector in the memory unit.

實施例196:如實施例195之計算系統,其中計算系統具有第一循環週期,第一循環週期被定義為在記憶體單元中儲存輸入資料集和第一多個神經網路權重的步驟與在記憶體單元中儲存第一轉換數位輸出向量的步驟之間所經過的時間,以及其中第一循環週期小於或等於1ns。 Embodiment 196: The computing system of Embodiment 195, wherein the computing system has a first cycle, and the first cycle is defined as the step of storing the input data set and the first plurality of neural network weights in the memory unit. The time elapsed between steps of storing the first converted digital output vector in the memory unit, and wherein the first cycle period is less than or equal to 1 ns.

實施例197:如實施例195或196之計算系統,其中操作更包括:輸出基於第一轉換數位輸出向量所產生的人工神經網路輸出。 Embodiment 197: The computing system of embodiment 195 or 196, wherein the operation further includes: outputting an artificial neural network output generated based on the first converted digital output vector.

實施例198:如實施例195至197中任意一者之計算系統,其中第一單元包括數位類比轉換器(DAC)單元,並且操作更包括: 透過數位類比轉換器單元,基於第一轉換數位輸出向量產生第二多個調變器控制訊號。 Embodiment 198: The computing system of any one of embodiments 195 to 197, wherein the first unit includes a digital-to-analog converter (DAC) unit, and the operations further include: Through the digital-to-analog converter unit, a second plurality of modulator control signals are generated based on the first converted digital output vector.

實施例199:如實施例195至198中任意一者之計算系統,其中第一單元包括數位類比轉換器(DAC)單元,人工神經網路計算請求更包括第二多個神經網路權重,並且其中操作更包括:基於第一多個數位輸出的獲得,透過數位類比轉換器單元基於第二多個神經網路權重產生第二多個權重控制訊號。 Embodiment 199: The computing system of any one of embodiments 195 to 198, wherein the first unit includes a digital-to-analog converter (DAC) unit, the artificial neural network calculation request further includes a second plurality of neural network weights, and The operation further includes: based on obtaining the first plurality of digital outputs, generating a second plurality of weight control signals based on a second plurality of neural network weights through a digital-to-analog converter unit.

實施例200:如實施例199之計算系統,其中第一多個神經網路權重和第二多個神經網路權重對應人工神經網路的不同層。 Embodiment 200: The computing system of Embodiment 199, wherein the first plurality of neural network weights and the second plurality of neural network weights correspond to different layers of the artificial neural network.

實施例201:如實施例195至200中任意一者之計算系統,其中第一單元包括數位類比轉換器(DAC)單元,並且輸入資料集更包括第二數位輸入向量,以及其中操作更包括:透過數位類比轉換器單元,基於第二數位輸入向量產生第二多個調變器控制訊號;從類比數位轉換器單元得到對應矩陣乘法單元的類比輸出向量的第二多個數位輸出,第二多個數位輸出形成第二數位輸出向量;對第二數位輸出向量執行非線性轉換以產生第二轉換數位輸出向量; 在記憶體單元中儲存第二轉換數位輸出向量;以及輸出基於第一轉換數位輸出向量和第二轉換數位輸出向量所產生的人工神經網路輸出,其中矩陣乘法單元的類比輸出向量可由基於第二多個調變器控制訊號所產生的第二光輸入向量產生,第二光輸入向量由矩陣乘法單元基於首先提到的權重控制訊號轉換。 Embodiment 201: The computing system of any one of embodiments 195 to 200, wherein the first unit includes a digital-to-analog converter (DAC) unit, and the input data set further includes a second digital input vector, and wherein the operations further include: Generate a second plurality of modulator control signals based on the second digital input vector through the digital-to-analog converter unit; obtain a second plurality of digital outputs corresponding to the analog output vectors of the matrix multiplication unit from the analog-to-digital converter unit, and obtain the second plurality of modulator control signals based on the second digital input vector. digital outputs to form a second digital output vector; performing a nonlinear transformation on the second digital output vector to generate a second transformed digital output vector; storing the second converted digital output vector in the memory unit; and outputting an artificial neural network output generated based on the first converted digital output vector and the second converted digital output vector, wherein the analog output vector of the matrix multiplication unit can be generated based on the second converted digital output vector. A second light input vector generated by the plurality of modulator control signals is generated, and the second light input vector is converted by the matrix multiplication unit based on the first mentioned weight control signal.

實施例202:如實施例174至201中任意一者之計算系統,其中計算系統包括記憶體單元,記憶體單元被配置以儲存輸入資料集和神經網路權重,並且第二單元包括類比數位轉換器(ADC)單元,以及計算系統更包括:類比非線性單元,設置在矩陣乘法單元與類比數位轉換器單元之間,類比非線性單元可被配置以從矩陣乘法單元接收複數輸出電壓、應用非線性傳遞函數、以及輸出複數轉換輸出電壓至類比數位轉換器單元,其中控制器的積體電路執行的操作可更包括:從類比數位轉換器單元得到對應轉換輸出電壓的第一多個轉換數位輸出電壓,第一多個轉換數位輸出電壓形成第一轉換數位輸出向量;以及在記憶體單元中儲存第一轉換數位輸出向量。 Embodiment 202: The computing system of any one of embodiments 174 to 201, wherein the computing system includes a memory unit configured to store the input data set and the neural network weights, and the second unit includes an analog-to-digital conversion The converter (ADC) unit, and the computing system further includes: an analog nonlinear unit, which is disposed between the matrix multiplication unit and the analog-to-digital converter unit. The analog nonlinear unit can be configured to receive a complex output voltage from the matrix multiplication unit, apply non-linear linear transfer function, and outputting the complex conversion output voltage to the analog-to-digital converter unit, wherein the operations performed by the integrated circuit of the controller may further include: obtaining the first plurality of conversion digital outputs corresponding to the conversion output voltage from the analog-to-digital converter unit voltage, the first plurality of converted digital output voltages forming a first converted digital output vector; and storing the first converted digital output vector in the memory unit.

實施例203:如實施例174至202中任意一者之計算系統,其中控制器的積體電路被配置以以產生大於或等於8GHz的頻率的第一多個調變器控制訊號。 Embodiment 203: The computing system of any one of embodiments 174-202, wherein the integrated circuit of the controller is configured to generate a first plurality of modulator control signals at a frequency greater than or equal to 8 GHz.

實施例204:如實施例174至190中任意一者之計算系統,其中第一單元包括數位類比轉換器(DAC)單元,第二單元可包括類比數位轉換器(ADC)單元,矩陣乘法單元包括:光矩陣乘法單元,耦接至光調變器和數位類比轉換器單元,光矩陣乘法單元被配置以基於權重控制訊號將光輸入向量轉換成光輸出向量;以及光偵測單元,耦接至光矩陣乘法單元,並且被配置以產生對應光輸出向量的複數輸出電壓。 Embodiment 204: The computing system of any one of embodiments 174 to 190, wherein the first unit includes a digital-to-analog converter (DAC) unit, the second unit may include an analog-to-digital converter (ADC) unit, and the matrix multiplication unit includes : the optical matrix multiplication unit, coupled to the optical modulator and the digital-to-analog converter unit, the optical matrix multiplication unit configured to convert the optical input vector into the optical output vector based on the weight control signal; and the optical detection unit, coupled to The light matrix multiplication unit is configured to generate a complex output voltage corresponding to the light output vector.

實施例205:如實施例204之計算系統,更包括:類比記憶體單元,被設置在DAC單元與光調變器之間,類比記憶體單元被配置以儲存複數類比電壓,並且輸出儲存的類比電壓;以及類比非線性單元,被設置在光偵測單元與ADC單元之間,類比非線性單元被配置以從光偵測單元接收輸出電壓、應用非線性傳遞函數、以及輸出複數轉換輸出電壓。 Embodiment 205: The computing system of Embodiment 204 further includes: an analog memory unit disposed between the DAC unit and the light modulator, the analog memory unit is configured to store a complex analog voltage and output the stored analog voltage. voltage; and an analog nonlinear unit disposed between the light detection unit and the ADC unit, the analog nonlinear unit configured to receive an output voltage from the light detection unit, apply a nonlinear transfer function, and output a complex conversion output voltage.

實施例206:如實施例205之計算系統,其中類比記憶體單元包括複數電容。 Embodiment 206: The computing system of embodiment 205, wherein the analog memory unit includes a complex capacitor.

實施例207:如實施例205或206之計算系統,其中類比記憶體單元被配置以接收和儲存類比非線性單元的轉換輸出電壓,並且將儲存的轉換輸出電壓輸出至光調變器,以及操作可更包括: 基於產生第一多個調變器控制訊號和第一多個權重控制訊號,在類比記憶體單元中儲存類比非線性單元的轉換輸出電壓;透過類比記憶體單元輸出儲存的轉換輸出電壓;從類比數位轉換器單元得到第二多個轉換數位輸出電壓,第二多個轉換數位輸出電壓形成第二轉換數位輸出向量;以及在記憶體單元中儲存第二轉換數位輸出向量。 Embodiment 207: The computing system of embodiment 205 or 206, wherein the analog memory unit is configured to receive and store the converted output voltage of the analog nonlinear unit, and output the stored converted output voltage to the light modulator, and operate May include: Based on generating the first plurality of modulator control signals and the first plurality of weight control signals, the conversion output voltage of the analog nonlinear unit is stored in the analog memory unit; the stored conversion output voltage is output through the analog memory unit; from the analog memory unit The digital converter unit obtains a second plurality of converted digital output voltages, and the second plurality of converted digital output voltages form a second converted digital output vector; and stores the second converted digital output vector in the memory unit.

實施例208:如實施例204之計算系統,其中計算系統可包括記憶體單元,被配置以儲存輸入資料集和神經網路權重,並且人工神經網路計算請求的輸入資料集可包括複數數位輸入向量,其中光源被配置以產生複數波長,其中光調變器包括:複數光調變器組,被配置以產生複數光輸入向量,每一個光調變器組對應一個波長,並且產生具有相應波長的相應光輸入向量;以及光多路複用器,被配置以將光輸入向量組合成包括波長的組合光輸入向量,其中光偵測單元可更被配置以多路分解波長,並且產生複數多路分解輸出電壓,以及其中操作包括: 從類比數位轉換器單元得到複數數位多路分解光輸出,數位多路分解光輸出形成複數第一數位輸出向量,其中每一個第一數位輸出向量對應一個波長;對每一個第一數位輸出向量執行非線性轉換,以產生複數轉換第一數位輸出向量;以及在記憶體單元中儲存轉換第一數位輸出向量,其中每一個數位輸入向量對應一個光輸入向量。 Embodiment 208: The computing system of embodiment 204, wherein the computing system may include a memory unit configured to store an input data set and a neural network weight, and the input data set requested by the artificial neural network calculation may include a plurality of digit inputs. A vector, wherein the light source is configured to generate a complex number of wavelengths, wherein the light modulator includes: a complex number of light modulator groups configured to generate a complex number of light input vectors, each light modulator group corresponding to a wavelength, and generating a light having a corresponding wavelength corresponding optical input vectors; and an optical multiplexer configured to combine the optical input vectors into a combined optical input vector including wavelengths, wherein the light detection unit may be further configured to demultiplex the wavelengths and generate a complex multiplex path decomposes the output voltage, and operations therein include: The complex digital demultiplexed light output is obtained from the analog-to-digital converter unit, and the digital demultiplexed light output forms a complex first digital output vector, where each first digital output vector corresponds to a wavelength; execute for each first digital output vector nonlinear conversion to generate a complex converted first digital output vector; and storing the converted first digital output vector in a memory unit, wherein each digital input vector corresponds to an optical input vector.

實施例209:如實施例174之計算系統,其中計算系統包括記憶體單元,被配置以儲存輸入資料集和神經網路權重,第二單元包括類比數位轉換器(ADC)單元,並且人工神經網路計算請求可包括複數數位輸入向量,其中光源被配置以產生複數波長,其中光調變器包括:複數光調變器組,被配置以產生複數光輸入向量,每一個光調變器組對應一個波長者,並且產生具有相應波長的相應光輸入向量;以及光多路複用器,被配置以將光輸入向量組合成包括波長的組合光輸入向量,以及操作可包括:從類比數位轉換器單元得到對應光輸出向量的第一多個數位光輸出,光輸出向量包括波長,第一多個數位光輸出形成第一數位輸出向量; 對第一數位輸出向量執行非線性轉換,以產生第一轉換數位輸出向量;以及在記憶體單元中上述第一轉換數位輸出向量。 Embodiment 209: The computing system of embodiment 174, wherein the computing system includes a memory unit configured to store the input data set and the neural network weights, the second unit includes an analog-to-digital converter (ADC) unit, and the artificial neural network The path calculation request may include a complex digital input vector, wherein the light source is configured to generate a complex number of wavelengths, and wherein the optical modulators include: a complex optical modulator group configured to generate a complex optical input vector, each optical modulator group corresponding to one wavelength, and generating a corresponding optical input vector having a corresponding wavelength; and an optical multiplexer configured to combine the optical input vectors into a combined optical input vector including the wavelength, and the operations may include: from the analog-to-digital converter The unit obtains a first plurality of digital light outputs corresponding to a light output vector, the light output vector includes a wavelength, and the first plurality of digital light outputs form a first digital output vector; Performing a non-linear transformation on the first digital output vector to generate a first transformed digital output vector; and the first transformed digital output vector in the memory unit.

實施例210:如實施例174至209中任意一者之計算系統,其中第一單元包括數位類比轉換器(DAC)單元,第二單元可包括類比數位轉換器(ADC)單元,並且數位類比轉換器單元可包括:1位元數位類比轉換器子單元,被配置以產生複數1位元調變器控制訊號,其中類比數位轉換器單元的解析度可為1位元,其中第一數位輸入向量的解析度可為N位元,以及其中操作更包括:將第一數位輸入向量分解為N個1位元輸入向量,N個1位元輸入向量之每一者對應第一數位輸入向量的N位元之一者;透過1位元數位類比轉換器子單元產生對應N個1位元輸入向量的N個1位元調變器控制訊號的序列;從類比數位轉換器單元得到對應N個1位元調變器控制訊號的序列的N個數位1位元光輸出的序列;從N個數位1位元光輸出的序列建構N位元數位輸出向量; 對建構的N位元數位輸出向量執行非線性轉換,以產生轉換N位元數位輸出向量;以及在記憶體單元中儲存轉換N位元數位輸出向量。 Embodiment 210: The computing system of any one of embodiments 174 to 209, wherein the first unit includes a digital-to-analog converter (DAC) unit, the second unit may include an analog-to-digital converter (ADC) unit, and the digital-to-analog converter The converter unit may include: a 1-bit digital-to-analog converter subunit configured to generate a complex 1-bit modulator control signal, wherein the resolution of the analog-to-digital converter unit may be 1 bit, wherein the first digital input vector The resolution may be N bits, and the operation further includes: decomposing the first digit input vector into N 1-bit input vectors, each of the N 1-bit input vectors corresponding to N of the first digit input vector One of the bits; a sequence of N 1-bit modulator control signals corresponding to N 1-bit input vectors is generated through the 1-bit digital-to-analog converter subunit; the corresponding N 1s are obtained from the analog-to-digital converter unit A sequence of N digital 1-bit light outputs of a sequence of bit modulator control signals; constructing an N-bit digital output vector from a sequence of N digital 1-bit light outputs; Perform a non-linear transformation on the constructed N-bit digital output vector to generate a transformed N-bit digital output vector; and store the transformed N-bit digital output vector in a memory unit.

實施例211:如實施例174至210中任意一者之計算系統,其中計算系統包括記憶體單元,被配置以儲存輸入資料集和神經網路權重,並且記憶體單元包括:數位輸入向量記憶體,被配置以儲存第一數位輸入向量,並且包括至少一靜態隨機存取記憶體;以及神經網路權重記憶體,被配置以儲存神經網路權重,並且包括至少一動態隨機存取記憶體。 Embodiment 211: The computing system of any one of embodiments 174-210, wherein the computing system includes a memory unit configured to store the input data set and the neural network weights, and the memory unit includes: a digital input vector memory , is configured to store the first digital input vector and includes at least one static random access memory; and the neural network weight memory is configured to store the neural network weights and includes at least one dynamic random access memory.

實施例212:如實施例174至211中任意一者之計算系統,其中第一單元包括數位類比轉換器(DAC)單元,數位類比轉換器單元包括:第一數位類比轉換器子單元,被配置以產生調變器控制訊號;以及第二數位類比轉換器子單元,被配置以產生權重控制訊號,其中第一數位類比轉換器子單元和第二數位類比轉換器子單元是不同的。 Embodiment 212: The computing system of any one of embodiments 174 to 211, wherein the first unit includes a digital-to-analog converter (DAC) unit, the digital-to-analog converter unit includes: a first digital-to-analog converter subunit, configured to generate a modulator control signal; and a second digital-to-analog converter subunit configured to generate a weight control signal, wherein the first digital-to-analog converter subunit and the second digital-to-analog converter subunit are different.

實施例213:如實施例174至212中任意一者之計算系統,其中光源包括:雷射源,被配置以產生光;以及 光功率分離器,被配置以將由雷射源所產生的光分成光輸出,其中每一個光輸出具有大抵相同的功率。 Embodiment 213: The computing system of any one of embodiments 174-212, wherein the light source includes: a laser source configured to generate light; and An optical power splitter is configured to split light generated by the laser source into optical outputs, each optical output having approximately the same power.

實施例214:如實施例174至213中任意一者之計算系統,其中光調變器包括MZI涉調變器、環形共振調變器或電吸收調變器中的一個。 Embodiment 214: The computing system of any one of embodiments 174 to 213, wherein the optical modulator includes one of an MZI modulator, a ring resonance modulator, or an electroabsorption modulator.

實施例215:如實施例204之計算系統,其中光偵測單元包括:複數光偵測器;以及複數放大器,被配置以將由光偵測器所產生的光電流轉換成輸出電壓。 Embodiment 215: The computing system of Embodiment 204, wherein the light detection unit includes: a plurality of light detectors; and a plurality of amplifiers configured to convert the photocurrent generated by the light detector into an output voltage.

實施例216:如實施例174至215中任意一者之計算系統,其中積體電路是特殊應用積體電路。 Embodiment 216: The computing system of any one of embodiments 174-215, wherein the integrated circuit is a special application integrated circuit.

實施例217:如實施例174和191至194中任意一者之計算系統,包括複數光波導,光波導耦接在光調變器與矩陣乘法單元之間,其中光輸入向量包括一組多個輸入值,一組多個輸入值被編碼在由光波導所承載的相應光訊號上,並且由一個光波導者所承載的每一個光訊號包括具有共同波長的光波,共同波長於所有光訊號大抵相同。 Embodiment 217: The computing system of any one of embodiments 174 and 191 to 194, including a complex optical waveguide coupled between an optical modulator and a matrix multiplication unit, wherein the optical input vector includes a set of multiple Input value, a set of multiple input values is encoded on the corresponding optical signal carried by the optical waveguide, and each optical signal carried by an optical waveguide includes light waves with a common wavelength, and the common wavelength is approximately the same in all optical signals. same.

實施例218:如實施例191至194和217中任意一者之計算系統,其中複製模組包括具有光分離器的至少一複製模組,光分離器在輸入端口將光波的功率的既定比例發送至第一輸出端 口,並且在輸入端口將光波的功率的剩餘比例發送至第二輸出端口。 Embodiment 218: The computing system of any one of embodiments 191 to 194 and 217, wherein the replica module includes at least one replica module having an optical splitter that transmits a determined proportion of the power of the light wave at the input port. to the first output port, and the remaining proportion of the power of the light wave is sent to the second output port at the input port.

實施例219:如實施例218之計算系統,其中光分離器包括波導光分離器,波導光分離器將由輸入光波導所引導的光波的功率的既定比例發送至第一輸出光波導,並且將由輸入光波導所引導的光波的功率的剩餘比例發送至第二輸出光波導。 Embodiment 219: The computing system of Embodiment 218, wherein the optical splitter includes a waveguide optical splitter that sends a determined proportion of the power of the optical wave guided by the input optical waveguide to the first output optical waveguide and is The remaining proportion of the power of the light wave guided by the optical waveguide is sent to the second output optical waveguide.

實施例220:如實施例219之計算系統,其中輸入光波導的引導模式被絕熱地耦接至第一輸出光波導和第二輸出光波導中之每一者的複數引導模式。 Embodiment 220: The computing system of Embodiment 219, wherein the guided mode of the input optical waveguide is adiabatically coupled to the complex guided modes of each of the first and second output optical waveguides.

實施例221:如實施例218至220中任意一者之計算系統,其中光分離器包括光束分離器,光束分離器包括至少一表面,其在輸入端口傳輸光波的功率的既定比例,並且在輸入端口反射光波的功率的剩餘比例。 Embodiment 221: The computing system of any one of embodiments 218 to 220, wherein the optical splitter includes a beam splitter including at least one surface that transmits a determined proportion of the power of the light wave at the input port, and at the input port The remaining fraction of the power of the light wave reflected by the port.

實施例222:如實施例217至221中任意一者之計算系統,其中至少一光波導包括耦接至光耦合器的光纖,光耦合器將光纖的引導模式耦接至自由空間傳播模式。 Embodiment 222: The computing system of any one of embodiments 217-221, wherein at least one optical waveguide includes an optical fiber coupled to an optical coupler that couples a guided mode of the optical fiber to a free space propagation mode.

實施例223:如實施例174、191至194和217至222中任意一者之計算系統,其中乘法模組包括至少一相干敏感乘法模組,相干敏感乘法模組被配置以基於複數光波之間的干涉,使用光幅度調變將第一子集的一或多個光訊號乘以一或多個矩陣元素值,光波具有相干長度,相干長度至少與通過相干敏感乘法模組的傳播距離一樣長。 Embodiment 223: The computing system of any one of embodiments 174, 191 to 194, and 217 to 222, wherein the multiplication module includes at least one coherence sensitive multiplication module, the coherence sensitive multiplication module configured to interference using optical amplitude modulation to multiply one or more optical signals of a first subset by one or more matrix element values, the light waves having a coherence length that is at least as long as the propagation distance through the coherence sensitive multiplication module .

實施例224:如實施例223之計算系統,其中相干敏感乘法模組包括馬赫曾德爾干涉儀(MZI),馬赫曾德爾干涉儀將輸入光波導所引導的光波分成馬赫曾德爾干涉儀的第一光波導臂和馬赫曾德爾干涉儀的第二光波導臂,第一光波導臂包括相位移器,相位移器相對於第二光波導臂的相位延遲產生相對相位移,並且馬赫曾德爾干涉儀將來自第一光波導臂和第二光波導臂的複數光波組合成至少一輸出光波導。 Embodiment 224: The computing system of Embodiment 223, wherein the coherence-sensitive multiplication module includes a Mach-Zehnder interferometer (MZI), which divides the light waves guided by the input optical waveguide into the first The optical waveguide arm and the second optical waveguide arm of the Mach-Zehnder interferometer, the first optical waveguide arm includes a phase shifter, the phase shifter generates a relative phase shift with respect to the phase delay of the second optical waveguide arm, and the Mach-Zehnder interferometer The plurality of light waves from the first optical waveguide arm and the second optical waveguide arm are combined into at least one output optical waveguide.

實施例225:如實施例224之計算系統,其中MZI將來自第一光波導臂和第二光波導臂的複數光波組合成第一輸出光波導和第二輸出光波導中的每一者,第一光偵測器從第一輸出光波導接收光波以產生第一光電流,第二光偵測器從第二輸出光波導接收光波以產生第二光電流,並且相干敏感乘法模組的結果包括第一光電流與第二光電流之間的差值。 Embodiment 225: The computing system of Embodiment 224, wherein the MZI combines the complex light waves from the first optical waveguide arm and the second optical waveguide arm into each of the first output optical waveguide and the second output optical waveguide, A photodetector receives a light wave from the first output optical waveguide to generate a first photocurrent, a second photodetector receives a light wave from the second output optical waveguide to generate a second photocurrent, and the result of the coherent sensitive multiplication module includes The difference between the first photocurrent and the second photocurrent.

實施例226:如實施例223至225中任意一者之計算系統,其中相干敏感乘法模組包括一或多個環形共振器,環形共振器包括耦接至第一光波導的至少一環形共振器和耦接至第二光波導的至少一環形共振器。 Embodiment 226: The computing system of any one of embodiments 223 to 225, wherein the coherence sensitive multiplication module includes one or more ring resonators, the ring resonators including at least one ring resonator coupled to the first optical waveguide and at least one ring resonator coupled to the second optical waveguide.

實施例227:如實施例226之計算系統,其中第一光偵測器接收來自第一光波導的光波,以產生第一光電流,第二光偵測器接收來自第二光波導的光波,以產生第二光電流,並且相干敏感乘法模組的結果包括第一光電流與第二光電流之間的差值。 Embodiment 227: The computing system of Embodiment 226, wherein the first photodetector receives the light wave from the first optical waveguide to generate the first photocurrent, and the second photodetector receives the light wave from the second optical waveguide, to generate a second photocurrent, and the result of the coherent sensitive multiplication module includes a difference between the first photocurrent and the second photocurrent.

實施例228:如實施例174、191至194和217至227中任意一者之計算系統,其中乘法模組包括至少一相干非敏感乘法模組,相干非敏感乘法模組被配置以基於光波內的能量吸收,使用光幅度調變將第一子集的一或多個光訊號乘以一或多個矩陣元素值。 Embodiment 228: The computing system of any one of embodiments 174, 191 to 194, and 217 to 227, wherein the multiplication module includes at least one coherent insensitive multiplication module, the coherent insensitive multiplication module configured to For energy absorption, optical amplitude modulation is used to multiply one or more optical signals of the first subset by one or more matrix element values.

實施例229:如實施例228之計算系統,其中相干非敏感乘法模組包括電吸收調變器。 Embodiment 229: The computing system of embodiment 228, wherein the coherent insensitive multiplication module includes an electroabsorption modulator.

實施例230:如實施例174、191至194和217至229中任意一者之計算系統,其中一或多個求和模組包括具有以下部件的至少一求和模組:(1)二或多個輸入導體,每一個輸入導體以輸入電流的形式承載電訊號,輸入電流的幅度表示相應一個乘法模組的相應結果,以及(2)至少一輸出導體,輸出導體承載表示輸出電流形式的相應結果的總和的電訊號,輸出電流與輸入電流之總和成比例。 Embodiment 230: The computing system of any one of embodiments 174, 191-194, and 217-229, wherein the one or more summation modules include at least one summation module having the following components: (1) two or A plurality of input conductors, each input conductor carrying an electrical signal in the form of an input current, the amplitude of the input current representing a corresponding result of a multiplication module, and (2) at least one output conductor, the output conductor carrying a corresponding signal in the form of an output current The resulting sum of electrical signals, the output current is proportional to the sum of the input currents.

實施例231:如實施例230之計算系統,其中二或多個輸入導體和輸出導體包括複數導線,其在導線之間的一或多個接點相遇,並且輸出電流大抵等於輸入電流之總和。 Embodiment 231: The computing system of embodiment 230, wherein the two or more input conductors and the output conductors include a plurality of conductors meeting at one or more junctions between the conductors, and the output current is substantially equal to the sum of the input currents.

實施例232:如實施例230或231之計算系統,其中輸入電流的至少一第一輸入電流在至少一光電流的形式提供,光電流由至少一光偵測器產生,光偵測器接收由乘法模組的第一乘法模組所產生的光訊號。 Embodiment 232: The computing system of embodiment 230 or 231, wherein at least a first input current of the input current is provided in the form of at least one photocurrent, the photocurrent is generated by at least one photodetector, and the photodetector receives The optical signal generated by the first multiplication module of the multiplication module.

實施例233:如實施例232之計算系統,其中第一輸入電流在兩個光電流之間的差值的形式提供,兩個光電流由不同相應光偵測器產生,光偵測器接收由第一乘法模組所產生的不同相應光訊號。 Embodiment 233: The computing system of embodiment 232, wherein the first input current is provided in the form of a difference between two photocurrents, the two photocurrents are generated by different corresponding photodetectors, and the photodetectors receive Different corresponding optical signals generated by the first multiplication module.

實施例234:如實施例174至233中任意一者之計算系統,其中一或多個光訊號的第一子集的副本之一者由單一光訊號組成,其中單一光訊號上的一個輸入值被編碼。 Embodiment 234: The computing system of any one of embodiments 174-233, wherein one of the copies of the first subset of the one or more optical signals consists of a single optical signal, wherein an input value on the single optical signal is encoded.

實施例235:如實施例234之計算系統,其中對應第一子集的副本的乘法模組將編碼的輸入值乘以單一矩陣元素值。 Embodiment 235: The computing system of Embodiment 234, wherein the multiplication module corresponding to the copy of the first subset multiplies the encoded input value by a single matrix element value.

實施例236:如實施例174、191至194和217至235中任意一者之計算系統,其中一或多個光訊號的第一子集的副本之一者包括的光訊號多於一個,並且少於所有光訊號的數量,其中光訊號的多個輸入值被編碼。 Embodiment 236: The computing system of any of embodiments 174, 191-194, and 217-235, wherein one of the copies of the first subset of the one or more optical signals includes more than one optical signal, and Less than the number of all optical signals for which multiple input values are encoded.

實施例237:如實施例236之計算系統,其中對應第一子集的副本的乘法模組將編碼的輸入值乘以不同的相應矩陣元素值。 Embodiment 237: The computing system of embodiment 236, wherein the multiplication module corresponding to the copy of the first subset multiplies the encoded input value by a different corresponding matrix element value.

實施例238:如實施例237之計算系統,其中對應一或多個光訊號的第一子集的不同相應副本的不同乘法模組被包含在不同裝置,不同裝置進行光學通訊以在不同裝置之間傳輸一或多個光訊號的第一子集的副本之一者。 Embodiment 238: The computing system of Embodiment 237, wherein different multiplication modules corresponding to different corresponding copies of the first subset of the one or more optical signals are included in different devices, and the different devices perform optical communication between the different devices. one of the copies of the first subset of one or more optical signals.

實施例239:如實施例174、191至194和217至238中任意一者之計算系統,其中光波導的二或多個、複製模組的二或 多個、乘法模組的二或多個、以及一或多個求和模組的至少一者被設置在公共裝置的基板上。 Embodiment 239: The computing system of any one of embodiments 174, 191 to 194, and 217 to 238, wherein two or more of the optical waveguides, two or more of the replica modules At least one of a plurality of, two or more multiplication modules, and one or more summation modules is disposed on a substrate of a common device.

實施例240:如實施例239之計算系統,其中裝置執行向量矩陣乘法,其中可提供輸入向量作為一組光訊號,並且可提供輸出向量作為一組電訊號。 Embodiment 240: The computing system of embodiment 239, wherein the device performs vector matrix multiplication, wherein the input vectors are provided as a set of optical signals and the output vectors are provided as a set of electrical signals.

實施例241:如實施例174、191至194和217至240中任意一者之計算系統,更包括累加器,累加器整合對應乘法模組或求和模組的輸出的輸入電訊號,其中可使用時域編碼來編碼輸入電信號,時域編碼在多個時槽的每一者內使用開關幅度調變,並且累加器可產生輸出電訊號,輸出電訊號以多於兩個幅度準位來編碼,幅度準位對應多個時槽上的時域編碼的不同佔空比。 Embodiment 241: The computing system as in any one of Embodiments 174, 191 to 194, and 217 to 240, further comprising an accumulator, the accumulator integrates the input electrical signal corresponding to the output of the multiplication module or the summation module, wherein The input electrical signal is encoded using time domain coding using switching amplitude modulation within each of a plurality of time slots, and the accumulator can generate an output electrical signal with more than two amplitude levels. Encoding, amplitude levels correspond to different duty cycles of time domain encoding on multiple time slots.

實施例242:如實施例174、191至194和217至241中任意一者之計算系統,其中乘法模組的二或多個之每一者對應一或多個光訊號的不同子集。 Embodiment 242: The computing system of any one of embodiments 174, 191-194, and 217-241, wherein each of the two or more multiplication modules corresponds to a different subset of the one or more optical signals.

實施例243:如實施例174、191至194和217至242中任意一者之計算系統,更包括用於一或多個光訊號的第二子集的每一個副本,與一或多個光訊號的第一子集中的光訊號不同,乘法模組被配置以使用光幅度調變將第二子集的一個或多個光訊號乘以一或多個矩陣元素值。 Embodiment 243: The computing system of any one of embodiments 174, 191 to 194, and 217 to 242, further comprising each replica of the second subset of the one or more optical signals, and the one or more optical signals. The optical signals in the first subset of signals are different, and the multiplication module is configured to multiply the one or more optical signals in the second subset by one or more matrix element values using optical amplitude modulation.

實施例244:計算系統,包括:記憶體單元,被配置以儲存資料集和複數神經網路權重;驅動器單元,被配置以產生複數調變器控制訊號; 光電處理器,包括:光源,被配置以提供複數光輸出;複數光調變器,耦接至光源和驅動器單元,光調變器被配置以基於調變器控制訊號,調變由光源所產生的光輸出,來產生光輸入向量;矩陣乘法單元,耦接至光調變器和驅動器單元,矩陣乘法單元被配置以基於複數權重控制訊號將光輸入向量轉換成類比輸出向量;以及比較器單元,耦接至矩陣乘法單元,並且被配置以將類比輸出向量轉換成複數數位1位元輸出;以及控制器,包括積體電路,被配置以執行以下操作:接收包括輸入資料集和第一多個神經網路權重的人工神經網路計算請求,其中輸入資料集包括具有N位元解析度的第一數位輸入向量;在記憶體單元中儲存輸入資料集和第一多個神經網路權重;將第一數位輸入向量分解為N個1位元輸入向量,每一個N個1位元輸入向量對應第一數位輸入向量的N位元中的一個;透過驅動器單元產生對應N個1位元輸入向量的N個1位元調變器控制訊號的序列; 從比較器單元得到對應N個1位元調變器控制訊號的序列的N個數位1位元輸出的序列;從N個數位1位元光輸出的序列建構N位元數位輸出向量;對建構的N位元數位輸出向量執行非線性轉換,以產生轉換N位元數位輸出向量;以及在記憶體單元中儲存轉換N位元數位輸出向量。 Embodiment 244: A computing system, including: a memory unit configured to store a data set and a complex neural network weight; a driver unit configured to generate a complex modulator control signal; An optoelectronic processor, including: a light source configured to provide a plurality of light outputs; a plurality of light modulators coupled to the light source and the driver unit, the light modulator being configured to control a signal based on the modulator, the modulation generated by the light source a light output to generate a light input vector; a matrix multiplication unit coupled to the light modulator and the driver unit, the matrix multiplication unit being configured to convert the light input vector into an analog output vector based on the complex weight control signal; and a comparator unit , coupled to the matrix multiplication unit and configured to convert the analog output vector into a complex digital 1-bit output; and a controller, including an integrated circuit, configured to perform the following operations: receive an input data set and a first plurality of An artificial neural network calculation request for neural network weights, wherein the input data set includes a first digital input vector with N-bit resolution; storing the input data set and the first plurality of neural network weights in the memory unit; The first digital input vector is decomposed into N 1-bit input vectors, each N 1-bit input vector corresponds to one of the N bits of the first digital input vector; the corresponding N 1-bit inputs are generated through the driver unit A sequence of N 1-bit modulator control signals of the vector; Obtain a sequence of N digital 1-bit outputs corresponding to a sequence of N 1-bit modulator control signals from the comparator unit; construct an N-bit digital output vector from the sequence of N digital 1-bit light outputs; construct performing a nonlinear conversion on the N-bit digital output vector to generate a converted N-bit digital output vector; and storing the converted N-bit digital output vector in a memory unit.

實施例245:如實施例244之計算系統,其中接收人工神經網路計算請求包括從通用電腦(general purpose computer)接收人工神經網路計算請求。 Embodiment 245: The computing system of embodiment 244, wherein receiving the artificial neural network calculation request includes receiving the artificial neural network calculation request from a general purpose computer.

實施例246:如實施例244之計算系統,其中驅動器單元被配置以產生權重控制訊號。 Embodiment 246: The computing system of embodiment 244, wherein the driver unit is configured to generate the weight control signal.

實施例247:如實施例244之計算系統,其中矩陣乘法單元包括:光矩陣乘法單元,耦接至光調變器和驅動器單元,光矩陣乘法單元被配置以基於權重控制訊號將光輸入向量轉換成光輸出向量;以及光偵測單元,耦接至光矩陣乘法單元,並且被配置以產生對應光輸出向量的複數輸出電壓。 Embodiment 247: The computing system of Embodiment 244, wherein the matrix multiplication unit includes: an optical matrix multiplication unit coupled to the optical modulator and the driver unit, the optical matrix multiplication unit being configured to convert the light input vector based on the weight control signal into a light output vector; and a light detection unit coupled to the light matrix multiplication unit and configured to generate a complex output voltage corresponding to the light output vector.

實施例248:如實施例244之計算系統,其中矩陣乘法單元包括:輸入波導陣列,用於接收光輸入向量; 光干涉單元,與輸入波導陣列光學通訊,用於執行將光輸入向量轉換成第二光訊號陣列的線性轉換;以及輸出波導陣列,與光干涉單元光學通訊,用於引導第二光訊號陣列,其中在輸入波導陣列中的至少一輸入波導透過光干涉單元與在輸出波導陣列中的每一個輸出波導光學通訊。 Embodiment 248: The computing system of Embodiment 244, wherein the matrix multiplication unit includes: an input waveguide array for receiving light input vectors; an optical interference unit in optical communication with the input waveguide array for performing linear conversion of the optical input vector into the second optical signal array; and an output waveguide array in optical communication with the optical interference unit for guiding the second optical signal array, At least one input waveguide in the input waveguide array is in optical communication with each output waveguide in the output waveguide array through the optical interference unit.

實施例249:如實施例248之計算系統,其中光干涉單元包括:複數互連MZI,互連MZI中的每一個MZI包括:第一相位移器,被配置以改變MZI的分離比;以及第二相位移器,被配置以位移MZI的一個輸出的相位,其中第一相位移器和第二相位移器可耦接至權重控制訊號。 Embodiment 249: The computing system of Embodiment 248, wherein the optical interference unit includes: a plurality of interconnected MZIs, each MZI of the interconnected MZIs including: a first phase shifter configured to change the separation ratio of the MZI; and A two-phase shifter is configured to shift a phase of an output of the MZI, wherein the first phase shifter and the second phase shifter can be coupled to the weight control signal.

實施例250:如實施例244之計算系統,其中矩陣乘法單元包括:複數複製模組,包括用於光輸入向量的一或多個光訊號的至少兩個子集中的每一者,一或多個複製模組的相應一組被配置以將一或多個光訊號的子集分成二或多個光訊號的副本;複數乘法模組,包括用於一或多個光訊號的第一子集的至少兩個副本中的每一者,相應的乘法模組被配置以使用光幅度調變將第一子集的一或多個光訊號乘以一或多個矩陣元素值;以及一或多個求和模組,包括用於二或多個乘法模組的結果,求和模組被配置以產生電訊號,電訊號表示二或多個乘法模組的結果的總和。 Embodiment 250: The computing system of embodiment 244, wherein the matrix multiplication unit includes: a complex replication module including one or more for each of at least two subsets of the one or more optical signals of the optical input vector A respective set of replication modules configured to divide a subset of one or more optical signals into two or more replicas of the optical signal; a complex multiplication module including a first subset for the one or more optical signals In each of the at least two copies, a corresponding multiplication module is configured to multiply the one or more optical signals of the first subset by one or more matrix element values using optical amplitude modulation; and one or more A summation module includes results for two or more multiplication modules, the summation module is configured to generate an electrical signal, and the electrical signal represents the sum of the results of the two or more multiplication modules.

實施例251:如實施例250之計算系統,其中至少一乘法模組包括光幅度調變器,光幅度調變器包括一個輸入端口和兩個輸出端口,並且從兩個輸出端口提供一對相關光訊號,使得相關光訊號的幅度之間的差值對應於將輸入值乘以有號矩陣元素值的結果。 Embodiment 251: The computing system of embodiment 250, wherein at least one multiplication module includes an optical amplitude modulator, the optical amplitude modulator includes an input port and two output ports, and provides a pair of correlation signals from the two output ports. optical signals such that the difference between the amplitudes of the associated optical signals corresponds to the result of multiplying the input value by the signed matrix element value.

實施例252:如實施例250或251之計算系統,其中矩陣乘法單元被配置以將光輸入向量乘以包括一或多個矩陣元素值的矩陣。 Embodiment 252: The computing system of embodiment 250 or 251, wherein the matrix multiplication unit is configured to multiply the light input vector by a matrix including one or more matrix element values.

實施例253:如實施例252之計算系統,其中一組多個輸出值被編碼在由一或多個求和模組所產生的相應電訊號上,並且一組多個輸出值中的輸出值表示輸出向量的元素,輸出向量藉由光輸入向量乘以矩陣產生。 Embodiment 253: The computing system of embodiment 252, wherein a set of a plurality of output values is encoded on a corresponding electrical signal generated by one or more summing modules, and the output value of the set of the plurality of output values is Represents the element of the output vector generated by multiplying the light input vector by a matrix.

實施例254:用於在具有矩陣乘法單元的系統中執行人工神經網路計算的計算方法,矩陣乘法單元被配置以基於複數權重控制訊號將光輸入向量轉換成類比輸出向量,計算方法包括:接收包括輸入資料集和第一多個神經網路權重的人工神經網路計算請求,其中輸入資料集包括第一數位輸入向量;在記憶體單元中儲存輸入資料集和第一多個神經網路權重;基於第一數位輸入向量產生第一多個調變器控制訊號,並且基於第一多個神經網路權重產生第一多個權重控制訊號;得到對應矩陣乘發單元的輸出向量的第一多個數位輸出,第一多個數位輸出形成第一數位輸出向量; 藉由控制器對第一數位輸出向量執行非線性轉換,以產生第一轉換數位輸出向量;在記憶體單元中儲存第一轉換數位輸出向量;以及藉由控制器輸出基於第一轉換數位輸出向量所產生的人工神經網路輸出。 Embodiment 254: A computing method for performing artificial neural network calculations in a system having a matrix multiplication unit configured to convert an optical input vector into an analog output vector based on a complex weight control signal, the computing method including: receiving An artificial neural network calculation request including an input data set and a first plurality of neural network weights, wherein the input data set includes a first digital input vector; storing the input data set and the first plurality of neural network weights in a memory unit ; Generate a first plurality of modulator control signals based on the first digital input vector, and generate a first plurality of weight control signals based on the first plurality of neural network weights; obtain a first plurality of output vectors corresponding to the matrix multiplication and generation unit; digital outputs, the first plurality of digital outputs forming a first digital output vector; performing a nonlinear conversion on the first digital output vector by the controller to generate the first converted digital output vector; storing the first converted digital output vector in the memory unit; and using the controller to output the first converted digital output vector based on The resulting artificial neural network output.

實施例255:如實施例254之計算方法,其中接收人工神經網路計算請求包括透過通訊通道從電腦接收人工神經網路計算請求。 Embodiment 255: The calculation method of Embodiment 254, wherein receiving the artificial neural network calculation request includes receiving the artificial neural network calculation request from the computer through the communication channel.

實施例256:如實施例254或255之計算方法,其中產生第一多個調變器控制訊號包括透過數位類比轉換器(DAC)單元產生第一多個調變器控制訊號。 Embodiment 256: The calculation method of embodiment 254 or 255, wherein generating the first plurality of modulator control signals includes generating the first plurality of modulator control signals through a digital-to-analog converter (DAC) unit.

實施例257:如實施例254至256中任意一者之計算方法,其中得到第一多個數位輸出包括從類比數位轉換器(ADC)單元得到第一多個數位輸出。 Embodiment 257: The computing method of any one of embodiments 254-256, wherein obtaining the first plurality of digital outputs includes obtaining the first plurality of digital outputs from an analog-to-digital converter (ADC) unit.

實施例258:如實施例257之計算方法,包括:將第一多個調變器控制訊號施加至耦接到光源和DAC單元的複數光調變器;以及使用光調變器基於調變器控制訊號調變由雷射單元所產生的光輸出,來產生光輸入向量。 Embodiment 258: The calculation method of Embodiment 257, including: applying a first plurality of modulator control signals to a plurality of optical modulators coupled to the light source and the DAC unit; and using the optical modulator based on the modulator The control signal modulates the light output generated by the laser unit to generate a light input vector.

實施例259:如實施例258之計算方法,其中矩陣乘法單元耦接至光調變器和DAC單元,並且計算方法包括: 使用矩陣乘法單元基於權重控制訊號將光輸入向量轉換成類比輸出向量。 Embodiment 259: The calculation method of Embodiment 258, wherein the matrix multiplication unit is coupled to the light modulator and the DAC unit, and the calculation method includes: A matrix multiplication unit is used to convert the optical input vector into an analog output vector based on the weighted control signal.

實施例260:如實施例259之計算方法,其中ADC單元耦接至矩陣乘法單元,並且計算方法包括:使用ADC單元將類比輸出向量轉換成第一多個數位輸出。 Embodiment 260: The calculation method of Embodiment 259, wherein the ADC unit is coupled to the matrix multiplication unit, and the calculation method includes: using the ADC unit to convert the analog output vector into the first plurality of digital outputs.

實施例261:如實施例259或260之計算方法,其中矩陣乘法單元包括耦接至光調變器和DAC單元的光矩陣乘法單元,將光輸入向量轉換成類比輸出向量包括使用光矩陣乘法單元基於權重控制訊號將光輸入向量轉換成光輸出向量,以及計算方法可括:使用耦接至光矩陣乘法單元的光偵測單元,產生對應光輸出向量的複數輸出電壓。 Embodiment 261: The calculation method of Embodiment 259 or 260, wherein the matrix multiplication unit includes an optical matrix multiplication unit coupled to the optical modulator and the DAC unit, and converting the optical input vector into the analog output vector includes using the optical matrix multiplication unit. The light input vector is converted into a light output vector based on the weight control signal, and the calculation method may include: using a light detection unit coupled to the light matrix multiplication unit to generate a complex output voltage corresponding to the light output vector.

實施例262:如實施例254之計算方法,包括:在輸入波導陣列接收光輸入向量;使用與輸入波導陣列光學通訊的光干涉單元,執行將光輸入向量轉換成第二光訊號陣列的線性轉換;以及使用與光干涉單元光學通訊的輸出波導陣列,引導第二光訊號陣列,其中在輸入波導陣列中的至少一輸入波導透過光干涉單元與在輸出波導陣列中的每一個輸出波導光學通訊。 Embodiment 262: The calculation method as in Embodiment 254, including: receiving the light input vector at the input waveguide array; using an optical interference unit in optical communication with the input waveguide array to perform linear conversion of the light input vector into the second optical signal array. ; and using an output waveguide array in optical communication with the optical interference unit to guide the second optical signal array, wherein at least one input waveguide in the input waveguide array is in optical communication with each output waveguide in the output waveguide array through the optical interference unit.

實施例263:如實施例262之計算方法,其中光干涉單元包括複數互連馬赫曾德爾干涉儀(MZI),互連MZI中的每一 個MZI可包括第一相位移器和第二相位移器,並且第一相位移器和第二相位移器可耦接至權重控制訊號,其中計算方法包括:使用第一相位移器改變MZI的分離比,以及使用第二相位移器位移MZI的一個輸出的相位。 Embodiment 263: The calculation method of Embodiment 262, wherein the optical interference unit includes a complex interconnected Mach-Zehnder interferometer (MZI), and each interconnected MZI The MZI may include a first phase shifter and a second phase shifter, and the first phase shifter and the second phase shifter may be coupled to the weight control signal, wherein the calculation method includes: using the first phase shifter to change the MZI separation ratio, and shifting the phase of one output of the MZI using a second phase shifter.

實施例264:如實施例258之計算方法,包括:對於光輸入向量的一或多個光訊號的至少兩個子集中的每一者,使用一或多個複製模組的相應一組將一或多個光訊號的子集分成二或多個光訊號的副本;對於一或多個光訊號的第一子集的至少兩個副本中的每一者,使用相應的乘法模組以使用光幅度調變將第一子集的一或多個光訊號乘以一或多個矩陣元素值;以及對於二或多個乘法模組的結果,使用求和模組以產生電訊號,電訊號表示二或多個乘法模組的結果的總和。 Embodiment 264: The calculation method of Embodiment 258, comprising: for each of at least two subsets of the one or more optical signals of the optical input vector, using a corresponding set of one or more replica modules to or a subset of the optical signal is divided into two or more copies of the optical signal; for each of the at least two copies of the first subset of the one or more optical signals, a corresponding multiplication module is used to use the optical signal Amplitude modulation multiplies one or more optical signals of the first subset by one or more matrix element values; and for the results of the two or more multiplication modules, using a summation module to generate an electrical signal, the electrical signal represents The sum of the results of two or more multiplication modules.

實施例265:如實施例264之計算方法,其中至少一乘法模組包括光幅度調變器,光幅度調變器包括一個輸入端口和兩個輸出端口,並且從兩個輸出端口提供一對相關光訊號,使得相關光訊號的幅度之間的差值對應於將輸入值乘以有號矩陣元素值的結果。 Embodiment 265: The calculation method of Embodiment 264, wherein at least one multiplication module includes an optical amplitude modulator, the optical amplitude modulator includes an input port and two output ports, and provides a pair of correlation signals from the two output ports. optical signals such that the difference between the amplitudes of the associated optical signals corresponds to the result of multiplying the input value by the signed matrix element value.

實施例266:如實施例264或265之計算方法,包括使用矩陣乘法單元將光輸入向量乘以包括一或多個矩陣元素值的矩陣。 Embodiment 266: The calculation method of embodiment 264 or 265, including using a matrix multiplication unit to multiply the light input vector by a matrix including one or more matrix element values.

實施例267:如實施例266之計算方法,包括在由一或多個求和模組所產生的相應電訊號上編碼一組多個輸出值,以及使用一組多個輸出值中的輸出值表示輸出向量的元素,光輸出向量藉由輸入向量乘以矩陣產生。 Embodiment 267: The calculation method of Embodiment 266, including encoding a set of multiple output values on corresponding electrical signals generated by one or more summing modules, and using an output value from the set of multiple output values. Represents the element of the output vector. The light output vector is generated by multiplying the input vector by the matrix.

實施例268:計算方法,包括:以電子格式提供輸入資訊;將至少一部分電子輸入資訊轉換成光輸入向量;基於矩陣乘法將光輸入向量光電地轉換成類比輸出向量;以及將非線性轉換電子地應用於類比輸出向量,以提供電子格式的輸出資訊。 Embodiment 268: A computing method, comprising: providing input information in an electronic format; converting at least a portion of the electronic input information into an optical input vector; optically converting the optical input vector into an analog output vector based on matrix multiplication; and electronically converting the nonlinear Applied to analog output vectors to provide output information in electronic format.

實施例269:如實施例268之計算方法,更包括:對於對應以電子格式所提供的輸出資訊的新電子輸入資訊,重複電光轉換、光電轉換以及電應用的非線性轉換。 Embodiment 269: The calculation method of Embodiment 268 further includes: repeating electro-optical conversion, photoelectric conversion, and electrically applied nonlinear conversion for new electronic input information corresponding to the output information provided in an electronic format.

實施例270:如實施例269之計算方法,其中用於初始光電轉換的矩陣乘法和重複光電轉換的矩陣乘法是相同的,並且對應人工神經網路的相同層。 Embodiment 270: The calculation method of Embodiment 269, wherein the matrix multiplication for the initial photoelectric conversion and the matrix multiplication for the repeated photoelectric conversion are the same and correspond to the same layer of the artificial neural network.

實施例271:如實施例269之計算方法,其中用於初始光電轉換的矩陣乘法和重複光電轉換的矩陣乘法是不同的,並且對應人工神經網路的不同層。 Embodiment 271: The calculation method of Embodiment 269, wherein the matrix multiplication for initial photoelectric conversion and the matrix multiplication for repeated photoelectric conversion are different and correspond to different layers of the artificial neural network.

實施例272:如實施例268之計算方法,更包括: 對於電子輸入資訊的不同部分,重複電光轉換、光電轉換以及電應用的非線性轉換,其中用於初始光電轉換的矩陣乘法和重複光電轉換的矩陣乘法是相同的,並且對應人工神經網路的第一層。 Embodiment 272: The calculation method is the same as that of Embodiment 268, further including: For different parts of the electronic input information, repeated electro-optical conversion, photoelectric conversion, and nonlinear conversion of electrical applications, where the matrix multiplication for the initial photoelectric conversion and the matrix multiplication for the repeated photoelectric conversion are the same, and correspond to the artificial neural network. One layer.

實施例273:如實施例272之計算方法,更包括:基於由人工神經網路的第一層所產生的用於電子輸入資訊的多個部分的電子輸出資訊,以電子格式提供電子中間資訊;以及對於電子中間資訊的每一個不同部分,重複電光轉換、光電轉換以及電應用的非線性轉換,其中用於初始光電轉換的矩陣乘法和與電子中間資訊的不同部分相關的重複光電轉換的矩陣乘法是相同的,並且對應人工神經網路的第二層。 Embodiment 273: The computing method of Embodiment 272, further comprising: providing electronic intermediate information in an electronic format based on electronic output information for multiple portions of electronic input information generated by the first layer of the artificial neural network; and for each different part of the electronic intermediate information, repeated electro-optical conversions, photoelectric conversions, and electrically applied nonlinear transformations, where matrix multiplications for the initial photoelectric conversions and matrix multiplications for the repeated photoelectric conversions associated with the different parts of the electronic intermediate information is the same and corresponds to the second layer of the artificial neural network.

實施例274:用於執行人工神經網路計算的計算方法,計算方法包括:第一單元,被配置以產生複數向量控制訊號,並且產生複數權重控制訊號;第二單元,被配置以基於向量控制訊號提供光輸入向量;矩陣乘法單元,耦接至第二單元和第一單元,矩陣乘法單元被配置以基於權重控制訊號將光輸入向量轉換成輸出向量;以及控制器,包括積體電路,被配置以執行以下操作: 接收包括輸入資料集和第一多個神經網路權重的人工神經網路計算請求,其中輸入資料集包括第一數位輸入向量;以及透過第一單元,基於第一數位輸入向量產生第一多個向量控制訊號,並且基於第一多個神經網路權重產生第一多個權重控制訊號;其中第一單元、第二單元、矩陣乘法單元以及控制器被用於在複數迭代中重複的光電處理循環,並且光電處理循環包括:(1)至少兩次光調變操作,以及(2)(a)電求和操作或(b)電儲存操作中之至少一者。 Embodiment 274: A calculation method for performing artificial neural network calculations. The calculation method includes: a first unit configured to generate a complex vector control signal and a complex weight control signal; a second unit configured to control based on the vector The signal provides an optical input vector; a matrix multiplication unit coupled to the second unit and the first unit, the matrix multiplication unit configured to convert the optical input vector into an output vector based on the weight control signal; and a controller, including an integrated circuit, is Configure to do the following: receiving an artificial neural network calculation request including an input data set and a first plurality of neural network weights, wherein the input data set includes a first digital input vector; and generating, through the first unit, a first plurality of neural network weights based on the first digital input vector vector control signals and generating a first plurality of weight control signals based on a first plurality of neural network weights; wherein the first unit, the second unit, the matrix multiplication unit and the controller are used for an optoelectronic processing cycle repeated in a plurality of iterations , and the photoelectric processing cycle includes: (1) at least two optical modulation operations, and (2) at least one of (a) electrical summing operations or (b) electrical storage operations.

實施例275:用於執行人工神經網路計算計算方法,計算方法包括:以電子格式提供輸入資訊;將至少一部分電子輸入資訊轉換成光輸入向量;以及使用一組神經網路權重,基於矩陣乘法將光輸入向量轉換成輸出向量;其中提供操作和轉換操作在光電處理循環中執行,使用不同相應組神經網路權重和不同相應輸入資訊,在複數迭代中重複光電處理循環,並且光電處理循環包括:(1)至少兩次光調變操作,以及(2)(a)電求和操作或(b)電儲存操作中之至少一者。 Embodiment 275: A method for performing artificial neural network calculations, the calculation method includes: providing input information in an electronic format; converting at least a portion of the electronic input information into optical input vectors; and using a set of neural network weights based on matrix multiplication Converting an optical input vector into an output vector; wherein operations and conversion operations are provided to be performed in a photoelectric processing loop using different corresponding sets of neural network weights and different corresponding input information, the photoelectric processing loop is repeated in a plurality of iterations, and the photoelectric processing loop includes (1) At least two optical modulation operations, and (2) at least one of (a) electrical summing operations or (b) electrical storage operations.

實施例276:計算系統,包括:第一單元,被配置以產生複數調變器控制訊號; 處理單元,包括:光源或端口,被配置以提供複數光輸出;第一組光調變器,耦接至光源或端口和第一單元,第一組光調變器中的複數光調變器被配置以基於與調變器控制訊號中的第一組調變器控制訊號相對應的複數數位輸入值,調變由光源或端口所提供的光輸出,來產生光輸入向量,光輸入向量包括複數光訊號;以及矩陣乘法單元,包括第二組光調變器,其中矩陣乘法單元耦接至第一單元,並且矩陣乘法單元被配置以基於與施加到第二組光調變器的調變器控制訊號中的第二組調變器控制訊號相對應的複數數位權重值,將光輸入向量轉換為類比輸出向量,其中第一組光調變器或第二組光調變器中的至少一者的至少一光調變器被配置以基於調變器控制訊號中的第一調變器控制訊號來調變光訊號,並且第一單元被配置以整形第一調變器控制訊號,以包括與幅度變化相關的帶寬增強,幅度變化與對應第一調變器控制訊號的複數連續數位值的一對應變化相關。 Embodiment 276: A computing system, including: a first unit configured to generate a complex modulator control signal; A processing unit including: a light source or port configured to provide a plurality of light outputs; a first set of light modulators coupled to the light source or port and the first unit, the plurality of light modulators in the first set of light modulators configured to modulate an optical output provided by the light source or port based on a plurality of digital input values corresponding to a first set of the modulator control signals to generate an optical input vector, the optical input vector comprising a complex optical signal; and a matrix multiplication unit including a second set of light modulators, wherein the matrix multiplication unit is coupled to the first unit, and the matrix multiplication unit is configured to perform based on modulation applied to the second set of light modulators The light input vector is converted into an analog output vector by using a complex digital weight value corresponding to the second group of modulator control signals in the modulator control signal, wherein at least one of the first group of light modulators or the second group of light modulators At least one optical modulator of one is configured to modulate the optical signal based on a first modulator control signal of the modulator control signals, and the first unit is configured to shape the first modulator control signal to Including bandwidth enhancement associated with amplitude changes associated with a corresponding change in a complex continuous digital value corresponding to the first modulator control signal.

實施例277:如實施例276之計算系統,更包括:第二單元,耦接至矩陣乘法單元,並且第二單元被配置以將類比輸出向量轉換成數位輸出向量;以及控制器,包括積體電路,被配置以執行以下操作: 接收人工神經網路計算請求,人工神經網路計算請求包括輸入資料集,輸入資料集包括第一數位輸入向量;接收第一多個神經網路權重;以及透過第一單元,基於第一數位輸入向量產生第一多個調變器控制訊號,並且基於第一多個神經網路權重產生第一多個權重控制訊號。 Embodiment 277: The computing system of embodiment 276, further comprising: a second unit coupled to the matrix multiplication unit, and the second unit is configured to convert the analog output vector into a digital output vector; and a controller, including an integrated circuit circuit, configured to perform the following operations: Receive an artificial neural network calculation request, the artificial neural network calculation request includes an input data set, the input data set includes a first digital input vector; receive a first plurality of neural network weights; and through the first unit, based on the first digital input The vector generates a first plurality of modulator control signals and a first plurality of weight control signals based on the first plurality of neural network weights.

實施例278:如實施例276或277之計算系統,其中第一單元包括數位類比轉換器(DAC)。 Embodiment 278: The computing system of embodiment 276 or 277, wherein the first unit includes a digital-to-analog converter (DAC).

實施例279:如實施例277之計算系統,更包括記憶體單元,被配置以儲存資料集和複數神經網路權重。 Embodiment 279: The computing system of Embodiment 277, further comprising a memory unit configured to store the data set and the complex neural network weights.

實施例280:如實施例279之計算系統,其中控制器的積體電路更被配置以執行包括在記憶體單元中儲存輸入資料集和第一多個神經網路權重的操作。 Embodiment 280: The computing system of embodiment 279, wherein the integrated circuit of the controller is further configured to perform operations including storing the input data set and the first plurality of neural network weights in the memory unit.

實施例281:如實施例277至280中任意一者之計算系統,其中控制器包括特殊應用積體電路(ASIC),以及接收人工神經網路計算請求的步驟包括從通用資料處理器接收人工神經網路計算請求。 Embodiment 281: The computing system of any one of embodiments 277 to 280, wherein the controller includes an application specific integrated circuit (ASIC), and the step of receiving the artificial neural network calculation request includes receiving the artificial neural network calculation request from the general purpose data processor. Network computing requests.

實施例282:如實施例277至281中任意一者之計算系統,其中第一單元、處理單元、第二單元以及控制器被設置在多晶片模組或積體電路中的至少一者上,以及接收人工神經網路計算請求的步驟包括從第二資料處理器接收人工神經網路計算請求,其中第二資料處理器在多晶片模組或積體 電路的外部,第二資料處理器透過通訊通道耦接至多晶片模組或積體電路,並且處理單元可以以比通訊通道的資料速率大至少一數量級的資料速率來處理資料。 Embodiment 282: The computing system of any one of embodiments 277 to 281, wherein the first unit, the processing unit, the second unit, and the controller are disposed on at least one of a multi-chip module or an integrated circuit, and the step of receiving the artificial neural network calculation request includes receiving the artificial neural network calculation request from a second data processor, wherein the second data processor is in the multi-chip module or integrated circuit Outside the circuit, the second data processor is coupled to the multi-chip module or integrated circuit through the communication channel, and the processing unit can process data at a data rate that is at least one order of magnitude greater than the data rate of the communication channel.

實施例283:如實施例277至282中任意一者之計算系統,其中第一單元、處理單元、第二單元以及控制器被用於在複數迭代中重複的光電處理循環,光電處理循環包括:(1)基於調變器控制訊號之至少一者的至少一第一光調變操作,以及基於權重控制訊號之至少一者的至少一第二光調變操作,以及(2)(a)電求和操作或(b)電儲存操作中之至少一者。 Embodiment 283: The computing system of any one of embodiments 277-282, wherein the first unit, the processing unit, the second unit, and the controller are used for an optoelectronic processing loop repeated in a plurality of iterations, the optoelectronic processing loop comprising: (1) at least a first optical modulation operation based on at least one of the modulator control signals, and at least a second optical modulation operation based on at least one of the weight control signals, and (2) (a) electrical At least one of a summation operation or (b) an electrical storage operation.

實施例284:如實施例283之計算系統,其中光電處理循環包括電儲存操作,並且電儲存操作使用耦接至控制器的記憶體單元來執行,其中藉由控制器所執行的操作更包括在記憶體單元中儲存輸入資料集和第一多個神經網路權重。 Embodiment 284: The computing system of Embodiment 283, wherein the photoelectric processing cycle includes electrical storage operations, and the electrical storage operations are performed using a memory unit coupled to the controller, wherein the operations performed by the controller further include The input data set and the first plurality of neural network weights are stored in the memory unit.

實施例285:如實施例283或284之計算系統,其中光電處理循環包括電求和操作,並且電求和操作使用在矩陣乘法單元內的電求和模組來執行,其中電求和模組被配置以產生對應類比輸出向量的元素的電流,電流表示光輸入向量的相應元素乘以相應神經網路權重的總和。 Embodiment 285: The computing system of embodiment 283 or 284, wherein the photoelectric processing loop includes an electrical summation operation, and the electrical summation operation is performed using an electrical summation module within the matrix multiplication unit, wherein the electrical summation module is configured to produce a current corresponding to an element of the analog output vector, the current representing the sum of the corresponding element of the optical input vector multiplied by the corresponding neural network weight.

實施例286:如實施例276至285中任意一者之計算系統,其中第一調變器控制訊號包括與複數既定幅度準位相關的類 比訊號,並且幅度準位之每一者與不同對應數位值相關。 Embodiment 286: The computing system of any one of embodiments 276-285, wherein the first modulator control signal includes a class associated with a complex predetermined amplitude level. ratio signal, and each of the amplitude levels is associated with a different corresponding digital value.

實施例287:如實施例286之計算系統,其中第一調變器控制訊號包括與既定幅度準位之兩者相關的類比訊號,並且幅度準位之每一者與不同對應二元值相關。 Embodiment 287: The computing system of embodiment 286, wherein the first modulator control signal includes an analog signal associated with two predetermined amplitude levels, and each of the amplitude levels is associated with a different corresponding binary value.

實施例288:如實施例287之計算系統,其中連續數位值包括在一系列二元值中的複數連續二元值。 Embodiment 288: The computing system of embodiment 287, wherein the consecutive digit values include complex consecutive binary values in a series of binary values.

實施例289:如實施例288之計算系統,其中控制器被配置以藉由增加與第一時間間隔相關的第一既定幅度準位和與第二時間間隔相關的第二既定幅度準位之間的幅度變化的大小,來整形第一調變器控制訊號,以包括用於第二時間間隔的初始部分的帶寬增強。 Embodiment 289: The computing system of embodiment 288, wherein the controller is configured to increase the amplitude between a first predetermined amplitude level associated with the first time interval and a second predetermined amplitude level associated with the second time interval. The magnitude of the change in amplitude shapes the first modulator control signal to include bandwidth enhancement for an initial portion of the second time interval.

實施例290:如實施例288或289之計算系統,其中一系列二元值用於確定用於根據不歸零(NRZ)調變模式來調變光訊號的第一調變器控制訊號的幅度準位。 Embodiment 290: The computing system of embodiment 288 or 289, wherein a series of binary values is used to determine the amplitude of the first modulator control signal for modulating the optical signal according to a non-return to zero (NRZ) modulation mode. accurate position.

實施例291:如實施例288至290中任意一者之計算系統,其中第一單元被配置以藉由在第二組光調變器中的第一調變器的二極體結構和串聯連接在二極體結構和提供第一調變器控制訊號的電路之間的電容之間泵浦電流,來整形第一調變器控制訊號,以包括帶寬增強,以及泵浦電流所傳輸的電荷量至少部分地基於在提供連續數位值的時間週期內的恆定電壓來確定。 Embodiment 291: The computing system of any one of embodiments 288 to 290, wherein the first unit is configured to be connected in series by a diode structure of the first modulator in the second set of optical modulators Pumping current between the diode structure and the capacitance of the circuit providing the first modulator control signal shapes the first modulator control signal to include bandwidth enhancement and the amount of charge transferred by the pump current Determined, at least in part, based on a constant voltage over a time period that provides successive digital values.

實施例292:計算裝置,包括:複數光波導,耦接至第一組光幅度調變器,其中使用第一組光 幅度調變器,在由光波導所承載的相應複數光訊號上編碼一組多個輸入值;複數複製模組,並且對於一或多個光訊號的至少兩個子集中的每一者,複製模組的一或多者的對應一組被配置以將一或多個光訊號的子集分成光訊號的二或多個副本;複數乘法模組,乘法模組之每一者包括第二組光幅度調變器的光幅度調變器,並且對於一或多個光訊號的第一子集的至少兩個副本中的每一者,乘法模組的對應一者被配置以使用第二組光幅度調變器的光幅度調變器將第一子集的一或多個光訊號乘以一或多個矩陣元素值;以及一或多個求和模組,並且對於乘法模組的二或多者的結果,求和模組的對應一者被配置以產生電訊號,電訊號表示乘法模組的二或多者的結果的總和;其中第一組光幅度調變器或第二組光幅度調變器中的至少一者的至少一光幅度調變器被配置以使用相對調變值的絕對值單調增加的功率,藉由調變值來調變光訊號。 Embodiment 292: A computing device comprising: a plurality of optical waveguides coupled to a first set of optical amplitude modulators, wherein the first set of optical an amplitude modulator encoding a set of a plurality of input values on a corresponding complex optical signal carried by an optical waveguide; a complex replication module and for each of at least two subsets of the one or more optical signals, replicating a corresponding group of one or more modules configured to divide one or more subsets of the optical signal into two or more copies of the optical signal; a plurality of multiplication modules, each of the multiplication modules including a second group an optical amplitude modulator, and for each of the at least two copies of the first subset of the one or more optical signals, a corresponding one of the multiplication modules is configured to use a second set The optical amplitude modulator of the optical amplitude modulator multiplies one or more optical signals of the first subset by one or more matrix element values; and one or more summation modules, and for two of the multiplication modules or the results of more than one, a corresponding one of the summing module is configured to generate an electrical signal, the electrical signal represents the sum of the results of two or more of the multiplication modules; wherein the first group of optical amplitude modulators or the second group At least one optical amplitude modulator of at least one of the optical amplitude modulators is configured to modulate the optical signal by the modulation value using monotonically increasing power relative to an absolute value of the modulation value.

實施例293:如實施例292之計算裝置,其中第一組光幅度調變器或第二組光幅度調變器中的至少一者的至少一光幅度調變器包括相干敏感光幅度調變器,相干敏感光幅度調變器被配置以基於複數光波之間的干涉,藉由調變值調變光訊號,光波具有相干長度,相干長度至少與通過相干敏感光幅度調變器的傳播距離一樣長。 Embodiment 293: The computing device of embodiment 292, wherein at least one optical amplitude modulator of at least one of the first set of optical amplitude modulators or the second set of optical amplitude modulators includes coherently sensitive optical amplitude modulation The coherent sensitive light amplitude modulator is configured to modulate the light signal by modulating the value based on the interference between complex light waves. The light waves have a coherence length that is at least as long as the propagation distance through the coherent sensitive light amplitude modulator. Same length.

實施例294:如實施例293之計算裝置,其中相干敏感光幅度調變器包括馬赫曾德爾干涉儀(MZI),馬赫曾德爾干涉儀將輸入光波導所引導的光波分成馬赫曾德爾干涉儀的第一光波導臂和馬赫曾德爾干涉儀的第二光波導臂,第一光波導臂包括主動相位移器,主動相位移器相對於第二光波導臂的相位延遲產生相對相位移,並且馬赫曾德爾干涉儀將來自第一光波導臂和第二光波導臂的複數光波組合成至少一輸出光波導。 Embodiment 294: The computing device of embodiment 293, wherein the coherently sensitive optical amplitude modulator includes a Mach-Zehnder interferometer (MZI) that separates light waves guided by the input optical waveguide into The first optical waveguide arm and the second optical waveguide arm of the Mach-Zehnder interferometer, the first optical waveguide arm includes an active phase shifter, the phase delay of the active phase shifter relative to the second optical waveguide arm generates a relative phase shift, and the Mach-Zehnder interferometer The Zehnder interferometer combines the plurality of light waves from the first optical waveguide arm and the second optical waveguide arm into at least one output optical waveguide.

實施例295:如實施例294之計算裝置,其中用於藉由調變值來調變光訊號的功率包括施加到主動相位移器的功率。 Embodiment 295: The computing device of embodiment 294, wherein the power used to modulate the optical signal by the modulation value includes power applied to the active phase shifter.

實施例296:如實施例292之計算裝置,其中編碼在相應光訊號上的一組多個輸入值中的複數輸入值表示與包括一或多個矩陣元素值的矩陣相乘的輸入向量的複數元素。 Embodiment 296: The computing device of embodiment 292, wherein a complex input value in a set of a plurality of input values encoded on a corresponding optical signal represents a complex number of an input vector multiplied by a matrix including one or more matrix element values. element.

實施例297:如實施例296之計算裝置,其中一組多個輸出值被編碼在由一或多個求和模組所產生的複數相應電訊號上,並且一組多個輸出值中的複數輸出值表示輸出向量的複數元素,輸出向量藉由輸入向量乘以矩陣產生。 Embodiment 297: The computing device of embodiment 296, wherein a plurality of output values are encoded on a plurality of corresponding electrical signals generated by one or more summing modules, and the plurality of complex numbers in the plurality of output values are The output value represents the complex element of the output vector, which is produced by multiplying the input vector by the matrix.

實施例298:如實施例292至297中任意一者之計算裝置,其中由光波導所承載的光訊號之每一者包括具有共同波長的光波,共同波長於所有光訊號大抵相同。 Embodiment 298: The computing device of any one of embodiments 292-297, wherein each of the optical signals carried by the optical waveguide includes an optical wave having a common wavelength, the common wavelength being substantially the same for all optical signals.

實施例299:如實施例292至297中任意一者之計算裝置,其中複製模組包括具有光分離器的至少一複製模組,光分離器在複製模組的輸入端口將光波的功率的既定比例發送至複製模組 的第一輸出端口,並且在複製模組的輸入端口將光波的功率的剩餘比例發送至複製模組的第二輸出端口。 Embodiment 299: The computing device of any one of embodiments 292 to 297, wherein the replica module includes at least one replica module having an optical splitter that converts a given amount of power of the light wave at an input port of the replica module. Proportion sent to copy module the first output port, and the remaining proportion of the power of the light wave is sent from the input port of the replication module to the second output port of the replication module.

實施例300:如實施例299之計算裝置,其中光分離器包括波導光分離器,波導光分離器將由複製模組的輸入光波導所引導的光波的功率的既定比例發送至複製模組的第一輸出光波導,並且將由複製模組的輸入光波導所引導的光波的功率的剩餘比例發送至複製模組的第二輸出光波導。 Embodiment 300: The computing device of embodiment 299, wherein the optical splitter includes a waveguide optical splitter that sends a predetermined proportion of the power of the optical wave guided by the input optical waveguide of the replication module to the first optical waveguide of the replication module. an output optical waveguide, and sends a remaining proportion of the power of the light wave guided by the input optical waveguide of the replication module to a second output optical waveguide of the replication module.

實施例301:如實施例300之計算裝置,其中輸入光波導的引導模式被絕熱地耦接至第一輸出光波導和第二輸出光波導中之每一者的複數引導模式。 Embodiment 301: The computing device of embodiment 300, wherein the guided mode of the input optical waveguide is adiabatically coupled to the plurality of guided modes of each of the first and second output optical waveguides.

實施例302:如實施例299或230之計算裝置,其中光分離器包括光束分離器,光束分離器包括至少一表面,其在輸入端口傳輸光波的功率的既定比例,並且在輸入端口反射光波的功率的剩餘比例。 Embodiment 302: The computing device of embodiment 299 or 230, wherein the light splitter includes a beam splitter, the beam splitter includes at least one surface that transmits a determined proportion of the power of the light wave at the input port and reflects a given proportion of the power of the light wave at the input port. remaining proportion of power.

實施例303:如實施例302之計算裝置,其中光波導的至少一者包括耦接至光耦合器的光纖,光耦合器將光纖的引導模式耦接至自由空間傳播模式。 Embodiment 303: The computing device of Embodiment 302, wherein at least one of the optical waveguides includes an optical fiber coupled to an optical coupler that couples a guided mode of the optical fiber to a free space propagation mode.

實施例304:如實施例292至303中任意一者之計算裝置,其中乘法模組包括至少一相干敏感光幅度調變器,相干敏感光幅度調變器被配置以基於複數光波之間的干涉,將第一子集的一或多個光訊號乘以一或多個矩陣元素值,光波具有相干長度,相干長度至少與通過相干敏感光幅度調變器的傳播距離一樣長。 Embodiment 304: The computing device of any one of embodiments 292 to 303, wherein the multiplication module includes at least one coherently sensitive optical amplitude modulator configured to be based on interference between complex light waves , multiplying one or more optical signals of the first subset by one or more matrix element values, the light wave has a coherence length that is at least as long as the propagation distance through the coherently sensitive optical amplitude modulator.

實施例305:如實施例304之計算裝置,其中相干敏感光幅度調變器包括馬赫曾德爾干涉儀,馬赫曾德爾干涉儀將輸入光波導所引導的光波分成馬赫曾德爾干涉儀的第一光波導臂和馬赫曾德爾干涉儀的第二光波導臂,第一光波導臂包括相位移器,相位移器相對於第二光波導臂的相位延遲產生相對相位移,並且馬赫曾德爾干涉儀將來自第一光波導臂和第二光波導臂的複數光波組合成至少一輸出光波導。 Embodiment 305: The computing device of Embodiment 304, wherein the coherently sensitive light amplitude modulator includes a Mach-Zehnder interferometer, which divides the light waves guided by the input optical waveguide into the first light of the Mach-Zehnder interferometer. The waveguide arm and the second optical waveguide arm of the Mach-Zehnder interferometer, the first optical waveguide arm includes a phase shifter, the phase shifter generates a relative phase shift with respect to the phase delay of the second optical waveguide arm, and the Mach-Zehnder interferometer will The plurality of light waves from the first optical waveguide arm and the second optical waveguide arm are combined into at least one output optical waveguide.

實施例306:如實施例305之計算裝置,其中馬赫曾德爾干涉儀將來自第一光波導臂和第二光波導臂的複數光波組合成第一輸出光波導和第二輸出光波導中的每一者,第一光偵測器從第一輸出光波導接收光波以產生第一光電流,第二光偵測器從第二輸出光波導接收光波以產生第二光電流,並且相干敏感光幅度調變器的結果包括第一光電流與第二光電流之間的差值。 Embodiment 306: The computing device of Embodiment 305, wherein the Mach-Zehnder interferometer combines the complex light waves from the first optical waveguide arm and the second optical waveguide arm into each of the first output optical waveguide and the second output optical waveguide. One, the first photodetector receives the light wave from the first output optical waveguide to generate the first photocurrent, the second photodetector receives the light wave from the second output optical waveguide to generate the second photocurrent, and is coherently sensitive to light amplitude. The result of the modulator includes the difference between the first photocurrent and the second photocurrent.

實施例307:如實施例304至306中任意一者之計算裝置,其中相干敏感光幅度調變器包括一或多個環形共振器,環形共振器包括耦接至第一光波導的至少一環形共振器和耦接至第二光波導的至少一環形共振器。 Embodiment 307: The computing device of any one of Embodiments 304-306, wherein the coherently sensitive optical amplitude modulator includes one or more ring resonators including at least one ring coupled to the first optical waveguide. The resonator and at least one ring resonator coupled to the second optical waveguide.

實施例308:如實施例307之計算裝置,其中第一光偵測器接收來自第一光波導的光波,以產生第一光電流,第二光偵測器接收來自第二光波導的光波,以產生第二光電流,並且相干敏感光幅度調變器的結果包括第一光電流與第二光電流之間的差值。 Embodiment 308: The computing device of Embodiment 307, wherein the first photodetector receives the light wave from the first optical waveguide to generate the first photocurrent, and the second photodetector receives the light wave from the second optical waveguide, to generate a second photocurrent, and the result of the coherently sensitive optical amplitude modulator includes a difference between the first photocurrent and the second photocurrent.

實施例309:如實施例292至308中任意一者之計算裝置,其中乘法模組包括至少一相干非敏感光幅度調變器,相干非敏感光幅度調變器被配置以基於光波內的能量吸收,將第一子集的一或多個光訊號乘以一或多個矩陣元素值。 Embodiment 309: The computing device of any one of embodiments 292 to 308, wherein the multiplication module includes at least one coherent insensitive optical amplitude modulator configured to be based on energy within the light wave. Absorption multiplies a first subset of one or more optical signals by one or more matrix element values.

實施例310:如實施例309之計算裝置,其中相干非敏感光幅度調變器包括電吸收調變器。 Embodiment 310: The computing device of embodiment 309, wherein the coherent insensitive optical amplitude modulator includes an electroabsorption modulator.

實施例311:如實施例292至310中任意一者之計算裝置,其中一或多個求和模組包括具有以下部件的至少一求和模組:(1)二或多個輸入導體,輸入導體之每一者以輸入電流的形式承載電訊號,輸入電流的幅度表示乘法模組的相應一者的相應結果,以及(2)至少一輸出導體,輸出導體承載表示輸出電流的形式的相應結果的總和的電訊號,輸出電流與輸入電流之總和成比例。 Embodiment 311: The computing device of any one of embodiments 292 to 310, wherein the one or more summing modules include at least one summing module having the following components: (1) two or more input conductors, an input each of the conductors carrying an electrical signal in the form of an input current, the magnitude of the input current representing a corresponding result of a corresponding one of the multiplication modules, and (2) at least one output conductor carrying a corresponding result in the form of an output current The sum of electrical signals, the output current is proportional to the sum of the input currents.

實施例312:如實施例311之計算裝置,其中二或多個輸入導體和輸出導體包括複數導線,其在導線之間的一或多個接點相遇,並且輸出電流大抵等於輸入電流之總和。 Embodiment 312: The computing device of Embodiment 311, wherein the two or more input conductors and the output conductors comprise a plurality of conductors meeting at one or more junctions between the conductors, and the output current is substantially equal to the sum of the input currents.

實施例313:如實施例311或312之計算裝置,其中輸入電流的至少一第一輸入電流以至少一光電流的形式提供,光電流由至少一光偵測器產生,光偵測器接收由乘法模組的第一乘法模組所產生的光訊號。 Embodiment 313: The computing device of embodiment 311 or 312, wherein at least a first input current of the input current is provided in the form of at least one photocurrent, the photocurrent is generated by at least one photodetector, and the photodetector receives The optical signal generated by the first multiplication module of the multiplication module.

實施例314:如實施例313之計算裝置,其中第一輸入電流以兩個光電流之間的差值的形式提供,兩個光電流由不同相應光偵測器產生,光偵測器接收由第一乘法模組所產生的不同相 應光訊號。 Embodiment 314: The computing device of embodiment 313, wherein the first input current is provided in the form of a difference between two photocurrents, the two photocurrents are generated by different corresponding photodetectors, and the photodetectors receive The out-of-phase generated by the first multiplication module Respond to light signals.

實施例315:如實施例292至314中任意一者之計算裝置,其中一或多個光訊號的第一子集的副本之一者由單一光訊號組成,其中單一光訊號上的輸入值之一者被編碼。 Embodiment 315: The computing device of any one of embodiments 292-314, wherein one of the copies of the first subset of the one or more optical signals consists of a single optical signal, wherein the input value on the single optical signal One is coded.

實施例316:如實施例315之計算裝置,其中對應第一子集的副本的乘法模組將編碼的輸入值乘以單一矩陣元素值。 Embodiment 316: The computing device of embodiment 315, wherein the multiplication module corresponding to the copy of the first subset multiplies the encoded input value by a single matrix element value.

實施例317:如實施例292至316中任意一者之計算裝置,其中一或多個光訊號的第一子集的副本之一者包括的光訊號多於一個,並且少於所有光訊號的數量,其中光訊號的多個輸入值被編碼。 Embodiment 317: The computing device of any one of embodiments 292-316, wherein one of the copies of the first subset of the one or more optical signals includes more than one optical signal and less than all optical signals. A quantity in which multiple input values of an optical signal are encoded.

實施例318:如實施例317之計算裝置,其中對應第一子集的副本的乘法模組將編碼的輸入值乘以不同相應矩陣元素值。 Embodiment 318: The computing device of embodiment 317, wherein the multiplication module corresponding to the copy of the first subset multiplies the encoded input value by different corresponding matrix element values.

實施例319:如實施例318之計算裝置,其中對應一或多個光訊號的第一子集的不同相應副本的不同乘法模組被包含在不同裝置,不同裝置進行光學通訊以在不同裝置之間傳輸一或多個光訊號的第一子集的副本之一者。 Embodiment 319: The computing device of Embodiment 318, wherein different multiplication modules corresponding to different corresponding copies of the first subset of the one or more optical signals are included in different devices, and the different devices perform optical communication between the different devices. one of the copies of the first subset of one or more optical signals.

實施例320:如實施例319之計算裝置,其中光波導的二或多者、複製模組的二或多者、乘法模組的二或多者、以及一或多個求和模組的至少一者被設置在公共裝置的基板上。 Embodiment 320: The computing device of Embodiment 319, wherein two or more of the optical waveguides, two or more of the replication modules, two or more of the multiplication modules, and at least one of the one or more summing modules One is provided on the base plate of the common device.

實施例321:如實施例320之計算裝置,其中公共裝置執行向量矩陣乘法,其中提供輸入向量作為一組光訊號,並且 提供輸出向量作為一組電訊號。 Embodiment 321: The computing device of Embodiment 320, wherein the common device performs vector matrix multiplication, wherein the input vectors are provided as a set of optical signals, and Provides the output vector as a set of electrical signals.

實施例322:如實施例292至321中任意一者之計算裝置,更包括累加器,累加器整合對應乘法模組之一者或求和模組之一者的輸出的輸入電訊號,其中使用時域編碼來編碼輸入電信號,時域編碼在多個時槽的每一者內使用開關幅度調變,並且累加器產生輸出電訊號,輸出電訊號以多於兩個幅度準位來編碼,幅度準位對應多個時槽上的時域編碼的不同佔空比。 Embodiment 322: The computing device of any one of embodiments 292 to 321, further comprising an accumulator integrating input electrical signals corresponding to outputs of one of the multiplication modules or one of the summation modules, wherein using Time domain encoding encodes the input electrical signal, the time domain encoding uses switching amplitude modulation within each of a plurality of time slots, and the accumulator generates an output electrical signal, the output electrical signal is encoded with more than two amplitude levels, The amplitude levels correspond to different duty cycles of the time domain encoding on multiple time slots.

實施例323:如實施例292至322中任意一者之計算裝置,其中乘法模組的二或多者之每一者對應一或多個光訊號的不同子集。 Embodiment 323: The computing device of any one of embodiments 292-322, wherein each of the two or more multiplication modules corresponds to a different subset of the one or more optical signals.

實施例324:如實施例292至323中任意一者之計算裝置,更包括用於一或多個光訊號的第二子集的每一個副本,與一或多個光訊號的第一子集中的光訊號不同,乘法模組被配置以使用光幅度調變將第二子集的一個或多個光訊號乘以一或多個矩陣元素值。 Embodiment 324: The computing device of any one of embodiments 292-323, further comprising each replica of the second subset of the one or more optical signals and the first subset of the one or more optical signals. The multiplication module is configured to multiply one or more optical signals of the second subset by one or more matrix element values using optical amplitude modulation.

實施例325:計算系統的操作方法,包括:使用第一組光幅度調變器在相應光訊號上編碼一組多個輸入值;對於一或多個光訊號的至少兩個子集中的每一者,使用一或多個複製模組的對應一組以將一或多個光訊號的複數子集分成光訊號的二或多個副本;對於一或多個光訊號的第一子集的至少兩個副本中的每一者, 使用一對應乘法模組以使用第二組光幅度調變器的光幅度調變器將第一子集的一或多個光訊號乘以一或多個矩陣元素值;以及對於二或多個乘法模組的結果,使用求和模組以產生電訊號,電訊號表示二或多個乘法模組的結果的總和;其中第一組光幅度調變器或第二組光幅度調變器中的至少一者的至少一光幅度調變器被配置以使用相對調變值的絕對值單調增加的功率,藉由調變值來調變光訊號。 Embodiment 325: A method of operating a computing system, comprising: using a first set of optical amplitude modulators to encode a set of multiple input values on a corresponding optical signal; for each of at least two subsets of the one or more optical signals Or, using a corresponding set of one or more replication modules to divide a plurality of subsets of one or more optical signals into two or more copies of the optical signal; for at least one of the first subset of the one or more optical signals each of the two copies, using a corresponding multiplication module to multiply the one or more optical signals of the first subset by the one or more matrix element values using the optical amplitude modulators of the second set of optical amplitude modulators; and for two or more The result of the multiplication module uses a summation module to generate an electrical signal, and the electrical signal represents the sum of the results of two or more multiplication modules; wherein the first group of optical amplitude modulators or the second group of optical amplitude modulators At least one of the at least one optical amplitude modulators is configured to modulate the optical signal by the modulation value using monotonically increasing power relative to an absolute value of the modulation value.

100:人工神經網路計算系統 100:Artificial neural network computing system

102:電腦 102:Computer

110:控制器 110:Controller

120:記憶體單元 120: Memory unit

130:數位類比轉換器單元 130: Digital to analog converter unit

132:第一數位類比轉換器子單元 132: First digital-to-analog converter subunit

134:第二數位類比轉換器子單元 134: Second digital-to-analog converter subunit

140:光處理器 140: Optical processor

142:雷射單元 142:Laser unit

144:調變器陣列 144:Modulator array

146:偵測單元 146:Detection unit

150:光矩陣乘法單元 150:Light matrix multiplication unit

160:類比數位轉換器單元 160:Analog-to-digital converter unit

Claims (34)

一種光電計算系統,包括:一第一半導體晶粒,包括一光子積體電路(PIC),其中:該光子積體電路包括一光學排線,該光學排線包括複數股,每一該股包括一光複製分配網路以及複數光電子節點,每一該光電子節點對應一乘法矩陣之一特定欄位,該等光電子節點與複數光學瓦片相關,每一該光學瓦片包括對應該乘法矩陣之一特定列之複數元素;該光複製分配網路包括複數光學分離器,每一該光學分離器經設置將位於一輸入端口處之一輸入光波分成被傳送至兩個或多個相應之輸出端口之兩個或多個光訊號;一第二半導體晶粒,包括一電子積體電路(EIC),其中,該電子積體電路包括複數電瓦片,每一該電瓦片包括一個或多個電輸入端口,該等電輸入端口經配置以接收相應之複數電氣值;其中,在該光子積體電路中之該等光學瓦片至少部分與在該電子積體電路中對應之該等電瓦片重疊;以及其中,該第一半導體晶粒電性耦接該第二半導體晶粒,伴隨該光子積體電路之至少一些該等電輸出端口之每一者電性連接該電子積體電路的該等電輸入口中之一者。 An optoelectronic computing system includes: a first semiconductor die, including a photonic integrated circuit (PIC), wherein: the photonic integrated circuit includes an optical cable, the optical cable includes a plurality of strands, each of the strands includes An optical replication distribution network and a plurality of optoelectronic nodes. Each of the optoelectronic nodes corresponds to a specific column of a multiplication matrix. The optoelectronic nodes are associated with a plurality of optical tiles. Each of the optical tiles includes one of the corresponding multiplication matrices. A plurality of elements in a specific column; the optical replication distribution network includes a plurality of optical splitters, each of which is configured to split an input light wave at an input port into two or more corresponding output ports. Two or more optical signals; a second semiconductor die including an electronic integrated circuit (EIC), wherein the electronic integrated circuit includes a plurality of electrical tiles, each of the electrical tiles including one or more electrical Input ports configured to receive corresponding electrical values; wherein the optical tiles in the photonic integrated circuit are at least partially identical to the corresponding electrical tiles in the electronic integrated circuit overlapping; and wherein the first semiconductor die is electrically coupled to the second semiconductor die, with each of at least some of the electrical output ports of the photonic integrated circuit electrically connected to the electronic integrated circuit. One of the people waiting for electricity input into the mouth. 如請求項1之光電計算系統,其中,該光學排線包括N個股,N為一正整數; 其中,該光子積體電路包括M個光學瓦片,M為一正整數,美伊該光學瓦片包括N個權重調變器,每一該權重調變器對應該等N個股中之一者;其中,該電子積體電路包括M個電瓦片;以及其中,該光子積體電路以及該電子積體電路晶配置以執行一M×N矩陣乘法。 The photoelectric computing system of claim 1, wherein the optical cable includes N stocks, and N is a positive integer; Wherein, the photonic integrated circuit includes M optical tiles, M is a positive integer, the optical tiles include N weight modulators, and each weight modulator corresponds to one of the N stocks. ; wherein the electronic integrated circuit includes M electrical tiles; and wherein the photonic integrated circuit and the electronic integrated circuit are configured to perform an M×N matrix multiplication. 如請求項1或2之光電計算系統,其中,M與N中至少一者等於或大於4。 The photoelectric computing system of claim 1 or 2, wherein at least one of M and N is equal to or greater than 4. 如請求項1或2之光電計算系統,其中,M與N中至少一者等於或大於32。 The photoelectric computing system of claim 1 or 2, wherein at least one of M and N is equal to or greater than 32. 如請求項1或2之光電計算系統,其中,M與N中至少一者等於或大於128。 The photoelectric computing system of claim 1 or 2, wherein at least one of M and N is equal to or greater than 128. 如請求項1或2之光電計算系統,其中,該等M個光學瓦片配置為光學瓦片之兩條或更多條直線,光學瓦片之每一條該直線包括一或多個光學瓦片,光學瓦片之至少一條直線包括兩個或多個光學瓦片。 The optoelectronic computing system of claim 1 or 2, wherein the M optical tiles are configured as two or more straight lines of optical tiles, and each of the straight lines of the optical tiles includes one or more optical tiles. , at least one straight line of the optical tiles includes two or more optical tiles. 如請求項1或2之光電計算系統,其中,該等M個光學瓦片配置為M/2個光學瓦片之一第一直線以及M/2個光學瓦片之一第二直線。 The optoelectronic computing system of claim 1 or 2, wherein the M optical tiles are configured as a first straight line of M/2 optical tiles and a second straight line of M/2 optical tiles. 如請求項1或2之光電計算系統,其中,該等M個光學瓦片配置為光學瓦片之四條直線,光學瓦片之每一該直線包括 M/4個光學瓦片。 The optoelectronic computing system of claim 1 or 2, wherein the M optical tiles are configured as four straight lines of the optical tiles, and each of the straight lines of the optical tiles includes M/4 optical tiles. 如請求項1或2之光電計算系統,其中,該電子積體電路包括複數權重驅動器、複數資料驅動器、一記憶體、複數數位類比轉換器、複數類比數位轉換器、複數數位邏輯、以及用來在兩個或多個電瓦片之間傳送資料之一數位資料匯流排中至少一者之電路。 For example, the photoelectric computing system of claim 1 or 2, wherein the electronic integrated circuit includes a complex weight driver, a complex data driver, a memory, a complex digital-to-analog converter, a complex analog-to-digital converter, a complex digital logic, and a A circuit on at least one of the digital data buses that carries data between two or more electrical tiles. 如請求項1或2之光電計算系統,其中,與彼此之間溝通頻率較低之該等電瓦片相比,彼此之間更頻繁溝通之該等電瓦片被設置得離彼此更近。 The photoelectric computing system of claim 1 or 2, wherein the electrical tiles that communicate with each other more frequently are arranged closer to each other than the electrical tiles that communicate with each other less frequently. 如請求項1或2之光電計算系統,其中,該光子積體電路包括提供複數電輸入與輸出端口之複數焊盤,該電子積體電路包括提供複數電輸入與輸出端口之複數焊盤,提供該光子積體電路之該等電輸入端口之該等焊盤電性連接提供該電子積體電路之該等電輸出端口之該等焊盤,提供該光子積體電路之該等電輸出端口之該等焊盤電性連接提供該電子積體電路之該等電輸入端口之該等焊盤;其中,該電子積體電路包括複數跨阻抗放大器,該等跨阻抗放大器處理在該等電輸入端口處接收之複數數值;以及其中,該光子積體電路包括一第一瓦片,該第一瓦片包括一第一焊盤,該第一焊盤經配置將該第一瓦片之多個光電子節點之多個導線之一總和電流提供至該電子積體電路之一第二焊盤, 且該電子積體電路之該第二焊盤電性連接一跨阻抗放大器之一輸入。 The optoelectronic computing system of claim 1 or 2, wherein the photonic integrated circuit includes a plurality of pads providing a plurality of electrical input and output ports, the electronic integrated circuit includes a plurality of pads providing a plurality of electrical input and output ports, providing The pads of the electrical input ports of the photonic integrated circuit are electrically connected to the pads that provide the electrical output ports of the electronic integrated circuit, and the pads that provide the electrical output ports of the photonic integrated circuit The pads are electrically connected to the pads that provide the electrical input ports of the electronic integrated circuit; wherein the electronic integrated circuit includes a plurality of transimpedance amplifiers, and the transimpedance amplifiers process the electrical input ports a complex value received at; and wherein the photonic integrated circuit includes a first tile, the first tile includes a first pad configured to connect the plurality of optoelectronics of the first tile A summed current of one of the plurality of conductors of the node is provided to a second pad of the electronic integrated circuit, And the second pad of the electronic integrated circuit is electrically connected to an input of a transimpedance amplifier. 如請求項1或2之光電計算系統,其中,每一該光學分離器經配置將在該輸入端口處之該輸入光波之功率之一半傳送到兩個該輸出端口,該等光學分離器設置為一二元樹設置中之複數節點,該二元樹藉由作為該二元樹設置之複數連結之複數光波導而連接。 The optoelectronic computing system of claim 1 or 2, wherein each optical splitter is configured to transmit half of the power of the input light wave at the input port to two of the output ports, and the optical splitters are configured to Complex nodes in a binary tree arrangement connected by complex optical waveguides that are complex links of the binary tree arrangement. 一種光電計算系統,包括:一第一半導體晶粒,包括一光子積體電路(PIC),該光子積體電路包括複數光電子電路區段之一陣列,每一該光電子電路區段包括一矩陣乘法單元,每一該矩陣乘法單元包括偵測在一光電子操作中之至少一光波之至少一光偵測單元,以及該光子積體電路中至少一導線電性耦接該光偵測器以及一電輸出端口;以及一第二半導體晶粒,包括一電子積體電路(EIC),該電子積體電路包括接收相應之複數電氣值之複數電輸入端口;其中,該光子積體電路之該電輸出端口連接至該電子積體電路之該等電輸入端口中之一者。 An optoelectronic computing system including: a first semiconductor die including a photonic integrated circuit (PIC) including an array of a plurality of optoelectronic circuit segments, each of the optoelectronic circuit segments including a matrix multiplication unit, each of the matrix multiplication units includes at least one light detection unit that detects at least one light wave in an optoelectronic operation, and at least one wire in the photonic integrated circuit electrically couples the light detector and an electrical an output port; and a second semiconductor die including an electronic integrated circuit (EIC) including a plurality of electrical input ports receiving corresponding plural electrical values; wherein the electrical output of the photonic integrated circuit The port is connected to one of the electrical input ports of the electronic integrated circuit. 如請求項13之光電計算系統,其中,該光子積體電路包括:複數光波導,其中,在由該等光波導所承載之相應之複數光訊 號上編碼一組之多個輸入值;以及一光複製分配網路,包括複數光分離器,其中,每一該光分離器經社至將位於一輸入端口之一輸入光波分成該輸入光波之兩個或多個副本,且將該輸入光波的該兩個或多個副本分別傳送至兩個或多個輸出接口;其中,每一該光電子電路區段經配置以接收來自該光複製分配網路之該等輸出接口中之一者的一光波;以及其中,每一該光電子電路區段包括:一光電子操作模組,在兩個值中擇一執行操作:(1)以該光複製分配網路縮放的該等輸入值之一為依據之光學值,以及(2)電輸入端口提供之電氣值;至少一光偵測器,從該光電子操作中偵測至少一光波;以及至少一集成於該光子積體電路之導線,與該光偵測器以及一電輸出端電性耦接。 The optoelectronic computing system of claim 13, wherein the photonic integrated circuit includes: a plurality of optical waveguides, wherein the corresponding plurality of optical signals carried by the optical waveguides A plurality of input values encoding a group on the signal; and an optical replication distribution network including a plurality of optical splitters, wherein each of the optical splitters is configured to divide an input light wave located at an input port into the input light wave two or more copies, and transmit the two or more copies of the input light wave to two or more output interfaces respectively; wherein each of the optoelectronic circuit sections is configured to receive data from the optical copy distribution network A light wave passing through one of the output interfaces; and wherein each of the optoelectronic circuit sections includes: an optoelectronic operation module that selects one of two values to perform an operation: (1) copying the distribution with the light an optical value on which one of the input values for network scaling is based, and (2) an electrical value provided by an electrical input port; at least one light detector that detects at least one light wave from the optoelectronic operation; and at least one integrated Wires in the photonic integrated circuit are electrically coupled to the light detector and an electrical output terminal. 如請求項14之光電計算系統,其中,該電子積體電路更進一步包括複數數位類比轉換器(DACs),提供複數電氣值給相應的複數電輸出端口,且該電子積體電路之該等電輸出端口電性連接到該光子積體電路之該等電輸入端口。 The optoelectronic computing system of claim 14, wherein the electronic integrated circuit further includes complex digital-to-analog converters (DACs) that provide complex electrical values to corresponding complex electrical output ports, and the electrical values of the electronic integrated circuit The output ports are electrically connected to the electrical input ports of the photonic integrated circuit. 如請求項14或15之光電計算系統,其中,該等光分離器被設置為一二元樹設置中之複數節點,該二元樹設置藉由作為該二元樹設置之複數連結之複數光波導而連接。 The optoelectronic computing system of claim 14 or 15, wherein the optical splitters are arranged as plural nodes in a binary tree arrangement by plural lights as complex links of the binary tree arrangement. waveguide connection. 如請求項16之光電計算系統,其中,該光複製分配網路包括複數二元樹設置,每一該二元樹分配編碼在相應之複數光訊號的該多個輸入值之一不同者。 The optoelectronic computing system of claim 16, wherein the optical replication distribution network includes a plurality of binary tree arrangements, each of the binary tree allocations encoding a different one of the plurality of input values of the corresponding plurality of optical signals. 如請求項14或15之光電計算系統,其中,該光複製分配網路中之該等光波導被設置在該第一半導體晶粒中,以避免穿過任何該光複製分配網路中之該等光波導。 The optoelectronic computing system of claim 14 or 15, wherein the optical waveguides in the optical replication distribution network are disposed in the first semiconductor die to avoid passing through any of the optical replication distribution network. Iso-optical waveguide. 如請求項14或15之光電計算系統,其中,該等光電子電路區段被設置在該第一半導體晶粒上,整體上排列成複數直線。 The optoelectronic computing system of claim 14 or 15, wherein the optoelectronic circuit sections are disposed on the first semiconductor die and are arranged in a plurality of straight lines as a whole. 如請求項19之光電計算系統,其中,該等直線藉由該光複製分配網路中的一個或多個該光波導,各自與每條其他直線光學耦合。 The optoelectronic computing system of claim 19, wherein each of the straight lines is optically coupled to each other straight line through one or more of the optical waveguides in the optical replication distribution network. 如請求項14或15之光電計算系統,其中,該光電子操作模組包括一馬赫曾德爾干涉儀,該馬赫曾德爾干涉儀被配置以在兩個值中擇一以執行乘法操作(1)以該光複製分配網路縮放的該等輸入值之一為依據之光學值,以及(2)電輸入端口提供之電氣值。 The optoelectronic computing system of claim 14 or 15, wherein the optoelectronic operating module includes a Mach-Zehnder interferometer configured to select one of two values to perform the multiplication operation (1) to The optical replication distribution network scales one of the input values based on the optical value, and (2) the electrical value provided by the electrical input port. 如請求項14或15之光電計算系統,其中,該電子積體電路更進一步包括具有與該光子積體電路之該電輸出端口電性耦接之一輸入之一跨阻抗放大器。 The optoelectronic computing system of claim 14 or 15, wherein the electronic integrated circuit further includes a transimpedance amplifier having an input electrically coupled to the electrical output port of the photonic integrated circuit. 一種光電計算系統,包括: 一第一半導體晶粒,包括一光子積體電路(PIC),該光子積體電路包括:複數光波導,其中,在由該等光波導所承載的相應之複數光訊號上編碼一組之多個輸入值;一光複製分配網路,包括複數光分離器或定向耦合器;以及複數光電子電路區段之一陣列,每一該光電子電路區段從該光複製分配網路之複數輸出端口之一者接收一光波,其中,每一該光電子電路區段包括:(a)一光電子操作模組,在兩個值中擇一執行一光電子操作:(a1)以該光複製分配網路縮放的該等輸入值之一者為依據之光學值,以及(a2)電輸入端口提供之電氣值;(b)至少一光偵測器,偵測該光電子操作之至少一光波;以及(c)至少一集成於該光子積體電路之至少一導線,與該光偵測器電性耦接並與一電輸出端口電性耦接,其中,集成於該光子積體電路中的該導線的一部分將該光偵測器連接到來自不同之該等光電子電路區段之該等導線間之一接點;以及一第二半導體晶粒,包括一電子積體電路(EIC),該電子積體電路包括複數電輸入端口,接收相應之複數電氣值; 其中,該光子積體電路之該電輸出端口連接該電子積體電路之該等電輸入端口中之一者。 An optoelectronic computing system including: A first semiconductor die, including a photonic integrated circuit (PIC), the photonic integrated circuit including: a plurality of optical waveguides, wherein as many as one group is encoded on corresponding plurality of optical signals carried by the optical waveguides an input value; an optical replication distribution network including a plurality of optical splitters or directional couplers; and an array of a plurality of optoelectronic circuit segments, each of the optoelectronic circuit segments being connected from a plurality of output ports of the optical replication distribution network One receives an optical wave, wherein each of the optoelectronic circuit segments includes: (a) an optoelectronic operation module that selects one of two values to perform an optoelectronic operation: (a1) scaled with the optical replication distribution network One of the input values is an optical value based on, and (a2) an electrical value provided by the electrical input port; (b) at least one light detector that detects at least one light wave of the optoelectronic operation; and (c) at least At least one wire integrated into the photonic integrated circuit is electrically coupled to the photodetector and to an electrical output port, wherein a portion of the wire integrated into the photonic integrated circuit will The photodetector is connected to a contact between the conductors from different optoelectronic circuit segments; and a second semiconductor die includes an electronic integrated circuit (EIC), the electronic integrated circuit including A plurality of electrical input ports receive corresponding plural electrical values; Wherein, the electrical output port of the photonic integrated circuit is connected to one of the electrical input ports of the electronic integrated circuit. 如請求項23之光電計算系統,其中,電子積體電路更進一步包括複數數位類比轉換器(DACs),提供複數電氣值給相應的複數電輸出端口,且該光子積體電路之該等電輸入端口電性連接到該電子積體電路之該等電輸出端口。 Such as the optoelectronic computing system of claim 23, wherein the electronic integrated circuit further includes complex digital-to-analog converters (DACs) that provide complex electrical values to corresponding complex electrical output ports, and the electrical inputs of the photonic integrated circuit The ports are electrically connected to the electrical output ports of the electronic integrated circuit. 如請求項23之光電計算系統,其中,該光電子操作模組包括一馬赫曾德爾干涉儀,該馬赫曾德爾干涉儀被配置以在兩個值中擇一以執行乘法操作(1)以該光複製分配網路縮放的該等輸入值之一為依據之光學值,以及(2)電輸入端口提供之電氣值。 The optoelectronic computing system of claim 23, wherein the optoelectronic operating module includes a Mach-Zehnder interferometer configured to select one of two values to perform the multiplication operation (1) with the light Copy the optical value upon which one of these input values is scaled by the distribution network, and (2) the electrical value provided by the electrical input port. 如請求項23之光電計算系統,其中,該電子積體電路更進一步包括具有與該光子積體電路之該電輸出端口電性耦接之一輸入之一跨阻抗放大器。 The optoelectronic computing system of claim 23, wherein the electronic integrated circuit further includes a transimpedance amplifier having an input electrically coupled to the electrical output port of the photonic integrated circuit. 如請求項23至26中任一項之光電計算系統,其中,每一該光學分離器將在一輸入端口處之一輸入光波之功率之一半傳送到兩個輸出端口。 The optoelectronic computing system of any one of claims 23 to 26, wherein each optical splitter transmits half of the power of an input light wave at an input port to two output ports. 如請求項23之光電計算系統,其中,該光複製分配網路包括串級之複數定向耦合器。 The optoelectronic computing system of claim 23, wherein the optical replication distribution network includes a plurality of directional couplers in series. 如請求項23、24、25、26、與28中任一項之光電計算系統,其中,該等光學分離器設置為一二元樹設置中之複數節點,該二元樹藉由作為該二元樹設置之複數連結之複數光波導而 連接。 The optoelectronic computing system of any one of claims 23, 24, 25, 26, and 28, wherein the optical splitters are arranged as plural nodes in a binary tree arrangement, and the binary tree is configured as the binary tree The complex number of optical waveguides connected by the yuan tree is connection. 如請求項29之光電計算系統,其中,該光複製分配網路包括複數二元樹設置,每一該二元樹分配編碼在相應之複數光訊號的該多個輸入值之一不同者。 The optoelectronic computing system of claim 29, wherein the optical replication distribution network includes a plurality of binary tree arrangements, each of the binary tree allocations encoding a different one of the plurality of input values of the corresponding plurality of optical signals. 如請求項30之光電計算系統,其中,複數光傳播長度在該二元樹分配之根以及不同的複數光電子電路區段之間各自不同。 The optoelectronic computing system of claim 30, wherein the complex light propagation lengths differ between roots of the binary tree assignment and different complex optoelectronic circuit sections. 如請求項31之光電計算系統,其中,該光複製分配網路中之該等光波導被設置在該第一半導體晶粒中,以避免穿過任何該光複製分配網路中之該等光波導。 The optoelectronic computing system of claim 31, wherein the optical waveguides in the optical replication distribution network are disposed in the first semiconductor die to avoid passing through any of the light in the optical replication distribution network. waveguide. 如請求項32之光電計算系統,其中,該等光電子電路區段被設置在該第一半導體晶粒上,整體上排列成複數直線。 The optoelectronic computing system of claim 32, wherein the optoelectronic circuit sections are disposed on the first semiconductor die and are arranged in a plurality of straight lines as a whole. 如請求項33之光電計算系統,其中,該等直線藉由該光複製分配網路中的一個或多個該光波導,各自與每條其他直線光學耦合。 The optoelectronic computing system of claim 33, wherein each of the straight lines is optically coupled to each other straight line through one or more of the optical waveguides in the optical replication distribution network.
TW110132252A 2019-03-19 2020-03-19 Optoelectronic computing system TWI819368B (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201962820562P 2019-03-19 2019-03-19
US62/820,562 2019-03-19
US16/703,278 2019-12-04
US16/703,278 US11507818B2 (en) 2018-06-05 2019-12-04 Optoelectronic computing systems

Publications (2)

Publication Number Publication Date
TW202201165A TW202201165A (en) 2022-01-01
TWI819368B true TWI819368B (en) 2023-10-21

Family

ID=72521231

Family Applications (2)

Application Number Title Priority Date Filing Date
TW109109209A TWI741533B (en) 2019-03-19 2020-03-19 Computing system, computing apparatus, and operating method of computing system
TW110132252A TWI819368B (en) 2019-03-19 2020-03-19 Optoelectronic computing system

Family Applications Before (1)

Application Number Title Priority Date Filing Date
TW109109209A TWI741533B (en) 2019-03-19 2020-03-19 Computing system, computing apparatus, and operating method of computing system

Country Status (4)

Country Link
EP (1) EP3942482A4 (en)
CN (1) CN112912900A (en)
TW (2) TWI741533B (en)
WO (1) WO2020191217A1 (en)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115023909A (en) 2019-11-22 2022-09-06 光物质公司 Linear optical processor and related method
US11719963B2 (en) 2020-04-29 2023-08-08 Lightelligence, Inc. Optical modulation for optoelectronic processing
JP2023536703A (en) * 2020-07-24 2023-08-29 ライトマター インコーポレイテッド Systems and methods for exploiting photon degrees of freedom in photonic processors
US11817903B2 (en) 2020-08-06 2023-11-14 Celestial Ai Inc. Coherent photonic computing architectures
EP4264369A1 (en) * 2020-12-17 2023-10-25 Celestial AI Inc. Balanced photonic architectures for matrix computations
US20220374575A1 (en) * 2021-05-20 2022-11-24 Lightmatter, Inc. Electronic-photonic processors and related packages
AT525103B1 (en) * 2021-05-28 2024-03-15 Ait Austrian Inst Tech Gmbh Optical arrangement for emulating a neural network
CN113644984B (en) * 2021-10-14 2022-03-11 清华大学 Optical logic element for photoelectric digital logic operation and logic operation method thereof
CN114301527B (en) * 2021-12-31 2024-04-02 杭州电子科技大学 Weight factor companding function-based companding quantization method and system
US11835777B2 (en) 2022-03-18 2023-12-05 Celestial Ai Inc. Optical multi-die interconnect bridge (OMIB)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103270394A (en) * 2010-05-11 2013-08-28 希尔莱特有限责任公司 Optical power transmission system and method having multiple optical power forms
US9391708B2 (en) * 2014-05-21 2016-07-12 Stmicroelectronics S.R.L. Multi-substrate electro-optical interconnection system
CN109477938A (en) * 2016-06-02 2019-03-15 麻省理工学院 Device and method for optical neural network

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8213751B1 (en) * 2008-11-26 2012-07-03 Optonet Inc. Electronic-integration compatible photonic integrated circuit and method for fabricating electronic-integration compatible photonic integrated circuit
US10324261B2 (en) * 2015-02-18 2019-06-18 Technische Universiteit Eindhoven Multi-port optical probe for photonic IC characterization and packaging
TW201837894A (en) * 2017-02-15 2018-10-16 日商半導體能源研究所股份有限公司 Semiconductor device and display system
JP6784644B2 (en) * 2017-05-26 2020-11-11 日本電信電話株式会社 Optical signal processing circuit
WO2019014345A1 (en) 2017-07-11 2019-01-17 Massachusetts Institute Of Technology Optical ising machines and optical convolutional neural networks
US11144821B2 (en) * 2017-08-30 2021-10-12 The Regents Of The University Of California Implementing a neuromorphic computing system using nanophotonic neurons
US10606004B2 (en) * 2018-06-01 2020-03-31 Intel Corporation Distributed optoelectronic receiver

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103270394A (en) * 2010-05-11 2013-08-28 希尔莱特有限责任公司 Optical power transmission system and method having multiple optical power forms
US9391708B2 (en) * 2014-05-21 2016-07-12 Stmicroelectronics S.R.L. Multi-substrate electro-optical interconnection system
CN109477938A (en) * 2016-06-02 2019-03-15 麻省理工学院 Device and method for optical neural network

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
網路文獻 Ke Xu et al. "All passive photonic power divider with arbitrary split ratio" arXiv:1609.03823v1 13 September 2016 https://arxiv.org/abs/1609.03823 *

Also Published As

Publication number Publication date
CN112912900A (en) 2021-06-04
TW202201165A (en) 2022-01-01
EP3942482A4 (en) 2022-12-28
TW202103063A (en) 2021-01-16
WO2020191217A1 (en) 2020-09-24
TWI741533B (en) 2021-10-01
EP3942482A1 (en) 2022-01-26

Similar Documents

Publication Publication Date Title
TWI825452B (en) Optoelectronic computing system
US11853871B2 (en) Optoelectronic computing systems
TWI819368B (en) Optoelectronic computing system
US11734556B2 (en) Optoelectronic computing systems
TWI777108B (en) Computing system, computing apparatus, and operating method of computing system
TW202147060A (en) Optoelectronic computing systems