解讀神經形態(tài)計算:從基本原理到實驗驗證
長期以來,人腦一直給研究者們提供著靈感,因為它從某種程度上以有效的生物能量支持我們的計算能力,并且以神經元作為基礎激發(fā)單位。受人腦的低功耗和快速計算特點啟發(fā)的神經形態(tài)芯片在計算界已經不是一個新鮮主題了。由于復雜算法和架構的快速發(fā)展,散熱已經成為了一個重大挑戰(zhàn)。神經形態(tài)計算或許會是超大規(guī)模機器和人工智能應用(例如自動駕駛)未來的基石。
「不知為何,人腦——我們自己的生物體——已經弄清楚了如何讓人腦在傳遞 AI 操作上比傳統(tǒng)的超級計算機快一百萬倍」神經形態(tài)是一次機會,它嘗試提出一個基于 CMOS 的架構,它能夠模仿人腦,從人腦模型中獲益,保持能效和成本效益。——Mark Seager, Intel Fellow,可擴展數據中心 HPC 生態(tài)系統(tǒng)的 CTO
神經形態(tài)芯片的最初思想可以追溯到加州理工學院的 Carver Mead 教授在 1990 年發(fā)表的一篇論文。Mead 在論文中提出,模擬芯片能夠模仿人腦神經元和突觸的活動,與模擬芯片的二進制本質不同,模擬芯片是一種輸出可以變化的芯片。模仿人腦活動的意義在于我們可以通過它們來學習。傳統(tǒng)的芯片在每一次傳輸中都會保持固定的特定電壓。正如 Mead 在 2013 年的對話中提到的一樣,當遇到在今天的機器學習任務中被使用的復雜算法和架構的時候,散熱就成了芯片行業(yè)中***的挑戰(zhàn)。
相反,神經形態(tài)芯片只需要一個低水平的能耗,因為它的類生物本質。人腦非常節(jié)能的一個原因就是,神經沖動在傳遞的過程中只會放掉一小部分的電量。只有當積累的電量超過一個設定的界限時,信號才會通過。這意味著神經形態(tài)芯片是事件驅動的,并且只有在需要的時候才會運作,這就導致了一個更好的運行環(huán)境以及更低的能耗。
幾家公司已經投資了在腦啟發(fā)計算中的研究。無線技術公司高通在 2014 年的時候展示了引人入目的基于神經形態(tài)芯片的機器人。這款機器人能夠在智能手機芯片上用修改過的軟件實現通常需要專門編程的計算機才能實現的任務。IBM 2014 年生產的 SyNAPSE 芯片也是用腦啟發(fā)計算架構構建的,它有著難以置信的低功耗,在實時運行中只有 70mW。最近,神經形態(tài)再次引起了 IBM 和英特爾這些公司的興趣。與之前 2013、2014 年那時候意欲制造市場化的產品不同,這次他們希望以研究的目的進行探索。
英特爾在 2012 年就作為***批原型之一提出過一種類似于生物神經網絡的自旋—CMOS 混合人工神經網絡(spin-CMOS Hybrid ANN)的設計樣例。在這個設計中,神經元磁體構成了觸發(fā)部位。磁隧道結(MTJ)類似于神經元的細胞體,域墻磁體(domain wall magnets,DWM)類似于突觸。通道中央區(qū)域的自旋勢能等于控制激活/非激活狀態(tài)的細胞體的電勢能。CMOS 的檢測和傳輸單元可以被比作傳輸電信號到接受神經元的突觸(如圖 1 所示)。
除了低功耗方面的優(yōu)勢,神經形態(tài)設備還比較擅長在那些除了超級計算之外的需要模式匹配的任務,例如自動駕駛和實時傳感饋送神經網絡。換句話說,就是那些需要模擬人腦思考或者「認知計算」的應用,而不是簡單的更強能力的復雜計算。正如 Mark Seager 所建議的,神經形態(tài)的發(fā)展應該聚焦于具有大量浮點向量單元和更高并行度的架構,并且能夠以相當統(tǒng)一的方式去處理高度分層記憶。更具體的,關于神經網絡,研究的重點是如何通過互聯(lián)來并行化機器學習的任務,例如英特爾開發(fā)的 OmniPath,來解決更大、更復雜的機器學習問題,從而在多節(jié)點上進行擴展。目前擴展性限制在數十個到數百個節(jié)點之間,這讓神經形態(tài)芯片的潛能受到了限制。然而,有一件事是合理的,即隨著計算神經網絡算法和模型的進步,可擴展性可以大幅增加,這會允許神經形態(tài)芯片有著更多的進步空間。
然而,我們必需承認,盡管神經形態(tài)在未來的計算方向上是很有前途的,但是它們仍然處于理論水平,并且還沒有被大量地生產。有幾種設備據說有神經形態(tài)芯片的元素,尚且存在爭議,例如 Audience 生產的噪聲抑制器,但是它們還未向目前大量的要獲得其性能評估的刺激低頭。正在進行的研究已經被證明有了克服實現神經形態(tài)芯片所遇到的困難的進展性工作,并且給神經形態(tài)計算許諾了一個美好的未來。
實驗
「這個架構能夠解決從視覺、聲音以到多場景融合的很廣泛的問題,并且有潛力通過在計算受到功率和速度限制的設備中集成類腦性能來革新計算機產業(yè)。」—Dharmendra Modha, IBM Fellow
神經形態(tài)的目標是將神經科學作為算法的靈感來從中抽象出關鍵思想來指導神經形態(tài)計算架構的未來發(fā)展方向。然而,將我們的生物結構轉換為振蕩器(oscillators)和半導體的電氣設備并不是一件容易的事情。
為了獲得神經形態(tài)芯片的優(yōu)勢,需要大量的振蕩器來進行模仿。今天的深度神經網絡早已擁有數百萬個節(jié)點,更別提朝著擁有更多節(jié)點的更復雜的神經網絡的努力正在進行。為了達到和人腦相當的能力,需要數十億個振蕩器。使用軟件來激發(fā)如此巨大的神經網絡是特別耗能的,但是用硬件來處理的話就會好很多。為了將所有的節(jié)點都布置在指尖大小的芯片上,納米級的振蕩器是必不可少的。
那么問題來了,因為納米級的振蕩器很容易受到噪聲的影響。這類振蕩器在熱擾動下會改變行為,并且它們的特性會隨著時間的變化而發(fā)生漂移。神經形態(tài)計算在對付處理電路中的噪聲方面做得不是很好,盡管它可以容忍輸入的不可靠性。以分類任務為例,當提供相似的輸入時,每次都需要相同的神經網絡分類。由于噪聲原因,只存在用納米級振蕩器實現神經形態(tài)芯片的理論方案,而不是實證實現。然而,一篇最近的文章提出了能夠克服這個困難的解決方案,并且成功地模擬了使用專用納米磁振蕩器的神經元集合的振蕩行為。
研究者已經發(fā)現,在特定的動力學條件下,使用自旋矩振蕩器可以高信噪比地同義地實現***的分類結果。如圖 2 所示,自旋振蕩器包括兩個題詞曾和一個夾在中間的正常間隔組件,和當前磁存儲器單元有著完全相同的結構。如上圖所示,由充電電流產生的磁化振蕩被轉換成了電壓振蕩。之后關于語音數字識別的實驗證明自旋矩振蕩器在神經形態(tài)任務上可以達到當前***的表現。
一個比較簡單的波形識別任務被用來研究自旋振蕩器在模式識別中的作用。每一個正弦波或者方波都被標記了 8 個離散的紅點,任務要求在紅點處區(qū)分正弦波和方波。圖 3b 表明為了創(chuàng)建空間神經網絡中藍色部分所描述的路徑,需要很多非線性神經元。如圖 3c 所示,路徑也可以根據時間來定義,例如根據每一個振蕩器幅值的非線性軌跡。每一個輸入將會觸發(fā)振蕩器幅值的特定路徑,并且,如果時間步長被設定為振蕩器松弛時間(relaxation time)的一部分,這將會生成一個瞬態(tài)的動態(tài)狀態(tài)。這意味著,與傳統(tǒng)的神經元空間分離的神經網絡相比,單個振蕩器作為在時間上相連的一組虛擬神經元。這個功能創(chuàng)建了一個關于過去事件的記憶池,并且,如果之前的輸入有所不同,這會讓振蕩器在面對相同的輸入時有著不同的響應。由于振蕩器的松弛時間有限,所以對正弦波和方波的***分離也是可能的。
在硬件上模擬神經網絡的迭代訓練也能夠補償處理過程中存在的異常。正如上面提到的一樣,在模擬硬件的情形下,失真可能在動力學中起到重要的作用。控制這些異常是很重要的,因為網絡的性能基本上要依靠對精確參數的訓練。
使用由軟件訓練的深層神經網絡轉換的 BrainScaleS 晶圓級神經元系統(tǒng)上的尖峰網絡來證明在線訓練所提供的補償。然后在每個訓練階段進行一次循環(huán)訓練,然后記錄活動。網絡活動首先記錄在硬件中,并使用反向傳播算法進行處理,以更新參數。研究人員發(fā)現,參數更新在訓練步驟中不一定要精確,而只需要大致遵循正確的漸變趨勢。因此,可以簡化該模型中更新的計算。盡管模擬基板的固有變化,這種方法允許快速學習,只需幾十次迭代即可達到接近理想軟件仿真原型的精度。
神經形態(tài)硬件實現通常會在系統(tǒng)精度上面臨另外一個主要的挑戰(zhàn)。突觸權重的有限精度會降低系統(tǒng)精度,這阻礙了神經形態(tài)系統(tǒng)的廣泛應用。
納米級的振蕩器應該獲得連續(xù)的模擬電阻,但是在實際設備中僅僅能夠實現幾個穩(wěn)定的電阻狀態(tài)。一項最近的工作提出了三種校正方法,以學習一級精度(one-level precision)的突觸:
- 分布感知量化(DQ/distribution-aware quantization)將不同層中的權重離散到不同的數值。這個方法是基于對網絡不同層的權重的觀測提出的。
- 量化正則化(QR/quantization regularization)直接在訓練過程中學習網絡的離散權重。正則化可以以一個固定的梯度來減小一個權重和離它最近的量化水平之間的距離。
- 動態(tài)的偏置調節(jié)(BT/bias tuning)可以學習***的偏置補償以最小化對量化的影響。這還可以在基于神經形態(tài)系統(tǒng)中的憶阻器中的減輕突觸變化的影響。
這三個方法讓模型實現了和當前先進水平相當的圖像分類精度。使用多層感知機和卷積神經網絡分別在 MNIST 數據集和 CIFAR-10 數據集上進行了實驗。
表 2 中的結果表明,與基準準確率相比,當僅僅使用三種精度改善方法中的一種時,準確度會有很大的提升(分別是 1.52%,1.26% 和 0.4%)。當兩種或者三種方法被同時使用時,準確率還會更高,接近于理想值。在使用卷積神經網絡的時候會有同樣的發(fā)現。一些組合,例如 QR+BT,與僅僅使用 QR 相比,準確度并沒有提升(如表 2 所示)。這很可能是因為 MNIST 是一個相對簡單的數據庫,而且這三種方法對準確度的改善已經快速地達到了飽和水平。在多層感知機和卷積神經網絡中,準確度下降被控制在了 0.19%(MNIST 數據集)和 5.53%(CIFRAR-10 數據集),與未使用這三種方法的系統(tǒng)相比,準確度的下降明顯要低很多。
結論
隨著機器學習算法和模型的進步,新穎的架構將會變得迫切需要。由于低功耗和高度并行化的快速計算速度,神經形態(tài)設備在人工智能和認知計算的應用中有著巨大的潛能。盡管當前的神經形態(tài)芯片仍然處于理論水平,正在朝著實際應用和市場化產品進行,研究者已經展示了一些有前景的研究。這是未來的一個方向,一個能夠大大地革新計算世界的有潛力的方向。
「我一直在思考人們如何創(chuàng)建大規(guī)模并行的系統(tǒng),我們唯一擁有的例子就是動物的大腦。我們構建了很多系統(tǒng)。我們制造了視網膜、耳蝸——很多東西都奏效。但是創(chuàng)建大規(guī)模并行系統(tǒng)是比我曾經的思考更大的一個任務。」—Marver Mead
參考資料:
- https://web.stanford.edu/group/brainsinsilicon/documents/MeadNeuroMorphElectro.pdf(斯坦福神經形態(tài)調子系統(tǒng)論文)
- https://www.nextplatform.com/2017/02/11/intel-gets-serious-neuromorphic-cognitive-computing-future/(Intel 關于神經形態(tài)和認知計算的下一代平臺)
- http://news.mit.edu/2011/brain-chip-1115(MIT 模仿人腦的芯片)
- https://www.youtube.com/watch?v=cBJnVW42qL8 (Matt Grob: Brain-Inspired Computing, Presented by Qualcomm)(高通腦啟發(fā)計算)
- https://www.youtube.com/watch?v=_YQTp3jRMIs(神經形態(tài)--從機器到生活,TED 演講)
- https://arxiv.org/abs/1206.3227(使用自旋設備的神經形態(tài)硬件)
- https://arxiv.org/abs/1703.01909(在 BrainScaleS Wafer-Scale 系統(tǒng)上訓練深度網絡)
- https://arxiv.org/abs/1701.01791(神經形態(tài)系統(tǒng)上的分類任務)
- https://arxiv.org/abs/1701.07715(納米級自旋振蕩器上的神經形態(tài)計算)
- https://www.technologyreview.com/s/526506/neuromorphic-chips/(神經形態(tài)芯片)
- https://science.energy.gov/~/media/bes/pdf/reports/2016/NCFMtSA_rpt.pdf(神經形態(tài)計算--從材料到系統(tǒng)結構)