什麼是神經型態運算

模仿大腦神經元與突觸的運作,以稱為脈衝(spike)的訊號交換資訊,只在有變化時才計算的運算方式。將記憶體與運算放在一起,以低功耗為目標。

日文名稱: ニューロモーフィックコンピューティング

「神經型態運算」出現在1領域的2道練習題中(AI硬體與軟體堆疊等)。

這個名詞所屬的領域: AI硬體與軟體堆疊

向大腦借用的三個概念

神經型態運算是以大腦神經迴路的機制為範本的運算方式。第一,資訊不是以連續數值表示,而是以稱為脈衝的短訊號之有無與時機表示。第二,採事件驅動,只在輸入有變化時電路才動作,沒有事情發生的部分幾乎不耗電。第三,把儲存突觸權重的位置與運算的位置放在一起,減少記憶體與運算單元之間的資料搬移。常見架構是排列大量各自負責許多神經元的核心,核心之間以網路把脈衝當作小封包互相傳送。

脈衝神經網路

在這類硬體上執行的模型稱為脈衝神經網路(SNN)。每個神經元把輸入的脈衝累積為膜電位,超過臨界值時自己也發出脈衝並重置。由於活動稀疏,又能自然處理時間資訊,被認為適合處理感測器訊號,以及在電力有限的終端進行推論。另一方面,脈衝的產生是不連續、不可微分的動作,無法直接套用一般神經網路的反向傳播法,因此正在研究以平滑函數近似梯度的方法,以及轉換已訓練模型的方法。

代表性的晶片

IBM在2014年發表擁有100萬個神經元與2.56億個突觸的數位晶片TrueNorth,報告的功耗約70 mW。英特爾在2017年發表研究用晶片Loihi,2021年發表第二代Loihi 2,並於2024年發表以1152顆Loihi 2構成、約有11.5億個神經元的系統Hala Point。這些都是數位電路,但也有研究以電阻式記憶體等類比元件保存突觸權重、在記憶體內進行乘積累加運算,與記憶體內運算關係密切。

與GPU的比較及課題

像訓練大型語言模型那樣大量進行密集矩陣運算的工作,截至2020年代中期仍以GPU等傳統加速器為主流。神經型態運算較容易發揮優勢的,是輸入稀疏且隨時間變化的處理,以及電力受到嚴格限制的用途。SNN的訓練方法與精度、開發軟體的完備,以及與傳統方式公平比較的基準測試都是課題,在哪些用途會勝出仍在研究中。

練習神經型態運算的題目

神經型態運算的硬體能以低功耗為目標的主要原因,下列何者正確?

  1. A所有神經元都以高時脈頻率持續同時運作
  2. B所有計算都以64位元浮點數進行
  3. C採事件驅動,只有收到脈衝的部分才動作,並把保存權重的記憶體放在運算旁邊,減少資料搬移
查看答案與解析

正確答案:C. 採事件驅動,只有收到脈衝的部分才動作,並把保存權重的記憶體放在運算旁邊,減少資料搬移

神經型態運算以大腦神經迴路為範本,以稱為脈衝的訊號傳遞資訊。只有在輸入變化、收到脈衝的部分才動作,因此在稀疏的工作中,閒置電路幾乎不耗電。突觸權重保存在各核心內的記憶體中,減少與運算單元之間的長距離資料搬移。這些特點是它與同步進行密集矩陣運算之GPU的差異。

在神經型態運算中執行的脈衝神經網路(SNN),難以直接用一般神經網路的反向傳播法訓練,其主要原因下列何者正確?

  1. ASNN沒有權重
  2. B脈衝的產生取決於是否超過臨界值,是不連續的動作,無法微分
  3. CSNN只能推論,沒有訓練的概念
查看答案與解析

正確答案:B. 脈衝的產生取決於是否超過臨界值,是不連續的動作,無法微分

SNN的每個神經元把輸入的脈衝累積為膜電位,超過臨界值時發出脈衝。這個輸出在0與1之間不連續地切換,因此反向傳播所需的梯度幾乎處處為0或無法定義。所以研究人員在訓練時以平滑函數近似脈衝函數的梯度,或先訓練一般網路再轉換成SNN。建立訓練方法是神經型態運算的課題之一。

常見問題

神經型態運算與GPU有什麼不同?

GPU配合時脈讓大量運算單元同步動作,高速進行密集矩陣運算。神經型態運算採事件驅動,只有收到脈衝的部分才動作,並把記憶體放在運算旁邊,以低功耗處理稀疏的工作。

什麼是脈衝神經網路(SNN)?

神經元以稱為脈衝的訊號傳遞資訊的神經網路。每個神經元把輸入累積為膜電位,超過臨界值就發出脈衝。它是在神經型態硬體上執行的模型。

神經型態運算有哪些課題?

脈衝不可微分使SNN難以訓練,此外還有精度、軟體完備度,以及與傳統方式公平比較的方法等。在哪些用途會勝出仍在研究中。

解析中的「神經型態運算」

出現「神經型態運算」的題目(2題)

  1. 神經型態運算的硬體能以低功耗為目標的主要原因,下列何者正確?
  2. 在神經型態運算中執行的脈衝神經網路(SNN),難以直接用一般神經網路的反向傳播法訓練,其主要原因下列何者正確?

相關名詞

GPU 反向傳播(Backpropagation) 全歸約(All-reduce) 批次大小(Batch size) 注意力機制(Attention mechanism) 知識蒸餾(Knowledge distillation) 計算圖(Computational graph) 訓練後量化(Post-training quantization) 剪枝(Pruning) 張量平行(Tensor parallelism)

前往名詞解釋列表