国产av一二三区|日本不卡动作网站|黄色天天久久影片|99草成人免费在线视频|AV三级片成人电影在线|成年人aV不卡免费播放|日韩无码成人一级片视频|人人看人人玩开心色AV|人妻系列在线观看|亚洲av无码一区二区三区在线播放

網(wǎng)易首頁 > 網(wǎng)易號 > 正文 申請入駐

FPGA 上的脈沖神經(jīng)網(wǎng)絡:方法論和最新進展綜述

0
分享至

Spiking neural networks on FPGA: A survey of methodologies and recent advancements

FPGA 上的脈沖神經(jīng)網(wǎng)絡:方法論和最新進展綜述

https://www.researchgate.net/publication/389054889_Spiking_neural_networks_on_FPGA_A_survey_of_methodologies_and_recent_advancements

本文綜述了脈沖神經(jīng)網(wǎng)絡(SNNs)在FPGA上的實現(xiàn)方法,聚焦輸入編碼、神經(jīng)元模型、學習規(guī)則和網(wǎng)絡架構(gòu)。介紹近期進展,如CORDIC加速、Vivado HLS優(yōu)化及Transformer集成,展示SNN在圖像識別、機器人控制等領(lǐng)域的低功耗優(yōu)勢。分析挑戰(zhàn),如資源限制和通信延遲,提出未來方向:深度學習結(jié)合、分布式FPGA及AI輔助設(shè)計。適合研究者了解SNN-FPGA的最新技術(shù)和應用。



摘要:

在信息處理中對生物大腦結(jié)構(gòu)的模擬,使脈沖神經(jīng)網(wǎng)絡(SNNs)相比傳統(tǒng)系統(tǒng)展現(xiàn)出顯著降低的功耗。因此,近年來這些網(wǎng)絡獲得了越來越多的關(guān)注,并激發(fā)了大量研究工作,提出了各種結(jié)構(gòu)以實現(xiàn)低功耗、高速度和更高的識別能力。然而,研究人員在開發(fā)更高效、更接近生物大腦的神經(jīng)網(wǎng)絡方面仍處于初級階段。此類開發(fā)與研究需要具備適當能力的硬件平臺來執(zhí)行,而現(xiàn)場可編程門陣列(FPGA)相比現(xiàn)有的中央處理器(CPU)和圖形處理器(GPU)等硬件,是一個極具潛力的候選方案。FPGA具備與大腦類似的并行處理能力、更低的延遲和功耗,以及更高的吞吐量,因此是協(xié)助脈沖神經(jīng)網(wǎng)絡開發(fā)的理想硬件。本綜述旨在通過收集和分析近期相關(guān)研究成果,以及阻礙這些網(wǎng)絡在FPGA上實現(xiàn)的挑戰(zhàn),為研究人員進一步推進該領(lǐng)域的發(fā)展提供便利。

  1. 引言

    隨著人工智能(AI)在各個領(lǐng)域的迅速普及,針對模型的能耗和延遲進行優(yōu)化變得愈發(fā)重要。盡管已有多種方法用于提升深度學習的效率,但神經(jīng)形態(tài)計算(neuromorphic computing)采取了一種獨特的思路:借鑒支撐大腦卓越能效的原理。脈沖神經(jīng)網(wǎng)絡(Spiking Neural Networks, SNNs)通過將數(shù)據(jù)編碼和處理為電脈沖(即“脈沖”或“spikes”)來模擬大腦,有望通過稀疏激活和事件觸發(fā)計算減少數(shù)據(jù)瓶頸,并通過降低位寬簡化計算,從而顯著降低神經(jīng)網(wǎng)絡的能耗(Liang 等,2021;Eshraghian 等,2023;Maass,1997)。在事件觸發(fā)計算中,僅在生成脈沖(事件)時才進行處理,從而最大限度地減少不必要的操作并節(jié)省能量(Shahsavari 等,2023)。與傳統(tǒng)人工神經(jīng)網(wǎng)絡(ANNs)相比,SNNs 在處理序列數(shù)據(jù)時具有更高的潛在效率(Lemaire 等,2020;Ottati 等,2023;Azghadi 等,2020)。鑒于便攜式、資源受限設(shè)備日益普及,降低嵌入式AI的功耗至關(guān)重要(He 等,2021)。

脈沖神經(jīng)元通過發(fā)放脈沖來傳輸數(shù)據(jù)。在空間上分布的脈沖可并行處理,而在不同時間觸發(fā)的脈沖則可串行處理。在沒有脈沖活動時,所需的內(nèi)存訪問更少,盡管基于脈沖的工作負載仍可從并行處理中獲益。CPU 的并行化能力有限,而 GPU 擁有大量核心,可適配高度并行化的工作負載。深度學習社區(qū)已充分利用這一特性,在層間進行張量的批處理。張量是一種多維數(shù)組,常以矩陣或更高階形式表示數(shù)據(jù),能夠高效處理深度學習中的大規(guī)模計算任務?;诿}沖的激活具有稀疏性,導致張量中大量子塊處于非活躍狀態(tài),而 GPU 并未針對稀疏性進行有效優(yōu)化,也無法通過重新編程來解決這一問題(Y. Liu 等,2022)。此外,CPU 和 GPU 普遍采用的馮·諾依曼架構(gòu)雖支持通用計算,卻因頻繁在內(nèi)存與處理單元之間傳輸數(shù)據(jù)而造成高功耗(He 等,2021;Dabbagh 等,2025)。將內(nèi)存與處理器集成可在犧牲通用工作負載處理能力的前提下加速計算并降低功耗,但隨著深度學習處理需求的持續(xù)增長,這種權(quán)衡通常是必要的(S. Yang, Gao 等,2021;Eshraghian, Wang & Lu,2022)。

將內(nèi)存與處理器集成被視為遵循“神經(jīng)形態(tài)”計算范式,因為大腦并不將內(nèi)存與計算分離。相反,其計算單元(神經(jīng)元)與存儲單元(突觸)相互交織、緊密集成。圖1展示了馮·諾依曼架構(gòu)(圖1(a))與神經(jīng)形態(tài)處理的一般概念(圖1(b))(An 等,2017)。鑒于大腦是世界上最高效的計算系統(tǒng),借鑒其工作機制有望顯著降低認知計算的功耗。這需要定制硬件,其架構(gòu)需類似大腦,而神經(jīng)形態(tài)工程的一個共同主題正是通過專用集成電路(ASICs)或現(xiàn)場可編程門陣列(FPGAs)來實現(xiàn)這一點(Shahsavari 等,2019, 2015)。


與 CPU 和 GPU 相比,F(xiàn)PGA 因其高度靈活性、可編程性、并行處理能力以及低功耗特性,在快速測試和迭代定制 SNN 加速器方面極具價值(Gupta 等,2020;K. Wang 等,2023)。圖1(c) 提供了不同平臺的總體比較(Capra 等,2020)。FPGA 還可用于測試新穎或新興的脈沖架構(gòu),并通過軟硬件協(xié)同設(shè)計方法更準確地評估所能獲得的能效提升。然而,F(xiàn)PGA 實現(xiàn)帶來的挑戰(zhàn)比軟件編程(如 Python)更為復雜。因此,本文綜述了 SNN 在 FPGA 上的實現(xiàn),涵蓋執(zhí)行方法、當前研究重點、挑戰(zhàn)、具體應用以及未來需解決的研究空白。本綜述可幫助需要輕量級硬件解決方案的深度學習從業(yè)者更好地理解其模型將運行的硬件平臺,同時也可協(xié)助 FPGA 工程師了解未來需加速的模型類型。

1.1 關(guān)于 SNN 的元綜述
我們對一系列與本綜述互補的綜述文章進行了元綜述,詳見表1。從計算棧底層開始,J.-Q. Yang 等(2020)重點綜述了基于新興器件的 SNN;Basu 等(2022)全面回顧了關(guān)鍵的基于脈沖的定制集成電路(ICs);Bouvier 等(2019)則上升到 SNN 的硬件架構(gòu)層面。Javanshir 等(2022)和 Nguyen 等(2021)考察了 SNN 在各類硬件平臺上的最新實現(xiàn)進展。從軟件視角出發(fā),Pietrzak 等(2023)聚焦于適用于硬件執(zhí)行的學習算法及其復雜性,而 Huynh 等(2022)則探討了涵蓋平臺化設(shè)計與軟硬件協(xié)同設(shè)計的軟件框架。最后,F(xiàn)renkel 等(2023)深入研究了面向 SNN 定制 ASIC 實現(xiàn)的自上而下與自下而上設(shè)計方法的融合,特別強調(diào)協(xié)同設(shè)計;Roy 等(2019)則對基于脈沖的計算進行了高層次綜述。就 FPGA 相關(guān)工作而言,Pham 等(2021)對多種在 FPGA 上部署 SNN 的研究進行了高層次概述,并提供了應用層面的綜述;S. Yang 與 Chen(2024)則提供了近期關(guān)于神經(jīng)形態(tài)智能系統(tǒng)的綜合性資源之一。盡管該著作主要強調(diào)神經(jīng)科學和學習理論層面,并探討了不同架構(gòu),但并未深入覆蓋 FPGA 實現(xiàn)。我們的目標是提供一個更近期的、聚焦于 FPGA 上學習與推理的綜述,并深入剖析和綜合這些設(shè)計高效有效的關(guān)鍵因素。


鑒于算法快速演進與 ASIC 設(shè)計周期漫長之間的矛盾,迫切需要基于 FPGA 的探索以推動軟硬件協(xié)同設(shè)計。本綜述旨在深入探討實現(xiàn)細節(jié)、SNN 各組成部分的執(zhí)行方式、不同架構(gòu)之間的權(quán)衡,以及 FPGA 特有的技術(shù),以幫助 SNN 開發(fā)者更好地利用 FPGA 所支持的快速設(shè)計迭代優(yōu)勢。

1.2 方法與結(jié)構(gòu)安排
在本綜述中,我們的重點聚焦于那些在SNN的FPGA實現(xiàn)中已被廣泛使用、反復采用并普遍接受的成熟技術(shù)和方法。我們首先介紹理解SNN所需的基礎(chǔ)概念,然后通過分析以往各類工作中對SNN各組成部分的實現(xiàn)方式,深入探討其在FPGA上的具體實現(xiàn)。

本文將SNN的FPGA實現(xiàn)劃分為四個主要方面,這些方面在大多數(shù)設(shè)計中均需予以考慮,包括:
1)將不同類型輸入數(shù)據(jù)編碼為脈沖;
2)各類脈沖神經(jīng)元的實現(xiàn);
3)學習規(guī)則,即突觸權(quán)重如何更新;
4)網(wǎng)絡架構(gòu)與系統(tǒng)設(shè)計,涵蓋SNN在FPGA上的整體設(shè)計與執(zhí)行,并依賴于前述三個類別。

此外,本節(jié)還將討論稀疏性——SNN的關(guān)鍵特性之一——以及如何在FPGA上有效利用這一特性。在涵蓋上述四點之后,我們將進一步深入探討已實現(xiàn)特定應用的技術(shù)方法,并基于這些文獻識別當前領(lǐng)域中存在的研究空白,同時展望未來工作的可能方向。

本文的結(jié)構(gòu)安排如下:
第2節(jié)首先考察SNN的基本概念;
第3節(jié)探討其在FPGA上的實現(xiàn);
第4節(jié)討論SNN在現(xiàn)實世界中的具體應用及其實施方式;
第5節(jié)將闡述SNN/FPGA領(lǐng)域所面臨的挑戰(zhàn)與研究空白,并指出未來工作中應給予更多關(guān)注的方向;
最后,第6節(jié)對全文進行總結(jié)。

  1. 預備知識

    本節(jié)將深入探討以脈沖神經(jīng)網(wǎng)絡(SNN)為核心的主題,包括:突觸可塑性、各類神經(jīng)元模型、學習原理以及數(shù)據(jù)編碼。

2.1 突觸可塑性

突觸為神經(jīng)元之間傳遞信息提供了通路,在生物有機體神經(jīng)系統(tǒng)的信息處理中起著關(guān)鍵作用(L. Abbott & Regehr, 2004)。大量實證研究表明,突觸在神經(jīng)活動過程中表現(xiàn)出依賴于活動的特性,而突觸可塑性——即突觸根據(jù)其活動水平的增強或減弱而隨時間加強或削弱的能力——被廣泛認為是生物系統(tǒng)中學習與記憶的基礎(chǔ)(Sj?str?m 等, 2008)。神經(jīng)元之間突觸連接的強度受突觸前與突觸后活動在不同時間尺度上時序關(guān)系的影響(Bi & Poo, 1998)。突觸可塑性大致可分為兩類:1)長時程可塑性(long-term plasticity),指持續(xù)數(shù)小時或更長時間的突觸變化;2)短時程可塑性(short-term plasticity),指在數(shù)十毫秒至數(shù)分鐘時間尺度上表現(xiàn)出的某些依賴于活動的特性(Lynch 等, 1977;J.-Q. Yang 等, 2020)。

長時程可塑性可進一步分為長時程增強(Long-Term Potentiation, LTP)和長時程抑制(Long-Term Depression, LTD)。LTP 是指兩個神經(jīng)元之間的信號傳遞因受到高強度刺激而產(chǎn)生的持久性增強。相反,LTD 則表現(xiàn)出與 LTP 相反的效果,即連接被削弱或“抑制”(Bear & Malenka, 1994;J.-Q. Yang 等, 2020)。

