解讀神經形態計算:從基本原理到實驗驗證

機器之心發表於2017-06-16
長期以來,人腦一直給研究者們提供著靈感,因為它從某種程度上以有效的生物能量支援我們的計算能力,並且以神經元作為基礎激發單位。受人腦的低功耗和快速計算特點啟發的神經形態晶片在計算界已經不是一個新鮮主題了。由於複雜演算法和架構的快速發展,散熱已經成為了一個重大挑戰。神經形態計算或許會是超大規模機器和人工智慧應用(例如自動駕駛)未來的基石。機器之心在這篇文章中對神經形態計算進行了解讀介紹,本文的英語原文首發於機器之心英文官網:地址:https://syncedreview.com/2017/04/08/the-future-of-computing-neuromorphic/

解讀神經形態計算:從基本原理到實驗驗證

神經形態晶片——矽腦

「不知為何,人腦——我們自己的生物體——已經弄清楚瞭如何讓人腦在傳遞 AI 操作上比傳統的超級計算機快一百萬倍」神經形態是一次機會,它嘗試提出一個基於 CMOS 的架構,它能夠模仿人腦,從人腦模型中獲益,保持能效和成本效益。——Mark Seager, Intel Fellow,可擴充套件資料中心 HPC 生態系統的 CTO


神經形態晶片的最初思想可以追溯到加州理工學院的 Carver Mead 教授在 1990 年發表的一篇論文。Mead 在論文中提出,模擬晶片能夠模仿人腦神經元和突觸的活動,與模擬晶片的二進位制本質不同,模擬晶片是一種輸出可以變化的晶片。模仿人腦活動的意義在於我們可以透過它們來學習。傳統的晶片在每一次傳輸中都會保持固定的特定電壓。正如 Mead 在 2013 年的對話中提到的一樣,當遇到在今天的機器學習任務中被使用的複雜演算法和架構的時候,散熱就成了晶片行業中最大的挑戰。


相反,神經形態晶片只需要一個低水平的能耗,因為它的類生物本質。人腦非常節能的一個原因就是,神經衝動在傳遞的過程中只會放掉一小部分的電量。只有當積累的電量超過一個設定的界限時,訊號才會透過。這意味著神經形態晶片是事件驅動的,並且只有在需要的時候才會運作,這就導致了一個更好的執行環境以及更低的能耗。


解讀神經形態計算:從基本原理到實驗驗證

圖片來自 Matt 的「Brain-Inspired-Computing,腦啟發計算」,由高通提供


幾家公司已經投資了在腦啟發計算中的研究。無線技術公司高通在 2014 年的時候展示了引人入目的基於神經形態晶片的機器人。這款機器人能夠在智慧手機晶片上用修改過的軟體實現通常需要專門程式設計的計算機才能實現的任務。IBM 2014 年生產的 SyNAPSE 晶片也是用腦啟發計算架構構建的,它有著難以置信的低功耗,在實時執行中只有 70mW。最近,神經形態再次引起了 IBM 和英特爾這些公司的興趣。與之前 2013、2014 年那時候意欲製造市場化的產品不同,這次他們希望以研究的目的進行探索。


英特爾在 2012 年就作為第一批原型之一提出過一種類似於生物神經網路的自旋—CMOS 混合人工神經網路(spin-CMOS Hybrid ANN)的設計樣例。在這個設計中,神經元磁體構成了觸發部位。磁隧道結(MTJ)類似於神經元的細胞體,域牆磁體(domain wall magnets,DWM)類似於突觸。通道中央區域的自旋勢能等於控制啟用/非啟用狀態的細胞體的電勢能。CMOS 的檢測和傳輸單元可以被比作傳輸電訊號到接受神經元的突觸(如圖 1 所示)。


解讀神經形態計算:從基本原理到實驗驗證

圖 1:模擬生物神經網路的自旋—CMOS 示意圖


