国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于注意力機(jī)制卷積脈沖神經(jīng)網(wǎng)絡(luò)的目標(biāo)識別方法*

2022-11-09 02:34張軍軍
計算機(jī)與數(shù)字工程 2022年9期
關(guān)鍵詞:集上電位注意力

張軍軍

(西安工程大學(xué)計算機(jī)科學(xué)學(xué)院 西安 710048)

1 引言

了解大腦如何有效地處理信息是現(xiàn)代神經(jīng)科學(xué)研究的關(guān)鍵問題之一。由于組成大腦的神經(jīng)元數(shù)目龐大,連接方式多樣,其生理機(jī)制復(fù)雜。近年來,隨著信息科學(xué)的飛速發(fā)展,計算機(jī)模擬大腦信息處理機(jī)制研究逐漸成為可能。如何有效地認(rèn)知大腦處理信息的機(jī)理是神經(jīng)科學(xué)與信息科學(xué)交叉研究的一個重要方向,也是類腦計算領(lǐng)域研究的關(guān)鍵問題之一。

脈沖神經(jīng)網(wǎng)絡(luò)(Spiking Neural Network,SNN)是目前最具有神經(jīng)形態(tài)的網(wǎng)絡(luò)[1],被稱為第三代神經(jīng)網(wǎng)絡(luò)[2]。受神經(jīng)科學(xué)的啟發(fā),SNN具有接近生物神經(jīng)系統(tǒng)的神經(jīng)元模型,其特點(diǎn)是通過脈沖序列放電時間來進(jìn)行信息傳遞[3],SNN提供了稀疏且強(qiáng)大的計算能力[4~5],并實(shí)現(xiàn)了超低功耗事件驅(qū)動處理的神經(jīng)形態(tài)硬件[6]。目前,最常用的脈沖神經(jīng)元模型主要是漏積分點(diǎn)火神經(jīng)元模型(Leaky Intergrate and Fire Model,LIF)[7],它簡化了霍奇金赫胥黎模型(Hodgkin Huxley Model,HH)[8],LIF通過對細(xì)胞膜電位隨時間和外部電流輸入的變化進(jìn)行建模來描述神經(jīng)元的復(fù)雜動態(tài)變化,LIF模型簡單但不夠精確仿真神經(jīng)元的特性。HH模型具有高度仿生性,但模型復(fù)雜。2003年,Izhikevich提出了Izhikevich模型[9],它簡化了HH模型,同時又具有較高的仿生性。常用的SNN的學(xué)習(xí)算法主要有基于梯度下降的監(jiān)督學(xué)習(xí)算法和基于突觸可塑性的無監(jiān)督學(xué)習(xí)算法?;谔荻认陆档膶W(xué)習(xí)算法主要以SpikeProp[10]為主,它首次將反向傳播推廣到SNN,但只能訓(xùn)練單層網(wǎng)絡(luò),隨后,眾多學(xué)者對SpikeProp[10]進(jìn)行改進(jìn),如Xin[11]提出了帶動量的梯度下降方 法。Kennoch[12]提出了RProp和Quick-Prop算法,旨在加速網(wǎng)絡(luò)學(xué)習(xí)算法收斂速度。Booij[13]提出了Muitl-SpikeProp在網(wǎng)絡(luò)學(xué)習(xí)性能方面也得到了提升?;谕挥|可塑性的無監(jiān)督學(xué)習(xí)算法主要有脈沖時序依賴可塑性(Spike-Timing-Dependent Plasticity,STDP)[14]和Ponulak等[15]提出的遠(yuǎn)程監(jiān)督學(xué)習(xí)算法(Remote supervised method,ReSuMe)。這兩種算法都是基于Hebb學(xué)習(xí)規(guī)則[16]對網(wǎng)絡(luò)權(quán)值進(jìn)行調(diào)節(jié)。

