在類腦人工智能高速發展、電磁環境日益復雜的現狀下,最具有仿生特性和抗干擾性的脈沖神經網絡在計算速度、實時信息處理、時空數據處理上表現出巨大的潛能。脈沖神經網絡是類腦人工智能的核心之一,通過模擬生物體神經網絡結構和信息傳遞方式來實現類腦計算。本文首先總結五種神經元模型的優缺點和適用性,分析五種網絡拓撲結構的特征;其次綜述脈沖神經網絡算法,從無監督學習和有監督學習兩個角度總結基于突觸可塑性規則的無監督學習算法和四類監督學習算法;最后重點綜述國內外在研的類腦神經形態芯片。本文旨在通過系統性的總結,為初入脈沖神經網絡研究領域的同行提供學習思路和研究方向。
引用本文: 張慧港, 徐桂芝, 郭嘉榮, 郭磊. 類腦脈沖神經網絡及其神經形態芯片研究綜述. 生物醫學工程學雜志, 2021, 38(5): 986-994, 1002. doi: 10.7507/1001-5515.202011005 復制
引言
人類是地球上最具智慧的生物,人腦中的生物神經網絡連接復雜,卻在處理各項任務時極具高效性和魯棒性。一般認為人腦一天消耗的能量以電能形式來表示,大約只相當于 25 W。這使得眾多學者致力于腦科學研究,通過探究人腦中生物神經網絡的工作機制,模擬大腦處理、記憶信息的方式進行模式識別、智能控制等。1997 年“人類腦計劃”在美國正式啟動,2013 年 4 月 2 日美國總統奧巴馬宣布啟動通過推動創新型神經技術開展大腦研究計劃(Brain Research Through Advancing Innovative Neurotechnologies,BRAIN),隨后歐盟腦科學計劃(Human Brain Project,HBP)和日本腦科學計劃(Brain Mapping by Integrated Neurotechnologies for Disease Studies,MINDS)也逐漸開展[1]。2018 年我國正式發布“腦計劃”的內容,我國的腦計劃旨在通過對大腦認知原理的探索,將腦科學原理逐漸應用于醫學診斷和類腦智能,一方面針對腦類疾病探究治療方案、研發醫療器械,另一方面發展類腦人工智能的相關新技術[2]。
人腦是由近千億個神經元及其突觸連接形成的巨大網絡,網絡中神經元通過樹突接收其他神經元傳遞的信息,再通過軸突和突觸等結構將信息傳遞給下一神經元。而人工神經網絡(artificial neural network,ANN)通過模擬人腦中信息傳遞的過程來進行運算,應用于科技創造和生活中的眾多領域,包括語音處理、計算機視覺、自然語言處理等[3]。但傳統 ANN 和真正的生物神經網絡仍有較大區別,傳統 ANN 的輸入輸出均為實數值,而人腦中信息傳遞的形式是離散的動作電位或脈沖。Maass[4]在 1997 年提出的脈沖神經網絡(spiking neural network,SNN)完全模仿生物神經網絡,通過脈沖形式傳遞信息,其本質上是二進制事件,對提高處理效率和降低能耗具有重要作用。但是信息傳遞的離散性使得 SNN 算法的實現變得相對困難,因此部分學者針對 SNN 的原理和特性設計學習算法;另外部分學者致力于將已有的 ANN 算法理念更有效地運用到 SNN 中。傳統 ANN 算法有中央處理器(central processing unit,CPU)、圖形處理器(graphics processing unit,GPU)等硬件加速平臺,SNN 算法的高效應用也同樣需要硬件支撐,近些年眾多的研究機構和公司已有 SNN 硬件化成果,類腦神經形態芯片已經面世且具有極大的發展前景,有望真正實現類腦人工智能。
本文從 SNN 具有的仿生性好、高效率及低能耗等特點出發,從神經元模型、網絡拓撲結構、學習算法到 SNN 類腦神經芯片依次進行綜述。首先總結五種脈沖神經元模型的優缺點和五種 SNN 網絡拓撲結構的特點,為尋找更具生物特性的模型及網絡提供參考;其次從學習方式的角度綜述無監督學習算法以及基于突觸可塑性、基于反向傳播、基于卷積、ANN 權重轉化到 SNN 四類有監督學習算法;最后從數模混合電路和數字電路兩類電路結構對 SNN 類腦神經形態芯片進行綜述。
1 脈沖神經元模型及脈沖神經網絡拓撲結構
1.1 脈沖神經元模型
SNN 中最基本的構成元素是脈沖神經元(spiking neuron,SN)。脈沖神經元的兩個決定性變量是膜電勢和激活閾值,神經元是否動作與這兩個變量有密切關系,網絡中的兩個基本神經元如果前一個神經元的膜電勢達到激活閾值,會發放一個脈沖信號通過突觸傳遞到下一個神經元,大量神經元共同作用形成網絡進行系統性地學習。SNN 網絡構建中最常用的模型有霍金-霍胥黎模型(Hodgkin-Huxley,H-H)[5]、積分點火模型(integrate and fire,IF)[6-7]、漏積分點火模型(leaky integrate and fire,LIF)[8]、脈沖響應模型(spike response model,SRM)[9]和 Izhikevich 模型[10-11]五種。H-H 模型可以精確地表示離子通道動態變化,但需要對鈉、鉀離子和泄漏通道分別建模,表達形式復雜且運算過程繁瑣。LIF 模型是目前 SNN 網絡中最常用的模型,雖然忽略了離子通道動態變化只反映宏觀膜電位的變化,但是計算簡單。五種脈沖神經元模型總結如表 1 所示。