除了低功耗方面的優勢,神經形態裝置還比較擅長在那些除了超級計算之外的需要模式匹配的任務,例如自動駕駛和實時感測饋送神經網路。換句話說,就是那些需要模擬人腦思考或者「認知計算」的應用,而不是簡單的更強能力的複雜計算。正如 Mark Seager 所建議的,神經形態的發展應該聚焦於具有大量浮點向量單元和更高並行度的架構,並且能夠以相當統一的方式去處理高度分層記憶。更具體的,關於神經網路,研究的重點是如何透過互聯來並行化機器學習的任務,例如英特爾開發的 OmniPath,來解決更大、更復雜的機器學習問題,從而在多節點上進行擴充套件。目前擴充套件性限制在數十個到數百個節點之間,這讓神經形態晶片的潛能受到了限制。然而,有一件事是合理的,即隨著計算神經網路演算法和模型的進步,可擴充套件性可以大幅增加,這會允許神經形態晶片有著更多的進步空間。


解讀神經形態計算:從基本原理到實驗驗證

圖片來自 Matt 的「Brain-Inspired-Computing,腦啟發計算」,由高通提供


然而,我們必需承認,儘管神經形態在未來的計算方向上是很有前途的,但是它們仍然處於理論水平,並且還沒有被大量地生產。有幾種裝置據說有神經形態晶片的元素,尚且存在爭議,例如 Audience 生產的噪聲抑制器,但是它們還未向目前大量的要獲得其效能評估的刺激低頭。正在進行的研究已經被證明有了克服實現神經形態晶片所遇到的困難的進展性工作,並且給神經形態計算許諾了一個美好的未來。

實驗

「這個架構能夠解決從視覺、聲音以到多場景融合的很廣泛的問題,並且有潛力透過在計算受到功率和速度限制的裝置中整合類腦效能來革新計算機產業。」—Dharmendra Modha, IBM Fellow


神經形態的目標是將神經科學作為演算法的靈感來從中抽象出關鍵思想來指導神經形態計算架構的未來發展方向。然而,將我們的生物結構轉換為振盪器(oscillators)和半導體的電氣裝置並不是一件容易的事情。


為了獲得神經形態晶片的優勢,需要大量的振盪器來進行模仿。今天的深度神經網路早已擁有數百萬個節點,更別提朝著擁有更多節點的更復雜的神經網路的努力正在進行。為了達到和人腦相當的能力,需要數十億個振盪器。使用軟體來激發如此巨大的神經網路是特別耗能的,但是用硬體來處理的話就會好很多。為了將所有的節點都佈置在指尖大小的晶片上,奈米級的振盪器是必不可少的。


那麼問題來了,因為奈米級的振盪器很容易受到噪聲的影響。這類振盪器在熱擾動下會改變行為,並且它們的特性會隨著時間的變化而發生漂移。神經形態計算在對付處理電路中的噪聲方面做得不是很好,儘管它可以容忍輸入的不可靠性。以分類任務為例,當提供相似的輸入時,每次都需要相同的神經網路分類。由於噪聲原因,只存在用奈米級振盪器實現神經形態晶片的理論方案,而不是實證實現。然而,一篇最近的文章提出了能夠克服這個困難的解決方案,並且成功地模擬了使用專用奈米磁振盪器的神經元集合的振盪行為。


解讀神經形態計算:從基本原理到實驗驗證

圖 2 左邊:自旋矩奈米振盪器示意圖;中間:振盪器的測量電壓隨著時間的變化;右邊:電壓幅值隨著電流的變化


研究者已經發現,在特定的動力學條件下,使用自旋矩振盪器可以高訊雜比地同義地實現完美的分類結果。如圖 2 所示,自旋振盪器包括兩個題詞曾和一個夾在中間的正常間隔元件,和當前磁儲存器單元有著完全相同的結構。如上圖所示,由充電電流產生的磁化振盪被轉換成了電壓振盪。之後關於語音數字識別的實驗證明自旋矩振盪器在神經形態任務上可以達到當前最佳的表現。


一個比較簡單的波形識別任務被用來研究自旋振盪器在模式識別中的作用。每一個正弦波或者方波都被標記了 8 個離散的紅點,任務要求在紅點處區分正弦波和方波。圖 3b 表明為了建立空間神經網路中藍色部分所描述的路徑,需要很多非線性神經元。如圖 3c 所示,路徑也可以根據時間來定義,例如根據每一個振盪器幅值的非線性軌跡。每一個輸入將會觸發振盪器幅值的特定路徑,並且,如果時間步長被設定為振盪器鬆弛時間(relaxation time)的一部分,這將會生成一個瞬態的動態狀態。這意味著,與傳統的神經元空間分離的神經網路相比,單個振盪器作為在時間上相連的一組虛擬神經元。這個功能建立了一個關於過去事件的記憶池,並且,如果之前的輸入有所不同,這會讓振盪器在面對相同的輸入時有著不同的響應。由於振盪器的鬆弛時間有限,所以對正弦波和方波的完美分離也是可能的。