近年來,隨著深度學(xué)習(xí)的進(jìn)一步發(fā)展,在網(wǎng)絡(luò)結(jié)構(gòu)中加入一些重要的模塊進(jìn)一步提升網(wǎng)絡(luò)的學(xué)習(xí)性能逐漸引起了學(xué)者們的關(guān)注。其中,注意力機(jī)制(Attention Mechanism)作為一個模塊,加入網(wǎng)絡(luò)模型構(gòu)建過程中已成為關(guān)注的焦點(diǎn)。2016年,Liu等[17]提出了一種基于強(qiáng)化學(xué)習(xí)的全卷積注意定位網(wǎng)絡(luò),用于自適應(yīng)選擇多任務(wù)驅(qū)動的視覺注意區(qū)域。Wang等[18]提出了(Ranking Attention Network,RANet)網(wǎng)絡(luò),將注意力機(jī)制引入了殘差網(wǎng)絡(luò)中。Hu等[19]提出了(Squeeze-and-Excitation Networks,SENet)網(wǎng)絡(luò),獲得了ImageNet 2017競賽圖像分類任務(wù)的冠軍。隨后,Woo等[20]提出了卷積塊注意力模 塊(Convolutional Block Attention Module,CBAM),設(shè)計了一種學(xué)習(xí)通道和空間位置重要性的方法。

為了克服傳統(tǒng)人工神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)效率低,網(wǎng)絡(luò)訓(xùn)練耗時長等問題,本文融合了脈沖神經(jīng)網(wǎng)絡(luò)和卷積注意力模塊構(gòu)建了一種基于注意力機(jī)制的卷積脈沖神經(jīng)網(wǎng)絡(luò)(AMCSNN)用于目標(biāo)識別。本文貢獻(xiàn)總結(jié)如下:

1)將注意力機(jī)制應(yīng)用于脈沖神經(jīng)網(wǎng)絡(luò)。結(jié)合脈沖神經(jīng)網(wǎng)絡(luò)和卷積注意力設(shè)計新的AMCSNN,在MNIST和Caltech數(shù)據(jù)集上取得了較好的識別效果。

2)設(shè)計了高斯差分時序編碼方法。所提出的方法能夠?qū)Ω咚共罘譃V波器提取的視覺特征進(jìn)行脈沖時序編碼,從而在AMCSNN中實(shí)現(xiàn)快速準(zhǔn)確的信息傳遞。

3)采用無監(jiān)督的生物可塑性算法加監(jiān)督學(xué)習(xí)方法來進(jìn)行網(wǎng)絡(luò)的學(xué)習(xí)和分類,在MNIST和Caltech數(shù)據(jù)集上的仿真實(shí)驗(yàn)表明,提出AMCSNN網(wǎng)絡(luò)具有較強(qiáng)的生物合理性優(yōu)勢,在保證識別率的同時,具有較高的學(xué)習(xí)效率和較短的網(wǎng)絡(luò)訓(xùn)練耗時。

2 脈沖神經(jīng)網(wǎng)絡(luò)

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

脈沖神經(jīng)元的狀態(tài)主要受膜電位和閾值電位的控制,而膜電位主要由來自上一層神經(jīng)元的突觸后電位決定,突觸后電位分為興奮性電位和抑制性電位,分別使神經(jīng)元的膜電位升高或降低[21]。本文主要采用LIF神經(jīng)元模型。

LIF神經(jīng)元模型是一個線性微分方程,如式(1)所示。

其中,Vm(t)表示神經(jīng)元的膜電位,Vrest是靜息電位,時間常數(shù)τm是膜電阻Rm和膜電容Cm的乘積,I(t)是突觸后神經(jīng)元的輸入電流。

在LIF模型中,當(dāng)突觸后神經(jīng)元接收到突觸前神經(jīng)元的脈沖信號時,其膜電位會不斷的累積,當(dāng)膜電位達(dá)到閾值電位時,則會發(fā)出一個脈沖信號,之后神經(jīng)元進(jìn)入不應(yīng)期,膜電位會被重置為靜息電位。

2.2 突觸可塑性算法