除上述五種常用脈沖神經元模型之外,近些年也有學者創新性地結合生物機制和數學性質,探索出兼具生物學特性和計算特性的脈沖神經元模型。例如,Zuo 等[12]從概率的角度提出了一種概率脈沖響應模型,該模型的點火模式既不取決于閾值與膜電壓的差,也不依賴于脈沖的形式,而是重構了膜電壓和神經元點火的概率關系,以概率的形式來傳遞信息。
1.2 脈沖神經網絡拓撲結構
多個脈沖神經元通過突觸連接構成大規模的 SNN 網絡,不同連接方式決定 SNN 網絡拓撲結構的類型。和傳統 ANN 類似,SNN 網絡拓撲結構可以分為前饋型 SNN、遞歸型 SNN、循環型 SNN、進化型 SNN 和混合型 SNN。前饋型 SNN 由輸入層、隱藏層和輸出層構成,每層由一個或多個神經元排列組成,神經元之間通過多個權值可動態調整的突觸連接,將信號從輸入層傳遞到下一層中;遞歸型 SNN 和循環型 SNN 都含有反饋回路,更能反映真實神經元之間的連接,但是在算法設計上增加了難度;進化型 SNN 具有自適應、自組織的特點,可根據樣本的特征動態調整神經元的數量;混合型 SNN 在局部上的結構類型多樣,包含前饋型、遞歸型等。目前來說,從拓撲結構實現的復雜程度、網絡參數的更新迭代速度等角度考慮,最常用的是前饋型 SNN,而且 SNN 網絡拓撲結構的模型構建可影響 SNN 學習算法的選擇。
2 脈沖神經網絡學習算法
網絡構建后對數據進行訓練需要使用 SNN 學習算法,根據 SNN 學習算法的實現形式可分為無監督學習算法和有監督學習算法兩類。其中無監督學習算法的核心是脈沖時序依賴的可塑性規則(spike timing dependent plasticity,STDP);有監督學習算法根據設計思想總結為兩類,一類圍繞 STDP 規則,一類利用 ANN 中的反向傳播(back propagation,BP)[13]、卷積等思想進行直接或間接訓練。無監督學習算法利用 STDP 規則能有效反映生物學特性,但 STDP 具有局部性特征,每一層都著重適應前一層輸出,無法協調整個網絡,不適用于多層結構,分類準確率較低。許多學者通過修正 STDP 學習規則、結合卷積網絡深度提取特征以及在訓練中加入監督學習任務解決分類問題,因此產生了一類基于 STDP 學習規則的有監督學習算法。另一類有監督學習算法以 ANN 思想為核心,其中基于 BP 思想的直接訓練算法的難點在于解決神經元方程的不可微、梯度爆炸和過擬合問題,基于卷積思想的直接訓練算法主要關注卷積核的選擇和優化,基于 ANN 的間接訓練算法是先訓練 ANN 再通過歸一化等方式轉化到 SNN。在本節中,將對無監督學習算法和有監督學習算法進行詳細地綜述。
2.1 無監督學習算法
Song 等[14]在 Hebbian 學習規則[15]的基礎上提出了 STDP 學習規則,STDP 學習規則根據神經元學習的先后順序,調整神經元之間連接的強弱。對于任意兩個神經元,突觸前神經元脈沖發放早于突觸后神經元,則神經元之間的連接強度變大;反之,神經元之間的連接強度變小。STDP 規則的典型數學模型為:
![]() |
其中參數 和
表示突觸前至突觸后間隔的大小,在此范圍內發生突觸連接增強或減弱,
和
表示權重增強和減弱的增益[14]。為提高無監督學習算法在實際問題中的分類準確率,可以對 STDP 規則進行改進,例如在 STDP 規則中加入事件驅動環節或自適應閾值策略來優化分類效果[16-17]。
研究表明,以無監督 STDP 算法為核心的 SNN 淺層網絡在分類任務中的表現遠不如卷積神經網絡(convolutional neural networks,CNN)等傳統 ANN。CNN 在模式識別、圖像分類等各個領域廣泛應用,尤其是深層 CNN 在提取關鍵特征上有良好表現,但 CNN 中的權重連接方式沒有生物學依據,因此學者趨向于將 STDP 規則和 CNN 結合起來,更全面地發揮 CNN 在計算準確率上和 SNN 在計算效率上的優勢。例如 Lee 等[18-19]提出了一種深度脈沖卷積神經網絡(deep spiking convolutional neural network,SpiCNN),使用基于 STDP 規則的無監督方法訓練兩個卷積層。Srinivasan 等[20]提出基于 STDP 規則的概率學習算法,稱為混合 STDP 算法(hybrid-STDP,HB-STDP),該算法結合 STDP 和 anti-STDP 學習機制,以分層無監督學習方式訓練由二進制核組成的剩余隨機多層卷積脈沖神經網絡(residual stochastic multilayer convolutional spiking neural network,ReStoCNet)。綜合來看,結合卷積和 STDP 學習規則的 SNN 無監督學習算法能夠發揮 CNN 和 SNN 各自的特點,兼具計算高效性和仿生性。
2.2 監督學習算法
2.2.1 基于 STDP 規則的監督學習算法
STDP 規則學習首先應用于無監督學習算法中,但無監督學習算法只適用于聚類問題,解決問題單一且自適應性不強。因此,Ponulak 等[21]在 STDP 學習規則基礎上進行修正,提出遠程監督算法(remote supervised method,ReSuMe),該算法將 STDP 規則和遠程監督結合起來,在不計算梯度的情況下最小化輸出和目標脈沖間的差值來更新權重。Taherkhani 等[22]利用 STDP、anti-STDP 和延遲學習規則并行學習隱含層和輸出層的學習參數,使得權重和延遲學習相互作用,大幅提高了算法的學習精度并且更具有生物特性。此外,有學者提出獎勵調節 STDP 規則(reward-modulated STDP,R-STDP),R-STDP 規則受神經調節劑如多巴胺和乙酰膽堿在 STDP 調節中的作用啟發,是 STDP 監督學習中依據的重要規則[23-24]。Mozafari 等[25]將 STDP 規則和 R-STDP 規則同時應用于深度卷積 SNN 中,在第一層網絡中使用 STDP 規則,在后兩層中使用 R-STDP 規則,最終在 MNIST 數據集[26]上的識別率可達 97.2%。基于 STDP 規則的監督學習算法在保證仿生性的基礎上提高了分類任務的準確率,近幾年基于 STDP 學習規則的 SNN 監督學習算法總結對比如表 2 所示。

2.2.2 基于 ANN 思想的直接、間接學習算法
(1)基于反向傳播的直接訓練算法:
反向傳播和梯度下降是神經網絡中實現優化的重要手段,在權重更新上采用合適的反向傳播和梯度下降思想,可解決 SNN 的不可微性問題。
Bohte 等[27]最早將反向傳播和梯度下降思想應用于 SNN,其提出的監督學習算法 SpikeProp 引入反向傳播過程,根據誤差最小原則來計算梯度下降,更新突觸權重以獲得最優解。反向傳播算法具有傳統學習算法的背景,因此在許多方面存在問題,例如:梯度問題會使學習過程效率低下;在學習過程中融入的全局錯誤信息缺乏生物學支持;為了提高算法的準確度需要增加隱含層數量,但是隱含層數量過多會產生過擬合問題,使學習過程對干擾不具有魯棒性。Hong 等[28]提出一種改進的 SpikeProp 學習算法,設計了一種脈沖梯度閾值規則來解決 SNN 訓練中的梯度爆炸問題,為了控制訓練過程中的網絡活躍度,還加入了脈沖發射率和連接權重的調節規則。此外,學者們通過考慮反向傳播中的各項影響因素,例如軸突延遲[29]、局部傳播形式[30]、空間域時間域協同性[31]、宏觀微觀多樣性[32]、近似激活函數[33]以及代理梯度[34]等,逐漸提高算法的分類精度。已知最優情況下,在 MNIST 數據集上的分類準確率可達 99.49%。近幾年基于反向傳播思想的 SNN 算法總結對比如表 3 所示。

(2)基于卷積的直接訓練算法:
Widrow-Hoff 規則[35]是線性神經網絡中常用的調整權重的算法之一,適用于模擬信號,但脈沖序列是離散性信號,無法直接應用 Widrow-Hoff 規則。因此學者們利用卷積的思想處理離散數據,使其具有連續特征。通常采用加入卷積核的方式,把脈沖向量的元素相對應地轉化為連續函數:
![]() |
Mohemmed 等[36]提出的脈沖模式聯合神經元算法(spike pattern association neuron,SPAN)通過核函數將脈沖序列(輸入脈沖序列、神經元目標和實際輸出脈沖序列)變為連續函數信號,然后應用 Widrow-Hoff 規則調節突觸權重。Yu 等[37]提出的精準脈沖驅動可塑性算法(precise-spike-driven,PSD)只利用核函數將輸入脈沖序列轉換為卷積信號,通過目標輸出脈沖與實際輸出脈沖之間的誤差驅動突觸實現自適應。基于卷積思想的算法核心集中在卷積核的選擇上,藺想紅等[38]從卷積核內核函數出發,提出針對脈沖神經元的脈沖訓練卷積核學習規則(spike train kernel learning rule,STKLR),在 STKLR 算法中測試了各種內核函數。基于脈沖序列卷積的 SNN 算法總結對比如表 4 所示。