短時程可塑性在神經(jīng)系統(tǒng)計算中至關(guān)重要。與長時程可塑性類似,短時程可塑性也可根據(jù)突觸強度的變化分為兩類:短時程增強(Short-Term Potentiation, STP)和短時程抑制(Short-Term Depression, STD)。

脈沖時序依賴可塑性(Spike-Timing-Dependent Plasticity, STDP)認為,突觸前和突觸后神經(jīng)元的活動時序?qū)Q定突觸連接強度如何通過 LTP 和 LTD 進行調(diào)整。STDP 通常被認為在神經(jīng)系統(tǒng)執(zhí)行時序依賴的計算任務中發(fā)揮關(guān)鍵作用,至少對更高層次的時序依賴學習有所貢獻。接下來的小節(jié)將深入探討 STDP 模型。盡管 STDP 是最常被引用的可塑性機制之一,但突觸計算和神經(jīng)信號處理還需要其他類型的可塑性,包括突觸重分布(synaptic redistribution)、脈沖頻率依賴可塑性(Spike-Rate-Dependent Plasticity, SRDP)、聯(lián)想學習(associative learning)、非聯(lián)想學習(non-associative learning)以及突觸縮放(synaptic scaling)(Brenowitz & Regehr, 2005;Citri & Malenka, 2008;L. F. Abbott & Nelson, 2000;J.-Q. Yang 等, 2020)。值得注意的是,要理解生物神經(jīng)系統(tǒng)的工作機制,必須認識到突觸可塑性的核心作用。STDP 是模擬和實現(xiàn)生物神經(jīng)系統(tǒng)時最常被引用的可塑性形式之一。為了更好地理解 STDP,有必要闡明其源于赫布定律(Hebb’s law)的背景。

2.1.1 赫布規(guī)則(Hebb’s Rule)

在過去五十多年(甚至更久)中,大量科學實驗致力于研究突觸可塑性的底層機制。其中大多數(shù)研究都基于赫布規(guī)則。該規(guī)則指出,對于一對神經(jīng)元(稱為神經(jīng)元 A 和神經(jīng)元 B),其連接應按如下方式調(diào)整(Hebb, 2005):

“當細胞 A 的軸突足夠靠近細胞 B 并反復或持續(xù)地參與激發(fā) B 時,A 和 B 中的一個或兩個細胞會發(fā)生某種生長過程或代謝變化,使得 A 作為激發(fā) B 的細胞之一,其效率得到提升?!?/blockquote>

Shatz(1992)在其關(guān)于視覺系統(tǒng)的研究中對此進行了更簡潔的總結(jié):“一起放電的細胞會連接在一起”("cells that fire together wire together")。簡而言之,赫布定律指出:當兩個神經(jīng)元在物理上彼此靠近,且突觸前神經(jīng)元引發(fā)突觸后神經(jīng)元放電時,它們之間的連接會增強;反之,如果突觸后神經(jīng)元先于突觸前神經(jīng)元放電,則它們的連接會減弱。后一種情況表明這兩個神經(jīng)元之間缺乏因果關(guān)系,突觸后神經(jīng)元很可能是被其他神經(jīng)元而非該突觸前神經(jīng)元所激發(fā)。這一原理啟發(fā)了研究人員嘗試以之為模型,復制大腦機制,并設(shè)計功能類似的硬件。為實現(xiàn)這一目標,已提出多種模型,其中最流行的一種便是 STDP。

2.1.2 脈沖時序依賴可塑性(STDP)

STDP 因?qū)嶒炆向炞C了赫布規(guī)則而獲得廣泛關(guān)注,其完全依賴于突觸前與突觸后神經(jīng)元之間的時序關(guān)系,如圖2所示(Shouval 等, 2010)。因此,STDP 可被視為赫布更一般性規(guī)則的一種具體實現(xiàn)形式。STDP 表明:若突觸前神經(jīng)元在突觸后神經(jīng)元之前以較小的時間差放電,則它們之間的連接會增強,這對應于 LTP 活動;隨著該時間差增大,連接強度的變化呈指數(shù)衰減。這為赫布定律提供了定量支持——即神經(jīng)元之間較小的時間差意味著它們在空間上距離較近,且突觸前神經(jīng)元很可能負責激發(fā)了突觸后神經(jīng)元。


相反,若突觸后神經(jīng)元先于突觸前神經(jīng)元放電,則連接強度應減弱,從而導致 LTD。時間差越小,連接強度的減弱程度越大。計算時間差并確定連接強度變化幅度的公式如圖2所示(Bi & Poo, 1998)。在神經(jīng)網(wǎng)絡的語境下,這種連接強度的變化對應于模型的權(quán)重更新。

2.2 脈沖神經(jīng)元模型

神經(jīng)元之間的可塑性依賴于神經(jīng)元如何激活并相互“交流”,因此所采用的神經(jīng)元模型將決定網(wǎng)絡隨時間演化的具體方式。目前已開發(fā)出大量神經(jīng)元模型,其中一些追求生物真實性,另一些則側(cè)重于計算簡潔性。選擇合適的模型取決于對精度或計算效率的需求。以下小節(jié)將討論最常用的幾種模型。

2.2.1 霍奇金–赫胥黎模型(Hodgkin–Huxley Model)

霍奇金與赫胥黎(Hodgkin & Huxley, 1952)提出的 HH 模型是保留離子通道豐富動力學行為的最常見模型之一,其源自對大型魷魚神經(jīng)元的實驗。在 HH 模型的方程組中,包含兩種類型的 Na? 和 K? 離子通道,用于生成神經(jīng)元的輸出電流和動作電位:



通過求解上述方程組,該模型能夠模擬脈沖產(chǎn)生過程中膜電位的行為。盡管該模型具有較高的生物真實性,但其計算開銷較大,在實現(xiàn)大規(guī)模網(wǎng)絡時會消耗大量資源(Yamazaki 等,2022),尤其是在資源受限的 FPGA 實現(xiàn)中尤為明顯。此外,根據(jù) Paugam-Moisy 與 Bohte(2012)的說法,HH 模型在每毫秒的仿真中大約需要 1,200 次浮點運算(FLOPS)。

2.2.2 伊熱凱維奇模型(Izhikevich Model)

受 HH 方法啟發(fā),并旨在對其進行簡化,Izhikevich(2003)提出了一種計算量更少且精度令人滿意的模型。該模型將 HH 神經(jīng)元模型中的眾多參數(shù)簡化為以下所示的二維常微分方程組:


其中, 表示膜電位, 表示 K? 通道的激活和 Na? 通道的失活,負責神經(jīng)元膜電位的恢復過程, 為突觸輸入電流,在神經(jīng)元處進行積分。
一旦膜電位達到 +30,恢復變量和膜電位將根據(jù)公式(6)進行重置。參數(shù) 決定恢復速度,通常設(shè)為 0.02;參數(shù) 通常取值為 0.2,表示恢復變量 對膜電位閾下振蕩的敏感程度。脈沖發(fā)放后膜電位 和恢復變量 的值由參數(shù) 和 決定,通常分別設(shè)為 -65 和 2。
Izhikevich 神經(jīng)元模型的一個優(yōu)勢在于,通過調(diào)整參數(shù) 、、 和 的取值,可以模擬和再現(xiàn)神經(jīng)元的多種動態(tài)行為。由于其計算簡化且具備適當?shù)纳镎鎸嵭?,該模型適用于構(gòu)建大規(guī)模脈沖神經(jīng)網(wǎng)絡,且每毫秒仿真僅需 13 次浮點運算(FLOPS)(Paugam-Moisy & Bohte, 2012)。

2.2.3 漏電積分-發(fā)放模型(Leaky Integrate-and-Fire, LIF)
將脈沖神經(jīng)元模型簡化至最基本的形式(即一個一維微分方程),便得到積分-發(fā)放(Integrate-and-Fire, IF)神經(jīng)元模型。該模型的核心原理是:神經(jīng)元對輸入脈沖產(chǎn)生的電壓進行積分,當膜電位達到某一閾值時,便產(chǎn)生一個脈沖,隨后神經(jīng)元恢復至靜息狀態(tài)(Gerstner 等,2014)。由于其結(jié)構(gòu)簡單,該模型在數(shù)字電路中較為常用(Nitzsche 等,2021)。

漏電積分-發(fā)放(Leaky Integrate-and-Fire, LIF)模型是對 IF 模型的輕微擴展,在神經(jīng)元膜電位中引入了一個“漏電”項。該模型的行為由以下方程描述:


鑒于公式(9)具有非線性且可微,因此可用于訓練深度網(wǎng)絡,并能對脈沖神經(jīng)元提供合理的近似(Hunsberger & Eliasmith, 2016)。LIF 模型因其計算開銷低、仿真速度快,且能夠捕捉生物神經(jīng)元最基本的時序動態(tài)特性而被廣泛使用,且在毫秒級精度下進行仿真僅需 5 次浮點運算(FLOPS)。

2.2.4 自適應指數(shù)積分-發(fā)放模型(Adaptive Exponential Integrate-and-Fire, AdEx)

2005 年,Brette 與 Gerstner(2005)提出了一種二維的積分-發(fā)放模型,稱為自適應指數(shù)積分-發(fā)放(AdEx)模型。該模型結(jié)合了指數(shù)積分-發(fā)放模型(Exponential Integrate-and-Fire, EIF)(Fourcaud-Trocmé 等,2003)與一個適應性方程。AdEx 模型融合了 EIF 模型的特性以及 Izhikevich 模型中的二維狀態(tài)變量結(jié)構(gòu)。描述 AdEx 神經(jīng)元行為的方程如下:


其中,ω 是適應變量,ΔT 是斜率因子,VT 是閾值電位,a 是閾下適應水平,b 是脈沖觸發(fā)的適應。在 AdEx 模型中,若將 ΔT 設(shè)為 0 并移除 ω 項,則模型簡化為 LIF 模型。該模型的計算開銷低于 Izhikevich 模型,仿真僅需 10 次浮點運算(FLOPS)。

表2 對本節(jié)討論的各類神經(jīng)元模型進行了比較,從定性和定量兩個角度進行評估,以幫助理解。在該表中,神經(jīng)元模型根據(jù)計算復雜度、生物準確性、生物合理性、方程動力學特性以及參數(shù)數(shù)量等標準進行對比。動態(tài)參數(shù)是指那些隨時間變化以模擬神經(jīng)元行為的參數(shù),例如 AdEx 模型中的 Vm 和 ω 值;相比之下,固定參數(shù)則是可調(diào)整以控制神經(jīng)元輸出的參數(shù),如 Izhikevich 模型中的 a、b、c 和 d 值。此外,表中還列出了這些模型與硬件實現(xiàn)的兼容性——這也是本文的核心關(guān)注點,盡管更詳細的解釋將在后續(xù)章節(jié)中提供。


2.3 脈沖神經(jīng)網(wǎng)絡中的學習規(guī)則
將前述原理轉(zhuǎn)化為圖論視角,神經(jīng)元可被視為節(jié)點,而它們之間相互連接的突觸則為帶權(quán)重的邊。這一視角與深度學習中的人工神經(jīng)網(wǎng)絡(ANNs)相呼應,但同時引入了動態(tài)行為。優(yōu)化 ANN 通常需要一種學習規(guī)則,最常見的是通過誤差反向傳播(backpropagation)實現(xiàn)的梯度下降法。然而,由于反向傳播在生物學上的合理性有限,神經(jīng)科學界提出了其他學習理論。這些理論大致可分為監(jiān)督學習和無監(jiān)督學習,但需注意的是,在自監(jiān)督學習(Shwartz-Ziv & LeCun, 2024)和弱監(jiān)督學習(Zhou, 2018;Gunasekaran 等,無日期;Y. Yang 等,2022)領(lǐng)域中,這兩者之間的界限已變得極為模糊。

2.3.1 無監(jiān)督學習
STDP 可被解釋為一種無監(jiān)督學習規(guī)則,因為它默認不依賴于監(jiān)督信號或誤差信號。它也是一種局部學習(local learning)形式,因為突觸可塑性的計算僅依賴于突觸自身上的局部變量。采用局部學習機制,有機會將存儲單元與計算單元更緊密地結(jié)合:存儲單元承擔突觸權(quán)重的存儲功能,而計算則在神經(jīng)元內(nèi)部完成。這種無需長距離數(shù)據(jù)通信即可實現(xiàn)突觸可塑性的特性,非常適合實現(xiàn)高能效的片上學習(on-chip learning)。最早成功展示 SNN 無監(jiān)督學習的案例之一是 Diehl 與 Cook(2015)的工作,其在 MNIST 數(shù)據(jù)集(LeCun 等,1998)上取得了與深度學習方法相當?shù)臏蚀_率。然而,SNN 的局部學習面臨可擴展性挑戰(zhàn):隨著網(wǎng)絡層數(shù)增加,深層神經(jīng)元產(chǎn)生脈沖的概率會降低,這一現(xiàn)象被稱為“前向脈沖傳播消失”(vanishing forward-spike propagation)(Kheradpisheh 等,2018)。總體而言,STDP 具有正向強化的特性——較強的連接通常會被進一步加強。這種強化機制提高了神經(jīng)元在再次遇到相同模式時發(fā)放脈沖的可能性。此外,作為一類無監(jiān)督學習算法,STDP 能夠支持類似生物大腦的終身學習(lifelong learning),并已被用于微調(diào)預訓練模型(S. Hu 等,2021;Bianchi 等,2020)。

