999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于脈沖頻率與輸入電流關系的SNN訓練算法

2022-05-19 13:26:52蘭浩鑫陳云華
計算機工程與應用 2022年10期
關鍵詞:方法

蘭浩鑫,陳云華

廣東工業大學 計算機學院,廣州 510006

脈沖神經網絡(spiking neural network,SNN)通過脈沖事件驅動的通信實現神經元和突觸計算,其與事件傳感器相結合,有望突破深度人工神經網絡所面臨的能源和吞吐量瓶頸,實現低功耗、低延遲和高精度的目標識別[1]。然而,由于SNN采用的是生物神經元模型,使得SNN同時具有空間和時間特性,生物神經元相較于人工神經元有著復雜的時間動力學和離散脈沖事件產生過程不可微的性質,導致反向傳播(backpropagation,BP)算法難以直接應用于SNN訓練。

為此,研究者提出線性假設、忽略不可微、替代微分函數等[2-8]方式,使得可利用BP算法對SNN進行訓練。現有研究主要分為基于時間編碼和基于頻率編碼兩大類。

基于時間編碼的方法主要包括線性假設法和因果集法。Bohte等人[2]提出的SpikeProp及Ghosh-Dastidar等人[3]提出的Multi-SpikeProp都是基于線性假設,將神經元的輸入時間和輸出時間進行線性處理,以繞過脈沖函數不連續的問題。Mostafa[4]基于網絡前后兩層神經元發放脈沖的時間關系,建立具有局部線性關系的因果集(causal set),求線性關系的梯度調整脈沖發放時間,使正確發放的神經元比其他神經元更早發放脈沖,通過因果集的關系來避免直接對脈沖函數求梯度。時間編碼將信息編碼到脈沖序列精準的時刻點,只需少量的脈沖就可以表達準確的信息,因此這類方法限制某些神經元或者全部神經元發放一個脈沖,發放的脈沖數較少,具有功耗低的優點,但由于網絡結構只有一個到兩個隱藏層的全連接結構,在較大型數據集上的精度不夠理想。

基于頻率編碼的方法主要采用忽略不可微、近似脈沖函數、替換微分函數等方法解決神經元產生離散脈沖事件的不可微性。Lee等人[5]采用的是忽略不可微法,將膜電位作為可微信號來求梯度,對于膜電位的突變將其看作噪聲而忽略,通過忽略不可微的方式來實現梯度的反向傳播。Jin等人[6]采用的是脈沖函數近似法,將網絡層與層之間的數據傳遞看作“宏觀層面”,神經元內部的數據傳遞看作“微觀層面”,將“宏觀層面”和“微觀層面”的數據傳遞聯系起來,通過對脈沖時間函數的近似來求梯度。Wu等人[1,7-8]基于替換微分函數的方法進行反向傳播,用矩形函數代替脈沖函數的微分函數,將膜電位帶入矩形函數中得到梯度。這類方法通常具有卷積結構的SNN,因此在較大的數據集上精度較高,但由于頻率編碼將信息編碼到脈沖頻率,需要大量的脈沖來表達準確的信息,仿真時長較長,功耗較高。

上述算法,基于頻率編碼的方法比基于時間編碼的方法識別精度高,但由于基于頻率編碼算法通常采用時間信用分配(temporal credit assignment)機制進行參數更新,導致學習效率較低。為此,本文針對SNN難以直接訓練問題,對LIF(leaky integrate-and-fire)神經元脈沖頻率與輸入電流進行仿真實驗,發現模擬脈沖序列與真實脈沖序列具有一致性,基于仿真結果建模得到脈沖頻率與輸入電流關系的顯示表達,將其顯示表達的導數作為梯度以解決神經元產生離散脈沖事件的不可微性,從而使得BP算法可以用于SNN的訓練。針對采用時間信用分配機制的方法學習效率較低問題,本文通過LIF神經元響應機制進行參數更新來提高學習效率。本文在MNIST和CIFAR10數據集上進行精度測試,識別精度分別達到了99.53%和89.46%。在學習效率方面,本文方法在MNIST數據集上與同類型的SNN算法進行比較,實驗結果表明本文方法的學習效率約為同類型算法的兩倍。