(3)基于 ANN 的間接訓練算法:
ANN 的發展已經進入成熟期,廣泛應用于圖像識別、目標識別、無人駕駛、生物信息學等領域,如果將傳統 ANN 的成熟算法間接應用于 SNN,或許可獲得良好效果。因此眾多學者不再直接訓練 SNN 參數,而是通過將 ANN 中訓練好的參數轉化到相同結構的 SNN 中。為實現近無損的 ANN-SNN 轉換,需要對原始的 ANN 模型做一定約束,例如對網絡的不同層進行歸一化。Sengupta 等[39]對每一層接收到的最大輸入進行加權歸一化,提高了該算法在分類任務中的識別率。Srinivasan 等[40]提出一種 ANN 轉化到 SNN 的方法,先對 ANN 進行約束訓練,包括刪除批處理規范化層和偏向神經元,再將訓練后的權重從 ANN 轉移到 SNN,最后在 SNN 網絡中使用基于 IF 神經元近似導數的反向傳播算法進行訓練。
ANN 轉化到 SNN 的間接訓練算法的優勢在于權重訓練方法相對成熟,在傳統數據集上的分類效果理想,可以達到深度學習的水平。但對 ANN 采取約束會造成 SNN 性能下降,而且轉化 SNN 訓練時需要長時間的步長模擬,效率遠低于直接訓練的方式。另外,間接訓練算法的特征提取步驟在 ANN 中完成,很難提取輸入信息在時間維度上的特征,不適用于時空數據的分類。
3 脈沖神經網絡類腦神經形態計算平臺
類腦 SNN 在處理稀疏和離散數據上表現出巨大潛力,不但能處理編碼后的圖像信息,還能從時間維度上挖掘語音、腦電等時空數據的特征,目前大部分 SNN 算法的實現仍基于 CPU、GPU 處理器,但這類數據處理模塊和存儲模塊分離的計算平臺無法發揮 SNN 并行程度高、計算速度快的優勢。因此近十幾年來,一系列面向 SNN 的專用硬件計算平臺出現,成為類腦計算的一大分支。基于 SNN 的類腦神經形態計算平臺必須滿足:稀疏事件驅動性質,即信息傳遞以脈沖方式實現;可實現復雜的動力學功能,如實現神經元和突觸組成的神經核、實現 STDP 學習規則;神經核之間可實現大規模并行連接,通過片上網絡(network-on-chip,NoC)等通信。類腦神經形態計算平臺主要通過模仿軸突、突觸、樹突、細胞體等結構完成信息輸入、權重儲存、信息加權、控制脈沖發放等功能,且通過配置路由功能實現不同計算核之間的數據傳遞。現有的 SNN 類腦神經形態計算平臺可以從電路技術上分為數模混合計算平臺和全數字計算平臺。模擬電路能夠精確地模擬神經元的動態特性,實現相對復雜的動力學模型,但是模擬電路容易受外界因素的影響且可編程性較弱,因此眾多研究趨向于采用數模混合電路或純數字電路。硬件材料的選取上,通常采用亞閾值或超閾值下的硅晶體管,實現技術包括互補金屬氧化物半導體技術(complementary metal-oxide-semiconductor,CMOS)和全耗盡硅技術(fully depleted-silicon-on-insulator,FDSOI)等。類腦神經形態計算平臺在體積上、能耗上明顯優于其他硬件系統,有望在未來解決摩爾定律失效及馮·諾依曼體系局限性問題。
3.1 脈沖神經網絡數模混合計算平臺
數模混合計算平臺中,模擬電路部分能夠直觀地表現神經元動力學特性,實現神經元及突觸的功能;由于路由部分需要完成穩定的數據傳輸,因此通常采用穩定性好和可靠性高的數字電路來實現。斯坦福大學的 Neurogrid 系統是最典型的數模混合類腦神經形態計算平臺。
斯坦福大學的 Neurogrid 系統[41]是一個由 16 個芯片組成的百萬級神經元神經形態系統,能耗僅為 3.1 W,使用的晶體管在亞閾值范圍內運行。16 個芯片間的通信通過樹狀路由網絡連接,可實現突觸連接數量的最大化。Braindrop[42]是斯坦福大學的另一款類腦神經形態芯片,也采用數模混合設計。兩者對比,Neurogrid 系統在神經突觸級別進行編程,需要使用硬件方面的專業知識,Braindrop 采用耦合的非線性動力學計算方式,并通過自動化程序綜合到硬件中,提供一種高度抽象的編程方式以降低對使用者的技術要求。未來,斯坦福大學將集成多個 Braindrop 內核以構建更大的 Brainstorm 芯片。
ROLLs[43]也采用亞閾值數模混合電路實現神經元和突觸動力學,網絡規模略小但對突觸學習機制的仿生效果較好,可實現基于雙穩態脈沖的可塑性機制,經歷長時程增強(long-term potentiation,LTP)或長時程抑制(long-term depression,LTD)。此外 ROLLs 可實時更新突觸連接強度實現片上在線學習,能耗僅為 4 mW。
與以上三者不同的是,BrainScaleS 采用超閾值數模混合電路來進行神經元動力學仿真,可實現短時程抑制和促進以及 STDP 兩種學習規則[44-45]。2018 年,第二代 BrainScaleS 系統(簡稱 BrainScaleS-2)面世,BrainScaleS-2 使用支持非線性樹突和結構化神經元的復雜模型,添加了混合可塑性方案[46]。與 BrainScaleS 中基于 STDP 的固定學習算法相比,BrainScaleS-2 中的學習算法可在軟件中自由編程并在嵌入式微處理器上執行,可支持 SNN 算法和傳統 ANN 算法[47]。
瑞士蘇黎世大學設計的 DYNAPs 神經形態處理系統和 DYNAP-SEL 芯片同樣采用超閾值數模混合電路。DYNAPs 和 DYNAP-SEL 采用兩級路由方案以最小化內存使用,將 2D 網格與樹狀路由相結合,芯片間通過 2D 網格路由通信,神經處理核心間通過樹狀路由通信,并采用了點對點源地址路由和多點組合廣播目標地址路由[48-49]。這種新型的路由方案適合開發新興的儲存技術,例如電阻隨機存取存儲器(resistive random-access memory,RRAM)、相變儲存器(phase-change memory,PCM)。
Neurogrid 系統使用樹突共享結構和多播樹路由器,同層相鄰神經元具有相同輸入,不同層相應位置處神經元具有平移不變的連接,可達到吞吐量最大化,但 Neurogrid 系統未體現突觸可塑性機制,也無法片上調整參數。BrainScaleS 可實現 STDP 規則,BrainScaleS-2 系統在此基礎上增加了混合可塑性方案,通過軟-硬件協同,可實現片上調整參數。DYNAPs 可實現 STDP 規則和片上學習,而且在通信方案上選擇了分層、網狀路由結合,提高了信息流傳輸效率。ROLLS 可以實現多種突觸可塑性規則和多種網絡結構(前饋結構、循環結構),但 ROLLS 規模較小,無法滿足大規模網絡需要。基于數模混合電路的類腦神經形態芯片參數和優缺點對比如表 5 所示。