本文使用無監(jiān)督的STDP學(xué)習(xí)算法來進(jìn)行權(quán)重的更新,學(xué)習(xí)是逐層完成的。STDP是基于突觸前和突觸后的脈沖發(fā)放時間順序來進(jìn)行的,它是一種無監(jiān)督的學(xué)習(xí)規(guī)則。STDP的規(guī)則是:如果突觸前神經(jīng)元比突觸后神經(jīng)元先受到刺激,則會引起突觸的長時程增強(qiáng),即兩個神經(jīng)元突觸之間的連接權(quán)值將增大,否則會引起突觸的長時程抑制,即兩個神經(jīng)元突觸之間的連接權(quán)值將減小。我們使用的STDP如式(2)所示。

其中,i和j分別表示突觸后和突觸前神經(jīng)元下標(biāo),ti和tj是相應(yīng)的脈沖發(fā)放時間,ΔWij是連接兩個神經(jīng)元的突觸權(quán)重變化量,a+和a-是突觸縮放權(quán)重變化的大小,即學(xué)習(xí)率,乘法項(xiàng)(Wij-WLB)(WUP-Wij)是一個穩(wěn)定項(xiàng),當(dāng)突觸權(quán)重接近于較低的權(quán)重下限WLB和較高的權(quán)重上限WUP時,它會減慢權(quán)重變化的速度。

3 基于注意力的卷積脈沖神經(jīng)網(wǎng)絡(luò)

3.1 AMCSNN網(wǎng)絡(luò)結(jié)構(gòu)

AMCSNN網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示,從上到下依次為高斯差分時序編碼層、卷積層1(C1)、CBAM層1、STDP層1、池化層1(S1)、卷積層2(C2)、CBAM層2、STDP層2、池化層2(S2),最后通過支持向量機(jī)(Support Vector Machine,SVM)來完成目標(biāo)分類。編碼層主要進(jìn)行簡單的圖像預(yù)處理和像素編碼,卷積層主要進(jìn)行特征提取,CBAM層從通道和空間兩個維度實(shí)現(xiàn)卷積層的特征輸出,得到更高維度的特征。STDP層根據(jù)神經(jīng)元輸入的脈沖時序自適應(yīng)調(diào)整連接權(quán)重,通過自適應(yīng)學(xué)習(xí)方式獲得網(wǎng)絡(luò)的共享權(quán)值。池化層主要用來降維,以減少信息的冗余。

圖1 AMCSNN網(wǎng)絡(luò)結(jié)構(gòu)

3.2 高斯差分時序編碼層

提出的AMCSNN中設(shè)計了高斯差分時序編碼層,旨在將目標(biāo)的視覺特征編碼為脈沖序列。

本文采用時間步長來模擬神經(jīng)元的首個脈沖時間,因?yàn)槊看未碳ど窠?jīng)元最多發(fā)出一個脈沖,按時間步長足以記錄神經(jīng)元的首個脈沖時間。

為了方便描述,本文假設(shè)一個刺激由特征圖F表示,包含H×W個神經(jīng)元網(wǎng)格,設(shè)Tmax是總的時間步長,Tf,r,c表示特征圖f在(r,c)位置的脈沖時間,其中,0≤f<F,0≤r<H,0≤c<W,Tf,r,c∈{0,1,2,…,Tmax-1}U{∞},∞表示沒有脈沖發(fā)射。最后產(chǎn)生大小為Tmax×F×H×W的脈沖波張量為S,表示Tmax個時間步長產(chǎn)生的脈沖序列,如式(3)所示。

高斯差分時序編碼步驟如下:

步驟1首先判斷圖像是否為灰度圖像,是轉(zhuǎn)步驟3,否轉(zhuǎn)步驟2。

步驟2將輸入圖像轉(zhuǎn)為灰度圖像。

步驟3將圖像轉(zhuǎn)換為張量格式,方便數(shù)據(jù)處理。

步驟4增加時間維度,得到四維張量。

步驟5構(gòu)造高斯差分函數(shù),兩個二維高斯核函數(shù)的核大小和標(biāo)準(zhǔn)差分別為(7,1,2)和(7,2,1),填充為3,將步驟4得到的四維張量與高斯差分核函數(shù)卷積,結(jié)果記為out,同時設(shè)定閾值為50,將out中小于閾值50的像素值設(shè)為0,并輸出out。