鑒于 STDP 的正向強化特性,大腦中必然存在穩(wěn)態(tài)機制(homeostatic mechanisms)以防止神經(jīng)活動的雪崩式爆發(fā)。一般來說,穩(wěn)態(tài)機制是指維持生物系統(tǒng)內(nèi)部平衡與穩(wěn)定的過程。在神經(jīng)系統(tǒng)中,這些機制保持一種平衡狀態(tài),確保神經(jīng)活動在長時間內(nèi)保持穩(wěn)定,避免出現(xiàn)劇烈波動(S. Davies 等,2024)。其中一種用于平衡網(wǎng)絡活動的方法是側(cè)向抑制機制(lateral inhibitory mechanisms):即一個神經(jīng)元的興奮會抑制其他神經(jīng)元,旨在模擬大腦中的競爭機制。在此方法中,某一層中一個神經(jīng)元的發(fā)放會抑制同層其他神經(jīng)元的活動。具體而言,每一層中“獲勝”的神經(jīng)元會抑制其鄰近神經(jīng)元,這被稱為“勝者通吃”(winner-takes-all)方法(Masquelier 等,2009)。實現(xiàn)勝者通吃的方案有多種,圖3展示了其中兩種較常見的方法。在圖3(a)中,興奮性層與抑制性層之間的連接權(quán)重被設(shè)定為固定值,其中紅線表示正權(quán)重,藍線表示負權(quán)重。這意味著興奮性層中某個神經(jīng)元的“勝利”會激活抑制性層中對應的神經(jīng)元,并通過較大的負權(quán)重抑制其所有鄰近神經(jīng)元。在圖3(b)中,獲勝神經(jīng)元自身通過循環(huán)連接(recurrent connections)直接向鄰近神經(jīng)元發(fā)送負權(quán)重信號。


經(jīng)典的 STDP 模型也被稱為基于脈沖對的 STDP(pair-based STDP, PSTDP),因其依賴于成對脈沖的時間關(guān)系。然而,該模型被認為在生物學可解釋性方面存在局限(Lammie 等,2018)。因此,Pfister 與 Gerstner(2006)于 2006 年提出了基于脈沖三元組的 STDP 模型(triplet-based STDP, T-STDP),該模型能夠更準確地再現(xiàn)生物行為。該模型考慮三元組脈沖:即兩個突觸前脈沖和一個突觸后脈沖,或一個突觸前脈沖和兩個突觸后脈沖。T-STDP 是一種通過考慮三個連續(xù)脈沖的時序來調(diào)整突觸權(quán)重的機制,其數(shù)學描述如下列方程所示:


其中,Δ? 和 Δ? 分別代表突觸增強(potentiation)和減弱(depression)。??、??、?? 和 ?? 是增強與減弱的強度參數(shù);?、?、? 和 ? 是時間常數(shù),用于控制 STDP 曲線的時間窗口寬度。各種 Δ? 如圖4(a)所示。研究表明,基于脈沖頻率的 Bienenstock-Cooper-Munro(BCM)突觸可塑性法則所固有的行為,可以從 T-STDP 規(guī)則中自然衍生出來(Azghadi 等,2013;Lammie 等,2018)。


BCM 理論描述了一種突觸可塑性機制:其增強或削弱突觸的閾值是動態(tài)變化的,并根據(jù)神經(jīng)元活動水平進行調(diào)整。這使得突觸能夠依據(jù)脈沖頻率表現(xiàn)出長時程增強或抑制,因此成為理解活動依賴型突觸變化的關(guān)鍵模型。

需要指出的是,除上述模型外,還提出了多種基于 STDP 的擴展方法,如自組織映射-STDP(SOM-STDP)(Rumbell 等,2013)、獎勵調(diào)制-STDP(R-STDP)、獎勵調(diào)制自組織映射-STDP(R-SOM-STDP)(H. Wang 等,2022),以及 BCM-STDP(BSTDP)(J. Liu 等,2018),這些方法均以 STDP 為基礎(chǔ)構(gòu)建。

Brader 等人(2007)提出了一種替代性的學習規(guī)則:突觸強度的變化取決于突觸前脈沖發(fā)生時突觸后神經(jīng)元的內(nèi)部狀態(tài),而非依賴于精確的時間差。該方法被稱為“脈沖驅(qū)動突觸可塑性”(Spike-Driven Synaptic Plasticity, SDSP),其核心機制是:當突觸前脈沖發(fā)生時,若突觸后神經(jīng)元的內(nèi)部狀態(tài)(?)高于某一閾值(??),則突觸強度增加一個單位;反之,若內(nèi)部狀態(tài)低于特定閾值,則突觸強度減少一個單位。該方法通過避免精確計時計算,有效降低了計算負載與硬件復雜度,同時支持兼具時序與空間特性的學習。它契合脈沖神經(jīng)網(wǎng)絡異步、事件驅(qū)動的本質(zhì),因而非常適合高效硬件實現(xiàn)與實時處理。Frenkel 等人(2019, 2018)已在 65nm 和 28nm CMOS 工藝上采用此方法實現(xiàn)硬件部署,其運行機制如圖4(b)所示。

2.3.2 監(jiān)督學習

在監(jiān)督學習中,網(wǎng)絡通過一個全局信號進行訓練,該信號可來自數(shù)據(jù)的標簽或損失/誤差信號。這是深度學習時代性能最強的方法。因此,早在2002年,SpikeProp 被提出用于 SNN 的監(jiān)督學習,其思路類似于傳統(tǒng)的誤差反向傳播(Bohte 等,2002)。該算法展示了 SNN 如何學習非線性任務,例如 XOR 分類。在 SpikeProp 提出之后,出現(xiàn)了更多改進版本,以推廣單脈沖學習,例如 Multi-SpikeProp(Ghosh-Dastidar & Adeli,2009)。

2018年,Zenke 與 Ganguli(2018)提出了 SuperSpike,用于訓練由漏電積分-發(fā)放(LIF)神經(jīng)元構(gòu)成的多層 SNN,以完成時空脈沖模式轉(zhuǎn)換任務。該方法采用替代梯度(surrogate gradient)策略來克服離散脈沖不可微的問題,從而推導出一種基于電壓的非線性三因子學習規(guī)則。這種將梯度下降法適配到 LIF 神經(jīng)元計算圖展開(unrolling)的方法,已成為訓練 SNN 最主流的方式,因其性能最優(yōu),并直接借鑒了深度學習領(lǐng)域的全部進展(Eshraghian 等,2023;Shrestha & Orchard,2018;Y. Wu, Deng, Li & Shi,2018)。該方法已使 SNN 能夠在大規(guī)模任務上與現(xiàn)代深度學習方法相競爭(Zhu 等,2023;Bal & Sengupta,2024)。

在基于替代梯度下降的技術(shù)普及之前,訓練 SNN 的主流方法是先訓練一個 ANN,再通過權(quán)重重縮放和歸一化等方法將其轉(zhuǎn)換為 SNN,將 ANN 中的連續(xù)非線性值轉(zhuǎn)化為 SNN 所需的漏電時間常數(shù)、不應期、膜電位閾值等參數(shù)(A. Sengupta 等,2019)。在基于轉(zhuǎn)換的方法中,無需使用隨時間反向傳播(Backpropagation Through Time, BPTT),而 BPTT 的內(nèi)存復雜度會隨著序列步長增加而上升。然而,這種轉(zhuǎn)換需要近似處理,因為 ANN 的性能本質(zhì)上為轉(zhuǎn)換后的 SNN 設(shè)定了性能上限。傳統(tǒng)上,從 ANN 轉(zhuǎn)換而來的 SNN 通常需要極長的推理時間,導致延遲增加、能效降低,并且僅在靜態(tài)(非時序)數(shù)據(jù)集上表現(xiàn)良好,這常被認為違背了 SNN 的初衷(Roy 等,2019;Ottati 等,2023)。關(guān)于從深度學習衍生出的 SNN 訓練技術(shù)的詳細綜述,可參見文獻(Eshraghian 等,2023)。

然而,這些源自深度學習的訓練方法在生物合理性(bio-plausibility)方面面臨諸多挑戰(zhàn),也偏離了開發(fā) SNN 的最初目標之一:高效學習。為此,研究者提出了遠程監(jiān)督方法(Remote Supervised Method, ReSuMe),用于使 SNN 實現(xiàn)期望的輸入-輸出特性,其中 STDP 與反-STDP 機制(anti-STDP)(Rumsey & Abbott,2004)結(jié)合來自目標傳遞函數(shù)或期望輸出的全局指導信號協(xié)同工作(Kasinski & Ponulak,2005)。Tempotron 是一種廣為人知的算法,神經(jīng)系統(tǒng)利用它有效解碼隱藏在時空脈沖模式中的信息(Gütig & Sompolinsky,2006)。ReSuMe 和 Tempotron 采用 STDP 的監(jiān)督變體進行分類,使 STDP 能夠?qū)崿F(xiàn)僅靠局部可塑性無法達到的性能。

此外,還有一些方法更明確地定義了全局或獎勵調(diào)制形式的 STDP,旨在通過弱監(jiān)督信號提升無監(jiān)督方法的性能。這催生了 R-STDP 規(guī)則(Shahsavari 等,2021)。在該方法中,通過建模多巴胺(dopamine)引入強化學習的外部獎勵信號,使 STDP 能更有效地訓練網(wǎng)絡(He 等,2021;Bing 等,2019, 2018)。在 R-STDP 中,訓練的目標是獲得最大獎勵。因此,當任務成功時,釋放的多巴胺會強化學習過程(Quintana 等,2022)。在 R-STDP 中,突觸權(quán)重()通過兩個指標進行更新:資格跡(eligibility trace, ?)和獎勵信號()。首先,突觸的資格跡用于記錄 STDP 所引起的修改。突觸的資格跡定義如下:


除了上述方法外,Chronotron 還提出了其他不依賴深度學習、適用于采用信息時序編碼的脈沖神經(jīng)元的學習規(guī)則:一種具有高記憶容量(E-learning),另一種則具有更高的生物合理性(I-learning)(Florian, 2012)。本文對 SNN 學習規(guī)則的綜述并非全面覆蓋,而是聚焦于那些已在硬件中普遍實現(xiàn)的子集。關(guān)于腦啟發(fā)學習機制更嚴謹?shù)恼撌?,讀者可參考文獻(Schmidgall 等,2024)。

2.4 數(shù)據(jù)編碼

大多數(shù) SNN 硬件需要基于脈沖的輸入,因此通常必須將傳感數(shù)據(jù)也編碼為脈沖。數(shù)據(jù)編碼方式會直接影響網(wǎng)絡的性能、速度、準確率和能效。然而,由于大多數(shù)輸入數(shù)據(jù)是以“連續(xù)”變量形式記錄的,將其轉(zhuǎn)換為脈沖通常意味著某種形式的有損壓縮。通常更明智的做法是處理那些原生即以脈沖(或事件)形式捕獲的數(shù)據(jù);除此之外,在 SNN 與深度學習領(lǐng)域中,大多數(shù)編碼策略主要通過兩種方式實現(xiàn)。

第一種觀點基于神經(jīng)元發(fā)放的頻率進行編碼,稱為頻率編碼(rate coding)(Y. Kim 等,2022)。另一種觀點認為,信息編碼于脈沖之間的精確時序(或單個脈沖的發(fā)放時刻)中,這被稱為時序編碼(temporal coding)(Ghosh-Dastidar & Adeli,2009)。在頻率編碼方法中,受到高強度刺激的神經(jīng)元比受到低強度刺激的神經(jīng)元產(chǎn)生更高頻率的脈沖發(fā)放?;瑒哟翱冢⊿liding Window, SW)算法(Webb 等,2011)和 Ben 的脈沖生成算法(Ben’s Spiker Algorithm, BSA)(Schrauwen & Van Campenhout,2003)是兩種常用的、基于頻率編碼在脈沖域與非脈沖域之間轉(zhuǎn)換的算法(K. Wang 等,2023)。為避免有損壓縮,通常需要較長的脈沖序列,但這會導致活動量增加、功耗上升和延遲增大。因此,Z. Wang 等(2022)提出了基數(shù)編碼(radix-encoded)方法,該方法不僅顯著縮短了脈沖序列長度,還提升了所配合模型的準確率,相比當前最先進的基于頻率編碼的模型,實現(xiàn)了 25 倍的速度提升和 1.7 倍的準確率提升。

第二種主流的數(shù)據(jù)編碼方法是使用時序編碼,其中信息被編碼到發(fā)放時刻中:受到高強度刺激的神經(jīng)元比低強度刺激的神經(jīng)元更早發(fā)放脈沖(Saha 等,2013)。該方法比頻率編碼更具能效,因為它用更少的脈沖編碼信息。常見的時序編碼方法包括:前進步(Step-Forward, SF)編碼、移動窗口(Moving-Window, MW)編碼(N. K. Kasabov,2014)、基于脈沖寬度調(diào)制的算法(Pulse Width Modulated-Based, PWMB)(Arriandiaga 等,2019)、排序編碼(Rank-Order Encoding)(Van Rullen & Thorpe,2001)、GA-gamma 編碼(N. Sengupta 等,2015)、小波編碼(Wavelet Encoding)(Z. Wang 等,2016)等。在各類時序編碼方法中,相位編碼算法(phase coding algorithms)(Cattani 等,2015)能更充分地利用神經(jīng)元的時序信息,近年來得到了更廣泛的應用(K. Wang 等,2023)。需要指出的是,現(xiàn)有編碼策略種類繁多,本文遠未窮盡所有編碼方法。

  1. 基于 FPGA 的脈沖神經(jīng)網(wǎng)絡(SNNs)

    神經(jīng)形態(tài)硬件可分為三類:模擬型、數(shù)字型和混合模式型。盡管神經(jīng)形態(tài)計算最初旨在模擬神經(jīng)處理的模擬特性,但 SNN 的數(shù)字實現(xiàn)更易于擴展為大規(guī)模系統(tǒng)。