3.2 脈沖神經網絡全數字計算平臺
模擬電路的固有異質性和可變性導致難以在單個神經元和突觸的維度上進行編程,但全數字式電路的實施方案可以通過兼容編程軟件靈活調整 SNN 結構和參數。在全數字計算平臺上,IBM 和英特爾等大公司以及曼徹斯特大學、清華大學、浙江大學等頂尖大學都已有突出成果。
IBM 公司從 2008 年開始致力于神經形態處理器的研究,先后有 Golden Gate 芯片[50]和 TrueNorth 處理器[51]兩項成果。2018 年,IBM 發布了多核處理器 NS16e-4 TrueNorth 系統,該系統由 TrueNorth 處理器構成,包含 6 400 萬個神經元和 160 億個突觸。TrueNorth 系列神經形態處理器已經應用于各種復雜任務,例如:無人機或自動駕駛任務中的動態圖像識別、生物醫學圖像分割及腦電信號分類[52-54]。
曼徹斯特大學的 SpiNNaker 系統包含多達 1 036 800 個精簡指令集計算機處理器(advanced RISC machine,ARM)和 7 太字節的片外動態隨機存取存儲器(dynamic random access memory,DRAM)[55-56],可模擬的神經元數量為人腦的 1%。該團隊計劃擴大神經元規模,模擬人的整個大腦,研發 SpiNNaker 二代系統(簡稱 SpiNNaker2)。SpiNNaker2 系統計劃在第一代的基礎上實現動態電源管理、儲存器共享、多重累加加速器、神經形態加速器、片上網絡等功能[57]。
相較于 TrueNorth 和 SpiNNaker,ODIN 是小型的在線數字神經形態芯片,可以實現 LIF 神經元和 20 種不同的 Izhikevich 放電模式[58]。MorphIC 是該團隊提出的第二個版本的神經形態芯片,實現規模上優于 ODIN,而且采用了 STDP 規則的隨機版本和分層路由結構,處理實際任務的準確率有所提升[59]。
Loihi[60]是英特爾發布的數字型神經形態處理器,專長于實現各種突觸學習規則,不僅支持簡單的成對 STDP 規則,也支持復雜的三重 STDP 規則、帶有突觸標簽分配的強化學習規則以及利用平均速率和脈沖定時軌跡的 STDP 規則[61]。在此基礎上,配有 64 個 Loihi 芯片、能夠模擬 800 多萬個神經元的 Pohoiki Beach 系統和配有 768 個 Loihi 芯片、能夠模擬 1 億多個神經元的 Pohoiki Springs 系統已經基本成型。
浙江大學和杭州電子科技大學合作研究的達爾文神經處理單元支持可配置數量的神經元、突觸和突觸延遲,是一款高度可配置的神經形態芯片[62-63]。清華大學類腦計算研究中心提出的天機芯是第一款異構融合的神經形態計算芯片,同時支持基于計算機科學的機器學習算法和基于神經科學的生物啟發模型。天機芯可以自由集成各種神經網絡和混合編碼方案,從而允許多個網絡(包括 SNN 和 ANN)之間進行無縫通信[64]。該團隊已經在天機芯上構建了用于語音命令識別的 SNN、用于圖像處理和目標檢測的 CNN、用于人類目標跟蹤的連續吸引子神經網絡(continuous attractor neural network,CANN)、用于自然語言識別的長短時記憶網絡(long short-term memory,LSTM)和用于姿態平衡和方向控制的多層感知器(multilayer perceptron,MLP)[65]。天機芯能夠解決計算型 ANN 和類腦型 SNN 在硬件上不兼容的問題,推動了 SNN 在解決實際問題中的發展。
TrueNorth 神經形態處理器的神經核心參數和連接方式是高度可配置的,軟-硬件完全對應可實現在模擬器和芯片上運行相同的程序,但參數的更新只能在軟件上實現,無法片上學習。SpiNNaker 處理器、Loihi 處理器能夠實現片上調整神經元、突觸參數及學習規則,尤其 Loihi 處理器可配置突觸延遲、自適應閾值、隨機噪聲及神經元分級連接等多項參數。ODIN 處理器和達爾文處理器均只實現了單芯片,規模較小,但 ODIN 處理器能夠實現多種神經元模型,且神經元和突觸密度已知為最高,達爾文處理器具有高配置性,能夠滿足實際任務的需要。天機芯的特點在于異構融合的思想,可以集成各種神經網絡,并實現不同網絡間的通信。基于數字電路的類腦神經形態芯片參數和優缺點對比如表 6 所示。

