天天看點

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

神經形态晶片——矽腦

「不知為何,人腦——我們自己的生物體——已經弄清楚了如何讓人腦在傳遞 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,來解決更大、更複雜的機器學習問題,進而在多節點上進行擴充。目前擴充性限制在數十個到數百個節點之間,這讓神經形态晶片的潛能受到了限制。然而,有一件事是合理的,即随着計算神經網絡算法和模型的進步,可擴充性可以大幅增加,這會允許神經形态晶片有着更多的進步空間。

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

然而,我們必需承認,盡管神經形态在未來的計算方向上是很有前途的,但是它們仍然處于理論水準,并且還沒有被大量地生産。有幾種裝置據說有神經形态晶片的元素,尚且存在争議,例如 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 資料集),與未使用這三種方法的系統相比,準确度的下降明顯要低很多。

結論

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