步驟6將out執(zhí)行歸一化操作。歸一化半徑r設(shè)為8,采用二維卷積計算每個區(qū)域(大小為2r+1)的圖像強(qiáng)度均值,并使用該區(qū)域中每個像素點(diǎn)的灰度值除以區(qū)域均值完成out的局部歸一化。

步驟7將歸一化后的四維張量轉(zhuǎn)化為脈沖波張量。首先統(tǒng)計圖像強(qiáng)度不為0的像素點(diǎn)的個數(shù)記為cnt,輸入的總的時間步長記為Tmax,用cnt除以Tmax得到每個時間步長的神經(jīng)元網(wǎng)格,然后降序排序每個時間步長的神經(jīng)元網(wǎng)格,分割排序后的神經(jīng)元網(wǎng)格,得到每個網(wǎng)格的像素值和其索引,返回每個時間步長的網(wǎng)格值,取其符號值(正的為1,負(fù)的為0)作為脈沖,得到最后的脈沖波張量即脈沖序列。

3.3 脈沖卷積層

脈沖卷積層的輸入對象為高斯差分時序編碼層得到的脈沖波張量即神經(jīng)元的放電時間脈沖序列。一個脈沖卷積運(yùn)算由式(4)表示。

其中,Ti表示神經(jīng)元i的放電時間序列集合,wij表示突觸前神經(jīng)元j和突觸后神經(jīng)元i的突觸權(quán)重,uij表示神經(jīng)元i的突觸后膜電位,tf j表示神經(jīng)元j在f時刻的放電時間,ν為閾值電位,本文設(shè)置靜息電位為0。整個公式表示的是對突觸后電位的加權(quán)和,當(dāng)突觸后電位的加權(quán)和超過閾值電位時,就會在時間t產(chǎn)生一個脈沖,之后回到靜息電位。

脈沖卷積采用突觸后膜電位函數(shù)uij來進(jìn)行脈沖放電激活,由式(5)表示。

其中,H(*)是赫維賽德階躍函數(shù),q是注入突觸后神經(jīng)元i的總電荷,tjf表示神經(jīng)元j在f時刻的放電時間,τs是突觸電流時間延遲常數(shù)。

3.4 卷積注意力模塊

本文加入的注意力模型CBAM如圖2所示,是一種結(jié)合了空間和通道的注意力機(jī)制模塊,它常被加入到一些傳統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)中來提高網(wǎng)絡(luò)模型的分類效果。

圖2 CBAM模塊的整體計算過程

對來自于卷積層的特征圖F應(yīng)用CBAM,計算如式(6)所示。

其中,MC表示在一維通道上的注意力提取操作,MS表示在二維空間上的注意力提取操作,?表示卷積操作,F(xiàn)′表示通道注意力的輸出,F(xiàn)′表示最終的注意力輸出。

對于通道和空間注意力的計算如式(7)所示。

其中,σ表示Sigmoid函數(shù),AνgPool和MaxPool分別表示平均池化和最大池化。MLP表示多層感知器。

4 實(shí)驗(yàn)結(jié)果及分析

4.1 實(shí)驗(yàn)數(shù)據(jù)及網(wǎng)絡(luò)配置

本文實(shí)驗(yàn)運(yùn)行平臺的配置以及Python和Pytorch的版本如下:運(yùn)行平臺處理器為Intel(R)Xeon(R)CPU E5-2630 v4@2.20GHz,系統(tǒng)為Ubuntu 16.04.6 LTS(64位),內(nèi)核版本為4.4.0,Python版本為3.6.5,Pytorch版本為1.2。為了保證在短時間內(nèi)完成模型訓(xùn)練,模型加速器采用了GPU。為了模擬我們的AMCSNN,使用了SpykeTorch模擬器[22]。

為了驗(yàn)證AMCSNN網(wǎng)絡(luò)的有效性,在兩個公開數(shù)據(jù)集MNIST數(shù)據(jù)集和Caltech數(shù)據(jù)集上進(jìn)行了實(shí)驗(yàn)。此外,進(jìn)一步在ETH-80面向圖像集的數(shù)據(jù)集上驗(yàn)證了AMCSNN分類任務(wù)的有效性。