迄今為止,研究人員和企業(yè)已提出了多款采用全定制數(shù)字設(shè)計的 ASIC 芯片,以擺脫馮·諾依曼架構(gòu),邁向神經(jīng)形態(tài)系統(tǒng)。這些芯片專為類腦處理而設(shè)計。在眾多已提出的架構(gòu)中,有幾款尤為突出:

  • SpiNNaker(Furber 等,2014)由曼徹斯特大學開發(fā),采用分布式馮·諾依曼架構(gòu),每顆芯片集成 18 個 ARM 核心,基于 130 nm 工藝制造。該芯片專為大規(guī)模 SNN 仿真設(shè)計,具有高度靈活性。其新一代硬件

SpiNNaker 2 (Gonzalez 等,2024)采用 ARM Cortex-M4F 核心,進一步優(yōu)化,可在單芯片上模擬更多神經(jīng)元。

  • IBM TrueNorth (Akopyan 等,2015)基于全局異步、局部同步(GALS)架構(gòu),單芯片包含 100 萬個神經(jīng)元和 2.56 億個非可塑性突觸,采用 28 nm 工藝制造,集成 54 億個晶體管。該芯片定制的 Izhikevich 神經(jīng)元可模擬 11 種不同神經(jīng)元行為,通過組合三個神經(jīng)元甚至可生成多達 20 種行為。
  • Intel Loihi (M. Davies 等,2018)同樣采用全異步設(shè)計,單芯片最多支持 18 萬個神經(jīng)元和 11.4 萬至 100 萬個突觸。得益于其片上學習能力和異步架構(gòu),該芯片在實時神經(jīng)處理方面效率極高。它采用 STDP 模型進行神經(jīng)學習,并基于英特爾 14 nm FinFET 工藝制造。

盡管這些硬件平臺代表了神經(jīng)形態(tài)系統(tǒng)發(fā)展的重要里程碑,但它們?nèi)悦媾R一些挑戰(zhàn),例如可編程性有限甚至不可編程,以及對大多數(shù)研究人員而言可及性受限。

相比之下,F(xiàn)PGA 提供了一個易于獲取、高效且低成本的平臺,能夠快速實現(xiàn)探索性算法與模型,并具備高度可編程性。通過有效優(yōu)化,F(xiàn)PGA 在特定任務負載上可超越 CPU 和 GPU(Mohaidat & Khalil,2024)。SNN 尤其受益于 FPGA 實現(xiàn),因其具備并行處理能力、分布式本地存儲,并能適應具有分支結(jié)構(gòu)的動態(tài)工作負載——而這正是 GPU 不再具備優(yōu)勢的場景(Javanshir 等,2022)。例如:

  • Ju 等(2020)提出了一種基于 FPGA 的 SNN,證明其實現(xiàn)的網(wǎng)絡比 CPU 快 41 倍,比 GPU 能效高 22 倍。

  • Guo 等(2021)表明,其在 FPGA 上實現(xiàn)的 SNN 在訓練速度上比基于 PyTorch 的 CPU 仿真快 180 倍,推理速度快 20 倍。

  • Han 等(2020)在 Xilinx ZC706 評估板上進行實驗,與在 Tesla P100 GPU 上運行的 PyTorch 軟件仿真相比,F(xiàn)PGA 每瓦可處理 337.6 幀/秒,而 GPU 僅為 42.2 幀/秒。

  • Fang 等(2019)指出,其 FPGA 實現(xiàn)比 GPU 執(zhí)行能效高 196 倍,速度快 10.1 倍。

  • Cheslet 等(2024)在 AMD Kria KR260 開發(fā)板(屬于 Zynq UltraScale+ MPSoC 系列)上實現(xiàn)了實時 SNN 任務,其執(zhí)行速度約為普通個人電腦(PC)的 28 倍。

這些實例凸顯了 FPGA 相較于其他平臺的優(yōu)越性,尤其在執(zhí)行 SNN 任務方面,進一步證明了選擇 FPGA 作為 SNN 硬件平臺的合理性。

鑒于對能效的關(guān)注,資源約束通常迫使設(shè)計者采用多種近似方法。在 FPGA 上實現(xiàn)算法和模型時,軟件實現(xiàn)與硬件實現(xiàn)之間往往存在不可避免的差異。這是因為若不進行簡化(例如量化,或?qū)⒊胶瘮?shù)實現(xiàn)為查找表),直接部署可能因硬件資源需求過大而不可行(Venkatesh 等,2024;Eshraghian, Lammie 等,2022)。

在過去幾年中,已有大量研究嘗試在 FPGA 上實現(xiàn) SNN。這些嘗試通??煞譃樗拇箢悾簲?shù)據(jù)編碼方法、學習規(guī)則、神經(jīng)元模型和網(wǎng)絡架構(gòu)(Pham 等,2021)。在以下小節(jié)中,我們將更詳細地審視和綜述每個領(lǐng)域已開展的工作。

3.1 數(shù)據(jù)編碼
深度 SNN 需要更多的內(nèi)存,不可避免地會達到一個臨界點:片上內(nèi)存不足以容納所需數(shù)據(jù),設(shè)計者不得不使用片外內(nèi)存,而這會顯著增加功耗。有效的輸入數(shù)據(jù)編碼方法,結(jié)合合理的架構(gòu)選擇,能夠大幅減少網(wǎng)絡參數(shù)和內(nèi)存需求(Javanshir 等,2022)。因此,大量研究工作投入到優(yōu)化數(shù)據(jù)編碼策略中。這與許多基于軟件的 SNN 研究形成鮮明對比——在后者中,輸入通常僅被簡單地視為連續(xù)電流注入,而未經(jīng)過專門的編碼處理。

泊松分布脈沖編碼(Poisson distributed spike coding)(Cao 等,2015;Diehl 等,2015)是一種在 FPGA 上常用的編碼技術(shù),它根據(jù)輸入數(shù)據(jù)的強度對信息進行編碼。其數(shù)學表達如下:

其中,() 是從 0 到 1 之間的均勻概率分布中采樣的一個隨機數(shù), 是控制發(fā)放率的因子, 表示歸一化后的輸入。生成偽隨機數(shù)的一種常用方法是使用線性反饋移位寄存器(Linear-Feedback Shift Register, LFSR)(Linares-Barranco 等,2007)。同樣,泊松編碼方法也可以基于兩個脈沖之間的時間間隔(即脈沖間間隔,Inter-Spike Interval, ISI)來實現(xiàn)(Heeger 等,2000),其表達式如下:


其中,? 表示前一個脈沖與當前脈沖之間的時間間隔, 為發(fā)放率。

時序編碼方法在生物學上可能更具真實性,也更適合處理動態(tài)輸入數(shù)據(jù)。然而,對于靜態(tài)數(shù)據(jù)(如圖像),頻率編碼方法可能更為有效。因此,Carpegna 等人(2022)在實現(xiàn)泊松編碼時,為所有輸入設(shè)定一個固定的時間窗口 Δ,在此期間將輸入編碼為一定數(shù)量的脈沖。隨后,將 Δ 劃分為若干個時間步長 ,每個時間步長最多包含一個脈沖。通過將輸入值(即發(fā)放率 )乘以 ,即可計算出平均脈沖數(shù)( = 總脈沖數(shù) / 總步數(shù) = ? )。由于 的取值范圍在 0 到 1 之間,因此在每個時間步長中,通過生成一個隨機數(shù)并與之比較,即可判斷是否應在此步長內(nèi)產(chǎn)生脈沖。該隨機數(shù)同樣采用 LFSR 技術(shù)生成,與前述方法類似,但不同之處在于:所有輸入共享同一個生成的隨機數(shù)。這種方法在對準確率影響極小的前提下,顯著降低了硬件復雜度和資源消耗。

在基于泊松的脈沖序列中,由于隨機性,給定時間窗口內(nèi)實際生成的脈沖數(shù)量可能與預期值不完全一致,從而導致脈沖數(shù)量不可預測。因此,Y. Xu 等人(2017)提出了一種名為固定均勻脈沖序列生成算法(Fixed Uniform Spike Train Generation Algorithm, FUSTGA)的編碼方法,能夠更精確地將輸入轉(zhuǎn)換為脈沖序列。該算法的執(zhí)行過程如算法1所示,其中 為期望的時間窗口, 為歸一化到 [0, 1] 區(qū)間內(nèi)的輸入向量中的每個元素。根據(jù)該算法,脈沖數(shù)量()及其發(fā)放時刻()會根據(jù) 和 進行調(diào)整。

Ju 等人(2020)在其基于 FPGA 的網(wǎng)絡中實現(xiàn)了三種編碼方法:泊松-ISI、泊松-rand 和 FUSTGA,并對它們的準確率進行了比較。在 MNIST 數(shù)據(jù)集上,三種方法分別取得了 84.15%、98.82% 和 98.94% 的準確率。結(jié)果表明,F(xiàn)USTGA 方法的準確率優(yōu)于另外兩種泊松編碼方法。鑒于 MNIST 被視為一個簡單、玩具級的數(shù)據(jù)集,這一結(jié)果可能表明泊松-ISI 方法在靜態(tài)數(shù)據(jù)上的實用性有限。


G. Zhang 等人(2020)采用了一種基于群體編碼(population coding)的時序方法對輸入數(shù)據(jù)進行編碼。群體編碼利用一組均值不同但方差恒定的高斯曲線,通過概率分布模型來表示輸入數(shù)據(jù)(G. Tang 等,2021;G. Zhang 等,2020;P.-S. V. Sun 等,2024)。因此,該模型將輸入信息映射為脈沖發(fā)放時刻,可表示如下:


其中, 為最大脈沖發(fā)放時間, 為高斯感受域的數(shù)量, 為控制參數(shù)。

鑒于輸入編碼方式的選擇對網(wǎng)絡性能和效率具有重要影響,K. Wang 等人(2023)在 FPGA 上實現(xiàn)了四種常用算法,并從準確率、速度、計算量、硬件資源消耗以及抗噪聲能力等方面對它們進行了評估。他們研究了兩種用于頻率編碼的算法——滑動窗口(SW)算法(Webb 等,2011)和 Ben 脈沖生成算法(BSA)(Schrauwen & Van Campenhout,2003),以及兩種用于時序編碼的算法——基于脈沖寬度調(diào)制(PWMB)和前進步(SF)算法(N. Kasabov 等,2016)。這四種算法與 FPGA 更兼容,能夠更高效地在 FPGA 上實現(xiàn)。據(jù)他們所述,GA-gamma(N. Sengupta 等,2015)和小波編碼(Z. Wang 等,2016)這兩種算法復雜度過高,不太適合在 FPGA 上執(zhí)行。此外,SW 算法僅用于從脈沖信號中重構(gòu)原始信號。

  • BSA:BSA 算法的基礎(chǔ)是一個 FIR 濾波器。為了生成脈沖,需要計算原始信號與其濾波后信號之差的累積和。當該差值大于當前時刻原始信號的累積值時,便生成一個脈沖,并將原始信號減去濾波器的輸出值。
  • SF:SF 算法采用一個移動閾值。當信號超過閾值時,生成一個正脈沖;當信號低于閾值時,生成一個負脈沖,并更新閾值。
  • PWMB:在 PWMB 方法中,原始信號與一個參考值進行比較。根據(jù)原始信號的幅值生成不同寬度的脈沖,并在所生成脈沖的上升沿處產(chǎn)生一個脈沖事件。

表 3 展示了 K. Wang 等人(2023)在 FPGA 上實現(xiàn)并比較的這四種方法的性能對比結(jié)果。

對腦電圖(EEG)、心電圖(ECG)等傳感器數(shù)據(jù)進行連續(xù)、實時的信號處理是 SNN 的典型應用場景(Xiaoxue 等,2023;Azghadi 等,2020;Y. Yang 等,2023)。因此,將此類信號轉(zhuǎn)換為脈沖以進行實時處理至關(guān)重要(N. K. Kasabov,2014)。考慮到 FPGA 的資源限制,Leone 等人(Leone et al., 2023)提出了一種新方法,以降低能耗和運算次數(shù)。該方法的脈沖檢測過程包含以下五個階段,從原始數(shù)據(jù)開始依次進行:

  1. 濾波 :通過二階移動平均差分(Moving Average Difference, MAD)濾波器,從輸入信號中去除低頻成分;
  2. 脈沖增強 :對信號取絕對值,消除負值,以提高信號檢測的可靠性;
  3. 閾值設(shè)定 :閾值由信號在 0.82 毫秒時間窗內(nèi)的均值確定,因此該閾值每 0.82 毫秒更新一次;
  4. 檢測器 :識別出超過閾值的峰值;
  5. 脈沖分箱(Spike binning):將檢測到的峰值在相同的時間間隔內(nèi)以分組脈沖的形式輸出。

其脈沖檢測流程如圖 5 簡要所示。該方法使用兩只獼猴的電生理記錄數(shù)據(jù)進行了測試(Brochier 等,2018),并采用了 Z. Zhang 與 Constandinou(2021)提出的 MAD 濾波器,其表達式如下:



其中, 為輸入的連續(xù)信號, 為濾波器的階數(shù)。通過將 選擇為 2 的冪,該濾波器僅需執(zhí)行 + 1 次加法和一次右移操作,從而無需使用乘法器。本文中取 = 2。
Chu 等人(2022)使用電平穿越型模數(shù)轉(zhuǎn)換器(Level-Crossing Analog-to-Digital Converter, LC-ADC)將連續(xù)的 ECG 輸入數(shù)據(jù)轉(zhuǎn)換為脈沖,并將其作為網(wǎng)絡輸入。LC 是一種采樣方法,當信號穿越預設(shè)的閾值電平時即生成一個脈沖事件(Z. Wang 等,2020)。在該研究中,LC-ADC 產(chǎn)生的事件僅用單比特表示,從而簡化了 ADC 的量化過程,并同時實現(xiàn)了原生的時序編碼。

另一種可直接在 FPGA 上實現(xiàn)數(shù)據(jù)編碼的方法是直接使用 IF(積分-發(fā)放)或 LIF(漏電積分-發(fā)放)神經(jīng)元。這些神經(jīng)元根據(jù)輸入信號強度和膜電位變化被激發(fā),并依據(jù)輸入幅值以不同頻率產(chǎn)生脈沖。該方法可使用單個神經(jīng)元或一組神經(jīng)元實現(xiàn)(Fang 等,2020)。此外,直接利用神經(jīng)元進行編碼在信號處理應用中已展現(xiàn)出良好效果(Rathi & Roy,2020;Y. Wu 等,2019)。脈沖神經(jīng)元通常被視為 Δ-Σ(delta-sigma)模數(shù)轉(zhuǎn)換器。

3.2 學習規(guī)則
如第 2.3 節(jié)所述,已有大量方法被提出用于訓練 SNN。然而,將這些方法部署到硬件(包括 FPGA)上需要額外的考量。本節(jié)將探討近期在 FPGA 上實現(xiàn)的一些訓練方法及其所采用的技術(shù)。

3.2.1 無監(jiān)督學習規(guī)則
在 FPGA 上實現(xiàn) STDP 等學習規(guī)則的主要挑戰(zhàn)之一在于其包含指數(shù)項、乘法運算以及微分項的求解(J. Wu 等,2021;Bahrami & Nazari,2024)。為解決這些問題,研究人員提出了多種技術(shù),例如:使用查找表(LUT)實現(xiàn)(G. K. Chen 等,2018)、三角形近似(A. S. Cassidy 等,2013)、坐標旋轉(zhuǎn)數(shù)字計算(CORDIC)算法(Volder,1959)、分段線性(PWL)近似、基于 2 的冪次近似(Gomar & Ahmadi,2018)以及數(shù)值求解器等。

在這些方法中,Guo 等人(2021)成功在 FPGA 上實現(xiàn)了三元組 STDP(triplet STDP)模型,采用了兩種數(shù)值計算方法:歐拉法(Euler)和三階龍格-庫塔法(RK3)。其中,RK3 方法雖然消耗更多硬件資源,但顯著提升了訓練和推理速度。

由于乘法運算在硬件實現(xiàn)中會消耗大量資源,S. Yang、Wang、Deng 等人(2021)采用歐拉近似對 STDP 規(guī)則進行了簡化,并使用移位邏輯乘法器(Shift Logic Multiplier, SLM)模塊替代傳統(tǒng)乘法器,以避免過度消耗資源和功耗。本文在 FPGA 上實現(xiàn)所采用的 STDP 方程如下:


針對 STDP 計算中需處理所有脈沖對時序的問題——這一任務計算開銷大,尤其在 FPGA 上會消耗大量硬件資源——一種解決方案是采用基于跡(trace-based)的 STDP 規(guī)則。研究表明,該方法在保持與經(jīng)典方法相同準確率的同時,效率顯著更高(S. Hu 等,2021)。在基于跡的 STDP 規(guī)則中,“跡”(trace)指一個時間變量,用于記錄神經(jīng)元近期的脈沖活動歷史。它本質(zhì)上追蹤神經(jīng)元過去脈沖的衰減過程,反映其近期所經(jīng)歷的激活水平。每次脈沖發(fā)生時,跡值都會更新,并隨時間呈指數(shù)衰減。由于跡本身呈指數(shù)衰減,因此在計算權(quán)重更新時,可用它替代原始 STDP 方程中的指數(shù)函數(shù)(Gebhardt & Ororbia,2024)。

為便于理解,圖 6 展示了突觸權(quán)重如何根據(jù)突觸前和突觸后神經(jīng)元近期脈沖所留下的“跡”而變化。當突觸前或突觸后神經(jīng)元產(chǎn)生脈沖時,突觸權(quán)重會根據(jù)另一側(cè)神經(jīng)元所留跡值的大?。ㄓ善涿}沖時序決定)進行增強或削弱。在 S. Hu 等人(2021)的研究中,若突觸前神經(jīng)元發(fā)生脈沖事件,則突觸強度會根據(jù)突觸后跡(postsynaptic trace)的值進行削弱;反之,若突觸后神經(jīng)元發(fā)生脈沖事件,則連接權(quán)重會根據(jù)突觸前跡(presynaptic trace)的值進行增強。這意味著:在第一種情況下,當突觸前脈沖發(fā)生時,若此前已發(fā)生過突觸后脈沖,則符合傳統(tǒng) STDP 的概念,權(quán)重應減??;相反,在突觸后脈沖發(fā)生時,若此前已發(fā)生過突觸前脈沖,則權(quán)重應增大。公式(22)表達了這一機制,需注意的是,??? 和 ???? 在每次脈沖發(fā)生后均會呈指數(shù)衰減。



換句話說,權(quán)重更新過程僅在突觸前或突觸后脈沖發(fā)生時進行,無需存儲所有脈沖的時間戳。這顯著提升了效率并減少了硬件資源消耗(S. Hu 等,2021;He 等,2021)。

如前所述,針對 FPGA 中指數(shù)函數(shù)難以實現(xiàn)的問題,一種建議的解決方案是采用 CORDIC 方法(Bahrami & Nazari,2024)。CORDIC 是一種迭代算法,可用于計算多種復雜函數(shù),如指數(shù)函數(shù)、雙曲函數(shù)和三角函數(shù)。它僅使用簡單的移位和加法操作,因此在 FPGA 上實現(xiàn)起來簡單且高效(Meher 等,2009)。因此,在類腦計算方法中,指數(shù)函數(shù)常被用于描述神經(jīng)元和突觸的動力學行為,而 CORDIC 方法在此類場景下能夠顯著提升實現(xiàn)的精度與效率(J. Wu 等,2021)。Heidarpur 等人(2019)對傳統(tǒng) CORDIC 算法進行了簡化,并將其用于 STDP 規(guī)則的實現(xiàn)。有關(guān)該算法的更多細節(jié)可參見文獻(Heidarpur 等,2019;Heidarpour 等,2016)。

J. Wu 等人(2021)在 FPGA 上實現(xiàn)了多種不同的 STDP 實現(xiàn)方案并進行了比較。這些方法包括:Heidarpur 等人(2019)提出的簡化方法、傳統(tǒng)的 CORDIC 方法、C. Wang 等人(2018)提出的快速收斂 CORDIC 方法,以及 G. K. Chen 等人(2018)提出的基于查找表(LUT)的方法。他們證明,CORDIC 方法相比基于 LUT 的方法功耗和能耗更低;盡管 CORDIC 方法占用更多邏輯資源,但無需使用塊存儲器(BRAM)。在各類 CORDIC 方法中,快速收斂技術(shù)在迭代次數(shù)約為其他兩種方法一半的情況下,實現(xiàn)了最低的能耗。

Bahrami 與 Nazari(2024)提出了一種改進 CORDIC 算法收斂速度的方法,并將其用于實現(xiàn)指數(shù)運算符(Exp CORDIC)、自然對數(shù)運算符(Ln CORDIC)以及任意冪函數(shù)(Pow CORDIC)。最終,他們利用 Pow CORDIC 實現(xiàn)了 Spatial-Pow-STDP 學習算法。與傳統(tǒng) CORDIC 相比,所提出的方法在僅需 9 次迭代的情況下,以更少的參數(shù)和誤差實現(xiàn)了更高的精度。

為克服突觸可塑性和神經(jīng)元模型中非線性項實現(xiàn)的復雜性,Jokar 等人(2019)提出了一種基于均勻分段線性分割(uniform piecewise linear segmentation)的新方法(Soleimani 等,2012)。他們將該方法應用于鈣依賴型突觸可塑性模型(Graupner & Brunel,2012),該模型能夠生成 STDP 曲線。

Lammie 等人(2018)首次在 FPGA 上實現(xiàn)了 T-STDP 算法(Pfister & Gerstner,2006)。他們用低分辨率的無符號移位-加法乘法器替代了浮點乘法器,并將突觸系數(shù)(即公式 12 中的 和 )替換為 2^ 形式的值(其中 ∈ ?),從而緩解了乘法運算對硬件資源的高消耗問題。

在 S. Yang、Wang、Pang、Jin 與 Linares-Barranco(2024)發(fā)表的文章中,提出了一種四元組 STDP(Quadruplet STDP, Q-STDP)學習算法,作為適用于 FPGA 實現(xiàn)的高效方法。在該算法的實現(xiàn)中,復雜的指數(shù)函數(shù)被線性微分方程所替代,從而能夠在數(shù)字硬件上直接且低成本地部署。該算法中的突觸權(quán)重更新方程定義如下:


其中, 表示用于考慮突觸前與突觸后脈沖之間時間對齊的時間延遲,?、?、?、?、? 和 ? 是表示增強(potentiation)與抑制(depression)電位的變量。這些變量通過如下所示的線性微分方程進行建模:


其中,??、??、?? 分別為增強電位 ?、?、? 的時間常數(shù),??、??、?? 分別為抑制電位 ?、?、? 的時間常數(shù)。本文的實驗結(jié)果表明,Q-STDP 相較于 T-STDP 和傳統(tǒng) STDP 算法具有更高的學習準確率,并且具備更強的容錯能力。

3.2.2 監(jiān)督學習規(guī)則監(jiān)督學習是現(xiàn)代深度學習的核心組成部分,盡管與無監(jiān)督方法相比,它通常需要消耗更多的計算資源。G. Zhang 等人(2020)的工作將 Tempotron 的監(jiān)督學習方法進行了推廣,其靈感來源于慣性的物理定律。在計算當前權(quán)重更新值時,保留一部分先前權(quán)重更新值,從而確定最終權(quán)重更新的方向。權(quán)重更新的幅度計算公式為:Δ? = ∑{? < ???} (??? ? ?),其中, 為學習率,決定突觸權(quán)重更新的最大幅度;? 表示第 個傳入神經(jīng)元的脈沖發(fā)放時間;??? 表示突觸后膜電位達到最大值的時刻; 表示歸一化的突觸后電位核函數(shù)。關(guān)于 Tempotron 學習的更多細節(jié)可參見文獻(Gütig & Sompolinsky, 2006)。

G. Zhang 等人(2020)的研究通過引入動量(momentum)項對原始方法進行了改進,其權(quán)重更新規(guī)則如下:


Bethi 等人(2022)提出了優(yōu)化的深度事件驅(qū)動脈沖神經(jīng)網(wǎng)絡架構(gòu)(Optimized Deep Event-driven Spiking Neural Network Architecture, ODESA)方法,用于監(jiān)督式網(wǎng)絡訓練。在該方法中,網(wǎng)絡在基于事件的數(shù)據(jù)上進行局部訓練。具體而言,下一層的活動被用作前一層的監(jiān)督信號,突觸權(quán)重僅根據(jù)每一層自身的活動進行調(diào)整,而無需依賴其他層的權(quán)重信息。本質(zhì)上,該方法利用了兩種信號:局部注意信號(Local Attention Signals, LAS)和全局注意信號(Global Attention Signals, GAS)。LAS 由隱藏層生成,而 GAS 由輸出層產(chǎn)生。這些信號在訓練過程中用于對神經(jīng)元施加獎勵或懲罰:每當某一層產(chǎn)生脈沖時,LAS 會作用于前一層,獎勵那些對當前脈沖活動有貢獻的神經(jīng)元;GAS 則由輸出層生成并作用于網(wǎng)絡中的所有層——當輸入被正確分類時,活躍神經(jīng)元獲得獎勵;若分類錯誤或輸出層無活動,則對其施加懲罰。ODESA 的設(shè)計靈感來源于 Afshar 等人(2020)提出的基于自適應選擇閾值的特征提取(Feature Extraction using Adaptive Selection Thresholds, FEAST)方法。

Mehrabi、Bethi、van Schaik 等人(2023)成功在 FPGA 上實現(xiàn)了 ODESA 算法。該工作包含一個多層網(wǎng)絡,每層均配備獨立的訓練模塊,從而支持無需反向傳播的在線監(jiān)督訓練。在此架構(gòu)中,他們采用局部自適應選擇閾值,對每一層施加“勝者通吃”(Winner-Takes-All, WTA)約束,并使用了一種更適用于硬件實現(xiàn)的改進型權(quán)重調(diào)整規(guī)則。該論文展示了 ODESA 算法與硬件的良好兼容性及其在在線訓練中的適用性。此外,Mehrabi、Bethi、van Schaik 與 Afshar(2023)進一步優(yōu)化了其硬件實現(xiàn),將硬件神經(jīng)元中計算成本較高的點積運算替換為低成本的移位寄存器。通過這一策略,顯著降低了 FPGA 層面的資源消耗,使得更復雜的 SNN 網(wǎng)絡得以實現(xiàn)。