4 總結與展望
本文總結了 SNN 網絡構建中常用的五種神經元模型,即 H-H 模型、IF 模型、LIF 模型、SRM 模型和 Izhikevich 模型,對五種模型的電路、數學形式以及優缺點進行分析;概述了五種網絡拓撲結構,即前饋型 SNN、遞歸型 SNN、循環型 SNN、進化型 SNN 和混合型 SNN,對五種網絡拓撲結構的特點進行總結。在此基礎上,綜述了 SNN 學習算法及 SNN 神經形態計算平臺,首先從無監督學習和監督學習兩個角度,總結了近幾年 SNN 算法實現和改進中的幾個思考方向;然后對已經初具規模的 SNN 神經形態計算平臺進行總結分析,對比了各計算平臺的優缺點。通過對當前 SNN 各方面研究進展的分析,可以看出 SNN 作為新一代神經網絡,算法和計算平臺等均未成熟,正處于高速發展的階段,面臨著眾多挑戰,目前亟待解決的問題和發展趨勢可能包括以下幾個方面:
(1)在 SNN 神經元模型和網絡結構方面:目前 SNN 網絡多數基于這五種神經元模型,尤其是 LIF 神經元模型。研究者在選擇神經元模型時,主要考慮兩方面:一是模型的計算量,二是模型的仿生程度,LIF 神經元模型目前最能平衡這兩個要求。但 LIF 神經元僅僅體現了神經元膜電位的泄露、積累和閾值激發過程,與真實神經元放電特征相差許多,因此在保證計算速度的基礎上加入更多生物學特征是未來的發展方向。SNN 網絡結構種類較多,但實際應用中只局限于前饋神經網絡。雖然網絡越復雜可能越影響計算效率,但仍要考慮其在計算精度提升上的作用,因此在網絡構建中,要考慮加入循環、反饋等機制。
(2)在 SNN 學習算法方面:學習算法是網絡更新迭代的命脈,SNN 目前在模式識別、目標檢測等領域的應用遠不如傳統 ANN。基于 STDP 規則的無監督學習算法能夠反映大腦中神經元和突觸的連接規律,但在處理大規模任務上的潛力仍需挖掘;幾類監督學習算法主要從反向傳播和卷積的角度出發,雖然在仿生性上遠不如 STDP 規則,但在利用深層網絡分類的準確性上已經可以達到傳統 ANN 的水平。目前 SNN 算法還面臨眾多挑戰,具體體現為:基于 STDP 規則的學習算法如何應用在深層網絡中,滿足識別任務的需要;基于反向傳播的算法如何解決神經元模型不可微問題,在深層網絡中解決過擬合和魯棒性問題;ANN 轉化到 SNN 的算法,要保證轉化前后分類精度無損。此外,如何將 SNN 真正地應用于分類、檢測任務是最亟待解決的問題,尤其 SNN 的特點非常適合處理時空數據,例如動態視覺信息、語音、視頻、腦電、心電等,要充分挖掘 SNN 處理動態信息的潛能。
(3)在 SNN 神經形態計算平臺方面:SNN 神經形態計算平臺為解決摩爾定律失效問題、計算存儲分離的“馮·諾依曼”架構體系的能效低下問題提供了新思路,也正面臨著許多問題。一是要確保神經元核心內部、單芯片內神經元核心間以及芯片間高效通信,路由方案的選擇影響信息傳遞的效率,要選擇合適的通信方案;二是實現系統參數的高度可配置性,多數芯片還未實現可配置參數多樣化,包括神經元模型、網絡拓撲、學習規則等宏觀結構以及突觸延遲、自適應閾值、隨機噪聲等微觀調整;三是最大程度地利用神經形態芯片在效率和能耗上的優勢實現片上學習;四是實現片上 ANN 轉化到 SNN 或 ANN、SNN 并行計算,使芯片具有普適性。
總體而言,SNN 是從生物智能中得到的重要啟示,將成為類腦人工智能實現的基本依據。通過對 SNN 神經形態處理器的總結,目前的處理器必須和軟件協同作用才能更新參數,主要的學習功能均需在軟件上實現,多數處理器還不具有處理復雜任務的能力。不過,在人工智能快速發展的熱潮下,SNN 算法的準確度在逐步提高,SNN 類腦神經形態芯片的功能也逐漸增加。期待 SNN 在模式識別、目標檢測等領域被廣泛應用,在處理時空數據上的潛力被逐步挖掘。
利益沖突聲明:本文全體作者均聲明不存在利益沖突。
引言
人類是地球上最具智慧的生物,人腦中的生物神經網絡連接復雜,卻在處理各項任務時極具高效性和魯棒性。一般認為人腦一天消耗的能量以電能形式來表示,大約只相當于 25 W。這使得眾多學者致力于腦科學研究,通過探究人腦中生物神經網絡的工作機制,模擬大腦處理、記憶信息的方式進行模式識別、智能控制等。1997 年“人類腦計劃”在美國正式啟動,2013 年 4 月 2 日美國總統奧巴馬宣布啟動通過推動創新型神經技術開展大腦研究計劃(Brain Research Through Advancing Innovative Neurotechnologies,BRAIN),隨后歐盟腦科學計劃(Human Brain Project,HBP)和日本腦科學計劃(Brain Mapping by Integrated Neurotechnologies for Disease Studies,MINDS)也逐漸開展[1]。2018 年我國正式發布“腦計劃”的內容,我國的腦計劃旨在通過對大腦認知原理的探索,將腦科學原理逐漸應用于醫學診斷和類腦智能,一方面針對腦類疾病探究治療方案、研發醫療器械,另一方面發展類腦人工智能的相關新技術[2]。
人腦是由近千億個神經元及其突觸連接形成的巨大網絡,網絡中神經元通過樹突接收其他神經元傳遞的信息,再通過軸突和突觸等結構將信息傳遞給下一神經元。而人工神經網絡(artificial neural network,ANN)通過模擬人腦中信息傳遞的過程來進行運算,應用于科技創造和生活中的眾多領域,包括語音處理、計算機視覺、自然語言處理等[3]。但傳統 ANN 和真正的生物神經網絡仍有較大區別,傳統 ANN 的輸入輸出均為實數值,而人腦中信息傳遞的形式是離散的動作電位或脈沖。Maass[4]在 1997 年提出的脈沖神經網絡(spiking neural network,SNN)完全模仿生物神經網絡,通過脈沖形式傳遞信息,其本質上是二進制事件,對提高處理效率和降低能耗具有重要作用。但是信息傳遞的離散性使得 SNN 算法的實現變得相對困難,因此部分學者針對 SNN 的原理和特性設計學習算法;另外部分學者致力于將已有的 ANN 算法理念更有效地運用到 SNN 中。傳統 ANN 算法有中央處理器(central processing unit,CPU)、圖形處理器(graphics processing unit,GPU)等硬件加速平臺,SNN 算法的高效應用也同樣需要硬件支撐,近些年眾多的研究機構和公司已有 SNN 硬件化成果,類腦神經形態芯片已經面世且具有極大的發展前景,有望真正實現類腦人工智能。
本文從 SNN 具有的仿生性好、高效率及低能耗等特點出發,從神經元模型、網絡拓撲結構、學習算法到 SNN 類腦神經芯片依次進行綜述。首先總結五種脈沖神經元模型的優缺點和五種 SNN 網絡拓撲結構的特點,為尋找更具生物特性的模型及網絡提供參考;其次從學習方式的角度綜述無監督學習算法以及基于突觸可塑性、基于反向傳播、基于卷積、ANN 權重轉化到 SNN 四類有監督學習算法;最后從數模混合電路和數字電路兩類電路結構對 SNN 類腦神經形態芯片進行綜述。
1 脈沖神經元模型及脈沖神經網絡拓撲結構
1.1 脈沖神經元模型
SNN 中最基本的構成元素是脈沖神經元(spiking neuron,SN)。脈沖神經元的兩個決定性變量是膜電勢和激活閾值,神經元是否動作與這兩個變量有密切關系,網絡中的兩個基本神經元如果前一個神經元的膜電勢達到激活閾值,會發放一個脈沖信號通過突觸傳遞到下一個神經元,大量神經元共同作用形成網絡進行系統性地學習。SNN 網絡構建中最常用的模型有霍金-霍胥黎模型(Hodgkin-Huxley,H-H)[5]、積分點火模型(integrate and fire,IF)[6-7]、漏積分點火模型(leaky integrate and fire,LIF)[8]、脈沖響應模型(spike response model,SRM)[9]和 Izhikevich 模型[10-11]五種。H-H 模型可以精確地表示離子通道動態變化,但需要對鈉、鉀離子和泄漏通道分別建模,表達形式復雜且運算過程繁瑣。LIF 模型是目前 SNN 網絡中最常用的模型,雖然忽略了離子通道動態變化只反映宏觀膜電位的變化,但是計算簡單。五種脈沖神經元模型總結如表 1 所示。