MNIST數(shù)據(jù)集是驗(yàn)證SNN網(wǎng)絡(luò)有效性的首選數(shù)據(jù)集。本文選取數(shù)據(jù)集的60000張圖片作為訓(xùn)練集,10000張圖片作為測試集。

Caltech101數(shù)據(jù)集是常用的計算機(jī)視覺數(shù)據(jù)集,其中包含101個類別圖片,每類不超過80張圖片。本文選取Caltech(FACE/MOTORBIKE)兩類物體進(jìn)行實(shí)驗(yàn),首先對Caltech(FACE/MOTORBIKE)數(shù)據(jù)集隨機(jī)劃分,其中每類訓(xùn)練集含隨機(jī)選擇的200張圖片,其余構(gòu)成測試集。

在整個網(wǎng)絡(luò)的訓(xùn)練中,只有兩個卷積層需要通過學(xué)習(xí)來更新權(quán)重,特征的提取和分類是完全分開的,網(wǎng)絡(luò)各層的具體參數(shù)如表1所示。本文對兩個卷積層均做了500次的權(quán)重更新。

表1 網(wǎng)絡(luò)各層的參數(shù)

說明:表1中沒有STDP層,是因?yàn)镾TDP主要作用于卷積層,故其參數(shù)學(xué)習(xí)率在卷積層給出。脈沖發(fā)放的總時間步長為15,在MNIST數(shù)據(jù)集上SVM的輸出為10,在Caltech數(shù)據(jù)集上SVM的輸出為2,在Caltech數(shù)據(jù)集上SVM的輸出為8,SVM的懲罰參數(shù)為2.4。

4.2 評估指標(biāo)

為定量分析和評估AMCSNN網(wǎng)絡(luò)的分類效果,本文將AMCSNN與卷積脈沖神經(jīng)網(wǎng)絡(luò)(Convolutional Spiking Neural Network,CSNN)和卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)在MNIST和Caltech數(shù)據(jù)集上分別進(jìn)行了實(shí)驗(yàn)。本文采用分類準(zhǔn)確率來評價網(wǎng)絡(luò)的分類效果,其計算如式(8)所示。

其中,TP(True Positive)即正例識別正確的個數(shù),F(xiàn)P(False Negative)即非正例被錯誤識別為正例的個數(shù),TN(True Negative)即非正例識別正確的個數(shù),F(xiàn)N(False Positive)即正例被錯誤識別為非正例的個數(shù)。

此外,采用網(wǎng)絡(luò)訓(xùn)練耗時來評價網(wǎng)絡(luò)的計算效率,綜合考慮網(wǎng)絡(luò)分類準(zhǔn)確率和網(wǎng)絡(luò)訓(xùn)練耗時來評判網(wǎng)絡(luò)有效性。即分類準(zhǔn)確率高且耗時少的網(wǎng)絡(luò)越有效。

4.3 實(shí)驗(yàn)分析

本文提出的AMCSNN網(wǎng)絡(luò)與CSNN以及CNN在MNIST和Caltech數(shù)據(jù)集上的網(wǎng)絡(luò)識別準(zhǔn)確率如表2所示。

表2 不同網(wǎng)絡(luò)在MNIST和Caltech(2類)以及ETH-80數(shù)據(jù)集上的分類準(zhǔn)確率

從表2可以看出,在MNIST和Caltech數(shù)據(jù)集上,AMCSNN網(wǎng)絡(luò)的識別準(zhǔn)確率分別為98.42%和99.3%,與使用相同訓(xùn)練方式和學(xué)習(xí)規(guī)則的CSNN相比,AMCSNN的識別率更高,與基于反向傳播訓(xùn)練的CNN網(wǎng)絡(luò)相比,針對MNIST數(shù)據(jù)集,提出的AMCSNN識別準(zhǔn)確率僅相差0.24%,針對Caltech數(shù)據(jù)集僅相差0.22%。

