TW202112074A - 用於使用線性光子處理器來進行類比計算的系統及方法 - Google Patents

用於使用線性光子處理器來進行類比計算的系統及方法 Download PDF

Info

Publication number
TW202112074A
TW202112074A TW109125536A TW109125536A TW202112074A TW 202112074 A TW202112074 A TW 202112074A TW 109125536 A TW109125536 A TW 109125536A TW 109125536 A TW109125536 A TW 109125536A TW 202112074 A TW202112074 A TW 202112074A
Authority
TW
Taiwan
Prior art keywords
optical
matrix
output
vector
processor
Prior art date
Application number
TW109125536A
Other languages
English (en)
Inventor
達路斯 布南達爾
尼可拉斯C 哈里斯
邁克爾 古爾德
卡爾 拉米
多摩 拉索維奇
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
Application filed by 美商萊特美特股份有限公司 filed Critical 美商萊特美特股份有限公司
Publication of TW202112074A publication Critical patent/TW202112074A/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06EOPTICAL COMPUTING DEVICES; COMPUTING DEVICES USING OTHER RADIATIONS WITH SIMILAR PROPERTIES
    • G06E3/00Devices not provided for in group G06E1/00, e.g. for processing analogue or hybrid data
    • G06E3/001Analogue devices in which mathematical operations are carried out with the aid of optical or electro-optical elements
    • G06E3/005Analogue devices in which mathematical operations are carried out with the aid of optical or electro-optical elements using electro-optical or opto-electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/28Supervision thereof, e.g. detecting power-supply failure by out of limits supervision
    • 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
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/20Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits characterised by logic function, e.g. AND, OR, NOR, NOT circuits
    • H03K19/21EXCLUSIVE-OR circuits, i.e. giving output if input signal exists at only one input; COINCIDENCE circuits, i.e. giving output only if all input signals are identical
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B10/00Transmission systems employing electromagnetic waves other than radio-waves, e.g. infrared, visible or ultraviolet light, or employing corpuscular radiation, e.g. quantum communication
    • H04B10/80Optical aspects relating to the use of optical transmission for specific applications, not provided for in groups H04B10/03 - H04B10/70, e.g. optical power feeding or optical transmission through water
    • H04B10/801Optical aspects relating to the use of optical transmission for specific applications, not provided for in groups H04B10/03 - H04B10/70, e.g. optical power feeding or optical transmission through water using optical interconnects, e.g. light coupled isolators, circuit board interconnections
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B10/00Transmission systems employing electromagnetic waves other than radio-waves, e.g. infrared, visible or ultraviolet light, or employing corpuscular radiation, e.g. quantum communication
    • H04B10/80Optical aspects relating to the use of optical transmission for specific applications, not provided for in groups H04B10/03 - H04B10/70, e.g. optical power feeding or optical transmission through water
    • H04B10/801Optical aspects relating to the use of optical transmission for specific applications, not provided for in groups H04B10/03 - H04B10/70, e.g. optical power feeding or optical transmission through water using optical interconnects, e.g. light coupled isolators, circuit board interconnections
    • H04B10/803Free space interconnects, e.g. between circuit boards or chips

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Electromagnetism (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Neurology (AREA)
  • Optics & Photonics (AREA)
  • Nonlinear Science (AREA)
  • Optical Modulation, Optical Deflection, Nonlinear Optics, Optical Demodulation, Optical Logic Elements (AREA)
  • Image Analysis (AREA)

Abstract

提供了用於使用線性光子處理器來執行矩陣運算的系統及方法。該線性光子處理器被形成為第一幅度調變器及第二幅度調變器的陣列,該等第一幅度調變器被配置為將向量的元素編碼到第一光學訊號中,且該等第二幅度調變器被配置為將向量元素與矩陣元素之間的乘積編碼到第二光學訊號中。可以將該線性光子處理器配置為執行矩陣-向量及/或矩陣-矩陣運算。

Description

用於使用線性光子處理器來進行類比計算的系統及方法
此申請案依據專利法主張於2019年7月29日所提出的第62/879,936號標題為「LINEAR PHOTONIC PROCESSOR」的美國臨時專利申請案(代理人案號為L0858.70016US00)的優先權,且此申請案依據專利法主張於2019年11月22日所提出的第62/939,480號標題為「SYSTEMS AND METHODS FOR ANALOG COMPUTING」的美國臨時專利申請案(代理人案號為L0858.70016US01)的優先權,該等文獻的整個內容特此以引用方式併入本文中。
此揭示內容與用於使用光子處理器來進行計算的系統及方法相關。
常規的計算使用包括數百萬個電晶體的電路的處理器來對由電訊號所表示的資訊位元實施邏輯閘。常規中央處理單元(CPU)的架構被設計為用於通用計算,但未針對特定類型的演算法最佳化。從而,開發了具有更適於特定演算法的架構的專用處理器。例如,圖形處理單元(GPU)具有高度並行的架構,該架構使得圖形處理單元對於執行影像處理、圖形操控、及其他的可並行應用(例如神經網絡及深度學習的可並行應用)而言比CPU更高效。
一些實施例涉及一種用於實施帶符號的數值的裝置,該裝置包括:光學偵測器,包括第一終端及第二終端;第一開關,將該光學偵測器的該第一終端耦合到節點或參考電壓中的任一者;第二開關,將該光學偵測器的該第二終端耦合到該節點或電壓軌中的任一者;及控制電路系統,被配置為:藉由將該第一開關設定為將該第一終端耦合到該參考電壓及將該第二開關設定為將該第二終端耦合到該節點,來產生正號數值輸出;及至少部分地藉由將該第一開關設定為將該第一終端耦合到該節點及將該第二開關設定為將該第二終端耦合到該電壓軌來產生負號數值輸出。
一些實施例涉及一種光學處理系統,該光學處理系統包括:第一複數個光學調變器,各自被配置為接收輸入光學訊號、調變該輸入光學訊號、及輸出表示向量的元素的第一光學訊號;第二複數個光學調變器,各自光學耦合到該第一複數個光學調變器中的光學調變器且被配置為接收該第一光學訊號、調變該第一光學訊號、及輸出第二光學訊號,該第二光學訊號表示該向量與矩陣之間的矩陣-向量乘法的一部分;複數個光學偵測器,各自光學耦合到該第二複數個光學調變器中的光學調變器且被配置為將該第二光學訊號轉換成電訊號,該電訊號表示該矩陣-向量乘法的該部分,其中該複數個光學偵測器中的每個光學偵測器均包括第一終端及第二終端;第一開關,將第一光學偵測器的該第一終端耦合到輸出節點或參考電壓中的任一者;第二開關,將該第一光學偵測器的該第二終端耦合到該輸出節點或電壓軌中的任一者;及控制電路系統,被配置為:藉由將該第一開關設定為將該第一光學偵測器的該第一終端耦合到該參考電壓及將該第二開關設定為將該第一光學偵測器的該第二終端耦合到該輸出節點,來產生正號數值輸出;及至少部分地藉由將該第一光學偵測器的該第一開關設定為將該第一終端耦合到該輸出節點及將該第一光學偵測器的該第二開關設定為將該第二終端耦合到該電壓軌來產生負號數值輸出。
一些實施例涉及一種用於實施由光學處理器的光學偵測器所輸出的帶符號的數值的方法,該方法包括以下步驟:使用包括第一終端及第二終端的光學偵測器,將輸出光學訊號轉換成第一電訊號,該輸出光學訊號由該光學處理器的一部分所輸出;使用耦合到該光學處理器的至少一個常規處理器,決定該第一電訊號是否表示正號數值或負號數值;使用該光學處理器的控制電路系統,響應於決定該第一電訊號是否表示該正號數值或該負號數值,佈置耦合到該第一終端的第一開關的設定及耦合到該第二終端的第二開關的設定,其中該控制電路系統被配置為:藉由將該第一開關設定為將該第一終端耦合到參考電壓及將該第二開關設定為將該第二終端耦合到節點,來產生正號數值輸出;及至少部分地藉由將該第一開關設定為將該第一終端耦合到該節點及將該第二開關設定為將該第二終端耦合到電壓軌來產生負號數值輸出;及從該光學偵測器,輸出該第一電訊號,使得基於該第一電訊號是否表示正號數值或負號數值的該決定,該第一電訊號穿過該第一開關或該第二開關中的任一者。
一些實施例涉及一種用於實施矩陣-向量乘法運算的光學處理器,該光學處理器包括:第一複數個光學調變器,各自被配置為接收輸入光學訊號、調變該輸入光學訊號、及輸出表示向量的元素的第一光學訊號;第二複數個光學調變器,各自光學耦合到該第一複數個光學調變器中的光學調變器且被配置為接收該第一光學訊號、調變該第一光學訊號、及輸出第二光學訊號,該第二光學訊號表示該向量與矩陣之間的矩陣-向量乘法的一部分;複數個光學偵測器,各自耦合到該第二複數個光學調變器中的光學調變器且被配置為將該第二光學訊號轉換成一電訊號,該電訊號表示該矩陣-向量乘法的該部分;及複數個開關,被配置為藉由在該向量及/或矩陣的一值包括零時防止傳輸光學或電訊號,來在該矩陣-向量乘法運算中實施零值,其中該複數個開關中的開關耦合到該第一複數個光學調變器中的每一者或該複數個光學偵測器中的每一者的輸出。
一些實施例涉及一種使用光學處理器來執行矩陣-向量列乘法運算的方法,該方法包括以下步驟:使用第一光學調變器來調變輸入光學訊號以在第一光學訊號中光學地表示向量的元素;使用第二光學調變器來調變該第一光學訊號以在第二複數個光學訊號中光學地表示被加數,其中該等被加數在加總時表示該向量的該元素與矩陣列之間的乘積;使用光學偵測器來將該第二複數個光學訊號轉換成複數個被加數電訊號;及在該向量的該元素的值等於零時,使耦合到該第一光學調變器的輸出的開關防止向該等第二光學調變器傳輸該第一光學訊號,及/或在該矩陣列的一或更多個元素的值等於零時,使耦合到該等光學偵測器的輸出的一或更多個開關防止傳輸該等被加數電訊號。
一些實施例涉及至少一個非暫時性電腦可讀取媒體,包括指令,該等指令在由至少一個光學處理器所執行時使得該光學處理器執行具有以下步驟的方法:使用第一光學調變器來調變輸入光學訊號以在第一光學訊號中光學地表示向量的元素;使用第二光學調變器來調變該第一光學訊號以在第二複數個光學訊號中光學地表示被加數,其中該等被加數在加總時表示該向量與矩陣列之間的乘積;使用光學偵測器來將該第二複數個光學訊號轉換成複數個被加數電訊號;及在該向量的該元素的值等於零時,使耦合到該第一光學調變器的輸出的開關防止向該等第二光學調變器傳輸該第一光學訊號,及/或在該矩陣列的一或更多個元素的值等於零時,使耦合到該等光學偵測器的輸出的一或更多個開關防止傳輸該等被加數電訊號。
一些實施例涉及一種使用光學處理器來執行矩陣-矩陣運算的方法,該方法包括以下步驟:將第一矩陣程式化到第一光學子處理器中;將第二矩陣程式化到第二光學子處理器中,該第二光學子處理器包括耦合到該第一光學子處理器的輸出的輸入;作為光學訊號,將複數個單熱(one-hot)向量輸入到該第一光學子處理器中;及從該第二光學子處理器,輸出輸出向量,該輸出向量表示該第一矩陣及該第二矩陣的乘法的一部分。
一些實施例涉及一種配置為執行矩陣-矩陣運算的光學處理器,該光學處理器包括:第一光學子處理器,被配置為光學地執行單熱向量及第一矩陣的矩陣-向量乘法以獲得第一向量;及第二光學子處理器,被配置為從該第一光學子處理器接收輸出訊號,及光學地執行該第一向量及第二矩陣的矩陣-向量乘法。
一些實施例涉及一種配置為執行矩陣-矩陣運算的光學處理器,該光學處理器包括:第一光學子處理器,包括:第一複數個光學調變器,各自被配置為接收輸入光學訊號、調變該輸入光學訊號、及輸出表示單熱向量的元素的第一光學訊號;第二複數個光學調變器,各自光學耦合到該第一複數個光學調變器中的光學調變器且被配置為接收該第一光學訊號、調變該第一光學訊號、及輸出第二光學訊號,該第二光學訊號表示該單熱向量與第一矩陣之間的矩陣-向量乘法的一部分;第一複數個光學偵測器,各自耦合到該第二複數個光學調變器中的光學調變器且被配置為將該第二光學訊號轉換成電訊號,該電訊號表示該矩陣-向量乘法的該部分;及第一複數個電氣加總單元,各自耦合到該第一複數個光學偵測器中的二或更多個光學偵測器的輸出且被配置為輸出電訊號,該電訊號表示由該矩陣-向量乘法的部分的加總所造成的向量的元素;及第二光學子處理器,包括:第三複數個光學調變器,各自從該第一光學子處理器的該複數個電氣加總單元中的電氣加總單元接收輸出電訊號,且其中該第三複數個光學調變器各自被配置為接收輸入光學訊號、依據接收到的該輸出電訊號來調變該輸入光學訊號、及輸出表示該向量的該元素的第三光學訊號;第四複數個光學調變器,各自光學耦合到該第三複數個光學調變器中的光學調變器且被配置為接收表示該向量的元素的該第三光學訊號、調變該第三光學訊號、及輸出第四光學訊號,該第四光學訊號表示該第一矩陣與第二矩陣之間的矩陣-矩陣乘法的一部分;第二複數個光學偵測器,各自耦合到該第三複數個光學調變器中的光學調變器且被配置為將該第三光學訊號轉換成電訊號,該電訊號表示該矩陣-矩陣乘法的一部分;及第二複數個電氣加總單元,各自耦合到該第二複數個光學偵測器中的二或更多個光學偵測器的輸出且被配置為輸出電訊號,該電訊號表示由該矩陣-矩陣乘法的部分的加總所造成的矩陣的元素。
由於例如阻抗的電氣性質,基於電路的處理器面臨關於速度及效率的限制。例如,連接多個處理器核心及/或將處理器核心連接到記憶體使用具有非零阻抗的導電跡線。大的阻抗值限制了可以用可以忽視的位元錯誤率將資料傳輸通過跡線的最大速率。對於需要數十億次運算的處理而言,這些延遲可能導致顯著的時間損失。除了電路的速度低效以外,由電路的阻抗所造成的能量的耗散所產生的熱也是一個開發電處理器的障礙。
發明人已經認識及理解到,替代於電訊號或與電訊號組合使用光訊號會克服電氣計算的許多上述問題。光訊號在光所行進的介質中用光速行進;因此光子訊號的延遲的限值比電氣傳播延遲小得多。此外,不會由於增加光訊號行進的距離而消耗電力,從而開闢了在使用電訊號的情況下會是不可行的新的拓撲結構及處理器佈局。因此,與常規的電處理器相比,基於光的處理器(例如基於光子的處理器)可以具有較佳的速度及效率效能。
發明人已經認識及理解到,基於光的處理器(例如基於光子的處理器)可以非常適合於特定類型的演算法。例如,許多機器學習演算法(例如支援向量機、人工神經網絡、機率圖形模型學習)很大地依賴線性變換或多維陣列/張量。最簡單的示例是將向量乘以矩陣,其使用具有
Figure 02_image001
的數量級的複雜度的常規演算法,其中
Figure 02_image003
是與相同維度的向量相乘的方形矩陣的維數。發明人已經認識及理解到,藉由將特定一組輸入光訊號傳播通過有源光學元件的可配置陣列,基於光子的處理器可以用高度並行的方式執行線性變換(例如矩陣乘法)。使用此類實施方式,與使用基於常規電子電路的處理的數十到數百奈秒相比,可以在數百皮秒中完成維度
Figure 02_image005
的矩陣-向量乘法。
通用矩陣-矩陣(GEMM)運算在軟體演算法中是無所不在的,包括用於圖形處理、人工智慧、神經網絡、及深度學習的彼等演算法。現今電腦中的GEMM計算一般是使用基於電晶體的系統(例如GPU系統或脈動陣列系統)來執行的。也可以藉由使用表示輸入矩陣的元素的干涉儀的網格陣列混合表示輸入向量的元素的輸入光訊號的陣列,來在光子域中執行GEMM計算。
使用光子陣列的矩陣-向量乘法在與它們的電子對應物相比時可以是高度省電的,因為光訊號可以在損耗量最小的情況下在半導體基板內傳播。發明人已經認識及理解到與使用此類光子陣列相關聯的多個挑戰。雖然在數學上藉由單式矩陣來描述干涉,但也可以藉由故意將損耗添加到干涉儀的網格陣列中來將方案概括為任意線性變換。然而,光子陣列通常使用不展現相位相關損耗的實際上無損的干涉儀。此性質可能限制系統中可用的調變方案;特別是,它防止使用高帶寬(例如高達100GHz)的基於接面的調變方案。此外,每條光路徑「看見」的光學元件的數量與矩陣的維數成比例。這使得在每個光學訊號上賦予的損耗量對於較大的矩陣而言較大。真實世界調變器中的非零安插損耗因此對可以在此類光子處理系統中表示的矩陣的尺寸設定了實際限制。並且,將矩陣程式化到干涉儀的陣列中可能具有挑戰性,因為矩陣的元素必須藉由演算法轉換成每個干涉儀的相位設定。
因此,發明人已經開發了用於執行矩陣-向量乘法(GEMM運算的核心運算)的新穎光子處理架構,該架構避免或減輕上述的挑戰。光子處理架構藉由以下步驟來執行矩陣-向量乘法:調變光訊號的陣列的強度以對輸入向量的元素進行編碼;衰減或放大光訊號的陣列以在輸入矩陣的元素與輸入向量的元素之間執行乘法;用輸出偵測器陣列偵測光訊號;及加總生成的光電偵測器電流以產生表示矩陣-向量乘積的最終輸出結果。
發明人已經認識及理解到,此類光子處理架構可以將不相干的光(例如電磁波不在一段時間內彼此維持固定及可預測的相位關係的光)用於其運算。使用不相干光源陣列的優點是,不需要相位校正方案(例如以校正熱漂移及/或元件製造缺陷)。此外,發明人已經認識及理解到,在此類光子處理架構中,可以將矩陣元素直接編碼在衰減器中。最後,發明人已經認識到,無論所編碼的矩陣的尺寸如何,此類光子處理架構中的光路徑都穿過兩個調變器(例如向量調變器及矩陣調變器)。本文中所述的光子處理架構因此允許具有耦合的幅度及相位調變的調變方案,且允許動態損耗、不與矩陣的尺寸成比例的損耗縮放、及更直接的編碼方案,同時維持基於光子的GEMM處理器的電力效率優點。
以下是與用於使用線性光子處理器執行GEMM運算的技術相關的各種概念及該等技術的實施例的更詳細說明。應理解,可以用許多方式中的任一者實施本文中所述的各種態樣。僅出於說明的目的提供具體實施方式的示例。此外,以下實施例中所述的各種態樣可以單獨使用或用任何組合使用,且不限於本文中明確描述的組合。
圖1是依據本文中所述的技術的一些實施例的實施光子處理技術的光子處理系統的示意圖。光子處理系統100包括控制器102、光源108、及光子處理器110。光子處理系統100從外部處理器(例如CPU)接收由一組輸入位元串所表示的輸入向量及/或矩陣作為輸入,及產生由一組輸出位元串所表示的輸出向量及/或矩陣。例如,若輸入向量是
Figure 02_image007
維向量,則輸入向量可以由
Figure 02_image007
個單獨的位元串所表示,每個位元串均表示向量的相應分量。替代性或附加性地,例如,若輸入矩陣是
Figure 02_image009
矩陣,則輸入矩陣可以由
Figure 02_image011
個單獨的位元串所表示,每個位元串均表示輸入矩陣的相應分量。可以將輸入位元串作為電訊號或光學訊號從外部處理器接收,而可以將輸出位元串作為電訊號或光學訊號向外部處理器傳送。
在一些實施例中,控制器102不一定在每個過程迭代之後都輸出輸出位元串。反而,控制器102可以使用一或更多個輸出位元串來決定新的輸入位元串流以饋送通過光子處理系統100的元件。在一些實施例中,可以將輸出位元串本身用作輸入位元串以用於由光子處理系統100所實施的後續過程迭代。在其他的實施例中,用各種方式結合多個輸出位元串流以決定後續的輸入位元串。例如,可以作為後續輸入位元串的決定的一部分將一或更多個輸出位元串加總在一起。
在一些實施例中,控制器102包括用於控制光源108及/或光子處理器110的處理器104及記憶體106。可以使用記憶體106來儲存輸入位元串及輸出位元串及/或來自光子處理器110的結果。記憶體106也可以儲存可執行指令,該等可執行指令在由處理器104執行時,控制光源108及/或控制光子處理器110的元件(例如編碼器、相移器、及/或偵測器)。例如,記憶體106可以儲存可執行指令,該等可執行指令使得處理器104基於已經發生的計算迭代的數量來決定新的輸入值以發送到光子處理器110。因此,由光子處理系統100向外部處理器所傳送的輸出矩陣可以是多次累加的乘法運算的結果,而不僅是單次乘法運算的結果。在另一個實施例中,可以在儲存在記憶體106中之前藉由處理器104數位地對由光子處理系統100計算的結果進行運算。對位元串的運算可以不僅是線性的,也可以是非線性的,更一般而言是圖靈完備的。
依據本技術的一些實施例,可以將光源108配置為將
Figure 02_image003
個光學訊號提供給光子處理器110。光源108可以包括例如配置為產生
Figure 02_image003
個光學訊號的一或更多個相干及/或不相干的光源。在一些實施例中,光學光源108可以包括配置為用波長λ0 發射光的雷射。發射波長可以位於電磁頻譜的可見光、紅外線(包括近紅外線、中紅外線、及遠紅外線)、或紫外線部分中。在一些實施例中,λ0 可以位在O帶、C帶、或L帶中。在一些實施例中,光學光源108可以包括配置為用不同的波長λ1 、λ2 、…、λn 發射光的多個雷射。
依據本文中所述的技術的一些實施例,光源108的每個輸出均可以一對一地耦合到光子處理器110的單個輸出。在一些實施例中,可以將光源108設置在與光子處理器110相同的基板(例如相同的晶片)上。在此類實施例中,可以在設置在相同基板上的波導器(例如矽光子波導器)中從光源108向光子處理器110傳送光學訊號。在其他的實施例中,可以將光源108設置在與光子處理器110分離的基板上。在此類實施例中,可以藉由一或更多條光纖從光源108向光子處理器110傳送光學訊號。
依據本文中所述的技術的一些實施例,光子處理器110可以執行矩陣-向量、矩陣-矩陣、及/或張量-張量乘法運算。在一些實施例中,光子處理器110包括兩個部分:調變器,被配置為將輸入向量、矩陣、及/或張量的元素編碼在來自光源108的光學訊號的幅度及/或強度中(參照例如圖2的幅度調變器204及208);及光學偵測器,被配置為偵測光學訊號及將光學訊號轉換成與編碼的元素的乘積成比例的電訊號(參照例如圖2的偵測器210)。光子處理器110向控制器102輸出這些電訊號以供進一步處理及/或輸出到外部處理器。
在一些實施例中,輸入矩陣或張量中的一或更多者可能太大而不能使用單次行程在光子處理器中編碼。在此類情況下,可以在光子處理器中對大型矩陣的一個部分進行編碼,且可以針對大型矩陣及/或多個大型矩陣的該單個部分執行乘法過程。可以將該第一次運算的結果儲存在記憶體106中。隨後,可以在光子處理器中對大型矩陣的第二部分進行編碼,且可以執行第二乘法過程。大型矩陣的此種「鋪瓦」可以繼續直到已經對大型矩陣的所有部分都執行了乘法過程為止。可以接著組合多次乘法過程的結果(其可以儲存在記憶體106中)以形成張量乘法運算的最終結果。
在一些實施例中,光子處理器110可以將
Figure 02_image003
個單獨的光學脈波轉換成電訊號。在一些實施例中,如至少與圖2及3結合來更詳細地描述的,光學脈波中的每一者的強度及/或相位均可以藉由光子處理器110內的光學偵測器來測量。可以接著電氣地加總及/或向控制器102輸出表示彼等測量到的值的電訊號以供在另外的計算中使用及/或顯示。
圖2是繪示依據本文中所述的技術的一些實施例的線性光子處理器200的示例的示意圖。可以將線性光子處理器200實施為如與圖1結合描述的光子處理系統100的光源108及光子處理器110。
在一些實施例中,可以將線性光子處理器200配置為執行矩陣-向量乘法運算
Figure 02_image013
,其中
Figure 02_image015
是輸入
Figure 02_image017
Figure 02_image019
矩陣,
Figure 02_image021
是具有
Figure 02_image019
個元素的輸入向量,而
Figure 02_image023
是具有P個元素的輸出向量。光源202可以產生向
Figure 02_image019
個第一幅度調變器204傳遞的相干或不相干的光。光源202在一些實施例中可以位在與第一幅度調變器204相同的基板上,且可以藉由光子波導器向第一幅度調變器204傳遞光。在一些實施例中,光源202可以位在與第一幅度調變器204不同的基板上,且可以至少部分地藉由光纖來向第一幅度調變器204傳遞光。
在一些實施例中,可以將第一幅度調變器204配置為基於相應的輸入位元串(其例如來自控制器,如圖1中所示)來將輸入向量的元素編碼到從光源202所接收的光學訊號的幅度中。調變機構可以包括例如電機、電漿彌散、電光(
Figure 02_image025
Figure 02_image027
Figure 02_image029
、...)、熱光、及/或電壓光。假設
Figure 02_image031
是接收到的光學訊號的強度,該光學訊號是第
Figure 02_image033
個第一幅度調變器的輸入。每個第一幅度調變器
Figure 02_image033
均調變光的強度以對
Figure 02_image035
的值進行編碼,使得每個第一幅度調變器
Figure 02_image033
均輸出具有強度
Figure 02_image037
的第一光學訊號。
在一些實施例中,第一幅度調變器204可以是由DAC(未圖示)所控制的可變衰減器或任何其他合適的幅度調變器,該DAC可以進一步由控制器(例如圖1的控制器102)所控制。一些幅度調變器對於電信應用而言是已知的,且可以用在一些實施例中。在一些實施例中,可以將可變分束器用作第一幅度調變器204,其中僅保留可變分束器的一個輸出且丟棄或忽略其他輸出。可以用在一些實施例中的幅度調變器的其他示例包括行進波調變器、基於空腔的調變器、Franz-Keldysh調變器、基於電漿子的調變器、基於2-D材料的調變器、及奈米光電機開關(NOEMS)。
在一些實施例中,來自第一幅度調變器204的第一光學訊號可以被分離
Figure 02_image039
次且使用光子波導器206來傳送到
Figure 02_image017
個第二幅度調變器208。光子波導器206可以包括例如矽光子波導器或任何其他合適的介電光子波導材料。第一光學訊號的強度在被分離之後(例如在由每個第二幅度調變器208所接收時)為
Figure 02_image041
在一些實施例中,第二幅度調變器208中的每一者均可以被配置為對矩陣
Figure 02_image015
的一個元素的一個值進行編碼。第二幅度調變器208可以是與第一幅度調變器204同類的調變器,或者,可以是與第一幅度調變器204不同類的調變器。可以存在總共
Figure 02_image043
個第二幅度調變器以表示整個矩陣
Figure 02_image015
。可以在矩陣
Figure 02_image015
的第
Figure 02_image045
列中藉由第二幅度調變器208來調變所接收到的具有強度
Figure 02_image041
的第一光學訊號以產生具有強度
Figure 02_image047
的第二光學訊號。此光學強度表示輸出光學訊號的幅度中的矩陣元素
Figure 02_image049
與向量元素
Figure 02_image035
的乘法。
在一些實施例中,可以向光學偵測器210傳送及使用該光學偵測器來偵測由每個第二幅度調變器208所輸出的輸出第二光學訊號。光學偵測器210可以例如是配置為產生光電流的光電偵測器,該光電流與入射於偵測器上的光的強度成比例。詳細而言,由位於列
Figure 02_image045
及行
Figure 02_image033
中的光學偵測器210所產生的光電流為
Figure 02_image051
。在一些實施例中,光學偵測器210可以例如是如於2019年5月14日所提出且標題為「Optical Differential Low-Noise Receivers and Related Methods」的第2020-0228077號的美國專利申請公開文件中所描述的光電偵測器,該文獻的整體內容特此以引用方式併入本文中。
在一些實施例中,可以組合由每個列中的光學偵測器210所產生的光電流以產生表示輸出向量
Figure 02_image023
的元素的加總輸出
Figure 02_image053
,該輸出向量是向量
Figure 02_image021
與矩陣
Figure 02_image015
的列的乘積。此加總可以藉由例如使用導電跡線212(例如金屬跡線)將單個列的所有光電偵測器的所有陰極連接在一起來執行。在一些實施例中,可以使用跨阻放大器(TIA)與具有適當的位元寬度及精確度的類比轉數位轉換器(ADC)的組合來讀出加總的光電流的值。可以接著將讀出值回傳到控制器(例如圖1的控制器102)以供在另外的計算及/或應用中使用。
在一些實施例中,可以理解,可以藉由將由第二幅度調變器208所輸出的光學訊號選路到相同的偵測器來減少光學偵測器210的數量。此種變更仍然將產生適當的電訊號輸出,因為矩陣-向量乘法資訊被編碼在光的強度中,該強度與由光學偵測器所產生的光電流成正比。為了防止選路到相同偵測器的訊號之間不需要的干擾,可以使用充分地不相干的光源,或者也可以對光學偵測器210進行時間多工,使得第一輸出訊號首先到達,第二輸出訊號在第一輸出訊號之後到達,第三輸出訊號在第二輸出訊號之後到達,以此類推。在此類實施例中,偵測器讀出電路系統可以使用電儲存電路來儲存已經累積的電荷。
在先前的光子處理架構中,對矩陣
Figure 02_image015
進行編碼的調變器的輸入必須使用計算量大的分解程序來計算。在所述的線性光子處理器200中,對每個矩陣調變器的輸入均是矩陣
Figure 02_image015
本身的元素,從而完全消除了在執行光學計算之前進行任何分解的需要。
此外,矩陣
Figure 02_image015
的「歐幾里得空間」表示而不是由先前的光子處理架構所使用的「相位空間」表示的直接結果是,上述線性光子處理架構中的
Figure 02_image003
Figure 02_image003
矩陣存在
Figure 02_image011
條光路徑,每條光路徑均與
Figure 02_image015
矩陣的單個元素相關聯。此結果對於此架構的效能及縮放而言有兩個重要的含義。
首先,無論所表示的矩陣的尺寸如何,每條光路徑均包含兩個調變器。相比之下,一些光子處理架構中的光路徑包含
Figure 02_image055
個調變器。真實世界的調變器會遭受非零安插損耗,因此限制了對於給定的可接受光學損耗而言可以表示的矩陣尺寸。上述的線性光子處理器200並不遭受此種對矩陣尺寸的限制。
第二,在其他的光子處理架構中,每個矩陣元素一般均與通過光學陣列的許多光路徑相關聯。穿過任何給定「相位空間」調變器的路徑的數量影響了所表示的矩陣的許多元素。並且,由特定調變器所影響的元素的數量不是恆定的,從而引起不均勻的誤差靈敏度。例如,調變器陣列的中心附近的調變器的靈敏度可能比邊緣及拐角處的彼等調變器高得多。這是因為,與邊緣或拐角調變器相比,中心調變器位於較大數量的輸入光學訊號的傳播路徑中。相比之下,上述線性光子處理器200中的每個「歐幾里得空間」矩陣調變器中的誤差均僅影響矩陣元素的該特定值。
可以進一步理解,在一些實施例中,上述的線性光子處理器200可以減少光子處理架構內的光子交叉(例如波導器206的光子交叉)的數量。由於矩陣-向量乘法中的資料串流的本質(例如可以將單個向量元素廣播到多個列,且可以將來自每個列的不同行的訊號組合在一起以產生單個輸出向量元素),本質上在資料路徑中將存在可能位在光子域中或電氣域中的交叉。例如,對於光子處理器的情況而言,估算部分乘積
Figure 02_image057
涉及將
Figure 02_image035
廣播到
Figure 02_image059
的多個列。此時,不需要交叉。但是,為了執行單個列內的不同行的加總(即
Figure 02_image061
),光子或電氣交叉變得必要。
兩個光子波導器之間的交叉可以在物理上藉由在相同的半導體層內使用多模式干涉儀(MMI)交叉或藉由使用半導體基板的另一個層來實現。與電氣交叉相比,光子交叉是合乎需要的,因為光子交叉可以減少電路的可能不利地影響系統的帶寬的整體電容。然而,基於MMI的交叉可能對光學訊號誘發顯著的串擾及損耗。
用來廣播
Figure 02_image035
的值的二叉樹的本質事實上適於減少必要交叉的數量。例如,考慮值
Figure 02_image035
被分離
Figure 02_image003
次時的情況(對於
Figure 02_image009
矩陣與尺寸
Figure 02_image003
的向量之間的乘法而言)。若用單個1對
Figure 02_image003
的分離器執行分離,則可能需要大約
Figure 02_image063
的數量級的光子交叉。另一方面,若用以樹狀方式隔開的二進制的1對2分離器執行分離,則可能需要
Figure 02_image065
的數量級的光子交叉以清除廣播波導器。
在一些實施例中,在串擾及損耗因為光子波導器交叉的數量而變得重要時,可能需要用額外的電容為代價在電氣域中設計交叉。電氣域中的交叉由對相同半導體基板中的兩個不同金屬層中的兩個訊號進行選路而組成。可以將電氣交叉安置在光電偵測器的輸出處。
圖3A是依據本文中所述的技術的一些實施例用於實施矩陣-向量運算的線性光子處理器300a的說明性示例的方塊圖。線性光子處理器300a與如與圖2結合描述的線性光子處理器200類似,且被配置為執行相同的矩陣-向量乘法運算
Figure 02_image013
,其中
Figure 02_image015
是輸入
Figure 02_image017
Figure 02_image019
矩陣,
Figure 02_image021
是具有
Figure 02_image019
個元素的輸入向量,而
Figure 02_image023
是具有
Figure 02_image017
個元素的輸出向量。
在一些實施例中,線性光子處理器300a可以包括配置為輸出光學訊號的單個光源302。光源302可以是相干(例如雷射)或不相干的光源(例如熱光、超發光二極體、LED等等)。在一些實施例中,由光源302所輸出的光學訊號可以穿過分束器304,該分束器被配置為將光學訊號分離成
Figure 02_image019
個光學訊號,每個光學訊號均傳送到第一幅度調變器306。
與圖2的線性光子處理器200中一樣,可以將第一幅度調變器306配置為將輸入向量的元素編碼到從光源302所接收的光學訊號的幅度中。第一幅度調變器306可以是由DAC(未圖示)所控制的可變衰減器或任何其他合適的幅度調變器,該DAC可以進一步由控制器(例如圖1的控制器102)所控制。一些幅度調變器對於電信應用而言是已知的,且可以用在一些實施例中。在一些實施例中,可以將可變分束器用作第一幅度調變器204,其中僅保留可變分束器的一個輸出且丟棄或忽略其他輸出。可以用在一些實施例中的幅度調變器的其他示例包括行進波調變器、基於空腔的調變器、Franz-Keldysh調變器、基於電漿子的調變器、基於2-D材料的調變器、及奈米光電機開關(NOEMS)。
第一幅度調變器306可以接著輸出第一光學訊號,該等第一光學訊號在第一光學訊號的幅度(例如強度)中表示輸入向量的元素。可以將第一光學訊號傳送通過額外的分束器304,使得第一光學分離器可以分離
Figure 02_image017
次。可以接著將分離的第一光學訊號傳送到
Figure 02_image017
個第二幅度調變器308。
在一些實施例中,第二幅度調變器308中的每一者均可以被配置為對矩陣
Figure 02_image015
的一個元素的一個值進行編碼。第二幅度調變器308可以是與第一幅度調變器306同類的調變器,或者,可以是與第一幅度調變器306不同類的調變器。可以藉由第二幅度調變器208來調變接收到的第一光學訊號,以產生第二光學訊號,該第二光學訊號具有在輸出的第二光學訊號的幅度中表示矩陣元素
Figure 02_image049
與向量元素
Figure 02_image035
的乘法的強度。
在一些實施例中,可以向光學偵測器310傳送及使用該光學偵測器來偵測由每個第二幅度調變器308所輸出的輸出第二光學訊號。光學偵測器310可以例如是配置為產生光電流的光電偵測器,該光電流與入射於偵測器上的光的強度成比例。
在一些實施例中,可以將光學偵測器310的一些輸出傳送到電氣加總電路312。如圖3A的示例中所示,耦合到配置為表示矩陣列(例如元素
Figure 02_image067
Figure 02_image069
、及
Figure 02_image071
)的第二幅度調變器308的光學偵測器310的輸出被傳送到相同的電氣加總電路312。在此類實施例中,電氣加總電路312可以包括電路系統,該電路系統被配置為對從光學偵測器310接收到的光電流進行加法,使得來自電氣加總電路312的輸出電訊號表示輸入向量與矩陣列的乘積(例如對於矩陣
Figure 02_image015
的第一列而言,電氣地表示
Figure 02_image073
)。
在一些實施例中,電氣加總電路312可以包括電壓加總電路。例如,電氣加總電路312可以包括電阻器網絡及放大器電路。在一些實施例中,可以藉由單純將輸出節點結合在一起來加總由光學偵測器310所輸出的電訊號。在讀出輸出結果之前執行此電氣加總有兩個優點。第一,此較早的加總可以減少光子處理架構中所使用的混合式訊號讀出電路系統的數量,使得在架構中僅使用
Figure 02_image017
個讀出電路系統構件(而不是與圖2的線性光子處理器200的示例中一樣總共
Figure 02_image043
個此類電路系統)。第二,較早的加總增加了要由讀出電路系統所偵測的光電流的大小。在光學訊號到達每個第二幅度調變器308之前,它們被分離
Figure 02_image017
路。組合由
Figure 02_image019
個不同的光電偵測器所產生的光電流可以抵消由分離引起的強度減少(若
Figure 02_image075
)。
圖3B是繪示依據本文中所述的技術的一些實施例的線性光子處理器300b的示例的方塊圖,該線性光子處理器具有配置為最小化電路徑長度的佈局。因為電線遭受寄生電阻、電感、及電容的影響,將此類電線的佈局設計為最小化這些寄生效應(例如藉由最小化電跡線長度來最小化)可以是有用的。由光學偵測器310所輸出的電訊號是電流,且可以切換這些電流的速度可以取決於上述的電氣寄生性。為了允許高速運算,這些電氣寄生性應最小化。
線性光子處理器300b具有與圖3A的線性光子處理器300a相同的元件,然而為了明確起見未示出分束器304。然而,在圖3B的示例中,光學偵測器310在電氣加總電路312周圍設置成環形配置。此種環形配置最小化光學偵測器310與電氣加總電路312之間的電跡線的長度,藉此最小化例如電阻、電感、及電容的電氣寄生性。 I.代碼與訊號之間的非線性關係
類比電腦一般截取可以轉換成用以執行計算的某種物理過程(例如電氣、光子過程)的位元串作為輸入。電腦接著基於這些物理過程的一或更多個測量值來輸出位元串。
在一些實施例中,輸入位元串與調變訊號之間的關係以及輸出訊號與輸出位元串之間的關係不需要是線性的。事實上,對於某些演算法而言,非線性的訊號與代碼的關係可能是有利的。例如,在與影像分類相關的一些深度學習演算法中,在多個小值之間進行區分可能是更有價值的,而在多個大值之間進行區分可能是較沒有價值或不必要的。因此,此類演算法可以用輸入DAC及輸出ADC運行,該等輸入DAC及輸出ADC用碼本的較大部分對接近零的值進行編碼且用碼本的較小部分對接近最大輸入/輸出的大值進行編碼。可以藉由非線性的映射來增加輸入及輸出的有效動態範圍。 II.誤差校正
類比電腦可能在計算期間產生誤差。使用電子設備的類比電腦基本上會遭遇可能在讀出過程期間造成誤差的詹森-奈基斯特雜訊(Johnson-Nyquist noise)及電氣散粒雜訊。在接近輸出讀出電路系統的雜訊本底操作時,電雜訊可能會有小的機率導致輸出的最低有效位元(LSB)中的位元翻轉。LSB翻轉的機率對於具有較高帶寬的讀出電路而言較高。這些LSB翻轉誤差與數位計算電路(例如乘法-累加單元)中的閘誤差同義,但僅影響LSB。因此,若LSB翻轉誤差發生,則它們限於相對於正確輸出幾個百分比的誤差。例如,對於
Figure 02_image003
位元輸出而言,LSB中的位元翻轉誤差與
Figure 02_image077
的相對誤差對應。這與數位計算電路相反,在數位計算電路中,閘誤差(然而極罕見)可能在最高有效位元(MSB)中造成誤差,因為數位電路同等地處理每一個位元。在類比處理系統(例如圖2、3A、及3B的線性光子處理器)中,LSB具有較靠近雜訊功率的訊號功率,而較高的有效位元具有指數地比雜訊功率高的訊號功率。其結果是,在與LSB相比時,更高有效位元可以指數地較不可能容許位元翻轉誤差。
一種減輕位元翻轉誤差的方式是對計算執行誤差校正。可以執行的最簡單的誤差校正演算法是藉由執行相同的計算多次(例如至少三次)來增加冗餘訊息,及執行多數表決來決定較高機率的正確結果。由於類比電腦中的誤差的影響LSB的本質,不需要對整個輸出位元串進行表決。而是,可以僅對LSB、或至少對僅僅幾個LSB進行表決。
在運行對於小的誤差而言強健的演算法(例如人工神經網絡或通常的差分等式求解器)時,更高有效位元抵抗誤差的彈性(resiliency)給予類比處理器優勢。發明人已經認識到,用LSB中較高機率的位元翻轉誤差為代價,較快的類比處理器可以用來估算更具彈性的演算法。在一些深度學習演算法(例如用於影像分類的演算法)中,小誤差僅造成預測的信賴度減少,但它們不一定造成預測準確度的劣化。
使用基於強度的光學系統(例如圖2、3A、及3B的線性光子處理器)有許多優點,包括大量減少對溫度波動及製造缺陷的靈敏度。基於場的光子系統通常需要很大的穩定及微調才能可靠地作用。上述的提出的架構在很大程度上不受此類相位誤差及波動的影響。並且,因為基於強度的架構在它們的計算中並不使用相位資訊,所以它們適合具有耦合相位調變的強度調變方案。 III.部分乘積及它們的總和
在一些實施例中,用定點數表示來表示矩陣元素
Figure 02_image079
及向量元素
Figure 02_image035
。在此表示內,若
Figure 02_image081
是無符號的
Figure 02_image083
位元數字而
Figure 02_image085
是無符號的
Figure 02_image087
位元數字,則可以使用總共
Figure 02_image089
個位元來完全表示生成的向量元素
Figure 02_image091
,其中
Figure 02_image093
是矩陣
Figure 02_image015
中的行的數量。一般而言,用來表示矩陣-向量乘積的結果的位元數可以大於用來表示運算的輸入的位元數。若用來從光子處理器讀出值的類比轉數位轉換器(ADC)不能夠用全精確度讀出輸出向量,則可以將輸出向量元素捨入為ADC的精確度。
將ADC建構為在與用以將呈光學訊號的形式的輸入向量發送通過光子處理系統的速率對應的帶寬下具有高位元精確度可能是有挑戰性的。因此,若需要完全精確的計算,則ADC的位元精確度一般可能限制用以表示矩陣元素
Figure 02_image079
及向量元素
Figure 02_image095
的位元精確度。因此,發明人已經開發了一種藉由如下文所述地計算部分乘積及總和來用輸出向量的全精確度(其可能任意地高)獲得該輸出向量的方法。為了明確起見,假設表示
Figure 02_image097
Figure 02_image035
中的任一者所需的位元數是相同的,例如
Figure 02_image099
首先,可以將矩陣元素
Figure 02_image079
Figure 02_image035
的位元串表示分成
Figure 02_image101
個分區,其中每個分區均包含
Figure 02_image103
個位元。其結果是,可以將矩陣元素
Figure 02_image079
寫為
Figure 02_image105
,其中
Figure 02_image107
Figure 02_image079
的第
Figure 02_image109
高位
Figure 02_image111
位元串的
Figure 02_image111
位元值。就位元串的角度而言,可以將
Figure 02_image079
寫為
Figure 02_image113
。類似地,可以將
Figure 02_image035
寫為
Figure 02_image115
,其中可以就位元串的角度而言將向量元素
Figure 02_image035
寫為
Figure 02_image117
。可以依據這些分區將乘法
Figure 02_image119
分解為:
Figure 02_image121
其中集合
Figure 02_image123
Figure 02_image125
Figure 02_image127
的所有值的集合,其中
Figure 02_image129
在一些實施例中,可以接著將線性光子處理器程式化以實施矩陣
Figure 02_image107
及輸入向量
Figure 02_image131
,其中的每一者均僅為
Figure 02_image111
位元精確。矩陣-向量乘法產生中間結果:
Figure 02_image133
。輸出向量
Figure 02_image135
可以接著被儲存,且精確度高達
Figure 02_image137
個位元。此乘法對集合
Figure 02_image139
內的
Figure 02_image141
的不同值迭代。可以接著藉由用數位電子設備(例如在控制器中或其他地方)對
Figure 02_image109
Figure 02_image143
的不同迭代執行總和
Figure 02_image145
來計算最終結果。
即使在可用的ADC不能夠立即捕捉全精確度時,上述方法也允許使用者藉由操控部分乘積及它們的總和來獲得完全精確的計算。 IV.藉由序列化用張量泛化為GEMM
在一些實施例中,本文中所述(例如與圖2、3A、及3B結合描述)的線性光子處理器可以從矩陣-向量乘法運算延伸到矩陣-矩陣乘法。給定
Figure 02_image147
矩陣
Figure 02_image149
Figure 02_image151
矩陣
Figure 02_image153
,可以將線性光子處理器配置為產生
Figure 02_image155
矩陣
Figure 02_image157
。可以將矩陣
Figure 02_image149
編碼到光子處理器中的第二幅度調變器(例如第二幅度調變器208或308)中,且可以將矩陣
Figure 02_image153
的行
Figure 02_image159
編碼到第一幅度調變器(例如第一幅度調變器204或306)中。每個矩陣-向量乘法的結果是矩陣
Figure 02_image161
的行
Figure 02_image163
。藉由與
Figure 02_image165
的不同行執行乘法及將結果儲存在記憶體中(例如控制器102中),可以逐行建立矩陣
Figure 02_image161
。類似地,可以將矩陣
Figure 02_image153
編碼到光子處理器中的第二幅度調變器中,且可以將矩陣
Figure 02_image149
的列
Figure 02_image167
編碼到第一幅度調變器中。在此情況下,矩陣-向量乘法的結果是矩陣
Figure 02_image161
的列
Figure 02_image169
,且可以逐列建立輸出矩陣
Figure 02_image161
在一些實施例中,矩陣可能太大而不能在光子處理器中編碼。在此情況下,可以在第一大型輸入矩陣的一部分與第二大型輸入矩陣的一部分之間執行矩陣-矩陣乘法。此乘法的結果被儲存在記憶體中。隨後,可以將第一大型輸入矩陣的第二部分編碼在光子處理器中,且可以與第二大型輸入矩陣的一部分執行第二矩陣-矩陣乘法。大型矩陣的此種「鋪瓦」可以繼續直到對兩個大型矩陣的所有部分都執行了乘法過程為止。可以接著組合乘法過程的結果以產生兩個大型矩陣的乘法的最終結果。可以藉由以下步驟將此種序列化的想法應用於張量-張量乘法:一次處理張量的切片,將結果儲存在記憶體中,然後稍後組合結果以形成輸出張量。 V.神經網絡及深度學習的應用
本文中所述(例如與圖2、3A、及3B結合描述)的線性光子處理器具有廣泛的可適用性,因為它可以加速各種GEMM運算及使它們更省電。現今,GEMM被用在線性代數計算中,例如執行本徵值分解、奇異值分解、或對矩陣求逆。GEMM的一個重要應用是人工神經網絡。
一個深層的人工神經網絡在最基本的層次上涉及多個層(高達數百個層)的張量-張量乘法,每個層的線性變換後是非線性激活函數。考慮具有維數
Figure 02_image171
的神經網絡。對於具有
Figure 02_image173
個元素的輸入張量及具有
Figure 02_image173
個元素的權重張量而言,執行張量-張量乘法所需的計算量是
Figure 02_image175
,而執行激活函數所需的計算量是
Figure 02_image173
。因此,張量-張量乘法一般主導著深層神經網絡的計算,且因此本文中所提出的光子處理器可以用來加速人工神經網絡計算。
訓練人工神經網絡一般涉及運行反向傳播演算法。考慮具有權重矩陣
Figure 02_image015
及偏差向量
Figure 02_image177
的深層人工神經網絡的單個層。對於輸入向量
Figure 02_image021
而言,神經網絡的此層的輸出結果為
Figure 02_image179
,其中
Figure 02_image181
是按元素應用的非線性函數。在利用常規隨機梯度下降的反向傳播中,對權重矩陣進行迭代調整,使得將在時間
Figure 02_image183
的權重矩陣界定為在時間
Figure 02_image185
的權重矩陣的函數,且損失函數相對於權重矩陣的權重的導數如下:
Figure 02_image187
其中
Figure 02_image189
是學習速率,而
Figure 02_image191
分別表示權重矩陣
Figure 02_image193
的第
Figure 02_image125
列及第
Figure 02_image127
行的表項。
可以應用演算的鏈式規則以針對與此單個輸入向量
Figure 02_image195
相關聯的權重矩陣內的參數中的任一者計算損失函數的梯度(其中為了方便表示起見,使用定義
Figure 02_image197
):
Figure 02_image199
針對
Figure 02_image201
計算
Figure 02_image203
的導數造成:
Figure 02_image205
。可以接著將表示損失函數的梯度的總和重新寫為:
Figure 02_image207
可以接著將第一總和界定為反向傳播的誤差向量
Figure 02_image209
(其中
Figure 02_image211
是輸入向量),從而造成了最終的表達式:
Figure 02_image213
,其是誤差向量與輸入向量之間的外積。在非張量表示法中,可以將表達式寫為:
Figure 02_image215
一般而言,為了減少梯度更新中的雜訊(其可能造成模型參數頻繁跳變),不從單個資料樣本(例如單個輸入向量
Figure 02_image195
及單個誤差向量
Figure 02_image217
)截取更新
Figure 02_image219
。實際上,根據整批訓練資料集或根據該批訓練資料集的一部分計算平均更新。將
Figure 02_image221
Figure 02_image223
表示為來自具有總共
Figure 02_image019
個訓練示例的訓練資料集包的第
Figure 02_image225
個輸入向量及誤差向量。可以如下計算更新
Figure 02_image227
Figure 02_image229
可以使用兩個矩陣
Figure 02_image231
Figure 02_image233
之間的矩陣-矩陣乘積來高效地計算項
Figure 02_image235
。假設,誤差向量長P個元素,而輸入向量長R個元素,
Figure 02_image231
則為行是誤差向量
Figure 02_image223
Figure 02_image043
矩陣,而
Figure 02_image233
是列是轉置的輸入向量
Figure 02_image237
Figure 02_image239
矩陣。將兩個矩陣相乘提供了更新:
Figure 02_image241
因為所提出的線性光子處理器本身在歐幾里得空間中操作,所以它可以用來高效地計算此矩陣更新
Figure 02_image243
。本文中所述的線性光子處理器因此不僅適合深層人工神經網絡的前向傳播(估算),也適合反向傳播(訓練)。雖然以上推導適用於形式
Figure 02_image245
的完全連接的層,但包括線性變換之後再加上非線性的任何其他的層的梯度也可以用類似的方式來計算。 VI.帶寬與訊號之間的取捨
發明人已經進一步認識到,本文中所述的線性光子處理器架構可以在電流域中執行部分乘積之間(例如
Figure 02_image247
Figure 02_image033
個元素之間)的加總。在電流域中執行此加總允許在積分時間的長度與收集的訊號量之間進行取捨。由輸出取樣電路所收集的訊號量與由光學偵測器所收集的光的強度成比例,且是藉由光子處理器的輸入光功率及光學傳播損耗的函數。在光子處理器在系統的雜訊本底附近操作時,可以藉由選擇較長的積分時間來增加訊噪比(SNR)。此較長的積分時間在光子處理器的輸出處儲存較大量的電荷,從而在這些電荷被輸出取樣電路讀取時累計成較大的輸出訊號。可以將輸出取樣電路連接到類比-數位轉換器(ADC),該類比-數位轉換器輸出描述由輸出取樣電路所感測到的電荷量的位元串。為了使此位元串可靠(例如多次測量產生相同的輸出位元串),光子處理器的SNR可能需要高到足以支援輸出的有效位元數(ENOB)。因此,可以將光子處理器的速度選擇為使得系統的SNR對於輸出位元串所需的位元寬度而言足夠高。 VII.重新縮放
用於矩陣處理的類比計算系統具有受到物理雜訊限制(例如散粒雜訊、熱雜訊等等)或基於架構的限制所限制的有限動態範圍。在基於耗散(例如光學或電氣功率耗散)的計算方案中,此耗散基本上影響了處理器的連結預算、SNR、及精確度。為了避免這些限制及增加傳送通過系統的訊號量,發明人已經理解到,可以將矩陣的列重新縮放以最小化耗散,同時仍然執行與所需的計算成正比的計算。可以按列重新縮放矩陣
Figure 02_image249
。以下,將矩陣
Figure 02_image249
乘以向量
Figure 02_image195
Figure 02_image249
的每個列均可以與不同的縮放因子
Figure 02_image251
相關聯。例如,這些縮放因子可以是範圍從0到無限大的連續變數或為2的冪中的任一者。在使用數位電腦來執行重新縮放的一些實施例中,可以使用浮點數或定點數中的任一者來執行縮放及重新縮放運算。也可以按分塊或按矩陣重新縮放矩陣
Figure 02_image249
。為了獲得按分塊的縮放,可以單純將不同的列縮放因子設定為相同的值,而為了獲得按矩陣的縮放,可以將不同的分塊縮放因子設定為相同的值。
Figure 02_image253
在執行此按列重新縮放之後,可以藉由將縮放因子從矩陣計算的結果除掉來移除縮放因子
Figure 02_image251
。例如,若縮放因子是二的冪,則可以使用電子設備的節能位元移動運算來移除縮放因子。若列縮放因子不是二的冪,則可以執行除法。在一些實施例中,可以將表項
Figure 02_image255
正規化,因為幅度調變器的動態範圍有限。若
Figure 02_image257
,則表項在1處飽和。例如,假設
Figure 02_image259
。若
Figure 02_image261
,則
Figure 02_image263
。然而,若幅度調變器在1的值處飽和,則不能光學地表示10的值,且在光學上將把向量表示為
Figure 02_image265
。因此,可以將縮放因子的值選擇為使得向量
Figure 02_image267
中的元素的最大值不大於1。 VIII.用唯正處理器計算實數值矩陣
發明人已經認識到,類比處理器通常可以對唯正值的矩陣及張量進行編碼。例如,在使用不相干的光源時,光子處理器可以僅調變光學訊號的強度而不調變相位。物理上,強度是非負數。發明人已經認識到,對於大多數的應用而言,光子處理器將在可以包括正值及/或負值的元素的矩陣與向量之間執行乘法。發明人因此開發了一種方法,該方法藉由對數字線進行偏移及/或重新縮放僅使用幅度調變來在實數值矩陣與實數值向量之間執行矩陣-向量乘法運算。
假設原始實數值矩陣為
Figure 02_image007
(具有元素
Figure 02_image269
),且假設原始實數值向量為
Figure 02_image195
(具有元素
Figure 02_image271
)。原始矩陣的每個表項均可以偏移達常數值
Figure 02_image273
以產生新的矩陣
Figure 02_image275
,使得
Figure 02_image277
。可以將定值
Figure 02_image273
選擇為矩陣的最大負表項的絕對值(例如
Figure 02_image279
),或矩陣的最大可能負表項的絕對值,即使在特定的矩陣
Figure 02_image007
中未觀察到此值。類似地,向量元素可以偏移達定值
Figure 02_image281
以產生新的向量
Figure 02_image283
,使得
Figure 02_image285
。可以再次將定值
Figure 02_image287
選擇為向量的最大負表項的絕對值或向量的最大可能負元素的絕對值。
可以接著如下使用新的矩陣
Figure 02_image275
及向量
Figure 02_image283
來計算輸出向量
Figure 02_image289
Figure 02_image291
Figure 02_image293
Figure 02_image295
Figure 02_image297
其中可以使用光子處理器來估算第一項
Figure 02_image299
,且其中可以使用第二幅度調變器來對值
Figure 02_image301
進行編碼,而可以用第一幅度調變器來對值
Figure 02_image303
進行編碼。可以藉由數位向量處理器來估算第二項
Figure 02_image305
及第三項
Figure 02_image307
。雖然計算第三項招致了
Figure 02_image309
次運算的成本,但假設
Figure 02_image311
矩陣,可以在將由光子處理器計算的不同向量的數量上攤提成本。若此數量夠大,則可以選擇使用光子處理器來流水化第三項及矩陣乘法的計算。
在第一幅度調變器能夠對負數進行編碼(但第二幅度調變器不能)的情況下,也可以藉由以下步驟來計算第二項
Figure 02_image313
:將光子處理器的列數擴展一個,及將此新的最後一列(列數
Figure 02_image315
)中的所有第二幅度調變器設為一(例如針對所有
Figure 02_image033
設定
Figure 02_image317
)。注意,對於此情況而言,可以將
Figure 02_image281
的值設定為使得
Figure 02_image319
,或出於其他原因(例如下文所述的ADC及讀出電路系統的動態範圍)保持此定值偏移。類似地,在第二幅度調變器能夠對負數進行編碼(但第一幅度調變器不能)的情況下,可以藉由計算具有一種向量的矩陣-向量乘法來估算第三項
Figure 02_image321
,該向量具有值為一的元素。再次地,可以將
Figure 02_image273
選擇為使得
Figure 02_image323
,或可以出於其他原因保持定值偏移。
發明人進一步認識到,避免需要在光子處理器中對負數進行編碼的此種方法可以產生新的矩陣
Figure 02_image325
或新的向量
Figure 02_image327
,其元素超出光子處理器的編碼範圍。在不失一般性的情況下,可以將輸入矩陣及輸入向量正規化,使得每個表項均位在編碼範圍內。例如,假設原始的矩陣元素及原始的向量元素具有-1與1之間的值(例如
Figure 02_image329
Figure 02_image331
)。添加定值偏移
Figure 02_image273
Figure 02_image281
意味著,修改的矩陣元素值位在新的範圍
Figure 02_image333
中,且類似地,修改的向量元素值位在新的範圍
Figure 02_image335
中。若光子處理器調變器僅能對0與1之間的值進行編碼,則在一些實施例中,可以引入縮放因子
Figure 02_image337
Figure 02_image339
。在此類實施例中,可以將
Figure 02_image337
Figure 02_image339
選擇為使得
Figure 02_image341
Figure 02_image343
,使得
Figure 02_image345
Figure 02_image347
位在光子處理器的可能的值的範圍內。換言之,替代於如上所述地計算
Figure 02_image349
,可以計算:
Figure 02_image351
其中可以在後處理階段移除因子
Figure 02_image353
上述的偏移及縮放方法排除了在處理器的第一幅度調變器及第二幅度調變器中對負數進行編碼的需要。該方法也招致了輸出處的較高訊號累積的額外益處。因為編碼的矩陣及編碼的向量現在具有非負的元素,所以在輸出處加總的電流具有相同的流向,從而導致累積較大量的將由輸出取樣電路所取樣的電荷。這在對輸出向量
Figure 02_image355
進行編碼的輸出處導致較大的訊號。發明人認識到,較大的訊號輸出對於在電子雜訊本底(一般由詹森-奈基斯特雜訊、電子散粒雜訊、及光子散粒雜訊組成)附近操作的處理器而言是重要的。 VIII.基於損耗的調變及零值的光學表示
圖4A-4C示出依據本文中所述的技術的一些實施例可以用在一些實施例中作為如與圖2、3A、及3B的示例結合描述的第一幅度調變器及/或第二幅度調變器的幅度調變器的說明性示例。圖4A示出調變器400a,該調變器使用不完美的幅度或相位調變器404及408來在干涉儀佈置中實現「良好」的零值。分束器402及410分別分離及重新組合穿過調變器400a的光學訊號。可以添加相移器406以偏置干涉儀以增加消光比,且調變器408用於損耗匹配。在一些實施例中,調變器400a可以在推挽模式下使用。圖4B示出調變器400b,在一些實施例中,該調變器使用完美的消光電吸收調變器412來增加調變器的消光比。圖4C示出調變器400c,該調變器使用環形諧振器414或調離諧振的空腔。在一些實施例中,環形諧振器414可以調離諧振,使得光的
Figure 02_image357
部分在諧振狀態下傳遞,其中
Figure 02_image143
是計算所需的精確度。
因為此類幅度調變器的目標僅是調變光學強度,所以幾乎任何強度調變策略(例如包括耦合相位調變)都可以用於幅度調變。為了更準確的效能,幅度調變器的消光比應儘可能地大。在一些實施例中,可能需要鏈接調變器(例如串聯地安置調變器)以增加它們的消光比或相移。然而,如下文所述,可以用生成輸出的有效安插損耗交換此準確度。
若強度調變中的任一者從如圖4A-4C中所示的基於損耗的調變切換到基於增益的調變,則相同的矩陣-向量乘法架構也會適用。這暗示,相同的架構也將在包括半導體光學放大器的光子集成電路平台(例如磷化銦(InP)或其他III-V族半導體平台)上工作。在一些實施例中,選擇基於損耗的調變與基於增益的調變的組合可能是有利的。前者可以更省電,而後者可以用來防止電路中的損耗。
在僅使用基於損耗的調變方案時,輸入矩陣及輸入向量表項僅可以減少光的強度。在數學上,這藉由讓表項具有小於一的值來描述:
Figure 02_image359
Figure 02_image361
。為了實現此點,將輸入矩陣及輸入向量正規化。替代於直接計算
Figure 02_image013
,首先提取常數因子使得
Figure 02_image363
,其中
Figure 02_image365
表示按元素的最大範數(例如
Figure 02_image149
的最大絕對值表項,對於矩陣而言為
Figure 02_image367
,而對於向量而言為
Figure 02_image369
)。可以使用光子處理器來計算
Figure 02_image371
,且可以使用數位電路系統藉由將最終結果與
Figure 02_image373
相乘來恢復輸出向量
Figure 02_image023
因為訊號被編碼為光學強度,所以上述的矩陣-向量乘法僅適用於非負值的矩陣及非負值的向量。可以藉由使用四個乘法來計算任何實數值矩陣與實數值向量之間的矩陣-向量乘法以增強演算法。為此,可以將輸入矩陣分成其正分量及負分量。例如,
Figure 02_image375
,其中
Figure 02_image377
與僅包含正(負)分量的矩陣對應。類似地,可以將輸入向量分成其正及負分量。例如,
Figure 02_image379
,其中
Figure 02_image381
與僅包含正(負)分量的向量對應。為了執行乘法
Figure 02_image383
,可以個別執行乘法
Figure 02_image385
,且可以據此將結果加總及/或減去。此方法可以用名稱「差分矩陣乘法」(DMM)來描述。
幅度調變器一般不能夠(1)完全消滅光及(2)允許光完全通過。然而,這兩個性質是幅度調變器的重要參數;前者的性質與消光比相關,而後者的性質是調變器的安插損耗。乍看,本文中所述的技術需要,對
Figure 02_image015
Figure 02_image195
進行編碼的幅度調變器能夠完全消滅光(例如具有任意高的消光比的調變器)。然而,可以利用被計算以減去由
Figure 02_image015
Figure 02_image195
調變器處的不完美的消光所造成的此種「共模偏移」的四個項
Figure 02_image387
。如圖4A-4C中所示,即使利用不完美的強度或相位調變器,也可以使用干涉方案來實現高的消光比。
上述的DMM技術允許用具有不良消光比且不能對接近零的值進行編碼的幅度調變器進行通用矩陣乘法。假設第
Figure 02_image033
個幅度調變器「AM」具有
Figure 02_image389
的強度調變範圍。此調變器的消光比是
Figure 02_image391
,其具有有限的值。驅動此調變器的電子電路系統(其涉及數位轉類比轉換器)離散化
Figure 02_image393
Figure 02_image395
之間的範圍。類似地,假設第
Figure 02_image045
行及第
Figure 02_image033
列的幅度調變器「M」具有
Figure 02_image397
的強度調變範圍。此調變器的消光比為
Figure 02_image399
。驅動此調變器的電路系統也離散化
Figure 02_image401
Figure 02_image403
之間的範圍。
對於第一幅度調變器而言,可以將新的調變範圍
Figure 02_image405
界定為具有範圍來自
Figure 02_image407
的值。並且,對於第二幅度調變器而言,也可以將新的調變範圍
Figure 02_image409
界定為具有範圍來自
Figure 02_image411
的值。可以接著將矩陣-向量乘積計算為:
Figure 02_image413
Figure 02_image415
Figure 02_image417
Figure 02_image419
因為矩陣及向量的正的部分及負的部分都由相同的調變器調變,該調變器具有相同的最小值。因此,藉由使用這些DMM技術來消除共模偏移,可以執行矩陣-向量乘法,好像第一幅度調變器及第二幅度調變器都具有完美的消光比一樣。這允許使用範圍較廣的調變機構,且允許進行較高速度的向量及矩陣元素的調變,該調變可以在需要高的消光比的同時實現。取捨是生成的光電流的範圍減少,其可以是或可以不是輸出的位元精確度的限制因子。 IX.波長分割多工
圖5是繪示依據本文中所述的技術的一些實施例包括波長分割多工(wavelength division multiplexing, WDM)的線性光子處理器500的示例的方塊圖。線性光子處理器500與圖2、3A、及3B的示例的線性光子處理器類似,但已經利用WDM電路506及512來增強。或者,在一些實施例中,這些WDM電路506及512可以是偏振分割多工電路。線性光子處理器500並不需要光路徑中的任一者之間的干涉,且因此有助於完全由寬帶光子構件組裝而成,從而放鬆了對用於WDM的波長範圍的約束。
圖5的示例線性光子處理器500已被配置為將
Figure 02_image421
矩陣
Figure 02_image015
與三個3元素的向量
Figure 02_image423
Figure 02_image425
、及
Figure 02_image427
相乘。線性光子處理器500可以包括配置為產生具有不同波長的光學訊號的多個光源502a、502b、及502c。例如,可以將光源502a、502b、及502c配置為產生分別為紅光、綠光、及藍光的光學訊號。可以因此藉由第一幅度調變器504將向量
Figure 02_image423
Figure 02_image425
、及
Figure 02_image427
的每個元素編碼到具有不同波長的光學訊號的幅度中。
在穿過第一WDM電路506之後,第一光學訊號可以被分束器508分離且傳送到第二幅度調變器510,該第二幅度調變器被配置為將矩陣-向量元素乘積編碼到輸出的第二光學訊號中。這些輸出的第二光學訊號可以由第二WDM電路512所接收且隨後由光學偵測器514偵測及轉換成電訊號。可以如本文中先前所述地將電訊號加總及/或讀出。 X.實施帶符號的值
在一些實施例中,可以使用電路系統來實現負的矩陣及/或向量值。例如,圖6A是依據本文中所述的技術的一些實施例用於實施負值及正值的電路600a的示意圖。光學偵測器606可以具有第一終端及第二終端(例如對於光學偵測器606包括如圖6A中所描繪的光電二極體的實施例而言為陰極及陽極)。第一終端可以藉由開關604耦合到幹線電壓602或加總節點中的任一者。第二終端可以藉由開關605耦合到參考電壓608(例如接地)或加總節點中的任一者。開關604、605可以例如是電晶體開關。藉由使用開關604及605將第一終端或第二終端中的任一者連接到加總節點,可以改變從光學偵測器606所輸出的電流的方向,使得實施標號(例如正號或負號)。電晶體開關的開關狀態可以藉由光子處理器的額外控制電路系統(未圖示)及/或耦合到光子處理器的控制器來控制。
此外,如圖6B中所示,可以使用XOR運算以預先計算計算的符號,然後設定光學偵測器606的輸出電訊號的符號,來實施帶符號的矩陣及/或向量值。在一些實施例中,電路600b可以包括XOR運算610。可以藉由截取輸入向量元素
Figure 02_image035
的符號及矩陣元素
Figure 02_image079
的符號,及對這些訊號執行XOR運算,來計算陰極取向(例如光學偵測器606的陰極取向)。輸出陰極取向位元可以設定來自光學偵測器的電流是否為正或負(例如輸出陰極取向位元可以觸發電路600a的開關604及605的佈置或設定的改變)。
發明人已經進一步開發了用於將這些「符號位元」分佈在整個光子處理器內的方法。可以將每個向量元素的符號位元傳輸到配置為對向量元素值進行編碼的每個第一幅度調變器附近,其中在此向量符號位元與矩陣符號位元之間執行XOR運算之後,可以使用符號位元訊號來控制偵測器電流的流動。
替代性或附加性地,可以使用電氣通訊來分佈符號位元。此通訊可以使用標準數位設計實作來執行以最小化歪斜及抖動。例如,可以使用樹狀或網格拓撲來同時將單個位元分佈到許多地方。此樹狀結構的時間延遲可能超過處理器的向量速率,此時將有多個符號同時傳送到調變器。
發明人進一步認識到,可以光子地分佈符號位元。例如,可以使用額外的波導器來對符號位元進行編碼及傳送。然而,也可以使用光學訊號的未使用的自由度來傳送符號位元。例如,可以用另一個偏振或另一個波長調變光學訊號以對符號位元進行編碼及分佈。符號位元也可以在偏振或波長的邏輯選擇中編碼。例如,若向量符號位元為正,則光子處理器可以使用波長
Figure 02_image429
的光,而若向量符號位元為負,則光子處理器可以使用波長
Figure 02_image431
的光。光子符號位元分佈產生了多個優點。首先,符號位元訊號及矩陣-向量乘積訊號可以用相同的傳播速度傳播。第二,符號位元訊號及矩陣-向量乘積訊號可以在相同的光學波導器中傳播,從而排除了系統中額外波導器的使用。
圖7示出依據本文中所述的技術的一些實施例的光子處理器內的符號位元分佈的基於偏振的方案。第一分束器702可以分離輸入光學訊號,且可以在第一幅度調變器704處將向量元素值編碼在光的幅度中。可以使用偏振旋轉器706及符號調變器708來將符號位元編碼到光學訊號的偏振中。可以接著使用偏振分束器710來重新組合兩個光學訊號。可以理解,偏振分束器可以用來(1)將具有兩個不同偏振的輸入光藉由它們的偏振分離到兩個輸出路徑中,及(2)將來自兩個輸入路徑的光(每個輸入路徑具有其自身的偏振)組合成具有兩個不同偏振的單個輸出光。
重新組合的光學訊號可以被分離且傳送到第二幅度調變器712,該等第二幅度調變器被配置為輸出表示向量元素-矩陣元素乘積的第二光學訊號。第二光學訊號可以穿過允許分離符號716及值718的額外偏振分束器716。
圖8是繪示依據本文中所述的技術的一些實施例用於實施帶符號的值的過程800的流程圖。過程800可以藉由任何合適的計算設備來執行。例如,在一些實施例中,過程800可以藉由耦合到光子處理器的控制器(例如如與圖1結合描述的控制器102)來執行。在一些實施例中,過程800可以藉由相對於光子處理器位在遠端(例如作為雲端計算系統的一部分)的一或更多個處理器來執行。
過程800開始於動作802處,在動作802處,光學偵測器可以將接收到的光學訊號轉換成第一電訊號,光學訊號由光子處理器的一部分所輸出。光學偵測器可以包括第一終端及第二終端。例如,光學偵測器可以包括光電二極體,且第一終端及第二終端可以分別是陽極及陰極。在一些實施例中,第一電訊號可以是光電流。
在動作802之後,過程800可以繼續進行到動作804,在一些實施例中,在動作804處,耦合到光學處理器的至少一個常規處理器可以決定第一電訊號是否表示正號數值或負號數值。該至少一個常規處理器可以至少部分地基於輸入向量元素的符號及輸入矩陣元素的符號來決定第一電訊號的標號。例如,如與圖6B結合描述的,該至少一個常規處理器可以使用XOR運算來決定第一電訊號的標號。
在動作802之後,過程800可以繼續進行到動作806,在動作806處,響應於決定第一電訊號是否表示正號數值或負號數值,光子處理器的控制電路系統可以佈置第一開關及第二開關的設定的設定,該第一開關耦合到光學偵測器的第一終端,該第二開關耦合到光學偵測器的第二終端。例如,在一些實施例中,第一開關及/或第二開關可以包括電晶體開關,且佈置第一開關及/或第二開關的設定可以包括以下步驟:施加或移除閘極電壓以啟用第一開關及/或第二開關。
動作806可以在兩個子動作806a及806b中進一步進行。在子動作806a中,控制電路系統可以至少部分地藉由將第一開關設定為將第一終端耦合到參考電壓及將第二開關設定為將第二終端耦合到節點(例如輸出節點)來產生正號數值輸出。第一開關及第二開關的此類設定可以使得光學偵測器輸出正電流。在子動作806b中,控制電路系統可以至少部分地藉由將第一開關設定為將第一終端耦合到節點及將第二開關設定為將第二終端耦合到電壓軌來產生負號數值輸出。第一開關及第二開關的此類設定可以使得光學偵測器輸出負電流。
在動作806之後,過程800可以繼續進行到動作808,在動作808處,光學偵測器可以輸出第一電訊號,使得第一電訊號穿過第一開關或第二開關中的任一者。第一電訊號的路徑基於先前對第一電訊號是否表示正號數值或負號數值的決定。 XI.子矩陣處理架構
矩陣-矩陣、矩陣-向量、及張量-張量乘法運算本質上是遞歸的。考慮矩陣
Figure 02_image433
(用Pythonic表示法表示)與向量
Figure 02_image435
之間的乘法。具有輸出
Figure 02_image437
Figure 02_image439
的乘法可以視為子矩陣
Figure 02_image441
與子向量
Figure 02_image443
之間的乘法。此邏輯可以遞歸,直到元素
Figure 02_image441
Figure 02_image443
為純量元素為止。上述的此類遞歸適用於將尺寸
Figure 02_image445
的矩陣與尺寸
Figure 02_image447
的向量相乘,其中
Figure 02_image003
是整數。給定任意尺寸的矩陣,可以依需要添加零以滿足這些尺寸需求。然而,應理解,將矩陣分成兩個列及兩個行不是必要的。可以將矩陣分成
Figure 02_image449
個列及
Figure 02_image161
個行,這將導致不同的縮放。
也可以使用子矩陣庫用此種遞歸方式配置矩陣處理器。圖9A-9D是繪示依據本文中所述的技術的一些實施例佈置成子矩陣處理器的光子處理器900的示意圖。每個子矩陣處理器902均被標記為
Figure 02_image451
,且向量904被標記為
Figure 02_image453
。在圖9A-9D的示例中,
Figure 02_image455
,然而可以理解,在一些實施例中,子矩陣及向量可以具有其他的尺寸。子向量被分離且傳送到相關的子矩陣處理器。在幅度調變器906處在每個子矩陣處理器中執行子矩陣與子向量之間的矩陣-向量乘法。接著光學地將矩陣-向量乘法傳送到光學偵測器908。光學偵測器908被配置為將接收到的光學訊號轉換成電訊號。可以接著在不同的子矩陣處理器之間將相關的子向量電訊號加總在一起。在圖10A-10B中,示出了依據一些實施例的光子處理器1000的另一個實施例。本端地使用ADC 1010來將子向量輸出轉換成位元串,且使用數位電路系統(未示出)來將最終輸出相加在一起。 XII.具有多個光波長的光子處理
到目前為止,已經描述了使用電子電路系統來執行加總的線性光子處理器架構。圖11示出繪示依據本文中所述的技術的一些實施例的線性光子處理器1100的替代性實施例的示意圖,該線性光子處理器被配置為在光域中執行加總及使用具有多個波長的輸入光。在圖11的示例中,每個第一幅度調變器1102均接收不同波長的光:
Figure 02_image429
Figure 02_image431
、⋯、
Figure 02_image457
。線性光子處理器1100中的向量調變策略及矩陣調變策略與由圖2、3A、及3B的線性光子處理器所執行的策略類似。然而,在線性光子處理器1100中,在光學訊號被第二幅度調變器1104調變之後不立即偵測光學訊號。而是,可以在光學訊號被光學偵測器1108偵測之前將光學訊號饋送到光學組合器電路1106中。因此,與圖2、3A、及3B的先前所述的線性光子處理器中總共
Figure 02_image043
個光學偵測器相比,圖11的實施例中僅有
Figure 02_image017
個光學偵測器1108。
圖12A是依據本文中所述的技術的一些實施例配置為用於與多個光波長一起使用的光學組合器1106的示意圖。光學組合器1106可以包括塞取環濾波器1210。可以將與環諧振及從輸入1(例如從第二幅度調變器1104)所接收的光學訊號投放到輸出匯流排波導器中,而來自輸入2(例如來自匯流排)的不與環諧振的光學訊號穿過環到輸出匯流排波導器。因此,環被調諧成與到達對應的第二幅度調變器1104的光的波長諧振,但不與處理器中所使用的任何其他波長諧振。至少在一些實施例中,環濾波器因此可以具有具有自由光譜範圍(FSR),該FSR大到足以支援單個FSR內總共至少
Figure 02_image019
個諧振。
圖12B是依據本文中所述的技術的一些實施例的圖12A的組合器的FSR的說明圖。可以將環濾波器設計為具有大的自由光譜範圍(FSR)但具有足夠高的品質因子,使得來自第二幅度調變器的輸入的許多諧振尖峰被捕捉。
圖12C是依據本文中所述的技術的一些實施例的圖12A的組合器中的幾個組合器的透射與波長的關係的說明圖。每個組合器可以彼此失諧,使得僅將一個光波長從輸入1(例如從第二幅度調變器1104)投放到輸出。也可以使用其他的非諧振多波長組合器(例如y組合器或指向性耦合器)用一些光學損耗為代價來組合不同波長的輸出光。 XIV.實施稀疏矩陣及/或向量
在許多計算領域中常常遭遇稀疏矩陣(例如具有很少的非零元素的矩陣)。在一些實施例中,如圖13A-13C的示例中所示,可以藉由使用安置在處理器架構內的電氣或光學開關,來在矩陣
Figure 02_image015
或向量
Figure 02_image195
中實施稀疏表項。線性光子處理器1300a、1300b、及1300c與如與圖3結合描述的線性光子處理器300a類似,且包括光源1302、第一幅度調變器1306、第二幅度調變器1308、光學偵測器1310、及電氣加總電路1312。然而,線性光子處理器1300a、1300b、及1300c包括額外的電氣或光學開關以實施稀疏矩陣或向量表項。
將電氣開關1311安置在光學偵測器1310之後(如在圖13A的線性光子處理器1300a中那樣)可以實施矩陣
Figure 02_image015
中的稀疏表項。替代性或附加性地,如圖13B的線性光子處理器1300b中所示,可以將電氣開關1313安置在電氣加總電路1312之後,以實施矩陣
Figure 02_image015
的稀疏列。替代性或附加性地,可以將圖13C的線性光子處理器1300c中所示的光學開關1314安置在第一幅度調變器1306之後以實施向量
Figure 02_image195
中的稀疏表項。可以理解,可以在線性光子處理器中使用開關1311、1313、及1314的任何組合以實施稀疏矩陣及/或向量表項。藉由確保零值與第二幅度調變器1308的預設狀態對應,可以節省稀疏矩陣表項的能源。如此,不會在施加零上花費能源。
替代性或附加性地,可以使用預先計算來實施稀疏或單位子矩陣。類比處理器一般從計算量極大的密集(非稀疏)運算中獲得優勢。假設矩陣
Figure 02_image007
及向量
Figure 02_image195
;若矩陣
Figure 02_image007
的列是稀疏的,則在數位計算系統上個別執行運算可能是有益的。例如,若
Figure 02_image007
的整個列
Figure 02_image059
包含零表項,則電腦不應進行計算且應針對該向量表項
Figure 02_image459
僅輸出零。另一個極端的示例,若整個矩陣是單位矩陣,則電腦應僅回傳向量
Figure 02_image195
。兩個示例都不需要任何計算,而是僅在輸入與輸出之間進行映射,該映射可以高效地使用數位電路來進行。可以實施光子處理器外部的編譯器系統以決定是否要使用數位電路系統(如先前的情況)或使用類比處理器來計算
Figure 02_image461
的矩陣列與向量
Figure 02_image195
之間的特定乘法。
圖14是繪示依據本文中所述的技術的一些實施例執行包括稀疏向量及/或矩陣的矩陣-向量運算的過程的流程圖。可以部分地藉由任何合適的計算設備以及光子處理器來執行過程1400。例如,在一些實施例中,過程1400可以藉由耦合到光子處理器的控制器(例如耦合到如與圖13A-13C結合描述的光子處理器的如與圖1結合描述的控制器102)來執行。
過程1400開始於動作1402處,在一些實施例中,在動作1402處,可以使用第一光學調變器來調變輸入光學訊號。可以例如藉由光源(例如圖13A-13C的光源1302)來供應輸入光學訊號。可以藉由第一光學調變器來調變輸入光學訊號以在由第一光學調變器所輸出的第一光學訊號中光學地表示向量的元素。例如,可以將第一光學調變器配置為調變輸入光學訊號的幅度(例如強度),及將向量的元素的值編碼到光的幅度中。
過程1400可以繼續進行到動作1404,在動作1404處,可以藉由第二光學調變器來調變第一光學訊號。第一光學訊號可以被分離(例如使用分束器來分離)且傳送到多個第二光學調變器。可以將第二光學調變器程式化為具有矩陣列的元素。藉由調變第一光學訊號的幅度,第二光學調變器可以產生第二光學訊號,該等第二光學訊號光學地表示被加數的值(例如向量元素與矩陣列的元素的乘積)。被加數若加總在一起可以表示向量元素與矩陣列的之間的乘積。
在動作1404之後,過程1400可以繼續進行到動作1406,在動作1406處,可以藉由光學偵測器將第二光學訊號轉換成複數個被加數電訊號。在一些實施例中,每個光學訊號均可以由光學偵測器所接收,該光學偵測器被配置為將接收到的光的幅度轉換成電訊號。例如,光學偵測器可以包括光電偵測器,該等光電偵測器被配置為輸出具有與由光電偵測器所接收的光的強度成比例的大小的光電流。在一些實施例中,多個第二光學訊號可以由單個光學偵測器所接收(例如同時接收或例如藉由分時多工在不同的時間接收)。
動作1400可以接著繼續進行到動作1408,在動作1408處,可以使得耦合到第一光學調變器的輸出的開關及/或耦合到光學偵測器的輸出的開關防止傳輸一或更多個訊號。例如,在一些實施例中,光學開關可以耦合到第一光學調變器的輸出以在向量的元素的值等於零時防止向第二光學調變器傳輸第一光學訊號。光學開關可以例如開啟以防止傳輸第一光學訊號。如此,可以將真實的零值傳播通過光子處理器。替代性或附加性地,可以使得耦合到光學偵測器的輸出的一或更多個開關在矩陣列的一或更多個元素的值等於零時防止傳輸被加數電訊號。例如,可以使得耦合到光學偵測器的輸出的電氣開關在矩陣列的對應元素的值等於零時開啟。在一些實施例中,可以將耦合到多個光學偵測器的輸出(例如耦合到電氣加總電路1312的輸出)的額外開關配置為在整個矩陣列的值等於零時防止傳輸加總的電訊號。 XIV.訊號讀出策略
對於大型矩陣而言,上述藉由電氣地將偵測器輸出結合在一起來將矩陣列電流相加在一起的方法可能造成顯著的寄生電容。由於接收器電路的負載,這些寄生電容可能使得高速運算有挑戰性。為了防止這樣,依據本文中所述的一些實施例,發明人已經開發了如圖15A-15D中所示的幾個訊號讀出策略。
圖15A示出依據一些實施例的基於光學-電子-光學轉換的說明性讀出系統1500a。在說明性的讀出系統1500a中,藉由使用第一幅度調變器1502及第二幅度調變器1504調變光學訊號,來光學地執行矩陣-向量元素乘法。可以藉由光學偵測器1506將來自第二幅度調變器1504的光學訊號轉換成電訊號,然後在電流域中相加。可以使用跨阻放大器(TIA)1508來將加總的電訊號轉換成放大的電壓,該電壓可以接著驅動光學調變器1510。可以將來自光學調變器1510的訊號傳送到光學偵測器1512及轉換成電訊號。可以接著使用TIA 1514來將這些電訊號轉換成電壓,然後使用類比轉數位轉換器(ADC)1516作為數位串讀出。此類實施例可以允許對子群訊號進行長途選路而不會產生大的寄生電容(例如藉由在光學調變器1510與光學偵測器1512之間使用光子波導器來對訊號進行選路,而不是在電氣域中對訊號進行選路)。
圖15B示出依據本文中所述的一些實施例的基於子群電流放大的說明性讀出系統1500b。此子群電流放大可以例如使用電流鏡電路1518來執行。可以接著使用TIA 1514來將放大的電流轉換成電壓且使用ADC 1516作為數位串讀出。
圖15C示出依據本文中所述的一些實施例的基於電流域中的子群內加法及電壓域中的子群加法的說明性讀出系統1500c。可以在電流域中執行光學偵測器1506的子群內輸出。可以使用TIA 1508來將子群內輸出轉換成電壓。可以在此後例如使用耦合到作為輸入的多個電阻器(例如R1、R2)的運算放大器來執行較大的子群加法。可以使用ADC 1522讀出加總的電壓訊號作為數位串。
圖15D示出依據本文中所述的一些實施例的基於數位加法的說明性讀出系統1500d。可以在電流域中執行光學偵測器1506的子群內輸出,然後使用TIA及ADC 1524來將子群內輸出轉換成數位電壓訊號。可以接著藉由使用數位加法器1526來執行數位加法。
半導體基板中的光子處理器的佈局就處理器的效能(例如速度及/或功率)的角度而言可以有很大的影響。減少讀出電路系統(例如包括TIA及ADC)的電容的一個通用策略是將光電偵測器及讀出電路群集在彼此附近以減少電連接的長度。電連接(例如經由電線的電連接)對於輸出讀出電路系統而言招致了可能限制讀出電路系統的增益或帶寬的額外電容。
另一方面,光子連接(例如經由光子波導器的光子連接)並不向系統添加更多的電容。因此,在半導體基板中對光子處理器進行佈局的另一個策略(在半導體基板處,元件一般在二維平面上佈局)是具有四個獨立的區塊:每個區塊沿著x軸線及y軸線相對於彼此反射,如圖16A-16D的佈局1600中所示。光學調變器1602及1604可以藉由波導器1606連接到光學偵測器1608。反射的區塊允許光學偵測器1608群集在彼此附近及減少額外電容量,若電氣地進行連接,則該額外電容量會添加到系統。
若可以將系統佈局在三維區塊(先進未來的半導體基板中的三維區域)中,則將系統分成八個獨立的區塊可能是有利的:每個區塊均沿著x軸線、y軸線、及z軸線(未圖示)反射。輸出光電偵測器可以彼此相鄰群集。一般而言,若可以將系統佈局在
Figure 02_image003
維區塊中,則有
Figure 02_image447
個獨立的區塊是有利的,每個區塊均沿著N 個可能維度的一條軸線反射,使得輸出光電偵測器彼此相鄰群集。 XV.矩陣-矩陣運算
圖17是依據本文中所述的技術的一些實施例配置為實施矩陣-矩陣運算的光子處理器1700的方塊圖。光子處理器1700包括兩個矩陣-向量子處理器。這些矩陣-向量子處理器具有與如與圖3結合描述的線性光子處理器300類似的架構。兩個矩陣子處理器都包括光源1702、分束器1704、及第一幅度調變器1706。由第一幅度調變器1706所輸出的第一光學訊號可以被額外的分束器1704分離且傳送到第二幅度調變器1708。由第二幅度調變器1708所輸出的光學訊號可以被光學偵測器1710偵測且轉換成電訊號。由光學偵測器1710所輸出的電訊號可以被電氣加總電路1717加總。然而,光子處理器1700使用第一子處理器的電氣輸出作為對第二子處理器的輸入。在一些實施例中,第一子處理器的電氣輸出可以在被傳送到第二矩陣子處理器之前藉由放大器1714來放大。
考慮兩個矩陣
Figure 02_image149
Figure 02_image153
之間的乘法,其中輸出矩陣為
Figure 02_image157
。可以將矩陣
Figure 02_image153
程式化到第一矩陣-向量處理器的第二幅度調變器1708中,且可以將矩陣
Figure 02_image149
程式化到第二矩陣-向量處理器的第二幅度調變器1708中。為了讀出生成的矩陣
Figure 02_image161
,可以將單熱(one-hot)向量(例如一個表項具有一的值而所有其他表項都具有零的值的向量)程式化到第一子矩陣向量的第一幅度調變器1706中,使得任何時候都只能導通一個調變器。
在一些實施例中,單熱向量傳播通過光子處理器1700。在單熱向量傳播通過第一矩陣子處理器的第二幅度調變器1708時,它們攜帶表示矩陣
Figure 02_image153
的行的資訊。可以將矩陣
Figure 02_image153
的行傳送及程式化到第二矩陣處理器的第一幅度調變器1706中。來自光源1702的光學訊號可以接著將矩陣
Figure 02_image153
的行傳送到第二矩陣子處理器的第二幅度調變器1708,該等第二幅度調變器被程式化為具有矩陣
Figure 02_image149
的元素。輸出向量與最終矩陣
Figure 02_image161
的行對應。更具體而言,若使用者提交向量
Figure 02_image463
(全部為零除了一個作為第
Figure 02_image059
元素的一以外的向量),則輸出將是
Figure 02_image161
的第
Figure 02_image059
行。例如,提交
Figure 02_image465
回傳
Figure 02_image161
的第一行。因此,可以數位地執行及儲存(例如藉由外部記憶體來儲存)矩陣
Figure 02_image153
的行與矩陣
Figure 02_image149
的元素之間的乘法。藉由將不同的單熱向量傳播通過光子處理器1700,可以執行整個矩陣-矩陣乘法運算。
圖18是繪示依據本文中所述的技術的一些實施例使用光子處理器來執行矩陣-矩陣運算的過程的流程圖。可以部分地藉由任何合適的計算設備以及光子處理器來執行過程1800。例如,在一些實施例中,過程1800可以藉由耦合到光子處理器的控制器(例如耦合到如與圖17結合描述的光子處理器的如與圖1結合描述的控制器102)來執行。
過程1800可以開始於動作1802處,在一些實施例中,在動作1802處,可以將第一矩陣程式化到第一光學子處理器中。例如,可以將第一矩陣程式化到第一光學子處理器的第二幅度調變器(例如第二幅度調變器1708)中。可以例如基於從外部控制器所接收的位元串來將第一矩陣程式化到第二幅度調變器中。第一矩陣的個別元素可以各自程式化到第二幅度調變器的個別幅度調變器中。例如,可以將具有一的值的第一矩陣元素程式化到第二幅度調變器中的第一者中,使得第二幅度調變器中的該第一者可以允許接收到的光學訊號的強度在不改變的情況下穿過幅度調變器。可以將具有零的值的第二矩陣元素程式化到第二幅度調變器中的第二者中,使得幅度調變器中的該第二者可以消滅接收到的光學訊號的強度且可以輸出幅度為零或接近零的光學訊號。
在一些實施例中,過程1800可以接著繼續進行到動作1804,在動作1804處,可以將第二矩陣程式化到第二光學子處理器中。可以將第二矩陣程式化到第二光學子處理器的第二幅度調變器(例如第二幅度調變器1708)中。可以例如基於從外部控制器所接收的位元串來將第二矩陣程式化到第二幅度調變器中。與第一矩陣一樣,可以將第二矩陣的個別元素程式化到第二光學子處理器的第二幅度調變器的個別幅度調變器中。在一些實施例中,第二光學子處理器可以包括耦合到第一光學子處理器的輸出的輸入;
在動作1804之後,過程1800可以繼續進行到動作1806,在動作1806處,將複數個單熱向量輸入到第一光學子處理器中。例如,可以將該複數個單熱向量程式化到第一光學子處理器的第一幅度調變器1706中。藉由將來自光源的光學訊號傳播通過第一幅度調變器(例如傳播單熱向量)及傳播到程式化為具有第一矩陣的第二幅度調變器,第一光學子處理器可以將第一矩陣元素集合(例如矩陣列、矩陣行)傳播到第二光學子處理器。例如,可以使用來自第一光學子處理器的輸出光學訊號來將第一矩陣的第一矩陣元素集合程式化到第二光學子處理器的第一幅度調變器中。藉由將另一個光學訊號(例如源自光源)傳播通過第二光學子處理器的第一幅度調變器及第二幅度調變器,可以執行第一矩陣的第一矩陣元素集合與第二矩陣的元素之間的乘法。
隨後,在一些實施例中,在動作1808處,第二光學子處理器可以輸出輸出向量,該輸出向量表示第一矩陣與第二矩陣的乘法的一部分。例如,第二光學子處理器可以輸出加總的電訊號(例如來自電氣加總電路1712),該等加總的電訊號表示第一矩陣及第二矩陣的元素的乘積。
在已經如此描述了此技術的至少一個實施例的幾個態樣的情況下,要理解,本領域中的技術人員將容易想到各種變更、變體、及改良。
可以用許多方式中的任一者實施本文中所述的技術的上述實施例。例如,可以使用硬體、軟體、或上述項目的組合來實施實施例。在用軟體實施時,可以在任何合適的處理器或處理器集合(無論其是否被提供在單個電腦中或分佈在多個電腦之中)上執行軟體代碼。可以將此類處理器實施為集成電路,在集成電路元件中具有一或更多個處理器,包括本領域中習知的例如名稱為CPU晶片、GPU晶片、微處理器、微控制器、或協同處理器的市售集成電路元件。或者,可以將處理器實施在定制的電路系統(例如ASIC)或由配置可程式化邏輯設備所造成的半定制的電路系統中。作為又一個另外的替代方案,無論是否是市售、半定制、或定制的,處理器都可以是大型電路或半導體元件的一部分。舉一個具體的示例,一些市售的微處理器具有多個核心,使得彼等核心中的一個核心或子集可以構成處理器。然而,也可以使用呈任何合適格式的電路系統來實施處理器。
並且,可以將本文中所概述的各種方法或過程編碼為軟體,該軟體在運轉各種作業系統或平台中的任一者的一或更多個處理器上可執行。可以使用多種合適的程式設計語言及/或程式設計工具中的任一者來撰寫此類軟體,包括腳本語言及/或腳本工具。在一些情況下,可以將此類軟體編譯為在架構或虛擬機上執行的可執行機器語言代碼或中間代碼。附加性地或替代性地,可以解譯此類軟體。
可以將本文中所揭露的技術實施為非暫時性電腦可讀取媒體(或多個電腦可讀取媒體)(例如電腦記憶體、一或更多個軟碟、光碟、光學碟、磁帶、快閃記憶體、現場可程式化邏輯閘陣列或其他半導體元件中的電路配置、或其他非暫時性的有形電腦儲存媒體),其被編碼為具有一或更多個程式,該一或更多個程式在一或更多個處理器上執行時執行實施本揭示內容的各種實施例的方法。一或更多個電腦可讀取媒體可以是可運輸的,使得可以將儲存在該一或更多個電腦可讀取媒體上的一或更多個程式加載到一或更多個不同的電腦或其他的處理器上以實施如上所述的本揭示內容的各種態樣。
計算設備可以額外具有一或更多個元件及周邊設備,包括輸入及輸出設備。這些設備可以用來呈現使用者介面等等。可以用來提供使用者介面的輸出設備的示例包括用於輸出的視覺呈現的印表機或顯示螢幕及用於輸出的聲波呈現的揚聲器或其他聲音產生設備。可以用於使用者介面的輸入設備的示例包括鍵盤及指標設備(例如滑鼠、觸控板、及數位圖形輸入板)。舉另一個例子,計算設備可以藉由語音辨識或用其他的可聽格式接收輸入資訊。舉另一個例子,計算設備可以從攝影機、雷射雷達、或產生視覺資料的其他設備接收輸入。
計算設備的實施例也可以包括光子處理器,例如本文中所述的光子處理器。計算設備的處理器可以經由一或更多個介面對光子處理器發送及接收資訊。發送及接收的資訊可以包括光子處理器的偵測器的設定及/或來自光子處理器的偵測器的測量結果。
用語「程式」或「軟體」在本文中用來指任何類型的電腦代碼或電腦可執行指令集,其可以用來程式化一或更多個處理器以實施如上所述的本揭示內容的各種態樣。並且,應理解,依據此實施例的一個態樣,在執行時執行本揭示內容的方法的一或更多個電腦程式不需要位在單個電腦或處理器上,而是可以用模組化的方式分佈在多個不同的電腦或處理器中以實施本揭示內容的各種態樣。
電腦可執行指令可以呈現許多由一或更多個電腦或其他設備所執行的形式(例如程式模組)。程式模組可以包括執行特定任務或實施特定抽象資料類型的常式、程式、物件、元件、資料結構等等。可以在各種實施例中依需要組合或分佈程式模組的功能性。
並且,可以用任何合適的形式將資料結構儲存在電腦可讀取媒體中。為了簡單說明起見,可能將資料結構示為具有藉由資料結構中的位置而相關的字段。此類關係可以同樣地藉由將字段的儲存分配給電腦可讀取媒體中傳達字段之間的關係的位置來實現。然而,可以使用任何合適的機構來建立資料結構的字段中的資訊之間的關係,包括藉由使用指標、標籤、或建立資料元素之間的關係的其他機構來建立。
本文中所述的技術的各種態樣可以單獨使用、組合使用、或用上文中所述的實施例中未具體描述的各種佈置來使用,且因此其應用不限於前述說明中所闡述或附圖中所繪示的元件的細節及佈置。例如,可以用任何方式將一個實施例中所述的態樣與其他實施例中所述的態樣組合。
並且,可以將本文中所述的技術實施為方法,本文中提供(包括參照圖8、15、及19來提供)了該方法的示例。作為方法的一部分而執行的動作可以用任何合適的方式排序。因此,可以建構動作用與所說明的順序不同的順序執行的實施例,即使在說明性的實施例中示為順序的動作,這也可以包括同時執行一些動作。
並且,本文中所使用的措詞及術語是用於說明的目的且不應被視為是限制。「包括」、或「具有」、「包含」、「涉及」、及本文中其變型的使用旨在涵蓋其後列出的項目及其等效物以及額外的項目。
100:光子處理系統 102:控制器 104:處理器 106:記憶體 108:光源 110:光子處理器 200:線性光子處理系統 202:光源 204:第一幅度調變器 206:光子波導器 208:第二幅度調變器 210:光學偵測器 212:導電跡線 302:光源 304:分束器 306:第一幅度調變器 308:第二幅度調變器 310:光學偵測器 312:電氣加總電路 402:分束器 404:調變器 406:相移器 408:調變器 410:分束器 412:調變器 414:環形諧振器 500:線性光子處理器 504:第一幅度調變器 506:第一WDM電路 508:分束器 510:第二幅度調變器 512:第二WDM電路 514:光學偵測器 602:幹線電壓 604:開關 605:開關 606:光學偵測器 610:XOR運算 702:第一分束器 704:第一幅度調變器 706:偏振旋轉器 708:符號調變器 710:偏振分束器 712:第二幅度調變器 716:符號 718:值 800:過程 802:動作 804:動作 806:動作 808:動作 902:子矩陣處理器 904:向量 906:幅度調變器 908:光學偵測器 1000:光子處理器 1010:ADC 1100:線性光子處理器 1102:第一幅度調變器 1104:第二幅度調變器 1106:光學組合器電路 1108:光學偵測器 1210:塞取環濾波器 1302:光源 1306:第一幅度調變器 1308:第二幅度調變器 1310:光學偵測器 1311:電氣開關 1312:電氣加總電路 1313:電氣開關 1314:光學開關 1400:過程 1402:動作 1404:動作 1406:動作 1408:動作 1502:第一幅度調變器 1504:第二幅度調變器 1506:光學偵測器 1508:跨阻放大器(TIA) 1510:光學調變器 1512:光學偵測器 1514:TIA 1516:類比轉數位轉換器(ADC) 1518:電流鏡電路 1522:ADC 1524:ADC 1526:加法器 1600:佈局 1602:光學調變器 1604:光學調變器 1606:波導器 1608:光學偵測器 1700:光子處理器 1702:光源 1704:分束器 1706:第一幅度調變器 1708:第二幅度調變器 1710:光學偵測器 1712:電氣加總電路 1714:放大器 1800:過程 1802:動作 1804:動作 1806:動作 1808:動作 1300a:線性光子處理器 1300b:線性光子處理器 1300c:線性光子處理器 1500a:讀出系統 1500b:讀出系統 1500c:讀出系統 1500d:讀出系統 300a:線性光子處理器 300b:線性光子處理器 400a:調變器 400b:調變器 400c:調變器 502a:光源 502b:光源 502c:光源 600a:電路 600b:電路 806a:子動作 806b:子動作
將參照以下圖式來描述各種態樣及實施例。應理解,圖式不一定是依比例繪製的。在附圖中,各種圖式中所繪示的每個相同或幾乎相同的元件由類似的標號所表示。為了明確起見,不是每一個元件都可以被標記在每一個附圖中。
圖1是繪示依據本文中所述的技術的一些實施例的光子處理系統的示例的示意圖;
圖2是繪示依據本文中所述的技術的一些實施例的線性光子處理器的示意圖;
圖3A是繪示依據本文中所述的技術的一些實施例用於實施矩陣-向量運算的光子架構的示例的方塊圖;
圖3B是繪示依據本文中所述的技術的一些實施例用於最小化電路徑長度的光子架構佈局的示例的方塊圖;
圖4A-4C是依據本文中所述的技術的一些實施例配置為光學地表示零的強度調變器的說明性示例;
圖5是繪示依據本文中所述的技術的一些實施例包括波長分割多工(wavelength division multiplexing, WDM)的光子架構的示例的方塊圖;
圖6A是依據本文中所述的技術的一些實施例用於實施帶符號的值的電路的示意圖;
圖6B是依據本文中所述的技術的一些實施例用於實施帶符號的值的布林電路的示意圖;
圖7是依據本文中所述的技術的一些實施例用於分佈符號位元的光學電路的示意圖;
圖8是繪示依據本文中所述的技術的一些實施例用於實施帶符號的值的過程的流程圖;
圖9A-9D是繪示依據本文中所述的技術的一些實施例佈置成子矩陣的光子處理器的示意圖;
圖10A-10B是繪示依據本文中所述的技術的一些實施例佈置成子矩陣的光子處理器的示意圖,其中該等子矩陣的輸出被本端地加總;
圖11是繪示依據本文中所述的技術的一些實施例配置為使用具有多個波長的輸入光的光子處理器的示意圖;
圖12A是依據本文中所述的技術的一些實施例配置為用於與多個光波長一起使用的光學組合器的示意圖;
圖12B是依據本文中所述的技術的一些實施例的圖12A的組合器的自由光譜範圍(FSR)的說明圖;
圖12C是依據本文中所述的技術的一些實施例的圖12A的組合器中的幾個組合器的透射與波長的關係的說明圖;
圖13A-13C是繪示依據本文中所述的技術的一些實施例配置為實施稀疏向量及/或矩陣的光子處理器的方塊圖;
圖14是繪示依據本文中所述的技術的一些實施例執行包括稀疏向量及/或矩陣的矩陣-向量運算的過程的流程圖;
圖15A-15D是繪示依據本文中所述的技術的一些實施例的光子處理器的訊號讀出策略的示意圖;
圖16A-16D是繪示依據本文中所述的技術的一些實施例具有群集讀出電路的光子處理器架構的示意圖;
圖17是依據本文中所述的技術的一些實施例配置為實施矩陣-矩陣運算的光子處理器的方塊圖;及
圖18是繪示依據本文中所述的技術的一些實施例使用光子處理器來執行矩陣-矩陣運算的過程的流程圖。
國內寄存資訊(請依寄存機構、日期、號碼順序註記) 無 國外寄存資訊(請依寄存國家、機構、日期、號碼順序註記) 無
100:光子處理系統
102:控制器
104:處理器
106:記憶體
108:光源
110:光子處理器

Claims (45)

  1. 一種用於實施帶符號的數值的裝置,該裝置包括: 一光學偵測器,包括一第一終端及一第二終端; 一第一開關,將該光學偵測器的該第一終端耦合到一節點或一參考電壓中的任一者; 一第二開關,將該光學偵測器的該第二終端耦合到該節點或一電壓軌中的任一者;及 控制電路系統,被配置為: 藉由將該第一開關設定為將該第一終端耦合到該參考電壓及將該第二開關設定為將該第二終端耦合到該節點,來產生一正號數值輸出;及 至少部分地藉由將該第一開關設定為將該第一終端耦合到該節點及將該第二開關設定為將該第二終端耦合到該電壓軌來產生一負號數值輸出。
  2. 如請求項1所述的裝置,其中該光學偵測器包括一光電二極體; 該第一終端包括一陽極;及 該第二終端包括一陰極。
  3. 如請求項1所述的裝置,其中該第一開關及該第二開關各自包括一電晶體開關。
  4. 如請求項1所述的裝置,其中該參考電壓是接地。
  5. 如請求項1所述的裝置,其中該控制電路系統包括配置為輸出一符號取向位元的邏輯閘,其中該符號取向位元包括指示該數值輸出是否包括一正號或負號數值的資訊。
  6. 如請求項5所述的裝置,其中該邏輯閘包括一XOR閘。
  7. 如請求項5所述的裝置,其中該邏輯閘被配置為比較一輸入向量元素的一值的一符號及一輸入矩陣元素的一值的一符號。
  8. 一種光學處理系統,包括: 第一複數個光學調變器,各自被配置為接收一輸入光學訊號、調變該輸入光學訊號、及輸出表示一向量的一元素的一第一光學訊號; 第二複數個光學調變器,各自光學耦合到該第一複數個光學調變器中的一光學調變器且被配置為接收該第一光學訊號、調變該第一光學訊號、及輸出一第二光學訊號,該第二光學訊號表示該向量與一矩陣之間的一矩陣-向量乘法的一部分; 複數個光學偵測器,各自光學耦合到該第二複數個光學調變器中的光學調變器且被配置為將該第二光學訊號轉換成一電訊號,該電訊號表示該矩陣-向量乘法的該部分,其中該複數個光學偵測器中的每個光學偵測器均包括一第一終端及一第二終端; 一第一開關,將一第一光學偵測器的該第一終端耦合到一輸出節點或一參考電壓中的任一者; 一第二開關,將該第一光學偵測器的該第二終端耦合到該輸出節點或一電壓軌中的任一者;及 控制電路系統,被配置為: 藉由將該第一開關設定為將該第一光學偵測器的該第一終端耦合到該參考電壓及將該第二開關設定為將該第一光學偵測器的該第二終端耦合到該輸出節點,來產生一正號數值輸出;及 至少部分地藉由將該第一光學偵測器的該第一開關設定為將該第一終端耦合到該輸出節點及將該第一光學偵測器的該第二開關設定為將該第二終端耦合到該電壓軌來產生一負號數值輸出。
  9. 如請求項8所述的光學處理系統,其中該光學偵測器包括一光電二極體; 該第一終端包括一陽極;及 該第二終端包括一陰極。
  10. 如請求項9所述的光學處理系統,其中該第一開關及該第二開關各自包括一電晶體開關。
  11. 如請求項9所述的光學處理系統,其中該參考電壓接地。
  12. 如請求項9所述的光學處理系統,更包括複數個電氣加總電路,其中: 該複數個中的一第一電氣加總電路耦合到二或更多個輸出節點,該二或更多個輸出節點中的每個輸出節點均藉由該第一開關或該第二開關耦合到一光學偵測器;及 該第一電氣加總電路被配置為輸出一電訊號,該電訊號表示由耦合到該二或更多個輸出節點的該等光學偵測器所輸出的該矩陣-向量運算的該等部分的一總和。
  13. 如請求項8所述的光學處理系統,其中該控制電路系統包括配置為輸出一符號取向位元的邏輯閘,其中該符號取向位元包括指示該數值輸出是否包括一正號或負號數值的資訊。
  14. 如請求項13所述的光學處理系統,其中該邏輯閘包括一XOR閘。
  15. 如請求項13所述的光學處理系統,其中該邏輯閘被配置為比較一輸入向量元素的一值的一符號及一輸入矩陣元素的一值的一符號。
  16. 一種用於實施由一光學處理器的光學偵測器所輸出的帶符號的數值的方法,該方法包括以下步驟: 使用包括一第一終端及一第二終端的一光學偵測器,將一輸出光學訊號轉換成一第一電訊號,該輸出光學訊號由該光學處理器的一部分所輸出; 使用耦合到該光學處理器的至少一個常規處理器,決定該第一電訊號是否表示一正號數值或一負號數值; 使用該光學處理器的控制電路系統,響應於決定該第一電訊號是否表示該正號數值或該負號數值,佈置耦合到該第一終端的一第一開關的設定及耦合到該第二終端的一第二開關的設定,其中該控制電路系統被配置為: 藉由將該第一開關設定為將該第一終端耦合到一參考電壓及將該第二開關設定為將該第二終端耦合到一節點,來產生一正號數值輸出;及 至少部分地藉由將該第一開關設定為將該第一終端耦合到該節點及將該第二開關設定為將該第二終端耦合到一電壓軌來產生一負號數值輸出;及 從該光學偵測器,輸出該第一電訊號,使得基於該第一電訊號是否表示一正號數值或一負號數值的該決定,該第一電訊號穿過該第一開關或該第二開關中的任一者。
  17. 如請求項16所述的方法,其中佈置該第一開關及該第二開關的設定包括以下步驟:從該控制電路系統,向該第一開關及該第二開關發送一或更多個電訊號,其中該第一開關及該第二開關各自包括一電晶體開關。
  18. 如請求項16所述的方法,更包括以下步驟: 使用一第一光學調變器來調變一輸入光學訊號以在一第一光學訊號中光學地表示一向量的一元素; 使用一第二光學調變器來調變該第一光學訊號以在該輸出光學訊號中光學地表示一被加數,其中該被加數在與其他被加數加總時,表示該向量與一矩陣列之間的一乘積;及 使用該光學偵測器來偵測該輸出光學訊號。
  19. 如請求項16所述的方法,其中佈置一第一開關的設定及一第二開關的設定更包括以下步驟:使用一邏輯閘來產生一符號取向位元,其中該符號取向位元包括指示該第一電訊號是否包括一正號或負號數值的資訊。
  20. 如請求項19所述的方法,其中使用該邏輯閘包括以下步驟:使用一XOR閘。
  21. 一種用於實施一矩陣-向量乘法運算的光學處理器,該光學處理器包括: 第一複數個光學調變器,各自被配置為接收一輸入光學訊號、調變該輸入光學訊號、及輸出表示一向量的一元素的一第一光學訊號; 第二複數個光學調變器,各自光學耦合到該第一複數個光學調變器中的一光學調變器且被配置為接收該第一光學訊號、調變該第一光學訊號、及輸出一第二光學訊號,該第二光學訊號表示該向量與一矩陣之間的一矩陣-向量乘法的一部分; 複數個光學偵測器,各自耦合到該第二複數個光學調變器中的光學調變器且被配置為將該第二光學訊號轉換成一電訊號,該電訊號表示該矩陣-向量乘法的該部分;及 複數個開關,被配置為藉由在該向量及/或矩陣的一值包括零時防止傳輸一光學或電訊號,來在該矩陣-向量乘法運算中實施一零值,其中該複數個開關中的一開關耦合到該第一複數個光學調變器中的每一者或該複數個光學偵測器中的每一者的一輸出。
  22. 如請求項21所述的光學處理器,其中該複數個開關中的一開關包括一電氣開關且耦合到該第一複數個光學偵測器中的一者的一輸出。
  23. 如請求項22所述的光學處理器,其中該開關被配置為在該矩陣的一元素的一對應值為零時防止傳輸一電訊號。
  24. 如請求項21所述的光學處理器,其中該複數個開關中的一開關包括一光學開關且耦合到該第二複數個光學調變器中的一者的一輸出。
  25. 如請求項24所述的光學處理器,其中該開關被配置為在該向量的一元素的一對應值為零時防止傳輸一光學訊號。
  26. 如請求項21所述的光學處理器,更包括:複數個電氣加總單元,各自耦合到該複數個光學偵測器中的二或更多個光學偵測器的一輸出且被配置為輸出一電訊號,該電訊號表示由該二或更多個光學偵測器所輸出的該矩陣-向量運算的該等部分的一總和。
  27. 如請求項26所述的光學處理器,更包括:另一複數個開關,耦合到該複數個電氣加總單元的輸出,該另一複數個開關中的該等開關被配置為在該矩陣的一列的所有元素值都等於零時防止傳輸表示該總和的該電訊號。
  28. 一種使用一光學處理器來執行一矩陣-向量列乘法運算的方法,該方法包括以下步驟: 使用一第一光學調變器來調變一輸入光學訊號以在一第一光學訊號中光學地表示一向量的一元素; 使用第二光學調變器來調變該第一光學訊號以在一第二複數個光學訊號中光學地表示被加數,其中該等被加數在加總時表示該向量的該元素與一矩陣列之間的一乘積; 使用光學偵測器來將該第二複數個光學訊號轉換成複數個被加數電訊號;及 在該向量的該元素的一值等於零時,使耦合到該第一光學調變器的一輸出的一開關防止向該等第二光學調變器傳輸該第一光學訊號,及/或在該矩陣列的一或更多個元素的一值等於零時,使耦合到該等光學偵測器的輸出的一或更多個開關防止傳輸該等被加數電訊號。
  29. 如請求項28所述的方法,更包括以下步驟: 使用一電氣加總單元,加總該等被加數電訊號以獲得一乘積電訊號;及 輸出該乘積電訊號。
  30. 如請求項29所述的方法,更包括以下步驟: 在該矩陣列的所有元素的值都等於零時,使耦合到該電氣加總單元的一輸出的一開關防止傳輸該乘積電訊號。
  31. 如請求項28所述的方法,其中在該向量的該元素的該值等於零時使耦合到該第一光學調變器的該開關防止向該等第二光學調變器傳輸該第一光學訊號包括以下步驟:開啟一光學開關。
  32. 如請求項28所述的方法,其中在該矩陣列的一或更多個元素的該值等於零時使耦合到該等光學偵測器的輸出的該一或更多個開關防止傳輸該等被加數電訊號包括以下步驟:開啟一電氣開關。
  33. 如請求項28所述的方法,其中使用該第一光學調變器調變該輸入光學訊號包括以下步驟:調變該輸入光學訊號的一幅度。
  34. 一種非暫時性電腦可讀取媒體,包括指令,該等指令在由至少一個光學處理器所執行時使得該光學處理器執行具有以下步驟的一方法: 使用一第一光學調變器來調變一輸入光學訊號以在一第一光學訊號中光學地表示一向量的一元素; 使用第二光學調變器來調變該第一光學訊號以在一第二複數個光學訊號中光學地表示被加數,其中該等被加數在加總時表示該向量與一矩陣列之間的一乘積; 使用光學偵測器來將該第二複數個光學訊號轉換成複數個被加數電訊號;及 在該向量的該元素的一值等於零時,使耦合到該第一光學調變器的一輸出的一開關防止向該等第二光學調變器傳輸該第一光學訊號,及/或在該矩陣列的一或更多個元素的一值等於零時,使耦合到該等光學偵測器的輸出的一或更多個開關防止傳輸該等被加數電訊號。
  35. 如請求項34所述的非暫時性電腦可讀取媒體,其中該方法更包括以下步驟: 使用一電氣加總單元,加總該等被加數電訊號以獲得一乘積電訊號;及 輸出該乘積電訊號。
  36. 如請求項35所述的非暫時性電腦可讀取媒體,其中該方法更包括以下步驟: 在該矩陣列的所有元素的值都等於零時,使耦合到該電氣加總單元的一輸出的一開關防止傳輸該乘積電訊號。
  37. 如請求項34所述的非暫時性電腦可讀取媒體,其中在該向量的該元素的該值等於零時使耦合到該第一光學調變器的該開關防止向該等第二光學調變器傳輸該第一光學訊號包括以下步驟:開啟一光學開關。
  38. 如請求項34所述的非暫時性電腦可讀取媒體,其中在該矩陣列的一或更多個元素的該值等於零時使耦合到該等光學偵測器的輸出的該一或更多個開關防止傳輸該等被加數電訊號包括以下步驟:開啟一電氣開關。
  39. 如請求項34所述的非暫時性電腦可讀取媒體,其中使用該第一光學調變器調變該輸入光學訊號包括以下步驟:調變該輸入光學訊號的一幅度。
  40. 一種使用一光學處理器來執行矩陣-矩陣運算的方法,該方法包括以下步驟: 將一第一矩陣程式化到一第一光學子處理器中; 將一第二矩陣程式化到一第二光學子處理器中,該第二光學子處理器包括耦合到該第一光學子處理器的輸出的輸入; 作為光學訊號,將複數個單熱向量輸入到該第一光學子處理器中;及 從該第二光學子處理器,輸出一輸出向量,該輸出向量表示該第一矩陣及該第二矩陣的一乘法的一部分。
  41. 如請求項40所述的方法,更包括以下步驟: 從該第一光學子處理器,輸出複數個電訊號,該複數個電訊號表示該單熱向量與該第一矩陣之間的一乘法。
  42. 如請求項41所述的方法,更包括以下步驟: 在該第二光學子處理器處,從該第一光學子處理器接收該複數個電訊號;及 使用該第二光學子處理器的光學調變器,使用從該第一光學子處理器所接收的該複數個電訊號來調變輸入光學訊號。
  43. 如請求項41所述的方法,更包括以下步驟: 在輸出表示該單熱向量與該第一矩陣之間的一乘法的該複數個電訊號之後,使用一或更多個放大器來放大該複數個電訊號。
  44. 一種配置為執行矩陣-矩陣運算的光學處理器,該光學處理器包括: 一第一光學子處理器,被配置為光學地執行一單熱向量及一第一矩陣的一矩陣-向量乘法以獲得一第一向量;及 一第二光學子處理器,被配置為從該第一光學子處理器接收輸出訊號,及光學地執行該第一向量及一第二矩陣的一矩陣-向量乘法。
  45. 一種配置為執行矩陣-矩陣運算的光學處理器,該光學處理器包括: 一第一光學子處理器,包括: 第一複數個光學調變器,各自被配置為接收一輸入光學訊號、調變該輸入光學訊號、及輸出表示一單熱向量的一元素的一第一光學訊號; 第二複數個光學調變器,各自光學耦合到該第一複數個光學調變器中的一光學調變器且被配置為接收該第一光學訊號、調變該第一光學訊號、及輸出一第二光學訊號,該第二光學訊號表示該單熱向量與一第一矩陣之間的一矩陣-向量乘法的一部分; 第一複數個光學偵測器,各自耦合到該第二複數個光學調變器中的一光學調變器且被配置為將該第二光學訊號轉換成一電訊號,該電訊號表示該矩陣-向量乘法的該部分;及 第一複數個電氣加總單元,各自耦合到該第一複數個光學偵測器中的二或更多個光學偵測器的一輸出且被配置為輸出一電訊號,該電訊號表示由該矩陣-向量乘法的部分的一加總所造成的一向量的一元素;及 一第二光學子處理器,包括: 第三複數個光學調變器,各自從該第一光學子處理器的該複數個電氣加總單元中的一電氣加總單元接收一輸出電訊號,且其中該第三複數個光學調變器各自被配置為接收一輸入光學訊號、依據接收到的該輸出電訊號來調變該輸入光學訊號、及輸出表示該向量的該元素的一第三光學訊號; 第四複數個光學調變器,各自光學耦合到該第三複數個光學調變器中的一光學調變器且被配置為接收表示該向量的一元素的該第三光學訊號、調變該第三光學訊號、及輸出一第四光學訊號,該第四光學訊號表示該第一矩陣與一第二矩陣之間的一矩陣-矩陣乘法的一部分; 第二複數個光學偵測器,各自耦合到該第三複數個光學調變器中的一光學調變器且被配置為將該第三光學訊號轉換成一電訊號,該電訊號表示該矩陣-矩陣乘法的一部分;及 第二複數個電氣加總單元,各自耦合到該第二複數個光學偵測器中的二或更多個光學偵測器的一輸出且被配置為輸出一電訊號,該電訊號表示由該矩陣-矩陣乘法的部分的一加總所造成的一矩陣的一元素。
TW109125536A 2019-07-29 2020-07-29 用於使用線性光子處理器來進行類比計算的系統及方法 TW202112074A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201962879936P 2019-07-29 2019-07-29
US62/879,936 2019-07-29
US201962939480P 2019-11-22 2019-11-22
US62/939,480 2019-11-22

Publications (1)

Publication Number Publication Date
TW202112074A true TW202112074A (zh) 2021-03-16

Family

ID=74230814

Family Applications (1)

Application Number Title Priority Date Filing Date
TW109125536A TW202112074A (zh) 2019-07-29 2020-07-29 用於使用線性光子處理器來進行類比計算的系統及方法

Country Status (8)

Country Link
US (4) US11398871B2 (zh)
EP (1) EP4004673A4 (zh)
JP (1) JP2022543366A (zh)
KR (1) KR20220039775A (zh)
CN (1) CN114514490A (zh)
CA (1) CA3148118A1 (zh)
TW (1) TW202112074A (zh)
WO (1) WO2021021787A1 (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020149871A1 (en) 2019-01-16 2020-07-23 Lightmatter, Inc. Optical differential low-noise receivers and related methods
WO2021021787A1 (en) 2019-07-29 2021-02-04 Lightmatter, Inc. Systems and methods for analog computing using a linear photonic processor
EP4062561A4 (en) * 2019-11-22 2024-01-10 Lightmatter, Inc. LINEAR PHOTOMIC PROCESSORS AND ASSOCIATED METHODS
KR20230042333A (ko) * 2020-07-24 2023-03-28 라이트매터, 인크. 광자 프로세서에서 광자 자유도를 이용하기 위한 시스템들 및 방법들
US11817903B2 (en) * 2020-08-06 2023-11-14 Celestial Ai Inc. Coherent photonic computing architectures
US20220097690A1 (en) * 2020-09-30 2022-03-31 Toyota Motor Engineering & Manufacturing North America, Inc. Optical sense-compute solution for real-time navigation involving multiple vehicles
CN117255967A (zh) * 2020-12-17 2023-12-19 天体人工智能公司 用于矩阵计算的平衡光子架构
US11509397B2 (en) 2020-12-17 2022-11-22 Celestial Ai Inc. Balanced photonic architectures for matrix computations
EP4040258A1 (en) * 2021-02-05 2022-08-10 Microsoft Technology Licensing, LLC Optical vector multiplier
EP4040259A1 (en) * 2021-02-05 2022-08-10 Microsoft Technology Licensing, LLC Optical vector multiplier
CN112988113B (zh) * 2021-04-29 2021-09-14 中国科学院西安光学精密机械研究所 一种光子矩阵向量乘法器
CN113644984B (zh) * 2021-10-14 2022-03-11 清华大学 光电数字逻辑运算的光学逻辑元件及其逻辑运算方法
WO2023162857A1 (ja) * 2022-02-24 2023-08-31 国立大学法人東京大学 光集積回路、情報処理装置、及び演算方法
US11835777B2 (en) 2022-03-18 2023-12-05 Celestial Ai Inc. Optical multi-die interconnect bridge (OMIB)
WO2023230764A1 (zh) * 2022-05-30 2023-12-07 华为技术有限公司 一种光计算系统以及芯片

Family Cites Families (167)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3872293A (en) 1972-01-07 1975-03-18 Us Navy Multi-dimensional fourier transform optical processor
US4183623A (en) 1977-10-11 1980-01-15 Haines Kenneth A Tomographic cross-sectional imaging using incoherent optical processing
US4567569A (en) 1982-12-15 1986-01-28 Battelle Development Corporation Optical systolic array processing
US4739520A (en) 1983-09-14 1988-04-19 The Ohio State University Optical switching system
GB2154772B (en) 1984-02-25 1987-04-15 Standard Telephones Cables Ltd Optical computation
US4592004A (en) * 1984-05-21 1986-05-27 The United States Of America As Represented By The Secretary Of The Navy Electrooptical matrix multiplication using the twos complement arithmetic for improved accuracy
US4607344A (en) 1984-09-27 1986-08-19 The United States Of America As Represented By The Secretary Of The Navy Triple matrix product optical processors using combined time-and-space integration
US4686646A (en) 1985-05-01 1987-08-11 Westinghouse Electric Corp. Binary space-integrating acousto-optic processor for vector-matrix multiplication
US4809204A (en) 1986-04-04 1989-02-28 Gte Laboratories Incorporated Optical digital matrix multiplication apparatus
CA1290019C (en) 1986-06-20 1991-10-01 Hideo Kuwahara Dual balanced optical signal receiver
US5297068A (en) * 1987-03-27 1994-03-22 Opticomp Corporation Global interconnect architecture for optical computer
EP0288033B1 (en) 1987-04-20 1993-04-07 Fuji Photo Film Co., Ltd. Pickup apparatus for magneto-optical recording medium
US4849940A (en) 1987-12-10 1989-07-18 The Washington Technology Center Optical neural net memory
US4877297A (en) 1988-04-29 1989-10-31 Rockwell International Corporation Reconfigurable 0ptical interconnect using dynamic hologram
GB2220780B (en) 1988-07-05 1992-12-23 Mitsubishi Electric Corp Neurocomputer
US5004309A (en) 1988-08-18 1991-04-02 Teledyne Brown Engineering Neural processor with holographic optical paths and nonlinear operating means
US4948212A (en) 1988-08-22 1990-08-14 California Institute Of Technology Optical processing in III-V and II-VI compound semiconductors
US5254957A (en) 1989-01-04 1993-10-19 Information Storage, Inc. Apparatus and method for amplifying optically sensed signals
US5117099A (en) 1989-09-01 1992-05-26 Schmidt Terrence C Ambient light rejecting quad photodiode sensor
US5077619A (en) 1989-10-25 1991-12-31 Tacan Corporation High linearity optical transmitter
US5428466A (en) 1989-11-10 1995-06-27 British Telecommunications Public Limited Company Neural networks
JPH03164816A (ja) * 1989-11-22 1991-07-16 Mitsubishi Electric Corp 情報処理装置
US5220644A (en) 1989-11-22 1993-06-15 Hitachi, Ltd. Optical neural network system
JP2762808B2 (ja) 1991-01-09 1998-06-04 松下電器産業株式会社 空間光変調素子および投写型ディスプレイ装置
GB2267165A (en) 1992-05-11 1993-11-24 Sharp Kk Optical information processor
GB2269296A (en) 1992-08-01 1994-02-02 Northern Telecom Ltd Telecommunications switch architecture
US5288990A (en) * 1992-12-28 1994-02-22 At&T Bell Laboratories Differential self-electrooptic effect device
US5495356A (en) 1993-04-30 1996-02-27 Nec Research Institute, Inc. Multidimensional switching networks
US5333117A (en) 1993-10-04 1994-07-26 Nec Research Institute, Inc. Parallel MSD arithmetic using an opto-electronic shared content-addressable memory processor
US5410145A (en) 1994-02-25 1995-04-25 Coroy; Trenton G. Light detector using reverse biased photodiodes with dark current compensation
CA2184166A1 (en) 1994-03-02 1995-09-08 Matthias Budil Optical vector multiplier for neural networks
US5640261A (en) 1994-08-18 1997-06-17 Fuji Photo Film Co., Ltd. Optical operation apparatus for finding an inner product of vectors using light
US5699449A (en) 1994-11-14 1997-12-16 The University Of Connecticut Method and apparatus for implementation of neural networks for face recognition
US5621227A (en) 1995-07-18 1997-04-15 Discovery Semiconductors, Inc. Method and apparatus for monolithic optoelectronic integrated circuit using selective epitaxy
US5597068A (en) 1995-08-25 1997-01-28 Alpha Enterprises, Inc. Compact disc security container
JP3204624B2 (ja) 1996-02-23 2001-09-04 シチズン時計株式会社 半導体装置
JP2970844B2 (ja) 1997-06-04 1999-11-02 日本電気株式会社 光受信器及びそれを用いた光ネットワークシステム
US6005998A (en) 1998-02-20 1999-12-21 Lucent Technologies Inc. Strictly non-blocking scalable matrix optical switch
US6303923B1 (en) 1998-12-18 2001-10-16 California Institute Of Technology Fabricating a hybrid imaging device having non-destructive sense nodes
US6060710A (en) 1998-12-21 2000-05-09 The United States Of America As Represented By The Secretary Of The Army Infrared Mueller matrix detection and ranging system
US7515753B2 (en) * 1999-05-19 2009-04-07 Lenslet Labs Ltd. Phase extraction in optical processing
WO2000072107A1 (en) 1999-05-19 2000-11-30 Jtc 2000 Development (Delaware), Inc. Optical processing
US6178020B1 (en) 1999-09-30 2001-01-23 Ut-Battelle, Llc Modules and methods for all photonic computing
AU2001274937A1 (en) 2000-05-24 2001-12-03 Purdue Research Foundation Methods and systems for polarization control and polarization mode dispersion compensation for wideband optical signals
WO2002011490A2 (en) 2000-07-27 2002-02-07 Civcom Devices & Systems Ltd. Data processing using polarization-based optical switching and broadcasting
US6728434B2 (en) 2001-06-04 2004-04-27 Axun Technologies, Inc. MEMS dynamic optical spectral filter
WO2002101917A2 (en) 2001-06-11 2002-12-19 Johns Hopkins University Low-power, differential optical receiver in silicon on insulator
DE10136515C2 (de) 2001-07-26 2003-10-23 Wacker Construction Equipment Bohr- und/oder Schlaghammer mit Handgriff
AUPR726901A0 (en) 2001-08-24 2001-09-20 Uniquest Limited Quantum optical cnot gate
IL145245A0 (en) 2001-09-03 2002-06-30 Jtc 2000 Dev Delaware Inc System and method including vector-matrix multiplication
WO2003040899A2 (en) 2001-11-06 2003-05-15 The Johns Hopkins University Techniques for performing logic operations using quantum states of single photons
US7136587B1 (en) 2001-11-15 2006-11-14 Meshnetworks, Inc. System and method for providing simulated hardware-in-the-loop testing of wireless communications networks
FR2832579A1 (fr) 2001-11-19 2003-05-23 St Microelectronics Sa Dispositif de calibrage pour un etage d'entree video
US6690853B1 (en) 2002-03-11 2004-02-10 Pts Corporation Tunable DWDM demultiplexer
US7317574B2 (en) 2002-05-20 2008-01-08 Magiq Technologies, Inc. Long-distance quantum communication
DE50201169D1 (de) 2002-06-24 2004-11-04 Alcatel Sa Vorrichtung für ein passives optisches Netzwerk
AU2003304482A1 (en) 2002-12-09 2005-04-11 The Johns Hopkins University Method and apparatus for single-photon source and quantum memory
EP1573734A1 (en) 2002-12-12 2005-09-14 Koninklijke Philips Electronics N.V. Bit detector having partitioned photo detector
US7279731B1 (en) 2006-05-15 2007-10-09 Udt Sensors, Inc. Edge illuminated photodiodes
US7366416B2 (en) 2003-08-11 2008-04-29 General Instrument Corporation Hub for a passive optical network hub
US7271461B2 (en) 2004-02-27 2007-09-18 Banpil Photonics Stackable optoelectronics chip-to-chip interconnects and method of manufacturing
US7133173B2 (en) 2004-07-26 2006-11-07 Hewlett-Packard Development Company, L.P. Nonlinear electromagnetic quantum information processing
US7660533B1 (en) 2004-08-04 2010-02-09 The United States Of America As Represented By The Secretary Of The Army Quantum Fourier transform based information transmission system and method
JP4927548B2 (ja) 2004-08-04 2012-05-09 古河電気工業株式会社 光回路装置
CN1243262C (zh) 2004-09-09 2006-02-22 上海交通大学 可调谐波长选择/锁定光密集波分复用合波/分波器
US7230227B2 (en) 2004-10-08 2007-06-12 The Boeing Company Lenslet/detector array assembly for high data rate optical communications
WO2007086888A2 (en) 2005-03-04 2007-08-02 Cornell Research Foundation, Inc. Electro-optic modulation
US8560282B2 (en) 2005-07-11 2013-10-15 D-Wave Systems Inc. Quantum processor-based systems, methods and apparatus for solving problems as logic circuits
WO2007041382A1 (en) 2005-09-29 2007-04-12 General Hospital Corporation Arrangements and methods for providing multimodality microscopic imaging of one or more biological structures
US7899324B2 (en) 2005-10-13 2011-03-01 Nicta Ipr Pty Limited Method and apparatus for sampled optical signal monitoring
US8023828B2 (en) 2005-10-17 2011-09-20 Hewlett-Packard Development Company, L.P. Quantum information conversion between matter and light representations
US7774675B1 (en) 2005-12-05 2010-08-10 Marvell International Ltd. LDPC codes and expansion method
JP4883273B2 (ja) 2006-01-11 2012-02-22 日本電気株式会社 乱数品質管理装置および管理方法
US7788192B2 (en) 2006-01-27 2010-08-31 D-Wave Systems Inc. Method for adiabatic quantum computing comprising of Hamiltonian scaling
US20080002993A1 (en) 2006-06-30 2008-01-03 Kirkpatrick Peter E Optical receiver with dual photodetector for common mode noise suppression
KR100890389B1 (ko) 2006-12-05 2009-03-26 한국전자통신연구원 편광 무의존 단방향 양자 암호 수신 및 송수신 장치
KR101446943B1 (ko) 2006-12-05 2014-10-06 디-웨이브 시스템즈, 인코포레이티드 양자 프로세서 요소들의 국부적 프로그래밍을 위한 시스템들, 방법들 및 장치
US8548334B2 (en) 2006-12-06 2013-10-01 Mohammad Mazed Dynamic intelligent bidirectional optical access communication system with object/intelligent appliance-to-object/intelligent appliance interaction
US7985965B2 (en) 2007-03-29 2011-07-26 Raytheon Company Quantum computing device and method including qubit arrays of entangled states using negative refractive index lenses
US7843209B2 (en) 2007-04-25 2010-11-30 D-Wave Systems Inc. Architecture for local programming of quantum processor elements using latching qubits
US7539375B2 (en) 2007-05-04 2009-05-26 Massachusetts Institute Of Technology Optical coupled resonator structures based on loop-coupled cavities and loop coupling phase
EP2176727A1 (en) 2007-07-09 2010-04-21 BAE Systems PLC Improvements relating to optical vector matrix multipliers
US8027587B1 (en) 2007-08-21 2011-09-27 Sandia Corporation Integrated optic vector-matrix multiplier
US8204387B2 (en) 2007-10-10 2012-06-19 Nec Corporation Optical modulator and optical communication system
JP5339088B2 (ja) 2007-11-30 2013-11-13 日本電気株式会社 光受信回路および信号処理方法
US8190553B2 (en) 2007-12-20 2012-05-29 Routt Thomas J Methods and systems for quantum search, computation and memory
JP2009194138A (ja) * 2008-02-14 2009-08-27 Nec Corp 半導体レーザ駆動装置、方法、光モジュールおよび光送信装置
JP5091717B2 (ja) 2008-02-21 2012-12-05 株式会社東芝 量子計算方法および量子計算機
US8014686B2 (en) 2008-03-20 2011-09-06 Infinera Corporation Polarization demultiplexing optical receiver using polarization oversampling and electronic polarization tracking
JP4972602B2 (ja) 2008-04-10 2012-07-11 株式会社日立製作所 光信号検出回路及びそれを用いた情報再生装置
CN101630178B (zh) 2008-07-16 2011-11-16 中国科学院半导体研究所 一种硅基集成化的光学向量-矩阵乘法器
JP5272686B2 (ja) 2008-11-28 2013-08-28 富士通株式会社 光受信器、光受信回路および光受信方法
FR2940432B1 (fr) 2008-12-23 2011-01-21 H2I Technologies Dispositif pour quantifier et localiser un signal lumineux module a une frequence predeterminee
JP4786727B2 (ja) 2009-03-27 2011-10-05 株式会社東芝 量子計算方法、量子計算機およびプログラム
US8620855B2 (en) 2009-04-17 2013-12-31 Microsoft Corporation Use of topological charge measurements to change between different qubit encodings
WO2011114753A1 (ja) 2010-03-19 2011-09-22 日本電信電話株式会社 光変調器
US8026837B1 (en) 2010-04-22 2011-09-27 The Aerospace Corporation Systems and methods for converting wideband signals in the optical domain
JP5799531B2 (ja) 2010-04-30 2015-10-28 ソニー株式会社 A/d変換器、a/d変換方法、固体撮像素子およびカメラシステム
US9667379B2 (en) 2010-06-04 2017-05-30 Ecole Polytechnique Federale De Lausanne (Epfl) Error control coding for orthogonal differential vector signaling
US8247780B2 (en) 2010-11-10 2012-08-21 Siemens Aktiengesellschaft High density, proportional-mode, APD arrays for individual scintillator readout in PET applications
JP5439355B2 (ja) 2010-12-28 2014-03-12 富士通テレコムネットワークス株式会社 光パケットスイッチ装置
US9002160B2 (en) 2011-07-28 2015-04-07 Jds Uniphase Corporation Optical switch having a multirow waveguide array
US8837544B2 (en) 2011-10-28 2014-09-16 Hewlett-Packard Development Company, L.P. Quantum optical device
US8693895B2 (en) 2011-11-11 2014-04-08 Wuhan Research Institute Of Posts And Telecommunications Signal transmission and reception device and method
EP2810383A4 (en) 2012-01-31 2015-08-05 Hewlett Packard Development Co OPTICAL ARCHITECTURES, OPTICAL DISTRIBUTION MATRICES, AND METHODS OF FABRICATING OPTICAL STRUCTURES
US9014568B2 (en) 2012-02-16 2015-04-21 Nec Laboratories America, Inc. Next generation optical access network with centralized digital OLT
US9712235B2 (en) 2012-02-28 2017-07-18 Spatial Digital Systems, Inc. Resource allocation in PON networks via wave-front multiplexing and de-multiplexing
US9485048B2 (en) 2012-06-08 2016-11-01 The Royal Institution For The Advancement Of Learning/Mcgill University Methods and devices for space-time multi-plane optical networks
US8625936B1 (en) 2012-06-29 2014-01-07 Alcatel Lucent Advanced modulation formats using optical modulators
CN102866876B (zh) 2012-08-22 2015-03-04 清华大学 一种单片集成的光学矩阵-向量乘法器
EP2709295A1 (fr) 2012-09-14 2014-03-19 Alcatel Lucent Visualisation d'un signal optique par échantillonnage optique linéaire
US10534189B2 (en) 2012-11-27 2020-01-14 The Board Of Trustees Of The Leland Stanford Junior University Universal linear components
FR3002654A1 (fr) 2013-02-26 2014-08-29 St Microelectronics Sa Modulateur optique avec correction de polarisation automatique
US9465168B2 (en) 2013-04-24 2016-10-11 Nec Corporation Polarization beam splitter and optical device
WO2014192153A1 (ja) 2013-05-31 2014-12-04 株式会社日立製作所 半導体装置
US9830555B2 (en) 2013-07-09 2017-11-28 The Board Of Trustees Of The Leland Stanford Junior University Computation using a network of optical parametric oscillators
GB201402736D0 (en) 2013-07-26 2014-04-02 Isis Innovation Method of training a neural network
EP2843854B1 (en) 2013-08-27 2018-04-04 ADVA Optical Networking SE Method, transmitter and receiver device for transmitting a binary digital transmit signal over an optical transmission link
CN103473213A (zh) 2013-09-12 2013-12-25 中国科学院半导体研究所 用于光学向量-矩阵乘法器并行信息加载和提取的系统
CN105531946B (zh) 2013-12-23 2018-01-19 华为技术有限公司 一种光差分信号的发送和接收方法、装置和系统
US10231038B2 (en) 2014-02-24 2019-03-12 Rockley Photonics Limited Detector remodulator and optoelectronic switch
JP2015169847A (ja) 2014-03-07 2015-09-28 国立大学法人徳島大学 位相感応型光増幅器及び励起光位相同期回路
WO2016028363A2 (en) 2014-06-06 2016-02-25 Massachusetts Institute Of Technology Methods, systems, and apparatus for programmable quantum photonic processing
US9239264B1 (en) 2014-09-18 2016-01-19 Joseph R. Demers Transceiver method and apparatus having phase modulation and common mode phase drift rejection
WO2016051410A1 (en) 2014-10-02 2016-04-07 B.G. Negev Technologies And Applications Ltd., At Ben-Gurion University All-optical silicon-photonic constellation conversion of amplitude-phase modulation formats
US9544062B2 (en) 2014-12-22 2017-01-10 Opel Solar, Inc. Coherent optical receiver
US10009135B2 (en) 2015-02-06 2018-06-26 The Trustees Of Princeton University System and method for photonic processing
US10050713B2 (en) 2015-03-02 2018-08-14 Futurewei Technologies, Inc. Optical transceiver using duplex media, self-homodyne detection (SHD), coherent detection, and uncooled laser
US9753224B2 (en) 2015-03-25 2017-09-05 The Board Of Trustees Of The Leland Stanford Junior University Field-programmable optical component
WO2016191679A1 (en) 2015-05-28 2016-12-01 Massachusetts Institute Of Technology Apparatus and methods for quantum key distribution
US9941957B2 (en) 2016-01-07 2018-04-10 Luxtera, Inc. Method and system for connectionless integrated optical receiver and transmitter test
CN105681787B (zh) 2016-01-22 2019-01-18 北京大学 对时空信号进行编码的方法和装置
GB2551685B (en) 2016-02-16 2019-12-11 Toshiba Kk An optical device, a transmitter for a quantum communication system and a quantum communication system
US10126572B2 (en) 2016-03-31 2018-11-13 Huawei Technologies Co., Ltd. Automatic endless polarization controller for a silicon-on-insulator platform
EP3465302B1 (en) 2016-06-02 2022-05-04 Massachusetts Institute of Technology Apparatus and methods for optical neural network
US10367590B2 (en) 2016-09-22 2019-07-30 Hewlett Packard Enterprise Development Lp Concurrently performing attribute-dependent operations on optical signals
US10408672B2 (en) 2016-10-03 2019-09-10 Government Of The United States Of America, As Represented By The Secretary Of Commerce Protector for photon detector
US10274989B2 (en) 2016-10-13 2019-04-30 Fathom Computing Wavelength multiplexed matrix-matrix multiplier
EP3319311B1 (fr) 2016-11-03 2019-10-23 Commissariat à l'Energie Atomique et aux Energies Alternatives Capteur d'images synchrone à codage temporel
US20180260703A1 (en) 2016-11-22 2018-09-13 Massachusetts Institute Of Technology Systems and methods for training neural networks
US10095262B2 (en) 2016-12-12 2018-10-09 The Aerospace Corporation Systems and methods for performing linear algebra operations using multi-mode optics
US10382139B2 (en) 2016-12-21 2019-08-13 Ceragon Networks Ltd. Polarization pre-coding for a single carrier communication system
JP6970513B2 (ja) 2017-02-17 2021-11-24 キヤノン株式会社 光電変換装置
US11290150B2 (en) 2017-05-03 2022-03-29 Assia Spe, Llc Systems and methods for implementing high-speed waveguide transmission over wires
US10634851B2 (en) 2017-05-17 2020-04-28 Massachusetts Institute Of Technology Apparatus, systems, and methods for nonblocking optical switching
US11017309B2 (en) 2017-07-11 2021-05-25 Massachusetts Institute Of Technology Optical Ising machines and optical convolutional neural networks
US10197971B1 (en) 2017-08-02 2019-02-05 International Business Machines Corporation Integrated optical circuit for holographic information processing
US10757450B2 (en) 2017-10-05 2020-08-25 Cable Television Laboratories, Inc System and methods for data compression and nonuniform quantizers
US10812118B2 (en) 2017-12-04 2020-10-20 Massachusetts Institute Of Technology Methods and apparatus for photonic-enabled radio-frequency (RF) cancellation
CN111713101B (zh) * 2017-12-11 2022-05-13 普罗菲西公司 基于事件的图像传感器及其操作方法
US11373089B2 (en) 2018-02-06 2022-06-28 Massachusetts Institute Of Technology Serialized electro-optic neural network using optical weights encoding
US11922136B2 (en) 2018-02-23 2024-03-05 The George Washington University Residue arithmetic nanophotonic system
EP3540774B1 (en) 2018-03-16 2020-09-30 Teledyne Dalsa B.V. Image sensor and imaging system comprising the same
US10345519B1 (en) 2018-04-11 2019-07-09 Microsoft Technology Licensing, Llc Integrated optical beam steering system
US11494461B2 (en) 2018-04-17 2022-11-08 The Trustees Of The University Of Pennsylvania Metastructures for solving equations with waves
WO2019212684A2 (en) 2018-04-30 2019-11-07 The Trustees Of Princeton University Photonic filter bank system and method of use
JP2021523461A (ja) 2018-05-10 2021-09-02 ザ ボード オブ トラスティーズ オブ ザ レランド スタンフォード ジュニア ユニバーシティー 原位置逆伝搬を通した光子ニューラルネットワークの訓練
WO2019222150A1 (en) 2018-05-15 2019-11-21 Lightmatter, Inc. Algorithms for training neural networks with photonic hardware accelerators
CA3100326A1 (en) 2018-05-15 2019-11-21 Lightmatter, Inc. Photonic processing systems and methods
US10608663B2 (en) 2018-06-04 2020-03-31 Lightmatter, Inc. Real-number photonic encoding
US10461967B1 (en) 2018-06-22 2019-10-29 Elenion Technologies, Llc Optical domain equalization for coherent optical receivers
US10656336B1 (en) 2018-11-08 2020-05-19 Luminous Computing, Inc. Method for phase-based photonic computing
WO2020149871A1 (en) 2019-01-16 2020-07-23 Lightmatter, Inc. Optical differential low-noise receivers and related methods
CA3130114A1 (en) 2019-02-26 2020-09-03 Lightmatter, Inc. Hybrid analog-digital matrix processors
WO2021021787A1 (en) 2019-07-29 2021-02-04 Lightmatter, Inc. Systems and methods for analog computing using a linear photonic processor
EP4062561A4 (en) 2019-11-22 2024-01-10 Lightmatter, Inc. LINEAR PHOTOMIC PROCESSORS AND ASSOCIATED METHODS
IL291772A (en) 2021-03-31 2022-10-01 Cognifiber Ltd Ultra wideband optical data processor

Also Published As

Publication number Publication date
CN114514490A (zh) 2022-05-17
EP4004673A1 (en) 2022-06-01
US20220416908A1 (en) 2022-12-29
CA3148118A1 (en) 2021-02-04
US20230353252A1 (en) 2023-11-02
US11936434B2 (en) 2024-03-19
WO2021021787A8 (en) 2021-03-04
US20240187111A1 (en) 2024-06-06
JP2022543366A (ja) 2022-10-12
WO2021021787A1 (en) 2021-02-04
US11398871B2 (en) 2022-07-26
US20210036783A1 (en) 2021-02-04
KR20220039775A (ko) 2022-03-29
EP4004673A4 (en) 2023-06-21
US11671182B2 (en) 2023-06-06

Similar Documents

Publication Publication Date Title
TW202112074A (zh) 用於使用線性光子處理器來進行類比計算的系統及方法
TWI818020B (zh) 光子處理系統及方法
TWI825452B (zh) 光電計算系統
US11775779B2 (en) Hybrid analog-digital matrix processors
TW202032187A (zh) 實數光子編碼
WO2019222150A1 (en) Algorithms for training neural networks with photonic hardware accelerators
WO2020092899A1 (en) Matrix multiplication using optical processing
CN113496281A (zh) 光电计算系统
CN113570051A (zh) 光电处理系统
Filipovich et al. Monolithic silicon photonic architecture for training deep neural networks with direct feedback alignment
WO2019236251A1 (en) Convolutional layers for neural networks using programmable nanophotonics
US12033065B2 (en) Convolutional layers for neural networks using programmable nanophotonics
TWI767877B (zh) 光電處理系統
Li et al. A wavelength-multiplexed photonic tensor processor based on Mach-Zehnder modulator