亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        仿生型脈沖神經(jīng)網(wǎng)絡(luò)學習算法和網(wǎng)絡(luò)模型

        2020-05-22 12:33:16尚瑛杰董麗亞
        計算機工程與設(shè)計 2020年5期
        關(guān)鍵詞:模型

        尚瑛杰,何 虎,楊 旭,董麗亞

        (清華大學 微電子與納電子學系,北京 100084)

        0 引 言

        隨著智能化需求的推進,傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)逐漸暴露出計算量大、功耗高和智能化程度低等問題,而脈沖神經(jīng)網(wǎng)絡(luò)(spiking neuron networks,SNN)由于工作模式更加接近人腦,具有計算量低、功耗低和仿生性高等特點,經(jīng)常被譽為“第三代人工神經(jīng)網(wǎng)絡(luò)”,是實現(xiàn)強人工智能的重要方式,因此受到越來越多的關(guān)注。

        然而,目前脈沖神經(jīng)網(wǎng)絡(luò)研究還處在初步階段,缺乏有效的學習算法,這既是脈沖神經(jīng)網(wǎng)絡(luò)訓練困難的主要瓶頸,也是眾多科研人員努力解決的問題。人工智能的重大突破通常受到生物腦神經(jīng)網(wǎng)絡(luò)的啟發(fā)[1],感知器模型、卷積神經(jīng)網(wǎng)絡(luò),乃至深度學習都是如此[2,3],而脈沖神經(jīng)網(wǎng)絡(luò)的產(chǎn)生也是如此[4],所以,仿生型算法是解決脈沖神經(jīng)網(wǎng)絡(luò)訓練困難的重要手段之一。

        本文對脈沖神經(jīng)網(wǎng)絡(luò)的權(quán)值和結(jié)構(gòu)兩個方面進行了研究,提出了脈沖神經(jīng)網(wǎng)絡(luò)的權(quán)值學習算法和結(jié)構(gòu)學習算法,嘗試性地解決脈沖神經(jīng)網(wǎng)絡(luò)訓練困難的問題。同時設(shè)計了一種脈沖神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),用于算法的仿真驗證實驗。

        1 脈沖神經(jīng)網(wǎng)絡(luò)簡介

        1.1 神經(jīng)元模型

        神經(jīng)元是神經(jīng)網(wǎng)絡(luò)最基礎(chǔ)的組成部分,神經(jīng)元模型的選擇與網(wǎng)絡(luò)性能有著直接的關(guān)系。本文采用的神經(jīng)元模型為LIF(leaky integrate and fire)模型,即泄露積分放電模型,這是一種基于生物神經(jīng)元特性抽象出來的積分器模型。LIF神經(jīng)元模型既對生物神經(jīng)元主要特性進行充分保留,又兼顧了模型的簡潔性和仿真效率。LIF模型在電路方面可以等效為帶電壓偏置的電阻-電容并聯(lián)模型,如圖1所示,其中I(t)為神經(jīng)元的輸入電流,uret為神經(jīng)元復位膜電位,u(t)為膜電位[5]。

        圖1 LIF神經(jīng)元模型的等效電路

        當神經(jīng)元處于靜息狀態(tài),即輸入電流I(t)=0時,可知u(t)=uret。 當輸入電流I(t)>0時,電容C會進行充電,進而導致膜電位u(t)的升高;另一方面,若電容C上存在電荷積累,則電荷會隨著時間而泄漏,膜電位u(t)也會因此降低,直至回落到靜息狀態(tài)。如果電容C的電荷積累速度高于泄漏速度,膜電位u(t)會持續(xù)升高到激發(fā)閾值,此時神經(jīng)元會向外發(fā)射一個電脈沖,膜電位u(t)迅速降低至復位膜電位。本文中采用的LIF模型參數(shù)借鑒了目前成熟的研究成果[6-8],具體參數(shù)詳見表1。

        表1 LIF神經(jīng)元模型參數(shù)

        1.2 網(wǎng)絡(luò)結(jié)構(gòu)與工作模式

        脈沖神經(jīng)網(wǎng)絡(luò)被譽為“第三代神經(jīng)網(wǎng)絡(luò)”,是受到腦神經(jīng)工作方式的啟發(fā)而產(chǎn)生。因此,脈沖神經(jīng)網(wǎng)絡(luò)具有很高的生物相似性,甚至會被用于生物神經(jīng)網(wǎng)絡(luò)的模擬。另外,由于脈沖神經(jīng)網(wǎng)絡(luò)具有時間維度信息,相比于第二代神經(jīng)網(wǎng)絡(luò)其信息處理能力更強,尤其是在具有強關(guān)聯(lián)性的上下文信息處理方面獨具優(yōu)勢。目前,由于缺乏有效的訓練算法,脈沖神經(jīng)網(wǎng)絡(luò)的潛力不能充分發(fā)揮。

        在網(wǎng)絡(luò)結(jié)構(gòu)方面,脈沖神經(jīng)網(wǎng)絡(luò)的種類眾多,主要有多層前饋網(wǎng)絡(luò)、循環(huán)網(wǎng)絡(luò)和進化網(wǎng)絡(luò)等。圖2展示了一個多層前饋網(wǎng)絡(luò)模型,本文以此為例介紹脈沖神經(jīng)網(wǎng)絡(luò)的工作原理。

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

        在脈沖神經(jīng)網(wǎng)絡(luò)中,輸入、輸出和中間層的信息傳遞與處理都是基于脈沖編碼信號,輸入層的脈沖信號通過神經(jīng)元之間的連接傳遞到下一層神經(jīng)元。當神經(jīng)元接收到脈沖信號后,該神經(jīng)元的膜電位便會升高,在LIF的電路模型中,這一過程等效為電容充電。當神經(jīng)元膜電位達到閾值后,該神經(jīng)元會向后神經(jīng)元發(fā)射一個脈沖信號,并將自身膜電位復位,稱神經(jīng)元的這一事件為一次激活[9]。

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

        2.1 權(quán)值學習算法

        2.1.1 STDP規(guī)則介紹

        STDP(spike-timing-dependent plasticity)規(guī)則,稱為突觸可塑性規(guī)則,是生物學中對大腦神經(jīng)元連接強度變化規(guī)律的總結(jié)。在生物神經(jīng)網(wǎng)絡(luò)中,神經(jīng)元之間的連接稱為突觸,突觸的強度會根據(jù)前后神經(jīng)元激活狀態(tài)的因果關(guān)系發(fā)生改變,這種現(xiàn)象也稱為突觸可塑性。STDP規(guī)則的原理如圖3所示。

        圖3 STDP規(guī)則

        圖3中,Npre和Npost表示兩個脈沖神經(jīng)元,兩者之間存在一條有向連接;Npre位于連接的起點,稱之為前神經(jīng)元;Npost位于連接的終點,稱之為后神經(jīng)元;神經(jīng)元發(fā)射脈沖的動作稱作激活,發(fā)射脈沖的時間稱為激活時間。當前神經(jīng)元激活時間早于后神經(jīng)元激活時間,則加強兩個神經(jīng)元之間的連接;反之,減弱連接。

        從數(shù)學模型角度分析,連接的強度與前后神經(jīng)元激活時間差,可以近似為某種函數(shù)關(guān)系[10,11]。STDP規(guī)則的函數(shù)實現(xiàn)方式如式(1)~式(5)所示

        Δt=t2-t1

        (1)

        K(Δt)=exp(-|Δt|/τ)

        (2)

        f_(w)=αwμ

        (3)

        f+(w)=(1-w)μ

        (4)

        (5)

        其中,t2為后神經(jīng)元激活時間;t1為前神經(jīng)元激活時間;τ為控制指數(shù)衰減速率的時間常數(shù),取值大于0;α為對稱度調(diào)整參數(shù),取值大于0,用于調(diào)整f-(w)函數(shù)和f+(w)函數(shù)對稱度;μ為曲率因子;w為歸一化后的連接權(quán)值,取值區(qū)間為[0,1];λ為權(quán)值學習率,取值大于0;K(Δt)為時間濾波函數(shù);f-(w)和f+(w)稱為更新函數(shù);Δw為權(quán)值調(diào)整量。

        通過分析易得:當Δt小于或等于0時,權(quán)值減??;當Δt大于0時,權(quán)值增大;這與理論相符合。

        2.1.2 基于STDP規(guī)則的監(jiān)督式學習算法

        監(jiān)督式學習算法一直都是脈沖神經(jīng)網(wǎng)絡(luò)的難點,由于脈沖序列為離散數(shù)據(jù),無法進行微分求導運算,因此第二代神經(jīng)網(wǎng)絡(luò)的BP算法并不適合脈沖神經(jīng)網(wǎng)絡(luò)。本文基于STDP規(guī)則,設(shè)計了一種監(jiān)督式的學習方法[12]。監(jiān)督式學習算法的基本結(jié)構(gòu)如圖4所示。

        圖4 監(jiān)督式學習算法

        網(wǎng)絡(luò)中提供監(jiān)督式學習信號的神經(jīng)元,稱為“引導”神經(jīng)元;而Npre和Npost分別代指前神經(jīng)元和后神經(jīng)元,并且把神經(jīng)元發(fā)射脈沖的動作稱作激活,發(fā)射脈沖的時間稱為激活時間。另外,學習算法設(shè)定:神經(jīng)元Npre與神經(jīng)元Npost之間的連接權(quán)值為W1,該權(quán)值受STDP規(guī)則調(diào)整;“引導”神經(jīng)元與神經(jīng)元Npost之間的連接權(quán)值為W2,該權(quán)值為常數(shù)值,仿真過程中保持不變。

        在初始網(wǎng)絡(luò)之中,權(quán)值W1設(shè)定相對較小,因此神經(jīng)元Npre對神經(jīng)元Npost的影響較小;而權(quán)值W2設(shè)定相對較大,因此“引導”神經(jīng)元對神經(jīng)元Npost的影響較大。并且,考慮到LIF神經(jīng)元模型的積分放電行為,激活時間t2會非常接近t3。具體關(guān)系可以表示如式(6)~式(7)所示

        W1?W2

        (6)

        t3=t2+Δt

        (7)

        其中,Δt≈0。 在這種情況下,只需要通過設(shè)置“引導”神經(jīng)元的激活時間t3,就可以調(diào)整神經(jīng)元Npost的激活時間t2,則:

        當t1

        當t1≥t2時,根據(jù)STDP規(guī)則,連接權(quán)值為W1減弱;

        綜上所述,對于連接前后兩個神經(jīng)元,在合理地設(shè)置“引導”神經(jīng)元激活時間的情況下,可以實現(xiàn)對前后神經(jīng)元之間連接的增強或者減弱。

        2.2 基于Hebb的結(jié)構(gòu)學習算法

        目前結(jié)構(gòu)學習算法方面研究成果相對較少,神經(jīng)網(wǎng)絡(luò)的學習算法主要以權(quán)值學習為主。然而,網(wǎng)絡(luò)結(jié)構(gòu)關(guān)系到網(wǎng)絡(luò)性能,網(wǎng)絡(luò)結(jié)構(gòu)的分布方式、復雜度和連接方式都會對網(wǎng)絡(luò)功能產(chǎn)生重要影響。當前主流的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)都是人為設(shè)計的,不同的網(wǎng)絡(luò)結(jié)構(gòu)面向不同的功能,網(wǎng)絡(luò)結(jié)構(gòu)的設(shè)計也依賴于研究人員的經(jīng)驗。因此,設(shè)計一種能夠產(chǎn)生自適應網(wǎng)絡(luò)結(jié)構(gòu)的算法,既可以提高網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計效率,又可以提供定制化的設(shè)計方案。

        結(jié)構(gòu)學習算法基于生物學Hebb規(guī)則,能夠自動生成新連接,為網(wǎng)絡(luò)結(jié)構(gòu)自動構(gòu)建方法提供思路,彌補目前神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)固定的缺陷,同時也為本文的脈沖神經(jīng)網(wǎng)絡(luò)賦予更強的生物相似性。其中,Hebb學習規(guī)則是唐納德·赫布在1949年提出的神經(jīng)心理學理論,該理論認為不同的神經(jīng)元在同一時間段內(nèi)激活,則兩者存在相關(guān)性,兩者之間的連接應當被加強。本文借鑒Hebb規(guī)則的相關(guān)性學習思想,規(guī)定同一時間段內(nèi)激活的神經(jīng)元,若兩者沒有連接,則建立一條連接,結(jié)構(gòu)學習算法如圖5所示。

        圖5 基于Hebb的結(jié)構(gòu)學習算法

        圖5中,N1和N2表示兩個脈沖神經(jīng)元,兩者之間不存在連接;input1和input2分別表示N1和N2的輸入信號;t1和t2分別表示N1和N2的激活時間;Threshold表示時間閾值。當t1和t2差的絕對值小于時間閾值時,在N1和N2建立一條新的連接。

        同時為了防止網(wǎng)絡(luò)連接的無限制增長,算法考慮了神經(jīng)元的位置因素,在神經(jīng)元相對距離超出閾值時,不建立連接。將神經(jīng)元發(fā)射脈沖這一事件稱為激活,具體算法如下:

        基于Hebb的結(jié)構(gòu)學習算法:

        步驟1 開始仿真并檢測該仿真周期內(nèi)兩個神經(jīng)元N1,N2的狀態(tài),若N1,N2兩個神經(jīng)元之間不存在連接,則轉(zhuǎn)步驟2;否則,結(jié)束;

        步驟2 若兩個神經(jīng)元都處于激活狀態(tài),則將激活時間分別記為t1,t2,轉(zhuǎn)步驟3;否則結(jié)束;

        步驟3 若兩個神經(jīng)元距離小于閾值,則轉(zhuǎn)步驟4;否則,結(jié)束;

        步驟4 若abs(t1-t2)

        若abs(t1-t2)t2),建立從N2到N1的連接,結(jié)束;

        若abs(t1-t2)≥Threshold,結(jié)束。

        3 網(wǎng)絡(luò)模型與仿真平臺

        為了驗證算法的可行性,本文設(shè)計了一種仿生型的網(wǎng)絡(luò)模型,并搭建了適合脈沖神經(jīng)網(wǎng)絡(luò)的仿真平臺。

        3.1 脈沖神經(jīng)網(wǎng)絡(luò)模型

        在生物視覺系統(tǒng)中,也存在類似卷積層和池化層的結(jié)構(gòu),而卷積神經(jīng)網(wǎng)絡(luò)(CNN)就是借鑒貓的視覺神經(jīng)網(wǎng)絡(luò)而提出的。但生物視覺網(wǎng)絡(luò)的卷積層和池化層只是起到了圖像預處理的作用,真正具備識別功能的不是卷積層和池化層,而是更深層次的識別網(wǎng)絡(luò)。本文提出的仿生型脈沖神經(jīng),將識別任務放在了SNN網(wǎng)絡(luò)層,卷積層僅對數(shù)據(jù)進行預處理,卷積層在學習過程中不會發(fā)生變化[13,14],網(wǎng)絡(luò)模型如圖6所示。

        網(wǎng)絡(luò)模型中的每一層的功能如下所示:

        輸入層:讀取數(shù)據(jù)并進行格式轉(zhuǎn)化。

        卷積層:提取圖像特征。卷積層的卷積核由4個固定的卷積核組成,分別對圖像數(shù)據(jù)橫、豎、左斜和右斜4個方向的特征進行提取。

        圖6 脈沖神經(jīng)網(wǎng)絡(luò)模型

        池化層:主要起到了降低數(shù)據(jù)量和銳化特征的目的。

        轉(zhuǎn)換函數(shù):將數(shù)據(jù)轉(zhuǎn)換為脈沖序列信號,作為脈沖神經(jīng)網(wǎng)絡(luò)的輸入。

        SNN網(wǎng)絡(luò):脈沖神經(jīng)網(wǎng)絡(luò)層,具體結(jié)構(gòu)可由使用者定義,承擔主要的信息處理任務。

        輸出層:統(tǒng)計分析脈沖信息,將SNN網(wǎng)絡(luò)的輸出轉(zhuǎn)化為標準的數(shù)據(jù)輸出格式。

        3.2 脈沖神經(jīng)網(wǎng)絡(luò)仿真平臺

        鑒于第三代神經(jīng)網(wǎng)絡(luò)與第二代神經(jīng)網(wǎng)絡(luò)工作模式的不同,脈沖神經(jīng)網(wǎng)絡(luò)無法在傳統(tǒng)的仿真平臺上進行仿真。最常見的仿真方法是通過數(shù)學建模,但神經(jīng)元模型和網(wǎng)絡(luò)結(jié)構(gòu)的建模過程繁瑣,需要耗費大量的研究時間,也不適合大規(guī)模網(wǎng)絡(luò)的仿真。

        本文通過Python編程,結(jié)合開源脈沖神經(jīng)網(wǎng)絡(luò)模擬器NEST,搭建了一款適合脈沖神經(jīng)網(wǎng)絡(luò)的仿真平臺。NEST是一個面向脈沖神經(jīng)網(wǎng)絡(luò)的模擬器,它關(guān)注的是神經(jīng)系統(tǒng)的動態(tài)、大小和結(jié)構(gòu),為用戶提供了大量的仿生型神經(jīng)元模型和突觸模型。除了NEST模擬器外,該仿真平臺還有配置文件、脈沖轉(zhuǎn)換器、脈沖神經(jīng)網(wǎng)絡(luò)仿真器和顯示界面構(gòu)成,如圖7所示。

        圖7 脈沖神經(jīng)網(wǎng)絡(luò)仿真平臺

        配置文件主要為用戶提供配置接口,包括網(wǎng)絡(luò)、算法和系統(tǒng)等配置信息;而脈沖轉(zhuǎn)換器則負責讀取數(shù)據(jù)集,并結(jié)合脈沖轉(zhuǎn)換函數(shù)轉(zhuǎn)換為脈沖信號;NEST模擬器則提供神經(jīng)元模型和網(wǎng)絡(luò)連接模型,減少用戶的數(shù)學建模壓力;脈沖神經(jīng)網(wǎng)絡(luò)仿真器為核心部分,負責算法和仿真的實現(xiàn);顯示界面主要顯示網(wǎng)絡(luò)仿真結(jié)果,例如提供網(wǎng)絡(luò)輸出信息、繪制神經(jīng)元膜電位曲線等。

        4 權(quán)值學習算法驗證實驗

        4.1 網(wǎng)絡(luò)結(jié)構(gòu)與參數(shù)說明

        本實驗中的網(wǎng)絡(luò)結(jié)構(gòu)基于圖6的網(wǎng)絡(luò)模型搭建,其中SNN網(wǎng)絡(luò)部分采用了三層脈沖神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。第一層為576脈沖發(fā)射神經(jīng)元,根據(jù)轉(zhuǎn)換函數(shù)的輸出數(shù)據(jù)產(chǎn)生脈沖序列;第二層為576個LIF模型神經(jīng)元;最后一層為10個LIF模型神經(jīng)元,用于表征網(wǎng)絡(luò)的分類結(jié)果。第一層到第二層采用“一對一”連接,第二層到第三層采用全連接方式進行連接,并為第三層神經(jīng)元添加“引導”神經(jīng)元。

        權(quán)值設(shè)置和優(yōu)化方面,第一層到第二層所有連接的權(quán)值設(shè)為統(tǒng)一的值,記為weight0。實驗過程中發(fā)現(xiàn),weight0太小,會導致第二層神經(jīng)元無法激活;weight0太大,會導致神經(jīng)元參數(shù)飽和,影響仿真精度;因此,weight0的值必須設(shè)置在合適的區(qū)間范圍內(nèi)。本文使用二分查找法,以第二層神經(jīng)元激活狀態(tài)和神經(jīng)元參數(shù)飽和狀態(tài)為參考,設(shè)置weight0的上下邊界,結(jié)合實驗數(shù)據(jù)選取合適的weight0。另外,由于前文中監(jiān)督式學習算法的要求,第二層到第三層連接的權(quán)值應當遠小于“引導”神經(jīng)元到第三層神經(jīng)元的連接的權(quán)值。因此,本文將第二層到第三層的初始權(quán)值設(shè)為1,而將“引導”神經(jīng)元到第三層神經(jīng)元的連接的權(quán)值設(shè)為1500。在巨大的權(quán)值差距下,輸出層神經(jīng)元的激活時間會高度趨近于“引導”神經(jīng)元,根據(jù)STDP規(guī)則,進而對第二層到第三層的連接權(quán)值進行定向增強或者減弱,從而實現(xiàn)權(quán)值訓練的目的。

        4.2 權(quán)值學習有效性分析

        實驗采用了MNIST手寫體數(shù)字對網(wǎng)絡(luò)性能進行了測試,MNIST訓練集圖片共計60 000張,測試集圖片共計10 000,圖片類別共 10類,分別用10個標簽值進行表示。在網(wǎng)絡(luò)輸出層,每個神經(jīng)元代表一種分類結(jié)果,與10個標簽值一一對應,激活時間最早的神經(jīng)元所對應的分類結(jié)果即為網(wǎng)絡(luò)最終輸出結(jié)果。

        實驗中,每張圖片的仿真時間為500 ms,通過實驗觀察,第二層神經(jīng)元活躍時間為50 ms左右。在每一張圖片的仿真過程中,根據(jù)輸入圖片的標簽值,對于代表正確輸出的神經(jīng)元,其連接的“引導”神經(jīng)元激活時間設(shè)為 75 ms;對于代表錯誤輸出的神經(jīng)元,其連接的“引導”神經(jīng)元激活時間設(shè)為35 ms;那么,根據(jù)權(quán)值學習算法,“引導”神經(jīng)元就能夠?qū)φ_輸出進行強化,對于錯誤輸出進行抑制,從而實現(xiàn)了算法的學習功能。

        為了更加直觀地表現(xiàn)監(jiān)督式學習算法的有效性,通過10次重復實驗,每次實驗中采用500張訓練集圖片對網(wǎng)絡(luò)進行訓練,然后在訓練集和測試集上分別進行網(wǎng)絡(luò)功能驗證,將測試結(jié)果記錄見表2。

        表2 網(wǎng)絡(luò)對MNIST數(shù)據(jù)集識別準確率/%

        通過表2可以看出,在監(jiān)督式學習算法的訓練下,脈沖神經(jīng)網(wǎng)絡(luò)能夠?qū)NIST測試集進行有效識別。多次重復性實驗后發(fā)現(xiàn),訓練后的神經(jīng)網(wǎng)絡(luò)對MNIST訓練集的識別率均值能夠達到91.20%,測試集的識別率均值能夠達到84.12%,雖然這一準確率無法與第二代神經(jīng)網(wǎng)絡(luò)相比,但足以驗證了本文脈沖神經(jīng)網(wǎng)絡(luò)訓練算法和網(wǎng)絡(luò)結(jié)構(gòu)的可行性。

        4.3 快速收斂能力分析

        為了驗證脈沖神經(jīng)網(wǎng)絡(luò)快速收斂能力,本實驗通過與第二代神經(jīng)網(wǎng)絡(luò)的對比實驗,驗證脈沖神經(jīng)網(wǎng)絡(luò)在快速收斂方面的優(yōu)勢。

        首先,實驗使用TensorFlow搭建了兩個第二代神經(jīng)網(wǎng)絡(luò)用于對比實驗:一個是僅有兩層全連接結(jié)構(gòu)的網(wǎng)絡(luò),一個是具有兩層卷積和一層全連接的卷積神經(jīng)網(wǎng)絡(luò)。這兩個網(wǎng)絡(luò)在充分訓練的情況下,對MNIST數(shù)據(jù)集具有良好的識別率,分別能夠達到98.4%和99.24%。然而在網(wǎng)絡(luò)收斂速度方面,這兩種網(wǎng)絡(luò)則較為緩慢。本實驗將脈沖神經(jīng)網(wǎng)絡(luò)、全連接網(wǎng)絡(luò)和卷積神經(jīng)網(wǎng)絡(luò)訓練過程中,第一輪迭代的前500圖片訓練收斂情況繪制如圖8所示。

        圖8 3種網(wǎng)絡(luò)收斂速度對比

        從結(jié)果上可以看出,本文設(shè)計的脈沖神經(jīng)網(wǎng)絡(luò)(SNN)具有快速收斂的能力。而卷積神經(jīng)網(wǎng)絡(luò)(CNN)雖然具有極好識別準確率,但其收斂速度也較慢。

        4.4 低功耗特性分析

        為了分析脈沖神經(jīng)網(wǎng)絡(luò)低功耗特性,本文對網(wǎng)絡(luò)識別單張圖片的能耗進行了估算。在前文中,LIF神經(jīng)元模型的等效電路已經(jīng)在圖1中給出,從該神經(jīng)模型中可以看出模型的能耗可根據(jù)電容充放電過程進行計算。單個神經(jīng)元激活一次消耗的能量計算方式如式(8)~式(10)所示

        (8)

        U2(t1)=Vth

        (9)

        U2(t2)=Vreset

        (10)

        其中,Vth為神經(jīng)元的激發(fā)閾值,Vreset為神經(jīng)元的復位膜電位,本文中LIF神經(jīng)元模型的參數(shù)在表1中已經(jīng)給出,此處不再贅述。通過統(tǒng)計脈沖神經(jīng)網(wǎng)絡(luò)在訓練和識別過程中,每張圖片激活神經(jīng)元平均數(shù),可以計算出訓練或識別一張圖片所消耗的能量,結(jié)果見表3。

        表3 訓練、識別單張MNIST數(shù)據(jù)集圖片能耗

        從結(jié)果可以看出,該網(wǎng)絡(luò)學習和識別一張圖片的能耗大約為65 pJ。雖然最終的功耗需要根據(jù)網(wǎng)絡(luò)的工作頻率進行計算,但單張圖片的處理能耗在pJ量級已經(jīng)完全符合低功耗特性了。

        5 結(jié)構(gòu)學習算法驗證實驗

        5.1 網(wǎng)絡(luò)結(jié)構(gòu)與參數(shù)說明

        結(jié)構(gòu)學習算法驗證實驗仍然基于本文提出的網(wǎng)絡(luò)模型,其中SNN網(wǎng)絡(luò)部分主要包括輸入層、中間層和輸出層,其中中間層是實現(xiàn)結(jié)構(gòu)學習的核心層,網(wǎng)絡(luò)結(jié)構(gòu)如圖9所示。

        圖9 結(jié)構(gòu)學習網(wǎng)絡(luò)模型SNN部分

        輸入層:為整個脈沖神經(jīng)網(wǎng)絡(luò)提供脈沖信號,輸入層神經(jīng)元數(shù)量為576個,采用一對一的方式連接到中間層,該部分連接為固定連接,既不參與權(quán)值訓練,也不參與結(jié)構(gòu)訓練。

        中間層:為12×12×4的三維神經(jīng)元陣列,神經(jīng)元模型為LIF模型,神經(jīng)元之間距離的最小單位記為1。在中間層內(nèi)部無初始連接,只有在開啟仿真后,經(jīng)過輸入信號和結(jié)構(gòu)學習算法的共同作用,中間層內(nèi)部才會不斷生長出新的連接。

        輸出層:共計10個神經(jīng)元,與圖片的10個類別相對應,神經(jīng)元模型為LIF模型。中間層與輸出層之間也無初始連接,在每次仿真中,中間層中激活的神經(jīng)元會被標記。仿真結(jié)束后,將中間層中激活的神經(jīng)元連接到與輸入圖片類別對應的輸出神經(jīng)元上。

        網(wǎng)絡(luò)權(quán)值方面,輸入層到中間層的連接權(quán)值與權(quán)值學習算法驗證實驗中相同,運用二分查找法對權(quán)值進行初始化;中間層的連接會讓同時激活的神經(jīng)元產(chǎn)生相互刺激,使得這部分神經(jīng)元更容易激發(fā),因此,這部分連接的權(quán)值需要根據(jù)實驗中神經(jīng)元的激發(fā)狀態(tài)設(shè)計。而中間層到輸出層之間權(quán)值是一個動態(tài)變化的過程,對于連向同一個輸出神經(jīng)元的所有連接,它們權(quán)值的總和為一個常數(shù),當連接數(shù)量越多時,每條連接的權(quán)值就越小;反之,每條連接的權(quán)值就越大,權(quán)值會在每張圖片仿真結(jié)束后進行更新。

        5.2 結(jié)構(gòu)學習有效性分析

        由于結(jié)構(gòu)學習算法處于探索階段,大規(guī)模數(shù)據(jù)集會增加算法研究過程中的不確定性,因此,本實驗僅從MNIST數(shù)據(jù)集中選取了10張數(shù)字圖片,其標簽值分別為0到9,設(shè)計的學習算法流程如下:

        結(jié)構(gòu)學習算法流程:

        步驟1 加載數(shù)據(jù)并完成預處理,轉(zhuǎn)換為脈沖信號傳入輸入層,轉(zhuǎn)步驟2;

        步驟2 開啟仿真,并記錄網(wǎng)絡(luò)中神經(jīng)元狀態(tài),轉(zhuǎn)步驟3;

        步驟3 調(diào)用結(jié)構(gòu)學習算法生成中間層的層內(nèi)連接,并將激活神經(jīng)元連接至輸出神經(jīng)元,轉(zhuǎn)步驟4;

        步驟4 若網(wǎng)絡(luò)已經(jīng)收斂,則結(jié)束;否則,轉(zhuǎn)步驟5;

        步驟5 是否達到最大迭代次數(shù),是,則結(jié)束;否,則轉(zhuǎn)步驟1;

        在結(jié)構(gòu)學習算法的控制下,中間層中網(wǎng)絡(luò)連接數(shù)量會不斷變化,通過對連接數(shù)量的記錄,可以得到如圖10所示的結(jié)果。

        圖10 中間層中網(wǎng)絡(luò)連接數(shù)量統(tǒng)計

        從圖10中可以看出,隨著仿真的進行,中間層網(wǎng)絡(luò)連接數(shù)量不斷增長,并在算法的控制下逐漸趨于平緩。這一過程驗證了結(jié)構(gòu)學習算法的有效性和合理性,也模擬了生物神經(jīng)網(wǎng)絡(luò)在外界刺激下不斷生成新連接的機制。當然,目前的算法并不能完全客觀完整地反映出生物神經(jīng)網(wǎng)絡(luò)的真實生長規(guī)律,本文的算法僅僅對此做探索性研究,網(wǎng)絡(luò)模型和算法也需要后續(xù)不斷的優(yōu)化。

        5.3 網(wǎng)絡(luò)性能分析

        為了驗證結(jié)構(gòu)學習算法生成的網(wǎng)絡(luò)是否具備自適應特性,本文對已經(jīng)訓練好的網(wǎng)絡(luò)進行了測試,驗證該網(wǎng)絡(luò)對已經(jīng)學習過的內(nèi)容是否能夠有效區(qū)分。將數(shù)字圖片再次輸入網(wǎng)絡(luò),觀察輸出層神經(jīng)元的激活情況,結(jié)果匯總見表4。

        其中,輸出層激活神經(jīng)元列表中,元素值代表輸出層神經(jīng)元標號,與10個手寫體數(shù)字圖片的標簽值一一對應。輸出層激活神經(jīng)元列表順序,表示了輸出層神經(jīng)元的激活順序,重復出現(xiàn)的元素表示對應的神經(jīng)元被多次激活。輸出層激活神經(jīng)元列表中,元素出現(xiàn)次數(shù)最多的,即為網(wǎng)絡(luò)最終輸出。從識別結(jié)果上看出,結(jié)構(gòu)學習算法生成的網(wǎng)絡(luò)能夠?qū)?0張圖片進行有效區(qū)分,驗證了結(jié)構(gòu)學習算法的合理性。

        表4 結(jié)構(gòu)學習網(wǎng)絡(luò)功能測試

        5.4 輸出層神經(jīng)元膜電分析

        結(jié)構(gòu)學習算法具有較強的生物仿生性,本實驗對于輸出層神經(jīng)元的膜電位變化情況進行了記錄。當輸入數(shù)字“1”的圖片時,網(wǎng)絡(luò)輸出層各個神經(jīng)元膜電位變化曲線如圖11所示。

        圖11 輸出層神經(jīng)元膜電位響應情況

        圖11中output-0,output-1……output-9分別表示輸出層的10個神經(jīng)元,從膜電位曲線上看,中間網(wǎng)絡(luò)的output-1輸出神經(jīng)元有著明顯的響應,并且很快達到了激發(fā)閾值(-55 mv),但是其余輸出神經(jīng)元在此過程中,并非處于完全靜默狀態(tài),其膜電位曲線也表現(xiàn)出了相對較低的活躍性。而在生物腦神經(jīng)網(wǎng)絡(luò)中,由于神經(jīng)元之間復雜的連接,某一神經(jīng)元團的激活往往會通過突觸傳導到附近的神經(jīng)元團中,引起附近的神經(jīng)元團的活躍,這一現(xiàn)象也從側(cè)面反映了本實驗中的網(wǎng)絡(luò)具有更強的生物可解釋性。

        6 結(jié)束語

        本文提出的脈沖神經(jīng)網(wǎng)絡(luò)權(quán)值學習算法能夠?qū)γ}沖神經(jīng)網(wǎng)絡(luò)實現(xiàn)有效的監(jiān)督式訓練,權(quán)值學習算法訓練出來的脈沖神經(jīng)網(wǎng)絡(luò)具備良好的圖像識別能力,與傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)相比,在快速收斂能力和低功耗特性方面具有一定優(yōu)勢。結(jié)構(gòu)學習算法打破了神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)固定的缺陷,能夠生成自適應的網(wǎng)絡(luò)結(jié)構(gòu),提高了網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計的效率,并且具有更高的生物可解釋性。兩種脈沖神經(jīng)網(wǎng)絡(luò)學習算法,分別從不同方面進行了嘗試,各有優(yōu)缺點。但兩種算法都屬于脈沖神經(jīng)網(wǎng)絡(luò)方面的探索性研究,仍然需要進一步地研究與完善。

        猜你喜歡
        模型
        一半模型
        一種去中心化的域名服務本地化模型
        適用于BDS-3 PPP的隨機模型
        提煉模型 突破難點
        函數(shù)模型及應用
        p150Glued在帕金森病模型中的表達及分布
        函數(shù)模型及應用
        重要模型『一線三等角』
        重尾非線性自回歸模型自加權(quán)M-估計的漸近分布
        3D打印中的模型分割與打包
        国产激情小视频在线观看| 色两性网欧美| 亚洲成a人片在线观看导航| 国产午夜在线观看视频| 91久久精品色伊人6882| 日日婷婷夜日日天干| 亚洲精品不卡电影| 男女发生关系视频网站| 国产熟女露脸91麻豆| 亚洲精品成人无码中文毛片| 久草视频福利| 国产精东一区二区三区| 亚洲亚色中文字幕剧情| 国产精品你懂的在线播放| 日中文字幕在线| 18禁成人免费av大片一区| 免费观看国产短视频的方法| 日本xxxx色视频在线播放| 亚洲欧美日韩一区二区在线观看| 三级日本午夜在线观看| 狠狠综合亚洲综合亚洲色| 亚洲国产精品日韩av专区| 国产av综合一区二区三区最新| 综合成人亚洲网友偷自拍| 又湿又紧又大又爽a视频国产| 久久99精品久久久久久hb无码| 国产AV无码专区亚洲AWWW| 日本免费一区二区三区在线播放 | 天天躁日日躁狠狠久久| 欧美在线a| 日韩国产一区二区三区在线观看 | 精品999日本久久久影院| 在线亚洲综合| 国产午夜福利av在线麻豆| 亚洲av无码一区二区三区鸳鸯影院| 成av人片一区二区三区久久| 国产永久免费高清在线观看视频| 一本色道久久亚洲av红楼| 一本久久a久久精品vr综合| av中文字幕不卡无码| 久久国产精品懂色av|