除上述五種常用脈沖神經元模型之外,近些年也有學者創新性地結合生物機制和數學性質,探索出兼具生物學特性和計算特性的脈沖神經元模型。例如,Zuo 等[12]從概率的角度提出了一種概率脈沖響應模型,該模型的點火模式既不取決于閾值與膜電壓的差,也不依賴于脈沖的形式,而是重構了膜電壓和神經元點火的概率關系,以概率的形式來傳遞信息。
1.2 脈沖神經網絡拓撲結構
多個脈沖神經元通過突觸連接構成大規模的 SNN 網絡,不同連接方式決定 SNN 網絡拓撲結構的類型。和傳統 ANN 類似,SNN 網絡拓撲結構可以分為前饋型 SNN、遞歸型 SNN、循環型 SNN、進化型 SNN 和混合型 SNN。前饋型 SNN 由輸入層、隱藏層和輸出層構成,每層由一個或多個神經元排列組成,神經元之間通過多個權值可動態調整的突觸連接,將信號從輸入層傳遞到下一層中;遞歸型 SNN 和循環型 SNN 都含有反饋回路,更能反映真實神經元之間的連接,但是在算法設計上增加了難度;進化型 SNN 具有自適應、自組織的特點,可根據樣本的特征動態調整神經元的數量;混合型 SNN 在局部上的結構類型多樣,包含前饋型、遞歸型等。目前來說,從拓撲結構實現的復雜程度、網絡參數的更新迭代速度等角度考慮,最常用的是前饋型 SNN,而且 SNN 網絡拓撲結構的模型構建可影響 SNN 學習算法的選擇。
2 脈沖神經網絡學習算法
網絡構建后對數據進行訓練需要使用 SNN 學習算法,根據 SNN 學習算法的實現形式可分為無監督學習算法和有監督學習算法兩類。其中無監督學習算法的核心是脈沖時序依賴的可塑性規則(spike timing dependent plasticity,STDP);有監督學習算法根據設計思想總結為兩類,一類圍繞 STDP 規則,一類利用 ANN 中的反向傳播(back propagation,BP)[13]、卷積等思想進行直接或間接訓練。無監督學習算法利用 STDP 規則能有效反映生物學特性,但 STDP 具有局部性特征,每一層都著重適應前一層輸出,無法協調整個網絡,不適用于多層結構,分類準確率較低。許多學者通過修正 STDP 學習規則、結合卷積網絡深度提取特征以及在訓練中加入監督學習任務解決分類問題,因此產生了一類基于 STDP 學習規則的有監督學習算法。另一類有監督學習算法以 ANN 思想為核心,其中基于 BP 思想的直接訓練算法的難點在于解決神經元方程的不可微、梯度爆炸和過擬合問題,基于卷積思想的直接訓練算法主要關注卷積核的選擇和優化,基于 ANN 的間接訓練算法是先訓練 ANN 再通過歸一化等方式轉化到 SNN。在本節中,將對無監督學習算法和有監督學習算法進行詳細地綜述。
2.1 無監督學習算法
Song 等[14]在 Hebbian 學習規則[15]的基礎上提出了 STDP 學習規則,STDP 學習規則根據神經元學習的先后順序,調整神經元之間連接的強弱。對于任意兩個神經元,突觸前神經元脈沖發放早于突觸后神經元,則神經元之間的連接強度變大;反之,神經元之間的連接強度變小。STDP 規則的典型數學模型為:
![]() |
其中參數 和
表示突觸前至突觸后間隔的大小,在此范圍內發生突觸連接增強或減弱,
和
表示權重增強和減弱的增益[14]。為提高無監督學習算法在實際問題中的分類準確率,可以對 STDP 規則進行改進,例如在 STDP 規則中加入事件驅動環節或自適應閾值策略來優化分類效果[16-17]。
研究表明,以無監督 STDP 算法為核心的 SNN 淺層網絡在分類任務中的表現遠不如卷積神經網絡(convolutional neural networks,CNN)等傳統 ANN。CNN 在模式識別、圖像分類等各個領域廣泛應用,尤其是深層 CNN 在提取關鍵特征上有良好表現,但 CNN 中的權重連接方式沒有生物學依據,因此學者趨向于將 STDP 規則和 CNN 結合起來,更全面地發揮 CNN 在計算準確率上和 SNN 在計算效率上的優勢。例如 Lee 等[18-19]提出了一種深度脈沖卷積神經網絡(deep spiking convolutional neural network,SpiCNN),使用基于 STDP 規則的無監督方法訓練兩個卷積層。Srinivasan 等[20]提出基于 STDP 規則的概率學習算法,稱為混合 STDP 算法(hybrid-STDP,HB-STDP),該算法結合 STDP 和 anti-STDP 學習機制,以分層無監督學習方式訓練由二進制核組成的剩余隨機多層卷積脈沖神經網絡(residual stochastic multilayer convolutional spiking neural network,ReStoCNet)。綜合來看,結合卷積和 STDP 學習規則的 SNN 無監督學習算法能夠發揮 CNN 和 SNN 各自的特點,兼具計算高效性和仿生性。
2.2 監督學習算法
2.2.1 基于 STDP 規則的監督學習算法
STDP 規則學習首先應用于無監督學習算法中,但無監督學習算法只適用于聚類問題,解決問題單一且自適應性不強。因此,Ponulak 等[21]在 STDP 學習規則基礎上進行修正,提出遠程監督算法(remote supervised method,ReSuMe),該算法將 STDP 規則和遠程監督結合起來,在不計算梯度的情況下最小化輸出和目標脈沖間的差值來更新權重。Taherkhani 等[22]利用 STDP、anti-STDP 和延遲學習規則并行學習隱含層和輸出層的學習參數,使得權重和延遲學習相互作用,大幅提高了算法的學習精度并且更具有生物特性。此外,有學者提出獎勵調節 STDP 規則(reward-modulated STDP,R-STDP),R-STDP 規則受神經調節劑如多巴胺和乙酰膽堿在 STDP 調節中的作用啟發,是 STDP 監督學習中依據的重要規則[23-24]。Mozafari 等[25]將 STDP 規則和 R-STDP 規則同時應用于深度卷積 SNN 中,在第一層網絡中使用 STDP 規則,在后兩層中使用 R-STDP 規則,最終在 MNIST 數據集[26]上的識別率可達 97.2%。基于 STDP 規則的監督學習算法在保證仿生性的基礎上提高了分類任務的準確率,近幾年基于 STDP 學習規則的 SNN 監督學習算法總結對比如表 2 所示。

2.2.2 基于 ANN 思想的直接、間接學習算法
(1)基于反向傳播的直接訓練算法:
反向傳播和梯度下降是神經網絡中實現優化的重要手段,在權重更新上采用合適的反向傳播和梯度下降思想,可解決 SNN 的不可微性問題。
Bohte 等[27]最早將反向傳播和梯度下降思想應用于 SNN,其提出的監督學習算法 SpikeProp 引入反向傳播過程,根據誤差最小原則來計算梯度下降,更新突觸權重以獲得最優解。反向傳播算法具有傳統學習算法的背景,因此在許多方面存在問題,例如:梯度問題會使學習過程效率低下;在學習過程中融入的全局錯誤信息缺乏生物學支持;為了提高算法的準確度需要增加隱含層數量,但是隱含層數量過多會產生過擬合問題,使學習過程對干擾不具有魯棒性。Hong 等[28]提出一種改進的 SpikeProp 學習算法,設計了一種脈沖梯度閾值規則來解決 SNN 訓練中的梯度爆炸問題,為了控制訓練過程中的網絡活躍度,還加入了脈沖發射率和連接權重的調節規則。此外,學者們通過考慮反向傳播中的各項影響因素,例如軸突延遲[29]、局部傳播形式[30]、空間域時間域協同性[31]、宏觀微觀多樣性[32]、近似激活函數[33]以及代理梯度[34]等,逐漸提高算法的分類精度。已知最優情況下,在 MNIST 數據集上的分類準確率可達 99.49%。近幾年基于反向傳播思想的 SNN 算法總結對比如表 3 所示。

(2)基于卷積的直接訓練算法:
Widrow-Hoff 規則[35]是線性神經網絡中常用的調整權重的算法之一,適用于模擬信號,但脈沖序列是離散性信號,無法直接應用 Widrow-Hoff 規則。因此學者們利用卷積的思想處理離散數據,使其具有連續特征。通常采用加入卷積核的方式,把脈沖向量的元素相對應地轉化為連續函數:
![]() |
Mohemmed 等[36]提出的脈沖模式聯合神經元算法(spike pattern association neuron,SPAN)通過核函數將脈沖序列(輸入脈沖序列、神經元目標和實際輸出脈沖序列)變為連續函數信號,然后應用 Widrow-Hoff 規則調節突觸權重。Yu 等[37]提出的精準脈沖驅動可塑性算法(precise-spike-driven,PSD)只利用核函數將輸入脈沖序列轉換為卷積信號,通過目標輸出脈沖與實際輸出脈沖之間的誤差驅動突觸實現自適應。基于卷積思想的算法核心集中在卷積核的選擇上,藺想紅等[38]從卷積核內核函數出發,提出針對脈沖神經元的脈沖訓練卷積核學習規則(spike train kernel learning rule,STKLR),在 STKLR 算法中測試了各種內核函數。基于脈沖序列卷積的 SNN 算法總結對比如表 4 所示。

