霍兵強(qiáng),高彥釗,祁曉峰
1.天津市濱海新區(qū)信息技術(shù)創(chuàng)新中心,天津 300450; 2.信息工程大學(xué)信息技術(shù)研究所,鄭州 450000
隨著深度學(xué)習(xí)(張鐵林和徐波,2021)在人工智能研究的不斷深入和在各個(gè)領(lǐng)域廣泛應(yīng)用與發(fā)展,其技術(shù)經(jīng)歷了第1階段的感知機(jī)以及第2階段的多層人工神經(jīng)網(wǎng)絡(luò)發(fā)展,深度學(xué)習(xí)在模式識(shí)別、自動(dòng)控制、預(yù)測(cè)估計(jì)、智能機(jī)器人和生物醫(yī)學(xué)等領(lǐng)域應(yīng)用愈發(fā)廣泛和成熟。由于人工神經(jīng)網(wǎng)絡(luò)(artificial neural network, ANN)模型學(xué)習(xí)的本質(zhì)是基于海量數(shù)據(jù)驅(qū)動(dòng)的統(tǒng)計(jì)學(xué)習(xí),缺少神經(jīng)內(nèi)部動(dòng)力學(xué)機(jī)制而不能準(zhǔn)確地模仿生物大腦神經(jīng)元的運(yùn)作機(jī)制,且需要消耗大量的計(jì)算資源,在處理具有不確定性、時(shí)空關(guān)聯(lián)性等任務(wù)時(shí)表現(xiàn)遠(yuǎn)不如人腦。由腦科學(xué)所啟發(fā)的類腦智能(黃鐵軍 等,2022)研究有望推動(dòng)下一代人工智能技術(shù)和新型信息產(chǎn)業(yè)的發(fā)展。
脈沖神經(jīng)網(wǎng)絡(luò)(spiking neural network, SNN)(胡一凡 等,2021)是一種受生物腦啟發(fā),基于事件驅(qū)動(dòng)的稀疏計(jì)算進(jìn)行信息處理的新一代人工神經(jīng)網(wǎng)絡(luò)。由于其更真實(shí)地模擬生物腦神經(jīng)元與信息傳輸處理方式,并加入時(shí)間維信息的內(nèi)在特性,具有生物可解釋性和類腦運(yùn)行機(jī)制,在類腦智能科學(xué)(施路平 等,2020)研究中占據(jù)核心地位。與ANN領(lǐng)域的繁榮發(fā)展相比,SNN領(lǐng)域的研究仍然處于快速發(fā)展階段,其當(dāng)前的研究主要圍繞神經(jīng)元模型、訓(xùn)練算法和網(wǎng)絡(luò)應(yīng)用等方向。本文對(duì)脈沖神經(jīng)網(wǎng)絡(luò)進(jìn)行總結(jié):闡述了脈沖神經(jīng)網(wǎng)絡(luò)的基本原理;綜述了脈沖網(wǎng)絡(luò)模型改進(jìn);梳理脈沖神經(jīng)網(wǎng)絡(luò)的缺陷與發(fā)展?fàn)顩r;列舉脈沖神經(jīng)網(wǎng)絡(luò)的應(yīng)用,最后對(duì)網(wǎng)絡(luò)進(jìn)行總結(jié)和展望。
人腦是由800多億神經(jīng)元與數(shù)百萬億突觸相互連接組成的極其復(fù)雜的網(wǎng)絡(luò)結(jié)構(gòu),網(wǎng)絡(luò)中神經(jīng)元通過樹突接收其他神經(jīng)元傳遞的信息,再通過軸突將信息傳遞給下一個(gè)神經(jīng)元。脈沖神經(jīng)網(wǎng)絡(luò)作為第3代人工神經(jīng)網(wǎng)絡(luò),相較于以感知器為代表的第1代神經(jīng)網(wǎng)絡(luò)和以BP(back propagation)算法(藺想紅 等,2015)為代表的第2代神經(jīng)網(wǎng)絡(luò),通過更精確模仿生物神經(jīng)元、信息傳遞方式等,增強(qiáng)了處理時(shí)空數(shù)據(jù)和空間信息的能力,在展現(xiàn)強(qiáng)大計(jì)算潛能的同時(shí)具有低功耗、低延遲的優(yōu)勢(shì)。
脈沖神經(jīng)網(wǎng)絡(luò)由輸入層、編碼方式、脈沖神經(jīng)元、突觸權(quán)重學(xué)習(xí)規(guī)則和輸出層等組成,具有類似于生物的多層網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)(程龍和劉洋,2018)。SNN以時(shí)間和空間序列為編碼方式,脈沖神經(jīng)元以脈沖激發(fā)時(shí)間作為輸入和輸出,多個(gè)脈沖神經(jīng)元構(gòu)造不同拓?fù)浣Y(jié)構(gòu),通過一定的學(xué)習(xí)規(guī)則進(jìn)行學(xué)習(xí),最后得到輸出結(jié)果。脈沖神經(jīng)網(wǎng)絡(luò)減小了神經(jīng)科學(xué)和機(jī)器學(xué)習(xí)之間的差距,使用生物神經(jīng)元機(jī)制的模型進(jìn)行計(jì)算,能夠更好地模擬生物神經(jīng)元,進(jìn)而成為類腦計(jì)算的基礎(chǔ)。脈沖神經(jīng)網(wǎng)絡(luò)經(jīng)典結(jié)構(gòu)如圖1所示。
圖1 脈沖神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖
受神經(jīng)科學(xué)實(shí)驗(yàn)(Wang等,2020)的啟發(fā),典型的深層ANN具有多級(jí)的分層結(jié)構(gòu),通過卷積濾波器提取圖像的重要特征,經(jīng)過大量圖像訓(xùn)練后,卷積操作達(dá)到了與視網(wǎng)膜和其他視覺系統(tǒng)中的神經(jīng)元相同的功能。近年來,ANN在許多視覺信息(曹家樂 等,2022)相關(guān)的實(shí)際任務(wù)取得重要突破,如在圖像識(shí)別和分類、分割和檢測(cè)方面的性能已超越人類水平。但是ANN通過端到端的方式獲取圖像特征,難以解釋底層網(wǎng)絡(luò)特征所表示的含義。而脈沖神經(jīng)網(wǎng)絡(luò)將脈沖的點(diǎn)火時(shí)間作為網(wǎng)絡(luò)的信息處理方式,增加了時(shí)域信息,提高了網(wǎng)絡(luò)的計(jì)算能力,同時(shí)其事件驅(qū)動(dòng)的特性,能夠有效降低運(yùn)行功耗,具有良好的生物可解釋性。相較于ANN,SNN具有以下特點(diǎn)和優(yōu)勢(shì):
1) 信息編碼和表示。SNN 使用時(shí)間編碼方案將信息編碼為脈沖序列,而 ANN 使用速率編碼方案將信息編碼為標(biāo)量。相比之下,SNN在處理復(fù)雜的時(shí)間或時(shí)空數(shù)據(jù)時(shí)具有更強(qiáng)大的信息表示能力。
2) 計(jì)算單元和網(wǎng)絡(luò)仿真。ANN的基本計(jì)算單元是人工神經(jīng)元,其中輸入由激活函數(shù)處理;SNN 的基本計(jì)算單元是脈沖神經(jīng)元,由微分方程表示。ANN的仿真策略是一個(gè)循序漸進(jìn)的仿真過程,SNN主要是基于時(shí)鐘驅(qū)動(dòng)和事件驅(qū)動(dòng)的仿真過程。
3)突觸可塑性和學(xué)習(xí)。SNN的突觸可塑性機(jī)制強(qiáng)調(diào)突觸前和突觸后神經(jīng)元之間的脈沖時(shí)間依賴性可塑,而ANN的機(jī)制一般滿足Hebb規(guī)則。與ANN誤差反向傳播算法不同的是,SNN目前研究中最大的困難是由復(fù)雜動(dòng)力學(xué)機(jī)制和網(wǎng)絡(luò)梯度在反向傳播中的不連續(xù)和不可微分問題導(dǎo)致的訓(xùn)練難題。
4) 并行和硬件實(shí)現(xiàn)。SNN可以實(shí)現(xiàn)快速和大規(guī)模并行的信息處理,而 ANN相對(duì)較弱。SNN使用離散脈沖序列代替模擬信號(hào)來傳輸信息,更適合低能耗的硬件實(shí)現(xiàn)。
脈沖神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的改進(jìn)從以下5方面進(jìn)行介紹:編碼方式、脈沖神經(jīng)元、拓?fù)浣Y(jié)構(gòu)、訓(xùn)練算法改進(jìn)以及結(jié)合其他算法,脈沖神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)改進(jìn)具體見圖2。
圖2 脈沖神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)改進(jìn)圖
大腦神經(jīng)元之間通過“全有或無”(all-or-nothing)的脈沖編碼傳遞信息。信息通過動(dòng)作電位與突觸結(jié)構(gòu)在神經(jīng)元之間傳播。當(dāng)前神經(jīng)科學(xué)研究表明,大腦很可能潛在著基于脈沖發(fā)放頻率與時(shí)間的兩種編碼(Auge等,2021)方式。脈沖神經(jīng)網(wǎng)絡(luò)模擬大腦信息傳遞處理方式,通過將外部刺激以一定的方法編碼為脈沖信號(hào),刺激神經(jīng)元完成信息處理并在一定條件下發(fā)放一系列脈沖信號(hào)實(shí)現(xiàn)信息傳遞。
到目前為止,SNN編碼方式比較多,較典型的有12種:頻率編碼、時(shí)間編碼、Bursting編碼、群體編碼、自適應(yīng)編碼、高斯差分感受野編碼、單脈沖時(shí)間編碼、卷積共享權(quán)重核編碼、步進(jìn)編碼(step-forward,SW)、等級(jí)順序編碼(rank order coding,ROC)、新型ROC和首脈沖時(shí)間編碼。
1)最常見的神經(jīng)編碼方式主要包括4種:頻率編碼(rate coding)、時(shí)間編碼(temporal coding)、Bursting編碼和群體編碼。頻率編碼(Adrian和Zotterman,1926)是對(duì)脈沖信號(hào)的時(shí)間屬性的抽象,通過計(jì)算兩次脈沖之間的時(shí)間間隔(即脈沖頻率)對(duì)信息進(jìn)行編碼,即脈沖數(shù)量與輸入信號(hào)強(qiáng)度成正比,輸入強(qiáng)度越高則產(chǎn)生脈沖越多。在生物學(xué)上,生物神經(jīng)元受到較強(qiáng)的刺激時(shí),會(huì)傾向于釋放更加密集和更多的脈沖電流。相較于頻率編碼,時(shí)間編碼(Rullen和Thorpe,2001)將每個(gè)刺激轉(zhuǎn)換為具有精確時(shí)間延遲的脈沖,即信息均包含在脈沖產(chǎn)生時(shí)刻,其缺點(diǎn)是對(duì)噪聲比較敏感。Bursting編碼(Izhikevich等,2003)是神經(jīng)元在一段時(shí)間內(nèi)產(chǎn)生連續(xù)且快速的高頻電位(脈沖),然后進(jìn)入一段相對(duì)時(shí)間的靜息時(shí)期。群體編碼(population coding)(Georgopoulos等,1986) 是通過多個(gè)神經(jīng)元的聯(lián)合活動(dòng)表示信息,即信息在大腦中由細(xì)胞群編碼,而非單一細(xì)胞編碼。在群體編碼中,每個(gè)神經(jīng)元在一組輸入上都有一個(gè)響應(yīng)分布,并且可以組合許多神經(jīng)元的響應(yīng)來確定信息。
2)自適應(yīng)編碼為結(jié)合卷積核自適應(yīng)提取特征并轉(zhuǎn)化為脈沖信號(hào)。針對(duì)SNN的特征提取受限的問題,張馳和唐鳳珍(2022)提出自適應(yīng)編碼脈沖神經(jīng)網(wǎng)絡(luò)(self-adaptive coding for spiking neural network, SCSNN)。自適應(yīng)編碼融合CNN和SNN的優(yōu)點(diǎn),將SNN中提取的特征在CNN (convolutional neural networks)中進(jìn)一步特征提取,采用替代梯度反向傳播方法直接訓(xùn)練網(wǎng)絡(luò)參數(shù)。
3)Ma等人(2018)提出高斯差分感受野的脈沖神經(jīng)網(wǎng)絡(luò),使用高斯差分感受野編碼圖像的脈沖序列,并隨機(jī)選擇部分脈沖作為每個(gè)神經(jīng)元的輸入,使用隨機(jī)選擇脈沖策略模擬真實(shí)神經(jīng)元的絕對(duì)不應(yīng)期。
4)單脈沖時(shí)間編碼是在單位時(shí)間內(nèi)只產(chǎn)生一個(gè)脈沖信號(hào)。Zhou等人(2021)為避免訓(xùn)練過程中計(jì)算膜電位,使用響應(yīng)表達(dá)式建立了抽象的SNN訓(xùn)練模型,并采用單脈沖時(shí)間編碼的LIF(leaky integrate and fire)神經(jīng)元,提出了一種直接訓(xùn)練深度SNN的框架。
5)Srinivasan等人(2018)提出隨時(shí)間卷積的SNN模型,采用隨時(shí)間推移與輸入模式卷積的共享權(quán)重核,并編碼代表性輸入特征,從而提高學(xué)習(xí)模型的稀疏性和魯棒性。
6)Petro等人(2020)提出三步編碼流程。受限信號(hào)的特征選擇,然后通過原始信號(hào)和重構(gòu)信號(hào)之間的誤差度量?jī)?yōu)化,最后進(jìn)行對(duì)比驗(yàn)證。并分析了4種編碼方法:BSA (Ben’s spiker algorithm)編碼(Schrauwen和van Campenhout,2003)、基于閾值、步進(jìn) (SW) 和移動(dòng)窗口 (moving-window,MW)時(shí)間編碼,實(shí)驗(yàn)表明,SW編碼方法比較穩(wěn)健且易于優(yōu)化。
7)Kheradpisheh和Masquelier(2020)采用等級(jí)順序編碼ROC的時(shí)間編碼用于多層脈沖神經(jīng)網(wǎng)絡(luò),所有的神經(jīng)元在每個(gè)刺激下正好發(fā)射一個(gè)帶有發(fā)射順序信息的脈沖,第1個(gè)發(fā)射的神經(jīng)元決定了刺激的類別。
8)針對(duì)采用ROC設(shè)計(jì)SNN出現(xiàn)準(zhǔn)確率低和計(jì)算效率不高等問題, Tang等人(2020)提出了脈沖卷積神經(jīng)網(wǎng)絡(luò)(spiking CNN)架構(gòu),采用新型ROC的最大輸入值生成脈沖序列,并以神經(jīng)元為中心的膜電壓更新方法提高了硬件效率,實(shí)現(xiàn)硬件友好、成本節(jié)約的SNN架構(gòu)。
9)針對(duì)SNN資源占用高和運(yùn)算較復(fù)雜等問題,劉宙思等人(2021)提出基于離散時(shí)間調(diào)度SNN圖像自分類模型。通過高斯差分歸一化和首脈沖時(shí)間編碼實(shí)現(xiàn)脈沖編碼,引入強(qiáng)化學(xué)習(xí)的獎(jiǎng)懲機(jī)制抑制網(wǎng)絡(luò)過擬合問題,在少量參數(shù)基礎(chǔ)上實(shí)現(xiàn)網(wǎng)絡(luò)較高準(zhǔn)確率。
SNN中最基本的構(gòu)成元素是脈沖神經(jīng)元(王秀青 等,2019),通過發(fā)送和接收動(dòng)作電位傳遞信息。脈沖神經(jīng)元的兩個(gè)決定性變量是膜電勢(shì)和激活閾值,當(dāng)信息經(jīng)過脈沖神經(jīng)元時(shí),通過動(dòng)作電位編碼信息,網(wǎng)絡(luò)中的神經(jīng)元只有在電位累積達(dá)到某個(gè)閾值時(shí)才被激活,激活的神經(jīng)元會(huì)產(chǎn)生一個(gè)脈沖,其余神經(jīng)元保持沉默。兩個(gè)神經(jīng)元之間的連接強(qiáng)度由突觸前神經(jīng)元的脈沖信號(hào)強(qiáng)度決定。由于采用這種二進(jìn)制性質(zhì)的信息表示方式,SNN在能量和效率方面(Taherkhani等,2020)優(yōu)于ANN。SNN在整合時(shí)間、相位和頻率編碼的信息方面及以自適應(yīng)和自組織的方式處理大量數(shù)據(jù)方面更具有優(yōu)越的能力。經(jīng)典脈沖神經(jīng)元信號(hào)傳輸模型如圖3所示。
圖3 脈沖神經(jīng)元結(jié)構(gòu)圖
SNN網(wǎng)絡(luò)構(gòu)建中常用的脈沖神經(jīng)元模型有霍金—霍胥黎模型(Hodgkin-Huxley, H-H)、積分點(diǎn)火模型(integrate and fire, IF)、泄漏積分點(diǎn)火模型(leaky integrate and fire, LIF)、脈沖響應(yīng)模型(spike response model, SRM)和Izhikevich模型等5種。H-H模型(Hodgkin和Huxley,1952)更加真實(shí)地模擬生物神經(jīng)元的特性,但缺點(diǎn)是表達(dá)形式復(fù)雜且計(jì)算煩瑣,無法用于大規(guī)模的網(wǎng)絡(luò)架構(gòu)。IF和LIF模型(Abbott,1999)具有計(jì)算簡(jiǎn)單且適合硬件實(shí)現(xiàn)的優(yōu)勢(shì),是脈沖神經(jīng)網(wǎng)絡(luò)中使用最廣泛的神經(jīng)元模型。Izhikevich模型(Izhikevich,2003)在生物合理性與計(jì)算效率之間進(jìn)行了良好的權(quán)衡與折中。脈沖響應(yīng)模型(Jolivet等,2003)是一種LIF的簡(jiǎn)化模型,其包含了對(duì)不應(yīng)期(refractory period)的模擬,一次神經(jīng)元的激發(fā)由累積時(shí)間、激發(fā)時(shí)間、絕對(duì)不應(yīng)期、相對(duì)不應(yīng)期和恢復(fù)期組成。綜合來看,目前最常用的脈沖神經(jīng)元模型為LIF和Izhikevich模型,LIF神經(jīng)元模型表示為
(1)
式中,τm表示膜時(shí)間常數(shù),Vreset表示靜息電位,Rm表示細(xì)胞膜阻抗,I表示輸入電流。Izhikevich神經(jīng)元模型表示為
(2)
(3)
式中,u為鈉離子抑制變量和鉀離子激活變量;V為神經(jīng)膜電位;a為膜電位衰減速率,b為激活變量對(duì)膜電位變化的敏感程度。
從目前的文獻(xiàn)中看,脈沖神經(jīng)元模型的改進(jìn)主要有8種方法:粗糙規(guī)則脈沖神經(jīng)元、殘余膜電位(residual membrane potential, RMP)神經(jīng)元、單脈沖時(shí)間編碼神經(jīng)元、加權(quán)神經(jīng)元、歸一化神經(jīng)元、對(duì)抗性突觸神經(jīng)元、自適應(yīng)LIF神經(jīng)元和光子神經(jīng)元。具體如下:
1)羅云芳等人(2020)提出一種粗糙規(guī)則脈沖神經(jīng)元模型, 用上、下近似概念來確立神經(jīng)元的激活條件,證明了改進(jìn)后脈沖神經(jīng)膜系統(tǒng)的計(jì)算完備性,該方法具有很強(qiáng)的計(jì)算能力。
2)針對(duì)采用 “硬復(fù)位”的脈沖神經(jīng)元導(dǎo)致“ANN-to-SNN”轉(zhuǎn)換帶來的精度損失問題,Han 等人(2020)提出了使用“軟復(fù)位”的脈沖神經(jīng)元,軟復(fù)位指RMP脈沖神經(jīng)元在發(fā)射瞬間保留了高于閾值的 “殘余”膜電位,能夠有效保留脈沖信息。
3) Zhou等人(2021)提出了基于單脈沖時(shí)間編碼的LIF神經(jīng)元模型,該模型可直接用于訓(xùn)練深度SNN。實(shí)驗(yàn)表明,該模型在權(quán)值量化和噪聲擾動(dòng)方面具有魯棒性。
4)Kim等人(2018)使用加權(quán)脈沖神經(jīng)元進(jìn)行圖像分類,通過將不同的權(quán)重脈沖分配給脈沖神經(jīng)元來降低延遲,并根據(jù)所屬的時(shí)間階段分配權(quán)重。實(shí)驗(yàn)結(jié)果表明,提出的SNN模型加權(quán)脈沖分類延遲和脈沖數(shù)量顯著降低。
5)Zhou等人(2020)提出歸一化神經(jīng)元模型來提高SNN特征提取的能力。在卷積層和最大池化層之后添加神經(jīng)元?dú)w一化機(jī)制,以調(diào)整神經(jīng)元選擇性并增強(qiáng)對(duì)象的特征值,該模型保留更有效的突觸信息并實(shí)現(xiàn)更快的收斂。
6)Zheng等人(2019)提出對(duì)抗性突觸脈沖神經(jīng)元模型。該方法使用對(duì)抗性輸入突觸(興奮性輸入突觸和抑制性輸入突觸),STDP(spike timing dependent plasticity)用于訓(xùn)練興奮性輸入突觸中的權(quán)重。結(jié)果表明,所提出方法能夠提高脈沖神經(jīng)網(wǎng)絡(luò)的圖像分類結(jié)果。
7)Sung和Kim(2020)提出了一種自適應(yīng) LIF 神經(jīng)元模型來提高準(zhǔn)確性,脈沖神經(jīng)元泄漏電位隨時(shí)間變化以控制脈沖發(fā)射活動(dòng)。
8)Zhang等人(2021)構(gòu)建了光子脈沖神經(jīng)元模型,突觸前和突觸后神經(jīng)元是基于帶有嵌入式飽和吸收器的垂直腔面發(fā)射激光器的光子神經(jīng)元,改進(jìn)監(jiān)督學(xué)習(xí)算法用于訓(xùn)練。
目前,從拓?fù)浣Y(jié)構(gòu)實(shí)現(xiàn)的復(fù)雜程度、網(wǎng)絡(luò)參數(shù)的更新迭代速度等角度考慮,脈沖神經(jīng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)主要分為3種:前饋型脈沖神經(jīng)網(wǎng)絡(luò)(feed-forward spiking neural network)、遞歸型脈沖神經(jīng)網(wǎng)絡(luò)(recurrent spiking neural network)和混合型脈沖神經(jīng)網(wǎng)絡(luò)(hybird spiking neural network)。SNN網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的模型構(gòu)建可影響SNN學(xué)習(xí)算法的選擇。本文從結(jié)構(gòu)應(yīng)用改進(jìn)的角度總結(jié)了近年來脈沖網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的改進(jìn)方向,主要有5種方法:小世界網(wǎng)絡(luò)、局部連接的脈沖神經(jīng)網(wǎng)絡(luò)、集成脈沖神經(jīng)網(wǎng)絡(luò)、高并行度inception-like SNN以及spiking inception結(jié)構(gòu),具體如下:
1)郭磊等人(2021)針對(duì)傳統(tǒng)抗電磁干擾方式的不足,以Izhikevich模型神經(jīng)元為節(jié)點(diǎn),構(gòu)建了兩種拓?fù)浣Y(jié)構(gòu)的脈沖神經(jīng)網(wǎng)絡(luò):小世界網(wǎng)絡(luò)和隨機(jī)網(wǎng)絡(luò),并探究了在高斯噪聲下兩種網(wǎng)絡(luò)的抗干擾性能。
2)Meng等人(2021)設(shè)計(jì)類似inception的高平行度架構(gòu)inception-like SNN。網(wǎng)絡(luò)架構(gòu)有3個(gè)并行計(jì)算通路,3條通路的感受野設(shè)置不同的大小以獲取不同尺度的圖像特征,多尺度的特征最終在解碼層合并在一起,實(shí)驗(yàn)表明該方法具有抗硬件損壞的穩(wěn)健性。
3)Saunders等人(2019)提出利用局部連接的SNNs(locally-connected SNNs, LC-SNNs)學(xué)習(xí)圖像特征的方法。局部連接的SNNs體現(xiàn)了生物神經(jīng)元空間互動(dòng)的關(guān)鍵拓?fù)鋵W(xué)特征。通過子網(wǎng)絡(luò)抑制性相互作用競(jìng)爭(zhēng),從輸入空間的不同位置學(xué)習(xí)特征。與其他無監(jiān)督學(xué)習(xí)的SNN方法相比,LC-SNNs具有快速收斂、可學(xué)習(xí)參數(shù)更少的優(yōu)勢(shì)。
4)Fu和Dong(2021)為了提高 SNN 性能,提出了集成 SNN 架構(gòu)和遷移學(xué)習(xí),遷移學(xué)習(xí)用于避免重新訓(xùn)練新的網(wǎng)絡(luò),投票方式的集成SNN可以提高分類精度,結(jié)果證明集成 SNN 通過遷移學(xué)習(xí)方式在不同對(duì)象識(shí)別任務(wù)中具有優(yōu)秀的性能。
5)Meng等人(2020)提出spiking inception (Sp-Inception) 模塊,該模塊通過基于 STDP 的競(jìng)爭(zhēng)學(xué)習(xí)進(jìn)行訓(xùn)練,采用PRA (pooling-reshape-activate)層來堆疊Sp-Inception 模塊并構(gòu)建多層SNN。
根據(jù)不同的標(biāo)準(zhǔn),訓(xùn)練算法有多種分類方式。根據(jù)有無監(jiān)督學(xué)習(xí)可以將主流學(xué)習(xí)算法(Wang等,2020)分為無監(jiān)督學(xué)習(xí)和有監(jiān)督學(xué)習(xí),其中無監(jiān)督學(xué)習(xí)算法通過模擬生物神經(jīng)的突觸重塑規(guī)則來訓(xùn)練網(wǎng)絡(luò),有監(jiān)督學(xué)習(xí)算法分為梯度下降學(xué)習(xí)算法、有監(jiān)督STDP學(xué)習(xí)算法和基于脈沖序列卷積學(xué)習(xí)算法等;根據(jù)脈沖神經(jīng)元突觸權(quán)值實(shí)時(shí)或延時(shí)變化可以將主流學(xué)習(xí)算法分為在線學(xué)習(xí)和離線學(xué)習(xí),其中在線學(xué)習(xí)可以對(duì)實(shí)時(shí)問題進(jìn)行求解,離線學(xué)習(xí)只能對(duì)特定問題求解;根據(jù)學(xué)習(xí)規(guī)則是否具有局部特性可將算法分為局部學(xué)習(xí)和全局學(xué)習(xí);從結(jié)構(gòu)動(dòng)力學(xué)的角度可分為在固定SNN結(jié)構(gòu)中學(xué)習(xí)和在演化SNN結(jié)構(gòu)中學(xué)習(xí);從知識(shí)表示的角度可分為非基于知識(shí)的學(xué)習(xí)和知識(shí)表示的學(xué)習(xí)。本文根據(jù)以上學(xué)習(xí)算法總結(jié),從4大方面梳理近年來主要學(xué)習(xí)算法的改進(jìn):基于BP訓(xùn)練算法、基于STDP學(xué)習(xí)規(guī)則、ANN-to-SNN以及其他學(xué)習(xí)算法等,改進(jìn)算法總結(jié)如圖4所示。
圖4 SNN訓(xùn)練算法圖
2.4.1 基于BP方法
SNN誤差反向傳播算法(藺想紅 等,2015)是目前最重要的監(jiān)督學(xué)習(xí)算法,其基本思想是給定輸入脈沖序列和期望輸出脈沖序列,并通過SNN的處理得到實(shí)際輸出脈沖序列,然后根據(jù)網(wǎng)絡(luò)實(shí)際輸出脈沖序列與期望輸出脈沖序列兩者之間誤差及反向傳播過程,采用梯度下降法訓(xùn)練并調(diào)整突觸權(quán)值,最終使得神經(jīng)元的輸出值與目標(biāo)期望之間的誤差最小,其表達(dá)式為
(4)
1)王衛(wèi)東等人(2020)為解決脈沖信號(hào)在瞬態(tài)變化中導(dǎo)致的誤差驅(qū)動(dòng)學(xué)習(xí)無法應(yīng)用問題,在脈沖神經(jīng)元模型中提岀基于突觸前、后電位的自適應(yīng)最小均方(least mean square, LMS)的誤差反向傳播(BP)學(xué)習(xí)算法, 該方法在類腦計(jì)算方面具有良好的有效性。
2)Zhang等人(2018)提出了一種有效且穩(wěn)健的膜電位驅(qū)動(dòng)(ERMPD) 監(jiān)督學(xué)習(xí)方法,能夠訓(xùn)練神經(jīng)元生成所需的脈沖序列。為了提高效率,在不希望的輸出時(shí)間,ERMPD 計(jì)算膜電位僅在指定的時(shí)間點(diǎn)與觸發(fā)閾值進(jìn)行比較。
3)Qiao等人(2021)引入權(quán)重二值化脈沖神經(jīng)網(wǎng)絡(luò)(binarized SNN)來識(shí)別時(shí)空事件的數(shù)據(jù)。在訓(xùn)練過程中使用一種代理梯度法用于替換脈沖序列的導(dǎo)數(shù),并且權(quán)重被二值化。
4)為解決脈沖神經(jīng)元收斂速度較慢的問題,Gautam和Singh(2020)提出了基于CSNN (convolutional spiking neural network)模型的學(xué)習(xí)算法,使用帶有循環(huán)學(xué)習(xí)率和 RMSprop 優(yōu)化器的誤差反向傳播算法,模型具有更好的準(zhǔn)確性和魯棒性。
5)尚瑛杰等人(2020)針對(duì)學(xué)習(xí)多層網(wǎng)絡(luò)收斂困難的問題,構(gòu)建基于反向傳播的脈沖神經(jīng)網(wǎng)絡(luò)遷移學(xué)習(xí)算法,通過構(gòu)建結(jié)構(gòu)相似的ANN和SNN,采用BP算法訓(xùn)練ANN模型,然后通過自適應(yīng)的權(quán)值映射將訓(xùn)練的權(quán)值遷移至脈沖神經(jīng)網(wǎng)絡(luò)。
6)針對(duì)SNNs存在輸入編碼效率低下和神經(jīng)元參數(shù)的次優(yōu)設(shè)置(發(fā)射閾值和膜漏)的問題,Rathi和Roy(2021)提出了基于低延遲的梯度下降法訓(xùn)練的深層脈沖網(wǎng)絡(luò)DIET-SNN(direct input encoding and leakage and threshold optimization),以優(yōu)化LIF閾值以及網(wǎng)絡(luò)參數(shù)。每層的膜泄漏和閾值通過端到端反向傳播進(jìn)行優(yōu)化,在降低延遲的情況下達(dá)到較好分類精度。
7)為解決使用非線性IF神經(jīng)元難以產(chǎn)生響應(yīng)于給定輸入的理想脈沖序列,Anwani和Rajendran(2020)訓(xùn)練多層SNN,采用歸一化近似下降(Norm-AD)的優(yōu)化方法,該方法有效地訓(xùn)練多層SNN。
8) Kim等人(2021)提出了近似于反向傳播算法的芯片上監(jiān)督訓(xùn)練方法。在反向傳播過程中簡(jiǎn)化學(xué)習(xí)算法,只使用delta值的符號(hào)更新權(quán)重進(jìn)行簡(jiǎn)化,在MNIST(Modified National Institute of Standards and Technology Database)數(shù)據(jù)集上實(shí)現(xiàn)了較好的識(shí)別率。
9)Kheradpisheh和Masquelier(2020)提出了一種適用于多層脈沖神經(jīng)網(wǎng)絡(luò)監(jiān)督學(xué)習(xí)規(guī)則S4NN,采用隨機(jī)梯度下降法在具有任意層數(shù)的前饋網(wǎng)絡(luò)中向后計(jì)算近似的誤差梯度。
10)為避免SNN不可微分的問題,Mirsadeghi等人(2021)提出一種STiDi-BP的時(shí)間學(xué)習(xí)算法,采用分段線性神經(jīng)元并單獨(dú)估計(jì)每一層時(shí)間誤差,為每一層更新權(quán)重,使用線性近似計(jì)算放電延遲,并避免反向傳播梯度計(jì)算,實(shí)現(xiàn)基于脈沖時(shí)間位移的反向傳播誤差。
2.4.2 基于STDP規(guī)則方法
在神經(jīng)科學(xué)中,脈沖效應(yīng)(張慧港 等,2021)取決于兩個(gè)神經(jīng)元間的突觸連接,突觸可塑性(synaptic plasticity)(Song等,2000)是指神經(jīng)細(xì)胞間的連接強(qiáng)度可調(diào)節(jié)的特性,該特性被認(rèn)為是學(xué)習(xí)和記憶的生物學(xué)基礎(chǔ)。STDP是一種基于脈沖時(shí)間信息進(jìn)行學(xué)習(xí)的規(guī)則。突觸前神經(jīng)元的脈沖發(fā)放時(shí)間比突觸后神經(jīng)元早,則突觸連接增強(qiáng),該過程為長時(shí)間的興奮刺激LTP(long-term potentiation);反之,將產(chǎn)生長時(shí)間的抑制LTD(long-term dcprcssion)。STDP機(jī)制是一種反映突觸前后神經(jīng)元對(duì)信息傳遞的因果關(guān)系。標(biāo)準(zhǔn)STDP的算法更新策略公式為
(5)
式中,Δωi,j表示權(quán)重改變量,ti和tj表示突觸前后脈沖神經(jīng)元發(fā)放時(shí)間,τ+和τ-表示影響STDP的時(shí)間窗尺度的時(shí)間常數(shù),a+和a-表示對(duì)應(yīng)突觸的權(quán)重變化方向。
基于STDP規(guī)則方法的改進(jìn)主要有8種方法:Reward STDP、STDP/anti-STDP和延遲學(xué)習(xí)的并行學(xué)習(xí)、石墨烯STDP、時(shí)間步長縮放STDP、初始突觸權(quán)重隨機(jī)分布STDP、對(duì)稱STDP、隨機(jī)STDP和基于圖時(shí)空反向傳播STDP。具體如下:
1)Liu等人(2021)在移動(dòng)機(jī)器人應(yīng)用中提出多任務(wù)自主學(xué)習(xí)范式,基于SNN的控制器采用獎(jiǎng)勵(lì)調(diào)制的STDP學(xué)習(xí)規(guī)則,獎(jiǎng)勵(lì)信號(hào)是根據(jù)突觸前和突觸后脈沖的瞬時(shí)頻率產(chǎn)生,適應(yīng)于感覺刺激和環(huán)境反饋,實(shí)現(xiàn)了多任務(wù)下的自主學(xué)習(xí)能力。
2)Taherkhani等人(2018)提出并行學(xué)習(xí)的監(jiān)督學(xué)習(xí)算法來訓(xùn)練 SNN。該方法考慮突觸延遲對(duì)SNN中神經(jīng)元連接權(quán)重學(xué)習(xí)的影響,學(xué)習(xí)脈沖網(wǎng)絡(luò)突觸延遲,使用STDP、anti-STDP和延遲學(xué)習(xí)的并行學(xué)習(xí)。
3)為實(shí)現(xiàn)高能效、低面積和生物兼容的人工突觸結(jié)構(gòu),以維持神經(jīng)元之間的信號(hào)傳輸,Wang等人(2021)采用具有優(yōu)良的電子特性、原子尺寸和低能量特性的石墨烯突觸結(jié)構(gòu),該結(jié)構(gòu)可以模擬基本的突觸功能,即STDP和長期可塑性,并且可以表現(xiàn)出興奮性或抑制性行為。
4)針對(duì)STDP的硬件所需的大存儲(chǔ)區(qū)域和頻繁內(nèi)存訪問導(dǎo)致的大能量消耗的限制,Kim 等人(2020a)提出時(shí)間步長縮放的STDP,在保持準(zhǔn)確率不下降的前提下,可將脈沖STDP電路的面積減少 60%,降低脈沖所需的存儲(chǔ)區(qū)域99.1%的能耗。
5)Kim等人(2021)分析了初始突觸權(quán)重分布對(duì)基于STDP 學(xué)習(xí)規(guī)則的SNN學(xué)習(xí)速度、識(shí)別率和功耗的影響,并得到了當(dāng)初始突觸權(quán)重分布在最大值附近時(shí),能實(shí)現(xiàn)更高性能的結(jié)論。
6)Hao等人(2020)發(fā)現(xiàn)對(duì)稱脈沖時(shí)間依賴可塑性 (Sym-STDP) 規(guī)則,為監(jiān)督學(xué)習(xí)提出了一種對(duì)稱STDP的SNN模型。通過將 Sym-STDP 規(guī)則與生物似真突觸縮放和動(dòng)態(tài)閾值的內(nèi)在可塑性相結(jié)合,在數(shù)據(jù)集識(shí)別中表現(xiàn)良好。
7)She等人(2019)提出隨機(jī) STDP 算法,該算法使用脈沖頻率信息來動(dòng)態(tài)調(diào)整突觸行為,并在具有噪聲輸入的模式識(shí)別任務(wù)中進(jìn)行了測(cè)試,結(jié)果優(yōu)于確定性 STDP 的準(zhǔn)確性。
8)Yan 等人(2021a)提出基于圖時(shí)空反向傳播 (graph-based spatio-temporal backpropagation, G-STBP)的訓(xùn)練方法,該方法通過將 SNN 描述為具有權(quán)重的有向圖,適用于各種網(wǎng)絡(luò)拓?fù)洌荚谔岣叻逯迪∈栊砸蕴岣吣茉葱?,同時(shí)確保準(zhǔn)確性。
2.4.3 ANN-to-SNN
作為一種受腦啟發(fā)的新型人工神經(jīng)網(wǎng)絡(luò)模型,脈沖神經(jīng)網(wǎng)絡(luò)通過精確定時(shí)的脈沖序列對(duì)神經(jīng)信息進(jìn)行編碼和處理,對(duì)處理復(fù)雜時(shí)間或時(shí)空信息具有一定的優(yōu)勢(shì)。然而,由于錯(cuò)綜復(fù)雜的不連續(xù)和隱式非線性機(jī)制,為脈沖神經(jīng)網(wǎng)絡(luò)制定有效的監(jiān)督學(xué)習(xí)算法很困難,已經(jīng)成為該研究領(lǐng)域的一個(gè)重要問題。研究者對(duì)SNN算法的研究結(jié)果表明,ANN轉(zhuǎn)換SNN的方法具有可執(zhí)行性,并且能夠達(dá)到與ANN類似的性能。
ANN-to-SNN基本原理是:構(gòu)建具有連續(xù)激活值神經(jīng)元組成的網(wǎng)絡(luò)架構(gòu)ANN,然后將訓(xùn)練的ANN架構(gòu)映射到SNN上。目前,基于ANN訓(xùn)練與轉(zhuǎn)換的深度SNN構(gòu)建算法采用近似脈沖神經(jīng)元響應(yīng)特性的函數(shù)作為ANN的激活函數(shù),通過對(duì)ANN網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行裁剪以適應(yīng)脈沖的特性,實(shí)現(xiàn)將SNN的權(quán)重訓(xùn)練過程轉(zhuǎn)移到ANN的權(quán)重訓(xùn)練過程中,權(quán)重訓(xùn)練后再應(yīng)用到具有相同結(jié)構(gòu)的SNN網(wǎng)絡(luò)中,由此避免了深度SNN難以直接訓(xùn)練的問題。該方法在圖像分類的大型脈沖網(wǎng)絡(luò)中能夠達(dá)到與ANN相同的精確度?;谵D(zhuǎn)換的訓(xùn)練方法的優(yōu)點(diǎn)是免除了時(shí)域中的訓(xùn)練負(fù)擔(dān),但也存在轉(zhuǎn)換的ANN的適應(yīng)性較差、SNN精確損失等局限性。產(chǎn)生精度損失的主要原因是ANN神經(jīng)元在模擬SNN神經(jīng)元過程中兩者在信息處理機(jī)制中的差異性,而且精度損失隨網(wǎng)絡(luò)規(guī)模和任務(wù)復(fù)雜程度的增加而增加。在ANN轉(zhuǎn)換SNN過程中,為增加轉(zhuǎn)換的適應(yīng)性,常采用的操作包括訓(xùn)練過程中去除偏差、使用 ReLU激活函數(shù)(或其變體)以更好地匹配脈沖神經(jīng)元的放電率、將最大池化更改為平均池化以增強(qiáng)與SNN 模型的兼容性、引入權(quán)重/激活歸一化、閾值調(diào)整、采樣誤差補(bǔ)償?shù)纫员3譁?zhǔn)確性。基于ANN-to-SNN方法主要有7種:Spiking-ResNet、閾值重縮放方法、TerMapping和AugMapping、Spiking-YOLO、RMP-SNN、二階段CNN轉(zhuǎn)SNN和SWE ResNet。具體如下:
1)Hu等人(2021)實(shí)現(xiàn)將ResNet轉(zhuǎn)換為脈沖神經(jīng)元網(wǎng)絡(luò)spiking-ResNet,提出了一個(gè)殘差轉(zhuǎn)換模型,以適當(dāng)擴(kuò)展連續(xù)值激活以及匹配 SNN 中的發(fā)射速率,并建立補(bǔ)償機(jī)制來減少離散化造成的錯(cuò)誤。
2)為避免從傳統(tǒng) ANN 到 SNN 的直接轉(zhuǎn)換性能損失,Xu等人(2017)提出通過重新調(diào)整 SNN 中每一層的閾值來減少損失的優(yōu)化方法,這種閾值重縮放方法能夠較好地提高SNN的性能。
3)Yu等人(2022)提出了一種新穎的ANN-to-SNN轉(zhuǎn)換方法,即TerMapping和AugMapping。TerMapping 是雙閾值平衡方法,通過正負(fù)兩種激活函數(shù)增強(qiáng)SNN,而 AugMapping 是一種增強(qiáng)脈沖方法,該方法在時(shí)間步長信息上添加二進(jìn)制的脈沖極性和數(shù)量信息。結(jié)果表明,該方案能夠有效提高轉(zhuǎn)換后的 SNN 的精度。
4)Kim 等人(2020b) 第一個(gè)提出基于脈沖的對(duì)象檢測(cè)模型spiking-YOLO(spiking - you only look once),通過引入細(xì)粒度歸一化和閾值不平衡的神經(jīng)元,加快了不同速率的信息傳輸。
5)針對(duì)轉(zhuǎn)換后SNN的精度損失較大和推理時(shí)間步驟較長的問題,Han等人(2020)提出了殘余膜電位脈沖神經(jīng)元,使用soft-reset的脈沖神經(jīng)元模型實(shí)現(xiàn)ANN-to-SNN轉(zhuǎn)換,在發(fā)射瞬間保留了高于閾值的 “殘余”膜電位,有效實(shí)現(xiàn)脈沖信息保留。
6)針對(duì)心臟病的心電圖分類問題,Yan 等人(2021b)提出了使用結(jié)合卷積神經(jīng)網(wǎng)絡(luò)和脈沖神經(jīng)網(wǎng)絡(luò)的心電圖分類方法,首先卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行正常和異常ECG(electrocardiogram)信號(hào)分類,然后對(duì)異常ECG信號(hào)再次進(jìn)行細(xì)分類,最后將CNN模型轉(zhuǎn)為對(duì)應(yīng)的SNN模型。
7)Fang等人(2022)提出脈沖元素的SEW(spike-element-wise)ResNet模型,通過深度 SNN 中的殘差學(xué)習(xí)方法,實(shí)現(xiàn)殘差連接并解決spiking ResNet中梯度消失和爆炸的問題,在ImageNet、DVS Gesture和CIFAR10-DVS 數(shù)據(jù)集效果較好。
2.4.4 其他學(xué)習(xí)算法
基于其他學(xué)習(xí)算法包括:細(xì)菌覓食優(yōu)化算法(bacterial foraging optimization,BFO)、進(jìn)化優(yōu)化算法、相對(duì)排序?qū)W習(xí)(relative ordering learning,ROL)、自由能算法、SP-KMCR 路由算法、增強(qiáng)型貽貝游動(dòng)優(yōu)化算法(enhanced-mussels wandering optimization,E-MWO)、SALT等。具體如下:
1)針對(duì)腓骨肌萎縮癥(Charcot-Marie-Tooth, CMT) 引起的牙齒疾病問題,Al-Kheraif等人(2018)構(gòu)建基于SNN的CMT識(shí)別模型,采用牙齒圖像并歸一化處理,應(yīng)用基于細(xì)菌覓食優(yōu)化算法的SNN模型識(shí)別該疾病。
2)脈沖神經(jīng)網(wǎng)絡(luò)缺陷導(dǎo)致其在神經(jīng)形態(tài)硬件系統(tǒng)的部署和訓(xùn)練較為困難,針對(duì)此問題,Schuman等人(2020)提出神經(jīng)形態(tài)硬件系統(tǒng)的進(jìn)化優(yōu)化(evolutionary optimization for neuromorphic systems,EONS)方法,該方法在硬件約束下訓(xùn)練SNN,充分發(fā)揮了SNN的計(jì)算潛能。
3)Lin等人(2018)提出SNN的相對(duì)排序?qū)W習(xí) (ROL)方法。ROL規(guī)則訓(xùn)練神經(jīng)元發(fā)出第一個(gè)脈沖以響應(yīng)相關(guān)刺激,不受指定精確觸發(fā)時(shí)間的限制,ROL規(guī)則可以動(dòng)態(tài)自適應(yīng)地調(diào)整輸出脈沖以適應(yīng)輸入特征。
4)生物突觸可塑性STDP來源于費(fèi)曼機(jī)器學(xué)習(xí)理論,Cho(2021)根據(jù)費(fèi)曼路徑積分形式主義原理(費(fèi)曼路徑積分形式表示點(diǎn)火動(dòng)力學(xué),形式主義表示神經(jīng)網(wǎng)絡(luò)的自由能原理)構(gòu)建了基于路徑積分形式和自由能原理的網(wǎng)絡(luò)模型,描述生物神經(jīng)網(wǎng)絡(luò)中放電動(dòng)力學(xué)。
5)Vu等人(2019)提出基于最短路徑K均值的多組播路由算法 (shortest path K-means-based multicast routing algorithm, SP-KMCR),該路由算法結(jié)合最短路徑K-means 聚類方法和基于樹的多組播機(jī)制的優(yōu)點(diǎn),具有低延遲、高吞吐量和低功耗特點(diǎn),適用于大規(guī)模嵌入式SNN芯片實(shí)現(xiàn)。
6)Abusnaina等人(2019)提出增強(qiáng)型貽貝游動(dòng)優(yōu)化(E-MWO) 算法,該算法能夠調(diào)整和進(jìn)化突觸延遲,在訓(xùn)練SNN過程中無需調(diào)整連接權(quán)重,整體訓(xùn)練較好收斂且時(shí)間縮短。
7)針對(duì)稀疏脈沖活動(dòng)導(dǎo)致的訓(xùn)練性能下降問題,Kim和Panda(2021)提出脈沖激活提升訓(xùn)練算法(spike activation lift training, SALT),該算法采用分層順序優(yōu)化,通過優(yōu)化卷積層中的權(quán)重和閾值來增加所有層脈沖活動(dòng),有助于網(wǎng)絡(luò)中跨層的信息傳遞。
結(jié)合其他算法的訓(xùn)練方法主要有GoogLeNet/VGG-16+SNN、遺傳交叉算法+SNN、SRNN、MobileNetv2+SNN、投票競(jìng)爭(zhēng)機(jī)制+SNN、SNN+強(qiáng)化學(xué)習(xí)和置換對(duì)頻率矩陣。具體如下:
2)Orlosky和Grabowski (2021)研究了脈沖神經(jīng)網(wǎng)絡(luò)的自動(dòng)進(jìn)化領(lǐng)域,將遺傳交叉算法應(yīng)用于脈沖神經(jīng)元,并比較了遺傳交叉算法與隨機(jī)突變算法在食物覓食和圖像分類兩種任務(wù)的影響。
3)Yin等人(2020)提出自適應(yīng)脈沖遞歸神經(jīng)網(wǎng)絡(luò)(spiking recurrent neural network, SRNN),通過設(shè)計(jì)多時(shí)間尺度的自適應(yīng)脈沖神經(jīng)元,采用替代梯度和時(shí)間反向傳播方法克服脈沖網(wǎng)絡(luò)在反向傳播中梯度不連續(xù)的問題,達(dá)到與RNN相同的效果。
5)莊祖江等人(2020)利用STDP學(xué)習(xí)算法構(gòu)建脈沖神經(jīng)網(wǎng)絡(luò),對(duì)分類層采用投票競(jìng)爭(zhēng)機(jī)制,優(yōu)化了網(wǎng)絡(luò)結(jié)構(gòu),提高了圖像分類的性能。
6)張耀中等人(2019)設(shè)計(jì)了脈沖轉(zhuǎn)換的脈沖神經(jīng)元,引入獎(jiǎng)勵(lì)或誤差信號(hào)改進(jìn)脈沖時(shí)間依賴可塑性規(guī)則, 構(gòu)建了基于SNN和強(qiáng)化學(xué)習(xí)的網(wǎng)絡(luò)結(jié)構(gòu),以提高網(wǎng)絡(luò)的學(xué)習(xí)效率。
7)Mohanty等人(2020)針對(duì)鳥類物種的聲波分類任務(wù),使用置換對(duì)頻率矩陣 (permutation pair frequency matrix,PPFM) 的脈沖神經(jīng)網(wǎng)絡(luò)分類, 該方法在提高準(zhǔn)確率的同時(shí)減少計(jì)算時(shí)間。
ANN受生物大腦啟發(fā),但與真正大腦相比,其在生物系統(tǒng)的高度抽象(Tavanaei等,2019)方面和在捕捉生物神經(jīng)元處理復(fù)雜系統(tǒng)時(shí)序動(dòng)態(tài)特性方面均存在不足,并且在數(shù)據(jù)采集方式、結(jié)構(gòu)、學(xué)習(xí)算法和學(xué)習(xí)規(guī)則方面與人腦存在根本差異,進(jìn)而導(dǎo)致近年來深度學(xué)習(xí)發(fā)展出現(xiàn)瓶頸。而類腦計(jì)算事件驅(qū)動(dòng)的特性可以較好地降低運(yùn)行功耗;SNN的算法理論具有良好的生物可解釋性;時(shí)域維度的信息更具有計(jì)算能力。另一方面,傳統(tǒng)的基于幀的靜態(tài)數(shù)據(jù)已逐漸無法滿足SNN應(yīng)用需求,且SNN在編碼的靜態(tài)數(shù)據(jù)上信息表達(dá)能力較弱,不利于SNN模型學(xué)習(xí)和推理。而具有時(shí)序特征、異步處理、低功耗、數(shù)據(jù)冗余少和時(shí)延低特性的DVS(dynamic vision sensor)神經(jīng)形態(tài)數(shù)據(jù)集與SNN較為契合,在光流估計(jì)、目標(biāo)跟蹤和動(dòng)作識(shí)別等諸多領(lǐng)域具有廣闊的前景;最后相對(duì)于傳統(tǒng)的神經(jīng)網(wǎng)絡(luò),其具有硬件實(shí)現(xiàn)相對(duì)容易的優(yōu)勢(shì)。但脈沖神經(jīng)網(wǎng)絡(luò)也存在如缺乏有效的訓(xùn)練算法,以及由于脈沖神經(jīng)元模型過于復(fù)雜,計(jì)算量大,訓(xùn)練相對(duì)低效等問題。根據(jù)SNN監(jiān)督學(xué)習(xí)和無監(jiān)督學(xué)習(xí)的特性逐一介紹其發(fā)展與不足。
在監(jiān)督學(xué)習(xí)中,深度學(xué)習(xí)需要大量帶標(biāo)簽的訓(xùn)練樣本,使用反向傳播以監(jiān)督學(xué)習(xí)的方式訓(xùn)練深層人工神經(jīng)網(wǎng)絡(luò),取得良好效果。目前來說,SNN在準(zhǔn)確性方面仍落后于ANN,但差距正在縮小,在某些任務(wù)上達(dá)到了與ANN相同的效果,且操作更少、能耗更低。在SNN中,監(jiān)督學(xué)習(xí)通過最小化期望與輸出脈沖序列中的誤差進(jìn)行梯度下降的權(quán)重調(diào)整,然后通過增量更新規(guī)則調(diào)整所有突觸權(quán)重。由于脈沖神經(jīng)元是非線性的、不連續(xù)的脈沖信號(hào),神經(jīng)元的內(nèi)部狀態(tài)變量以及實(shí)際輸出脈沖序列與期望輸出脈沖序列之間的誤差函數(shù)不再滿足連續(xù)可微性的性質(zhì),導(dǎo)致其傳遞函數(shù)通常是不可微的,從而阻止了反向傳播。Wu等人(2018)提出了一種SNN 的時(shí)空反向傳播訓(xùn)練框架,該框架在訓(xùn)練階段結(jié)合了空間域和時(shí)間域,采用脈沖活動(dòng)的近似導(dǎo)數(shù)用于梯度下降訓(xùn)練。Neftci等人(2019)提出一種替代梯度的方法,實(shí)現(xiàn)與深度神經(jīng)網(wǎng)絡(luò)的梯度下降法類似的監(jiān)督學(xué)習(xí)訓(xùn)練方法,脈沖神經(jīng)元非線性的導(dǎo)數(shù)由截?cái)喽魏瘮?shù)的導(dǎo)數(shù)近似,從而產(chǎn)生一個(gè)ReLU函數(shù)作為代理導(dǎo)數(shù),實(shí)現(xiàn)在脈沖神經(jīng)元的可微性。
仿生無監(jiān)督學(xué)習(xí)機(jī)制(富嘉育, 2020)在學(xué)習(xí)過程中并不需要按照期望的輸出調(diào)節(jié)權(quán)值,根據(jù)所輸入的刺激激勵(lì)信息調(diào)整相應(yīng)的權(quán)重值,在類腦計(jì)算領(lǐng)域無監(jiān)督算法以赫布規(guī)則和STDP算法為理論核心,進(jìn)而演化出多種學(xué)習(xí)算法,該方式與生物神經(jīng)元的信息傳遞方式較為契合,然而,傳統(tǒng)STDP學(xué)習(xí)規(guī)則在計(jì)算單個(gè)突觸變化時(shí),需要測(cè)量和存儲(chǔ)突觸的全部群體活動(dòng)狀態(tài),計(jì)算量較大且計(jì)算困難,進(jìn)而導(dǎo)致無法構(gòu)建大規(guī)模深層次的網(wǎng)絡(luò)模型;另一方面,由于目前研究對(duì)人腦復(fù)雜動(dòng)力學(xué)機(jī)制尚未明確,對(duì)人腦神經(jīng)元突觸連接研究整體仍處于粗淺水平,該方向也是未來重點(diǎn)研究方向。
受大腦層次化結(jié)構(gòu)和神經(jīng)突觸框架啟發(fā)的人工神經(jīng)網(wǎng)絡(luò)為人類邁入智能化時(shí)代提供了關(guān)鍵支撐。類腦計(jì)算借鑒人腦信息處理方式,具有強(qiáng)大的時(shí)空處理能力和較好的生物可解釋性。深度學(xué)習(xí)對(duì)復(fù)雜的腦信息(如腦電波(electroencephalography, EEG)、功能性磁共振成像(functional magnetic resonance imaging, fMRI))等信息的處理效果并不理想,脈沖神經(jīng)網(wǎng)絡(luò)在處理腦信息方面具有天然的優(yōu)勢(shì)。
1)研究大腦海馬區(qū)域神經(jīng)元類型能促進(jìn)對(duì)大腦高級(jí)認(rèn)知行為的理解。Sutton和Ascoli(2021)構(gòu)建了基于人腦海馬區(qū)功能的脈沖神經(jīng)網(wǎng)絡(luò)模擬的在線知識(shí)庫。概述了海馬體形成的理論、學(xué)習(xí)和記憶;并提供一個(gè)交互式平臺(tái),可用于調(diào)查海馬功能的脈沖神經(jīng)網(wǎng)絡(luò)模型。
2) Doborjeh等人(2021)利用縱向MRI數(shù)據(jù)特征,構(gòu)建SNN個(gè)性化預(yù)測(cè)系統(tǒng),以準(zhǔn)確檢測(cè)、理解和預(yù)測(cè)個(gè)體功能性大腦狀態(tài),該類模型得到更精確的預(yù)測(cè)結(jié)果。
3)生物大腦在外界刺激下具有很強(qiáng)的魯棒性。從大腦的結(jié)構(gòu)特點(diǎn)和信息處理過程兩方面出發(fā),研究具有自適應(yīng)容錯(cuò)能力的類腦網(wǎng)絡(luò)對(duì)于腦科學(xué)研究和工程應(yīng)用的發(fā)展具有重要意義,Guo等人(2021)構(gòu)建了小世界拓?fù)涞腟NN和無標(biāo)度拓?fù)涞腟NN模型,對(duì)于針對(duì)性攻擊,小世界拓?fù)浣Y(jié)構(gòu)的SNN在高度針對(duì)性攻擊下的抗損傷能力優(yōu)于無標(biāo)度拓?fù)浣Y(jié)構(gòu)的SNN。
4) Tan等人(2021)提出基于時(shí)空 EEG 模式下脈沖神經(jīng)網(wǎng)絡(luò)建模的短期情緒識(shí)別框架。采用面部標(biāo)志的變化檢測(cè) EEG 信號(hào),通過分割策略進(jìn)行短期情緒表征,采用3D-SNN模塊訓(xùn)練EEG脈沖特征獲得情感分類精度,有助于了解與人類情緒相關(guān)的大腦神經(jīng)信號(hào)的處理過程。
5) Virgilio等人(2020)提出基于EEG信號(hào)的SNN識(shí)別運(yùn)動(dòng)圖像任務(wù),該模型采用5種運(yùn)動(dòng)EEG信號(hào),特征提取采用功率譜密度和小波分解方法,并比較具有恒定值的輸入特征和具有時(shí)間信息的輸入特征。實(shí)驗(yàn)表明,使用較少數(shù)量的具有時(shí)間信息的脈沖神經(jīng)元,可獲得更好的結(jié)果。
生物系統(tǒng)行為的仿生是了解生物和構(gòu)成生物的神經(jīng)網(wǎng)絡(luò)如何工作的主要步驟。Fernández等人(2021)開發(fā)類似于反射弧中的預(yù)設(shè)結(jié)構(gòu)的脈沖神經(jīng)網(wǎng)絡(luò),以實(shí)現(xiàn)人類手臂控制算法。通過SNN模擬運(yùn)動(dòng)控制中樞神經(jīng)系統(tǒng)的運(yùn)動(dòng)行為,達(dá)到控制手臂位置的目的,可再現(xiàn)反射弧的固定結(jié)構(gòu)。Yao等人(2019)設(shè)計(jì)了基于空間導(dǎo)航任務(wù)的SNN控制機(jī)器人平臺(tái),機(jī)器人能夠執(zhí)行覓食和規(guī)避風(fēng)險(xiǎn)的任務(wù)。Getty等人(2020)探索采用運(yùn)動(dòng)學(xué)數(shù)據(jù)模擬機(jī)器人輔助微創(chuàng)手術(shù)的方法,改善患者治療效果,通過模擬稀疏運(yùn)動(dòng)特征構(gòu)建神經(jīng)形態(tài)模型,在Nengo模擬框架上進(jìn)行訓(xùn)練,且保持較高的準(zhǔn)確性。
本文首先介紹脈沖神經(jīng)網(wǎng)絡(luò)的基本原理,然后在網(wǎng)絡(luò)結(jié)構(gòu)和學(xué)習(xí)算法兩大方面闡述研究進(jìn)展。并歸納脈沖神經(jīng)網(wǎng)絡(luò)的缺陷與發(fā)展,最后總結(jié)SNN在類腦計(jì)算和仿生計(jì)算的應(yīng)用,對(duì)其研究具有積極意義。
目前,以深度學(xué)習(xí)為代表的第2代神經(jīng)網(wǎng)絡(luò)對(duì)大腦互連結(jié)構(gòu)和生物信息表征的模擬極其不足,2維固化的結(jié)構(gòu)和數(shù)據(jù)驅(qū)動(dòng)的方式雖然在訓(xùn)練中具有便捷性,促進(jìn)了目前深度學(xué)習(xí)的快速發(fā)展,但是也成為其發(fā)展的瓶頸。因此,基于事件驅(qū)動(dòng)和脈沖化信息表征方式的脈沖神經(jīng)網(wǎng)絡(luò)具有較大的發(fā)展前景(黃鐵軍 等,2019),在此基礎(chǔ)上,形成“小節(jié)點(diǎn)大網(wǎng)絡(luò)”的層次化網(wǎng)絡(luò)模型與網(wǎng)絡(luò)結(jié)構(gòu),以超大規(guī)模神經(jīng)元網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)和連接強(qiáng)度進(jìn)行信息記憶,并實(shí)現(xiàn)存算一體,將有可能實(shí)現(xiàn)強(qiáng)人工智能。