1 模型及算法

1.1 LIF神經元脈沖頻率與輸入電流的顯示關系

神經科學上LIF神經元模型的時間動力學方程及其響應機制可以描述為:

其中,τm代表時間常量;u代表神經元的膜電位;Vrest代表重置電位,本文置為0;I代表神經元接收到的輸入電流,由前一層神經元的輸出脈沖和突觸權重決定;R為輸入電阻。一旦膜電位u超過給定的閾值Vth時,神經元通過式(7)的脈沖函數發放一個脈沖,并且膜電位會回落到Vrest,式(7)的不可微性是導致BP算法不能用于SNN訓練的主要原因。圖1表達了上述描述的LIF神經元模型及其運行過程。

圖1 LIF神經元模型及其內部狀態變化Fig.1 LIF neuron model and its internal state changes

為了確定脈沖發放頻率與輸入電流的關系,生物學家將恒定的輸入電流I注入到LIF神經元中,得到LIF神經元脈沖發放頻率,可以表達為:

其中,f代表脈沖發放頻率,tref代表不應期常量。

實踐性、應用性較強的市場營銷專業培養的畢業生應具有的創新、創業精神、創新創業能力,與創新創業教育的核心在本質上是一致的,將專業教育與雙創教育進行融合是高等教育發展的改革路徑之一。雙創教育必須以專業教育為載體貫穿于人才培養的全過程,專業教育是雙創活動的核心要素,二者相輔相成、相互融合、相互促進。專創融合教育的實踐取向是構建綜合型人才培養的高校教育體系,并通過構建綜合型人才培養的教育目標、重構課程內容、加強學生創新技能培養的教學實踐等予以實現。師資隊伍在高校創新創業教育與專業教育互動融合中扮演著至關重要的作用,應當積極實施創新驅動,強化高校創新創業教育與專業教育互動融合中的師資隊伍建設。

然而,真實的生物大腦接收到的是噪聲電流,噪聲產生的主要原因是大腦神經元離子通道開閉與神經遞質的釋放具有一定隨機性。為此,神經學家通過實驗建模的方式得到噪聲電流下LIF神經元的發放脈沖頻率表達式,即式(3):

其中,μ、σ2代表輸入噪聲電流的均值和方差,erf(μ)為誤差函數。

本文在實驗仿真時需要采用基于頻率編碼生成的泊松脈沖序列(Poisson spikes train)[9],因此需要確定軟件仿真得到的輸入電流和真實情況下帶有噪聲的輸入電流LIF神經元的響應是否一致。通過在PyNN[10]平臺上進行仿真,在噪聲電流標準差為0.2、0.5、1.0的情況下,得到了不同噪聲電流下仿真結果和真實情況下LIF神經元響應曲線,如圖2所示[11]。

圖2 泊松脈沖序列與真實LIF神經元的仿真結果Fig.2 Simulation result of Poisson spikes train and real LIF neuron

由仿真結果可知,采用泊松脈沖序列的LIF神經元響應曲線與真實情況下LIF神經元的響應曲線是一致的,因此采用泊松脈沖序列進行網絡訓練從生物學上講是合理的。從理論上講可以采用式(3)進行反向傳播,但是式(3)是神經科學研究者通過實驗建模所得,函數過于復雜,難以應用于實際的網絡訓練。此外神經科學領域研究發現,噪聲電流通常是具有均值為0、標準差為1的高斯白噪聲[12-13],因此本文對圖2中標準差為1的LIF神經元響應曲線進行建模,得到LIF神經元脈沖發放頻率與輸入電流關系的顯示表達,如式(4)所示:

其中,α和β作為尺度因子,用于控制曲線的形狀。

由于本文是基于上述LIF神經元脈沖頻率與輸入電流之間顯示表達的導數作為反向傳播的梯度,需要求得式(4)的導數,即式(5):