此外,圖3可視化了AMCSNN在MNIST數(shù)據(jù)集上的混淆矩陣,可以看到,AMSCNN除了對類別“3”和“8”的分類準(zhǔn)確率在97%以外,其他8種類別的分類準(zhǔn)確率均在98%以上,特別是對類別“1”和“4”以及“6”的分類準(zhǔn)確率均達(dá)到了99%以上,這充分表明了AMSCNN網(wǎng)絡(luò)具有良好的分類效果。

圖3 AMCSNN在MNIST上的混淆矩陣

圖4采用ROC曲線對使用同樣訓(xùn)練方式和學(xué)習(xí)規(guī)則的AMCSNN和CSNN在Caltech數(shù)據(jù)集上進(jìn)行了比較。根據(jù)ROC曲線,由圖4可以看到,AMCSNN在Caltech上的網(wǎng)絡(luò)分類效果要優(yōu)于CSNN。

圖4 AMCSNN與CSNN在Caltech(2類)上的ROC曲線

圖5比較了3種網(wǎng)絡(luò)的訓(xùn)練耗時??梢钥吹?,AMCSNN相比于CSNN和CNN網(wǎng)絡(luò)耗時較少,一方面得益于SNN的稀疏性和強(qiáng)大的計算能力[4~5],使得網(wǎng)絡(luò)功耗比較低,另一方面是因?yàn)檩p量級的CBAM模塊對平均池化和最大池化的綜合應(yīng)用,有助于計算性能的提升[20]。因此,CBAM模塊的加入看似增加了網(wǎng)絡(luò)的計算量,實(shí)則對網(wǎng)絡(luò)計算性能的提升裨益良多。通過上述實(shí)驗(yàn)結(jié)果,綜合考慮網(wǎng)絡(luò)分類準(zhǔn)確率和平均訓(xùn)練耗時,可以看到AMCSNN不僅具有較強(qiáng)的生物合理性優(yōu)勢,而且在保證準(zhǔn)確率的同時,具有較高的學(xué)習(xí)效率和較短的網(wǎng)絡(luò)耗時,充分證明了AMCSNN網(wǎng)絡(luò)的有效性。

圖5 MNIST和Caltech(2類)上的網(wǎng)絡(luò)訓(xùn)練耗時比較

5 結(jié)語

本文提出了一種基于注意力機(jī)制的卷積脈沖神經(jīng)網(wǎng)絡(luò)(AMCSNN)用于目標(biāo)識別。該網(wǎng)絡(luò)加入了輕量級的CBAM模塊,融合了脈沖神經(jīng)網(wǎng)絡(luò)和卷積神經(jīng)網(wǎng)絡(luò)的優(yōu)勢,有效解決了傳統(tǒng)人工神經(jīng)網(wǎng)絡(luò)因采用反向傳播導(dǎo)致學(xué)習(xí)效率低、網(wǎng)絡(luò)訓(xùn)練耗時長等問題。本文采用無監(jiān)督的STDP學(xué)習(xí)算法分層訓(xùn)練網(wǎng)絡(luò)權(quán)重,最后使用支持向量機(jī)分類。實(shí)驗(yàn)表明,該網(wǎng)絡(luò)具有較強(qiáng)的生物合理性優(yōu)勢,在保證識別率的同時,具有較高的學(xué)習(xí)效率和較短的網(wǎng)絡(luò)訓(xùn)練耗時。今后將考慮設(shè)計合理的脈沖編碼方式,繼續(xù)優(yōu)化網(wǎng)絡(luò)。

猜你喜歡
集上電位注意力
讓注意力“飛”回來
電位滴定法在食品安全檢測中的應(yīng)用
Cookie-Cutter集上的Gibbs測度
鏈完備偏序集上廣義向量均衡問題解映射的保序性
復(fù)扇形指標(biāo)集上的分布混沌
“揚(yáng)眼”APP:讓注意力“變現(xiàn)”
電鍍廢水處理中的氧化還原電位控制
A Beautiful Way Of Looking At Things
淺談等電位聯(lián)結(jié)
幾道導(dǎo)數(shù)題引發(fā)的解題思考