Quintana 等人(2022)成功在 FPGA 上實現(xiàn)了獎勵調(diào)制脈沖時序依賴可塑性(Reward-modulated STDP, R-STDP)的學習機制。如圖 7 所示,R-STDP 的計算首先需要在每個時間步并行計算每個輸入突觸群體的 STDP 跡(trace)。然而,為減少突觸前和突觸后計算所需的硬件組件,該設(shè)計采用了時分復用(time multiplexing)技術(shù)。當輸入脈沖發(fā)生時,? 的值增加一個用戶設(shè)定的常量; 寄存器則累積 ? 的值。當突觸后脈沖發(fā)生時,? 增加,而 則累積 ? 的值。在每個時間步,所有寄存器均根據(jù)公式(22)采用歐拉法進行更新。在計算出資格跡(eligibility trace)后,將其值與全局多巴胺水平相乘,以確定突觸權(quán)重的變化量。


為在不顯著增加資源消耗的前提下提升準確率,He 等人(2021)將跡輔助(trace-assisting)、三元組 STDP(triplet-based STDP)和 R-STDP 方法相結(jié)合用于網(wǎng)絡訓練。該工作利用跡輔助技術(shù)避免大量時間戳的存儲,并借助 R-STDP 提高準確率。輸入層的權(quán)重被隨機初始化并保持固定,僅隱藏層與輸出層之間的權(quán)重根據(jù)上述方法進行訓練和更新。

如前所述,提出一種監(jiān)督學習方法,使其既能適應現(xiàn)實認知應用、符合生物最優(yōu)性原則,又能支持在線學習,是極具價值且必要的。大多數(shù)基于梯度下降的方法通常需離線執(zhí)行,這可能對系統(tǒng)的最終準確率產(chǎn)生不利影響。因此,Tavanaei 與 Maida(2019)將 STDP 與反向傳播相結(jié)合,提出了 BP-STDP 方法。該方法不僅基于類腦啟發(fā)原則,還執(zhí)行監(jiān)督式的反向傳播操作以實現(xiàn)更高準確率。在該算法中,首先更新隱藏層與輸出層之間的權(quán)重(Δ?,?),隨后按如下方式更新輸入層與隱藏層之間的權(quán)重(Δ?,?):


輸出神經(jīng)元的誤差可近似表示為 ε?,它代表目標類別神經(jīng)元與脈沖神經(jīng)元之間的差異,并可作為梯度下降的一種變體應用,如公式26所示。J. Zhang等人(2021)使用BP-STDP方法在FPGA上訓練了他們的網(wǎng)絡。他們沒有采用速率編碼,而是提出了加權(quán)神經(jīng)元模型,其中每個脈沖的幅度與輸入成正比。因此,公式27和26中過去四個時間步內(nèi)神經(jīng)元的脈沖計數(shù)可被替換為 W S?。

先前的研究表明,可以通過傳遞有關(guān)信用分配的神經(jīng)信息的反饋信號,在隱藏層中計算局部誤差信號,從而實現(xiàn)在線學習(Lillicrap等人,2016)。然而,這些模型在模擬真實大腦性能方面面臨挑戰(zhàn),因為它們需要獨立的反饋通路來傳輸神經(jīng)信息以確定局部誤差信號。這種方法由于需要將每個隱藏層神經(jīng)元與相應的反饋誤差信號配對,因而與真實大腦不兼容。因此,S. Yang、Wang、Pang、Azghadi 和 Linares-Barranco(2024)提出了面向樹突的學習系統(tǒng)(NADOL)的神經(jīng)形態(tài)架構(gòu),其設(shè)計靈感源自人腦中的生物學習機制。該架構(gòu)將反饋和前饋信號整合到不同的樹突區(qū)室(包括頂樹突和基樹突段)中,從而增強信用分配和基于脈沖的學習。通過利用樹突區(qū)室的獨特特性,NADOL 模擬了大腦分別處理感覺信號和反饋信號的能力。這種分離使得無需依賴反向傳播等低效方法即可精確計算誤差,從而提高了與生物過程的兼容性。半監(jiān)督的 NADOL 訓練算法已在基于 FPGA 的 BiCoSS 平臺上實現(xiàn)(S. Yang, Wang, Hao 等人,2021),并利用了時分復用、PWL 和歐拉技術(shù)進行數(shù)字優(yōu)化。

為了更好地理解本節(jié)討論的方法,表4提供了針對FPGA實現(xiàn)所適配的一些規(guī)則的簡明比較。在該表中,根據(jù)所采用的規(guī)則和實現(xiàn)技術(shù),匯總了每項研究消耗的資源。此外,還以概括方式列出了每項研究的優(yōu)勢與劣勢。值得注意的是,所介紹的學習規(guī)則的主要影響在于整體網(wǎng)絡性能和所達到的精度,這些內(nèi)容將在第3.4節(jié)(表9)中呈現(xiàn)并加以比較。同時,也提供了使用這些方法所實現(xiàn)的網(wǎng)絡精度。


3.3 神經(jīng)元模型
神經(jīng)元是脈沖神經(jīng)網(wǎng)絡的核心構(gòu)建單元,其能力對網(wǎng)絡的功耗、精度和性能具有顯著影響。如第2.2節(jié)所述,已有多種類型的脈沖神經(jīng)元被提出,它們在生物合理性與計算復雜度方面各不相同??紤]到輕量級FPGA上的資源限制,神經(jīng)元模型的計算開銷成為一個關(guān)鍵考量因素。大量先前的研究致力于通過引入各種技術(shù)來降低硬件資源消耗,同時保持足夠的生物準確性,從而減少計算需求。在本節(jié)中,我們將重點介紹近期工作中提出的若干神經(jīng)元模型,并分析它們在FPGA上的實現(xiàn)方法。

前一節(jié)中公式5所示的Izhikevich模型呈現(xiàn)的是該方程的連續(xù)形式,若要在FPGA等數(shù)字系統(tǒng)中使用,則必須對其進行離散化。因此,最簡單的離散化方法之一是采用歐拉法,正如Humaidi等人(2020)所推導出的近似解如下所示:


由于在FPGA中進行有符號浮點數(shù)運算代價高昂,因此神經(jīng)元的數(shù)值采用定點數(shù)表示,其范圍為[?1, 1]。為此,需將和縮小100倍,以使其適配算術(shù)系統(tǒng)所需的數(shù)值范圍。此外,若將時間步長(timestep)設(shè)為2的冪次,則積分運算可簡化為一次右移操作。因此,在(Humaidi 等人,2020)中,該時間步長取值為1∕16。而在(Quintana 等人,2022)中,該時間步長被設(shè)為1∕8,并基于上述縮放操作,Izhikevich方程被轉(zhuǎn)換如下:


在該方程中,與原始Izhikevich方程(公式5)相比,1/32取代了小數(shù)0.04,從而用五次右移操作替代了乘法運算。此外,數(shù)值5被替換為4,以將其轉(zhuǎn)化為兩次左移操作(A. Cassidy & Andreou, 2008)。這種Izhikevich神經(jīng)元的實現(xiàn)如圖8所示。更新和的過程采用流水線方式完成,在不同步驟中僅使用一個乘法器。在經(jīng)過六個階段計算出和之后,最后一個階段將的值與閾值進行比較,以確定脈沖生成條件及后續(xù)的和值。這些數(shù)值假定為18位,其中10位用于整數(shù)部分,8位用于小數(shù)部分。因此,本實現(xiàn)中使用了18×18位的乘法器。由突觸連接產(chǎn)生的興奮性電流??c和抑制性電流???,需要1毫秒時間來增加其電流值;然而,它們表現(xiàn)出不同的漏電行為,時間常數(shù)分別為3毫秒和10毫秒。因此,在公式31中,它們被分別寫出并嵌入方程。


迄今為止,已有大量文章致力于Izhikevich神經(jīng)元的數(shù)學建模,例如(Ghanbarpour等人,2023;Heidarpur等人,2024;Lin等人,2020;Pi & Lin,2022)。其中,Leigh等人(2020)提出了一種稱為“面向硬件的改進型Izhikevich神經(jīng)元”(HOMIN)的方法。在數(shù)字系統(tǒng)中,通過簡單的移位操作即可實現(xiàn)將數(shù)字乘以2?(其中 ∈ ?)。因此,他們將近似Izhikevich模型中的常數(shù)參數(shù)替換為其最接近的2?值,以減少對乘法單元的需求。以下提供了HOMIN模型的簡化方程,該方程使用歐拉法離散化,其中 = 2?? = 0.03125:



其中,?() 表示第 個神經(jīng)元在時刻 的膜電位,?() 是第 個神經(jīng)元的發(fā)放信號, 是閾值。在該模型中,由于每個周期僅生成一個脈沖,因此從內(nèi)存讀取數(shù)據(jù)的速率和脈沖發(fā)放頻率均會降低,從而減少功耗。此外,膜電位的累積過程僅涉及加法器,無需使用乘法器。

Jokar 等人(2019)采用均勻分段線性分割方法,處理 Izhikevich 和 FitzHugh–Nagumo(FHN)神經(jīng)元模型(FitzHugh, 1961),以及更復雜的 Hindmarsh–Rose(HR)神經(jīng)元三維模型(Rose & Hindmarsh, 1989),以簡化其在 FPGA 上的實現(xiàn)。

Nitzsche 等人(2021)在 Xilinx Zynq UltraScale+ ZCU102 FPGA 開發(fā)板上實現(xiàn)了多種神經(jīng)元模型,并進行了比較分析。他們采用定點數(shù)表示數(shù)值,并根據(jù)誤差水平確定每種模型的最佳位寬和小數(shù)點位置。他們未使用 DSP 單元,以便所有模型能公平比較,并全部使用邏輯單元完成運算。此外,在實現(xiàn)每種模型時,他們盡可能利用 2 的冪次特性,以消除對乘法器的需求。這種比較尤為重要,因為不同的 DSP 單元針對不同運算進行優(yōu)化。表5 提供了每種神經(jīng)元在相同 FPGA 模型下的位寬、可實現(xiàn)頻率、功耗及資源利用率。同時,也標注了各模型的生物合理性,以提供更全面的比較。


對于一種極其高效的 LIF 神經(jīng)元,Ye 等人(2022)提出了一種擴展預測校正(EPC)方法,取代常用的歐拉法。他們采用了二階 EPC 方法,在獲得參數(shù)后,通過移位操作執(zhí)行計算。他們聲稱,使用 EPC 方法不僅消除了微分計算,還降低了硬件需求并提高了神經(jīng)元對抗誤差的穩(wěn)定性。他們提出的 LIF 神經(jīng)元結(jié)構(gòu)包含 18 個觸發(fā)器(FF)和 86 個查找表(LUT)。此外,他們利用遺傳算法(Lambora 等人,2019)優(yōu)化神經(jīng)元閾值。這與超參數(shù)搜索過程中優(yōu)化閾值的方法并無太大區(qū)別,因為此類搜索通常采用基于進化策略的方法。

通常,在 FPGA 實現(xiàn)中使用兩種更新神經(jīng)元狀態(tài)的方法:時間驅(qū)動和事件驅(qū)動更新方法。在時間驅(qū)動算法中,每個時間步都必須檢查所有神經(jīng)元的狀態(tài),以確定是否產(chǎn)生脈沖。以下給出了時間驅(qū)動更新方程,其中假設(shè)采用簡化的 LIF 神經(jīng)元類型 ??? = ? × exp(?Δ/):


其中,??? 是第 個突觸后神經(jīng)元在時間步 +1 的膜電位,?() ∈ {0, 1} 是第 個突觸前神經(jīng)元在時刻 的狀態(tài),?,? 是第 個與第 個神經(jīng)元之間的連接權(quán)重, 是神經(jīng)元總數(shù), 是漏電時間常數(shù)。該方法通常較為浪費,因為沒有必要更新那些未接收到任何輸入脈沖的神經(jīng)元(Y. Liu 等人,2022),盡管它可能在發(fā)放活動較高的網(wǎng)絡中,或在需要確定性執(zhí)行的程序化工作負載中帶來益處。

另一方面,在事件驅(qū)動算法中,神經(jīng)元僅在事件發(fā)生時才被更新。如果某個事件發(fā)生并由一個神經(jīng)元觸發(fā)脈沖,則這些事件將被排隊,下游神經(jīng)元隨之被更新。此方法可比時間驅(qū)動方法高效得多,但事件排序會增加硬件復雜度。然而,這一過程也可并行執(zhí)行,類似于生物系統(tǒng)(Han 等人,2020)。事件驅(qū)動更新基于以下原則進行:


在(Carpegna 等人,2022)中,采用了一種時鐘驅(qū)動(clock-driven)的方法來更新神經(jīng)元的膜電位。這意味著在每個時鐘周期內(nèi),都會根據(jù)LIF神經(jīng)元的指數(shù)關(guān)系對膜電位進行評估。然而,輸入僅在脈沖出現(xiàn)時才被檢查。該方法雖然增加了功耗,但占用的硬件資源更少。

在FPGA上以類似于軟件仿真那樣精確的方式實現(xiàn)神經(jīng)元和學習規(guī)則十分復雜,因此需要引入簡化方法和技術(shù)以降低這種復雜性。在數(shù)據(jù)驅(qū)動任務的背景下,許多此類近似是可以接受的。因此,表6簡要總結(jié)了所綜述文獻中使用的技術(shù)及其目標。