1.2 訓練算法

鑒于目前主流的學習框架(TensorFlow,Pytorch)要求神經元模型以離散序列的形式運行,但是式(1)在時間上是連續形式的LIF神經元模型,因此需要對LIF神經元離散化。目前出現了多種離散化LIF神經元的形式[7,14],本文采用歐拉方程的解法來離散LIF神經元,得到如下在時間上離散的LIF模型:

其中,M代表最后一層神經元的總個數,L代表脈沖神經網絡的最后一層,T代表總時間步,分別代表輸出層第m個神經元期望標簽值與實際輸出值,s L,m代表最后一層第m個神經元的輸出脈沖。

本文是依據脈沖頻率與輸入電流的關系求得微分,因此定義網絡中第l層第i個神經元脈沖的發放頻率如式(10)所示:

第l+1層第j個神經元接收到第l層的脈沖而轉換為總的輸入電流,如式(11)所示:

(2)隱藏層

與輸出層類似,仍需要計算誤差函數E對權重w和初始膜電位b的微分,從而進行隱藏層的參數更新。首先結合式(5)定義誤差項為:

至此,基于LIF神經元輸出脈沖頻率與輸入電流關系的SNN訓練算法的參數更新過程推導完畢。為便于說明,圖3給出了本文采用LIF神經元響應機制與時間信用分配方法的參數更新對比圖。從圖3中可以看出,基于時間信用分配的方法需要在每個時刻進行前向和反向計算,這種計算方式學習效率較低,而本文方法在反向計算時根據LIF神經元響應機制只需更新一次參數,學習效率相較于基于時間信用分配的方法進一步提高。

圖3 時間信用分配與LIF神經元響應機制對比Fig.3 Comparison of time credit assignment and LIF neuron response mechanism

2 實驗及相關結果分析

2.1 參數設置

本文方法的實驗都基于Python3.7、Pytorch1.3進行軟件仿真,硬件環境為CPU i5 10400,顯卡GTX2060,內存16 GB的環境下進行實驗。表1是本網絡中使用的一些超參數設置,包括總時間步長、神經元閾值、LIF神經元的泄漏項、重置電位、控制脈沖頻率與輸入電流顯示關系的尺度因子以及由Pytorch初始化的權重和膜電位,優化器采用的是Pytorch中Adam優化器。評估了本文方法在MNIST[15]和CIFAR10[16]兩種分類任務上識別準確度,兩種數據集的示例如圖4所示,并將其與人工神經網絡、將人工神經網絡轉換為脈沖神經網絡的ANN2SNN算法、生物真實性較高的STDP(spike-timedependent plasticity)方法和直接訓練SNN等方法進行比較。本文在學習效率方面測試了本文方法與采用時間信用分配機制SNN算法。

表1 網絡中參數設置Table 1 Parameter setting in network

圖4 MNIST、CIFAR10數據集Fig.4 Dataset of MNIST,CIFAR10

2.2 MNIST數據集測試

手寫數字數據集MNIST是機器學習領域中最經典的數據集之一,其包括60 000張訓練樣本和10 000張測試樣本,其示例如圖4中頂部樣本所示。由于SNN接收到的是脈沖數據事件,需要將靜態圖像轉換為脈沖版本的事件流。對于靜態圖像,在頻率編碼領域,最常見的預處理是使用泊松編碼將靜態實值輸入轉換為脈沖輸入,具體來講就是對輸入的特征向量在0到1范圍內進行歸一化處理,然后對每個特征維度生成泊松脈沖序列,該泊松脈沖序列的脈沖頻率與歸一化之后的特征值是成比例的。

表2是本文方法與同領域的其他方法精度比較,這些方法包括采用間接監督學習的ANN2SNN方法以及基于BP算法訓練SNN的方法。表2中12C5表示有12個5×5的卷積核,P2表示平均池化核的大小為2×2,200FC表示有200個神經元的全連接層。本文網絡所獲得精度為10次實驗數據集迭代100次的最好精度。由表2可知,本文方法達到了99.53%的精度,驗證了本文方法的有效性,相較于Lee[5]的算法提高了0.22個百分點。