(3)基于 ANN 的間接訓練算法:
ANN 的發展已經進入成熟期,廣泛應用于圖像識別、目標識別、無人駕駛、生物信息學等領域,如果將傳統 ANN 的成熟算法間接應用于 SNN,或許可獲得良好效果。因此眾多學者不再直接訓練 SNN 參數,而是通過將 ANN 中訓練好的參數轉化到相同結構的 SNN 中。為實現近無損的 ANN-SNN 轉換,需要對原始的 ANN 模型做一定約束,例如對網絡的不同層進行歸一化。Sengupta 等[39]對每一層接收到的最大輸入進行加權歸一化,提高了該算法在分類任務中的識別率。Srinivasan 等[40]提出一種 ANN 轉化到 SNN 的方法,先對 ANN 進行約束訓練,包括刪除批處理規范化層和偏向神經元,再將訓練后的權重從 ANN 轉移到 SNN,最后在 SNN 網絡中使用基于 IF 神經元近似導數的反向傳播算法進行訓練。
ANN 轉化到 SNN 的間接訓練算法的優勢在于權重訓練方法相對成熟,在傳統數據集上的分類效果理想,可以達到深度學習的水平。但對 ANN 采取約束會造成 SNN 性能下降,而且轉化 SNN 訓練時需要長時間的步長模擬,效率遠低于直接訓練的方式。另外,間接訓練算法的特征提取步驟在 ANN 中完成,很難提取輸入信息在時間維度上的特征,不適用于時空數據的分類。
3 脈沖神經網絡類腦神經形態計算平臺
類腦 SNN 在處理稀疏和離散數據上表現出巨大潛力,不但能處理編碼后的圖像信息,還能從時間維度上挖掘語音、腦電等時空數據的特征,目前大部分 SNN 算法的實現仍基于 CPU、GPU 處理器,但這類數據處理模塊和存儲模塊分離的計算平臺無法發揮 SNN 并行程度高、計算速度快的優勢。因此近十幾年來,一系列面向 SNN 的專用硬件計算平臺出現,成為類腦計算的一大分支。基于 SNN 的類腦神經形態計算平臺必須滿足:稀疏事件驅動性質,即信息傳遞以脈沖方式實現;可實現復雜的動力學功能,如實現神經元和突觸組成的神經核、實現 STDP 學習規則;神經核之間可實現大規模并行連接,通過片上網絡(network-on-chip,NoC)等通信。類腦神經形態計算平臺主要通過模仿軸突、突觸、樹突、細胞體等結構完成信息輸入、權重儲存、信息加權、控制脈沖發放等功能,且通過配置路由功能實現不同計算核之間的數據傳遞。現有的 SNN 類腦神經形態計算平臺可以從電路技術上分為數模混合計算平臺和全數字計算平臺。模擬電路能夠精確地模擬神經元的動態特性,實現相對復雜的動力學模型,但是模擬電路容易受外界因素的影響且可編程性較弱,因此眾多研究趨向于采用數模混合電路或純數字電路。硬件材料的選取上,通常采用亞閾值或超閾值下的硅晶體管,實現技術包括互補金屬氧化物半導體技術(complementary metal-oxide-semiconductor,CMOS)和全耗盡硅技術(fully depleted-silicon-on-insulator,FDSOI)等。類腦神經形態計算平臺在體積上、能耗上明顯優于其他硬件系統,有望在未來解決摩爾定律失效及馮·諾依曼體系局限性問題。
3.1 脈沖神經網絡數模混合計算平臺
數模混合計算平臺中,模擬電路部分能夠直觀地表現神經元動力學特性,實現神經元及突觸的功能;由于路由部分需要完成穩定的數據傳輸,因此通常采用穩定性好和可靠性高的數字電路來實現。斯坦福大學的 Neurogrid 系統是最典型的數模混合類腦神經形態計算平臺。
斯坦福大學的 Neurogrid 系統[41]是一個由 16 個芯片組成的百萬級神經元神經形態系統,能耗僅為 3.1 W,使用的晶體管在亞閾值范圍內運行。16 個芯片間的通信通過樹狀路由網絡連接,可實現突觸連接數量的最大化。Braindrop[42]是斯坦福大學的另一款類腦神經形態芯片,也采用數模混合設計。兩者對比,Neurogrid 系統在神經突觸級別進行編程,需要使用硬件方面的專業知識,Braindrop 采用耦合的非線性動力學計算方式,并通過自動化程序綜合到硬件中,提供一種高度抽象的編程方式以降低對使用者的技術要求。未來,斯坦福大學將集成多個 Braindrop 內核以構建更大的 Brainstorm 芯片。
ROLLs[43]也采用亞閾值數模混合電路實現神經元和突觸動力學,網絡規模略小但對突觸學習機制的仿生效果較好,可實現基于雙穩態脈沖的可塑性機制,經歷長時程增強(long-term potentiation,LTP)或長時程抑制(long-term depression,LTD)。此外 ROLLs 可實時更新突觸連接強度實現片上在線學習,能耗僅為 4 mW。
與以上三者不同的是,BrainScaleS 采用超閾值數模混合電路來進行神經元動力學仿真,可實現短時程抑制和促進以及 STDP 兩種學習規則[44-45]。2018 年,第二代 BrainScaleS 系統(簡稱 BrainScaleS-2)面世,BrainScaleS-2 使用支持非線性樹突和結構化神經元的復雜模型,添加了混合可塑性方案[46]。與 BrainScaleS 中基于 STDP 的固定學習算法相比,BrainScaleS-2 中的學習算法可在軟件中自由編程并在嵌入式微處理器上執行,可支持 SNN 算法和傳統 ANN 算法[47]。
瑞士蘇黎世大學設計的 DYNAPs 神經形態處理系統和 DYNAP-SEL 芯片同樣采用超閾值數模混合電路。DYNAPs 和 DYNAP-SEL 采用兩級路由方案以最小化內存使用,將 2D 網格與樹狀路由相結合,芯片間通過 2D 網格路由通信,神經處理核心間通過樹狀路由通信,并采用了點對點源地址路由和多點組合廣播目標地址路由[48-49]。這種新型的路由方案適合開發新興的儲存技術,例如電阻隨機存取存儲器(resistive random-access memory,RRAM)、相變儲存器(phase-change memory,PCM)。
Neurogrid 系統使用樹突共享結構和多播樹路由器,同層相鄰神經元具有相同輸入,不同層相應位置處神經元具有平移不變的連接,可達到吞吐量最大化,但 Neurogrid 系統未體現突觸可塑性機制,也無法片上調整參數。BrainScaleS 可實現 STDP 規則,BrainScaleS-2 系統在此基礎上增加了混合可塑性方案,通過軟-硬件協同,可實現片上調整參數。DYNAPs 可實現 STDP 規則和片上學習,而且在通信方案上選擇了分層、網狀路由結合,提高了信息流傳輸效率。ROLLS 可以實現多種突觸可塑性規則和多種網絡結構(前饋結構、循環結構),但 ROLLS 規模較小,無法滿足大規模網絡需要。基于數模混合電路的類腦神經形態芯片參數和優缺點對比如表 5 所示。

