近年來,神經(jīng)形態(tài)計算(Neuromorphic Computing)作為一種模仿大腦計算機制的技術(shù),受到了廣泛關(guān)注。這種計算方法通過模擬神經(jīng)元的動力學(xué)和突觸傳輸過程,旨在實現(xiàn)更高效的計算方式,尤其是在能耗方面遠(yuǎn)超傳統(tǒng)的馮·諾伊曼架構(gòu)。神經(jīng)形態(tài)計算通常依賴于硬件和軟件的緊密耦合,但其多樣性和復(fù)雜性使得跨平臺復(fù)現(xiàn)模型的研究變得困難。
目前,神經(jīng)動力學(xué)的數(shù)學(xué)基礎(chǔ)已經(jīng)非常完備,但由于神經(jīng)形態(tài)硬件和軟件的多樣性,各種實現(xiàn)方式難以直接遷移或復(fù)現(xiàn)。本論文提出了一種稱為NIR的抽象層,用于在數(shù)字神經(jīng)形態(tài)系統(tǒng)中執(zhí)行計算任務(wù)。NIR定義了一套通用的計算模型原語,這些原語能夠結(jié)合連續(xù)時間的動力學(xué)和離散事件系統(tǒng)。通過這種方式,NIR能夠在多個不同的硬件和軟件平臺之間實現(xiàn)互操作性,同時解決了跨平臺研究中的一致性問題。
具體來說,NIR通過將計算任務(wù)抽象為圖結(jié)構(gòu),其中每個節(jié)點代表一種計算原語。這些計算原語被設(shè)計為通用的動力系統(tǒng),可以在多個硬件和模擬器上運行。本文通過在七個不同的神經(jīng)形態(tài)模擬器和四個不同的硬件平臺上復(fù)現(xiàn)三種不同的尖峰神經(jīng)網(wǎng)絡(luò)模型,證明了NIR的廣泛適用性。
研究方法
本文提出的神經(jīng)形態(tài)中間表示(NIR)提供了一種通用的、可組合的計算模型,能夠在多個神經(jīng)形態(tài)硬件和軟件平臺之間實現(xiàn)無縫互操作。NIR的核心思想是通過圖結(jié)構(gòu)來表示計算任務(wù),每個圖的節(jié)點代表一個計算原語,這些原語由一組混合系統(tǒng)定義,結(jié)合了連續(xù)時間的動力學(xué)系統(tǒng)和離散事件。NIR的設(shè)計旨在解決現(xiàn)有神經(jīng)形態(tài)平臺之間缺乏互操作性的問題,特別是在硬件和軟件的開發(fā)上經(jīng)常出現(xiàn)的耦合現(xiàn)象。
圖1 | NIR的概述。a NIR允許特定模型的連續(xù)時間表示,然后可以在連續(xù)時間硬件或模擬器上執(zhí)行,或者離散化后用于離散時間硬件或模擬器。b 離散和連續(xù)時間硬件和模擬器的分類。展示了一些代表性的硬件系統(tǒng)。模擬連續(xù)時間:BrainDrop, DYNAP-SE,以及新興技術(shù)。這些系統(tǒng)被標(biāo)灰,因為本文不涉及。模擬離散時間:NeuRRAM97, UMich RRAM-IMC98。數(shù)字連續(xù)時間:Akida, SpiNNaker 1/2, Speck。注意我們在這個類別中包括了具有異步路由的芯片。數(shù)字離散時間:通用基于FPGA的SNN加速器,ReckOn, Xylo。
研究方法的具體實現(xiàn)可以分為以下幾個步驟:
1. NIR原語的設(shè)計與定義
NIR的核心是其計算原語。計算原語是通過定義一組連續(xù)時間輸入信號和輸出信號的變換來描述計算過程。這些原語可以表示常見的神經(jīng)形態(tài)計算組件,如泄漏積分器、線性映射、卷積運算以及尖峰閾值函數(shù)等。在NIR中,這些原語被建模為混合系統(tǒng),可以通過微分方程來描述它們在時間上的演化。
此外,NIR還支持組合更復(fù)雜的高階原語。例如,泄漏積分與發(fā)火(LIF)神經(jīng)元被定義為由一個泄漏積分器和尖峰函數(shù)組合而成,這種組合可以描述神經(jīng)元的行為。
圖2 | 原語的組合及其與軟件和硬件系統(tǒng)的映射。a-d展示了四種NIR原語,其中原語的名稱在頂部突出顯示,實現(xiàn)的計算在白色框中說明,與NIR圖一起存儲的參數(shù)在底部突出顯示。a展示了一個有狀態(tài)原語,而(b)和(c)展示了無狀態(tài)原語,(d)展示了一個高階原語。e-f說明了中間表示(IR)的概念,包括7個軟件(SW)和4個硬件(HW)后端。此外,相較于需要30個不同的編譯器來覆蓋所有m×n情況(e),實際只需要m+n個接口在每個硬件和軟件平臺與NIR之間(f)。
2. 計算圖的構(gòu)建
在NIR中,所有計算都被表示為計算圖。這些圖由計算節(jié)點(即原語)和連接節(jié)點的邊構(gòu)成,每條邊表示節(jié)點之間的信號傳輸。計算節(jié)點代表神經(jīng)網(wǎng)絡(luò)中的基本運算單元,如線性變換、卷積運算或神經(jīng)元模型;而圖中的邊則代表從一個節(jié)點的輸出端口到另一個節(jié)點的輸入端口的有向連接。
每個計算節(jié)點可以包含多個輸入端口和輸出端口,通過暴露這些端口,原語可以接收多個輸入信號并發(fā)送多個輸出信號。例如,一個神經(jīng)元可能會接收一個模擬的突觸電流輸入,同時還接收另一個作為神經(jīng)調(diào)節(jié)信號的輸入。
3. 平臺無關(guān)的圖轉(zhuǎn)換與實現(xiàn)
NIR的一個主要特點是,它的圖結(jié)構(gòu)與底層硬件平臺無關(guān)。這意味著NIR圖可以在多個平臺上部署,而不必依賴特定的硬件實現(xiàn)。為了證明這一點,作者設(shè)計了幾個實驗,將相同的NIR圖部署到七個神經(jīng)形態(tài)模擬器和四個硬件平臺上,包括英特爾的Loihi 2、SynSense Speck、SpiNNaker 2以及SynSense Xylo。這些平臺各自具有不同的硬件架構(gòu)和計算能力,但通過NIR的抽象層,它們能夠執(zhí)行相同的計算任務(wù)。
4. 實驗設(shè)置
在實驗部分,作者選擇了三種代表性的神經(jīng)網(wǎng)絡(luò)模型,分別是單個泄漏積分與發(fā)火(LIF)神經(jīng)元、尖峰卷積神經(jīng)網(wǎng)絡(luò)(SCNN)和尖峰遞歸神經(jīng)網(wǎng)絡(luò)(SRNN)。這些任務(wù)代表了神經(jīng)形態(tài)計算中常見的任務(wù)類型,涵蓋了從簡單的神經(jīng)元動力學(xué)到復(fù)雜的時序關(guān)系建模。
1. LIF神經(jīng)元模型實驗:該實驗的目的是測試在不同的硬件平臺和模擬器上執(zhí)行相同LIF神經(jīng)元模型的結(jié)果是否一致。作者在所有平臺上輸入相同的尖峰序列,并記錄每個平臺的電壓變化軌跡和輸出尖峰。
2. 尖峰卷積神經(jīng)網(wǎng)絡(luò)(SCNN)實驗:該實驗使用Neuromorphic MNIST數(shù)據(jù)集訓(xùn)練了一個九層的尖峰卷積網(wǎng)絡(luò),網(wǎng)絡(luò)的架構(gòu)包括二維卷積、求和池化以及尖峰神經(jīng)元模型。作者將訓(xùn)練好的網(wǎng)絡(luò)通過NIR導(dǎo)出,并在不同平臺上復(fù)現(xiàn),比較它們在隱藏層的活動和測試集上的準(zhǔn)確率。
3. 尖峰遞歸神經(jīng)網(wǎng)絡(luò)(SRNN)實驗:此實驗使用盲文字符識別任務(wù)訓(xùn)練了一個遞歸神經(jīng)網(wǎng)絡(luò)。該網(wǎng)絡(luò)包含一個隱藏層,使用基于電流的LIF神經(jīng)元。作者在snnTorch中使用時間反向傳播和代理梯度進(jìn)行訓(xùn)練,然后將網(wǎng)絡(luò)導(dǎo)出為NIR模型,并在其他平臺上進(jìn)行評估。
圖3 | 實驗中使用的計算圖和樣本數(shù)據(jù)。a 一個單個的泄漏積分-發(fā)射神經(jīng)元模型(LIF),(b) 一個使用基于電流的泄漏積分-發(fā)射(CuBa-LIF)在尖峰遞歸神經(jīng)網(wǎng)絡(luò)(SRNN)中的盲文分類模型,以及 (c) 一個尖峰卷積神經(jīng)網(wǎng)絡(luò)(SCNN)。d、e 分別顯示了N-MNIST和盲文數(shù)據(jù)集的樣本數(shù)據(jù)。N-MNIST活動是在300個時間步上平均的。
研究結(jié)果分析
在實驗結(jié)果分析部分,作者展示了不同平臺上執(zhí)行相同任務(wù)的表現(xiàn),并通過多個指標(biāo)對比了NIR的跨平臺表現(xiàn)。
1. LIF神經(jīng)元模型的結(jié)果
LIF神經(jīng)元任務(wù)是一個簡單的任務(wù),旨在評估不同平臺上計算的視覺相似性。通過對相同輸入尖峰序列的操作,作者比較了各個平臺的電壓軌跡和輸出尖峰。在所有平臺上,電壓軌跡和尖峰時間基本一致,表明NIR能夠有效地跨越不同平臺,實現(xiàn)一致的計算表現(xiàn)。然而,也存在一些平臺特定的差異。例如,Rockpool和Sinabs在積分方案上有所不同,它們在檢查閾值交叉時,會先對輸入信號積分再更新泄漏項,而大多數(shù)其他平臺則會立即更新泄漏項。這樣的差異導(dǎo)致了這些平臺上的神經(jīng)元更早地接近觸發(fā)閾值。
此外,作者還發(fā)現(xiàn),Lava和Loihi 2平臺的尖峰時間普遍延遲了一個時間步,這是由于它們在添加輸入之前根據(jù)膜電位判斷神經(jīng)元是否觸發(fā),而其他平臺是在膜電位更新之后進(jìn)行判斷。這種系統(tǒng)性差異表明,在信息通過尖峰之間的時間進(jìn)行編碼時,平臺的不同實現(xiàn)可能會對模型性能產(chǎn)生影響。
2. SCNN實驗的結(jié)果
在尖峰卷積神經(jīng)網(wǎng)絡(luò)(SCNN)實驗中,作者研究了在不同平臺上訓(xùn)練和測試SCNN的表現(xiàn)。通過使用Neuromorphic MNIST數(shù)據(jù)集訓(xùn)練網(wǎng)絡(luò),作者將其在各個平臺上的表現(xiàn)進(jìn)行了對比。在保留的測試集上,所有平臺的準(zhǔn)確率接近,平均測試準(zhǔn)確率為97.7%,標(biāo)準(zhǔn)差為0.9%。這些結(jié)果表明,NIR能夠作為基于速率的尖峰卷積網(wǎng)絡(luò)的中間表示,在所有測試平臺上保持任務(wù)的最終性能。
同時,作者進(jìn)一步分析了SCNN隱藏層的活動,使用時間平均活動的余弦相似度(cosine similarity)作為比較指標(biāo)。余弦相似度的結(jié)果表明,大多數(shù)平臺的動態(tài)表現(xiàn)幾乎相同,而Rockpool、Sinabs、snnTorch和Speck由于它們的離散化選擇表現(xiàn)出了明顯的差異。盡管如此,由于測試集上的準(zhǔn)確率相對接近,說明該網(wǎng)絡(luò)的速率編碼和前饋結(jié)構(gòu)對于這些不匹配具有一定的魯棒性。
3. SRNN實驗的結(jié)果
在尖峰遞歸神經(jīng)網(wǎng)絡(luò)(SRNN)的實驗中,作者觀察到不同平臺之間的表現(xiàn)差異更加明顯。該網(wǎng)絡(luò)在盲文字符識別任務(wù)中訓(xùn)練,經(jīng)過訓(xùn)練后導(dǎo)出為NIR模型,并在多個平臺上執(zhí)行。然而,與LIF神經(jīng)元和SCNN相比,SRNN在不同平臺上的任務(wù)完成性能顯示出顯著差異。作者推測,這種差異可能是由于SRNN中的循環(huán)連接加劇了不同平臺在動力學(xué)上的細(xì)微差異,尤其是在尖峰觸發(fā)和膜電位復(fù)位機制上。這表明,遞歸網(wǎng)絡(luò)的復(fù)雜動態(tài)可能會放大平臺之間的實現(xiàn)差異,從而導(dǎo)致最終任務(wù)表現(xiàn)的顯著差異。
例如,某些平臺上的循環(huán)神經(jīng)元模型與訓(xùn)練平臺存在細(xì)微差異,這些差異可能會影響SRNN的整體性能。作者通過測量循環(huán)層的尖峰活動和輸出準(zhǔn)確率,進(jìn)一步量化了這些差異,結(jié)果表明SRNN模型對平臺的具體實現(xiàn)細(xì)節(jié)更為敏感。
4. 平臺之間的錯配分析
在討論平臺之間的錯配時,作者總結(jié)了導(dǎo)致不同平臺表現(xiàn)差異的幾個主要原因:
神經(jīng)元模型的實現(xiàn):不同平臺的神經(jīng)元模型在實現(xiàn)上存在差異,即使是對于看似簡單的LIF神經(jīng)元,也可能由于尖峰和復(fù)位時間的不同或離散化選擇的差異導(dǎo)致動力學(xué)變化。
量化誤差:許多神經(jīng)形態(tài)芯片為了降低內(nèi)存需求和計算功耗,使用了量化技術(shù)。量化帶來的舍入誤差會導(dǎo)致神經(jīng)元活動的改變,進(jìn)而影響網(wǎng)絡(luò)的整體性能。本文僅使用了訓(xùn)練后的量化技術(shù),并未深入研究量化感知訓(xùn)練(QAT)在減少錯配方面的效果。
確定性差異:雖然大多數(shù)仿真框架在計算上是確定的,但異步硬件(如Speck和SpiNNaker2)并不完全是確定性的,這種可變性可能導(dǎo)致不同平臺之間的活動差異。
圖4 | 實驗結(jié)果。a 單個泄漏積分-發(fā)射神經(jīng)元在不同平臺上的順序從上到下:輸入尖峰、電壓跡線和輸出激活。尖峰的時間步在Rockpool和Sinabs上由于離散化差異而系統(tǒng)性地有所不同,但整體上是良好對齊的。膜電位被歸一化,使其位于靜息電位 Vrest=0 和發(fā)射閾值 θ 之間,以忽略關(guān)于數(shù)值表示的特定平臺細(xì)節(jié)。b 尖峰卷積神經(jīng)網(wǎng)絡(luò):使用余弦相似度(1表示完全重疊)對第一個尖峰層的尖峰活動進(jìn)行平臺間比較。Sinabs、snnTorch和Speck由于它們的離散化選擇而與大多數(shù)其他實現(xiàn)有所偏離。c、d 尖峰遞歸神經(jīng)網(wǎng)絡(luò):帶偏置和重置為零的SRNN與不帶偏置和減法重置的SRNN之間,第一個CuBa-LIF層的尖峰活動相似性度量。有關(guān)相似性度量的詳細(xì)信息,請參見正文。
結(jié)論展望
通過本文的研究,作者提出并證明了神經(jīng)形態(tài)中間表示(NIR)的有效性,它能夠在多個神經(jīng)形態(tài)平臺上實現(xiàn)一致的計算表現(xiàn),并通過其抽象性解決了現(xiàn)有神經(jīng)形態(tài)硬件和軟件之間的互操作性問題。NIR的設(shè)計使得研究者能夠在不同的硬件平臺上復(fù)現(xiàn)相同的神經(jīng)網(wǎng)絡(luò)模型,從而大大簡化了跨平臺的開發(fā)和實驗。
展望未來,NIR有望進(jìn)一步擴(kuò)展,支持更多復(fù)雜的神經(jīng)網(wǎng)絡(luò)模型,特別是多室神經(jīng)元模型、自適應(yīng)閾值機制以及共振-發(fā)火機制等。NIR的模塊化設(shè)計和平臺無關(guān)性使其成為神經(jīng)形態(tài)計算領(lǐng)域中一個關(guān)鍵的工具,推動了跨平臺互操作性和能效優(yōu)化的研究發(fā)展。
綜上所述,本文的研究展示了NIR作為神經(jīng)形態(tài)計算統(tǒng)一中間表示的潛力,并為實現(xiàn)更高效的腦啟發(fā)計算系統(tǒng)奠定了基礎(chǔ)。隨著NIR的進(jìn)一步發(fā)展,它將推動神經(jīng)形態(tài)計算領(lǐng)域與現(xiàn)有的深度學(xué)習(xí)技術(shù)并駕齊驅(qū),幫助解決更多實際問題。
僅用于學(xué)術(shù)分享,若侵權(quán)請留言,即時刪侵!
歡迎加入腦機接口社區(qū)交流群,
探討腦機接口領(lǐng)域話題,實時跟蹤腦機接口前沿。
加微信群:
添加微信:RoseBCI【備注:姓名+行業(yè)/專業(yè)】。
歡迎來稿
1.歡迎來稿。投稿咨詢,請聯(lián)系微信:RoseBCI
點擊投稿:
2.加入社區(qū)成為兼職創(chuàng)作者,請聯(lián)系微信:RoseBCI
一鍵三連「分享」、「點贊」和「在看」
不錯過每一條腦機前沿進(jìn)展
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.