[go: up one dir, main page]

TW202005312A - 用於訓練基於矩陣的可微分程式的系統及方法 - Google Patents

用於訓練基於矩陣的可微分程式的系統及方法 Download PDF

Info

Publication number
TW202005312A
TW202005312A TW108116561A TW108116561A TW202005312A TW 202005312 A TW202005312 A TW 202005312A TW 108116561 A TW108116561 A TW 108116561A TW 108116561 A TW108116561 A TW 108116561A TW 202005312 A TW202005312 A TW 202005312A
Authority
TW
Taiwan
Prior art keywords
matrix
photon
vector
positive
values
Prior art date
Application number
TW108116561A
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 TW202005312A publication Critical patent/TW202005312A/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06EOPTICAL COMPUTING DEVICES; COMPUTING DEVICES USING OTHER RADIATIONS WITH SIMILAR PROPERTIES
    • G06E1/00Devices for processing exclusively digital data
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/10Machine learning using kernel methods, e.g. support vector machines [SVM]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Neurology (AREA)
  • Optical Modulation, Optical Deflection, Nonlinear Optics, Optical Demodulation, Optical Logic Elements (AREA)
  • Optical Communication System (AREA)
  • Complex Calculations (AREA)

Abstract

用於使用基於光子的處理器訓練基於矩陣的可微分程式之方法及設備。該基於矩陣的可微分程式包括與歐幾里德向量空間中之值之矩陣相關聯的至少一個矩陣值變數。該方法包含配置該基於光子的處理器之組件以將該值之矩陣表示為角表示,使用該基於光子的處理器之該等組件處理訓練資料以計算誤差向量,平行地決定該角表示之參數之至少一些梯度,其中該決定係基於該誤差向量及當前輸入訓練向量,及藉由基於該決定的梯度更新該角表示來更新該值之矩陣。

Description