3.2 脈沖神經網絡全數字計算平臺
模擬電路的固有異質性和可變性導致難以在單個神經元和突觸的維度上進行編程,但全數字式電路的實施方案可以通過兼容編程軟件靈活調整 SNN 結構和參數。在全數字計算平臺上,IBM 和英特爾等大公司以及曼徹斯特大學、清華大學、浙江大學等頂尖大學都已有突出成果。
IBM 公司從 2008 年開始致力于神經形態處理器的研究,先后有 Golden Gate 芯片[50]和 TrueNorth 處理器[51]兩項成果。2018 年,IBM 發布了多核處理器 NS16e-4 TrueNorth 系統,該系統由 TrueNorth 處理器構成,包含 6 400 萬個神經元和 160 億個突觸。TrueNorth 系列神經形態處理器已經應用于各種復雜任務,例如:無人機或自動駕駛任務中的動態圖像識別、生物醫學圖像分割及腦電信號分類[52-54]。
曼徹斯特大學的 SpiNNaker 系統包含多達 1 036 800 個精簡指令集計算機處理器(advanced RISC machine,ARM)和 7 太字節的片外動態隨機存取存儲器(dynamic random access memory,DRAM)[55-56],可模擬的神經元數量為人腦的 1%。該團隊計劃擴大神經元規模,模擬人的整個大腦,研發 SpiNNaker 二代系統(簡稱 SpiNNaker2)。SpiNNaker2 系統計劃在第一代的基礎上實現動態電源管理、儲存器共享、多重累加加速器、神經形態加速器、片上網絡等功能[57]。
相較于 TrueNorth 和 SpiNNaker,ODIN 是小型的在線數字神經形態芯片,可以實現 LIF 神經元和 20 種不同的 Izhikevich 放電模式[58]。MorphIC 是該團隊提出的第二個版本的神經形態芯片,實現規模上優于 ODIN,而且采用了 STDP 規則的隨機版本和分層路由結構,處理實際任務的準確率有所提升[59]。
Loihi[60]是英特爾發布的數字型神經形態處理器,專長于實現各種突觸學習規則,不僅支持簡單的成對 STDP 規則,也支持復雜的三重 STDP 規則、帶有突觸標簽分配的強化學習規則以及利用平均速率和脈沖定時軌跡的 STDP 規則[61]。在此基礎上,配有 64 個 Loihi 芯片、能夠模擬 800 多萬個神經元的 Pohoiki Beach 系統和配有 768 個 Loihi 芯片、能夠模擬 1 億多個神經元的 Pohoiki Springs 系統已經基本成型。
浙江大學和杭州電子科技大學合作研究的達爾文神經處理單元支持可配置數量的神經元、突觸和突觸延遲,是一款高度可配置的神經形態芯片[62-63]。清華大學類腦計算研究中心提出的天機芯是第一款異構融合的神經形態計算芯片,同時支持基于計算機科學的機器學習算法和基于神經科學的生物啟發模型。天機芯可以自由集成各種神經網絡和混合編碼方案,從而允許多個網絡(包括 SNN 和 ANN)之間進行無縫通信[64]。該團隊已經在天機芯上構建了用于語音命令識別的 SNN、用于圖像處理和目標檢測的 CNN、用于人類目標跟蹤的連續吸引子神經網絡(continuous attractor neural network,CANN)、用于自然語言識別的長短時記憶網絡(long short-term memory,LSTM)和用于姿態平衡和方向控制的多層感知器(multilayer perceptron,MLP)[65]。天機芯能夠解決計算型 ANN 和類腦型 SNN 在硬件上不兼容的問題,推動了 SNN 在解決實際問題中的發展。
TrueNorth 神經形態處理器的神經核心參數和連接方式是高度可配置的,軟-硬件完全對應可實現在模擬器和芯片上運行相同的程序,但參數的更新只能在軟件上實現,無法片上學習。SpiNNaker 處理器、Loihi 處理器能夠實現片上調整神經元、突觸參數及學習規則,尤其 Loihi 處理器可配置突觸延遲、自適應閾值、隨機噪聲及神經元分級連接等多項參數。ODIN 處理器和達爾文處理器均只實現了單芯片,規模較小,但 ODIN 處理器能夠實現多種神經元模型,且神經元和突觸密度已知為最高,達爾文處理器具有高配置性,能夠滿足實際任務的需要。天機芯的特點在于異構融合的思想,可以集成各種神經網絡,并實現不同網絡間的通信。基于數字電路的類腦神經形態芯片參數和優缺點對比如表 6 所示。

4 總結與展望
本文總結了 SNN 網絡構建中常用的五種神經元模型,即 H-H 模型、IF 模型、LIF 模型、SRM 模型和 Izhikevich 模型,對五種模型的電路、數學形式以及優缺點進行分析;概述了五種網絡拓撲結構,即前饋型 SNN、遞歸型 SNN、循環型 SNN、進化型 SNN 和混合型 SNN,對五種網絡拓撲結構的特點進行總結。在此基礎上,綜述了 SNN 學習算法及 SNN 神經形態計算平臺,首先從無監督學習和監督學習兩個角度,總結了近幾年 SNN 算法實現和改進中的幾個思考方向;然后對已經初具規模的 SNN 神經形態計算平臺進行總結分析,對比了各計算平臺的優缺點。通過對當前 SNN 各方面研究進展的分析,可以看出 SNN 作為新一代神經網絡,算法和計算平臺等均未成熟,正處于高速發展的階段,面臨著眾多挑戰,目前亟待解決的問題和發展趨勢可能包括以下幾個方面:
(1)在 SNN 神經元模型和網絡結構方面:目前 SNN 網絡多數基于這五種神經元模型,尤其是 LIF 神經元模型。研究者在選擇神經元模型時,主要考慮兩方面:一是模型的計算量,二是模型的仿生程度,LIF 神經元模型目前最能平衡這兩個要求。但 LIF 神經元僅僅體現了神經元膜電位的泄露、積累和閾值激發過程,與真實神經元放電特征相差許多,因此在保證計算速度的基礎上加入更多生物學特征是未來的發展方向。SNN 網絡結構種類較多,但實際應用中只局限于前饋神經網絡。雖然網絡越復雜可能越影響計算效率,但仍要考慮其在計算精度提升上的作用,因此在網絡構建中,要考慮加入循環、反饋等機制。
(2)在 SNN 學習算法方面:學習算法是網絡更新迭代的命脈,SNN 目前在模式識別、目標檢測等領域的應用遠不如傳統 ANN。基于 STDP 規則的無監督學習算法能夠反映大腦中神經元和突觸的連接規律,但在處理大規模任務上的潛力仍需挖掘;幾類監督學習算法主要從反向傳播和卷積的角度出發,雖然在仿生性上遠不如 STDP 規則,但在利用深層網絡分類的準確性上已經可以達到傳統 ANN 的水平。目前 SNN 算法還面臨眾多挑戰,具體體現為:基于 STDP 規則的學習算法如何應用在深層網絡中,滿足識別任務的需要;基于反向傳播的算法如何解決神經元模型不可微問題,在深層網絡中解決過擬合和魯棒性問題;ANN 轉化到 SNN 的算法,要保證轉化前后分類精度無損。此外,如何將 SNN 真正地應用于分類、檢測任務是最亟待解決的問題,尤其 SNN 的特點非常適合處理時空數據,例如動態視覺信息、語音、視頻、腦電、心電等,要充分挖掘 SNN 處理動態信息的潛能。
(3)在 SNN 神經形態計算平臺方面:SNN 神經形態計算平臺為解決摩爾定律失效問題、計算存儲分離的“馮·諾依曼”架構體系的能效低下問題提供了新思路,也正面臨著許多問題。一是要確保神經元核心內部、單芯片內神經元核心間以及芯片間高效通信,路由方案的選擇影響信息傳遞的效率,要選擇合適的通信方案;二是實現系統參數的高度可配置性,多數芯片還未實現可配置參數多樣化,包括神經元模型、網絡拓撲、學習規則等宏觀結構以及突觸延遲、自適應閾值、隨機噪聲等微觀調整;三是最大程度地利用神經形態芯片在效率和能耗上的優勢實現片上學習;四是實現片上 ANN 轉化到 SNN 或 ANN、SNN 并行計算,使芯片具有普適性。
總體而言,SNN 是從生物智能中得到的重要啟示,將成為類腦人工智能實現的基本依據。通過對 SNN 神經形態處理器的總結,目前的處理器必須和軟件協同作用才能更新參數,主要的學習功能均需在軟件上實現,多數處理器還不具有處理復雜任務的能力。不過,在人工智能快速發展的熱潮下,SNN 算法的準確度在逐步提高,SNN 類腦神經形態芯片的功能也逐漸增加。期待 SNN 在模式識別、目標檢測等領域被廣泛應用,在處理時空數據上的潛力被逐步挖掘。
利益沖突聲明:本文全體作者均聲明不存在利益沖突。