表2 MNIST數據集上的精度比較Table 2 Accuracy comparison on MNIST dataset

2.3 CIFAR10數據集測試

要證明算法的有效性,就應該在更大的數據集上進行測試。目前來看,CIFAR10相較于MNIST數據集對于SNN的訓練有著更大的挑戰,由于需要較多的時間步來表達精確的信息,具有訓練成本較高難以收斂的問題,因此只有較少SNN版本的BP算法在此數據集上進行測試。CIFAR10數據集包括10個類別,50 000張訓練樣本和10 000張測試樣本,其示例如圖3中部區域所示。同樣的,針對CIFAR10數據集本文采用如處理MNIST數據集相同的方法,通過泊松脈沖編碼的方式將其轉換為動態版本。

表3是本文算法在CIFAR10數據集上與ANN2SNN方法、具有高生物真實性的STDP算法和其他類型SNN版本的BP算法精度比較。圖5是本文算法在CIFAR10數據集上隨迭代次數變化的精度和損失曲線。通過表3可以看出,具有生物真實性的STDP算法因為只能部署在較淺的網絡中,所以只達到了75.42%的識別精度。ANN2SNN是將人工神經網絡訓練完成的權重移植到SNN,這種方法雖然可以達到較好的精度,但是此方法需要額外的優化手段,如基于模型的歸一化[20]、基于脈沖的歸一化[21]等技術,并且此網絡的延遲較大,通常需要上百個時間步來保證良好的性能。與ANN2SNN相比,采用BP算法訓練SNN的延遲較小,通常在20個時間步以內。從表3中可以看出之前的STBP算法的精度已經達到了85.24%準確度,本文算法相對于此精度提高了4.22個百分點。

圖5 CIFAR10數據集上精度和損失變化曲線Fig.5 Accuracy and loss change curve on CIFAR10 dataset

表3 CIFAR10數據集上的精度比較Table 3 Accuracy comparison on CIFAR10 dataset

2.4 學習效率比較

由于大部分SNN版本的BP算法沒有在CIFAR10數據集上進行測試,本文選用常用的MNIST數據集進行測試。在相同網絡結構下測試了本文方法與采用了時間信用分配機制的SNN版本BP算法,比較了在快速收斂到平穩收斂階段所需的迭代次數與消耗時間,和訓練完成后訓練所需的迭代次數與消耗時間。

如表4所示,本文給出了測試所用網絡結構、數據集大小、Batch大小、SNN的時間步個數T_step、迭代一次數據集所需時間One epoch,快速收斂到緩慢收斂時所需迭代次數C_Epoch與消耗時間C_Time,訓練至網絡穩定所需的迭代次數E_Epoch與消耗時間E_Time。圖6是三種算法訓練期間精度隨迭代次數的變化。由表4可以看出,本文算法迭代一次數據集所需的時間大約為27.45 s,約為另外兩種算法的一半。結合表4和圖6可以看出,LISNN算法的快速收斂階段為10個epoch,而本文算法和STBP算法大約為15個epoch。LISNN快速收斂所需epoch次數較短的原因是在LISNN網絡中采用了獨特的側抑制機制優化算法,因此從迭代次數看可以更快收斂,但是所需的訓練時間也會增加。由表4可以看出,在網絡快速收斂階段,本文算法比LISNN算法多了5個epoch,但是本文算法快速收斂所需時間411.8 s遠遠低于LISNN的709.3 s。另一方面,三種算法大約在100個epoch訓練完成,本文算法訓練完成后所需時間2 745 s也遠遠低于另外兩種算法的6 294 s和7 093 s。從迭代一次數據集所消耗時間、快速收斂階段所消耗時間以及網絡訓練完成時所消耗時間三方面都可以說明本文算法的學習效率高于采用時間信用分配機制的算法。