用於訓練基於矩陣的可微分程式的系統及方法
本申請案之態樣涉及用於使用處理系統訓練基於矩陣的可微分程式之技術。 相關申請案之交互參照
本申請案主張2018年5月15日申請且標題為「Algorithms for Training Neural Networks with Photonic Hardware Accelerators」的美國臨時申請案第62/671,793號及2018年6月4日申請且標題為「Photonic Processing Systems and Methods」的美國臨時申請案第62/680,557號在專利法下之優先權,該等美國臨時申請案中每一個之整體內容以引用方式併入本文。
深度學習、機器學習、潛在變數模型、神經網路及其他基於矩陣的可微分程式用來解決各種問題,包括影像中之自然語言處理及物件辨識。以深度神經網路解決此等問題通常需要長處理時間來進行所需要的計算。用來加速深度學習演算法的習知方法曾經開發專門硬體體系架構。此係因為構成自包括數億個電晶體以在藉由電氣訊號表示的資訊之位元上實行邏輯閘的電路的習知電腦處理器,例如,中央處理單元(central processing unit; CPU)經設計來用於通用計算且因此未針對由使用在深度學習及其他基於矩陣的可微分程式中的演算法需要的資料移動及計算之特定模式加以最佳化。用於在深度學習中使用的專門硬體之一個習知實例為具有高度平行體系架構之圖形處理單元(graphics processing unit; GPU),該高度平行體系架構使該等圖形處理單元比用於進行影像處理及圖形調處的CPU更有效。在用於圖形處理的該等GPU之開發之後,發現GPU比用於其他可平行化演算法的CPU更有效,該等其他可平行化演算法諸如使用在神經網路及深度學習中的彼等演算法。此實現,以人工智慧及深度學習之日益增加的流行性,導致對可進一步提高此等計算之速度的新電子電路體系架構之進一步研究。
使用神經網路的深度學習按照慣例需要兩個階段:訓練階段及評估階段(有時稱為「推理」)。在深度學習演算法可在處理器上有意義地執行來例如在評估階段期間分類影像或語音樣本之前,神經網路必須首先經訓練。訓練階段可為耗費時間的,且需要密集的計算。
本申請案之態樣涉及用於使用處理系統訓練基於矩陣的可微分程式之技術。將歐幾里德向量空間中之值之矩陣表示為角表示,且該角表示之參數之至少一些梯度藉由該處理系統平行地計算。
在一些實施例中,提供用於使用基於光子的處理器訓練基於矩陣的可微分程式之方法。該基於矩陣的可微分程式包括與歐幾里德向量空間中之值之矩陣相關聯的至少一個矩陣值變數。該方法包含配置該基於光子的處理器之組件以將該值之矩陣表示為角表示,使用該基於光子的處理器之該等組件處理訓練資料以計算誤差向量,平行地決定該角表示之參數之至少一些梯度,其中該決定係基於該誤差向量及當前輸入訓練向量,及藉由基於該決定的梯度更新該角表示來更新該值之矩陣。
在至少一個態樣中,配置該基於光子的處理器之組件以將該值之矩陣表示為角表示包含使用奇異值分解來將該值之矩陣變換成第一么正矩陣(unitary matrix)、第二么正矩陣及帶符號或正規化奇異值之對角矩陣,將該第一么正矩陣分解成么正轉移矩陣之第一集合,將該第二么正矩陣分解成么正轉移矩陣之第二集合,基於該么正轉移矩陣之第一集合來配置該基於光子的處理器之組件之第一集合,基於該奇異值之對角矩陣來配置該基於光子的處理器之組件之第二集合,及基於該么正轉移矩陣之第二集合來配置該基於光子的處理器之組件之第三集合。
在至少一個態樣中,該么正轉移矩陣之第一集合包括複數個行,且其中平行地決定該角表示之參數之該等梯度中之至少一些包含平行地決定用於該等複數個行中之多個行之梯度。
在至少一個態樣中,處理該訓練資料以計算誤差向量包含使用光子訊號編碼該輸入訓練向量,將該等光子訊號作為輸入提供至該基於光子的處理器以產生輸出向量,解碼該輸出向量,基於該解碼後輸出向量來決定用於該輸入訓練向量的損耗函數之值,及基於聚合針對該訓練資料中之輸入訓練向量之集合決定的該損耗函數之該等值來計算該誤差向量。
在至少一個態樣中,平行地決定該角表示之參數之至少一些梯度包含平行地決定用於該分解第一么正矩陣之每個行的該等參數之梯度、用於該分解第二么正矩陣之每個行的該等參數之梯度,及用於該等奇異值的該等參數之梯度。
在至少一個態樣中,平行地決定用於該分解第一么正矩陣之每個行的該等參數之梯度包含(a)計算分塊對角導數矩陣,該分塊對角導數矩陣含有關於該么正轉移矩陣之第一集合之選定行k 中之每個參數的導數,(b)計算該誤差向量與該選定行k 與該么正轉移矩陣之第一集合之輸出行之間的該分解第一么正矩陣中之所有么正轉移矩陣之乘積,(c)計算輸入訓練資料向量與自該么正轉移矩陣之第一集合之輸入行直至且包括該么正轉移矩陣之第一集合之該選定行k 的該分解第一么正矩陣中之所有么正轉移矩陣之乘積,(d)使動作(c)之結果乘以動作(a)中所計算的該分塊對角導數矩陣,及計算來自動作(b)之輸出及動作(d)之輸出的元件之相繼對之間的內積。
在至少一個態樣中,平行地決定該角表示之參數之至少一些梯度包含使該誤差向量後向傳播穿過該值之矩陣之該角表示。
在至少一個態樣中,配置該基於光子的處理器之組件以將該值之矩陣表示為角表示包含將該值之矩陣分割成具有較小維度的二或更多個矩陣,及配置該基於光子的處理器之組件以表示具有較小維度的該二或更多個矩陣中之一個中之該等值。
在至少一個態樣中,更新該角表示包含使用複數個迭代更新用於該組件之第一集合、該組件之第二集合及該組件之第三集合之該等參數,且對於該等複數個迭代中之一些迭代,僅用於該組件之第二集合之該等參數經更新。
在至少一個態樣中,更新該角表示包含更新用於該組件之第一集合、該組件之第二集合及該組件之第三集合之該等參數,且用於更新該組件之第一集合及該組件之第三集合之第一學習率不同於用於更新該組件之第二集合之第二學習率。
在一些實施例中,提供以複數個指令編碼的非暫時性電腦可讀媒體。該等複數個指令當由至少一個基於光子的處理器執行時進行用於訓練潛在變數圖形模型之方法,該潛在變數圖形模型包括與歐幾里德向量空間中之值之矩陣相關聯的至少一個矩陣值潛在變數。該方法包含配置該基於光子的處理器之組件以將該值之矩陣表示為角表示,使用該基於光子的處理器之該等組件處理訓練資料以計算誤差向量,平行地決定該角表示之參數之至少一些梯度,其中該決定係基於該誤差向量及當前輸入訓練向量,及藉由基於該決定的梯度更新該角表示來更新該值之矩陣。
在至少一個態樣中,配置該基於光子的處理器之組件以將該值之矩陣表示為角表示包含使用奇異值分解來將該值之矩陣變換成第一么正矩陣、第二么正矩陣及帶符號或正規化奇異值之對角矩陣,將該第一么正矩陣分解成么正轉移矩陣之第一集合,將該第二么正矩陣分解成么正轉移矩陣之第二集合,基於該么正轉移矩陣之第一集合來配置該基於光子的處理器之組件之第一集合,基於該奇異值之對角矩陣來配置該基於光子的處理器之組件之第二集合,及基於該么正轉移矩陣之第二集合來配置該基於光子的處理器之組件之第三集合。
在至少一個態樣中,該么正轉移矩陣之第一集合包括複數個行,且其中平行地決定該角表示之參數之該等梯度中之至少一些包含平行地決定用於該等複數個行中之多個行之梯度。
在至少一個態樣中,處理該訓練資料以計算誤差向量包含使用光子訊號編碼該輸入訓練向量,將該等光子訊號作為輸入提供至該基於光子的處理器以產生輸出向量,解碼該輸出向量,基於該解碼後輸出向量來決定用於該輸入訓練向量的損耗函數之值,及基於聚合針對該訓練資料中之輸入訓練向量之集合決定的該損耗函數之該等值來計算該誤差向量。
在至少一些態樣中,平行地決定該角表示之參數之至少一些梯度包含平行地決定用於該分解第一么正矩陣之每個行的該等參數之梯度、用於該分解第二么正矩陣之每個行的該等參數之梯度,及用於該等奇異值的該等參數之梯度。
在至少一些態樣中,平行地決定用於該分解第一么正矩陣及該分解第二么正矩陣之每個行的該等參數之梯度包含(a)計算分塊對角導數矩陣,該分塊對角導數矩陣含有關於該么正轉移矩陣之第一集合之選定行k 中之每個參數的導數,(b)計算該誤差向量與該么正轉移矩陣之第一集合之選定行k 與該么正轉移矩陣之第一集合之輸出行之間的該分解第一么正矩陣中之所有么正轉移矩陣之乘積,(c)計算輸入訓練資料向量與自該么正轉移矩陣之第一集合之輸入行直至且包括該么正轉移矩陣之第一集合之該選定行k 的該分解第一么正矩陣中之所有么正轉移矩陣之乘積,(d)使動作(c)之結果乘以動作(a)中所計算的該分塊對角導數矩陣,及計算來自動作(b)之輸出及動作(d)之輸出的元件之相繼對之間的內積。
在至少一些態樣中,平行地決定該角表示之參數之至少一些梯度包含使該誤差向量後向傳播穿過該值之矩陣之該角表示。
在至少一些態樣中,配置該基於光子的處理器之組件以將該值之矩陣表示為角表示包含將該值之矩陣分割成具有較小維度的二或更多個矩陣,及配置該基於光子的處理器之組件以表示具有較小維度的該二或更多個矩陣中之一個中之該等值。
在至少一些態樣中,更新該角表示包含使用複數個迭代更新用於該組件之第一集合、該組件之第二集合及該組件之第三集合之該等參數,且對於該等複數個迭代中之一些,僅用於該組件之第二集合之該等參數經更新。
在至少一些態樣中,更新該角表示包含更新用於該組件之第一集合、該組件之第二集合及該組件之第三集合之該等參數,且用於更新該組件之第一集合及該組件之第三集合之第一學習率不同於用於更新該組件之第二集合之第二學習率。
在一些實施例中,提供基於光子的處理系統。該基於光子的處理系統包含光子處理器,及非暫時性電腦可讀媒體,該非暫時性電腦可讀媒體以複數個指令編碼,該等複數個指令當由該光子處理器執行時進行用於訓練潛在變數圖形模型之方法,該潛在變數圖形模型包括與歐幾里德向量空間中之值之矩陣相關聯的至少一個矩陣值潛在變數。該方法包含配置該光子處理器之組件以將該值之矩陣表示為角表示,使用該光子處理器之該等組件處理訓練資料以計算誤差向量,平行地決定該角表示之參數之至少一些梯度,其中該決定係基於該誤差向量及當前輸入訓練向量,及藉由基於該決定的梯度更新該角表示來更新該值之矩陣。
在至少一些態樣中,配置該基於光子的處理器之組件以將該值之矩陣表示為角表示包含使用奇異值分解來將該值之矩陣變換成第一么正矩陣、第二么正矩陣及帶符號或正規化奇異值之對角矩陣,將該第一么正矩陣分解成么正轉移矩陣之第一集合,將該第二么正矩陣分解成么正轉移矩陣之第二集合,基於該么正轉移矩陣之第一集合來配置該基於光子的處理器之組件之第一集合,基於該奇異值之對角矩陣來配置該基於光子的處理器之組件之第二集合,及基於該么正轉移矩陣之第二集合來配置該基於光子的處理器之組件之第三集合。
在至少一些態樣中,該么正轉移矩陣之第一集合包括複數個行,且其中平行地決定該角表示之參數之該等梯度中之至少一些包含平行地決定用於該等複數個行中之多個行之梯度。
在至少一些態樣中,處理該訓練資料以計算誤差向量包含使用光子訊號編碼該輸入訓練向量,將該等光子訊號作為輸入提供至該基於光子的處理器以產生輸出向量,解碼該輸出向量,基於該解碼後輸出向量來決定用於該輸入訓練向量的損耗函數之值,及基於聚合針對該訓練資料中之輸入訓練向量之集合決定的該損耗函數之該等值來計算該誤差向量。
在至少一些態樣中,平行地決定該角表示之參數之至少一些梯度包含平行地決定用於該分解第一么正矩陣之每個行的該等參數之梯度、用於該分解第二么正矩陣之每個行的該等參數之梯度,及用於該等奇異值的該等參數之梯度。
在至少一些態樣中,平行地決定用於該分解第一么正矩陣及該分解第二么正矩陣之每個行的該等參數之梯度包含(a)計算分塊對角導數矩陣,該分塊對角導數矩陣含有關於該么正轉移矩陣之第一集合之選定行k 中之每個參數的導數,(b)計算該誤差向量與該么正轉移矩陣之第一集合之選定行k 與該么正轉移矩陣之第一集合之輸出行之間的該分解第一么正矩陣中之所有么正轉移矩陣之乘積,(c)計算輸入訓練資料向量與自該么正轉移矩陣之第一集合之輸入行直至且包括該么正轉移矩陣之第一集合之該選定行k 的該分解第一么正矩陣中之所有么正轉移矩陣之乘積,(d)使動作(c)之結果乘以動作(a)中所計算的該分塊對角導數矩陣,及計算來自動作(b)之輸出及動作(d)之輸出的元件之相繼對之間的內積。
在至少一些態樣中,平行地決定該角表示之參數之至少一些梯度包含使該誤差向量後向傳播穿過該值之矩陣之該角表示。
在至少一些態樣中,配置該基於光子的處理器之組件以將該值之矩陣表示為角表示包含將該值之矩陣分割成具有較小維度的二或更多個矩陣,及配置該基於光子的處理器之組件以表示具有較小維度的該二或更多個矩陣中之一個中之該等值。
在至少一些態樣中,更新該角表示包含使用複數個迭代更新用於該組件之第一集合、該組件之第二集合及該組件之第三集合之該等參數,且對於該等複數個迭代中之一些,僅用於該組件之第二集合之該等參數經更新。
在至少一些態樣中,更新該角表示包含更新用於該組件之第一集合、該組件之第二集合及該組件之第三集合之該等參數,且用於更新該組件之第一集合及該組件之第三集合之第一學習率不同於用於更新該組件之第二集合之第二學習率。
先前設備及方法實施例可以以上或以下進一步詳細地描述的態樣、特徵,及動作之任何適合組合實行。本教導之此等及其他態樣、實施例,及特徵可結合伴隨圖式自以下描述更充分地理解。
I. 基於光子的處理之概述
發明人已認識且瞭解,存在對基於電路的習知處理器之速度及效率之限制。電氣處理器之電路中之每個電線及電晶體具有引起任何電氣訊號中之傳播延遲及功率耗散的電阻、電感,及電容。例如,連接多個處理器核心及/或連接一處理器核心至記憶體使用具有非零阻抗之導電跡線。大阻抗值限制資料藉由跡線以可忽略位元錯誤率傳遞的最大速率。在時間延遲為決定性的應用諸如高頻率股票交易中,甚至幾百分之一秒的延遲可使演算法對於使用為不可行的。對於需要藉由上億電晶體進行的上億操作的處理,此等延遲總計達大量時間損失。除電氣電路之速度無效率之外,藉由由電路之阻抗引起的能量耗散產生的熱亦為開發電氣處理器中之障礙。
發明人進一步認識且瞭解,使用光訊號而非電氣訊號克服電氣計算的情況下的前文提及之問題中之許多。光訊號在光行進的媒體中以光速行進;因而光子訊號之潛時具有比電氣傳播延遲少得多的限制。另外,無功率藉由增加由光訊號行進的距離耗散,從而開拓將為使用電氣訊號不可行的新拓撲及處理器佈局。因而,基於光的處理器諸如基於光子的處理器可具有相較於習知電氣處理器的較佳速度及效率效能。
另外,發明人已認識且瞭解,基於光的處理器諸如基於光子的處理器可非常適合於特定類型的演算法。例如,許多機器學習演算法,例如支援向量機,人工神經網路、概率圖形模型學習,嚴重依賴於多維陣列/張量上之線性變換。最簡單實例為使向量乘以矩陣,此舉使用習知演算法具有O(n2 ) 階之複雜度,其中n 為相乘的方陣之維數。發明人已認識且瞭解,在一些實施例中可為高度平行線性處理器的基於光子的處理器可藉由使輸入光訊號之特定集合傳播穿過射束分離器之可組態陣列以高度平行方式進行線性變換,諸如矩陣乘法。使用此類實行方案,與使用習知處理的幾十至幾百奈秒相對比,具有維度n=512 之矩陣之矩陣乘法可在幾百皮秒內完成。使用一些實施例,估計矩陣乘法相對於習知技術加速兩個數量級。例如,可藉由目前最佳技術圖形處理單元(graphics processing unit; GPU)進行的可在約10 ns內進行的乘法可藉由根據一些實施例之光子處理系統在約200 ps內進行。
為實行基於光子的處理器,發明人已認識且瞭解,輸入向量與矩陣之乘法可藉由傳播同調光訊號例如雷射脈衝穿過互連可變射束分離器(variable beam splitter; VBS)之第一陣列、互連可變射束分離器之第二陣列,及兩個陣列之間將第一陣列之單個輸出連接至第二陣列之單個輸入的多個可控制光學元件(例如,電光或光學機械元件)實現。
以下描述包括光子處理器的光子處理系統之某些實施例之細節。 II. 訓練及後向傳播之概述
發明人已認識且瞭解,對於許多基於矩陣的可微分程式(例如,神經網路或潛在變數圖形模型)技術,大部分計算複雜度在於在遍歷模型之層時計算的矩陣-矩陣乘積。矩陣-矩陣乘積之複雜度為O (IJK ),其中兩個矩陣具有維度IJJK 。此外,這些矩陣-矩陣乘積係在模型之訓練附段及評估階段兩者中進行。
深度神經網路(亦即,具有多於一個隱藏層之神經網路)為可使用本文所描述之技術中之一些的一類型基於矩陣的可微分程式之實例。然而,應瞭解,本文針對進行平行處理所描述的技術可與其他類型的基於矩陣的可微分程式一起使用,該等其他類型的基於矩陣的可微分程式包括但不限於貝氏網路、交織解碼器、主題模型,及隱藏性馬可夫模型(Hidden Markov Model; HMM)。
深度學習之成功在很大程度上歸因於允許訓練神經網路之權重矩陣的後向傳播技術之開發。在習知後向傳播技術中,使用微積分之連鎖律使來自損耗函數之誤差向後傳播穿過單獨權重矩陣組件。後向傳播技術計算權重矩陣中之元件之梯度,該等梯度用來使用最佳化演算法諸如隨機梯度下降(stochastic gradient descent; SGD)、AdaGrad、RMSProp、Adam,或任何其他基於梯度的最佳化演算法決定對權重矩陣之更新。此程序之相繼應用用來決定使損耗函數最大化的最終權重矩陣。
發明人已認識且瞭解,本文所描述之類型的光學處理器藉由將權重矩陣再計算至替代性參數空間中致能梯度計算之效能,該替代性參數空間在本文中稱為「相位空間」或「角表示」。具體而言,在一些實施例中,將權重矩陣重新參數化為諸如吉文斯(Givens)旋轉矩陣之么正轉移矩陣之合成。在此重新參數化中,訓練神經網路包括調整么正轉移矩陣之角參數。在此重新參數化中,自其他旋轉解耦單個旋轉角之梯度,從而允許梯度之平行計算。就所需要的計算步驟之數目而言,此平行化導致相對於習知串列梯度決定技術的計算加速。
在描述後向傳播程序之細節之前,描述可用來實行後向傳播程序的示例性光子處理系統。重新參數化的權重矩陣之相位空間參數可經編碼至光子處理系統之移相器或可變射束分離器中以實行權重矩陣。將權重矩陣編碼至移相器或可變射束分離器中可用於神經網路之訓練及評估階段兩者。雖然後向傳播程序係與以下所描述之特定系統相結合加以描述,但應理解,實施例不限於本發明中所描述之光子處理系統之特定細節。 III. 光子處理系統概述
參考第1-1圖,根據一些實施例,光子處理系統1-100包括光學編碼器1-101、光子處理器1-103、光學接收器1-105,及控制器1-107。光子處理系統1-100接收藉由輸入位元串之群組表示的輸入向量作為來自外部處理器(例如,CPU)之輸入,且產生藉由輸出位元串之群組表示的輸出向量。例如,若輸入向量為n 維向量,則輸入向量可藉由n 個分離位元串代表,每個位元串表示向量之各別組件。輸入位元串可作為來自外部處理器之電氣或光學訊號經接收,且輸出位元串可作為電氣或光學訊號傳輸至外部處理器。在一些實施例中,控制器1-107未必在每個過程迭代之後輸出一輸出位元串。實情為,控制器1-107可使用一或多個輸出位元串來決定新輸入位元串流以饋通光子處理系統1-100之組件。在一些實施例中,輸出位元串自身可經用作用於藉由光子處理系統1-100實行的過程之後續迭代之輸入位元串。在其他實施例中,多個輸出位元串流以各種方式組合來決定後續輸入位元串。例如,作為後續輸入位元串之決定之部分,可將一或多個輸出位元串加在一起。
光學編碼器1-101經配置以將輸入位元串轉換成將藉由光子處理器1-103處理的光學編碼資訊。在一些實施例中,每個輸入位元串藉由控制器1-107以電氣訊號之形式傳輸至光學編碼器1-101。光學編碼器1-101將輸入向量之每個組件自該組件之數位位元串轉換成光學訊號。在一些實施例中,光學訊號將相關聯位元串之值及符號表示為光學脈衝之振幅及相位。在一些實施例中,相位可限於分別表示正值及負值的零相移或π相移之二進制選擇。實施例不限於實輸入向量值。當編碼光學訊號時,複向量組件可藉由例如使用多於兩個相位值加以表示。在一些實施例中,位元串藉由光學編碼器1-101接收,作為來自控制器1-107之光學訊號(例如,數位光學訊號)。在此等實施例中,光學編碼器1-101將數位光學訊號轉換成以上所描述之類型之類比光學訊號。
光學編碼器1-101輸出傳輸至光子處理器1-103的n 個分離光學脈衝。光學編碼器1-101之每個輸出一對一地耦接至光子處理器1-103之單個輸入。在一些實施例中,光學編碼器1-101可設置於與光子處理器1-103相同的基板上(例如,光學編碼器1-101及光子處理器1-103在相同晶片上)。在此類實施例中,光學訊號可在波導諸如矽光子波導中自光學編碼器1-101傳輸至光子處理器1-103。在其他實施例中,光學編碼器1-101可設置於與光子處理器1-103分離的基板上。在此類實施例中,光學訊號可在光纖中自光學編碼器1-101傳輸至光子處理器103。
光子處理器1-103進行輸入向量與矩陣M 之乘法。如以下詳細地描述,使用奇異值分解(singular value decomposition; SVD)及么正矩陣分解之組合將矩陣M 分解成三個矩陣。在一些實施例中,以類似於QR分解中之吉文斯旋轉的操作進行么正矩陣分解。例如,可使用與Householder分解相結合的SVD。將矩陣M 分解成三個構成部分可通過控制器1-107進行,且構成部分中之每一個可藉由光子處理器1-103之一部分實行。在一些實施例中,光子處理器1-103包括三個部分:可變射束分離器(variable beam splitter; VBS)之第一陣列,經配置以對輸入光學脈衝之陣列實行變換,該變換相當於第一矩陣乘法(參見,例如第1-3圖之第一矩陣實行方案1-301);可控制光學元件之群組,經配置以調整自第一陣列接收的光學脈衝中之每一個之強度及/或相位,該調整相當於與對角矩陣之第二矩陣乘法(參見,例如,第1-3圖之第二矩陣實行方案1-303);以及VBS之第二陣列,經配置以對自可控制電光元件之群組接收的光學脈衝實行變換,該變換相當於第三矩陣乘法(參見,例如,第3圖之第三矩陣實行方案1-305)。
光子處理器1-103輸出傳輸至光學接收器1-105的n 個分離光學脈衝。光子處理器1-103之每個輸出一對一地耦接至光學接收器1-105之單個輸入。在一些實施例中,光子處理器1-103可設置於與光學接收器1-105相同的基板上(例如,光子處理器1-103及光學接收器1-105在相同晶片上)。在此類實施例中,光學訊號可在矽光子波導中自光子處理器1-103傳輸至光學接收器1-105。在其他實施例中,光子處理器1-103可設置於與光學接收器1-105分離的基板上。在此類實施例中,光學訊號可在光纖中自光子處理器103傳輸至光學接收器1-105。
光學接收器1-105自光子處理器1-103接收n 個光學脈衝。光學脈衝中之每一個然後經轉換成電氣訊號。在一些實施例中,光學脈衝中之每一個之強度及相位藉由光學接收器內之光學偵測器量測。表示彼等量測值的電氣訊號然後輸出至控制器1-107。
控制器1-107包括記憶體1-109及用於控制光學編碼器1-101、光子處理器1-103及光學接收器1-105的處理器1-111。記憶體1-109可用來儲存輸入及輸出位元串以及來自光學接收器1-105之量測結果。記憶體1-109亦儲存可執行指令,該等可執行指令當由處理器1-111執行時,控制光學編碼器1-101,進行矩陣分解演算法,控制光子處理器103之VBS,且控制光學接收器1-105。記憶體1-109亦可包含可執行指令,該等可執行指令使處理器1-111基於藉由由光學接收器1-105進行的量測決定的一或多個輸出向量之集合來決定新輸入向量以發送至光學編碼器。以此方式,控制器1-107可藉由調整光子處理器1-103之設定且將來自光學接收器1-105之偵測資訊向回饋送至光學編碼器1-101來控制輸入向量藉以乘以多個矩陣的迭代過程。因而,藉由光子處理系統1-100傳輸至外部處理器的輸出向量可為多個矩陣乘法,而非簡單地單個矩陣乘法之結果。
在一些實施例中,矩陣可過大而不能使用單遍在光子處理器中編碼。在此類情形下,大矩陣之一個部分可在光子處理器中編碼且可針對大矩陣之彼單個部分進行乘法過程。彼第一操作之結果可經儲存於記憶體1-109中。隨後,大矩陣之第二部分可在光子處理器中編碼且可進行第二乘法過程。大矩陣之此「資料群集」可繼續,直至已對大矩陣之所有部分進行乘法過程。可儲存於記憶體1-109中的多個乘法過程之結果然後可經組合以形成輸入向量與大矩陣之乘法之最終結果。
在其他實施例中,僅輸出向量之集體行為由外部處理器使用。在此類實施例中,僅集體結果諸如多個輸出向量之平均值或最大值/最小值經傳輸至外部處理器。 IV. 光學編碼器
參考第1-2圖,根據一些實施例,光學編碼器包括至少一個光源1-201、功率樹1-203、振幅調變器1-205、相位調變器1-207、與振幅調變器1-205相關聯的數位至類比轉換器(digital to analog converter; DAC) 1-209,及與相位調變器1-207相關聯的1-DAC 211。雖然振幅調變器1-205及相位調變器1-207在第1-2圖中例示為具有n 個輸入及n 個輸出(輸入及輸出中之每一個為例如波導)之單個分塊,但在一些實施例中每個波導可包括各別振幅調變器及各別相位調變器,使得光學編碼器包括n 個振幅調變器及n 個相位調變器。此外,可存在用於每個振幅調變器及相位調變器之單獨DAC。在一些實施例中,單個調變器可用來編碼振幅資訊及相位資訊兩者,而非具有振幅調變器及與每個波導相關聯的分離相位調變器。雖然使用單個調變器來進行此編碼限制準確地調諧每個光學脈衝之振幅及相位兩者之能力,但存在不需要光學脈衝之振幅及相位兩者之準確調諧的一些編碼方案。本文稍後描述此方案。
光源1-201可為同調光之任何適合源。在一些實施例中,光源1-201可為二極體雷射或垂直腔表面發射雷射(vertical-cavity surface emitting laser; VCSEL)。在一些實施例中,光源1-201經配置以具有大於10 mW、大於25 mW、大於50 mW,或大於75 mW之輸出功率。在一些實施例中,光源1-201經配置以具有小於100 mW之輸出功率。光源1-201可經配置以發射在一或多個波長(例如,C-頻帶或O-頻帶)處之連續光波或光脈衝(「光學脈衝」)。光學脈衝之時間歷時可為例如約100 ps。
雖然光源1-201在第1-2圖中例示為在與光學編碼器之其他組件相同的半導體基板上,但實施例並不如此受限制。例如,光源1-201可為邊緣結合或表面結合至光學編碼器晶片的分離雷射封裝。替代地,光源1-201可完全在晶片外且光學脈衝可藉由光纖及/或光柵耦合器耦接至光學編碼器1-101之波導1-202。
光源1-201經例示為兩個光源1-201a及1-201b,但是實施例並不如此受限制。一些實施例可包括單個光源。包括多個光源201a-b,此舉可包括多於兩個光源,在光源中之一個出故障的狀況下可提供冗餘。包括多個光源可延伸光子處理系統1-100之有用壽命。多個光源1-201a-b可各自耦接至光學編碼器1-101之波導且然後在波導組合器處組合,該波導組合器經配置以將來自每個光源之光學脈衝導向至功率樹1-203。在此類實施例中,在任何給定時間使用僅一個光源。
一些實施例可同時使用相同波長之二或更多個鎖相光源來增加進入光學編碼器系統的光學功率。來自二或更多個光源中之每一個之一小部分光(例如,藉由波導分接頭獲取)可經導向至零差偵測器,其中節拍誤差訊號可經量測。節拍誤差訊號可用來決定兩個光源之間的可能相位漂移。節拍誤差訊號可例如經饋送至回饋電路中,該回饋電路控制相位調變器,該相位調變器將一個光源之輸出相位鎖定至另一光源之相位。鎖相可在主從方案中予以一般化,其中
Figure 02_image001
個從屬光源經鎖相至單個主光源。結果為可利用於光學編碼器系統的總計
Figure 02_image003
個鎖相光源。
在其他實施例中,每個分離光源可與不同波長之光相關聯。使用多個波長的光允許一些實施例經多工,使得多個計算可使用相同光學硬體同時進行。
功率樹1-203經配置以將來自光源1-201之單個光學脈衝劃分成空間分離的光學脈衝之陣列。因而,功率樹1-203具有一個光學輸入及n 個光學輸出。在一些實施例中,來自光源1-201之光學功率跨於與n 個波導相關聯的n 個光學模均勻地分裂。在一些實施例中,功率樹1-203為50:50射束分離器1-801之陣列,如第1-8圖中所例示。功率樹1-203之數目「深度」取決於輸出處之波導之數目。對於具有n 個輸出模之功率樹,功率樹1-203之深度為ceil(log2 (n)) 。第1-8圖之功率樹1-203僅例示三之樹深度(跨於功率樹1-203之底部標記樹之每個層)。每個層包括2m-1 個射束分離器,其中m 為層數。因此,第一層具有單個射束分離器1-801a,第二層具有兩個射束分離器1-801b – 1-801c,且第三層具有四個射束分離器1-801d – 1-801g。
雖然功率樹1-203經例示為可實行為漸消波導耦合器的級聯射束分離器之陣列,但實施例並不如此受限制,因為可使用將一個光學脈衝轉換成複數個空間分離的光學脈衝的任何光學裝置。例如,功率樹1-203可使用一或多個多模干涉儀(multimode interferometer; MMI)加以實行,在該狀況下,將適當地修改調節層寬度及深度的方程式。
無論使用何類型的功率樹1-203,皆可能製造功率樹1-203,使得在n 個輸出模之間準確均勻的分裂比即使並非不可能的,將亦為困難的。因此,可對振幅調變器之設定做出調整以針對藉由功率樹輸出的n 個光學脈衝之不等強度校正。例如,具有最低光學功率之波導可經設定為用於傳輸至光子處理器1-103的任何給定脈衝之最大功率。因而,除做出對振幅之調變以將資訊編碼至光學脈衝中之外,具有高於最大功率之功率的任何光學脈衝可藉由振幅調變器1-205調變以具有較低功率。相位調變器亦可經置放在n 個輸出模中之每一個處,該相位調變器可用來調整功率樹1-203之每個輸出模之相位,使得全部輸出訊號具有相同相位。
替代地或另外,功率樹1-203可使用一或多個馬赫-陳爾德干涉儀(Mach-Zehnder Interferometer; MZI)加以實行,該一或多個馬赫-陳爾德干涉儀可經調諧,使得功率樹中之每個射束分離器之分裂比導致功率樹1-203之輸出處的大致上相等強度的脈衝。
振幅調變器1-205經配置以基於各別輸入位元串修改自功率樹1-203接收的每個光學脈衝之振幅。振幅調變器1-205可為可變衰減器或藉由DAC 1-209控制的任何其他適合的振幅調變器,該DAC可進一步藉由控制器1-107控制。一些振幅調變器因電信應用而眾所周知且可在一些實施例中加以使用。在一些實施例中,可變射束分離器可經用作振幅調變器1-205,其中可變射束分離器之僅一個輸出經保持且另一輸出經丟棄或忽略。可使用在一些實施例中的振幅調變器之其他實例包括行進波調變器、基於共振腔的調變器、夫蘭茲-凱耳什(Franz-Keldysh)調變器、基於電漿子的調變器、基於2-D材料的調變器及奈米-光-電機械開關(nano-opto-electro-mechanical switch; NOEMS)。
相位調變器1-207經配置以基於各別輸入位元串修改自功率樹1-203接收的每個光學脈衝之相位。相位調變器可為熱光移相器或可藉由DAC 1-211電氣地控制的任何其他適合的移相器,該DAC可進一步藉由控制器1-107控制。
雖然第1-2圖將振幅調變器1-205及相位調變器1-207例示為兩個分離組件,但該振幅調變器及該相位調變器可組合成控制光學脈衝之振幅及相位兩者的單個元件。然而,存在單獨地控制光學脈衝之振幅及相位的優點。亦即,由於振幅移位與相移之間藉由Kramers-Kronenig關係的連接,存在與任何振幅移位相關聯的相移。為準確地控制光學脈衝之相位,藉由振幅調變器1-205創造的相移應使用相位調變器1-207加以補償。藉由實例之方式,退出光學編碼器1-101的光學脈衝之總振幅為
Figure 02_image005
且退出光學編碼器的光學脈衝之總相位為
Figure 02_image007
,其中a0 為輸入光學脈衝之輸入強度(在調變器之輸入處之零相位之假設的情況下),
Figure 02_image009
為振幅調變器1-205之振幅衰減,
Figure 02_image011
為在調變振幅時藉由振幅調變器1-205賦予的相移,
Figure 02_image013
為藉由相位調變器1-207賦予的相移,a2 為與通過相位調變器1-209的光學脈衝相關聯的衰減,且
Figure 02_image015
為由於光訊號之傳播而賦予光學訊號的相位。因而,光學脈衝之振幅及相位之設定並非兩個獨立決定。實情為,為精確地將特定振幅及相位編碼至自光學編碼器1-101輸出的光學脈衝中,應針對兩者設定考慮振幅調變器1-205及相位調變器1-207兩者之設定。
在一些實施例中,光學脈衝之振幅直接與位元串值有關。例如,高振幅脈衝對應於高位元串值且低振幅脈衝對應於低位元串值。光學脈衝之相位編碼位元串值為正或負。在一些實施例中,藉由光學編碼器1-101輸出的光學脈衝之相位可選自分開180度(π弧度)的兩個相位。例如,正位元串值可以零度相移編碼且負位元串值可180度(π弧度)相移編碼。在一些實施例中,預計向量為複數值的,且因而光學脈衝之相位選自0與2π之間的多於兩個值。
在一些實施例中,控制器1-107基於輸入位元串及將輸出幅度及輸出相位鏈接至藉由振幅調變器1-204及相位調變器1-207給予的振幅及相位的以上方程式來決定將藉由振幅調變器1-205及相位調變器1-207兩者賦予的振幅及相位。在一些實施例中,控制器1-107可將用於驅動振幅調變器1-205及相位調變器1-207的數位值之表儲存在記憶體1-109中。在一些實施例中,記憶體可置放成緊密接近於調變器以降低通訊時間潛時及功率消耗。
與振幅調變器1-205相關聯且通訊地耦接至該振幅調變器的數位至類比轉換器(digital to analog converter; DAC) 1-209接收來自控制器1-107之數位驅動值,且將數位驅動值轉換成驅動振幅調變器1-205的類比電壓。類似地,與相位調變器1-207相關聯且通訊地耦接至該相位調變器的DAC 1-211接收來自控制器1-107之數位驅動值,且將數位驅動值轉換成驅動相位調變器1-207的類比電壓。在一些實施例中,DAC可包括放大器,該放大器將類比電壓放大至充分高的位準,以達成振幅調變器內之所要的消光比(例如,實體上可能使用特定相位調變器實行的最高消光比)及相位調變器內之所要的相移範圍(例如,覆蓋0與2π之間的全範圍的相移範圍)。雖然DAC 1-209及DAC 1-211在第1-2圖中例示為位於光學編碼器1-101之晶片中及/或上,但在一些實施例中,DAC 1-209及1-211可位於晶片外而仍然以導電跡線及/或電線分別通訊地耦接至振幅調變器1-205及相位調變器1-207。
在藉由振幅調變器1-205及相位調變器1-207之調變之後,n 個光學脈衝自光學編碼器1-101傳輸至光子處理器1-103。 V. 光子處理器
參考第1-3圖,光子處理器1-103對藉由n 個輸入光學脈衝代表的輸入向量實行矩陣乘法,且包括三個主要組件:第一矩陣實行方案1-301、第二矩陣實行方案1-303,及第三矩陣實行方案1-305。在一些實施例中,如以下更詳細地論述,第一矩陣實行方案1-301及第三矩陣實行方案1-305包括可程式、可重組態、可變射束分離器(variable beam splitters; VBS)之互連陣列,該等可變射束分離器經配置以將n 個輸入光學脈衝自輸入向量變換成輸出向量,該等向量之組件藉由光學脈衝中之每一個之振幅及相位表示。在一些實施例中,第二矩陣實行方案1-303包括電光元件之群組。
輸入向量藉由使輸入光學脈衝通過光子處理器1-103乘以的矩陣稱為M 。矩陣M 為控制器1-107已知為應藉由光子處理器1-103實行的矩陣的一般m xn 。因而,控制器1-107使用奇異值分解(singular value decomposition; SVD)來分解矩陣M ,使得矩陣M 藉由三個構成矩陣表示:
Figure 02_image017
,其中UV 分別為實正交n xnm xm 矩陣(
Figure 02_image019
Figure 02_image021
,且
Figure 02_image023
為具有實條目之m xn 對角矩陣。所有方程式中之上標「T」表示相伴矩陣之轉置。決定矩陣之SVD為已知的,且控制器1-107可使用任何適合的技術來決定矩陣M 之SVD。在一些實施例中,矩陣M 為複矩陣,在該狀況下,矩陣M 可分解成
Figure 02_image025
,其中
Figure 02_image027
Figure 02_image029
分別為複么正
Figure 02_image031
Figure 02_image033
矩陣(
Figure 02_image035
Figure 02_image037
,且
Figure 02_image023
Figure 02_image039
具有實條目或複條目之對角矩陣。對角奇異值之值亦可進一步經正規化,使得奇異值之最大絕對值為1。
一旦控制器1-107已決定用於矩陣M 之矩陣U
Figure 02_image023
V ,在矩陣UV 為正交實矩陣之狀況下,控制可進一步將兩個正交矩陣UV 分解成一系列實值吉文斯旋轉矩陣。吉文斯旋轉矩陣
Figure 02_image041
藉由以下方程式按組件逐個定義:
Figure 02_image043
對於
Figure 02_image045
Figure 02_image047
對於
Figure 02_image049
Figure 02_image051
, 否則
Figure 02_image053
其中gij 表示矩陣G之第i列及第j行中之元件,且θ為與矩陣相關聯的旋轉角度。通常,矩陣G 為具有行列式1 (SU(2)群)之任意
Figure 02_image055
么正矩陣,且其藉由兩個參數加以參數化。在一些實施例中,彼等兩個參數為旋轉轉角θ 及另一相位值
Figure 02_image057
。然而,矩陣
Figure 02_image059
可藉由除角度或相位外的其他值,例如藉由反射率/透射率或藉由分離距離(在NOEMS之狀況下)參數化。
用於就複空間中之吉文斯旋轉之集合之乘積而言表達任意實正交矩陣的演算法提供於M. Reck等人,「Experimental realization of any discrete unitary operator,」 Physical Review Letters73 , 58 (1994) (「Reck」),及W. R. Clements等人,「Optimal design for universal multiport interferometers,」 Optica3 , 12 (2016) (「Clements」)中,上述文獻中兩者以引用方式整體地且至少對於其對用於就吉文斯旋轉而言分解實正交矩陣之技術之論述併入本文中。(在本文所使用之任何術語與Reck及/或Clements中之術語之用法衝突的狀況下,應給予術語與一般技術者將如何理解本文中之該術語之用法最一致的含義。)所得分解藉由以下方程式給出:
Figure 02_image061
, 其中Un xn 正交矩陣,
Figure 02_image063
為與所施加的吉文斯旋轉(如藉由分解演算法所定義)之第k 集合有關的索引之集合,
Figure 02_image065
表示針對吉文斯旋轉之第k 集合中之組件i及j之間的吉文斯旋轉施加的角度,且D為表示每個組件上之全域符號的+1或-1條目之對角矩陣。索引之集合
Figure 02_image063
取決於n 為偶數或奇數。例如,當n 為偶數時: ●
Figure 02_image067
對於奇數k
Figure 02_image069
對於偶數kn 為奇數時: ●
Figure 02_image071
對於奇數k
Figure 02_image073
對於偶數k
藉由實例而非限制之方式,4 x 4正交矩陣之分解可表示為:
Figure 02_image075
可使用控制器1-107實行的用於就實值吉文斯旋轉之n 個集合而言分解n xn 矩陣U 的演算法之一個實施例之簡要概述如下:
Figure 02_image077
以上演算法之所得矩陣U’ 為下三角的,且藉由以下方程式與原始矩陣U 有關:
Figure 02_image079
,
其中標號SL 標記藉由VBS連接至U’ 之左側的兩個模之集合,且標號SR 標記藉由VBS連接至U’ 之右側的兩個模之集合 因為U 為正交矩陣,所以U’ 為具有沿對角線之{-1,1}條目之對角矩陣。此矩陣
Figure 02_image081
稱為「相位螢幕」。
演算法之下一步驟將重複找到哪個
Figure 02_image083
係使用可使用控制器1-107實行的以下演算法實現:
Figure 02_image085
以上演算法亦可用來分解V 及/或VT 以決定VBS值之m 個層及相關聯相位螢幕。
將正交矩陣分解成實值吉文斯旋轉矩陣之以上概念可經擴展至複矩陣,例如,么正矩陣而非正交矩陣。在一些實施例中,此可藉由將額外相位包括在吉文斯旋轉矩陣之參數化中實現。因而,添加了具有額外相位項的吉文斯矩陣之一般形式為T(i,j,
Figure 02_image087
,
Figure 02_image057
),其中
Figure 02_image089
對於
Figure 02_image045
Figure 02_image091
Figure 02_image093
Figure 02_image095
Figure 02_image097
, 否則
Figure 02_image099
, 其中tij 表示矩陣T 之第i列及第j行,θ 為與矩陣相關聯的旋轉角度,且
Figure 02_image057
為額外相位。任何么正矩陣可經分解成類型T(i,j,
Figure 02_image087
,
Figure 02_image057
)之矩陣。藉由做出選擇以設定相位
Figure 02_image101
,獲得以上所描述之習知實值吉文斯旋轉矩陣。若相反,相位
Figure 02_image103
,則獲得被稱為Householder矩陣的矩陣之集合。Householder矩陣
Figure 02_image105
具有形式
Figure 02_image107
,其中
Figure 02_image109
Figure 02_image111
恆等矩陣,
Figure 02_image113
為單位向量,且
Figure 02_image115
為外積。Householder矩陣表示繞正交於單位向量
Figure 02_image117
的超平面的反射。在此參數化中,超平面為二維子空間,而非如在定義用於QR分解之Householder矩陣中常見的
Figure 02_image119
維子空間。因而,將矩陣分解成吉文斯旋轉相當於將矩陣分解成Householder矩陣。
基於任意么正矩陣至吉文斯旋轉之約束集合之前文提到的分解,任何么正矩陣可藉由旋轉及相移之特定序列實行。且在光子中,旋轉可藉由可變射束分離器(variable beam splitter; VBS)表示且相移係使用相位調變器容易地實行。因此,對於光子處理器1-103之n 個光學輸入,表示矩陣M 之SVD之么正矩陣的第一矩陣實行方案1-301及第三矩陣實行方案1-305可藉由VBS及移相器之互連陣列實行。由於使光學脈衝通過VBS陣列之平行性質,可在O(1)時間內進行矩陣乘法。第二矩陣實行方案1-303為與和SVD之正交矩陣中之每一個相關聯的對角矩陣D 組合的矩陣M 之SVD之對角矩陣。如以上提到的,每個矩陣D稱為「相位螢幕」且可以下標標記以指示該矩陣是否為與矩陣U 或矩陣V 相關聯的相位螢幕。因而,第二矩陣實行方案303為矩陣
Figure 02_image121
在一些實施例中,與第一矩陣實行方案1-301及第三矩陣實行方案1-305相關聯的光子處理器1-103之VBS單位晶胞可為具有內部移相器之馬赫-陳爾德干涉儀(Mach-Zehnder interferometer; MZI)。在其他實施例中,VBS單位晶胞可為微機電系統(microelectromechanical system; MEMS)致動器。外部移相器可在一些實施例中用來實行吉文斯旋轉所需要的額外相位。
表示對角矩陣
Figure 02_image123
的第二矩陣實行方案1-303可使用振幅調變器及移相器加以實行。在一些實施例中,VBS可用來分裂可經傾卸以使光學脈衝可變地衰減的光之一部分。另外或替代地,可控制的增益媒體可用來放大光學訊號。例如,GaAs、InGaAs、GaN,或InP可經用作用於放大光學訊號的主動增益媒體。亦可使用其他主動增益過程,諸如具有晶體反轉對稱性之材料例如KTP及鈮酸鋰中之二次諧波產生,及缺乏反轉對稱性之材料例如矽中之四波混頻過程。每個光學模中之移相器可用來施加零相移或π相移,取決於正實行的相位螢幕。在一些實施例中,使用用於每個光學模之單個移相器,而非用於每個相位螢幕之一個移相器。此為可能的,因為矩陣
Figure 02_image125
中之每一個為對角的且因此對易的。因而,光子處理器1-103之第二矩陣實行方案1-303之每個移相器之值為兩個相位螢幕之乘積之結果:
Figure 02_image131
參考第1-4圖,根據一些實施例,第一矩陣實行方案1-301及第三矩陣實行方案1-305經實行為VBS 1-401之陣列。為簡單起見,僅n=6 個輸入光學脈衝(列數)經例示,從而導致等於輸入光學脈衝之數目(例如,六)的「電路深度」(例如,行數)。為清晰起見,僅單個VBS 1-401以元件符號標記。然而,VBS以識別哪些光學模正藉由特定VBS混頻的下標及標記相關聯行的上標標記。每個VBS 1-401實行複吉文斯旋轉T(i,j,
Figure 02_image087
,
Figure 02_image057
),如以上所論述,其中i及j相當於VBS 1-401之下標標籤,
Figure 02_image087
為吉文斯旋轉之旋轉角度,且
Figure 02_image057
為與一般化旋轉相關聯的額外相位。
參考第1-5圖,每個VBS 1-401可使用MZI 1-510及至少一個外部移相器1-507加以實行。在一些實施例中,亦可包括第二外部移相器1-509。MZI 1-510包括用於混頻MZI 1-510之兩個輸入模的第一漸消式耦合器1-501及第二漸消式耦合器1-503。內部移相器1-505調變MZI 1-510之一個臂中之相位
Figure 02_image087
,以創造兩個臂之間的相位差。調整相位
Figure 02_image087
使藉由VBS 1-401輸出的光之強度自MZI 1-510之一個輸出模變化至另一個,藉此創造可控制及可變的射束分離器。在一些實施例中,第二內部移相器可經施加於第二臂上。在此狀況下,兩個內部移相器之間的差使輸出光強度變化。兩個內部相位之間的平均值將全域相位賦予進入模i及模j的光。因而,兩個參數
Figure 02_image087
Figure 02_image057
可各自藉由移相器控制。在一些實施例中,第二外部移相器1-509可用來針對由於靜態相位無序的跨於VBS之輸出模之不需要的微分相位校正。
在一些實施例中,移相器1-505、1-507及1-509可包括熱光、電光,或光機械相位調變器。在其他實施例中,可使用NOEMS調變器,而非包括MZI 510內之內部相位調變器505。
在一些實施例中,VBS之數目隨矩陣之大小增長。發明人已認識且瞭解,控制大量VBS可具有挑戰性,且存在在多個VBS間共享單個控制電路的利益。可用來控制多個VBS的平行控制電路之實例為數位至類比轉換器,該數位至類比轉換器接收數位串作為輸入,該數位串編碼將要賦予特定VBS的類比訊號。在一些實施例中,電路亦接收將要控制的VBS之位址作為第二輸入。電路然後可將類比訊號賦予定址的VBS。在其他實施例中,控制電路可穿過若干VBS自動地掃描且將類比訊號賦予多個VBS,而並未被主動地給予位址。在此狀況下,預定義定址序列,使得該定址序列以已知順序遍歷VBS陣列。
參考第1-6圖,第二矩陣實行方案1-303藉由對角矩陣
Figure 02_image133
實行乘法。此可使用兩個移相器1-601及1-605加以實現以實行兩個相位螢幕及振幅調變器1-603以藉由量η 調整相關聯光學脈衝之強度。如以上提到的,在一些實施例中,可使用僅單個相位調變器1-601,因為兩個相位螢幕可組合在一起,因為形成
Figure 02_image135
的三構成矩陣為對角的且因此對易的。
在一些實施例中,振幅調變器1-603可使用衰減器及/或放大器加以實行。若振幅調變之值η 大於一,則光學脈衝經放大。若振幅調變之值η 小於一,則光學脈衝經衰減。在一些實施例中,僅使用衰減。在一些實施例中,衰減可藉由整合衰減器之行實現。在其他實施例中,如第1-7圖中所例示,衰減1-603可使用MZI加以實行,該MZI包括兩個漸消式耦合器1-701及1-703以及可控制的內部移相器1-705,以調整將輸入光中之多少自MZI之輸入傳輸至MZI之第一輸出埠1-709。MZI之第二輸出埠1-707可經忽略、阻擋或傾卸。
在一些實施例中,控制器1-107控制光子處理器1-103中之每個移相器之值。以上所論述之每個移相器可包括類似於與光學編碼器1-101之相位調變器1-207相結合地論述的DAC的DAC。
光子處理器1-103可包括任何數目的輸入節點,但在輸入模之數目增加時,互連VBS陣列1-301及1-305之大小及複雜度將增加。例如,若存在n 個輸入光學模,則光子處理器1-103將具有2n+1 之電路深度,其中第一矩陣實行方案1-301及第二矩陣實行方案1-305各自具有電路深度n 且第二矩陣實行方案1-303具有一之電路深度。重要地,進行單個矩陣乘法之時間之複雜度甚至不與輸入光學脈衝之數目成線性關係——該複雜度始終為O(1)。在一些實施例中,藉由平行化提供的此低階複雜度導致無法使用習知電氣處理器獲得的能量及時間效率。
應注意,雖然本文所描述之實施例將光子處理器1-103例示為具有n 個輸入及n 個輸出,但在一些實施例中,藉由光子處理器1-103實行的矩陣M 可並非方陣。在此類實施例中,光子處理器1-103可具有不同數目的輸入及輸出。
亦應注意,由於第一矩陣實行方案1-301及第二矩陣實行方案1-305內之VBS之互連之拓撲,有可能將光子處理器1-103再分成列之無相互作用子集,使得可同時進行多於一個矩陣乘法。例如,在第1-4圖中所例示之VBS陣列中,若耦接光學模3及4的每個VBS 1-401經設定使得光學模3及4完全不耦接(例如,如同第1-4圖中不存在具有下標「34」之VBS 1-401),則頂部三個光學模將完全獨立於底部三個光學模而操作。此再分可在具有較大數目的輸入光學模之光子處理器的情況下以大得多的規模進行。例如,n=64 光子處理器可同時使八個八組件輸入向量乘以各別8 x 8矩陣(8 x 8矩陣中之每一個為單獨可程式且可控制的)。此外,光子處理器1-103無須均勻地再分。例如,n=64 光子處理器可再分成分別具有20、13、11、8、6、4及2個組件之七個不同輸入向量,每個輸入向量同時乘以各別矩陣。應理解,以上數值實例僅用於說明目的,且任何數目的再分係可能的。
另外,雖然光子處理器1-103進行向量-矩陣乘法,其中藉由使光學訊號通過VBS之陣列使向量乘以矩陣,但光子處理器1-103亦可用來進行矩陣-矩陣乘法。例如,多個輸入向量可一次一個輸入向量、相繼地通過光子處理器1-103,其中每個輸入向量表示輸入矩陣之行。在光學地計算單獨向量-矩陣乘法中之每一個(每個乘法導致輸出向量,該輸出向量對應於所得矩陣之輸出行之行)之後,結果可經數位地組合以形成由矩陣-矩陣乘法產生的輸出矩陣。 VI. 光學接收器
光子處理器1-103輸出傳輸至光學接收器1-105的n 個光學脈衝。光學接收器1-105接收光學脈衝且基於所接收光學訊號產生電氣訊號。在一些實施例中,決定每個光學脈衝之振幅及相位。在一些實施例中,此使用零差或外差偵測方案達成。在其他實施例中,可使用習知光電二極體進行簡單相位不敏感光偵測。
參考第1-9圖,根據一些實施例,光學接收器1-105包括零差偵測器1-901、跨阻抗放大器1-903及類比至數位轉換器(analog-to-digital converter; ADC) 1-905。雖然組件在第1-9圖中展示為用於所有光學模之一個元件,但此係為簡單起見。每個光學模可具有專用零差偵測器1-901、專用跨阻抗放大器1-903及專用ADC 1-905。在一些實施例中,可不使用跨阻抗放大器1-903。替代地,可使用將電流轉換成電壓的任何其他適合的電子電路。
參考第1-10圖,根據一些實施例,零差偵測器1-903包括局部振盪器1-1001、九十度相位差控制器1-1003、射束分離器1-1005及兩個偵測器1-1007及1-1009。零差偵測器1-903輸出電流,該電流係基於藉由第一偵測器1-1007及第二偵測器1-1009輸出的電流之間的差異。
局部振盪器1-1001在射束分離器1-1005處與輸入光學脈衝組合。在一些實施例中,光源1-201之一部分經由光波導及/或光纖傳輸至零差偵測器1-901。來自光源1-201之光自身可用作局部振盪器1-1001,或在其他實施例中,局部振盪器1-1001可為使用來自光源1-201之光以產生相位匹配的光學脈衝的分離光源。在一些實施例中,MZI可替換射束分離器1-1005,使得可在訊號與局部振盪器之間做出調整。
九十度相位差控制器1-1003控制進行量測的相位空間中之橫截面角度。在一些實施例中,九十度相位差控制器1-1003可為控制輸入光學脈衝與局部振盪器之間的相對相位的移相器。九十度相位差控制器1-1003經展示為輸入光學模中之移相器。但是在一些實施例中,九十度相位差控制器1-1003可處於局部振盪器模中。
第一偵測器1-1007偵測藉由射束分離器1-1005之第一輸出輸出的光,且第二偵測器1-1009偵測藉由射束分離器1-1005之第二輸出輸出的光。偵測器1-1007及1-1009可為以零偏壓操作的光電二極體。
減法電路1-1011自來自第二偵測器1-1009之電流減去來自第一偵測器1-1007之電流。所得電流因此具有振幅及符號(加或減)。跨阻抗放大器1-903將此電流差異轉換成電壓,該電壓可為正的或負的。最後,ADC 1-905將類比訊號轉換成數位位元串。此輸出位元串表示矩陣乘法之輸出向量結果且為藉由光子處理器1-103輸出的輸出向量之光學輸出表示之電氣、數位版本。在一些實施例中,輸出位元串可經發送至控制器1-107用於額外處理,該額外處理可包括基於一或多個輸出位元串來決定下一個輸入位元串及/或將輸出位元串傳輸至外部處理器,如以上所描述。
發明人已進一步認識且瞭解,以上描述的光子處理系統1-100之組件無須背對背鏈結在一起使得存在連接至第二矩陣實行方案1-303的第一矩陣實行方案1-301,該第二矩陣實行方案連接至第三矩陣實行方案1-305。在一些實施例中,光子處理系統1-103可包括用於進行一或多個乘法的僅單個么正電路。單個么正電路之輸出可直接連接至光學接收器1-105,其中乘法之結果藉由偵測輸出光學訊號決定。在此類實施例中,單個么正電路可例如實行第一矩陣實行方案1-301。藉由光學接收器1-105偵測的結果然後可經數位地傳輸至習知處理器(例如,處理器1-111),其中使用習知處理器(例如,1-111)在數位域中進行對角第二矩陣實行方案1-303。控制器1-107然後可重新程式設計單個么正電路以進行第三矩陣實行方案1-305,基於第二矩陣實行方案之數位實行方案之結果來決定輸入位元串,且控制光學編碼器以藉由具有重新程式設計之設定之單個么正電路傳輸基於新輸入位元串編碼的光學訊號。藉由光學接收器105偵測的所得輸出光學訊號然後用來決定矩陣乘法之結果。
發明人亦已認識且瞭解,可存在背對背地串列鏈結多個光子處理器1-103的優點。例如,為實行矩陣乘法
Figure 02_image137
,其中
Figure 02_image139
Figure 02_image141
為任意矩陣,但
Figure 02_image141
基於變換輸入工作負荷比
Figure 02_image139
更頻繁地改變,第一光子處理器可經控制以實行
Figure 02_image143
且光學地耦接至第一光子處理器的第二光子處理器可實行保持靜態的
Figure 02_image145
。以此方式,僅第一光子處理系統需要基於變換輸入工作負荷頻繁地更新。此佈置不僅加速計算,而且該佈置亦減少在控制器1-107與光子處理器之間行進的資料位元之數目。 VII. 折疊光子處理系統
在第1-1圖中,在此佈置中,光學編碼器1-101及光學接收器1-105安置於光子處理系統1-100之相對側上。在來自光學接收器1-105之回饋用來決定用於光學編碼器1-101之輸入以用於過程之未來迭代的應用中,資料自光學接收器1-105電子地傳遞至控制器1-107且然後傳遞至光學編碼器1-101。發明人已認識且瞭解,減少此等電氣訊號需要行進的距離(例如,藉由減少電氣跡線及/或電線之長度)導致功率節省及較低潛時。此外,不需要光學編碼器1-101及光學接收器1-105經置放在光子處理系統之相對末端上。
因此,在一些實施例中,光學編碼器1-101及光學接收器1-105安置在彼此附近(例如,在光子處理器1-103之相同側上),使得電氣訊號必須在光學編碼器1-101與光學接收器1-105之間行進的距離小於光子處理器1-103之寬度。此可藉由使第一矩陣實行方案1-301及第三矩陣實行方案1-305之組件實體上交錯加以實現,使得該第一矩陣實行方案及該第三矩陣實行方案實體上處於晶片之相同部分中。此佈置稱為「折疊」光子處理系統,因為光首先在第一方向上傳播穿過第一矩陣實行方案1-301直至該光到達遠離光學編碼器1-101及光學接收器1-105的晶片之實體部分,然後折疊使得當實行第三矩陣實行方案1-305時,波導使光轉彎成在與第一方向相對的方向上傳播。在一些實施例中,第二矩陣實行方案1-303實體上鄰近於波導中之折疊定位。此佈置減少連接光學編碼器1-101、光學接收器1-105,控制器1-107的電氣跡線之複雜度,且減少用來實行光子處理系統1-100的總晶片區域。例如,使用折疊佈置的一些實施例僅使用將在使用第1-1圖之背對背光子佈置的情況下所需要的總晶片區域之65%。此可減少光子處理系統之成本及複雜度。
發明人已認識且瞭解,不僅存在折疊佈置之優點,而且存在光學優點。例如,藉由減少光訊號必須自將要作為局部振盪器使用於零差偵測的光源行進的距離,可減少光學訊號之時間相依相位波動,從而導致較高的品質偵測結果。具體而言,藉由將光源及零差定位於光子處理器之相同側上,由使用於局部振盪器的光訊號行時的距離不再取決於矩陣之大小。例如,在第1-1圖之背對背佈置中,由用於局部振盪器的光訊號行進的距離與矩陣之大小線性地成比例,而在折疊佈置中行進的距離為恆定的,而不管矩陣大小如何。
第1-11圖為根據一些實施例之折疊光子處理系統1-1100的示意圖。折疊光子處理系統1-1100包括功率樹1-1101、複數個光學編碼器1-1103a–1-1103d、複數個零差偵測器1-1105a–1-1105d、複數個選擇器開關1-1107a–1-1107d、複數個U矩陣組件1-1109a–1-1109j、複數個對角矩陣組件1-1111a–1-1111d,及複數個V矩陣組件1-1113a–1-1113j。出於清晰性之目的,並未在圖中示出折疊光子處理系統之所有組件。應理解,折疊光子處理系統1-1100可包括與背對背光子處理系統1-100類似的組件。
功率樹1-1101類似於第2圖之功率樹1-203且經配置以將光自光源(未示出)輸送至光學編碼器1-1103。然而,功率樹1-1101及功率樹1-203中之差異在於功率樹直接將光學訊號輸送至零差偵測器1-1105a。在第2圖中,光源201藉由自光源分接光學訊號之一部分且使用波導導引光學訊號將局部振盪器訊號輸送至光子處理器之另一側上的零差偵測器。在第1-11圖中,功率樹1-1101包括等於空間模之數目之兩倍的若干輸出。例如,第1-11圖例示光子處理器之僅四個空間模,此狀況導致來自功率樹1-1101之八個輸出模——將光導向至每個光學編碼器1-1103的一個輸出及將光導向至每個零差偵測器1-1105的一個輸出。功率樹可例如使用級聯射束分離器或多模干涉儀(multimode interferometer; MMI)加以實行。
光學編碼器1-1103類似於第1圖之功率樹光學編碼器1-101,且經配置以將資訊編碼至自功率樹1-1101接收的光學訊號之振幅及/或相位中。此可經達成,例如如與第2圖之光學編碼器1-101相結合地描述的。
零差偵測器1-1105定位於功率樹1-1101與U矩陣組件1-1109之間。在一些實施例中,零差偵測器1-1105實體上安置在與光學編碼器1-1103一行中。在一些實施例中,光學編碼器1-1103及零差偵測器1-1105可在單個行中交錯。以此方式,光學編碼器1-1103及零差偵測器1-1105彼此緊密接近,從而減少用來連接光學編碼器1-1103及零差偵測器1-1105以及控制器(未示出)的電氣跡線(未示出)之距離,該控制器可實體上鄰近於光學編碼器1-1103及零差偵測器1-1105之行定位。
光學編碼器1-1103中之每一個與各別零差偵測器1-1105相關聯。光學編碼器1-1103及零差偵測器1-1105兩者自功率樹1-1101接收光學訊號。光學編碼器1-1103使用光學訊號來編碼輸入向量,如以上所描述。零差偵測器1-1105將自功率樹接收的所接收光學訊號用作局部振盪器,如以上所描述。
光學編碼器1-1103及零差偵測器1-1105之每個對與選擇器開關1-1107相關聯且藉由波導連接至該選擇器開關。選擇器開關1-1107a–1-1107d可使用例如習知2x2光學開關加以實行。在一些實施例中,
Figure 02_image055
光學開關為具有用以自迴路交叉點至條控制MZI之行為之內部移相器的MZI。開關1-1107連接至控制器(未示出)以控制自光學編碼器1-1103接收的光學訊號將經朝向U矩陣組件1-1109或V矩陣組件1-1113導引。光開關亦經控制以將自U矩陣組件1-1109及/或V矩陣組件1-1113接收的光朝向零差偵測器1-1105導引以用於偵測。
用於實行矩陣乘法的技術在光子折疊光子處理系統1-1100方面與以上結合第1-3圖中所描述之背對背系統所描述的類似。兩個系統之間的差異在矩陣組件之實體置放及折疊1-1120之實行方案中,其中光學訊號自第1-11圖中之近似自左至右傳播改變成近似自右至左傳播。在第1-11圖,組件之間的連接可表示波導。在一些實施例中,實線連接表示其中光學訊號自左至右傳播的波導之部分,且在一些實施例中,虛線連接表示其中光學訊號自右至左傳播的波導部分。具體而言,考慮此命名法,第1-11中所例示之實施例為其中選擇器開關1-1107首先將光學訊號導引至U矩陣組件1-1109的實施例。在其他實施例中,選擇器開關1-1107可首先將光學訊號導引至V矩陣組件1-1113,在該狀況下,虛線將表示其中光學訊號自左至右傳播的波導部分,且實線連接將表示光學訊號自右至左傳播的波導部分。
矩陣M 之SVD之U矩陣係使用與V矩陣組件1-1113交錯的U矩陣組件1-1109實行在光子處理系統1-1100中。因而,不同於第1-3圖中所例示之背對背佈置之實施例,U矩陣組件1-1109及V矩陣組件1-1113中之全部並非實體上定位於單個實體區域內之各別自含陣列中。因此,在一些實施例中,光子處理系統1-1100包括矩陣組件之複數個行及含有U矩陣組件1-1109及V矩陣組件1-1113兩者的行中之至少一個。在一些實施例中,第一行可僅具有U矩陣組件1-1109,如第1-11圖中所例示。U矩陣組件1-1109係與第3圖之第一矩陣實行方案1-301類似地實行。
由於U矩陣組件1-1109及V矩陣組件1-1113之交錯結構,折疊光子處理系統1-1100包括在矩陣元件之行之間的各種位置處之波導交越點1-1110。在一些實施例中,波導交越點可使用整合光子晶片中之二或更多個層之間的絕熱漸消升降舵加以構造。在其他實施例中,
Figure 02_image147
矩陣及
Figure 02_image027
矩陣可安置在相同晶片之不同層上且不使用波導交越點。
在光學訊號傳播穿過U矩陣組件1-1109中之全部之後,光學訊號傳播至對角矩陣組件1-1111,該等對角矩陣組件係與第1-3圖之第二矩陣實行方案1-303類似地實行。
在光學訊號傳播穿過對角矩陣組件1-1111中之全部之後,光學訊號傳播至V矩陣組件1-1113,該等V矩陣組件係與第1-3圖之第三矩陣實行方案1-305類似地實行。矩陣M 之SVD之V矩陣係使用與U矩陣組件1-1109交錯的V矩陣組件1-1113實行在光子處理系統1-1100中。因而,V矩陣組件1-1113中之全部並非實體上定位於單個自含陣列中。
在光學訊號傳播穿過V矩陣組件1-1113中之全部之後,光學訊號返回至選擇器開關1-1107,該選擇器開關將光學訊號導引至零差偵測器1-1105用於偵測。
發明人已進一步認識且瞭解,藉由在光學編碼器之後及在矩陣組件之前包括選擇器開關,折疊光子處理系統1-1100允許電路之有效雙向性。因而,在一些實施例中,控制器諸如與第1-1圖相結合地描述的控制器1-107可控制光學訊號首先乘以U矩陣或首先乘以
Figure 02_image149
矩陣。對於當自左至右傳播光學訊號時經設定來實行么正矩陣
Figure 02_image147
的VBS之陣列,自右至左傳播光學訊號實行與么正矩陣
Figure 02_image151
之乘法。因而,用於VBS之陣列的相同設定可實行U
Figure 02_image153
兩者,取決於光學訊號傳播穿過陣列的方式,此可使用選擇器開關1-1107加以控制。在諸如用來訓練機器學習演算法的背向傳播之一些應用中,可希望使光學訊號向後運行穿過一或多個矩陣。在其他應用中,雙向性可用來計算輸入向量上逆矩陣之操作。例如,對於可逆
Figure 02_image031
矩陣M ,SVD導致
Figure 02_image155
。此矩陣之逆為
Figure 02_image156
,其中
Figure 02_image159
為可藉由對每個對角元件求逆有效地計算的對角矩陣之逆。為使向量乘以矩陣
Figure 02_image161
,開關經配置來以第一方向導向光學訊號穿過矩陣
Figure 02_image163
,然後
Figure 02_image023
,然後
Figure 02_image149
。為使向量乘以逆
Figure 02_image165
,奇異值首先經設定以程式設計
Figure 02_image159
矩陣之實行方案。此構成改變VBS之僅一個行而不是光子處理器之全部
Figure 02_image167
個行之設定,此為用於諸如第1-3圖中所例示之一個的單向光子處理系統的狀況。表示輸入向量的光學訊號然後以與第一方向相對的第二方向傳播穿過矩陣
Figure 02_image149
,然後
Figure 02_image159
,且然後
Figure 02_image147
。使用選擇器開關1-1107,折疊光子處理系統1-1100可容易地自首先實行U 矩陣(或其轉置)及首先實行
Figure 02_image149
矩陣(或其轉置)改變。 VIII. 分波長多工
發明人已進一步認識且瞭解,存在不同向量可乘以相同矩陣的應用。例如,當訓練或使用機器學習演算法時,資料之集合可以相同矩陣乘法加以處理。發明人已認識且瞭解,若光子處理器之前及之後的組件為波長分多工,則此可以單個光子處理器實現。因此,一些實施例包括各自與不同波長相關聯的多個前端及後端,而僅使用單個光子處理器來實行矩陣乘法。
第1-12A圖例示根據一些實施例之WDM光子處理系統1-1200。WDM光子處理系統1-1200包括N個前端1-1203、具有N個空間模之單個光子處理器1-1201,及N個後端1-1205。
光子處理器1-1201可類似於光子處理器1-103,具有N個輸入模及N個輸出模。N個前端1-1203中之每一個連接至光子處理器1-1201之各別輸入模。類似地,N個後端1-1205中之每一個連接至光子處理器1-1201之各別輸出模。
第1-12B圖例示前端1-1203中之至少一個之細節。正如其他實施例之光子處理系統的情況,光子處理系統1-1200包括光學編碼器1-1211。但是在此實施例中,存在M個不同的光學編碼器,其中M為藉由WDM光子處理系統1-1200多工傳輸的波長之數目。M個光學編碼器1-1211中之每一個自光源(未示出)接收光,該光源產生各自具有不同波長的M個光學訊號。光源可為例如雷射之陣列、頻率梳子產生器或產生不同波長處之同調光的任何其他光源。M個光學編碼器1-1211中之每一個藉由控制器(未示出)控制以實行適當的振幅及相位調變以將資料編碼至光學訊號中。然後,M個編碼後光學訊號使用M:1 WDM 1-1213組合至單個波導中。單個波導然後連接至光子處理器1-1201之N個波導中之一個。
第1-12C圖中例示後端1-1205中之至少一個之細節。正如其他實施例之光子處理系統的情況,光子處理系統1-1200包括偵測器1-1223,該偵測器可為相位敏感或相位不敏感偵測器。但是在此實施例中,存在M個不同的偵測器1-1223,其中M為藉由WDM光子處理系統1-1200多工傳輸的波長之數目。M個偵測器1-1223中之每一個自1:M WDM 1-1221接收光,該1:M WDM將來自光子處理器1-1201之單個輸出波導分裂成自自攜帶各別波長之光學訊號的M個不同波導。M個偵測器1-1223中之每一個可藉由控制器(未示出)控制以記錄量測結果。例如,M個偵測器1223中之每一個可為零差偵測器或相位不敏感光偵測器。
在一些實施例中,光子處理器1-1201中之VBS可經選擇為在感興趣的M個波長內非分散的。因而,所有輸入向量乘以相同矩陣。例如,可使用MMI而非定向耦合器。在其他實施例中,VBS可經選擇為在感興趣的M個波長內分散的。在與訓練神經網路有關的一些應用中,當計算權重之梯度時,此等效於添加雜訊。添加的雜訊可具有更快的收斂及降低的過度擬合之效益。
雖然第1-12A圖例示背對背光子處理系統,但類似的WDM技術可用來使用關於折疊光子處理器1-1100描述的技術形成WDM折疊光子處理器。 IX. 輸出之類比求和
發明人已認識且瞭解,存在其中隨著時間推移計算來自光子處理器1-103之輸出之和或平均數為有用的應用。例如,當光子處理系統1-100用來計算用於單個資料點的更精確矩陣向量乘法時,一個人可想要使單個資料點運行穿過光子處理器多次,以改良計算之統計結果。另外或替代地,當在後向傳播機器學習演算法中計算梯度時,一個人可不想要決定梯度的單個資料點,因此多個訓練資料點可運行穿過光子處理系統1-100且平均結果可用來計算梯度。此方法不僅可降低當進行後向傳播演算法時的可能過度擬合,而且降低權重矩陣所需要的更新之數目。
發明人已進一步認識且瞭解,在將輸出轉換至數位電氣訊號之前,可在類比域中對輸出信號求和。因而,在一些實施例中,低通濾波器用來對來自零差偵測器之輸出求和。藉由在類比域中進行求和,零差電子設備可使用緩慢ADC而非將需要來在數位域中進行求和的較昂貴快速ADC。
第1-13圖例示根據一些實施例之光學接收器1-1300之一部分及低通濾波器1-1305可如何與零差偵測器1-1301一起使用。零差偵測器1-1301進行進入光學脈衝之欄位及相位之量測。若k 為用於隨著時間推移的不同輸入脈衝的標籤且存在總共K個輸入,則k 上的和可使用低通濾波器1-1305在類比域中自動地進行。此光學接收器1-1300與第1-9圖中所例示之光學接收器1-105之間的主要差異在於低通濾波器在零差偵測器之輸出之後的跨阻抗放大器1-1303之後。若總共K 個訊號在單個緩慢取樣週期
Figure 02_image169
內到達零差偵測器,則低通濾波器將已根據
Figure 02_image171
之符號及值累積/移除電容器C中之電荷。低通濾波器之最終輸出與可以具有
Figure 02_image173
之取樣頻率之較減慢ADC (未示出)讀取一次的
Figure 02_image175
成比例。對於理想系統,低通濾波器應具有3-dB頻寬:
Figure 02_image177
。對於使用如第1-13圖中所示之RC電路的低通濾波器,
Figure 02_image179
,且R及C之值可經選擇以獲得所要的取樣頻率:
Figure 02_image183
在一些實施例中,快速ADC及緩慢ADC兩者可存在。在此上下文中,快速ADC為經配置以接收且將每個單獨類比訊號轉換成數位訊號的ADC (例如,具有等於或大於類比訊號到達ADC的頻率的取樣頻率之ADC),且緩慢ADC為經配置以接收多個類比訊號且將多個所接收類比訊號之和或平均數轉換成單個數位訊號的ADC (例如,具有小於類比訊號到達ADC的頻率的取樣頻率之ADC)。電氣開關可用來將電氣訊號自零差偵測器及可能地跨阻抗放大器切換至具有緩慢ADC之低通濾波器或切換至快速ADC。以此方式,一些實施例之光子處理系統可在使用緩慢ADC進行類比求和與使用快速ADC量測每個光學訊號之間切換。 X. 使相位穩定化
發明人已認識且瞭解,使用於進行相位敏感量測(例如,零差偵測)以確保準確結果的局部振盪器之相位穩定化為合意的。本文所描述之實施例之光子處理器藉由在N 個相異空間模之間干擾光進行矩陣運算。在一些實施例中,結果以相位敏感偵測器諸如零差或外差偵測器量測。因而,為確保矩陣運算準確地進行,在光子處理器之各種部分處賦予的相位應儘可能準確,並且用來進行相位敏感偵測的局部振盪器之相位應為精確已知的。
發明人已認識且瞭解,諸如在光子處理器之VBS之單個行內進行的彼等的平行干擾操作不僅必須使用控制VBS之MZI內的相對相位及MZI之輸出之相位及相對相位的相位調變器賦予正確相位,而且行中之每個VBS應跨於光子處理器之所有空間模賦予相同全域相移。在此應用中,用於光子處理器中之VBS之行的全域相移稱為「行全域相位」。行全域相位為由於無關於與VBS相關聯的程式設計相位的效應而賦予的相位,諸如由於穿過波導之傳播而賦予的相位或由於溫度移位之相位。此等相位無需在VBS上之行內同時精確地賦予,而僅需要作為遍歷所討論的行之結果而經賦予。確保行全域相位在行之不同空間模之間一致為重要的,因為來自一個行之輸出光學訊號將可能在後續行處之一或多個VBS處經干擾。若先前行處之行全域相位不一致,則後續干擾——及因此計算自身之準確性——將為不正確的。
第1-14圖例示用於光子處理系統1-1400的行全域相位及總全域相位。類似於光子處理系統之以上描述之實施例,光子處理系統1-1400包括U矩陣實行方案1-1401、對角矩陣實行方案1-1403、V矩陣實行方案1-1405,及複數個偵測器1-1407a – 1-1407d。此等實行方案類似於以上所描述之第一、第二及第三矩陣實行方案。為了簡單起見,示出光子處理系統1-1400之僅四個模,但應理解,可使用任何較大數目的模。亦為簡單起見,僅例示與U矩陣實行方案1-1401相關聯的VBS。對角矩陣實行方案1-1403及V矩陣實行方案1-1405之組件之佈置類似於以上所描述之第三及第四矩陣實行方案。
U矩陣實行方案1-1401包括複數個VBS 1-1402,但為清晰起見僅標記單個VBS 1-1402。然而,VBS以識別哪些光學模正藉由特定VBS混頻的下標及標記相關聯行的上標標記。
如第1-14圖中所例示,每個行與對於行之每個元件理想地一致的行全域相位相關聯。例如,U矩陣實行方案1-1401之第1行與行全域相位
Figure 02_image185
相關聯,U矩陣實行方案1-1401之第2行與行全域相位
Figure 02_image187
相關聯,U矩陣實行方案1-1401之第3行與行全域相位
Figure 02_image189
相關聯,且U矩陣實行方案1-1401之第4行與行全域相位
Figure 02_image191
相關聯。
在一些實施例中,可藉由將每個VBS 1-1402實行為推-拉組態中之MZI使行全域相位至少部分地一致。替代地或另外,外部移相器可經添加至每個MZI之輸出以針對自MZI之內部移相器賦予的任何相位誤差校正。
發明人已進一步認識且瞭解,即使條件使得光子處理系統1-1400之每個行提供一致行全域相位,在訊號自第一行傳播至最後行時,相位亦可積累。存在與整個U矩陣實行方案1-1401相關聯且等於單獨行全域相位之和的全域U矩陣相位ΦU 。類似地,對角矩陣實行方案1-1403與全域對角矩陣相位
Figure 02_image193
相關聯,且V矩陣實行方案1-1405與全域對角矩陣相位
Figure 02_image194
相關聯。用於整個光子處理系統1-1400的總全域相位
Figure 02_image195
然後藉由三個單獨全域矩陣相位之和給出。此總全域相位可經設定為在所有輸出模之間一致,但是用於相位敏感偵測的局部振盪器並不傳播穿過光子處理器且不經歷此總全域相位。總全域相位
Figure 02_image197
若未解決則可導致藉由零差偵測器1-1407a–1-1407d讀出的值中之誤差。
發明人已進一步認識,乘法操作中之誤差可起因於溫度之變化,該等溫度之變化改變波導之有效折射指數
Figure 02_image199
。因此,在一些實施例中,將每個行之溫度設定為一致或可將穩定化電路置放在每個行處,使得賦予單個行之所有模的相位主動地調諧為一致。另外,在用於局部振盪器之光訊號傳播穿過系統之不同部分時,系統之不同部分之間的溫度差異可引起相位敏感量測中之誤差。訊號與局部振盪器之間的相位差異之量為
Figure 02_image201
,其中Ts TLO 分別為光子處理器中之訊號波導及局部振盪器波導之溫度,
Figure 02_image203
為與溫度有關的有效折射指數,
Figure 02_image205
為光之平均波長,且Ls LLO 分別為穿過光子處理器中之訊號波導及局部振盪器波導的傳播長度。假設溫度差異
Figure 02_image207
為小的,則有效指數可重寫為:
Figure 02_image209
。因此,訊號與LO之間的相位差異可藉由隨較長傳播長度L 線性地增加的
Figure 02_image211
良好地近似。因此,對於充分長的傳播距離,溫度之小變化可導致弧度之量級之大相移。重要地,
Figure 02_image213
之值不需要與
Figure 02_image215
之值相同,且兩者之間的最大差異藉由光源之同調長度
Figure 02_image217
決定。對於具有
Figure 02_image219
之頻寬之光源,同調長度可藉由
Figure 02_image221
良好地近似,其中
Figure 02_image223
為傳輸媒體中之光之速度。只要
Figure 02_image213
Figure 02_image215
之間的長度差異比
Figure 02_image217
短得多,訊號與局部振盪器之間的干擾將對於光子處理系統之正確操作為可能的。
基於前述內容,在一些實施例中,發明人已識別光子處理器之輸出訊號與用於零差偵測的局部振盪器之間的可能相位誤差之至少兩個來源。因而,在理想零差偵測器將藉由減去兩個光偵測器之輸出量測訊號輸出之量級及相位的情況下,從而導致
Figure 02_image225
Figure 02_image227
之相位敏感強度輸出量測,其中
Figure 02_image229
為來自光子處理器之輸出的光學訊號之電場量級,
Figure 02_image231
為局部振盪器之電場量級,
Figure 02_image233
為希望經量測的由光子處理器賦予的相移,
Figure 02_image197
為總全域相位,且
Figure 02_image235
為由局部振盪器與光學訊號之間的溫度差異引起的相移。因此,若歸因於溫度差異的總全域相位及相移未解決,則零差偵測之結果可為錯誤的。因此,在一些實施例中,總系統相位誤差
Figure 02_image237
經量測,且系統基於彼量測經校準。在一些實施例中,總系統相位誤差包括來自未必已知或識別的其他誤差來源之貢獻。
根據一些實施例,可藉由將預先計算的測試訊號發送至偵測器且使用預先計算的測試訊號與量測測試訊號之間的差異來針對系統中之總系統相位誤差校正來校準零差偵測器。
在一些實施例中,而非將總全域相位
Figure 02_image239
及由溫度差異引起的相移
Figure 02_image241
視為與傳播穿過光子處理器原光學訊號有關,其可描述為完全不積累任何相移的訊號,但LO已積累總系統相位誤差
Figure 02_image243
。第1-15圖例示在此情境下對零差量測之結果之效應。訊號之原始(正確)九十度相位差值
Figure 02_image245
藉由旋轉矩陣旋轉,該旋轉矩陣藉由
Figure 02_image247
參數化,從而產生
Figure 02_image249
之不正確的九十度相位差值。
基於由於總系統誤差的九十度相位差旋轉,在一些實施例中,
Figure 02_image251
之值係如下獲得。首先,使用例如控制器1-107選擇向量
Figure 02_image253
。向量具有可藉由光子處理系統之光學編碼器準備的類型。其次,輸出值
Figure 02_image255
,其中M 為藉由光子處理器實行的矩陣,在理想狀況下,假設不存在使用例如控制器1-107或一些其他計算裝置計算的
Figure 02_image259
之積累的未計相位。因此,
Figure 02_image261
之每個元件對應於
Figure 02_image263
,其中k 標記光子處理器之輸出模中之每一個。
在一些實施例中,當計算理論預測
Figure 02_image263
時,可考慮傳播隨機向量穿過光子處理器時的損耗。例如,對於具有傳輸效率
Figure 02_image265
之光子處理器,
Figure 02_image263
之場訊號將變成
Figure 02_image267
接下來,隨機微量
Figure 02_image253
藉由實際系統之光學編碼器準備,經傳播穿過光子處理器,且輸出向量之每個元件在兩個九十度相位差中經量測以獲得
Figure 02_image270
。局部振盪器與輸出模
Figure 02_image272
之訊號之間的相位差異
Figure 02_image274
藉由
Figure 02_image275
給出。(通常,對於
Figure 02_image277
,相位差異
Figure 02_image279
,因為用於模
Figure 02_image272
的至偵測器之LO之路徑長度不同於用於模
Figure 02_image281
的彼路徑長度)。
最後,用來選擇零差偵測器之量測九十度相位差的局部振盪器移相器經控制以賦予
Figure 02_image283
。因此,軸線
Figure 02_image285
將與軸線
Figure 02_image287
對準,如第1-15圖中所例示。校準可在此階段經檢查以確保其藉由再次傳播向量
Figure 02_image253
積累,以看出當兩個九十度相位差經量測時,獲得的量測結果等於預測
Figure 02_image261
通常,若場振幅
Figure 02_image290
為儘可能大,則可更準確地決定
Figure 02_image292
之值。例如,若場
Figure 02_image294
經視為例如來自雷射源之同調訊號,則光學訊號可理論上經模型化為同調狀態。直觀圖片在第1-16圖中給出,其中訊號為振幅
Figure 02_image296
且雜訊藉由高斯同調狀態之標準差給出。模k 中之同調狀態
Figure 02_image298
為消減運算子
Figure 02_image300
之本徵態,亦即
Figure 02_image302
。具有訊號頻率
Figure 02_image304
之模k 之電場藉由
Figure 02_image306
描述,其亦為同調狀態之本徵態:
Figure 02_image308
。具有相同頻率
Figure 02_image304
之局部振盪器之零差偵測器進行九十度相位差量測當
Figure 02_image310
時,
Figure 02_image312
,及當
Figure 02_image314
時,
Figure 02_image316
。理想零差偵測器將發現此等量測具有
Figure 02_image318
Figure 02_image320
之本質量子雜訊。此雜訊與真空之量子不確定性有關,且其可藉由在九十度相位差上擠壓降低。角度
Figure 02_image322
可經決定的精確度與此等量測之訊號雜訊比(signal-to-noise ratio; SNR)直接有關。對於具有總計
Figure 02_image324
個光子之同調狀況訊號
Figure 02_image294
(亦即
Figure 02_image326
Figure 02_image328
Figure 02_image330
兩者之SNR藉由
Figure 02_image332
Figure 02_image334
定上界。(當
Figure 02_image336
Figure 02_image338
時,
Figure 02_image340
之界飽和,且當
Figure 02_image342
Figure 02_image344
時,
Figure 02_image346
之界飽和)。因為,為增加SNR且為更精確地決定
Figure 02_image348
之值,一些實施例可傳播隨機向量
Figure 02_image253
之少量不同選擇。在一些實施例中,
Figure 02_image253
之選擇經選取以一次對於k 之一個值使振幅
Figure 02_image350
最大化。
在光子處理系統之操作期間可存在相位漂移,例如,由於隨著時間推移的溫度波動。因而,在一些實施例中,可在系統之操作期間重複地進行前面提到的校準程序。例如,在一些實施例中,以比相位漂移之自然時間標度較短的時間標度規則地進行校準程序。
發明人已進一步認識且瞭解,有可能在完全不需要相位敏感量測的情況下進行帶符號矩陣運算。因此,在應用中,每個輸出模處的每個零差偵測器可藉由直接光偵測器替換,該直接光偵測器量測彼輸出模處的光之強度。因為在此系統中不存在局部振盪器,所以系統相位誤差
Figure 02_image259
為不存在的且無意義的。因而,根據一些實施例,可避免相位敏感量測諸如零差偵測,使得系統相位誤差為無價值的。例如,當計算帶符號矩陣及向量之矩陣運算時,使用無符號矩陣的複矩陣及向量,及超複數(四元數、八元數及其他同構)矩陣及向量不需要相位敏感量測。
為說明相位敏感量測如何為不必要的,考慮進行帶符號矩陣
Figure 02_image352
與帶符號向量
Figure 02_image253
之間的矩陣乘法之狀況。為計算帶符號輸出
Figure 02_image354
之值,以下程序可藉由例如控制器1-107進行。首先,將矩陣
Figure 02_image161
分裂成
Figure 02_image356
Figure 02_image358
,其中
Figure 02_image360
為含有
Figure 02_image161
之所有正(負)條目的矩陣。在此狀況下,
Figure 02_image362
。其次,以類似方式分裂向量,使得向量
Figure 02_image364
Figure 02_image366
,其中
Figure 02_image368
為含有
Figure 02_image253
之所有正(負)條目的向量。作為分裂之結果,
Figure 02_image372
Figure 02_image374
。此最終方程式之每個項對應於可藉由光子處理系統單獨進行的分離運算
Figure 02_image376
。每個運算之輸出為單一(正)符號之向量,且因此可使用直接偵測方案加以量測而不需要零差偵測。光偵測器方案將量測強度,但強度之平方根可經決定,從而導致電場振幅。在一些實施例中,每個運算單獨地進行,且結果儲存在記憶體(例如,控制器1-107之記憶體1-109)中,直至進行所有分離運算且結果可經數位地組合以獲得乘法之最終結果
Figure 02_image378
以上方案工作,因為
Figure 02_image380
Figure 02_image358
兩者為全部正條目之矩陣。類似地,
Figure 02_image382
Figure 02_image384
兩者為全部正條目之矩陣。因此,其乘法之結果將為全部正條目之向量——而不考慮組合。
發明人已進一步認識且瞭解,以上分裂技術可擴展至複值向量/矩陣、四元數值向量/矩陣,及八元數值向量/矩陣。複數使用兩個不同基本單元
Figure 02_image386
四元數使用四個不同基本單元
Figure 02_image388
且八元數使用八個不同基本單元
Figure 02_image390
在一些實施例中,類似於以上針對帶符號矩陣及向量進行的,複向量可藉由將乘法分裂成分離運算乘以複矩陣,而不需要相位敏感偵測。在複數之狀況下,乘法分裂成全部正矩陣及全部正向量之16個分離乘法。16個分離乘法之結果然後可經數位地組合以決定輸出向量結果。
在一些實施例中,類似於以上針對帶符號矩陣及向量進行的,四元數值向量可藉由將乘法分裂成分離運算乘以四元數值矩陣,而不需要相位敏感偵測。在四元數值數之狀況下,乘法分裂成全部正矩陣及全部正向量之64個分離乘法。64個分離乘法之結果然後可經數位地組合以決定輸出向量結果。
在一些實施例中,類似於以上針對帶符號矩陣及向量進行的,八元數值向量可藉由將乘法分裂成分離運算乘以八元數值矩陣,而不需要相位敏感偵測。在八元數值數之狀況下,乘法分裂成全部正矩陣及全部正向量之256個分離乘法。256個分離乘法之結果然後可經數位地組合以決定輸出向量結果。
發明人已進一步認識且瞭解,溫度相依的相位
Figure 02_image235
可藉由緊挨著光子處理器之每個MZI置放溫度感測器加以校正。溫度量測之結果然後可用作至回饋電路之輸入,該回饋電路控制每個MZI之外部相位。MZI之外部相位經設定以抵消在每個MZI處積累的溫度相依相位。類似的溫度回饋迴路可使用在局部振盪器傳播路徑上。在此狀況下,溫度量測結果用來告知零差偵測器九十度相位差選擇移相器之設定以抵消由於所偵測溫度效應而由局部振盪器積累的相位。
在一些實施例中,溫度感測器可為傳統上使用在CMOS例如p-n接面或雙極接面電晶體中的彼等溫度感測器,或其可為光子溫度感測器,例如使用共振隨溫度變化的共振器。在一些實施例中,亦可使用外部溫度感測器諸如熱電偶或熱敏電阻。
在一些實施例中,積累的相位可直接藉由例如分接每個行處之一些燈且在沒有相同全域局部振盪器的情況下進行零差偵測加以量測。此相位量測可直接告知針對任何相位誤差校正所需要的外部相位之量。在直接量測的相位誤差之狀況下,誤差不需要為將要校正的行全域的。 XI. 用於大資料的中間計算
發明人已認識且瞭解,藉由光子處理器1-103,及/或根據本揭示案中所描述之其他實施例的任何其他光子處理器進行的矩陣向量乘積可一般化為張量(多維陣列)運算。例如,其中
Figure 02_image161
為矩陣且
Figure 02_image392
為向理的核心運算
Figure 02_image394
可經一般化為矩陣-矩陣乘積:
Figure 02_image396
,其中
Figure 02_image161
Figure 02_image398
兩者為矩陣。在此特定實例中,將將n乘m矩陣
Figure 02_image398
視為各自由n 個元件組成的m 個行向量之集合,亦即
Figure 02_image400
。光子處理器可以總計m 個矩陣-向量乘積一次一個行向量地完成矩陣-矩陣乘積
Figure 02_image396
。計算可分配在多個光子處理器間,因為計算為高度可平行化的線性運算,例如,任何一個矩陣-向量乘積輸出不取決於其他矩陣-向量乘積之結果。替代地,計算可藉由單個光子處理器隨著時間推移串行地進行,例如,藉由一次一個地進行每個矩陣-向量乘積且在進行所有單獨矩陣-向量乘法之後數位地組合結果以決定矩陣-矩陣乘積之結果。
以上概念可一般化成計算兩個多維張量之間的乘積。一般演算法如下且可至少部分地藉由處理器諸如處理器1-111進行:(1)取得第一張量之矩陣片;(2)取得第二張量之向量片;(3)使用光子處理器進行步驟1中之矩陣片與步驟2中之向量片之間的矩陣-向量乘積,從而導致輸出向量;(4)在獲得矩陣片(來自步驟1)所依據的張量索引及獲得向量片(來自步驟2)所依據的張量索引上迭代。應注意,當取得矩陣片及向量片(步驟1及2)時,多個索引可經組合成一個。例如,矩陣可藉由將所有行堆疊至單個行向量中向量化,且一般而言張量可藉由將所有矩陣堆疊至單個矩陣中矩陣化。因為所有運算為完全線性的,所以該等運算再次可經高度並行化,其中複數個光子處理器中之每一個不需要知道其他光子處理器是否已完成其工作。
藉由非限制實例之方式,考慮兩個三維張量之間的乘法
Figure 02_image402
。基於以上規則的偽碼如下: (1)取得矩陣片:
Figure 02_image404
; (2)取得向量片:
Figure 02_image406
; (3)計算
Figure 02_image408
,其中
Figure 02_image410
;且 (4)在索引
Figure 02_image412
Figure 02_image414
上迭代以重建四維張量
Figure 02_image416
,其中藉由j索引的所有元件之值係以單個矩陣-向量乘法充分地決定。
發明人已進一步認識且瞭解,將要相乘的矩陣/向量之大小可大於由光子處理器支援的模之數目。例如,卷積類神經網路體系架構中之卷積運算可使用僅少量參數來限定濾波器,但可由濾波器與資料之不同修補之間的若干矩陣-矩陣乘法組成。組合不同的矩陣-矩陣乘法導致大於原始濾波器矩陣或資料矩陣之大小的兩個輸入矩陣。
發明人已設計當將要相乘的矩陣大於由用來進行計算的光子處理器擁有的模之大小/數目時使用光子處理器進行矩陣運算之方法。在一些實施例中,方法涉及在計算期間使用記憶體來儲存中間資訊。最終計算結果藉由處理中間資訊加以計算。例如,如第1-17圖中所例示,考慮
Figure 02_image418
矩陣
Figure 02_image420
Figure 02_image422
矩陣
Figure 02_image424
之間的乘法1-1700以給出具有
Figure 02_image426
個元件的新矩陣
Figure 02_image428
,使用
Figure 02_image031
光子處理系統,其中
Figure 02_image430
,在第1-17圖中,陰影元件簡單地例示矩陣C之元件1-1701係使用矩陣A之列1-1703及矩陣B之行1-1705之元件計算。藉由第1-17圖及第1-18圖例示之方法如下:
構造矩陣
Figure 02_image432
Figure 02_image434
內的
Figure 02_image031
子矩陣分塊。藉由括號上標標記塊
Figure 02_image436
Figure 02_image438
,其中
Figure 02_image440
Figure 02_image442
,且
Figure 02_image444
。當
Figure 02_image446
Figure 02_image448
之值不能被
Figure 02_image450
整除時,矩陣可以零填補,使得新矩陣具有能被
Figure 02_image450
——因此
Figure 02_image452
Figure 02_image272
之索引中之ceil函數整除的維度。在第1-18圖中所例示之示例性乘法1-1800中,矩陣A經分裂成六個
Figure 02_image031
子矩陣分塊1-1803,且矩陣B經分裂成三個
Figure 02_image031
子矩陣分塊1-1805,從而導致由兩個
Figure 02_image031
子矩陣分塊1-1801組成的所得矩陣C。
為計算矩陣
Figure 02_image454
內的
Figure 02_image031
子矩陣分塊
Figure 02_image456
,藉由例如以下步驟在光子處理器中進行乘法
Figure 02_image458
: (1)控制光子處理器以實行子矩陣
Figure 02_image436
(例如,子矩陣1-1803中之一個); (2)以子矩陣
Figure 02_image438
中之一個(例如,子矩陣1-1805中之一個)之行向量編碼光學訊號且傳播訊號穿過光子處理器; (3)將每個矩陣-向量乘法之中間結果儲存在記憶體中; (4)在
Figure 02_image460
之值上迭代,重複步驟(a)–(c);以及 (5)藉由以數位電子設備例如處理器組合中間結果計算最終子矩陣
Figure 02_image462
(例如,子矩陣1-1801中之一個)。
如以上所描述且在第1-17圖及第1-18圖中所示,方法可包括使用括號索引記號表達矩陣乘法及使用括號上標索引而非下標索引進行矩陣-矩陣乘法之運算,該等下標索引在本揭示案中用來描述矩陣元件。此等括號上標索引對應於子矩陣之
Figure 02_image031
塊。在一些實施例中,方法可藉由將多維陣列分解成
Figure 02_image031
子矩陣分塊片,例如,藉由將此方法與以上所描述之張量-張量乘法組合,一般化成張量-張量乘法。
在一些實施例中,使用具有較少數目的模之光子處理器處理子矩陣之分塊之優點在於,關於相乘的矩陣之形狀,其提供通用性。例如,在其中
Figure 02_image464
的狀況下,進行奇異值分解將產生大小I2 之第一么正矩陣、大小J 2 之第二么正矩陣,及具有J 個參數之對角矩陣。儲存或處理比原始矩陣之元件之數目大得多的I2 個矩陣元件之硬體要求可對於包括在光子處理器之一些實施例中的光學模之數目過大。藉由處理子矩陣而非同時全部整個矩陣,任何大小的矩陣可基於光子處理器之模之數目相乘而不強加限制。 XII. 計算之精確度
發明人已認識且瞭解,光子處理器1-103,及/或根據本揭示案中所描述之其他實施例之任何其他光子處理器,為類比電腦之實例,且因為此資訊時代中之大多數資料係以數位表示儲存,所以藉由光子處理器進行的計算之數位精確度對於量化為重要的。在一些實施例中,根據一些實施例之光子處理器進行矩陣-向量乘積:
Figure 02_image470
,其中
Figure 02_image392
為輸入向量,
Figure 02_image161
Figure 02_image031
矩陣,且
Figure 02_image472
為輸出向量。在索引記號中,此乘法經寫為
Figure 02_image474
,其為
Figure 02_image476
Figure 02_image478
個元件(在
Figure 02_image460
上迭代)與
Figure 02_image480
Figure 02_image478
個元件(在
Figure 02_image460
上迭代)之間的乘法,且然後將結果相加在一起。因為光子處理器為實體類比系統,所以在一些實施例中元件
Figure 02_image476
Figure 02_image482
以定點數表示加以表示。在此表示內,若
Figure 02_image484
Figure 02_image486
-位數且
Figure 02_image488
Figure 02_image490
-位數,則總計
Figure 02_image492
個位元用來充分地表示所得向量元件
Figure 02_image494
。一般而言,用來表示矩陣-向量乘積之結果的位元之數目大於需要來表示運算之輸入的位元之數目。若所使用的類比至數位轉換器(analog-to-digitalconverter; ADC)不能以完全精確度讀出輸出向量,則輸出向量元件可經捨入至ADC之精確度。
發明人已認識且瞭解,在對應於呈光學訊號之形式的輸入向量經發送穿過光子處理系統的速率的頻寬處構造具有高位元精確度之ADC可難以達成。因此,在一些實施例中,ADC之位元精確度可限制表示矩陣元件
Figure 02_image476
及向量元件
Figure 02_image480
的位元精確度(若需要充分精確的計算)。因此,發明人已設計藉由計算部分乘積及和來以其可為任意高的完全精確度獲得輸出向量之方法。為清晰起見,假設需要來表示
Figure 02_image496
Figure 02_image482
的位元之數目為相同的,亦即,
Figure 02_image498
。然而,此假設一般而言仍然可排除且不限制本揭示案之實施例之範疇。
根據一些實施例,作為第一動作,方法包括將矩陣元件
Figure 02_image500
和向量元件
Figure 02_image482
的位元串表示劃分成d 個劃分,其中每個劃分含有
Figure 02_image502
個位元。(若
Figure 02_image272
並非整數,則可附加零,直至
Figure 02_image414
可被
Figure 02_image504
整除)。因此,矩陣元件
Figure 02_image506
,其中
Figure 02_image508
Figure 02_image476
之第
Figure 02_image510
有效
Figure 02_image272
-位元串之
Figure 02_image272
-位元值。就位元串而言,一人寫出
Figure 02_image512
。類似地,一人亦可獲得
Figure 02_image514
,其中應其位元串而言,向量元件
Figure 02_image516
。乘法
Figure 02_image518
可依據此等劃分分解為:
Figure 02_image520
,其中集合
Figure 02_image522
Figure 02_image510
Figure 02_image524
之所有值之集合,其中
Figure 02_image526
作為第二動作,方法包括控制光子處理器以實行矩陣
Figure 02_image508
及以編碼光學訊號之形式傳播各自僅為
Figure 02_image272
-位元精確度的輸入向量
Figure 02_image528
穿過光子處理器。此矩陣-向量乘積運算進行
Figure 02_image530
。方法包括儲存精確度高達
Figure 02_image532
個位元的輸出向量
Figure 02_image534
方法進一步包括在集合
Figure 02_image522
內的a b 之不同值上迭代和針對a b 之不同值中之每一個重複第二動作並儲存中間結果
Figure 02_image534
作為第三動作,方法包括通過以數位電子設備諸如處理器在ab 不同迭代上求各來計算最終結果
Figure 02_image536
用來擷取根據此方法之一些實施例之完全精確的計算的ADC之精確度僅為
Figure 02_image532
個位元,其比計算係使用僅單一遍進行的情況下所需要的精確度之
Figure 02_image538
個位元少。
發明人已進一步認識且瞭解,前述方法之實施例可經一般化以對張量操作。如先前所描述,光子處理系統可藉由使用兩個張量之矩陣片及向量片進行張量-張量乘法。以上所描述之方法可應用於矩陣片及向量片來以完全精確度獲得輸出張量之輸出向量片。
以上方法之一些實施例使用矩陣之基本表示之線性性。在以上描述中,矩陣係以其歐幾里得矩陣空間表示且矩陣-向量乘法在此歐幾里得空間中為線性的。在一些實施例中,矩陣係以VBS之相位表示且因此劃分可在表示相位的位元串,而非直接矩陣元件上進行。在一些實施例中,當相位與矩陣元件之間的映射為線性映射時,則輸入參數——VBS之相位及在此狀況下的輸入向量元件——與輸出向量之間的關係為線性的。當此關係為線性的時,以上所描述之方法仍然適用。然而,一般而言,根據一些實施例,可考慮自矩陣之基本表示至矩陣元件之非線性映射。例如,當相位用來表示一般化吉文斯旋轉角時,自其最有效
Figure 02_image272
-位元串至最低有效
Figure 02_image272
-位元串之相位之位元串劃分對應於自最大旋轉角降至較小旋轉角之劃分。
劃分不需要同時在矩陣元件及輸入向量元件兩者上進行。在一些實施例中,光子處理器可傳播用於相同矩陣的許多輸入向量。僅在輸入向量上進行劃分並將VBS控制保持在設定精確度(例如,完全精確度)處可為有效的,因為用於向量準備的數位至類比轉換器(digital-to-analog converter; DAC)可在高頻寬處操作,而用於VBS的DAC可對於多個向量為準靜態的。一般而言,包括在較高頻寬處之具有高位元精確度之DAC比設計在較低頻寬處之DAC更困難。因而,在一些實施例中,輸出向量元件可比由ADC允許的更精確,但ADC將自動地對輸出向量值進行一些捨入,直至由ADC允許的位元精確度。 XIII. 製造方法
光子處理系統的實施例可使用習知半導體製造技術製造。例如,波導及移相器可使用習知沉積、遮罩、蝕刻,及摻雜技術形成於基板中。
第1-19圖例示根據一些實施例之製造光子處理系統之示例性方法1-1900。在動作1-1901處,方法1-1900包括使用例如習知技術形成光學編碼器。例如,複數個波導及調變器可形成於半導體基板中。光學編碼器可包括如本申請中在其他地方描述的一或多個相位及/或振幅調變器。
在動作1-1903處,方法1-1900包括形成光子處理器及將光子處理器光學地連接至光學編碼器。在一些實施例中,光子處理器形成於與光學編碼器相同的基板中且光學連接係使用形成於基板中的波導做出。在其他實施例中,光子處理器形成於相對於光學編碼器之基板的分離基板中且光學連接係使用光纖做出。
在動作1-1905處,方法1-1900包括形成光學接收器且將光學接收器光學地連接至光子處理器。在一些實施例中,光學接收器形成於與光子處理器相同的基板中且光學連接係使用形成於基板中的波導做出。在其他實施例中,光學接收器形成於相對於光子處理器之基板的分離基板中且光學連接係使用光纖做出。
第1-20圖例示如第1-19圖之動作1-1903中所示的形成光子處理器之示例性方法1-2000。在動作1-2001處,方法1-2000包括將第一光學矩陣實行方案形成於例如半導體基板中。第一光學矩陣實行方案可包括如以上各種實施例中所描述的互連VBS之陣列。
在動作1-2003處,方法1-2000包括形成第二光學矩陣實行方案且將第二光學矩陣實行方案連接至第一光學矩陣實行方案。第二光學矩陣實行方案可包括一或多個光學組件,該一或多個光學組件能夠控制自第一光學矩陣實行方案接收的每個光學訊號之強度及相位,如以上各種實施例中所描述。第一光學矩陣實行方案與第二光學矩陣實行方案之間的連接可包括形成於基板中的波導。
在動作1-2005處,方法1-2000包括形成第三光學矩陣實行方案且將第三光學矩陣實行方案連接至第二光學矩陣實行方案。第三光學矩陣實行方案可包括如以上各種實施例中所描述的互連VBS之陣列。第二光學矩陣實行方案與第三光學矩陣實行方案之間的連接可包括形成於基板中的波導。
在以上動作中之任一個中,光子處理器之組件可形成於半導體基板之相同層中或形成於半導體基板之不同層中。 XIV. 使用方法
第1-21圖例示根據一些實施例之進行光學處理之方法1-2100。在動作1-2101處,方法1-2100包括將位元串編碼成光學訊號。在一些實施例中,此可使用如結合本申請之各種實施例描述的控制器及光學編碼器進行。例如,複數可經編碼成光學訊號之強度及相位。
在動作1-2103處,方法1-2100包括控制光子處理器以實行第一矩陣。如以上所描述,此可藉由使控制器對矩陣進行SVD且將矩陣分解成使用光子處理器之分離部分實行的三個分離矩陣組件實現。光子處理器可包括複數個互連VBS,當光學訊號經傳播穿過光子處理器時,該等複數個互連VBS控制光子處理器之各種模如何混頻在一起以同調地干擾該等光學訊號。
在動作1-2105處,方法1-2100包括傳播光學訊號穿過光學處理器,使得光學訊號以實行所要的矩陣之方式彼此同調地干擾,如以上所描述。
在動作1-2107處,方法1-2100包括使用光學接收器偵測來自光子處理器之輸出光學訊號。如以上所論述,偵測可使用相位敏感或相位不敏感偵測器。在一些實施例中,偵測結果用來決定將要編碼且傳播穿過系統的新輸入位元串。以此方式,可串列地進行多個計算,其中至少一個計算係基於先前計算結果之結果。 XV. 後向傳播處理
如以上所描述,在一些實施例中,光子處理系統100可用來實行可使用後向傳播技術訓練的神經網路或其他基於矩陣的可微分程式之態樣。
用於更新用於可微分程式(例如,神經網路或潛在變數圖形模型)的歐幾里德向量空間中之值之矩陣(例如,用於神經網路之層的權重矩陣)的示例性後向傳播技術2-100在第2-1圖中示出。
在動作2-101處,歐幾里德向量空間中之值之矩陣(例如,用於神經網路之層之權重矩陣)可藉由例如配置光子處理系統100之組件以表示值之矩陣表示為角表示。在矩陣以角表示加以表示之後,過程2-100前進至動作2-102,其中訓練資料(例如,輸入訓練向量及相關聯標記輸出之集合)經處理以藉由評估模型之效能量測計算誤差向量。過程2-100然後前進至動作2-103,其中平行地決定後向傳播所需要的角表示之參數之至少一些梯度。例如,如以下更詳細地論述,本文所描述之技術使用於參數之整個行之梯度能夠經同時決定,從而與單獨地關於每個角旋轉評估梯度相比,顯著地加速需要來進行後向傳播的時間之量。過程2-100然後前進至動作2-104,其中藉由使用所決定梯度更新角表示更新歐幾里德向量空間中之值之矩陣(例如,用於神經網路之層的權重矩陣值)。以下提供第2-1圖之過程2-100中所例示的動作中之每一個之進一步描述。
第2-2圖例示根據一些實施例可如何進行第2-1圖中所示之動作2-101的流程圖。在動作2-201處,控制器(例如,控制器107)可接收用於神經網路之層的權重矩陣。在動作2-202處,可將權重矩陣分解成第一么正矩陣V 、第二么正矩陣U ,及帶符號奇異值之對角矩陣
Figure 02_image023
,使得權重矩陣W 經定義為:
Figure 02_image540
, 其中U
Figure 02_image542
么正矩陣,V
Figure 02_image544
么正矩陣,
Figure 02_image023
為具有帶符號奇異值之
Figure 02_image546
對角矩陣,且上標「T 」指示矩陣之轉置。在一些實施例中,權重矩陣W 首先經分割成方塊,其中每一個經分解成此類矩陣之三重積。權重矩陣W 可為如神經網路之領域中已知的習知權重矩陣。
在一些實施例中,分解成相位空間的權重矩陣為預指定權重矩陣,諸如藉由隨機初始化程序或藉由使用部分訓練的權重矩陣提供的彼等。若不存在部分指定的權重矩陣來使用於後向傳播常式之初始化,則可跳過動作2-202中之分解,且替代地,角表示之參數(例如,么正或正交分解之奇異值及參數)可藉由例如自特定分佈隨機取樣相位空間參數加以初始化。在其他實施例中,可使用奇異值及角參數之預定初始集合。
在動作2-203處,兩個么正矩陣UV 可分別經表示為么正轉移矩陣之第一集合及第二集合之合成。例如,當矩陣UV 為正交矩陣時,該等矩陣可在動作2-203中變換成一系列實值吉文斯旋轉矩陣或Householder反射器,其中一實例以上在章節V中予以描述。
在動作2-204處,基於光子的處理器可基於分解權重矩陣配置來實行么正轉移矩陣。例如,如以上所描述,基於光子的處理器之組件之第一集合可基於么正轉移矩陣之第一集合配置,基於光子的處理器之組件之第二集合可基於帶符號奇異值之對角矩陣配置,且基於光子的處理器之組件之第三集合可基於么正轉移矩陣之第二集合配置。儘管本文所描述之過程係關於使用基於光子的處理器實行後向傳播技術,但應瞭解,後向傳播技術可使用提供平行處理能力的其他計算體系架構加以實行,且實施例在此方面不受限制。
返回至第2-1圖中之過程2-100,在權重矩陣已例如使用如以上所描述之基於光子的處理器表示為角表示之後,動作2-102經導向至處理訓練資料以計算誤差向量。第2-3圖示出根據一些實施例之用於進行動作2-102的實行方案細節之流程圖。在使用本文所描述之技術處理訓練資料之前,訓練資料可經劃分成批。訓練資料可採取任何形式。在一些實施例中,資料可以與針對一些習知微批隨機梯度下降(stochastic gradient descent; SGD)技術進行的相同的方式劃分成批。以此程序計算的梯度可使用於任何最佳化演算法,包括但不限於SGD、AdaGrad、Adam、RMSProp,任何其他基於梯度的最佳化演算法。
在第2-3圖中所示之過程中,可使訓練資料之特定批中之每個向量通過光子處理器,且可針對彼向量計算損耗函數之值。在動作2-301處,來自訓練資料之特定批之輸入訓練向量經接收。在動作2-302,輸入訓練向量例如藉由使用光學脈衝編碼向量轉換成光子訊號,該等光學脈衝具有對應於輸入訓練向量值的振幅及相位,如以上所描述。在動作2-303處,對應於輸入訓練向量的光子訊號作為輸入提供至光子處理器(例如,光子處理器103),該光子處理器已經配置來實行(例如,使用可組態移相器及射束分離器之陣列)權重矩陣,如以上所描述,以產生脈衝之輸出向量。自光子處理器輸出的脈衝之光學強度可使用例如如以上結合第9圖及第10圖所描述之零差偵測加以偵測以產生解碼後輸出向量。在動作2-304處,針對輸入訓練向量計算損耗函數(亦稱為成本函數或誤差度量)之值。動作2-301至2-304之過程然後重複,直至特定批中之所有輸入訓練向量已經處理且損耗函數之對應值已經決定。在動作2-305處,藉由聚合來自每個輸入訓練向量之此等損耗計算總損耗,例如,此聚合可採取平均值之形式。
返回至第2-1圖中之過程2-100,動作2-103經導向至平行計算用於角表示之參數的梯度(例如,已使用光子處理器之組件作為吉文斯旋轉實行的權重之值)。梯度可係基於計算誤差向量、輸入資料向量(例如,來自訓練資料之批),及使用光子處理器實行的權重矩陣計算。第2-4圖示出根據一些實施例之用於進行動作2-103的過程之流程圖。在動作2-401處,對於分解中之吉文斯旋轉之第k 集合
Figure 02_image548
(例如,分解矩陣之行——本文中稱為「導數行k 」),計算含有關於第k 集合中之每個角度之導數的分塊對角導數矩陣。在動作2-402處,計算動作2-102中所決定的誤差向量與導數行k 與輸出之間的么正轉移矩陣中之全部之乘積(藉此稱為「部分向後遍」)。在動作2-403處,計算輸入資料向量與自輸入開始直至且包括導數行k 的所有么正轉移矩陣之乘積(由此稱為「部分向前遍」)。在動作2-404處,計算自動作2-402及2-403輸出的元件之相繼對之間的內積,以決定用於導數行k 的梯度。元件之相繼對之間的內積可計算為
Figure 02_image550
xi δi +xj δj ,其中上標(k )表示光子元件之第k 行,且ij 表示藉由具有參數
Figure 02_image552
之么正轉移矩陣耦接的第i 及第j 光子模,x 為部分向前遍之輸出且δ 為部分向後遍之輸出。在一些實施例中,在輸出之相繼配對之前施加偏移(例如,輸出對可為(1, 2)、(3, 4)等,而非(0, 1), (2, 3))。所決定梯度然後可在適當時使用於正用於訓練的特定選擇最佳化演算法(例如,SGD)。
以下提供根據一些實施例之用於在具有第1-4圖中所示之自左至右拓撲的光子處理器上實行後向傳播技術的示例性偽碼: ● 初始化用於中間傳播結果的兩個列表x'、δ'。 ● 對於MZI之每個行,自最後一行開始且轉至第一行; 旋轉行中之角度以對應於導數矩陣 傳播輸入資料向量穿過光子處理器 將結果儲存在x'中 使當前行為透明的 ● 逐行漸進地累積轉置矩陣。對於每個新行: 傳播誤差向量穿過光子處理器 將結果儲存在δ'中 ● 對於每個x'[i]、δ'[i] 計算相繼對之間的內積,其中結果為用於MZI之第i 行中之角度的梯度。
根據一些實施例,角表示之參數(例如,矩陣
Figure 02_image554
之奇異值及分解正交矩陣UV 之吉文斯旋轉角)經調整,而非如在一些習知後向傳播技術中進行的藉由梯度下降調整權重矩陣之權重。為進一步表明重新參數化的空間中之後向傳播如何根據一些實施例工作,以下為使用習知技術的神經網路之單個層內之後向傳播與根據本揭示案之一些實施例之方法之比較。
損耗函數
Figure 02_image556
量測特定任務上模型之效能。在一些習知隨機梯度下降演算法中,權重矩陣經迭代地調整,使得時間t + 1處之權重矩陣經定義為時間t 處之權重矩陣之函數,且損耗函數關於權重矩陣之權重的導數如下:
Figure 02_image558
其中
Figure 02_image265
為學習率且(a,b)分別表示權重矩陣W 之第a列及第b行條目。當使用分解權重矩陣再計算迭代過程時,權重
Figure 02_image560
為矩陣
Figure 02_image554
之奇異值
Figure 02_image562
及正交矩陣UV 之旋轉角
Figure 02_image564
之函數。因而,後向傳播演算法之迭代調整變成:
Figure 02_image566
Figure 02_image568
為進行對奇異值及旋轉角之迭代調整,必須獲得損耗函數之導數。在描述可如何在諸如光子處理系統100之系統中達成此舉之前,首先基於迭代地調整權重矩陣之權重來針對後向傳播提供描述。在此情形下,藉由系統針對神經網路之單個層量測的輸出結果可表達為輸出向量
Figure 02_image570
,其中W 為權重矩陣,x 為輸入至層中的資料向量,b 為偏差之向量,且f 為非線性函數。微積分之連鎖律應用來關於權重矩陣內之參數中之任何一個計算損耗函數之梯度(其中為便於表示,使用定義
Figure 02_image572
):
Figure 02_image574
關於
Figure 02_image560
計算z 之導數導致:
Figure 02_image576
使用此事實,表示損耗函數之梯度的和隨後可寫為:
Figure 02_image578
第一和定義為誤差向量ex 為輸入向量,從而導致以下表達:
Figure 02_image580
使用來自習知後向傳播技術之以上方程式,方程式可經擴展至分解成奇異值矩陣及么正轉移矩陣的權重矩陣之狀況。使用權重矩陣為旋轉角之函數之事實,連鎖律可用來寫出:
Figure 02_image582
因而,相位空間中之後向傳播涉及與習知後向傳播中相同的組件(誤差向量及輸入資料),添加了為權重矩陣關於么正轉移矩陣之旋轉角之導數的項。
為決定權重矩陣關於么正轉移矩陣之旋轉角之導數,應注意,單個吉文斯旋轉矩陣之導數具有以下形式:
Figure 02_image583
如可看出的,用於並未在第i 列及第j 行的吉文斯旋轉矩陣之任何條目的導數為零。因而,用於
Figure 02_image548
內之角度的所有導數可經分組成單個矩陣。為關於所有
Figure 02_image584
計算導數,在一些實施例中,么正轉移矩陣之行內之角度可使用兩步驟過程實現,如以上所描述。第一,使誤差向量自右側(輸出)穿過分解矩陣一直傳播至正區分的旋轉之當前集合(部分向後遍)。第二,使輸入向量自左側(輸入)一直傳播至旋轉之當前集合(部分向前遍),且然後施加導數矩陣。
在一些實施例中,用於奇異值之求導係使用類似過程達成。關於奇異值
Figure 02_image562
的導數導致元件
Figure 02_image586
至1及所有其他
Figure 02_image588
至0。因此,用於奇異值的導數中之全部可一起計算。在一些實施例中,此可藉由自左側傳播誤差向量(部分向前遍)及自右側傳播輸入向量(部分向後遍),然後自向前遍及向後遍之輸出計算Hadamard乘積來進行。
在第2-4圖中所描述之動作2-103之實行方案中,行k 中之角度中之全部旋轉π/2,以便計算用於彼行的梯度項。在一些實施例中,不進行此旋轉。考慮用於單個MZI之矩陣:
Figure 02_image590
關於θ 取得導數得出
Figure 02_image592
雖然此矩陣對應於將π/2添加至θ ,但其亦對應於調換原始矩陣之行及對該等行中之一個求反。以數學記號,此意味
Figure 02_image594
並非使行中之每個MZI之角度旋轉π/2且然後計算自如以上所描述之動作2-402及2-403輸出的元件之相繼對之間的內積(例如,x1 δ1 +x2 δ2 ),以決定用於分解么正矩陣之行的梯度,在一些實施例中,角度不旋轉π/2且替代地關係x1 δ2 -x2 δ1 經計算來獲得相同梯度在其中矩陣
Figure 02_image596
(
Figure 02_image546
)之大小匹配具有大小
Figure 02_image031
之矩陣U 及大小
Figure 02_image033
之矩陣V 之光子處理器之大小的一些實施例中,動作2-401 – 2-404允許控制器獲得用於大小
Figure 02_image031
之么正/正交矩陣的
Figure 02_image584
梯度。因此,在其中每個矩陣乘法可在
Figure 02_image598
個運算中計算的硬體諸如以上所描述之光子處理系統100上,當光子處理器具有充分大小以表示完全矩陣時,後向傳播程序可在
Figure 02_image600
個運算中完成。當光子處理器不具有充分大小以表示完全矩陣時,矩陣可經分割成方塊,如以上所描述。考慮大小N 之光子處理器。若任務將使大小I xJ 之矩陣乘以大小J 之向量,則單個矩陣-向量乘積將具有複雜度
Figure 02_image602
(IJ /N 2 ) (假設IJ 兩者可被N 整除),因為矩陣之每個維度必須經分割成加載至處理器中且用來計算部分結果的大小N 之矩陣。對於K 個向量之批(例如,大小J xK 之第二矩陣),複雜度對於矩陣-向量乘積為
Figure 02_image602
(IJK /N 2 )。
具有n 個光學模之如以上所描述之光子處理器之實施例自然地計算大小
Figure 02_image604
之矩陣與n -元件向量之間的矩陣-向量乘積。此等效地表達為大小
Figure 02_image604
Figure 02_image606
之矩陣之間的矩陣-向量乘積。此外,具有K 個不同輸入向量及單個重複輸入矩陣之K 個矩陣-向量乘積運算之序列可表達為大小
Figure 02_image608
Figure 02_image610
之矩陣之間的矩陣-向量乘積之計算。但是,本文所描述之應用及演算法通常涉及任意大小之矩陣之間的一般矩陣-矩陣乘法(general matrix-matrix multiplication; GEMM)之計算;亦即,計算
Figure 02_image612
其中aij
Figure 02_image614
矩陣A 之第i 列及第j 行中之元件,bjk
Figure 02_image616
矩陣B 之第j 列及第k 行且cik
Figure 02_image618
矩陣
Figure 02_image620
之第i 列及第k 行中之元件。由於此計算之遞迴特性,此可等效地表達為:
Figure 02_image622
其中A 首先已經填補成
Figure 02_image624
矩陣且然後分割成子矩陣(各自具有大小
Figure 02_image626
)之
Figure 02_image628
網格,且Aij 為此網格之第i 列及第j 行中之
Figure 02_image626
子矩陣,B 首先已經填補成
Figure 02_image630
矩陣且然後分割成子矩陣(各自具有大小
Figure 02_image632
)之
Figure 02_image634
網格,且Bj 為此網格之第j 列中之
Figure 02_image636
子矩陣,且C 首先已經填補成
Figure 02_image638
矩陣且然後分割成子矩陣(各自具有大小
Figure 02_image632
)之
Figure 02_image640
網格,且Ci 為此網格之第i 列中之
Figure 02_image632
子矩陣。
使用此過程,光子處理器可藉由將
Figure 02_image642
個不同矩陣加載至光子陣列中且針對每個加載的矩陣傳播k 個不同向量穿過光子陣列來計算任何GEMMU。此得出
Figure 02_image644
個輸出向量(各自由n 個元件組成),該等輸出向量之子集可加在一起以得出所要的
Figure 02_image646
輸出矩陣,如以上方程式定義。
在第2-4圖中所描述之動作2-103之實行方案中,採用用於實行矩陣的光子處理器之自左至右拓撲,其中向量係在光學組件之陣列之左側上輸入且輸出向量提供在光學組件之陣列之右側上。當傳播誤差向量穿過光子處理器時,此拓撲需要將要計算的角表示矩陣之轉置。在一些實施例中,光子處理器係使用折疊拓撲實行,該折疊拓撲將輸入及輸出兩者佈置在光學組件之陣列之一個側(例如,左側)上。此體系架構允許開關之使用以判定光應在哪個方向上傳播——自輸入至輸出或自輸出至輸入。在飛行時可組態的方向之選擇的情況下,誤差向量之傳播可藉由首先切換方向以使用輸出作為輸入且然後傳播誤差向量穿過陣列來實現,此舉消除對求反相位(例如,藉由使行k 中之每個光子元件之角度旋轉π/2)及當正決定用於行k 之梯度時轉置行之需要,如以上所描述。
返回至第2-1圖中之過程2-100,動作2-104經導向至藉由基於所決定梯度更新角表示之參數來更新權重矩陣。剛剛描述的第2-4圖中所示之過程係用於基於單個輸入資料範例來計算用於分解么正矩陣中之梯度之單個集合(例如,行k )的角參數之梯度。為更新權重矩陣,用於集合(例如,行)中之每一個的梯度需要針對批中之每個輸入資料向量加以計算。第2-5圖示出根據一些實施例之用於計算需要來更新權重矩陣的梯度中之全部的過程之流程圖。在動作2-501處,決定用於么正轉移矩陣(例如,吉文斯旋轉)之多個集合中之一個集合之梯度(例如,使用第2-4圖中所示之過程)。在動作2-502處,然後決定是否存在梯度需要針對當前輸入資料向量加以計算的么正轉移矩陣之額外集合(例如,行)。若決定存在將要計算的額外梯度,則過程返回至動作2-501,其中新集合(例如,行)經選擇且針對新選擇的集合計算梯度。如以下所述,在一些計算體系架構中,陣列之所有行可經同時讀出,使得不需要動作2-502處之決定。過程繼續,直至在動作2-502處決定已針對分解么正矩陣中之么正轉移矩陣之集合(例如,行)中之全部決定梯度。過程然後前進至動作2-503,其中決定是否存在更多輸入資料向量以在正處理的訓練資料之批中處理。若決定存在額外輸入資料向量,則過程返回至動作2-501,其中來自批之新輸入資料向量經選擇且基於新選擇的輸入資料向量計算梯度。過程重複,直至在動作2-503處決定訓練資料之批中之所有輸入資料向量已經處理。在動作2-504處,對動作2-501-2-503中所決定的梯度求平均,且基於利用平均梯度的更新規則來更新角表示之參數(例如,權重矩陣之分解之吉文斯旋轉矩陣之角度)。作為非限制實例,更新規則可包括藉由學習率比例縮放平均梯度或包括用於參數梯度之歷史的「動量」或其他校正。
如以上簡要地論述,儘管以上實例應用於單層神經網路中之實權重矩陣,但結果可經一般化至具有多個層及複權重矩陣之網路。在一些實施例中,神經網路由多個層(例如,深度神經網路中之≥50個層)組成。為計算用於層L 之矩陣的梯度,至彼層之輸入向量將為先前層L -1之輸出且至彼層之誤差向量將為自隨後層L +1後向傳播的誤差。後向傳播誤差向量之值可如先前使用多變數微積分之連鎖律計算。此外,在一些實施例中,可藉由將額外複相位項添加至吉文斯旋轉矩陣來使用複UV 矩陣(例如,么正矩陣)。
雖然以上描述通常獨立於硬體體系架構而應用,但某些硬體體系架構提供比其他硬體體系架構更顯著的計算加速。具體而言,與習知方法相比,本文所描述之後向傳播技術在圖形處理單元、脈動矩陣乘法器、光子處理器(例如,光子處理系統100),或能夠進行梯度之平行計算的其他硬體體系架構上之實行方案出於最大增益而為較佳的。
如以上所描述,光子處理系統100經配置來實行任何么正變換。吉文斯旋轉之序列為此么正變換之實例,且因而光子處理系統100可經程式設計以在O(1)時間內計算以上分解中之變換。如以上所描述,矩陣可藉由控制可變射束分裂器(variable beam-splitter; VBS)之規則陣列加以實行。么正矩陣U
Figure 02_image149
可分解成VBS之方塊式陣列,其中每一個進行2乘2正交矩陣運算(例如,吉文斯旋轉)。對角矩陣Σ以及對角相位螢幕
Figure 02_image648
Figure 02_image650
(呈對角矩陣
Figure 02_image652
之形式)可藉由控制光脈衝之強度及相位實行於光子處理系統100中,如以上所描述。
對角矩陣Σ中之每個條目對應於每個光子模之放大或衰減。具有量級≥1之條目對應於放大且具有量級≤1之條目對應於衰減,且組合VBS及增益媒體將允許衰減或放大。對於nn 方形矩陣M ,需要來施加對角矩陣Σ的光學模之數目為n 。然而,若矩陣M 並非方形的,則所需要的光學模之數目等於較小維度。
如以上所述,在一些實施例中,光子處理器之大小與相乘的矩陣M 及輸入向量之大小相同。然而,在實踐中,矩陣M 之大小及光子處理器之大小通常不同。考慮大小N 之光子處理器。若任務將使大小I xJ 之矩陣乘以大小J 之向量,則單個矩陣-向量乘積將具有複雜度
Figure 02_image602
(IJ /N 2 ) (假設IJ 兩者可被N 整除),因為矩陣之每個維度必須經分割成加載至處理器中且用來計算部分結果的大小N 之矩陣。對於K 個向量之批(例如,大小J xK 之第二矩陣),複雜度對於矩陣-向量乘積為
Figure 02_image602
(IJK /N 2 )。
若矩陣為非方形的,尤其若I >>JJ >>I ,則在小N乘N矩陣分割上工作之能力可為有利的。假設非方形矩陣A ,矩陣之直接SVD產生一個I xI 么正矩陣、一個J xJ 么正矩陣,及一個I xJ 對角矩陣。若I >>JJ >>I ,則需要來表示此分解矩陣的參數之數目比原始矩陣A 大得多。
然而,若矩陣A經分割成具有較小維度之多個N xN 方形矩陣,則此等N xN 矩陣上之SVD產生兩個N xN 么正矩陣及一個N xN 對角矩陣。在此狀況下,需要來表示矩陣的參數之數目仍然為N 2 ——等於原始矩陣A 之大小,且總非方形矩陣可以
Figure 02_image654
IJ 個總參數分解。當IJ 可被N 2 整除時,近似變成相等。
對於具有2N +1個行之光子處理器,可計算針對每個行後向傳播誤差向量之部分結果。因此,對於K 個向量之批,使用大小N 之光子處理器之後向傳播之複雜度為
Figure 02_image602
(IJK /N )。藉由比較,非平行處理器(例如,CPU)上矩陣乘法演算法的後向傳播誤差之計算將為
Figure 02_image602
(IJK)。
描述迄今為止已集中於具有輸入向量資料及後向傳播誤差向量之神經網路層內的矩陣之使用。發明人已認識且瞭解,深度神經網路計算中之資料未必為向量,但該等資料通常為多維張量。類似地,描述神經元之間的連接的權重值通常亦為多維張量。在一些實施例中,若權重張量經分片成矩陣片,並且每個矩陣片彼此無關,則可直接應用以上所描述之方法。因此,可進行奇異值分解及吉文斯類旋轉分解以就用於特定矩陣片之相位而言獲得有效表示。計算相位之梯度之相同方法隨後亦可在輸入張量資料及後向傳播誤差資料之適當佈置的情況下應用。用於特定矩陣片的梯度應以有助於彼特定矩陣片的輸入及誤差資料之部分計算。
具體地,考慮一般n維權重張量
Figure 02_image656
。自將構成矩陣片的
Figure 02_image658
選擇兩個索引——亦即選擇藉由索引
Figure 02_image660
Figure 02_image662
標記——且進行分解以藉由計算
Figure 02_image664
獲得相位
Figure 02_image552
。重要地,
Figure 02_image524
Figure 02_image666
可為1與n 之間的任何值。現考慮一般
Figure 02_image272
維輸入張量
Figure 02_image668
。對於有效張量運算,其必須為此輸入上之權重張量之運算之輸出產生
Figure 02_image670
維輸出張量之狀況。因此可推斷後向傳播誤差張量此層之權重張量為
Figure 02_image670
維張量:
Figure 02_image672
。因此,將要計算的梯度為
Figure 02_image674
其中,為簡單起見(但並非必要條件),權重張量之索引已經排序,使得前k 個索引對
Figure 02_image676
操作,且最後(n-k )個索引對
Figure 02_image678
操作。
在其他實施例中,可更便利地進行奇異值分解之較高階一般化,諸如Tucker分解,其中任意
Figure 02_image450
維張量可如此分解:
Figure 02_image680
其中每個
Figure 02_image682
為可分解成其吉文斯旋轉相位的正交矩陣,且
Figure 02_image684
Figure 02_image450
維核心張量。在一些狀況下,核心張量可使用稱為CANDECOMP/PARAFAC (CP)分解的Tucker分解之特殊狀況選擇為超對角的。Tucker分解可藉由使么正矩陣中之一些之逆(轉置或共軛轉置)相乘類似於2維SVD形式地做出。例如,分解可經重寫為
Figure 02_image686
,其中前
Figure 02_image414
個么正矩陣經推動至核心張量之左側。核心張量之任一側上的么正矩陣之集合可分解成其旋轉角,且每個旋轉角之梯度係藉由微積分之連鎖律及具有輸入張量及誤差張量之梯度之收縮獲得。
發明人已認識且瞭解,相位(例如,用於分解矩陣UV )之梯度及帶符號奇異值(例如,用於矩陣Σ )之梯度可具有不同上界。考慮關於神經網路參數計算純量損耗函數L 之梯度的任務。在歐幾裡得空間中,梯度之值藉由
Figure 02_image688
給出,其中W 為矩陣。在相位空間中,對於特定純量相位θk ,連鎖律提供:
Figure 02_image690
根據跡之定義,此等於:
Figure 02_image692
其中
Figure 02_image694
Figure 02_image696
兩者為矩陣。已知跡藉由Frobenius範數乘積定界
Figure 02_image698
Figure 02_image700
。因此,
Figure 02_image702
因為關於θ 求微分不改變W 之奇異值且因而不改變Frobenius範數,所以以下為真:
Figure 02_image704
關於特定奇異值σk 求微分,除求微分的一個之外,奇異值中之全部轉至零,該一個轉至1,此意味
Figure 02_image706
因此,
Figure 02_image708
在一些實施例中,相位及奇異值之梯度在更新角表示之參數期間經單獨地比例縮放,例如以解決上界中之差異。藉由單獨地比例縮放梯度,相位之梯度或奇異值之梯度可經重新比例縮放以具有相同上界。在一些實施例中,相位之梯度藉由矩陣之Frobenius範數比例縮放。根據一些更新規則,獨立地比例縮放相位及奇異值之梯度等同於具有用於相位之梯度及奇異值之梯度的不同學習率。因此,在一些實施例中,用於更新用於UV 矩陣之組件之集合的第一學習率不同於用於更新Σ矩陣之組件之集合的第二學習率。
發明人已認識且瞭解,一旦權重矩陣經分解成相位空間,相位及奇異值兩者可不需要在每個迭代中經更新以獲得良好解。因此,若僅奇異值(而非相位)在整體訓練時間之一些部分更新,則在彼等時期期間,僅
Figure 02_image602
(n )個參數將需要經更新而非
Figure 02_image602
(n2 )個,從而導致整體運行時間之改良。在一些迭代期間僅更新奇異值或相位可稱為「參數嵌位」。在一些實施例中,參數嵌位可根據以下嵌位技術中一或多個進行: ●固定嵌位: 針對一定數目的迭代訓練所有參數,隨後接著僅更新奇異值 ●循環嵌位: 針對若干時期M 訓練所有參數,然後針對若干時期N 凍結相位(亦即,僅更新奇異值)。針對另外M 個時期重新開始訓練所有參數,然後再次針對N 個時期凍結相位。重複直至已達到所要時期之總數。 ●暖機嵌位: 針對一些數目的時期K 訓練所有參數,然後針對剩餘數目的時期開始循環嵌位。 ●臨限嵌位: 繼續更新相位或奇異值直至其更新小於臨限值ε
發明人已認識且瞭解,光子處理器之體系架構可影響計算之複雜度。例如,在第1圖中所示之體系架構中,偵測器僅在光子處理器陣列之一個末商處,從而導致用於計算梯度的逐行方法(例如,使用部分向前及向後遍)。在替代體系架構中,偵測器可經佈置在光子陣列中之每個光子元件處(例如,在每個MZI處)。對於此體系架構,逐行方法可以單個向前遍及單個向後遍替換,其中第個行處之輸出經同時讀出,因此提供額外的計算加速。亦涵蓋中間解,其中偵測器之行貫穿陣列間歇地置放。偵測器行之任何添加相當地減少需要來用於梯度計算的部分向前及向後遍之數目。
以上所描述之技術例示用於進行權重矩陣參數之更新同時將所有計算保持在相位空間中(例如,使用矩陣之角表示)的技術。在一些實施例中,計算中之至少一些可在歐幾里德向量空間中進行,而其他計算係在相位空間中進行。例如,需要來進行更新的量可在相位空間中計算,如以上所描述,但參數之實際更新可發生在歐幾里德向量空間中。在歐幾里德向量空間中計算的更新矩陣然後可經重新分解成用於下一迭代的權重空間。在歐幾里德向量空間中,對於給定層,更新規則可為:
Figure 02_image710
此計算中之δ可在相位空間中以穿過整個光子處理器的向後遍計算。然後,x 與δ之間的以上外積可單獨地(例如,在晶片外)計算。一旦更新經施加,更新矩陣可經重新分解且分解值可用來設定用於如以上所描述之光子處理器的相位。
本申請案之態樣可提供一或多個效益,先前已描述其中一些。現在描述的是此類效益中之一些非限制實例。應瞭解,並非所有態樣及實施例一定提供現在描述的效益中之全部。此外,應瞭解,本申請案之態樣可提供除現在描述的彼等之額外效益。
本申請案之態樣提供光子處理器,該光子處理器能夠以遠大於習知技術的速度進行矩陣乘法。本文所描述之新的基於光學的處理器體系架構增加矩陣相乘處理器之速度及能量效率兩者。
因而已描述本申請案之技術之若干態樣及實施例,將瞭解,本領域普通技術人員將容易想到各種變更、修改,及改良。此類變更、修改,及改良意欲在申請案中所描述之技術之精神及範疇內。因此,應理解,前述實施例僅藉助於實例來呈現,且在隨附申請專利範圍及其等效物的範疇內,發明實施例可以不同於已明確描述之方式的其他方式來實踐。另外,若此類特徵、系統、物品、材料,及/或方法不相互不一致,則本文所描述之二或更多個特徵、系統、物品、材料,及/或方法之任何組合係包括於本揭示內容之範疇內。
另外,如所描述,一些態樣可體現為一或多個方法。作為該方法之一部分進行的動作可以任何適合的方式排序。因此,可建構以不同於所例示次序的次序來進行動作之實施例,該等實施例可包括同時進行一些動作,雖然該等動作在例示性實施例中經展示為循序動作。
本文所定義及使用的所有定義應理解為支配所定義術語之字典定義、在以引用方式併入之文獻中的定義及/或常規意義。
除非明確指出相反,否則如本文在本說明書及申請專利範圍中所使用的不定冠詞「一」應理解為意味「至少一個」。
如本文在本說明書及申請專利範圍中所使用的片語「及/或」應理解為意味如此結合的元件中之「任一者或兩者」,亦即,在一些狀況下結合存在且在其他狀況下分開存在的元件。
如本文在本說明書及申請專利範圍中所使用,在提及一或多個元件之列表時,片語「至少一個」應理解為意味選自該元件列表中之元件中之任何一或多個的至少一個元件,但未必包括該元件列表內明確列出的每一元件及每個元件中之至少一者,且不排除該元件列表中之元件的任何組合。此定義亦允許除了片語「至少一個」所指代的元件列表內明確識別的元件之外,元件可視需要存在,該等元件與明確識別的彼等元件相關或不相關。
術語「近似」及「約」可用來意味在一些實施例中在目標值之±20%內、在一些實施例中在目標值之±10%內、在一些實施例中在目標值之±5%內,及在一些實施例中在目標值之±2%內。術語「近似」及「約」可包括目標值。
1-100‧‧‧光子處理系統 1-101‧‧‧光學編碼器 1-103‧‧‧光子處理器 1-105‧‧‧光學接收器 1-107‧‧‧控制器 1-109‧‧‧記憶體 1-111‧‧‧處理器 1-201、1-201a、1-201b‧‧‧光源 1-202‧‧‧波導 1-203‧‧‧功率樹 1-205‧‧‧振幅調變器 1-207‧‧‧相位調變器 1-209、1-211‧‧‧數位至類比轉換器/DAC 1-301‧‧‧第一矩陣實行方案/互連VBS陣列 1-303‧‧‧第二矩陣實行方案 1-305‧‧‧第三矩陣實行方案/互連VBS陣列 1-401‧‧‧VBS 1-501‧‧‧第一漸消式耦合器 1-503‧‧‧第二漸消式耦合器 1-505‧‧‧內部移相器 1-507‧‧‧外部移相器 1-509‧‧‧第二外部移相器 1-510‧‧‧MZI 1-601‧‧‧相位調變器/移相器 1-603‧‧‧振幅調變器 1-605‧‧‧移相器 1-701、1-703‧‧‧漸消式耦合器 1-705‧‧‧內部移相器 1-707‧‧‧第二輸出埠 1-709‧‧‧第一輸出埠 1-801‧‧‧50:50射束分離器 1-801a~1-801g‧‧‧射束分離器 1-901‧‧‧零差偵測器 1-903‧‧‧跨阻抗放大器 1-905‧‧‧類比至數位轉換器/ADC 1-1001‧‧‧局部振盪器 1-1003‧‧‧九十度相位差控制器 1-1005‧‧‧射束分離器 1-1007、1-1009‧‧‧偵測器 1-1011‧‧‧減法電路 1-1100‧‧‧折疊光子處理系統 1-1101‧‧‧功率樹 1-1103a~1-1103d‧‧‧光學編碼器 1-1105a~1-1105d‧‧‧零差偵測器 1-1107a~1-1107d‧‧‧選擇器開關 1-1109a~1-1109j‧‧‧U矩陣組件 1-1111a~1-1111d‧‧‧對角矩陣組件 1-1113a~1-1113j‧‧‧V矩陣組件 1-1110‧‧‧波導交越點 1-1120‧‧‧折疊 1-1200‧‧‧WDM光子處理系統 1-1201‧‧‧光子處理器 1-1203‧‧‧前端 1-1205‧‧‧後端 1-1211‧‧‧光學編碼器 1-1213‧‧‧M:1 WDM 1-1221‧‧‧1:M WDM 1-1223‧‧‧偵測器 1-1300‧‧‧光學接收器 1-1301‧‧‧零差偵測器 1-1303‧‧‧跨阻抗放大器 1-1305‧‧‧低通濾波器 1-1400‧‧‧光子處理系統 1-1401‧‧‧U矩陣實行方案 1-1402‧‧‧VBS 1-1403‧‧‧對角矩陣實行方案 1-1405‧‧‧V矩陣實行方案 1-1407a~1-1407d‧‧‧偵測器 1-1700‧‧‧乘法 1-1701‧‧‧元件 1-1703‧‧‧列 1-1705‧‧‧行 1-1800‧‧‧乘法 1-1801‧‧‧子矩陣分塊 1-1803‧‧‧子矩陣分塊 1-1805‧‧‧子矩陣分塊 1-1900、1-2000、1-2100‧‧‧方法 1-1901~1-1905、1-2001~1-2005、1-2101~1-2107、2-101~2-104、2-201~2-204、2-301~2-305、2-401~2-404、2-501~2-504‧‧‧動作 2-100‧‧‧後向傳播技術/過程
第1-1圖為根據一些非限制實施例之光子處理系統的示意圖。
第1-2圖為根據一些非限制實施例之光學編碼器的示意圖。
第1-3圖為根據一些非限制實施例之光子處理器的示意圖。
第1-4圖為根據一些非限制實施例之互連可變射束分離器陣列的示意圖。
第1-5圖為根據一些非限制實施例之可變射束分離器的示意圖。
第1-6圖為根據一些非限制實施例之對角衰減及相移實行方案的示意圖。
第1-7圖為根據一些非限制實施例之衰減器的示意圖。
第1-8圖為根據一些非限制實施例之功率樹的示意圖。
第1-9圖為根據一些非限制實施例之光學接收器的示意圖。
第1-10圖為根據一些非限制實施例之零差偵測器的示意圖。
第1-11圖為根據一些非限制實施例之折疊光子處理系統的示意圖。
第1-12A圖為根據一些非限制實施例之波長分多工(wavelength-division-multiplexed; WDM)光子處理系統的示意圖。
第1-12B圖為根據一些非限制實施例之第1-12A圖之波長分多工(wavelength-division-multiplexed; WDM)光子處理系統之前端的示意圖。
第1-12C圖為根據一些非限制實施例之第1-12A圖之波長分多工(wavelength-division-multiplexed; WDM)光子處理系統之後端的示意圖。
第1-13圖為根據一些非限制實施例之用於進行光學訊號之類比求和的電路的示意圖。
第1-14圖為根據一些非限制實施例之在行全域相位示出的情況下的光子處理系統的示意圖。
第1-15圖為示出根據一些非限制實施例之零差偵測上未校正全域相移之效應的曲線圖。
第1-16圖為示出根據一些非限制實施例之光之同調狀態之九十度相位差不確定性的曲線圖。
第1-17圖為根據一些非限制實施例之矩陣乘法之圖解。
第1-18圖為根據一些非限制實施例之藉由將矩陣再分成子矩陣進行矩陣乘法的圖解。
第1-19圖為根據一些非限制實施例之製造光子處理系統之方法的流程圖。
第1-20圖為根據一些非限制實施例之製造光子處理器之方法的流程圖。
第1-21圖為根據一些非限制實施例之進行光學計算之方法的流程圖。
第2-1為根據一些非限制實施例之用於訓練基於矩陣的可微分程式的過程的流程圖。
第2-2圖為根據一些非限制實施例之用於構造光子處理系統以實行么正轉移矩陣的過程的流程圖。
第2-3圖為根據一些非限制實施例之用於使用光子處理系統計算錯誤向量的過程的流程圖。
第2-4圖為根據一些非限制實施例之用於決定用於么正轉移矩陣之更新參數的過程的流程圖。
第2-5圖為根據一些非限制實施例之用於更新用於么正轉移矩陣之參數的過程的流程圖。
國內寄存資訊 (請依寄存機構、日期、號碼順序註記) 無
國外寄存資訊 (請依寄存國家、機構、日期、號碼順序註記) 無
2-100‧‧‧後向傳播技術/過程
2-101~2-104‧‧‧動作

Claims (30)

  1. 一種用於使用一基於光子的處理器訓練一基於矩陣的可微分程式之方法,該基於矩陣的可微分程式包括與一歐幾里德向量空間中之一值之矩陣相關聯的至少一個矩陣值變數,該方法包含以下步驟: 配置該基於光子的處理器之組件以將該值之矩陣表示為一角表示; 使用該基於光子的處理器之該等組件處理訓練資料以計算一誤差向量; 平行地決定該角表示之參數之至少一些梯度,其中該決定係基於該誤差向量及一當前輸入訓練向量;以及 藉由基於該決定的梯度更新該角表示來更新該值之矩陣。
  2. 如請求項1所述之方法,其中配置該基於光子的處理器之組件以將該值之矩陣表示為一角表示之步驟包含以下步驟: 使用奇異值分解來將該值之矩陣變換成一第一么正矩陣、一第二么正矩陣及一帶符號或正規化奇異值之對角矩陣; 將該第一么正矩陣分解成一么正轉移矩陣之第一集合; 將該第二么正矩陣分解成一么正轉移矩陣之第二集合; 基於該么正轉移矩陣之第一集合來配置該基於光子的處理器之一組件之第一集合; 基於該奇異值之對角矩陣來配置該基於光子的處理器之一組件之第二集合;以及 基於該么正轉移矩陣之第二集合來配置該基於光子的處理器之一組件之第三集合。
  3. 如請求項2所述之方法,其中該么正轉移矩陣之第一集合包括複數個行,且其中平行地決定該角表示之參數之該等梯度中之至少一些之步驟包含以下步驟:平行地決定用於該等複數個行中之多個行之梯度。
  4. 如請求項1所述之方法,其中處理該訓練資料以計算一誤差向量之步驟包含以下步驟: 使用光子訊號編碼該輸入訓練向量; 將該等光子訊號作為輸入提供至該基於光子的處理器以產生一輸出向量; 解碼該輸出向量; 基於該解碼後輸出向量來決定用於該輸入訓練向量的一損耗函數之一值;以及 基於聚合針對該訓練資料中之一輸入訓練向量之集合決定的該損耗函數之該等值來計算該誤差向量。
  5. 如請求項2所述之方法,其中平行地決定該角表示之參數之至少一些梯度之步驟包含以下步驟:平行地決定用於該分解第一么正矩陣之每個行的該等參數之梯度、用於該分解第二么正矩陣之每個行的該等參數之梯度,及用於該等奇異值的該等參數之梯度。
  6. 如請求項5所述之方法,其中平行地決定用於該分解第一么正矩陣之每個行的該等參數之梯度之步驟包含以下步驟: (a) 計算一分塊對角導數矩陣,該分塊對角導數矩陣含有關於該么正轉移矩陣之第一集合之一選定行k 中之每個參數的導數; (b) 計算該誤差向量與該選定行k 與該么正轉移矩陣之第一集合之一輸出行之間的該分解第一么正矩陣中之所有么正轉移矩陣之一乘積; (c) 計算一輸入訓練資料向量與自該么正轉移矩陣之第一集合之一輸入行直至且包括該么正轉移矩陣之第一集合之該選定行k 的該分解第一么正矩陣中之所有么正轉移矩陣之一乘積; (d) 使動作(c)之結果乘以動作(a)中所計算的該分塊對角導數矩陣;以及 計算來自動作(b)之輸出及動作(d)之輸出的元件之相繼對之間的內積。
  7. 如請求項1所述之方法,其中平行地決定該角表示之參數之至少一些梯度之步驟包含以下步驟:使該誤差向量後向傳播穿過該值之矩陣之該角表示。
  8. 如請求項1所述之方法,其中配置該基於光子的處理器之組件以將該值之矩陣表示為一角表示之步驟包含以下步驟: 將該值之矩陣分割成具有較小維度的二或更多個矩陣;以及 配置該基於光子的處理器之組件以表示具有較小維度的該二或更多個矩陣中之一個中之該等值。
  9. 如請求項2所述之方法,其中更新該角表示之步驟包含以下步驟:使用複數個迭代更新用於該組件之第一集合、該組件之第二集合及該組件之第三集合之該等參數,且 其中對於該等複數個迭代中之一些迭代,僅用於該組件之第二集合之該等參數經更新。
  10. 如請求項2所述之方法,其中更新該角表示之步驟包含以下步驟:更新用於該組件之第一集合、該組件之第二集合及該組件之第三集合之該等參數,且 其中用於更新該組件之第一集合及該組件之第三集合之一第一學習率不同於用於更新該組件之第二集合之一第二學習率。
  11. 一種非暫時性電腦可讀媒體,該非暫時性電腦可讀媒體以複數個指令編碼,該等複數個指令當由至少一個基於光子的處理器執行時進行一用於訓練一潛在變數圖形模型之方法,該潛在變數圖形模型包括與一歐幾里德向量空間中之一值之矩陣相關聯的至少一個矩陣值潛在變數,該方法包含以下步驟: 配置該基於光子的處理器之組件以將該值之矩陣表示為一角表示; 使用該基於光子的處理器之該等組件處理訓練資料以計算一誤差向量; 平行地決定該角表示之參數之至少一些梯度,其中該決定係基於該誤差向量及一當前輸入訓練向量;以及 藉由基於該決定的梯度更新該角表示來更新該值之矩陣。
  12. 如請求項10所述之非暫性電腦可讀媒體,其中配置該基於光子的處理器之組件以將該值之矩陣表示為一角表示包含以下步驟: 使用奇異值分解來將該值之矩陣變換成一第一么正矩陣、一第二么正矩陣及一帶符號或正規化奇異值之對角矩陣; 將該第一么正矩陣分解成一么正轉移矩陣之第一集合; 將該第二么正矩陣分解成一么正轉移矩陣之第二集合; 基於該么正轉移矩陣之第一集合來配置該基於光子的處理器之一組件之第一集合; 基於該奇異值之對角矩陣來配置該基於光子的處理器之一組件之第二集合;以及 基於該么正轉移矩陣之第二集合來配置該基於光子的處理器之一組件之第三集合。
  13. 如請求項12所述之非暫性電腦可讀媒體,其中該么正轉移矩陣之第一集合包括複數個行,且其中平行地決定該角表示之參數之該等梯度中之至少一些包含以下步驟:平行地決定用於該等複數個行中之多個行之梯度。
  14. 如請求項11所述之非暫性電腦可讀媒體,其中處理該訓練資料以計算一誤差向量包含以下步驟: 使用光子訊號編碼該輸入訓練向量; 將該等光子訊號作為輸入提供至該基於光子的處理器以產生一輸出向量; 解碼該輸出向量; 基於該解碼後輸出向量來決定用於該輸入訓練向量的一損耗函數之一值;以及 基於聚合針對該訓練資料中之一輸入訓練向量之集合決定的該損耗函數之該等值來計算該誤差向量。
  15. 如請求項12所述之非暫性電腦可讀媒體,其中平行地決定該角表示之參數之至少一些梯度包含以下步驟:平行地決定用於該分解第一么正矩陣之每個行的該等參數之梯度、用於該分解第二么正矩陣之每個行的該等參數之梯度,及用於該等奇異值的該等參數之梯度。
  16. 如請求項15所述之非暫性電腦可讀媒體,其中平行地決定用於該分解第一么正矩陣及該分解第二么正矩陣之每個行的該等參數之梯度包含以下步驟: (a) 計算一分塊對角導數矩陣,該分塊對角導數矩陣含有關於該么正轉移矩陣之第一集合之一選定行k 中之每個參數的導數; (b) 計算該誤差向量與該么正轉移矩陣之第一集合之選定行k 與該么正轉移矩陣之第一集合之一輸出行之間的該分解第一么正矩陣中之所有么正轉移矩陣之一乘積; (c) 計算一輸入訓練資料向量與自該么正轉移矩陣之第一集合之一輸入行直至且包括該么正轉移矩陣之第一集合之該選定行k 的該分解第一么正矩陣中之所有么正轉移矩陣之一乘積; (d) 使動作(c)之結果乘以動作(a)中所計算的該分塊對角導數矩陣;以及 計算來自動作(b)之輸出及動作(d)之輸出的元件之相繼對之間的內積。
  17. 如請求項11所述之非暫性電腦可讀媒體,其中平行地決定該角表示之參數之至少一些梯度包含以下步驟:使該誤差向量後向傳播穿過該值之矩陣之該角表示。
  18. 如請求項11所述之非暫性電腦可讀媒體,其中配置該基於光子的處理器之組件以將該值之矩陣表示為一角表示包含以下步驟: 將該值之矩陣分割成具有較小維度的二或更多個矩陣;以及 配置該基於光子的處理器之組件以表示具有較小維度的該二或更多個矩陣中之一個中之該等值。
  19. 如請求項12所述之非暫性電腦可讀媒體,其中更新該角表示包含以下步驟:使用複數個迭代更新用於該組件之第一集合、該組件之第二集合及該組件之第三集合之該等參數,且 其中對於該等複數個迭代中之一些迭代,僅用於該組件之第二集合之該等參數經更新。
  20. 如請求項12所述之非暫性電腦可讀媒體,其中更新該角表示包含以下步驟:更新用於該組件之第一集合、該組件之第二集合及該組件之第三集合之該等參數,且 其中用於更新該組件之第一集合及該組件之第三集合之一第一學習率不同於用於更新該組件之第二集合之一第二學習率。
  21. 一種基於光子的處理系統,包含: 一光子處理器;以及 一非暫時性電腦可讀媒體,該非暫時性電腦可讀媒體以複數個指令編碼,該等複數個指令當由該光子處理器執行時進行一用於訓練一潛在變數圖形模型之方法,該潛在變數圖形模型包括與一歐幾里德向量空間中之一值之矩陣相關聯的至少一個矩陣值潛在變數,該方法包含以下步驟: 配置該光子處理器之組件以將該值之矩陣表示為一角表示; 使用該光子處理器之該等組件處理訓練資料以計算一誤差向量; 平行地決定該角表示之參數之至少一些梯度,其中該決定係基於該誤差向量及一當前輸入訓練向量;以及 藉由基於該決定的梯度更新該角表示來更新該值之矩陣。
  22. 如請求項21所述之基於光子的處理系統,其中配置該基於光子的處理器之組件以將該值之矩陣表示為一角表示包含以下步驟: 使用奇異值分解來將該值之矩陣變換成一第一么正矩陣、一第二么正矩陣及一帶符號或正規化奇異值之對角矩陣; 將該第一么正矩陣分解成一么正轉移矩陣之第一集合; 將該第二么正矩陣分解成一么正轉移矩陣之第二集合; 基於該么正轉移矩陣之第一集合來配置該基於光子的處理器之一組件之第一集合; 基於該奇異值之對角矩陣來配置該基於光子的處理器之一組件之第二集合;以及 基於該么正轉移矩陣之第二集合來配置該基於光子的處理器之一組件之第三集合。
  23. 如請求項21所述之基於光子的處理系統,其中該么正轉移矩陣之第一集合包括複數個行,且其中平行地決定該角表示之參數之該等梯度中之至少一些包含以下步驟:平行地決定用於該等複數個行中之多個行之梯度。
  24. 如請求項21所述之基於光子的處理系統,其中處理該訓練資料以計算一誤差向量包含以下步驟: 使用光子訊號編碼該輸入訓練向量; 將該等光子訊號作為輸入提供至該基於光子的處理器以產生一輸出向量; 解碼該輸出向量; 基於該解碼後輸出向量來決定用於該輸入訓練向量的一損耗函數之一值;以及 基於聚合針對該訓練資料中之一輸入訓練向量之集合決定的該損耗函數之該等值來計算該誤差向量。
  25. 如請求項23所述之基於光子的處理系統,其中平行地決定該角表示之參數之至少一些梯度包含以下步驟:平行地決定用於該分解第一么正矩陣之每個行的該等參數之梯度、用於該分解第二么正矩陣之每個行的該等參數之梯度,及用於該等奇異值的該等參數之梯度。
  26. 如請求項25所述之基於光子的處理系統,其中平行地決定用於該分解第一么正矩陣及該分解第二么正矩陣之每個行的該等參數之梯度包含以下步驟: (a)計算一分塊對角導數矩陣,該分塊對角導數矩陣含有關於該么正轉移矩陣之第一集合之一選定行k 中之每個參數的導數; (b)計算該誤差向量與該么正轉移矩陣之第一集合之選定行k 與該么正轉移矩陣之第一集合之一輸出行之間的該分解第一么正矩陣中之所有么正轉移矩陣之一乘積; (c)計算一輸入訓練資料向量與自該么正轉移矩陣之第一集合之一輸入行直至且包括該么正轉移矩陣之第一集合之該選定行k 的該分解第一么正矩陣中之所有么正轉移矩陣之一乘積; (d)使動作(c)之結果乘以動作(a)中所計算的該分塊對角導數矩陣;以及 計算來自動作(b)之輸出及動作(d)之輸出的元件之相繼對之間的內積。
  27. 如請求項21所述之基於光子的處理系統,其中平行地決定該角表示之參數之至少一些梯度包含以下步驟:使該誤差向量後向傳播穿過該值之矩陣之該角表示。
  28. 如請求項21所述之基於光子的處理系統,其中配置該基於光子的處理器之組件以將該值之矩陣表示為一角表示包含以下步驟: 將該值之矩陣分割成具有較小維度的二或更多個矩陣;以及 配置該基於光子的處理器之組件以表示具有較小維度的該二或更多個矩陣中之一個中之該等值。
  29. 如請求項22所述之基於光子的處理系統,其中更新該角表示包含以下步驟:使用複數個迭代更新用於該組件之第一集合、該組件之第二集合及該組件之第三集合之該等參數,且 其中對於該等複數個迭代中之一些迭代,僅用於該組件之第二集合之該等參數經更新。
  30. 如請求項22所述之基於光子的處理系統,其中更新該角表示包含以下步驟:更新用於該組件之第一集合、該組件之第二集合及該組件之第三集合之該等參數,且 其中用於更新該組件之第一集合及該組件之第三集合之一第一學習率不同於用於更新該組件之第二集合之一第二學習率。
TW108116561A 2018-05-15 2019-05-14 用於訓練基於矩陣的可微分程式的系統及方法 TW202005312A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201862671793P 2018-05-15 2018-05-15
US62/671,793 2018-05-15
US201862680557P 2018-06-04 2018-06-04
US62/680,557 2018-06-04

Publications (1)

Publication Number Publication Date
TW202005312A true TW202005312A (zh) 2020-01-16

Family

ID=68533034

Family Applications (1)

Application Number Title Priority Date Filing Date
TW108116561A TW202005312A (zh) 2018-05-15 2019-05-14 用於訓練基於矩陣的可微分程式的系統及方法

Country Status (3)

Country Link
US (3) US10740693B2 (zh)
TW (1) TW202005312A (zh)
WO (1) WO2019222150A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112964962A (zh) * 2021-02-05 2021-06-15 国网宁夏电力有限公司 一种输电线路故障分类方法
TWI773245B (zh) * 2020-04-13 2022-08-01 日商利普麥德股份有限公司 神經網路電路、網路終端設備及神經網路運算方法
TWI859441B (zh) * 2020-04-27 2024-10-21 美商萊特美特股份有限公司 光子處理器架構
TWI902516B (zh) * 2024-11-04 2025-10-21 瑞昱半導體股份有限公司 訓練系統、訓練方法、調光系統以及調光方法

Families Citing this family (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101934638B1 (ko) * 2017-05-12 2019-01-02 이화여자대학교 산학협력단 행렬 분해를 이용한 저복잡 네트워크 코딩에 기초하는 네트워크 인코딩 장치 및 방법
EP3631700A4 (en) * 2017-05-31 2021-03-17 Intel Corporation GRADIENT-BASED LEARNING ENGINE FOR QUATERNION-BASED AUTOMATIC LEARNING SYSTEMS
US10902318B2 (en) 2017-11-06 2021-01-26 Neuralmagic Inc. Methods and systems for improved transforms in convolutional neural networks
US20190156214A1 (en) 2017-11-18 2019-05-23 Neuralmagic Inc. Systems and methods for exchange of data in distributed training of machine learning algorithms
TWI884830B (zh) * 2018-05-15 2025-05-21 美商萊特美特股份有限公司 光子處理系統及方法
US10740693B2 (en) 2018-05-15 2020-08-11 Lightmatter, Inc. Systems and methods for training matrix-based differentiable programs
US11449363B2 (en) 2018-05-31 2022-09-20 Neuralmagic Inc. Systems and methods for improved neural network execution
US10963787B2 (en) * 2018-05-31 2021-03-30 Neuralmagic Inc. Systems and methods for generation of sparse code for convolutional neural networks
US11216732B2 (en) 2018-05-31 2022-01-04 Neuralmagic Inc. Systems and methods for generation of sparse code for convolutional neural networks
US10832133B2 (en) 2018-05-31 2020-11-10 Neuralmagic Inc. System and method of executing neural networks
WO2019236250A1 (en) 2018-06-04 2019-12-12 Lightmatter, Inc. Real-number photonic encoding
EP3803710B1 (en) * 2018-06-05 2025-02-12 Lightelligence PTE. Ltd. Optoelectronic computing systems
US11507818B2 (en) 2018-06-05 2022-11-22 Lightelligence PTE. Ltd. Optoelectronic computing systems
WO2020046859A1 (en) 2018-08-27 2020-03-05 Neuralmagic Inc. Systems and methods for neural network convolutional layer matrix multiplication using cache memory
US11636343B2 (en) 2018-10-01 2023-04-25 Neuralmagic Inc. Systems and methods for neural network pruning with accuracy preservation
EP3878146A4 (en) * 2018-11-05 2022-06-29 Nokia Solutions and Networks Oy Papr reduction of mimo-ofdm
US11544559B2 (en) 2019-01-08 2023-01-03 Neuralmagic Inc. System and method for executing convolution in a neural network
US11734556B2 (en) 2019-01-14 2023-08-22 Lightelligence PTE. Ltd. Optoelectronic computing systems
US11209856B2 (en) 2019-02-25 2021-12-28 Lightmatter, Inc. Path-number-balanced universal photonic network
CA3130114A1 (en) 2019-02-26 2020-09-03 Lightmatter, Inc. Hybrid analog-digital matrix processors
US11704573B2 (en) * 2019-03-25 2023-07-18 Here Global B.V. Method, apparatus, and computer program product for identifying and compensating content contributors
US12387094B2 (en) * 2019-05-03 2025-08-12 University Of Central Florida Research Foundation, Inc. Photonic tensor accelerators for artificial neural networks
EP4004673A4 (en) 2019-07-29 2023-06-21 Lightmatter, Inc. Systems and methods for analog computing using a linear photonic processor
WO2021026225A1 (en) 2019-08-08 2021-02-11 Neuralmagic Inc. System and method of accelerating execution of a neural network
JP2021064222A (ja) * 2019-10-15 2021-04-22 富士通株式会社 方策改善方法、方策改善プログラム、および方策改善装置
KR20220104218A (ko) 2019-11-22 2022-07-26 라이트매터, 인크. 선형 광자 프로세서들 및 관련 방법들
KR102785402B1 (ko) * 2019-12-06 2025-03-21 삼성전자주식회사 뉴럴 네트워크의 행렬 곱셈 연산을 수행하는 장치 및 방법
JP7394451B2 (ja) * 2020-02-28 2023-12-08 国立研究開発法人産業技術総合研究所 フォトニクス分類器および分類方法
WO2021211125A1 (en) * 2020-04-16 2021-10-21 The George Washington University Photonic tensor core matrix vector multiplier
WO2021214940A1 (ja) * 2020-04-23 2021-10-28 日本電信電話株式会社 モバイル端末および分散深層学習システム
CN111553126B (zh) * 2020-05-08 2022-05-24 北京华大九天科技股份有限公司 一种基于机器学习训练模型获取矩阵分解时间的方法
US12530573B1 (en) 2020-05-19 2026-01-20 Red Hat, Inc. Efficient execution of group-sparsified neural networks
US12499173B2 (en) 2020-06-03 2025-12-16 Siphox, Inc. Methods and systems for optical matrix calculation
US12038777B2 (en) 2020-06-29 2024-07-16 Lightmatter, Inc. Fast prediction processor
US12353988B2 (en) * 2020-07-09 2025-07-08 Celestial Ai Inc. Neuromorphic photonics with coherent linear neurons
CN115989394A (zh) 2020-07-24 2023-04-18 光物质公司 光子处理器中利用光子自由度的系统和方法
US12241740B2 (en) * 2020-11-02 2025-03-04 Artilux, Inc. Optical sensing apparatus with deactivated photodetector regions and method thereof
WO2022115704A1 (en) 2020-11-30 2022-06-02 Lightmatter, Inc. Machine learning model training using an analog processor
WO2022115935A1 (en) * 2020-12-02 2022-06-09 Huawei Technologies Canada Co., Ltd. Photonic computing system and method for wireless communication signal processing
TWI902113B (zh) 2020-12-09 2025-10-21 新加坡商光子智能私人有限公司 光子計算裝置
US11556757B1 (en) 2020-12-10 2023-01-17 Neuralmagic Ltd. System and method of executing deep tensor columns in neural networks
CN112597540B (zh) * 2021-01-28 2021-10-01 支付宝(杭州)信息技术有限公司 基于隐私保护的多重共线性检测方法、装置及系统
US11017322B1 (en) * 2021-01-28 2021-05-25 Alipay Labs (singapore) Pte. Ltd. Method and system for federated learning
CN115035322B (zh) * 2021-03-04 2025-04-22 富泰华工业(深圳)有限公司 图像特征提取方法、装置、电子设备及存储介质
US12386238B2 (en) * 2021-03-15 2025-08-12 Cognifiber Ltd. Optical quantum logic gates
CN115413345A (zh) * 2021-03-26 2022-11-29 谷歌有限责任公司 提升和矩阵分解
US12387103B2 (en) * 2021-05-12 2025-08-12 Microsoft Technology Licensing, Llc Backpropagation using parametrizing angles of unitary matrix
EP4323924A4 (en) * 2021-05-27 2025-02-12 QC Ware Corp. CLASSICAL AND QUANTUM ALGORITHMS FOR ORTHOGONAL NEURAL NETWORKS
CN118103791A (zh) 2021-08-31 2024-05-28 光物质公司 光纤耦合激光光源
US11960982B1 (en) 2021-10-21 2024-04-16 Neuralmagic, Inc. System and method of determining and executing deep tensor columns in neural networks
US20230352465A1 (en) * 2022-04-28 2023-11-02 Lightmatter, Inc. Led-based photonic communication and processing unit
CN115511006B (zh) * 2022-10-28 2025-12-12 北京环境特性研究所 基于酉变换的目标检测方法、装置、电子设备及存储介质
US12340796B2 (en) 2022-12-20 2025-06-24 Bank Of America Corporation Voice processing using photonic quantum computing
GB2631984A (en) * 2023-07-20 2025-01-22 Lumai Ltd Analog computing system and method of performing analog computing
WO2025080846A1 (en) * 2023-10-14 2025-04-17 Ntt Research, Inc. Optical in-memory computing systems

Family Cites Families (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4567569A (en) 1982-12-15 1986-01-28 Battelle Development Corporation Optical systolic array processing
GB2154772B (en) 1984-02-25 1987-04-15 Standard Telephones Cables Ltd Optical computation
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
US5077619A (en) 1989-10-25 1991-12-31 Tacan Corporation High linearity optical transmitter
JP2762808B2 (ja) 1991-01-09 1998-06-04 松下電器産業株式会社 空間光変調素子および投写型ディスプレイ装置
US5699449A (en) 1994-11-14 1997-12-16 The University Of Connecticut Method and apparatus for implementation of neural networks for face recognition
US6005998A (en) 1998-02-20 1999-12-21 Lucent Technologies Inc. Strictly non-blocking scalable matrix optical switch
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
CN1639660A (zh) 2001-11-06 2005-07-13 约翰霍普金斯大学 利用单光子的量子态执行逻辑操作的技术
US7317574B2 (en) 2002-05-20 2008-01-08 Magiq Technologies, Inc. Long-distance quantum communication
ATE278274T1 (de) 2002-06-24 2004-10-15 Cit Alcatel 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
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
US7492983B2 (en) 2004-08-04 2009-02-17 The Furukawa Electric Co., Ltd. Optical circuit device
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
EP1935129B1 (en) 2005-10-13 2012-02-22 National ICT Australia Limited Method and apparatus for automated identification of signal characteristics
US8023828B2 (en) 2005-10-17 2011-09-20 Hewlett-Packard Development Company, L.P. Quantum information conversion between matter and light representations
EP1974315A4 (en) 2006-01-27 2010-12-22 Dwave Sys Inc PROCESS FOR THE ADIABATIC QUANTITY CALCULATION
EP2126800A4 (en) 2006-12-05 2012-07-11 Dwave Sys Inc SYSTEMS, METHODS AND DEVICES FOR LOCAL PROGRAMMING OF QUANTUM PROCESSOR ELEMENTS
KR100890389B1 (ko) 2006-12-05 2009-03-26 한국전자통신연구원 편광 무의존 단방향 양자 암호 수신 및 송수신 장치
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
US8027587B1 (en) 2007-08-21 2011-09-27 Sandia Corporation Integrated optic vector-matrix multiplier
US8190553B2 (en) 2007-12-20 2012-05-29 Routt Thomas J Methods and systems for quantum search, computation and memory
JP5091717B2 (ja) 2008-02-21 2012-12-05 株式会社東芝 量子計算方法および量子計算機
CN101630178B (zh) 2008-07-16 2011-11-16 中国科学院半导体研究所 一种硅基集成化的光学向量-矩阵乘法器
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
US8705900B2 (en) 2010-03-19 2014-04-22 Nippon Telegraph And Telephone Corporation Optical modulator
US8756047B2 (en) * 2010-09-27 2014-06-17 Sureshchandra B Patel Method of artificial nueral network loadflow computation for electrical power system
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
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
WO2014174735A1 (ja) 2013-04-24 2014-10-30 日本電気株式会社 偏波分離器、及び光デバイス
WO2014192153A1 (ja) 2013-05-31 2014-12-04 株式会社日立製作所 半導体装置
JP6300049B2 (ja) 2013-07-09 2018-03-28 ザ ボード オブ トラスティーズ オブ ザ レランド スタンフォード ジュニア ユニバーシティー 光パラメトリック発振器のネットワークを使用する計算
GB201402736D0 (en) * 2013-07-26 2014-04-02 Isis Innovation Method of training a neural network
CN103903016B (zh) 2014-01-13 2017-11-21 南京大学 直接使用样本特征原始数值的广义相关学习矢量量化方法
WO2016028363A2 (en) 2014-06-06 2016-02-25 Massachusetts Institute Of Technology Methods, systems, and apparatus for programmable quantum photonic processing
US20160226468A1 (en) * 2015-01-30 2016-08-04 Huawei Technologies Co., Ltd. Method and apparatus for parallelized qrd-based operations over a multiple execution unit processing system
US9753224B2 (en) 2015-03-25 2017-09-05 The Board Of Trustees Of The Leland Stanford Junior University Field-programmable optical component
US10126572B2 (en) 2016-03-31 2018-11-13 Huawei Technologies Co., Ltd. Automatic endless polarization controller for a silicon-on-insulator platform
US10252145B2 (en) 2016-05-02 2019-04-09 Bao Tran Smart device
CN114089579B (zh) * 2016-06-02 2024-12-24 麻省理工学院 用于光学神经网络的设备和方法
WO2018022800A1 (en) * 2016-07-26 2018-02-01 Gamalon, Inc. Machine learning data analysis system and method
US20180260703A1 (en) 2016-11-22 2018-09-13 Massachusetts Institute Of Technology Systems and methods for training neural networks
US10634851B2 (en) 2017-05-17 2020-04-28 Massachusetts Institute Of Technology Apparatus, systems, and methods for nonblocking optical switching
US20190220613A1 (en) * 2018-01-12 2019-07-18 Gamalon, Inc. Probabilistic Modeling System and Method
US12026615B2 (en) 2018-05-10 2024-07-02 The Board Of Trustees Of The Leland Stanford Junior University Training of photonic neural networks through in situ backpropagation
US10740693B2 (en) 2018-05-15 2020-08-11 Lightmatter, Inc. Systems and methods for training matrix-based differentiable programs

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI773245B (zh) * 2020-04-13 2022-08-01 日商利普麥德股份有限公司 神經網路電路、網路終端設備及神經網路運算方法
US12242950B2 (en) 2020-04-13 2025-03-04 Leapmind Inc. Neural network circuit, edge device and neural network operation process
TWI859441B (zh) * 2020-04-27 2024-10-21 美商萊特美特股份有限公司 光子處理器架構
CN112964962A (zh) * 2021-02-05 2021-06-15 国网宁夏电力有限公司 一种输电线路故障分类方法
CN112964962B (zh) * 2021-02-05 2022-05-20 国网宁夏电力有限公司 一种输电线路故障分类方法
TWI902516B (zh) * 2024-11-04 2025-10-21 瑞昱半導體股份有限公司 訓練系統、訓練方法、調光系統以及調光方法

Also Published As

Publication number Publication date
US20200334576A1 (en) 2020-10-22
US20190354894A1 (en) 2019-11-21
US11475367B2 (en) 2022-10-18
WO2019222150A1 (en) 2019-11-21
US10740693B2 (en) 2020-08-11
US20220366308A1 (en) 2022-11-17

Similar Documents

Publication Publication Date Title
TW202005312A (zh) 用於訓練基於矩陣的可微分程式的系統及方法
JP7617219B2 (ja) フォトニック処理デバイス及び方法
US11936434B2 (en) Systems and methods for analog computing using a linear photonic processor
TW202013265A (zh) 使用可編程奈米光子器件計算旋積的方法
US10608663B2 (en) Real-number photonic encoding
CN113853600A (zh) 混合模拟-数字矩阵处理器
TWI910037B (zh) 光子處理系統及方法
HK40066318A (zh) 混合模拟-数字矩阵处理器