3.3.1 評估指標
鑒于所采用的近似方法數(shù)量眾多,我們提供三種常用的主評估標準:


可使用多種參數(shù)來評估所提出的神經(jīng)元模型并確定其最優(yōu)性。除上述誤差指標外,所使用的硬件資源等因素也至關(guān)重要。表7總結(jié)了數(shù)據(jù)可獲取的各類神經(jīng)元,包括所提出的神經(jīng)元類型、位數(shù)、采用的簡化與實現(xiàn)技術(shù),以及相對于全精度實現(xiàn)所達到的準確率。最大可實現(xiàn)工作頻率和執(zhí)行時間也應被考慮,但由于其依賴于FPGA器件的具體型號,本文未將其列入。另一方面,表中所列數(shù)值代表各文獻在不同執(zhí)行條件下所能達到的最佳性能。需注意的是,神經(jīng)元的生物合理性是選擇和設(shè)計神經(jīng)元的重要標準,它表明該模型能再現(xiàn)真實神經(jīng)元的多少種生物學特征。在表7中,可根據(jù)生物合理性對IH、HR、IZH、FHN、AdEx和LIF神經(jīng)元進行優(yōu)先排序,盡管設(shè)計者也可能關(guān)注與基于梯度或局部學習規(guī)則兼容的神經(jīng)元模型,這同樣會影響特定應用下哪種模型更優(yōu)。


3.4 網(wǎng)絡架構(gòu)與系統(tǒng)設(shè)計

即使各個模塊設(shè)計精良且經(jīng)過優(yōu)化,網(wǎng)絡的整體架構(gòu)通常仍對整體性能起決定性作用。本節(jié)回顧了幾種近期的FPGA系統(tǒng)實現(xiàn)方案,并研究了完整網(wǎng)絡的設(shè)計方法及其組件與子模塊間的交互方式。我們發(fā)現(xiàn),為實現(xiàn)FPGA上不同子系統(tǒng)間更有效的交互,必須采用某些技術(shù)及附加組件——這些在軟件框架中可能并不明顯。

Han等人(2020)結(jié)合事件驅(qū)動與時間驅(qū)動方法實現(xiàn)網(wǎng)絡,利用多個標記有時間戳Q?的事件隊列(其中n的取值范圍為0到D?1,D表示最大延遲)。因此,同時發(fā)生的事件被放入同一隊列,無需排序。在每個時間步,活動隊列為Q?,此時執(zhí)行事件處理并更新神經(jīng)元狀態(tài)。若某神經(jīng)元發(fā)放脈沖,則一個新事件將帶延遲被置入事件隊列。當前步驟直至Q?清空才結(jié)束。一旦事件隊列變空,標簽值減一,Q?以循環(huán)方式重用,即變?yōu)镼_{D?1}。通過實施這種混合更新算法,消除了排序過程,從而降低了系統(tǒng)運行時的延遲。該結(jié)構(gòu)包含四個主要組件,每個組件均配備一個控制器。

事件隊列子模塊負責事件隊列的硬件實現(xiàn),而事件控制器子模塊負責管理這些隊列。此外,還設(shè)有權(quán)重、狀態(tài)和延遲存儲器子模塊,分別用于保存神經(jīng)元的權(quán)重與狀態(tài)以及各類事件的延遲。該結(jié)構(gòu)的核心部分是狀態(tài)更新器,它檢查神經(jīng)元的狀態(tài),在激活時將其值設(shè)為預設(shè)值,并定義新事件。狀態(tài)更新器可并行執(zhí)行,同時檢查多個神經(jīng)元的狀態(tài)。

受Han等人(2020)啟發(fā),Y. Liu等人(2022)提出了一種具有時間-事件混合算法的新結(jié)構(gòu)。該結(jié)構(gòu)設(shè)計分為三部分:神經(jīng)元計算架構(gòu)、驅(qū)動算法設(shè)計、平臺構(gòu)建與測試。在神經(jīng)元設(shè)計部分,該結(jié)構(gòu)支持IZH和LIF兩種神經(jīng)元。在驅(qū)動算法設(shè)計部分,其實施采用了泊松脈沖算法、地址事件表示(AER)總線和環(huán)形先進先出(FIFO)結(jié)構(gòu)。最終,通過整合所有部分,加速器平臺得以完成。AER地址總線用于脈沖的最優(yōu)傳輸(Boahen, 2000)。環(huán)形FIFO陣列用于緩沖輸入脈沖事件和內(nèi)部脈沖事件。只要FIFO非空,神經(jīng)元更新將持續(xù)進行。

在Ye等人(2022)的文章中,作者提出了一種名為ELIF-NHAS的優(yōu)化架構(gòu),能夠基于收縮陣列架構(gòu)(R. Xu等人,2023)執(zhí)行多層感知機(MLP)和卷積運算。該架構(gòu)的總體視圖如圖9所示。為確保系統(tǒng)功能正常,需要設(shè)計并排布各種組件與模塊。本文中的網(wǎng)絡輸入為圖像數(shù)據(jù),首先送入編碼器單元,通過泊松速率編碼轉(zhuǎn)換為脈沖,然后存入脈沖緩沖區(qū)。Map Record模塊根據(jù)網(wǎng)絡類型和需求重新排列數(shù)據(jù)。神經(jīng)元核心由用于全連接計算的FC Core和用于卷積計算的PE Array組成。計算過程基于(Y. Liu等人,2022)以流水線和并行方式執(zhí)行。神經(jīng)元位于EPC-LIF模塊內(nèi),其詳細信息見第3.3節(jié)。膜電位和神經(jīng)元狀態(tài)在每一步更新后存儲于神經(jīng)元存儲器中。當系統(tǒng)執(zhí)行更新時,通過突觸核心收集對應地址的權(quán)重。Leak FSM模塊負責控制不同神經(jīng)元漏電的同步。脈沖計數(shù)器統(tǒng)計神經(jīng)元發(fā)出的脈沖數(shù)量,作為確定最終輸出的基礎(chǔ)。最后,控制器核心負責協(xié)調(diào)所有不同的系統(tǒng)模塊。此外,該模塊包含一個存儲網(wǎng)絡拓撲所有參數(shù)的內(nèi)存,可通過UART總線配置,便于輕松修改網(wǎng)絡拓撲。


在(Mitchell等人,2020)中,提出了名為μCaspian的架構(gòu)及相應的PCB開發(fā)板設(shè)計。該設(shè)計提供了一種成本效益高、尺寸小、重量輕、功耗優(yōu)化的神經(jīng)形態(tài)硬件平臺。本文的主要目標是為研究人員提供一種經(jīng)濟實惠的硬件選項和開源FPGA工作流。這是因為流行的硬件選項(如IBM的TrueNorth(Akopyan等人,2015)和Intel的Loihi(M. Davies等人,2018))公眾難以獲取,導致在實際應用中部署或評估它們具有挑戰(zhàn)性甚至不可能。Xia等人(2020)利用以太網(wǎng)接口實現(xiàn)了其網(wǎng)絡與其他FPGA通信的能力,從而能夠構(gòu)建大規(guī)模網(wǎng)絡。

C. Tang & Han(2023)提出了一種權(quán)值二值化的脈沖神經(jīng)網(wǎng)絡(WB-SNN),旨在減少內(nèi)存占用和硬件資源。在此網(wǎng)絡中,脈沖被視為0和1,分別代表無脈沖和有脈沖;權(quán)重則被限制為-1和1。此外,為避免考慮符號位,-1被表示為0,僅需一位內(nèi)存即可同時表示權(quán)重和脈沖。先前研究表明,SNN對權(quán)值二值化高度容忍,因為它們將信息投射到神經(jīng)元狀態(tài)和時間維度上(Eshraghian & Lu, 2022)。在該架構(gòu)中,采用優(yōu)先級編碼器(PE)用于層間通信,其編碼最高優(yōu)先級的活動比特索引。編碼后的比特指示內(nèi)存地址位置,從而使比特寬度從N個輸入通道降至log?N。當PE完成對最高優(yōu)先級比特的編碼后,優(yōu)先級解析電路(PRI)清除該比特,使PE繼續(xù)編碼次高優(yōu)先級比特。此外,還使用了一個計數(shù)器來實現(xiàn)IF神經(jīng)元的最簡單、最節(jié)省資源的實現(xiàn)。

權(quán)值二值化和量化是一種常見的降低內(nèi)存消耗的技術(shù)。然而,應注意的是,該技術(shù)應在訓練過程中應用,正如Qiao等人(2020)所證明的那樣,訓練后應用該技術(shù)會導致網(wǎng)絡準確率顯著下降。類似地,S. Hu等人(2021)使用基于STDP的量化和二值化權(quán)值訓練其網(wǎng)絡。他們證明,使用4位量化權(quán)值的網(wǎng)絡在MNIST數(shù)據(jù)集上達到了93.8%的準確率,而使用32位權(quán)值的網(wǎng)絡準確率為94.1%。這表明,與顯著減少的內(nèi)存使用相比,準確率的下降可以忽略不計。此外,二值網(wǎng)絡達到了92.9%的準確率,顯著減少了內(nèi)存使用并將輸入-權(quán)值乘法過程轉(zhuǎn)化為簡單的AND操作。

在Chu等人(2022)的文章中,采用了一種基于(Yan等人,2021;Corradi等人,2019)的循環(huán)網(wǎng)絡用于隱藏層,該網(wǎng)絡具有循環(huán)和稀疏連接,被稱為“液態(tài)池”。如圖10所示,輸入脈沖連接至液態(tài)池,從而處理時間特征并提高分類準確率。最后兩層負責分類任務。液態(tài)池輸出連接至分類器,以及輸入層到液態(tài)池的連接,均采用稀疏連接以減少處理時間和成本。密集連接僅存在于輸出層,以降低計算需求。此外,該網(wǎng)絡中的所有權(quán)重均使用時空反向傳播(STBP)算法進行訓練(有關(guān)STBP更多信息,請參見Y. Wu, Deng, Li, Zhu, & Shi, 2018)。


為了構(gòu)建大規(guī)模網(wǎng)絡,Leone等人(2022)提出了一種使用片外雙倍數(shù)據(jù)速率(DDR)存儲器的全連接網(wǎng)絡,因為他們證明數(shù)據(jù)傳輸帶寬足以避免系統(tǒng)中斷。他們將突觸權(quán)重存儲在DDR內(nèi)存中,通過高級可擴展接口(AXI)高性能端口與FPGA通信。然而,他們將Izhikevich神經(jīng)元的參數(shù)和突觸電流存儲在塊RAM(BRAM)中。由于Izhikevich神經(jīng)元的輸入必須是電流,他們根據(jù)圖11所示方式進行層間通信。權(quán)重以64位值形式從DDR內(nèi)存中提取,直接使用而無需緩沖。由于權(quán)重為8位,因此8位權(quán)重比特同時作為輸入傳入AND門,如圖11所示。當脈沖通過每個神經(jīng)元時,其權(quán)重通過使用LUT實現(xiàn)的加法器累加,然后使用DSP進行累積。

如前所述,各種個人和公司已推出了以數(shù)字為主的神經(jīng)形態(tài)硬件平臺,每個平臺都具有獨特的優(yōu)缺點。S. Yang、Wang、Hao 等人(2021)提出了一種受生物啟發(fā)的認知超級計算系統(tǒng)(BiCoSS)平臺,該平臺使用了35塊 Cyclone IV FPGA,每塊 FPGA 連接兩個同步動態(tài)隨機存取存儲器(SDRAM)以及額外的組件和外圍電路。借助異構(gòu)多核架構(gòu),該平臺能夠?qū)崟r支持超過四百萬個脈沖神經(jīng)元。他們的主要目標之一是開發(fā)一個具備多粒度能力的平臺——這一特性在幾乎所有先前的平臺中都未能完全實現(xiàn)。此外,他們還旨在彌合神經(jīng)科學與神經(jīng)形態(tài)架構(gòu)之間的鴻溝。本研究中的多粒度神經(jīng)形態(tài)架構(gòu)被劃分為六個部分:從神經(jīng)元形態(tài)角度看,該架構(gòu)同時包含點神經(jīng)元模型和區(qū)室神經(jīng)元模型(S. Yang, Deng 等人,2019;Y. Sun 等人,2023);在生物合理性方面,支持多種神經(jīng)元模型,如 LIF、IZ、HH 等;在網(wǎng)絡拓撲層面,涵蓋前饋網(wǎng)絡和循環(huán)網(wǎng)絡;在突觸層面,包含電突觸和化學突觸;在學習規(guī)則層面,支持多種學習規(guī)則。

3.4.1 卷積脈沖神經(jīng)網(wǎng)絡
大多數(shù)基于 FPGA 的脈沖神經(jīng)網(wǎng)絡(SNN)研究集中于多層感知機(MLP)的探索與實現(xiàn),而卷積神經(jīng)網(wǎng)絡(CNN)在計算機視覺任務中通常占據(jù)運算量的主導地位(Aung 等人,2021;Lemaire 等人,2020)。這種更強的特征提取能力是以增加運算量為代價的。因此,CNN 能從激活稀疏性中顯著受益,因為激活稀疏性可大幅減少所需的總運算次數(shù)(Veeravalli 等人,2022;Tapiador-Morales 等人,2018)。