圖6 三種算法精度隨迭代次數的變化Fig.6 Accuracy change of three algorithms with number of iterations

表4 學習效率比較Table 4 Comparison of learning efficiency

3 結束語

針對脈沖神經元產生離散脈沖事件不可微而導致SNN難以訓練問題,本文在研究LIF神經元響應機制的基礎上,提出一種新的基于脈沖頻率與輸入電流關系的有監督式SNN訓練算法。通過將每個LIF神經元脈沖頻率與輸入電流顯示關系的導數作為梯度,解決了神經元產生脈沖活動不可微問題,使得可利用BP算法對SNN進行訓練,在一些基準數據集上的識別精度取得了具有競爭性的結果。另一方面,針對現有方法采用時間信用分配機制進行參數更新導致學習效率較低的問題,本文采用LIF神經元響應機制進行參數更新,提高學習效率,實驗表明本文算法是同類型SNN算法學習效率的兩倍。

猜你喜歡
方法
中醫特有的急救方法
中老年保健(2021年9期)2021-08-24 03:52:04
高中數學教學改革的方法
河北畫報(2021年2期)2021-05-25 02:07:46
化學反應多變幻 “虛擬”方法幫大忙
變快的方法
兒童繪本(2020年5期)2020-04-07 17:46:30
學習方法
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
最有效的簡單方法
山東青年(2016年1期)2016-02-28 14:25:23
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
賺錢方法
捕魚
主站蜘蛛池模板: 午夜福利亚洲精品| 国产乱论视频| 五月天久久婷婷| 欧美亚洲第一页| 欧美一区二区三区国产精品| 国产日韩丝袜一二三区| 伊人查蕉在线观看国产精品| 亚洲综合狠狠| 中文字幕有乳无码| 又大又硬又爽免费视频| AV老司机AV天堂| 免费无码又爽又黄又刺激网站| 中文字幕色站| 波多野结衣一区二区三区四区视频| 国产综合色在线视频播放线视| 免费一级大毛片a一观看不卡| 小说 亚洲 无码 精品| 午夜日b视频| 国产精品一线天| 日韩无码真实干出血视频| 久久精品中文字幕免费| 欧美不卡在线视频| 伊人91视频| 四虎精品免费久久| 日韩一区二区三免费高清| 天堂成人av| 国产精品v欧美| 99精品一区二区免费视频| 日韩二区三区| 日韩二区三区无| 欧美日韩中文国产| 中文字幕欧美日韩| 午夜三级在线| 国产在线观看一区精品| 天天躁日日躁狠狠躁中文字幕| 波多野结衣无码中文字幕在线观看一区二区 | 中文字幕1区2区| 亚洲精品无码日韩国产不卡| 特黄日韩免费一区二区三区| 久久www视频| 成年人视频一区二区| 欧美影院久久| 国产在线小视频| 欧美国产视频| 精品国产成人av免费| 久草视频中文| 精品欧美视频| 国产一区二区色淫影院| 亚洲资源站av无码网址| 国产精品福利社| 日韩成人在线网站| 婷婷色狠狠干| 成人在线观看不卡| 国产精品网曝门免费视频| 色香蕉影院| 九九免费观看全部免费视频| 国产精品第| 久青草网站| 久久亚洲综合伊人| 高清无码一本到东京热| 丰满的熟女一区二区三区l| 欧美色99| 热99re99首页精品亚洲五月天| 国产精品视频白浆免费视频| 国产精品七七在线播放| 日韩资源站| 992tv国产人成在线观看| 国产又大又粗又猛又爽的视频| 亚洲va视频| 日韩毛片免费视频| 成年网址网站在线观看| 九色综合伊人久久富二代| 怡红院美国分院一区二区| 国产一级毛片在线| 久久久91人妻无码精品蜜桃HD | 欧美精品导航| 无码高潮喷水在线观看| 欧美日本视频在线观看| 鲁鲁鲁爽爽爽在线视频观看 | 久久久久国色AV免费观看性色| 日韩精品无码不卡无码| 国内毛片视频|