TW202112074A - 用於使用線性光子處理器來進行類比計算的系統及方法 - Google Patents
用於使用線性光子處理器來進行類比計算的系統及方法 Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06E—OPTICAL COMPUTING DEVICES; COMPUTING DEVICES USING OTHER RADIATIONS WITH SIMILAR PROPERTIES
- G06E3/00—Devices not provided for in group G06E1/00, e.g. for processing analogue or hybrid data
- G06E3/001—Analogue devices in which mathematical operations are carried out with the aid of optical or electro-optical elements
- G06E3/005—Analogue devices in which mathematical operations are carried out with the aid of optical or electro-optical elements using electro-optical or opto-electronic means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/28—Supervision thereof, e.g. detecting power-supply failure by out of limits supervision
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/067—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using optical means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/067—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using optical means
- G06N3/0675—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using optical means using electro-optical, acousto-optical or opto-electronic means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/20—Logic 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/21—EXCLUSIVE-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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B10/00—Transmission systems employing electromagnetic waves other than radio-waves, e.g. infrared, visible or ultraviolet light, or employing corpuscular radiation, e.g. quantum communication
- H04B10/80—Optical 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/801—Optical 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B10/00—Transmission systems employing electromagnetic waves other than radio-waves, e.g. infrared, visible or ultraviolet light, or employing corpuscular radiation, e.g. quantum communication
- H04B10/80—Optical 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/801—Optical 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/803—Free 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)向量輸入到該第一光學子處理器中;及從該第二光學子處理器,輸出輸出向量,該輸出向量表示該第一矩陣及該第二矩陣的乘法的一部分。
一些實施例涉及一種配置為執行矩陣-矩陣運算的光學處理器,該光學處理器包括:第一光學子處理器,被配置為光學地執行單熱向量及第一矩陣的矩陣-向量乘法以獲得第一向量;及第二光學子處理器,被配置為從該第一光學子處理器接收輸出訊號,及光學地執行該第一向量及第二矩陣的矩陣-向量乘法。
一些實施例涉及一種配置為執行矩陣-矩陣運算的光學處理器,該光學處理器包括:第一光學子處理器,包括:第一複數個光學調變器,各自被配置為接收輸入光學訊號、調變該輸入光學訊號、及輸出表示單熱向量的元素的第一光學訊號;第二複數個光學調變器,各自光學耦合到該第一複數個光學調變器中的光學調變器且被配置為接收該第一光學訊號、調變該第一光學訊號、及輸出第二光學訊號,該第二光學訊號表示該單熱向量與第一矩陣之間的矩陣-向量乘法的一部分;第一複數個光學偵測器,各自耦合到該第二複數個光學調變器中的光學調變器且被配置為將該第二光學訊號轉換成電訊號,該電訊號表示該矩陣-向量乘法的該部分;及第一複數個電氣加總單元,各自耦合到該第一複數個光學偵測器中的二或更多個光學偵測器的輸出且被配置為輸出電訊號,該電訊號表示由該矩陣-向量乘法的部分的加總所造成的向量的元素;及第二光學子處理器,包括:第三複數個光學調變器,各自從該第一光學子處理器的該複數個電氣加總單元中的電氣加總單元接收輸出電訊號,且其中該第三複數個光學調變器各自被配置為接收輸入光學訊號、依據接收到的該輸出電訊號來調變該輸入光學訊號、及輸出表示該向量的該元素的第三光學訊號;第四複數個光學調變器,各自光學耦合到該第三複數個光學調變器中的光學調變器且被配置為接收表示該向量的元素的該第三光學訊號、調變該第三光學訊號、及輸出第四光學訊號,該第四光學訊號表示該第一矩陣與第二矩陣之間的矩陣-矩陣乘法的一部分;第二複數個光學偵測器,各自耦合到該第三複數個光學調變器中的光學調變器且被配置為將該第三光學訊號轉換成電訊號,該電訊號表示該矩陣-矩陣乘法的一部分;及第二複數個電氣加總單元,各自耦合到該第二複數個光學偵測器中的二或更多個光學偵測器的輸出且被配置為輸出電訊號,該電訊號表示由該矩陣-矩陣乘法的部分的加總所造成的矩陣的元素。
由於例如阻抗的電氣性質,基於電路的處理器面臨關於速度及效率的限制。例如,連接多個處理器核心及/或將處理器核心連接到記憶體使用具有非零阻抗的導電跡線。大的阻抗值限制了可以用可以忽視的位元錯誤率將資料傳輸通過跡線的最大速率。對於需要數十億次運算的處理而言,這些延遲可能導致顯著的時間損失。除了電路的速度低效以外,由電路的阻抗所造成的能量的耗散所產生的熱也是一個開發電處理器的障礙。
發明人已經認識及理解到,替代於電訊號或與電訊號組合使用光訊號會克服電氣計算的許多上述問題。光訊號在光所行進的介質中用光速行進;因此光子訊號的延遲的限值比電氣傳播延遲小得多。此外,不會由於增加光訊號行進的距離而消耗電力,從而開闢了在使用電訊號的情況下會是不可行的新的拓撲結構及處理器佈局。因此,與常規的電處理器相比,基於光的處理器(例如基於光子的處理器)可以具有較佳的速度及效率效能。
發明人已經認識及理解到,基於光的處理器(例如基於光子的處理器)可以非常適合於特定類型的演算法。例如,許多機器學習演算法(例如支援向量機、人工神經網絡、機率圖形模型學習)很大地依賴線性變換或多維陣列/張量。最簡單的示例是將向量乘以矩陣,其使用具有的數量級的複雜度的常規演算法,其中是與相同維度的向量相乘的方形矩陣的維數。發明人已經認識及理解到,藉由將特定一組輸入光訊號傳播通過有源光學元件的可配置陣列,基於光子的處理器可以用高度並行的方式執行線性變換(例如矩陣乘法)。使用此類實施方式,與使用基於常規電子電路的處理的數十到數百奈秒相比,可以在數百皮秒中完成維度的矩陣-向量乘法。
通用矩陣-矩陣(GEMM)運算在軟體演算法中是無所不在的,包括用於圖形處理、人工智慧、神經網絡、及深度學習的彼等演算法。現今電腦中的GEMM計算一般是使用基於電晶體的系統(例如GPU系統或脈動陣列系統)來執行的。也可以藉由使用表示輸入矩陣的元素的干涉儀的網格陣列混合表示輸入向量的元素的輸入光訊號的陣列,來在光子域中執行GEMM計算。
使用光子陣列的矩陣-向量乘法在與它們的電子對應物相比時可以是高度省電的,因為光訊號可以在損耗量最小的情況下在半導體基板內傳播。發明人已經認識及理解到與使用此類光子陣列相關聯的多個挑戰。雖然在數學上藉由單式矩陣來描述干涉,但也可以藉由故意將損耗添加到干涉儀的網格陣列中來將方案概括為任意線性變換。然而,光子陣列通常使用不展現相位相關損耗的實際上無損的干涉儀。此性質可能限制系統中可用的調變方案;特別是,它防止使用高帶寬(例如高達100GHz)的基於接面的調變方案。此外,每條光路徑「看見」的光學元件的數量與矩陣的維數成比例。這使得在每個光學訊號上賦予的損耗量對於較大的矩陣而言較大。真實世界調變器中的非零安插損耗因此對可以在此類光子處理系統中表示的矩陣的尺寸設定了實際限制。並且,將矩陣程式化到干涉儀的陣列中可能具有挑戰性,因為矩陣的元素必須藉由演算法轉換成每個干涉儀的相位設定。
因此,發明人已經開發了用於執行矩陣-向量乘法(GEMM運算的核心運算)的新穎光子處理架構,該架構避免或減輕上述的挑戰。光子處理架構藉由以下步驟來執行矩陣-向量乘法:調變光訊號的陣列的強度以對輸入向量的元素進行編碼;衰減或放大光訊號的陣列以在輸入矩陣的元素與輸入向量的元素之間執行乘法;用輸出偵測器陣列偵測光訊號;及加總生成的光電偵測器電流以產生表示矩陣-向量乘積的最終輸出結果。
發明人已經認識及理解到,此類光子處理架構可以將不相干的光(例如電磁波不在一段時間內彼此維持固定及可預測的相位關係的光)用於其運算。使用不相干光源陣列的優點是,不需要相位校正方案(例如以校正熱漂移及/或元件製造缺陷)。此外,發明人已經認識及理解到,在此類光子處理架構中,可以將矩陣元素直接編碼在衰減器中。最後,發明人已經認識到,無論所編碼的矩陣的尺寸如何,此類光子處理架構中的光路徑都穿過兩個調變器(例如向量調變器及矩陣調變器)。本文中所述的光子處理架構因此允許具有耦合的幅度及相位調變的調變方案,且允許動態損耗、不與矩陣的尺寸成比例的損耗縮放、及更直接的編碼方案,同時維持基於光子的GEMM處理器的電力效率優點。
以下是與用於使用線性光子處理器執行GEMM運算的技術相關的各種概念及該等技術的實施例的更詳細說明。應理解,可以用許多方式中的任一者實施本文中所述的各種態樣。僅出於說明的目的提供具體實施方式的示例。此外,以下實施例中所述的各種態樣可以單獨使用或用任何組合使用,且不限於本文中明確描述的組合。
圖1是依據本文中所述的技術的一些實施例的實施光子處理技術的光子處理系統的示意圖。光子處理系統100包括控制器102、光源108、及光子處理器110。光子處理系統100從外部處理器(例如CPU)接收由一組輸入位元串所表示的輸入向量及/或矩陣作為輸入,及產生由一組輸出位元串所表示的輸出向量及/或矩陣。例如,若輸入向量是維向量,則輸入向量可以由個單獨的位元串所表示,每個位元串均表示向量的相應分量。替代性或附加性地,例如,若輸入矩陣是矩陣,則輸入矩陣可以由個單獨的位元串所表示,每個位元串均表示輸入矩陣的相應分量。可以將輸入位元串作為電訊號或光學訊號從外部處理器接收,而可以將輸出位元串作為電訊號或光學訊號向外部處理器傳送。
在一些實施例中,控制器102不一定在每個過程迭代之後都輸出輸出位元串。反而,控制器102可以使用一或更多個輸出位元串來決定新的輸入位元串流以饋送通過光子處理系統100的元件。在一些實施例中,可以將輸出位元串本身用作輸入位元串以用於由光子處理系統100所實施的後續過程迭代。在其他的實施例中,用各種方式結合多個輸出位元串流以決定後續的輸入位元串。例如,可以作為後續輸入位元串的決定的一部分將一或更多個輸出位元串加總在一起。
在一些實施例中,控制器102包括用於控制光源108及/或光子處理器110的處理器104及記憶體106。可以使用記憶體106來儲存輸入位元串及輸出位元串及/或來自光子處理器110的結果。記憶體106也可以儲存可執行指令,該等可執行指令在由處理器104執行時,控制光源108及/或控制光子處理器110的元件(例如編碼器、相移器、及/或偵測器)。例如,記憶體106可以儲存可執行指令,該等可執行指令使得處理器104基於已經發生的計算迭代的數量來決定新的輸入值以發送到光子處理器110。因此,由光子處理系統100向外部處理器所傳送的輸出矩陣可以是多次累加的乘法運算的結果,而不僅是單次乘法運算的結果。在另一個實施例中,可以在儲存在記憶體106中之前藉由處理器104數位地對由光子處理系統100計算的結果進行運算。對位元串的運算可以不僅是線性的,也可以是非線性的,更一般而言是圖靈完備的。
依據本技術的一些實施例,可以將光源108配置為將個光學訊號提供給光子處理器110。光源108可以包括例如配置為產生個光學訊號的一或更多個相干及/或不相干的光源。在一些實施例中,光學光源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可以將個單獨的光學脈波轉換成電訊號。在一些實施例中,如至少與圖2及3結合來更詳細地描述的,光學脈波中的每一者的強度及/或相位均可以藉由光子處理器110內的光學偵測器來測量。可以接著電氣地加總及/或向控制器102輸出表示彼等測量到的值的電訊號以供在另外的計算中使用及/或顯示。
圖2是繪示依據本文中所述的技術的一些實施例的線性光子處理器200的示例的示意圖。可以將線性光子處理器200實施為如與圖1結合描述的光子處理系統100的光源108及光子處理器110。
在一些實施例中,可以將線性光子處理器200配置為執行矩陣-向量乘法運算,其中是輸入乘矩陣,是具有個元素的輸入向量,而是具有P個元素的輸出向量。光源202可以產生向個第一幅度調變器204傳遞的相干或不相干的光。光源202在一些實施例中可以位在與第一幅度調變器204相同的基板上,且可以藉由光子波導器向第一幅度調變器204傳遞光。在一些實施例中,光源202可以位在與第一幅度調變器204不同的基板上,且可以至少部分地藉由光纖來向第一幅度調變器204傳遞光。
在一些實施例中,可以將第一幅度調變器204配置為基於相應的輸入位元串(其例如來自控制器,如圖1中所示)來將輸入向量的元素編碼到從光源202所接收的光學訊號的幅度中。調變機構可以包括例如電機、電漿彌散、電光(、、、...)、熱光、及/或電壓光。假設是接收到的光學訊號的強度,該光學訊號是第個第一幅度調變器的輸入。每個第一幅度調變器均調變光的強度以對的值進行編碼,使得每個第一幅度調變器均輸出具有強度的第一光學訊號。
在一些實施例中,第一幅度調變器204可以是由DAC(未圖示)所控制的可變衰減器或任何其他合適的幅度調變器,該DAC可以進一步由控制器(例如圖1的控制器102)所控制。一些幅度調變器對於電信應用而言是已知的,且可以用在一些實施例中。在一些實施例中,可以將可變分束器用作第一幅度調變器204,其中僅保留可變分束器的一個輸出且丟棄或忽略其他輸出。可以用在一些實施例中的幅度調變器的其他示例包括行進波調變器、基於空腔的調變器、Franz-Keldysh調變器、基於電漿子的調變器、基於2-D材料的調變器、及奈米光電機開關(NOEMS)。
在一些實施例中,來自第一幅度調變器204的第一光學訊號可以被分離次且使用光子波導器206來傳送到個第二幅度調變器208。光子波導器206可以包括例如矽光子波導器或任何其他合適的介電光子波導材料。第一光學訊號的強度在被分離之後(例如在由每個第二幅度調變器208所接收時)為。
在一些實施例中,第二幅度調變器208中的每一者均可以被配置為對矩陣的一個元素的一個值進行編碼。第二幅度調變器208可以是與第一幅度調變器204同類的調變器,或者,可以是與第一幅度調變器204不同類的調變器。可以存在總共個第二幅度調變器以表示整個矩陣。可以在矩陣的第列中藉由第二幅度調變器208來調變所接收到的具有強度的第一光學訊號以產生具有強度的第二光學訊號。此光學強度表示輸出光學訊號的幅度中的矩陣元素與向量元素的乘法。
在一些實施例中,可以向光學偵測器210傳送及使用該光學偵測器來偵測由每個第二幅度調變器208所輸出的輸出第二光學訊號。光學偵測器210可以例如是配置為產生光電流的光電偵測器,該光電流與入射於偵測器上的光的強度成比例。詳細而言,由位於列及行中的光學偵測器210所產生的光電流為。在一些實施例中,光學偵測器210可以例如是如於2019年5月14日所提出且標題為「Optical Differential Low-Noise Receivers and Related Methods」的第2020-0228077號的美國專利申請公開文件中所描述的光電偵測器,該文獻的整體內容特此以引用方式併入本文中。
在一些實施例中,可以組合由每個列中的光學偵測器210所產生的光電流以產生表示輸出向量的元素的加總輸出,該輸出向量是向量與矩陣的列的乘積。此加總可以藉由例如使用導電跡線212(例如金屬跡線)將單個列的所有光電偵測器的所有陰極連接在一起來執行。在一些實施例中,可以使用跨阻放大器(TIA)與具有適當的位元寬度及精確度的類比轉數位轉換器(ADC)的組合來讀出加總的光電流的值。可以接著將讀出值回傳到控制器(例如圖1的控制器102)以供在另外的計算及/或應用中使用。
在一些實施例中,可以理解,可以藉由將由第二幅度調變器208所輸出的光學訊號選路到相同的偵測器來減少光學偵測器210的數量。此種變更仍然將產生適當的電訊號輸出,因為矩陣-向量乘法資訊被編碼在光的強度中,該強度與由光學偵測器所產生的光電流成正比。為了防止選路到相同偵測器的訊號之間不需要的干擾,可以使用充分地不相干的光源,或者也可以對光學偵測器210進行時間多工,使得第一輸出訊號首先到達,第二輸出訊號在第一輸出訊號之後到達,第三輸出訊號在第二輸出訊號之後到達,以此類推。在此類實施例中,偵測器讀出電路系統可以使用電儲存電路來儲存已經累積的電荷。
在先前的光子處理架構中,對矩陣進行編碼的調變器的輸入必須使用計算量大的分解程序來計算。在所述的線性光子處理器200中,對每個矩陣調變器的輸入均是矩陣本身的元素,從而完全消除了在執行光學計算之前進行任何分解的需要。
此外,矩陣的「歐幾里得空間」表示而不是由先前的光子處理架構所使用的「相位空間」表示的直接結果是,上述線性光子處理架構中的乘矩陣存在條光路徑,每條光路徑均與矩陣的單個元素相關聯。此結果對於此架構的效能及縮放而言有兩個重要的含義。
首先,無論所表示的矩陣的尺寸如何,每條光路徑均包含兩個調變器。相比之下,一些光子處理架構中的光路徑包含個調變器。真實世界的調變器會遭受非零安插損耗,因此限制了對於給定的可接受光學損耗而言可以表示的矩陣尺寸。上述的線性光子處理器200並不遭受此種對矩陣尺寸的限制。
第二,在其他的光子處理架構中,每個矩陣元素一般均與通過光學陣列的許多光路徑相關聯。穿過任何給定「相位空間」調變器的路徑的數量影響了所表示的矩陣的許多元素。並且,由特定調變器所影響的元素的數量不是恆定的,從而引起不均勻的誤差靈敏度。例如,調變器陣列的中心附近的調變器的靈敏度可能比邊緣及拐角處的彼等調變器高得多。這是因為,與邊緣或拐角調變器相比,中心調變器位於較大數量的輸入光學訊號的傳播路徑中。相比之下,上述線性光子處理器200中的每個「歐幾里得空間」矩陣調變器中的誤差均僅影響矩陣元素的該特定值。
可以進一步理解,在一些實施例中,上述的線性光子處理器200可以減少光子處理架構內的光子交叉(例如波導器206的光子交叉)的數量。由於矩陣-向量乘法中的資料串流的本質(例如可以將單個向量元素廣播到多個列,且可以將來自每個列的不同行的訊號組合在一起以產生單個輸出向量元素),本質上在資料路徑中將存在可能位在光子域中或電氣域中的交叉。例如,對於光子處理器的情況而言,估算部分乘積涉及將廣播到的多個列。此時,不需要交叉。但是,為了執行單個列內的不同行的加總(即),光子或電氣交叉變得必要。
兩個光子波導器之間的交叉可以在物理上藉由在相同的半導體層內使用多模式干涉儀(MMI)交叉或藉由使用半導體基板的另一個層來實現。與電氣交叉相比,光子交叉是合乎需要的,因為光子交叉可以減少電路的可能不利地影響系統的帶寬的整體電容。然而,基於MMI的交叉可能對光學訊號誘發顯著的串擾及損耗。
用來廣播的值的二叉樹的本質事實上適於減少必要交叉的數量。例如,考慮值被分離次時的情況(對於矩陣與尺寸的向量之間的乘法而言)。若用單個1對的分離器執行分離,則可能需要大約的數量級的光子交叉。另一方面,若用以樹狀方式隔開的二進制的1對2分離器執行分離,則可能需要的數量級的光子交叉以清除廣播波導器。
在一些實施例中,在串擾及損耗因為光子波導器交叉的數量而變得重要時,可能需要用額外的電容為代價在電氣域中設計交叉。電氣域中的交叉由對相同半導體基板中的兩個不同金屬層中的兩個訊號進行選路而組成。可以將電氣交叉安置在光電偵測器的輸出處。
圖3A是依據本文中所述的技術的一些實施例用於實施矩陣-向量運算的線性光子處理器300a的說明性示例的方塊圖。線性光子處理器300a與如與圖2結合描述的線性光子處理器200類似,且被配置為執行相同的矩陣-向量乘法運算,其中是輸入乘矩陣,是具有個元素的輸入向量,而是具有個元素的輸出向量。
在一些實施例中,線性光子處理器300a可以包括配置為輸出光學訊號的單個光源302。光源302可以是相干(例如雷射)或不相干的光源(例如熱光、超發光二極體、LED等等)。在一些實施例中,由光源302所輸出的光學訊號可以穿過分束器304,該分束器被配置為將光學訊號分離成個光學訊號,每個光學訊號均傳送到第一幅度調變器306。
與圖2的線性光子處理器200中一樣,可以將第一幅度調變器306配置為將輸入向量的元素編碼到從光源302所接收的光學訊號的幅度中。第一幅度調變器306可以是由DAC(未圖示)所控制的可變衰減器或任何其他合適的幅度調變器,該DAC可以進一步由控制器(例如圖1的控制器102)所控制。一些幅度調變器對於電信應用而言是已知的,且可以用在一些實施例中。在一些實施例中,可以將可變分束器用作第一幅度調變器204,其中僅保留可變分束器的一個輸出且丟棄或忽略其他輸出。可以用在一些實施例中的幅度調變器的其他示例包括行進波調變器、基於空腔的調變器、Franz-Keldysh調變器、基於電漿子的調變器、基於2-D材料的調變器、及奈米光電機開關(NOEMS)。
第一幅度調變器306可以接著輸出第一光學訊號,該等第一光學訊號在第一光學訊號的幅度(例如強度)中表示輸入向量的元素。可以將第一光學訊號傳送通過額外的分束器304,使得第一光學分離器可以分離次。可以接著將分離的第一光學訊號傳送到個第二幅度調變器308。
在一些實施例中,第二幅度調變器308中的每一者均可以被配置為對矩陣的一個元素的一個值進行編碼。第二幅度調變器308可以是與第一幅度調變器306同類的調變器,或者,可以是與第一幅度調變器306不同類的調變器。可以藉由第二幅度調變器208來調變接收到的第一光學訊號,以產生第二光學訊號,該第二光學訊號具有在輸出的第二光學訊號的幅度中表示矩陣元素與向量元素的乘法的強度。
在一些實施例中,可以向光學偵測器310傳送及使用該光學偵測器來偵測由每個第二幅度調變器308所輸出的輸出第二光學訊號。光學偵測器310可以例如是配置為產生光電流的光電偵測器,該光電流與入射於偵測器上的光的強度成比例。
在一些實施例中,可以將光學偵測器310的一些輸出傳送到電氣加總電路312。如圖3A的示例中所示,耦合到配置為表示矩陣列(例如元素、、及)的第二幅度調變器308的光學偵測器310的輸出被傳送到相同的電氣加總電路312。在此類實施例中,電氣加總電路312可以包括電路系統,該電路系統被配置為對從光學偵測器310接收到的光電流進行加法,使得來自電氣加總電路312的輸出電訊號表示輸入向量與矩陣列的乘積(例如對於矩陣的第一列而言,電氣地表示)。
在一些實施例中,電氣加總電路312可以包括電壓加總電路。例如,電氣加總電路312可以包括電阻器網絡及放大器電路。在一些實施例中,可以藉由單純將輸出節點結合在一起來加總由光學偵測器310所輸出的電訊號。在讀出輸出結果之前執行此電氣加總有兩個優點。第一,此較早的加總可以減少光子處理架構中所使用的混合式訊號讀出電路系統的數量,使得在架構中僅使用個讀出電路系統構件(而不是與圖2的線性光子處理器200的示例中一樣總共個此類電路系統)。第二,較早的加總增加了要由讀出電路系統所偵測的光電流的大小。在光學訊號到達每個第二幅度調變器308之前,它們被分離路。組合由個不同的光電偵測器所產生的光電流可以抵消由分離引起的強度減少(若)。
圖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翻轉誤差發生,則它們限於相對於正確輸出幾個百分比的誤差。例如,對於位元輸出而言,LSB中的位元翻轉誤差與的相對誤差對應。這與數位計算電路相反,在數位計算電路中,閘誤差(然而極罕見)可能在最高有效位元(MSB)中造成誤差,因為數位電路同等地處理每一個位元。在類比處理系統(例如圖2、3A、及3B的線性光子處理器)中,LSB具有較靠近雜訊功率的訊號功率,而較高的有效位元具有指數地比雜訊功率高的訊號功率。其結果是,在與LSB相比時,更高有效位元可以指數地較不可能容許位元翻轉誤差。
一種減輕位元翻轉誤差的方式是對計算執行誤差校正。可以執行的最簡單的誤差校正演算法是藉由執行相同的計算多次(例如至少三次)來增加冗餘訊息,及執行多數表決來決定較高機率的正確結果。由於類比電腦中的誤差的影響LSB的本質,不需要對整個輸出位元串進行表決。而是,可以僅對LSB、或至少對僅僅幾個LSB進行表決。
在運行對於小的誤差而言強健的演算法(例如人工神經網絡或通常的差分等式求解器)時,更高有效位元抵抗誤差的彈性(resiliency)給予類比處理器優勢。發明人已經認識到,用LSB中較高機率的位元翻轉誤差為代價,較快的類比處理器可以用來估算更具彈性的演算法。在一些深度學習演算法(例如用於影像分類的演算法)中,小誤差僅造成預測的信賴度減少,但它們不一定造成預測準確度的劣化。
使用基於強度的光學系統(例如圖2、3A、及3B的線性光子處理器)有許多優點,包括大量減少對溫度波動及製造缺陷的靈敏度。基於場的光子系統通常需要很大的穩定及微調才能可靠地作用。上述的提出的架構在很大程度上不受此類相位誤差及波動的影響。並且,因為基於強度的架構在它們的計算中並不使用相位資訊,所以它們適合具有耦合相位調變的強度調變方案。
III.部分乘積及它們的總和
在一些實施例中,用定點數表示來表示矩陣元素及向量元素。在此表示內,若是無符號的位元數字而是無符號的位元數字,則可以使用總共個位元來完全表示生成的向量元素,其中是矩陣中的行的數量。一般而言,用來表示矩陣-向量乘積的結果的位元數可以大於用來表示運算的輸入的位元數。若用來從光子處理器讀出值的類比轉數位轉換器(ADC)不能夠用全精確度讀出輸出向量,則可以將輸出向量元素捨入為ADC的精確度。
將ADC建構為在與用以將呈光學訊號的形式的輸入向量發送通過光子處理系統的速率對應的帶寬下具有高位元精確度可能是有挑戰性的。因此,若需要完全精確的計算,則ADC的位元精確度一般可能限制用以表示矩陣元素及向量元素的位元精確度。因此,發明人已經開發了一種藉由如下文所述地計算部分乘積及總和來用輸出向量的全精確度(其可能任意地高)獲得該輸出向量的方法。為了明確起見,假設表示或中的任一者所需的位元數是相同的,例如。
首先,可以將矩陣元素及的位元串表示分成個分區,其中每個分區均包含個位元。其結果是,可以將矩陣元素寫為,其中是的第高位位元串的位元值。就位元串的角度而言,可以將寫為。類似地,可以將寫為,其中可以就位元串的角度而言將向量元素寫為。可以依據這些分區將乘法分解為:
其中集合是及的所有值的集合,其中。
在一些實施例中,可以接著將線性光子處理器程式化以實施矩陣及輸入向量,其中的每一者均僅為位元精確。矩陣-向量乘法產生中間結果:。輸出向量可以接著被儲存,且精確度高達個位元。此乘法對集合內的的不同值迭代。可以接著藉由用數位電子設備(例如在控制器中或其他地方)對及的不同迭代執行總和來計算最終結果。
即使在可用的ADC不能夠立即捕捉全精確度時,上述方法也允許使用者藉由操控部分乘積及它們的總和來獲得完全精確的計算。
IV.藉由序列化用張量泛化為GEMM
在一些實施例中,本文中所述(例如與圖2、3A、及3B結合描述)的線性光子處理器可以從矩陣-向量乘法運算延伸到矩陣-矩陣乘法。給定矩陣及矩陣,可以將線性光子處理器配置為產生矩陣。可以將矩陣編碼到光子處理器中的第二幅度調變器(例如第二幅度調變器208或308)中,且可以將矩陣的行編碼到第一幅度調變器(例如第一幅度調變器204或306)中。每個矩陣-向量乘法的結果是矩陣的行。藉由與的不同行執行乘法及將結果儲存在記憶體中(例如控制器102中),可以逐行建立矩陣。類似地,可以將矩陣編碼到光子處理器中的第二幅度調變器中,且可以將矩陣的列編碼到第一幅度調變器中。在此情況下,矩陣-向量乘法的結果是矩陣的列,且可以逐列建立輸出矩陣。
在一些實施例中,矩陣可能太大而不能在光子處理器中編碼。在此情況下,可以在第一大型輸入矩陣的一部分與第二大型輸入矩陣的一部分之間執行矩陣-矩陣乘法。此乘法的結果被儲存在記憶體中。隨後,可以將第一大型輸入矩陣的第二部分編碼在光子處理器中,且可以與第二大型輸入矩陣的一部分執行第二矩陣-矩陣乘法。大型矩陣的此種「鋪瓦」可以繼續直到對兩個大型矩陣的所有部分都執行了乘法過程為止。可以接著組合乘法過程的結果以產生兩個大型矩陣的乘法的最終結果。可以藉由以下步驟將此種序列化的想法應用於張量-張量乘法:一次處理張量的切片,將結果儲存在記憶體中,然後稍後組合結果以形成輸出張量。
V.神經網絡及深度學習的應用
本文中所述(例如與圖2、3A、及3B結合描述)的線性光子處理器具有廣泛的可適用性,因為它可以加速各種GEMM運算及使它們更省電。現今,GEMM被用在線性代數計算中,例如執行本徵值分解、奇異值分解、或對矩陣求逆。GEMM的一個重要應用是人工神經網絡。
一個深層的人工神經網絡在最基本的層次上涉及多個層(高達數百個層)的張量-張量乘法,每個層的線性變換後是非線性激活函數。考慮具有維數的神經網絡。對於具有個元素的輸入張量及具有個元素的權重張量而言,執行張量-張量乘法所需的計算量是,而執行激活函數所需的計算量是。因此,張量-張量乘法一般主導著深層神經網絡的計算,且因此本文中所提出的光子處理器可以用來加速人工神經網絡計算。
訓練人工神經網絡一般涉及運行反向傳播演算法。考慮具有權重矩陣及偏差向量的深層人工神經網絡的單個層。對於輸入向量而言,神經網絡的此層的輸出結果為,其中是按元素應用的非線性函數。在利用常規隨機梯度下降的反向傳播中,對權重矩陣進行迭代調整,使得將在時間的權重矩陣界定為在時間的權重矩陣的函數,且損失函數相對於權重矩陣的權重的導數如下:
其中是學習速率,而分別表示權重矩陣的第列及第行的表項。
可以應用演算的鏈式規則以針對與此單個輸入向量相關聯的權重矩陣內的參數中的任一者計算損失函數的梯度(其中為了方便表示起見,使用定義):針對計算的導數造成:。可以接著將表示損失函數的梯度的總和重新寫為:
可以接著將第一總和界定為反向傳播的誤差向量(其中是輸入向量),從而造成了最終的表達式:,其是誤差向量與輸入向量之間的外積。在非張量表示法中,可以將表達式寫為:
一般而言,為了減少梯度更新中的雜訊(其可能造成模型參數頻繁跳變),不從單個資料樣本(例如單個輸入向量及單個誤差向量)截取更新。實際上,根據整批訓練資料集或根據該批訓練資料集的一部分計算平均更新。將及表示為來自具有總共個訓練示例的訓練資料集包的第個輸入向量及誤差向量。可以如下計算更新:
可以使用兩個矩陣與之間的矩陣-矩陣乘積來高效地計算項。假設,誤差向量長P個元素,而輸入向量長R個元素,則為行是誤差向量的矩陣,而是列是轉置的輸入向量的矩陣。將兩個矩陣相乘提供了更新:
因為所提出的線性光子處理器本身在歐幾里得空間中操作,所以它可以用來高效地計算此矩陣更新。本文中所述的線性光子處理器因此不僅適合深層人工神經網絡的前向傳播(估算),也適合反向傳播(訓練)。雖然以上推導適用於形式的完全連接的層,但包括線性變換之後再加上非線性的任何其他的層的梯度也可以用類似的方式來計算。
VI.帶寬與訊號之間的取捨
發明人已經進一步認識到,本文中所述的線性光子處理器架構可以在電流域中執行部分乘積之間(例如的個元素之間)的加總。在電流域中執行此加總允許在積分時間的長度與收集的訊號量之間進行取捨。由輸出取樣電路所收集的訊號量與由光學偵測器所收集的光的強度成比例,且是藉由光子處理器的輸入光功率及光學傳播損耗的函數。在光子處理器在系統的雜訊本底附近操作時,可以藉由選擇較長的積分時間來增加訊噪比(SNR)。此較長的積分時間在光子處理器的輸出處儲存較大量的電荷,從而在這些電荷被輸出取樣電路讀取時累計成較大的輸出訊號。可以將輸出取樣電路連接到類比-數位轉換器(ADC),該類比-數位轉換器輸出描述由輸出取樣電路所感測到的電荷量的位元串。為了使此位元串可靠(例如多次測量產生相同的輸出位元串),光子處理器的SNR可能需要高到足以支援輸出的有效位元數(ENOB)。因此,可以將光子處理器的速度選擇為使得系統的SNR對於輸出位元串所需的位元寬度而言足夠高。
VII.重新縮放
用於矩陣處理的類比計算系統具有受到物理雜訊限制(例如散粒雜訊、熱雜訊等等)或基於架構的限制所限制的有限動態範圍。在基於耗散(例如光學或電氣功率耗散)的計算方案中,此耗散基本上影響了處理器的連結預算、SNR、及精確度。為了避免這些限制及增加傳送通過系統的訊號量,發明人已經理解到,可以將矩陣的列重新縮放以最小化耗散,同時仍然執行與所需的計算成正比的計算。可以按列重新縮放矩陣。以下,將矩陣乘以向量。的每個列均可以與不同的縮放因子相關聯。例如,這些縮放因子可以是範圍從0到無限大的連續變數或為2的冪中的任一者。在使用數位電腦來執行重新縮放的一些實施例中,可以使用浮點數或定點數中的任一者來執行縮放及重新縮放運算。也可以按分塊或按矩陣重新縮放矩陣。為了獲得按分塊的縮放,可以單純將不同的列縮放因子設定為相同的值,而為了獲得按矩陣的縮放,可以將不同的分塊縮放因子設定為相同的值。
在執行此按列重新縮放之後,可以藉由將縮放因子從矩陣計算的結果除掉來移除縮放因子。例如,若縮放因子是二的冪,則可以使用電子設備的節能位元移動運算來移除縮放因子。若列縮放因子不是二的冪,則可以執行除法。在一些實施例中,可以將表項正規化,因為幅度調變器的動態範圍有限。若,則表項在1處飽和。例如,假設。若,則。然而,若幅度調變器在1的值處飽和,則不能光學地表示10的值,且在光學上將把向量表示為。因此,可以將縮放因子的值選擇為使得向量中的元素的最大值不大於1。
VIII.用唯正處理器計算實數值矩陣
發明人已經認識到,類比處理器通常可以對唯正值的矩陣及張量進行編碼。例如,在使用不相干的光源時,光子處理器可以僅調變光學訊號的強度而不調變相位。物理上,強度是非負數。發明人已經認識到,對於大多數的應用而言,光子處理器將在可以包括正值及/或負值的元素的矩陣與向量之間執行乘法。發明人因此開發了一種方法,該方法藉由對數字線進行偏移及/或重新縮放僅使用幅度調變來在實數值矩陣與實數值向量之間執行矩陣-向量乘法運算。
假設原始實數值矩陣為(具有元素),且假設原始實數值向量為(具有元素)。原始矩陣的每個表項均可以偏移達常數值以產生新的矩陣,使得。可以將定值選擇為矩陣的最大負表項的絕對值(例如),或矩陣的最大可能負表項的絕對值,即使在特定的矩陣中未觀察到此值。類似地,向量元素可以偏移達定值以產生新的向量,使得。可以再次將定值選擇為向量的最大負表項的絕對值或向量的最大可能負元素的絕對值。
可以接著如下使用新的矩陣及向量來計算輸出向量:
其中可以使用光子處理器來估算第一項,且其中可以使用第二幅度調變器來對值進行編碼,而可以用第一幅度調變器來對值進行編碼。可以藉由數位向量處理器來估算第二項及第三項。雖然計算第三項招致了次運算的成本,但假設矩陣,可以在將由光子處理器計算的不同向量的數量上攤提成本。若此數量夠大,則可以選擇使用光子處理器來流水化第三項及矩陣乘法的計算。
在第一幅度調變器能夠對負數進行編碼(但第二幅度調變器不能)的情況下,也可以藉由以下步驟來計算第二項:將光子處理器的列數擴展一個,及將此新的最後一列(列數)中的所有第二幅度調變器設為一(例如針對所有設定)。注意,對於此情況而言,可以將的值設定為使得,或出於其他原因(例如下文所述的ADC及讀出電路系統的動態範圍)保持此定值偏移。類似地,在第二幅度調變器能夠對負數進行編碼(但第一幅度調變器不能)的情況下,可以藉由計算具有一種向量的矩陣-向量乘法來估算第三項,該向量具有值為一的元素。再次地,可以將選擇為使得,或可以出於其他原因保持定值偏移。
發明人進一步認識到,避免需要在光子處理器中對負數進行編碼的此種方法可以產生新的矩陣或新的向量,其元素超出光子處理器的編碼範圍。在不失一般性的情況下,可以將輸入矩陣及輸入向量正規化,使得每個表項均位在編碼範圍內。例如,假設原始的矩陣元素及原始的向量元素具有-1與1之間的值(例如且)。添加定值偏移及意味著,修改的矩陣元素值位在新的範圍中,且類似地,修改的向量元素值位在新的範圍中。若光子處理器調變器僅能對0與1之間的值進行編碼,則在一些實施例中,可以引入縮放因子及。在此類實施例中,可以將及選擇為使得及,使得及位在光子處理器的可能的值的範圍內。換言之,替代於如上所述地計算,可以計算:
其中可以在後處理階段移除因子。
上述的偏移及縮放方法排除了在處理器的第一幅度調變器及第二幅度調變器中對負數進行編碼的需要。該方法也招致了輸出處的較高訊號累積的額外益處。因為編碼的矩陣及編碼的向量現在具有非負的元素,所以在輸出處加總的電流具有相同的流向,從而導致累積較大量的將由輸出取樣電路所取樣的電荷。這在對輸出向量進行編碼的輸出處導致較大的訊號。發明人認識到,較大的訊號輸出對於在電子雜訊本底(一般由詹森-奈基斯特雜訊、電子散粒雜訊、及光子散粒雜訊組成)附近操作的處理器而言是重要的。
VIII.基於損耗的調變及零值的光學表示
圖4A-4C示出依據本文中所述的技術的一些實施例可以用在一些實施例中作為如與圖2、3A、及3B的示例結合描述的第一幅度調變器及/或第二幅度調變器的幅度調變器的說明性示例。圖4A示出調變器400a,該調變器使用不完美的幅度或相位調變器404及408來在干涉儀佈置中實現「良好」的零值。分束器402及410分別分離及重新組合穿過調變器400a的光學訊號。可以添加相移器406以偏置干涉儀以增加消光比,且調變器408用於損耗匹配。在一些實施例中,調變器400a可以在推挽模式下使用。圖4B示出調變器400b,在一些實施例中,該調變器使用完美的消光電吸收調變器412來增加調變器的消光比。圖4C示出調變器400c,該調變器使用環形諧振器414或調離諧振的空腔。在一些實施例中,環形諧振器414可以調離諧振,使得光的部分在諧振狀態下傳遞,其中是計算所需的精確度。
因為此類幅度調變器的目標僅是調變光學強度,所以幾乎任何強度調變策略(例如包括耦合相位調變)都可以用於幅度調變。為了更準確的效能,幅度調變器的消光比應儘可能地大。在一些實施例中,可能需要鏈接調變器(例如串聯地安置調變器)以增加它們的消光比或相移。然而,如下文所述,可以用生成輸出的有效安插損耗交換此準確度。
若強度調變中的任一者從如圖4A-4C中所示的基於損耗的調變切換到基於增益的調變,則相同的矩陣-向量乘法架構也會適用。這暗示,相同的架構也將在包括半導體光學放大器的光子集成電路平台(例如磷化銦(InP)或其他III-V族半導體平台)上工作。在一些實施例中,選擇基於損耗的調變與基於增益的調變的組合可能是有利的。前者可以更省電,而後者可以用來防止電路中的損耗。
在僅使用基於損耗的調變方案時,輸入矩陣及輸入向量表項僅可以減少光的強度。在數學上,這藉由讓表項具有小於一的值來描述:且。為了實現此點,將輸入矩陣及輸入向量正規化。替代於直接計算,首先提取常數因子使得,其中表示按元素的最大範數(例如的最大絕對值表項,對於矩陣而言為,而對於向量而言為)。可以使用光子處理器來計算,且可以使用數位電路系統藉由將最終結果與相乘來恢復輸出向量。
因為訊號被編碼為光學強度,所以上述的矩陣-向量乘法僅適用於非負值的矩陣及非負值的向量。可以藉由使用四個乘法來計算任何實數值矩陣與實數值向量之間的矩陣-向量乘法以增強演算法。為此,可以將輸入矩陣分成其正分量及負分量。例如,,其中與僅包含正(負)分量的矩陣對應。類似地,可以將輸入向量分成其正及負分量。例如,,其中與僅包含正(負)分量的向量對應。為了執行乘法,可以個別執行乘法,且可以據此將結果加總及/或減去。此方法可以用名稱「差分矩陣乘法」(DMM)來描述。
幅度調變器一般不能夠(1)完全消滅光及(2)允許光完全通過。然而,這兩個性質是幅度調變器的重要參數;前者的性質與消光比相關,而後者的性質是調變器的安插損耗。乍看,本文中所述的技術需要,對及進行編碼的幅度調變器能夠完全消滅光(例如具有任意高的消光比的調變器)。然而,可以利用被計算以減去由及調變器處的不完美的消光所造成的此種「共模偏移」的四個項。如圖4A-4C中所示,即使利用不完美的強度或相位調變器,也可以使用干涉方案來實現高的消光比。
上述的DMM技術允許用具有不良消光比且不能對接近零的值進行編碼的幅度調變器進行通用矩陣乘法。假設第個幅度調變器「AM」具有的強度調變範圍。此調變器的消光比是,其具有有限的值。驅動此調變器的電子電路系統(其涉及數位轉類比轉換器)離散化與之間的範圍。類似地,假設第行及第列的幅度調變器「M」具有的強度調變範圍。此調變器的消光比為。驅動此調變器的電路系統也離散化與之間的範圍。
對於第一幅度調變器而言,可以將新的調變範圍界定為具有範圍來自的值。並且,對於第二幅度調變器而言,也可以將新的調變範圍界定為具有範圍來自的值。可以接著將矩陣-向量乘積計算為:
因為矩陣及向量的正的部分及負的部分都由相同的調變器調變,該調變器具有相同的最小值。因此,藉由使用這些DMM技術來消除共模偏移,可以執行矩陣-向量乘法,好像第一幅度調變器及第二幅度調變器都具有完美的消光比一樣。這允許使用範圍較廣的調變機構,且允許進行較高速度的向量及矩陣元素的調變,該調變可以在需要高的消光比的同時實現。取捨是生成的光電流的範圍減少,其可以是或可以不是輸出的位元精確度的限制因子。
IX.波長分割多工
圖5是繪示依據本文中所述的技術的一些實施例包括波長分割多工(wavelength division multiplexing, WDM)的線性光子處理器500的示例的方塊圖。線性光子處理器500與圖2、3A、及3B的示例的線性光子處理器類似,但已經利用WDM電路506及512來增強。或者,在一些實施例中,這些WDM電路506及512可以是偏振分割多工電路。線性光子處理器500並不需要光路徑中的任一者之間的干涉,且因此有助於完全由寬帶光子構件組裝而成,從而放鬆了對用於WDM的波長範圍的約束。
圖5的示例線性光子處理器500已被配置為將矩陣與三個3元素的向量、、及相乘。線性光子處理器500可以包括配置為產生具有不同波長的光學訊號的多個光源502a、502b、及502c。例如,可以將光源502a、502b、及502c配置為產生分別為紅光、綠光、及藍光的光學訊號。可以因此藉由第一幅度調變器504將向量、、及的每個元素編碼到具有不同波長的光學訊號的幅度中。
在穿過第一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。可以藉由截取輸入向量元素的符號及矩陣元素的符號,及對這些訊號執行XOR運算,來計算陰極取向(例如光學偵測器606的陰極取向)。輸出陰極取向位元可以設定來自光學偵測器的電流是否為正或負(例如輸出陰極取向位元可以觸發電路600a的開關604及605的佈置或設定的改變)。
發明人已經進一步開發了用於將這些「符號位元」分佈在整個光子處理器內的方法。可以將每個向量元素的符號位元傳輸到配置為對向量元素值進行編碼的每個第一幅度調變器附近,其中在此向量符號位元與矩陣符號位元之間執行XOR運算之後,可以使用符號位元訊號來控制偵測器電流的流動。
替代性或附加性地,可以使用電氣通訊來分佈符號位元。此通訊可以使用標準數位設計實作來執行以最小化歪斜及抖動。例如,可以使用樹狀或網格拓撲來同時將單個位元分佈到許多地方。此樹狀結構的時間延遲可能超過處理器的向量速率,此時將有多個符號同時傳送到調變器。
發明人進一步認識到,可以光子地分佈符號位元。例如,可以使用額外的波導器來對符號位元進行編碼及傳送。然而,也可以使用光學訊號的未使用的自由度來傳送符號位元。例如,可以用另一個偏振或另一個波長調變光學訊號以對符號位元進行編碼及分佈。符號位元也可以在偏振或波長的邏輯選擇中編碼。例如,若向量符號位元為正,則光子處理器可以使用波長的光,而若向量符號位元為負,則光子處理器可以使用波長的光。光子符號位元分佈產生了多個優點。首先,符號位元訊號及矩陣-向量乘積訊號可以用相同的傳播速度傳播。第二,符號位元訊號及矩陣-向量乘積訊號可以在相同的光學波導器中傳播,從而排除了系統中額外波導器的使用。
圖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.子矩陣處理架構
矩陣-矩陣、矩陣-向量、及張量-張量乘法運算本質上是遞歸的。考慮矩陣(用Pythonic表示法表示)與向量之間的乘法。具有輸出及的乘法可以視為子矩陣與子向量之間的乘法。此邏輯可以遞歸,直到元素及為純量元素為止。上述的此類遞歸適用於將尺寸的矩陣與尺寸的向量相乘,其中是整數。給定任意尺寸的矩陣,可以依需要添加零以滿足這些尺寸需求。然而,應理解,將矩陣分成兩個列及兩個行不是必要的。可以將矩陣分成個列及個行,這將導致不同的縮放。
也可以使用子矩陣庫用此種遞歸方式配置矩陣處理器。圖9A-9D是繪示依據本文中所述的技術的一些實施例佈置成子矩陣處理器的光子處理器900的示意圖。每個子矩陣處理器902均被標記為,且向量904被標記為。在圖9A-9D的示例中,,然而可以理解,在一些實施例中,子矩陣及向量可以具有其他的尺寸。子向量被分離且傳送到相關的子矩陣處理器。在幅度調變器906處在每個子矩陣處理器中執行子矩陣與子向量之間的矩陣-向量乘法。接著光學地將矩陣-向量乘法傳送到光學偵測器908。光學偵測器908被配置為將接收到的光學訊號轉換成電訊號。可以接著在不同的子矩陣處理器之間將相關的子向量電訊號加總在一起。在圖10A-10B中,示出了依據一些實施例的光子處理器1000的另一個實施例。本端地使用ADC 1010來將子向量輸出轉換成位元串,且使用數位電路系統(未示出)來將最終輸出相加在一起。
XII.具有多個光波長的光子處理
到目前為止,已經描述了使用電子電路系統來執行加總的線性光子處理器架構。圖11示出繪示依據本文中所述的技術的一些實施例的線性光子處理器1100的替代性實施例的示意圖,該線性光子處理器被配置為在光域中執行加總及使用具有多個波長的輸入光。在圖11的示例中,每個第一幅度調變器1102均接收不同波長的光:、、⋯、。線性光子處理器1100中的向量調變策略及矩陣調變策略與由圖2、3A、及3B的線性光子處理器所執行的策略類似。然而,在線性光子處理器1100中,在光學訊號被第二幅度調變器1104調變之後不立即偵測光學訊號。而是,可以在光學訊號被光學偵測器1108偵測之前將光學訊號饋送到光學組合器電路1106中。因此,與圖2、3A、及3B的先前所述的線性光子處理器中總共個光學偵測器相比,圖11的實施例中僅有個光學偵測器1108。
圖12A是依據本文中所述的技術的一些實施例配置為用於與多個光波長一起使用的光學組合器1106的示意圖。光學組合器1106可以包括塞取環濾波器1210。可以將與環諧振及從輸入1(例如從第二幅度調變器1104)所接收的光學訊號投放到輸出匯流排波導器中,而來自輸入2(例如來自匯流排)的不與環諧振的光學訊號穿過環到輸出匯流排波導器。因此,環被調諧成與到達對應的第二幅度調變器1104的光的波長諧振,但不與處理器中所使用的任何其他波長諧振。至少在一些實施例中,環濾波器因此可以具有具有自由光譜範圍(FSR),該FSR大到足以支援單個FSR內總共至少個諧振。
圖12B是依據本文中所述的技術的一些實施例的圖12A的組合器的FSR的說明圖。可以將環濾波器設計為具有大的自由光譜範圍(FSR)但具有足夠高的品質因子,使得來自第二幅度調變器的輸入的許多諧振尖峰被捕捉。
圖12C是依據本文中所述的技術的一些實施例的圖12A的組合器中的幾個組合器的透射與波長的關係的說明圖。每個組合器可以彼此失諧,使得僅將一個光波長從輸入1(例如從第二幅度調變器1104)投放到輸出。也可以使用其他的非諧振多波長組合器(例如y組合器或指向性耦合器)用一些光學損耗為代價來組合不同波長的輸出光。
XIV.實施稀疏矩陣及/或向量
在許多計算領域中常常遭遇稀疏矩陣(例如具有很少的非零元素的矩陣)。在一些實施例中,如圖13A-13C的示例中所示,可以藉由使用安置在處理器架構內的電氣或光學開關,來在矩陣或向量中實施稀疏表項。線性光子處理器1300a、1300b、及1300c與如與圖3結合描述的線性光子處理器300a類似,且包括光源1302、第一幅度調變器1306、第二幅度調變器1308、光學偵測器1310、及電氣加總電路1312。然而,線性光子處理器1300a、1300b、及1300c包括額外的電氣或光學開關以實施稀疏矩陣或向量表項。
將電氣開關1311安置在光學偵測器1310之後(如在圖13A的線性光子處理器1300a中那樣)可以實施矩陣中的稀疏表項。替代性或附加性地,如圖13B的線性光子處理器1300b中所示,可以將電氣開關1313安置在電氣加總電路1312之後,以實施矩陣的稀疏列。替代性或附加性地,可以將圖13C的線性光子處理器1300c中所示的光學開關1314安置在第一幅度調變器1306之後以實施向量中的稀疏表項。可以理解,可以在線性光子處理器中使用開關1311、1313、及1314的任何組合以實施稀疏矩陣及/或向量表項。藉由確保零值與第二幅度調變器1308的預設狀態對應,可以節省稀疏矩陣表項的能源。如此,不會在施加零上花費能源。
替代性或附加性地,可以使用預先計算來實施稀疏或單位子矩陣。類比處理器一般從計算量極大的密集(非稀疏)運算中獲得優勢。假設矩陣及向量;若矩陣的列是稀疏的,則在數位計算系統上個別執行運算可能是有益的。例如,若的整個列包含零表項,則電腦不應進行計算且應針對該向量表項僅輸出零。另一個極端的示例,若整個矩陣是單位矩陣,則電腦應僅回傳向量。兩個示例都不需要任何計算,而是僅在輸入與輸出之間進行映射,該映射可以高效地使用數位電路來進行。可以實施光子處理器外部的編譯器系統以決定是否要使用數位電路系統(如先前的情況)或使用類比處理器來計算的矩陣列與向量之間的特定乘法。
圖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軸線(未圖示)反射。輸出光電偵測器可以彼此相鄰群集。一般而言,若可以將系統佈局在維區塊中,則有個獨立的區塊是有利的,每個區塊均沿著N
個可能維度的一條軸線反射,使得輸出光電偵測器彼此相鄰群集。
XV.矩陣-矩陣運算
圖17是依據本文中所述的技術的一些實施例配置為實施矩陣-矩陣運算的光子處理器1700的方塊圖。光子處理器1700包括兩個矩陣-向量子處理器。這些矩陣-向量子處理器具有與如與圖3結合描述的線性光子處理器300類似的架構。兩個矩陣子處理器都包括光源1702、分束器1704、及第一幅度調變器1706。由第一幅度調變器1706所輸出的第一光學訊號可以被額外的分束器1704分離且傳送到第二幅度調變器1708。由第二幅度調變器1708所輸出的光學訊號可以被光學偵測器1710偵測且轉換成電訊號。由光學偵測器1710所輸出的電訊號可以被電氣加總電路1717加總。然而,光子處理器1700使用第一子處理器的電氣輸出作為對第二子處理器的輸入。在一些實施例中,第一子處理器的電氣輸出可以在被傳送到第二矩陣子處理器之前藉由放大器1714來放大。
考慮兩個矩陣與之間的乘法,其中輸出矩陣為。可以將矩陣程式化到第一矩陣-向量處理器的第二幅度調變器1708中,且可以將矩陣程式化到第二矩陣-向量處理器的第二幅度調變器1708中。為了讀出生成的矩陣,可以將單熱(one-hot)向量(例如一個表項具有一的值而所有其他表項都具有零的值的向量)程式化到第一子矩陣向量的第一幅度調變器1706中,使得任何時候都只能導通一個調變器。
在一些實施例中,單熱向量傳播通過光子處理器1700。在單熱向量傳播通過第一矩陣子處理器的第二幅度調變器1708時,它們攜帶表示矩陣的行的資訊。可以將矩陣的行傳送及程式化到第二矩陣處理器的第一幅度調變器1706中。來自光源1702的光學訊號可以接著將矩陣的行傳送到第二矩陣子處理器的第二幅度調變器1708,該等第二幅度調變器被程式化為具有矩陣的元素。輸出向量與最終矩陣的行對應。更具體而言,若使用者提交向量(全部為零除了一個作為第元素的一以外的向量),則輸出將是的第行。例如,提交回傳的第一行。因此,可以數位地執行及儲存(例如藉由外部記憶體來儲存)矩陣的行與矩陣的元素之間的乘法。藉由將不同的單熱向量傳播通過光子處理器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所述的裝置,其中該光學偵測器包括一光電二極體; 該第一終端包括一陽極;及 該第二終端包括一陰極。
- 如請求項1所述的裝置,其中該第一開關及該第二開關各自包括一電晶體開關。
- 如請求項1所述的裝置,其中該參考電壓是接地。
- 如請求項1所述的裝置,其中該控制電路系統包括配置為輸出一符號取向位元的邏輯閘,其中該符號取向位元包括指示該數值輸出是否包括一正號或負號數值的資訊。
- 如請求項5所述的裝置,其中該邏輯閘包括一XOR閘。
- 如請求項5所述的裝置,其中該邏輯閘被配置為比較一輸入向量元素的一值的一符號及一輸入矩陣元素的一值的一符號。
- 一種光學處理系統,包括: 第一複數個光學調變器,各自被配置為接收一輸入光學訊號、調變該輸入光學訊號、及輸出表示一向量的一元素的一第一光學訊號; 第二複數個光學調變器,各自光學耦合到該第一複數個光學調變器中的一光學調變器且被配置為接收該第一光學訊號、調變該第一光學訊號、及輸出一第二光學訊號,該第二光學訊號表示該向量與一矩陣之間的一矩陣-向量乘法的一部分; 複數個光學偵測器,各自光學耦合到該第二複數個光學調變器中的光學調變器且被配置為將該第二光學訊號轉換成一電訊號,該電訊號表示該矩陣-向量乘法的該部分,其中該複數個光學偵測器中的每個光學偵測器均包括一第一終端及一第二終端; 一第一開關,將一第一光學偵測器的該第一終端耦合到一輸出節點或一參考電壓中的任一者; 一第二開關,將該第一光學偵測器的該第二終端耦合到該輸出節點或一電壓軌中的任一者;及 控制電路系統,被配置為: 藉由將該第一開關設定為將該第一光學偵測器的該第一終端耦合到該參考電壓及將該第二開關設定為將該第一光學偵測器的該第二終端耦合到該輸出節點,來產生一正號數值輸出;及 至少部分地藉由將該第一光學偵測器的該第一開關設定為將該第一終端耦合到該輸出節點及將該第一光學偵測器的該第二開關設定為將該第二終端耦合到該電壓軌來產生一負號數值輸出。
- 如請求項8所述的光學處理系統,其中該光學偵測器包括一光電二極體; 該第一終端包括一陽極;及 該第二終端包括一陰極。
- 如請求項9所述的光學處理系統,其中該第一開關及該第二開關各自包括一電晶體開關。
- 如請求項9所述的光學處理系統,其中該參考電壓接地。
- 如請求項9所述的光學處理系統,更包括複數個電氣加總電路,其中: 該複數個中的一第一電氣加總電路耦合到二或更多個輸出節點,該二或更多個輸出節點中的每個輸出節點均藉由該第一開關或該第二開關耦合到一光學偵測器;及 該第一電氣加總電路被配置為輸出一電訊號,該電訊號表示由耦合到該二或更多個輸出節點的該等光學偵測器所輸出的該矩陣-向量運算的該等部分的一總和。
- 如請求項8所述的光學處理系統,其中該控制電路系統包括配置為輸出一符號取向位元的邏輯閘,其中該符號取向位元包括指示該數值輸出是否包括一正號或負號數值的資訊。
- 如請求項13所述的光學處理系統,其中該邏輯閘包括一XOR閘。
- 如請求項13所述的光學處理系統,其中該邏輯閘被配置為比較一輸入向量元素的一值的一符號及一輸入矩陣元素的一值的一符號。
- 一種用於實施由一光學處理器的光學偵測器所輸出的帶符號的數值的方法,該方法包括以下步驟: 使用包括一第一終端及一第二終端的一光學偵測器,將一輸出光學訊號轉換成一第一電訊號,該輸出光學訊號由該光學處理器的一部分所輸出; 使用耦合到該光學處理器的至少一個常規處理器,決定該第一電訊號是否表示一正號數值或一負號數值; 使用該光學處理器的控制電路系統,響應於決定該第一電訊號是否表示該正號數值或該負號數值,佈置耦合到該第一終端的一第一開關的設定及耦合到該第二終端的一第二開關的設定,其中該控制電路系統被配置為: 藉由將該第一開關設定為將該第一終端耦合到一參考電壓及將該第二開關設定為將該第二終端耦合到一節點,來產生一正號數值輸出;及 至少部分地藉由將該第一開關設定為將該第一終端耦合到該節點及將該第二開關設定為將該第二終端耦合到一電壓軌來產生一負號數值輸出;及 從該光學偵測器,輸出該第一電訊號,使得基於該第一電訊號是否表示一正號數值或一負號數值的該決定,該第一電訊號穿過該第一開關或該第二開關中的任一者。
- 如請求項16所述的方法,其中佈置該第一開關及該第二開關的設定包括以下步驟:從該控制電路系統,向該第一開關及該第二開關發送一或更多個電訊號,其中該第一開關及該第二開關各自包括一電晶體開關。
- 如請求項16所述的方法,更包括以下步驟: 使用一第一光學調變器來調變一輸入光學訊號以在一第一光學訊號中光學地表示一向量的一元素; 使用一第二光學調變器來調變該第一光學訊號以在該輸出光學訊號中光學地表示一被加數,其中該被加數在與其他被加數加總時,表示該向量與一矩陣列之間的一乘積;及 使用該光學偵測器來偵測該輸出光學訊號。
- 如請求項16所述的方法,其中佈置一第一開關的設定及一第二開關的設定更包括以下步驟:使用一邏輯閘來產生一符號取向位元,其中該符號取向位元包括指示該第一電訊號是否包括一正號或負號數值的資訊。
- 如請求項19所述的方法,其中使用該邏輯閘包括以下步驟:使用一XOR閘。
- 一種用於實施一矩陣-向量乘法運算的光學處理器,該光學處理器包括: 第一複數個光學調變器,各自被配置為接收一輸入光學訊號、調變該輸入光學訊號、及輸出表示一向量的一元素的一第一光學訊號; 第二複數個光學調變器,各自光學耦合到該第一複數個光學調變器中的一光學調變器且被配置為接收該第一光學訊號、調變該第一光學訊號、及輸出一第二光學訊號,該第二光學訊號表示該向量與一矩陣之間的一矩陣-向量乘法的一部分; 複數個光學偵測器,各自耦合到該第二複數個光學調變器中的光學調變器且被配置為將該第二光學訊號轉換成一電訊號,該電訊號表示該矩陣-向量乘法的該部分;及 複數個開關,被配置為藉由在該向量及/或矩陣的一值包括零時防止傳輸一光學或電訊號,來在該矩陣-向量乘法運算中實施一零值,其中該複數個開關中的一開關耦合到該第一複數個光學調變器中的每一者或該複數個光學偵測器中的每一者的一輸出。
- 如請求項21所述的光學處理器,其中該複數個開關中的一開關包括一電氣開關且耦合到該第一複數個光學偵測器中的一者的一輸出。
- 如請求項22所述的光學處理器,其中該開關被配置為在該矩陣的一元素的一對應值為零時防止傳輸一電訊號。
- 如請求項21所述的光學處理器,其中該複數個開關中的一開關包括一光學開關且耦合到該第二複數個光學調變器中的一者的一輸出。
- 如請求項24所述的光學處理器,其中該開關被配置為在該向量的一元素的一對應值為零時防止傳輸一光學訊號。
- 如請求項21所述的光學處理器,更包括:複數個電氣加總單元,各自耦合到該複數個光學偵測器中的二或更多個光學偵測器的一輸出且被配置為輸出一電訊號,該電訊號表示由該二或更多個光學偵測器所輸出的該矩陣-向量運算的該等部分的一總和。
- 如請求項26所述的光學處理器,更包括:另一複數個開關,耦合到該複數個電氣加總單元的輸出,該另一複數個開關中的該等開關被配置為在該矩陣的一列的所有元素值都等於零時防止傳輸表示該總和的該電訊號。
- 一種使用一光學處理器來執行一矩陣-向量列乘法運算的方法,該方法包括以下步驟: 使用一第一光學調變器來調變一輸入光學訊號以在一第一光學訊號中光學地表示一向量的一元素; 使用第二光學調變器來調變該第一光學訊號以在一第二複數個光學訊號中光學地表示被加數,其中該等被加數在加總時表示該向量的該元素與一矩陣列之間的一乘積; 使用光學偵測器來將該第二複數個光學訊號轉換成複數個被加數電訊號;及 在該向量的該元素的一值等於零時,使耦合到該第一光學調變器的一輸出的一開關防止向該等第二光學調變器傳輸該第一光學訊號,及/或在該矩陣列的一或更多個元素的一值等於零時,使耦合到該等光學偵測器的輸出的一或更多個開關防止傳輸該等被加數電訊號。
- 如請求項28所述的方法,更包括以下步驟: 使用一電氣加總單元,加總該等被加數電訊號以獲得一乘積電訊號;及 輸出該乘積電訊號。
- 如請求項29所述的方法,更包括以下步驟: 在該矩陣列的所有元素的值都等於零時,使耦合到該電氣加總單元的一輸出的一開關防止傳輸該乘積電訊號。
- 如請求項28所述的方法,其中在該向量的該元素的該值等於零時使耦合到該第一光學調變器的該開關防止向該等第二光學調變器傳輸該第一光學訊號包括以下步驟:開啟一光學開關。
- 如請求項28所述的方法,其中在該矩陣列的一或更多個元素的該值等於零時使耦合到該等光學偵測器的輸出的該一或更多個開關防止傳輸該等被加數電訊號包括以下步驟:開啟一電氣開關。
- 如請求項28所述的方法,其中使用該第一光學調變器調變該輸入光學訊號包括以下步驟:調變該輸入光學訊號的一幅度。
- 一種非暫時性電腦可讀取媒體,包括指令,該等指令在由至少一個光學處理器所執行時使得該光學處理器執行具有以下步驟的一方法: 使用一第一光學調變器來調變一輸入光學訊號以在一第一光學訊號中光學地表示一向量的一元素; 使用第二光學調變器來調變該第一光學訊號以在一第二複數個光學訊號中光學地表示被加數,其中該等被加數在加總時表示該向量與一矩陣列之間的一乘積; 使用光學偵測器來將該第二複數個光學訊號轉換成複數個被加數電訊號;及 在該向量的該元素的一值等於零時,使耦合到該第一光學調變器的一輸出的一開關防止向該等第二光學調變器傳輸該第一光學訊號,及/或在該矩陣列的一或更多個元素的一值等於零時,使耦合到該等光學偵測器的輸出的一或更多個開關防止傳輸該等被加數電訊號。
- 如請求項34所述的非暫時性電腦可讀取媒體,其中該方法更包括以下步驟: 使用一電氣加總單元,加總該等被加數電訊號以獲得一乘積電訊號;及 輸出該乘積電訊號。
- 如請求項35所述的非暫時性電腦可讀取媒體,其中該方法更包括以下步驟: 在該矩陣列的所有元素的值都等於零時,使耦合到該電氣加總單元的一輸出的一開關防止傳輸該乘積電訊號。
- 如請求項34所述的非暫時性電腦可讀取媒體,其中在該向量的該元素的該值等於零時使耦合到該第一光學調變器的該開關防止向該等第二光學調變器傳輸該第一光學訊號包括以下步驟:開啟一光學開關。
- 如請求項34所述的非暫時性電腦可讀取媒體,其中在該矩陣列的一或更多個元素的該值等於零時使耦合到該等光學偵測器的輸出的該一或更多個開關防止傳輸該等被加數電訊號包括以下步驟:開啟一電氣開關。
- 如請求項34所述的非暫時性電腦可讀取媒體,其中使用該第一光學調變器調變該輸入光學訊號包括以下步驟:調變該輸入光學訊號的一幅度。
- 一種使用一光學處理器來執行矩陣-矩陣運算的方法,該方法包括以下步驟: 將一第一矩陣程式化到一第一光學子處理器中; 將一第二矩陣程式化到一第二光學子處理器中,該第二光學子處理器包括耦合到該第一光學子處理器的輸出的輸入; 作為光學訊號,將複數個單熱向量輸入到該第一光學子處理器中;及 從該第二光學子處理器,輸出一輸出向量,該輸出向量表示該第一矩陣及該第二矩陣的一乘法的一部分。
- 如請求項40所述的方法,更包括以下步驟: 從該第一光學子處理器,輸出複數個電訊號,該複數個電訊號表示該單熱向量與該第一矩陣之間的一乘法。
- 如請求項41所述的方法,更包括以下步驟: 在該第二光學子處理器處,從該第一光學子處理器接收該複數個電訊號;及 使用該第二光學子處理器的光學調變器,使用從該第一光學子處理器所接收的該複數個電訊號來調變輸入光學訊號。
- 如請求項41所述的方法,更包括以下步驟: 在輸出表示該單熱向量與該第一矩陣之間的一乘法的該複數個電訊號之後,使用一或更多個放大器來放大該複數個電訊號。
- 一種配置為執行矩陣-矩陣運算的光學處理器,該光學處理器包括: 一第一光學子處理器,被配置為光學地執行一單熱向量及一第一矩陣的一矩陣-向量乘法以獲得一第一向量;及 一第二光學子處理器,被配置為從該第一光學子處理器接收輸出訊號,及光學地執行該第一向量及一第二矩陣的一矩陣-向量乘法。
- 一種配置為執行矩陣-矩陣運算的光學處理器,該光學處理器包括: 一第一光學子處理器,包括: 第一複數個光學調變器,各自被配置為接收一輸入光學訊號、調變該輸入光學訊號、及輸出表示一單熱向量的一元素的一第一光學訊號; 第二複數個光學調變器,各自光學耦合到該第一複數個光學調變器中的一光學調變器且被配置為接收該第一光學訊號、調變該第一光學訊號、及輸出一第二光學訊號,該第二光學訊號表示該單熱向量與一第一矩陣之間的一矩陣-向量乘法的一部分; 第一複數個光學偵測器,各自耦合到該第二複數個光學調變器中的一光學調變器且被配置為將該第二光學訊號轉換成一電訊號,該電訊號表示該矩陣-向量乘法的該部分;及 第一複數個電氣加總單元,各自耦合到該第一複數個光學偵測器中的二或更多個光學偵測器的一輸出且被配置為輸出一電訊號,該電訊號表示由該矩陣-向量乘法的部分的一加總所造成的一向量的一元素;及 一第二光學子處理器,包括: 第三複數個光學調變器,各自從該第一光學子處理器的該複數個電氣加總單元中的一電氣加總單元接收一輸出電訊號,且其中該第三複數個光學調變器各自被配置為接收一輸入光學訊號、依據接收到的該輸出電訊號來調變該輸入光學訊號、及輸出表示該向量的該元素的一第三光學訊號; 第四複數個光學調變器,各自光學耦合到該第三複數個光學調變器中的一光學調變器且被配置為接收表示該向量的一元素的該第三光學訊號、調變該第三光學訊號、及輸出一第四光學訊號,該第四光學訊號表示該第一矩陣與一第二矩陣之間的一矩陣-矩陣乘法的一部分; 第二複數個光學偵測器,各自耦合到該第三複數個光學調變器中的一光學調變器且被配置為將該第三光學訊號轉換成一電訊號,該電訊號表示該矩陣-矩陣乘法的一部分;及 第二複數個電氣加總單元,各自耦合到該第二複數個光學偵測器中的二或更多個光學偵測器的一輸出且被配置為輸出一電訊號,該電訊號表示由該矩陣-矩陣乘法的部分的一加總所造成的一矩陣的一元素。
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)
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)
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 |
-
2020
- 2020-07-28 WO PCT/US2020/043841 patent/WO2021021787A1/en unknown
- 2020-07-28 KR KR1020227006299A patent/KR20220039775A/ko unknown
- 2020-07-28 EP EP20847145.8A patent/EP4004673A4/en active Pending
- 2020-07-28 US US16/940,900 patent/US11398871B2/en active Active
- 2020-07-28 CN CN202080068642.9A patent/CN114514490A/zh active Pending
- 2020-07-28 JP JP2022506291A patent/JP2022543366A/ja active Pending
- 2020-07-28 CA CA3148118A patent/CA3148118A1/en active Pending
- 2020-07-29 TW TW109125536A patent/TW202112074A/zh unknown
-
2022
- 2022-06-14 US US17/840,515 patent/US11671182B2/en active Active
-
2023
- 2023-04-26 US US18/139,431 patent/US11936434B2/en active Active
-
2024
- 2024-02-14 US US18/441,231 patent/US20240187111A1/en active Pending
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 |