Q. Chen、Gao、Fang 和 Luan(2022)提出了一種卷積 SNN,其中處理單元由多個基于濾波器的脈沖處理單元(SPE)簇構(gòu)成,如圖12所示。顯然,每個簇包含若干個基于通道的 SPE 和加法樹。每個基于通道的 SPE 接收一個濾波器內(nèi)部分卷積核,并計算部分膜電位之和,其中每個部分被劃分為4個數(shù)據(jù)流。每個數(shù)據(jù)流產(chǎn)生的部分和由加法樹進行匯總,最終計算出該簇中特定通道的輸出膜電位。每個 SPE 簇連接一個存儲權(quán)重的存儲體。他們指出,由于輸入通道的稀疏性各不相同,包含更多零值的 SPE 運算更快,而包含非零值的 SPE 造成最大延遲,從而導致負載不平衡。為解決事件驅(qū)動工作負載不平衡的問題,該論文提出了通道均衡工作負載調(diào)度(CBWS)方法,將輸入通道劃分為 N 個近似工作負載相等的組,并由 N 個 SPE 分別處理。文中通過近似比例關(guān)系構(gòu)建(APRC)方法獲得近似相對工作負載,并將其用于 CBWS。在應用這兩種方法后,負載均衡比率從79.63%提升至94.14%。


Aung 等人(2021)提出了一種高性能的 RTL IP 核,通過將 IF 脈沖神經(jīng)元集成到 CNN 中,以加速卷積 SNN 的推理。該神經(jīng)元架構(gòu)基于(Pani 等人,2017)進行配置,并采用三級加法樹來整合權(quán)重與輸入。加法樹的第一級使用 DSP 實現(xiàn),其余兩級則通過可配置邏輯塊(CLB)執(zhí)行。此外,網(wǎng)絡訓練采用標準反向傳播算法完成。

為實現(xiàn)更優(yōu)的特征提取,Lemaire 等人(2020)首先利用 CNN 對輸入圖像進行處理,隨后使用 SNN 進行優(yōu)化分類。網(wǎng)絡結(jié)構(gòu)如圖13所示。如圖所示,RGB 圖像作為輸入送入尺寸為 28×28 的 CNN 網(wǎng)絡。隨后,卷積層和最大池化層提取出尺寸為 4×4×5 的潛在特征(Hamdan,2018)。這些特征被展平并通過脈沖發(fā)生器轉(zhuǎn)換為脈沖序列。這些脈沖依次通過兩層采用 IF 神經(jīng)元的 SNN,最終層的輸出由“終止 Delta 模塊”(Terminate Delta Module)用于確定輸出類別并完成分類。


Ju 等人(2020)實現(xiàn)了一個深度 SNN,該網(wǎng)絡通過 ANN-SNN 轉(zhuǎn)換方法進行訓練(Rueckauer 等人,2017)。最大池化有助于減少網(wǎng)絡參數(shù)數(shù)量(Scherer 等人,2010)。然而,其硬件實現(xiàn)面臨挑戰(zhàn),因為在每個時間步都必須考慮神經(jīng)元的發(fā)放率。受 Y. Hu 與 Pfeiffer(2016)的啟發(fā),發(fā)放率根據(jù)所提出的公式41進行計算。在該公式中,?() 表示神經(jīng)元 在時刻 是否發(fā)放脈沖, 為一次輸入呈現(xiàn)的時間窗口長度。

J. Li 等人(2023)提出了若干解決方案,以應對 FPGA 中的數(shù)學計算挑戰(zhàn)和內(nèi)存限制。他們在 Xilinx Ultrascale FPGA 上實現(xiàn)了一種脈沖卷積神經(jīng)網(wǎng)絡(SCNN)。他們將突觸進行打包,并將其送入 DSP48E2 單元,然后利用脈沖信號動態(tài)啟用或禁用這些 DSP,從而以更少的硬件資源構(gòu)建出高速交叉開關(guān)(crossbar)。對于一個 16×4 的交叉開關(guān),僅需 8 個 DSP,且無需使用 LUT 和 FF。此外,他們通過一種分層的數(shù)據(jù)傳輸機制,在片外內(nèi)存帶寬與片上內(nèi)存對權(quán)重和神經(jīng)元狀態(tài)的消耗之間取得平衡,從而實現(xiàn)了更高的內(nèi)存效率。

為加速從深度神經(jīng)網(wǎng)絡(DNN)到脈沖神經(jīng)網(wǎng)絡(SNN)的轉(zhuǎn)換推理過程,S.-Q. Wang 等人(2020)提出了一種名為 SIES(SNN 推理引擎)的架構(gòu)。他們將所有計算單元集成到一個統(tǒng)一的脈動陣列(systolic array)中,以加速膜電位的計算。他們還增加了一個可選的最大池化模塊,以減少不必要的數(shù)據(jù)移動,并開發(fā)了一種硬件機制,用于更快地準備輸入脈沖。他們所提出的架構(gòu)顯著提升了數(shù)據(jù)處理效率,并增強了 SNN 的硬件并行化能力。

為了在利用 CNN 強大能力的同時避免其超參數(shù)繁多的問題,從而在 FPGA 上實現(xiàn)高效執(zhí)行,Y. Chen 等人(2023)提出了一種采用參數(shù)融合與量化技術(shù)的網(wǎng)絡,以減少資源占用。他們提出的網(wǎng)絡能夠執(zhí)行標準卷積和殘差卷積。此外,一些文獻(如 Q. Chen、Gao 與 Fu,2022;Khodamoradi 等人,2021;Gerlinghoff 等人,2022;Sommer 等人,2022;Irmak 等人,2021)也聚焦于在 FPGA 上實現(xiàn)卷積型 SNN,這些工作可為進一步理解與開發(fā)提供參考。

為便于對“網(wǎng)絡架構(gòu)與系統(tǒng)設(shè)計”一節(jié)中各項研究在 FPGA 上實現(xiàn)和執(zhí)行 SNN 的情況進行總體比較和深入理解,表 8 匯總了提供相關(guān)信息的文獻。這些研究根據(jù)所使用的 FPGA 類型,以及按突觸和神經(jīng)元數(shù)量所消耗的硬件資源進行了梳理。此外,表 9 匯總了所綜述文獻中與分類任務相關(guān)的信息,包括訓練類型、學習方法、網(wǎng)絡準確率以及所使用的硬件描述語言。同時,文中也列出了用于分類任務的數(shù)據(jù)集,并提供了相應引用,以向研究人員介紹此類任務中常用的數(shù)據(jù)集。我們注意到,所有這些研究均使用靜態(tài)時間數(shù)據(jù)集(time-static datasets),未能充分發(fā)揮基于脈沖的時間計算潛力。因此,我們鼓勵研究社區(qū)在時變數(shù)據(jù)(time-varying data)上測試其實現(xiàn)方案,因為傳統(tǒng) ANN 能夠直接處理圖像而無需將其映射到時間維度,通常具有更低的延遲(Ottati 等人,2023)。


特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務。

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.

相關(guān)推薦
熱點推薦
寧波銀行發(fā)布貴金屬業(yè)務市場風險提示

寧波銀行發(fā)布貴金屬業(yè)務市場風險提示

財經(jīng)網(wǎng)
2026-03-26 18:32:12
中美衛(wèi)星導航用戶數(shù)量懸殊:GPS用戶數(shù)超60億,中國北斗令人意外

中美衛(wèi)星導航用戶數(shù)量懸殊:GPS用戶數(shù)超60億,中國北斗令人意外

混沌錄
2026-03-18 23:54:31
告別聲剛落,大陸強音起蔡正元今日入獄,國臺辦這句狠話破防綠營

告別聲剛落,大陸強音起蔡正元今日入獄,國臺辦這句狠話破防綠營

阿離家居
2026-03-27 04:34:34
日媒在報道張雪峰的時候,用了一個詞,我覺得太恰當了

日媒在報道張雪峰的時候,用了一個詞,我覺得太恰當了

輝哥說動漫
2026-03-27 07:12:50
廣東男子掃墓時發(fā)現(xiàn)“黑色巨物”在動!湊近一看,瞬間頭皮發(fā)麻……

廣東男子掃墓時發(fā)現(xiàn)“黑色巨物”在動!湊近一看,瞬間頭皮發(fā)麻……

珠海消防
2026-03-25 20:08:08
46 歲張柏芝三亞生圖流出,肚子上的軟肉,打了整個內(nèi)娛的臉

46 歲張柏芝三亞生圖流出,肚子上的軟肉,打了整個內(nèi)娛的臉

橙星文娛
2026-03-26 13:40:27
為嫁給美國人,56歲南京大媽奔赴美國,2年后嫁給70歲美國老頭

為嫁給美國人,56歲南京大媽奔赴美國,2年后嫁給70歲美國老頭

情感藝術(shù)家
2026-03-08 22:07:38
拒絕回歸WCBA!李月汝再赴美國,官宣重磅決定,韓旭也要這么干了

拒絕回歸WCBA!李月汝再赴美國,官宣重磅決定,韓旭也要這么干了

萌蘭聊個球
2026-03-26 13:09:33
中國的隱忍,正在延緩第三次世界大戰(zhàn)!

中國的隱忍,正在延緩第三次世界大戰(zhàn)!

南權(quán)先生
2026-03-23 15:11:48
徐昕拼下兩雙卻輸球,是廣州最大悲哀?劉維偉賽后發(fā)言更扎心

徐昕拼下兩雙卻輸球,是廣州最大悲哀?劉維偉賽后發(fā)言更扎心

林子說事
2026-03-27 00:33:44
廈門一女子長期遭家暴離家不敢歸,丈夫向法院申請宣告其死亡,十多年后決心離婚才知道自己“死了”!

廈門一女子長期遭家暴離家不敢歸,丈夫向法院申請宣告其死亡,十多年后決心離婚才知道自己“死了”!

環(huán)球網(wǎng)資訊
2026-03-26 14:44:08
少一人也能贏!姆巴佩滿血歸來先拔頭籌,法國2-1力克巴西

少一人也能贏!姆巴佩滿血歸來先拔頭籌,法國2-1力克巴西

仰臥撐FTUer
2026-03-27 07:58:03
你們都是什么時候?qū)δ信麻_竅的?網(wǎng)友:果然還是攔不住有心人

你們都是什么時候?qū)δ信麻_竅的?網(wǎng)友:果然還是攔不住有心人

夜深愛雜談
2026-02-21 21:37:02
你見過天才嗎?網(wǎng)友:有些領(lǐng)域,努力在天賦面前,一文不值

你見過天才嗎?網(wǎng)友:有些領(lǐng)域,努力在天賦面前,一文不值

帶你感受人間冷暖
2026-03-20 00:47:24
蘇州市人民商場龍鳳珠寶品牌店涉嫌銷售“假大牌” 品牌總部回應

蘇州市人民商場龍鳳珠寶品牌店涉嫌銷售“假大牌” 品牌總部回應

生活視覺攝影
2026-03-26 13:33:29
新華社消息|伊朗官員:美以襲擊已造成伊朗至少1750人死亡

新華社消息|伊朗官員:美以襲擊已造成伊朗至少1750人死亡

新華社
2026-03-26 10:06:18
唯一不含草酸的蔬菜!比薺菜、韭菜還鮮嫩,鮮嫩營養(yǎng)正當時,好吃

唯一不含草酸的蔬菜!比薺菜、韭菜還鮮嫩,鮮嫩營養(yǎng)正當時,好吃

阿龍美食記
2026-03-24 09:50:48
中國肺癌發(fā)病率世界第一!提醒:罪魁禍首已揪出,7種食物要少吃

中國肺癌發(fā)病率世界第一!提醒:罪魁禍首已揪出,7種食物要少吃

健康之光
2026-03-23 20:10:05
美空軍雜志:美軍戰(zhàn)損2架F-35、9架F-15、6架F-16、7架加油機!

美空軍雜志:美軍戰(zhàn)損2架F-35、9架F-15、6架F-16、7架加油機!

勝研集
2026-03-25 00:02:51
國產(chǎn)筆記本CPU偷梁換柱翻車!官方終于回應:生產(chǎn)失誤、全額退款

國產(chǎn)筆記本CPU偷梁換柱翻車!官方終于回應:生產(chǎn)失誤、全額退款

快科技
2026-03-25 10:14:04
2026-03-27 08:55:00
CreateAMind incentive-icons
CreateAMind
CreateAMind.agi.top
1305文章數(shù) 18關(guān)注度
往期回顧 全部

科技要聞

OpenAI果斷砍掉"成人模式",死磕生產(chǎn)力

頭條要聞

牛彈琴:一直贏的特朗普心里更慌了 又給自己續(xù)了10天

頭條要聞

牛彈琴:一直贏的特朗普心里更慌了 又給自己續(xù)了10天

體育要聞

申京努力了,然而杜蘭特啊

娛樂要聞

劉曉慶妹妹發(fā)聲!稱姐姐受身邊人挑撥

財經(jīng)要聞

很反常!油價向上,黃金向下

汽車要聞

一汽奧迪A6L e-tron開啟預售 CLTC最大續(xù)航815km

態(tài)度原創(chuàng)

房產(chǎn)
數(shù)碼
親子
游戲
旅游

房產(chǎn)要聞

突發(fā),三亞又有大批征遷補償方案出爐!

數(shù)碼要聞

Mac Pro退場后蘋果官網(wǎng)同步停售配套滾輪套件,曾售5249元

親子要聞

在那聲嘆息里,產(chǎn)后媽媽終于找回了弄丟的自己

任天堂加持!FS社新作或成為Switch 2永久獨占

旅游要聞

中國旅游研究院院長戴斌:一些意想不到的場景正成為旅游新空間

無障礙瀏覽 進入關(guān)懷版