作者:Ryan Hamerly;來源:IEEE Spectrum;編譯:昕甬智測實驗室
說到人工智能,你會(hui) 想到什麽(me) 呢?圖像識別、語音識別、語言翻譯、醫療診斷和自動駕駛?這些任務在不久以前仍然依靠人類大腦,現在大多可以由計算機完成。
圖一 如今,複雜的人臉識別已經可以由人工智能完成 | Pixabay
促成這些驚人發展的技術稱為(wei) 深度學習(xi) (deep learning),指的是被稱為(wei) “人工神經網絡(artificial neural network)"的數學模型。 深度學習(xi) 是機器學習(xi) 的一個(ge) 子領域,其概念是將複雜模型與(yu) 數據擬合。
雖然機器學習(xi) 已經存在了很長時間,但由於(yu) 對計算能力有更高的要求,深度學習(xi) 的發展較為(wei) 緩慢。這促使工程師開發專(zhuan) 門針對深度學習(xi) 的電子硬件加速器,張量處理單元(Tensor Processing Unit, TPU)就是一例。
神經網絡計算的需求與(yu) 挑戰
首先,我們(men) 先來大致了解一下神經網絡計算。人工神經元是使用在某種數字電子計算機上運行的特殊軟件構建的。該軟件為(wei) 給定的神經元提供多個(ge) 輸入和一個(ge) 輸出。每個(ge) 神經元的狀態取決(jue) 於(yu) 其輸入的加權和,而這些輸入是由非線性函數(稱為(wei) 激活函數)決(jue) 定的。然後這個(ge) 神經元的輸出再成為(wei) 各種其他神經元的輸入。
圖二 實現深度學習(xi) 的神經網絡計算
為(wei) 了計算效率,這些神經元被分組到層中,神經元隻連接到相鄰層的神經元。這些運算仰賴大量的線性代數計算(矩陣乘法),並且數學技巧的以被應用來加速計算。隨著網絡規模的增長,這些計算是深度學習(xi) 中計算要求最高的部分。
現代計算機硬件已經針對矩陣運算進行了很好的優(you) 化。我們(men) 可以將深度學習(xi) 的相關(guan) 矩陣計算歸結為(wei) 大量的乘法和加法運算,就是將成對的數字相乘並將它們(men) 的乘積相加。過去二十多年來,深度學習(xi) 需要越來越多的乘法累加運算,計算機的性能也基本遵循摩爾定律大幅增長。然而,隨著半導體(ti) 工藝發展到臨(lin) 近極限,摩爾定律已經失去動力,繼續保持成長趨勢是一個(ge) 極大的挑戰。
並且,訓練當今的大型神經網絡通常會(hui) 產(chan) 生顯著的環境影響。例如,2019 年的一項研究發現,訓練某個(ge) 深度神經網絡進行自然語言處理所產(chan) 生的二氧化碳排放量,是一輛汽車在其“使用壽命"內(nei) 產(chan) 生的二氧化碳排放量的五倍。
圖三 深度神經網絡計算造成的碳排放不容小覷
光學可以解決(jue) 問題嗎?
數字電子計算機的改進使深度學習(xi) 得以蓬勃發展。但這並不意味著進行神經網絡計算的方法就是使用此類機器。幾十年前,當數字計算機還相對原始時,一些工程師使用模擬計算機來解決(jue) 困難的計算。隨著數字電子技術的改進,那些模擬計算機被淘汰了。但現在可能是再次采用該策略的時候了,特別是當模擬計算可以通過光學方式完成時。
光纖可以支持比電線高得多的數據速率。如今光數據鏈路取代了銅線,光數據通信速度更快,功耗更低。
圖四 光纖通信速度快,功耗低
光學計算具備同樣的優(you) 勢。但是通信數據和計算之間有很大的區別。這就是模擬光學方法遇到障礙的地方。傳(chuan) 統計算機基於(yu) 晶體(ti) 管,晶體(ti) 管是非線性的電路元件——它們(men) 的輸出不僅(jin) 與(yu) 輸入成正比,其非線性特性可以決(jue) 定什麽(me) 時候讓晶體(ti) 管打開和關(guan) 閉,因此被塑造成邏輯門。但是光子遵循麥克斯韋方程,因此光學設備的輸出通常與(yu) 其輸入成正比。
利用光學來做線性代數
為(wei) 了說明如何做到這一點,我將在這裏描述一個(ge) 光子設備,當它與(yu) 一些簡單的模擬電子設備耦合時,可以將兩(liang) 個(ge) 矩陣相乘。我和我的麻省理工學院同事發表了一篇相關(guan) 的論文,我們(men) 現在正在努力構建這樣一個(ge) 光學矩陣乘法器。
圖五 麻省理工學院提出的光學矩陣乘法器
該設備中的基本計算單元是一個(ge) 分束器(BS,beam splitter)。從(cong) 側(ce) 麵向其中發送一束光,分束器將允許一半光直接穿過它,而另一半則從(cong) 有角度的鏡子反射,使其與(yu) 入射光束成90度反彈.
現在將第二束光垂直於(yu) 第一束光照射到該分束器中,使其照射到鏡子的另一側(ce) 。該第二光束的一半將類似地以90度角透射和反射。兩(liang) 個(ge) 輸出光束將與(yu) 第一個(ge) 光束的兩(liang) 個(ge) 輸出組合。所以這個(ge) 分束器BS有兩(liang) 個(ge) 輸入和兩(liang) 個(ge) 輸出。
要使用此設備進行矩陣乘法,需要生成兩(liang) 個(ge) 光束,其電場強度x和y與(yu) 要相乘的兩(liang) 個(ge) 數字成正比。將這兩(liang) 束光照射到分束器中產(chan) 生兩(liang) 個(ge) 輸出,其電場值為(wei) (x + y)/√2 和 (x − y)/√2。
然後我們(men) 還需要兩(liang) 個(ge) 簡單的電子元件——光電探測器——來測量兩(liang) 個(ge) 輸出光束。他們(men) 測量光束的功率,該功率與(yu) 其電場強度的平方成正比。你會(hui) 得到 (x2 + 2xy + y2)/2 和 (x2 − 2xy + y2)/2 ,相減後得到 2xy ,是一個(ge) 與(yu) 兩(liang) 個(ge) 數字的乘積成正比的信號。由此,我們(men) 可以構建一個(ge) 輸出信號與(yu) 兩(liang) 個(ge) 輸入信號乘積成正比的光學計算單元。
光學計算如何節省能耗?
上述實驗中的光束並不需要保持穩定。事實上,兩(liang) 個(ge) 輸入可以為(wei) 脈衝(chong) 光束,並且我們(men) 可以將輸出信號饋送到電容器中,然後隻要輸入脈衝(chong) 持續,電容就會(hui) 積累電荷。這樣的操作便實現了乘法累加運算。
以這種方式使用脈衝(chong) 光可以快速順序執行許多此類操作。其中最耗能的部分是讀取該電容器上的電壓,這需要一個(ge) 模數轉換器。但是你不必在每個(ge) 脈衝(chong) 之後都這樣做——你可以等到一係列的結束,比如 N 個(ge) 脈衝(chong) 。這意味著該設備可以使用相同的能量執行 N 次乘法累加運算,以讀取 N 是小還是大的答案。這裏,N 對應於(yu) 神經網絡中每層的神經元數量,很容易達到數千個(ge) 。所以這個(ge) 策略消耗的能量很少。
我們(men) 也可以考慮在輸入端節省能源。這是因為(wei) 相同的值經常被用作多個(ge) 神經元的輸入。與(yu) 其將這個(ge) 數字多次轉換為(wei) 光——每次都消耗能量——它可以隻轉換一次,產(chan) 生的光束可以分成許多通道。通過這種方式,輸入轉換的能源成本可以在許多操作中分攤。
其他光學計算相關(guan) 工作
將一束光束分成多個(ge) 通道不需要比透鏡更複雜的事情,但將透鏡放在芯片上可能很棘手。因此,我們(men) 正在開發的以光學方式執行神經網絡計算的設備,很可能最終成為(wei) 一種混合體(ti) ,它將高度集成的光子芯片與(yu) 單獨的光學元件結合在一起。
我在這裏概述了麻省理工一直在追求的策略,但還有其他類似的工作。另一個(ge) 很有前景的方案是基於(yu) 一種叫做馬赫-曾德幹涉儀(yi) (MZ幹涉儀(yi) )的東(dong) 西,它結合了兩(liang) 個(ge) 分束器和兩(liang) 個(ge) 全反射鏡。它也可用於(yu) 以光學方式進行矩陣乘法。兩(liang) 家麻省理工學院的初創公司 Lightmatter 和 Lightelligence 正在開發基於(yu) 這種方法的光學神經網絡加速器。 Lightmatter 已經構建了一個(ge) 原型,該原型使用其製造的光學芯片。該公司預計將在今年晚些時候開始銷售使用該芯片的光加速器板。
另一家使用光學進行計算的初創公司是 Optalysis,它希望複興(xing) 一個(ge) 相當古老的概念。早在 1960 年代,光學計算的*用途之一就是處理合成孔徑雷達(synthetic-aperture radar)數據。挑戰的一個(ge) 關(guan) 鍵部分是將稱為(wei) 傅立葉變換的數學運算應用於(yu) 測量數據。當時的數字計算機一直在努力解決(jue) 這些問題。即使是現在,將傅立葉變換應用於(yu) 大量數據也可能是計算密集型的。但是傅立葉變換可以在光學上進行,隻需要一個(ge) 鏡頭,這就是多年來工程師處理合成孔徑數據的方式。Optalysis 希望將這種方法更新並更廣泛地應用。
還有一家名為(wei) Luminous 的公司,是從(cong) 普林斯頓大學分拆出來的,該公司正致力於(yu) 創建基於(yu) 激光神經元的尖峰(spiking)神經網絡。尖峰神經網絡更接近地模仿生物神經網絡的工作方式,並且像我們(men) 自己的大腦一樣,能夠使用很少的能量進行計算。 Luminous 的硬件仍處於(yu) 開發的早期階段,但結合兩(liang) 種節能方法(尖峰和光學)的承諾非常令人興(xing) 奮。
光學計算的現實挑戰
當然,仍有許多技術挑戰需要克服。一是提高模擬光學計算的精度和動態範圍,這遠不及數字電子設備所能達到的效果。這是因為(wei) 這些光學處理器受到各種噪聲源的影響,而且用於(yu) 輸入和輸出數據的數模轉換器和模數轉換器精度有限。事實上,很難想象一個(ge) 光學神經網絡的運行精度超過 8 到 10 位。雖然存在 8 位電子深度學習(xi) 硬件就是一個(ge) 很好的例子),但這個(ge) 行業(ye) 需要更高的精度,尤其是神經網絡訓練。
將光學元件集成到芯片上也存在困難。由於(yu) 這些組件的尺寸為(wei) 數十微米,因此無法像晶體(ti) 管一樣緊密地封裝,因此所需的芯片麵積會(hui) 迅速增加。麻省理工學院研究人員在 2017 年對這種方法的演示實現在一個(ge) 邊長為(wei) 1.5 毫米的芯片上,即使是最大的芯片也不大於(yu) 幾平方厘米,這限製了可以通過這種方式並行處理的矩陣大小。
圖六 這張計算機渲染圖為(wei) 作者和他的同事為(wei) 使用光執行神經網絡計算而設計的光子芯片上的圖案
光子具有將深度學習(xi) 加速幾個(ge) 數量級的潛力
光子學研究人員傾(qing) 向於(yu) 在計算機架構方麵解決(jue) 許多其他問題。但很清楚的是,至少在理論上,光子學有可能將深度學習(xi) 加速幾個(ge) 數量級。
基於(yu) 當前可用於(yu) 各種組件(光調製器、檢測器、放大器、模數轉換器)的技術,可以合理地認為(wei) 神經網絡計算的能源效率可以比當今的電子處理器高 1,000 倍。如果對新興(xing) 光學技術做出更激進的假設,這個(ge) 因素可能高達一百萬(wan) 。而且由於(yu) 電子處理器功率有限,這些能源效率的改進很可能會(hui) 轉化為(wei) 相應的速度改進。
模擬光學計算中的許多概念已有數十年曆史。有些甚至早於(yu) 矽計算機。 1970 年代展示了光學矩陣乘法,甚至是光學神經網絡的方案。但這種方法並沒有流行起來。這次會(hui) 有所不同嗎?可能,出於(yu) 三個(ge) 原因。首先,深度學習(xi) 現在真正有用,而不僅(jin) 僅(jin) 是學術上的好奇。其次,我們(men) 不能僅(jin) 僅(jin) 依靠摩爾定律來繼續改進電子產(chan) 品。最後,我們(men) 有了前幾代人沒有的新技術:集成光子學。這些因素表明,光神經網絡這次將真正到來——而且這種計算的未來可能確實是光子的。
作者:
Ryan Hamerly 是 NTT Research 的高級科學家,也是麻省理工學院量子光子學實驗室的訪問科學家。
譯者:
昕甬智測實驗室隸屬於(yu) 寧波海爾新光電科技有限公司,專(zhuan) 注於(yu) 中遠紅外激光光譜檢測技術(QCL/ICL+TDLAS),致力推動激光光譜技術的產(chan) 業(ye) 化應用,以激光之精,見世界之美。