解讀神經形態計算:從基本原理到實驗驗證

圖 3. 正弦波和方波分類


在硬體上模擬神經網路的迭代訓練也能夠補償處理過程中存在的異常。正如上面提到的一樣,在模擬硬體的情形下,失真可能在動力學中起到重要的作用。控制這些異常是很重要的,因為網路的效能基本上要依靠對精確引數的訓練。


使用由軟體訓練的深層神經網路轉換的 BrainScaleS 晶圓級神經元系統上的尖峰網路來證明線上訓練所提供的補償。然後在每個訓練階段進行一次迴圈訓練,然後記錄活動。網路活動首先記錄在硬體中,並使用反向傳播演算法進行處理,以更新引數。研究人員發現,引數更新在訓練步驟中不一定要精確,而只需要大致遵循正確的漸變趨勢。因此,可以簡化該模型中更新的計算。儘管模擬基板的固有變化,這種方法允許快速學習,只需幾十次迭代即可達到接近理想軟體模擬原型的精度。

解讀神經形態計算:從基本原理到實驗驗證

圖 4 左:軟體模型每一批的分類精度隨訓練迭代步數的變化;右:硬體實施的時候 130 次執行過程中精度的變化


神經形態硬體實現通常會在系統精度上面臨另外一個主要的挑戰。突觸權重的有限精度會降低系統精度,這阻礙了神經形態系統的廣泛應用。


奈米級的振盪器應該獲得連續的模擬電阻,但是在實際裝置中僅僅能夠實現幾個穩定的電阻狀態。一項最近的工作提出了三種校正方法,以學習一級精度(one-level precision)的突觸:

  1. 分佈感知量化(DQ/distribution-aware quantization)將不同層中的權重離散到不同的數值。這個方法是基於對網路不同層的權重的觀測提出的。
  2. 量化正則化(QR/quantization regularization)直接在訓練過程中學習網路的離散權重。正則化可以以一個固定的梯度來減小一個權重和離它最近的量化水平之間的距離。
  3. 動態的偏置調節(BT/bias tuning)可以學習最佳的偏置補償以最小化對量化的影響。這還可以在基於神經形態系統中的憶阻器中的減輕突觸變化的影響。

這三個方法讓模型實現了和當前先進水平相當的影像分類精度。使用多層感知機和卷積神經網路分別在 MNIST 資料集和 CIFAR-10 資料集上進行了實驗。

解讀神經形態計算:從基本原理到實驗驗證

解讀神經形態計算:從基本原理到實驗驗證

表 2 中的結果表明,與基準準確率相比,當僅僅使用三種精度改善方法中的一種時,準確度會有很大的提升(分別是 1.52%,1.26% 和 0.4%)。當兩種或者三種方法被同時使用時,準確率還會更高,接近於理想值。在使用卷積神經網路的時候會有同樣的發現。一些組合,例如 QR+BT,與僅僅使用 QR 相比,準確度並沒有提升(如表 2 所示)。這很可能是因為 MNIST 是一個相對簡單的資料庫,而且這三種方法對準確度的改善已經快速地達到了飽和水平。在多層感知機和卷積神經網路中,準確度下降被控制在了 0.19%(MNIST 資料集)和 5.53%(CIFRAR-10 資料集),與未使用這三種方法的系統相比,準確度的下降明顯要低很多。

結論

隨著機器學習演算法和模型的進步,新穎的架構將會變得迫切需要。由於低功耗和高度並行化的快速計算速度,神經形態裝置在人工智慧和認知計算的應用中有著巨大的潛能。儘管當前的神經形態晶片仍然處於理論水平,正在朝著實際應用和市場化產品進行,研究者已經展示了一些有前景的研究。這是未來的一個方向,一個能夠大大地革新計算世界的有潛力的方向。


「我一直在思考人們如何建立大規模並行的系統,我們唯一擁有的例子就是動物的大腦。我們構建了很多系統。我們製造了視網膜、耳蝸——很多東西都奏效。但是建立大規模並行系統是比我曾經的思考更大的一個任務。」—Marver Mead

解讀神經形態計算:從基本原理到實驗驗證


參考資料:

相關文章