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

        ?

        基于增強(qiáng)引力搜索和神經(jīng)網(wǎng)絡(luò)的圖像分類(lèi)

        2020-12-28 06:38:10侯小毛趙月愛(ài)
        關(guān)鍵詞:分類(lèi)

        侯小毛,馬 凌,趙月愛(ài)

        (1.湖南信息學(xué)院 電子信息學(xué)院,湖南 長(zhǎng)沙 410151;2.太原師范學(xué)院 計(jì)算機(jī)系,山西 晉中 030619)

        0 引 言

        深度神經(jīng)網(wǎng)絡(luò)是一種多層的非線性映射深層網(wǎng)絡(luò)結(jié)構(gòu),能夠完成復(fù)雜的非線性函數(shù)逼近[1]。在許多工程領(lǐng)域中,深度學(xué)習(xí)技術(shù)的實(shí)際性能超越了傳統(tǒng)的機(jī)器學(xué)習(xí)技術(shù)[2]。深度神經(jīng)網(wǎng)絡(luò)(deep neural networks, DNN)主要有前饋神經(jīng)網(wǎng)絡(luò)和遞歸神經(jīng)網(wǎng)絡(luò)兩種結(jié)構(gòu),前饋神經(jīng)網(wǎng)絡(luò)[3]通過(guò)逐層學(xué)習(xí)獲取輸入數(shù)據(jù)的主要驅(qū)動(dòng)變量,該結(jié)構(gòu)對(duì)分類(lèi)問(wèn)題和目標(biāo)檢測(cè)問(wèn)題的性能較好;遞歸神經(jīng)網(wǎng)絡(luò)[4]的每層均含有反饋回路,能夠?qū)W習(xí)時(shí)間無(wú)關(guān)的數(shù)據(jù),如自然語(yǔ)言理解。雖然深度神經(jīng)網(wǎng)絡(luò)具有巨大的性能優(yōu)勢(shì),但是深度神經(jīng)網(wǎng)絡(luò)含有許多結(jié)構(gòu)參數(shù),針對(duì)特定的應(yīng)用場(chǎng)景確定合適的網(wǎng)絡(luò)模型是一個(gè)難題。

        通過(guò)試錯(cuò)法搜索深度神經(jīng)網(wǎng)絡(luò)的參數(shù)需要消耗大量的時(shí)間[5],因此快速準(zhǔn)確地搜索深度神經(jīng)網(wǎng)絡(luò)的參數(shù)成為目前的一個(gè)研究熱點(diǎn)。進(jìn)化神經(jīng)網(wǎng)絡(luò)(evolutionary neural networks, ENN)[6]是將進(jìn)化計(jì)算和神經(jīng)網(wǎng)絡(luò)兩者融合產(chǎn)生的一種全新神經(jīng)網(wǎng)絡(luò)模型,ENN能夠成功實(shí)現(xiàn)神經(jīng)網(wǎng)絡(luò)的權(quán)重進(jìn)化處理,但其計(jì)算時(shí)間較長(zhǎng)。拓?fù)浼訖?quán)進(jìn)化神經(jīng)網(wǎng)絡(luò)(topology and weight evolving artificial neural network, TWEANN)[7]支持對(duì)網(wǎng)絡(luò)結(jié)構(gòu)和權(quán)重參數(shù)同時(shí)進(jìn)行進(jìn)化處理,該網(wǎng)絡(luò)一般包含兩個(gè)循環(huán)體:測(cè)試新網(wǎng)絡(luò)結(jié)構(gòu)的結(jié)果搜索程序和優(yōu)化權(quán)重的結(jié)構(gòu)開(kāi)發(fā)程序。ENN和TWEANN優(yōu)化深度神經(jīng)網(wǎng)絡(luò)的過(guò)程均需要較長(zhǎng)的處理時(shí)間。近期文獻(xiàn)[8,9]在保證深度神經(jīng)網(wǎng)絡(luò)性能的前提下,成功降低了網(wǎng)絡(luò)參數(shù)的搜索時(shí)間。evoCNN[8]使用遺傳算法搜索卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural networks, CNN)的網(wǎng)絡(luò)結(jié)構(gòu),該算法設(shè)計(jì)了新的交叉算子和變異算子,加快了參數(shù)搜索的過(guò)程。EUDNN[9]使用一個(gè)基礎(chǔ)向量編碼神經(jīng)網(wǎng)絡(luò)的權(quán)重和連接,在每次迭代中需要對(duì)編碼進(jìn)行多次轉(zhuǎn)化,導(dǎo)致該算法對(duì)于高維數(shù)據(jù)的處理速度依然較慢。

        文獻(xiàn)[10]的研究成果表明,采用粒子群優(yōu)化算法(particle swarm optimization, PSO)訓(xùn)練ANN的速度快于遺傳算法,而引力搜索算法(gravitational search algorithm, GSA)的收斂速度優(yōu)于PSO[11],受此啟發(fā),本文利用GSA訓(xùn)練CNN網(wǎng)絡(luò)。GSA具有收斂速度快的優(yōu)勢(shì),但是容易陷入局部最優(yōu),因此本文設(shè)計(jì)了GSA的增強(qiáng)機(jī)制,采用對(duì)數(shù)衰減函數(shù)建模引力常量,并且設(shè)計(jì)了交叉算子和變異算子防止陷入局部極值。此外,解的編碼格式對(duì)于訓(xùn)練的效率具有極大的影響,本文設(shè)計(jì)了直接的深度神經(jīng)網(wǎng)絡(luò)表示形式,并且給出了agent各個(gè)屬性的更新方法。最終將訓(xùn)練的深度卷積神經(jīng)網(wǎng)絡(luò)應(yīng)用于圖像分類(lèi)問(wèn)題,實(shí)驗(yàn)結(jié)果表明本文方法在實(shí)現(xiàn)較高分類(lèi)精度的情況下,成功加快了深度神經(jīng)網(wǎng)絡(luò)的訓(xùn)練速度。

        1 問(wèn)題模型和相關(guān)知識(shí)

        1.1 卷積神經(jīng)網(wǎng)絡(luò)

        CNN的數(shù)學(xué)模型定義為

        (1)

        式中:i為神經(jīng)網(wǎng)絡(luò)的深度,X為輸入數(shù)據(jù),fi()為第i層的激活函數(shù),gi()為第i層的加權(quán)算子,Zi為第i層加權(quán)運(yùn)算的結(jié)果,Wi為第i層的權(quán)重向量,Oi為第i層的輸出。深度神經(jīng)網(wǎng)絡(luò)主要有3種網(wǎng)絡(luò)層:卷積層、池化層和全連接層,3種網(wǎng)絡(luò)層的輸出為

        (2)

        卷積層的輸出是輸入和權(quán)重卷積(“*”)運(yùn)算的結(jié)果,卷積層一般由卷積核或者卷積濾波器實(shí)現(xiàn)。池化層包括最大池化和平均池化兩種類(lèi)型,對(duì)r×c的池化窗口做下采樣處理,減少輸出參數(shù)。全連接層的輸出為權(quán)重向量和輸入相乘的結(jié)果。

        訓(xùn)練神經(jīng)網(wǎng)絡(luò)的目標(biāo)是最小化訓(xùn)練目標(biāo)和網(wǎng)絡(luò)預(yù)測(cè)輸出之間的誤差。卷積神經(jīng)網(wǎng)絡(luò)大多采用交叉熵?fù)p失作為評(píng)價(jià)指標(biāo),使用梯度下降法和后向傳播法對(duì)交叉熵?fù)p失進(jìn)行最小化處理。CNN存在大量的結(jié)構(gòu)參數(shù),通過(guò)試錯(cuò)法確定CNN結(jié)構(gòu)需要極高的時(shí)間成本。

        1.2 引力搜索算法

        假設(shè)一個(gè)n維的搜索空間內(nèi)包含N個(gè)agent,第i個(gè)解的位置表示為向量Xi

        (3)

        式中:i=1,2,…,N,每個(gè)向量的值表示agenti在該維度的位置。agenti的質(zhì)量和適應(yīng)度之間滿足以下的關(guān)系

        (4)

        式中:Mi(t)和fiti(t)分別為第t次迭代agenti的質(zhì)量和適應(yīng)度,Agwor(t)表示第t次迭代適應(yīng)度最低的agent。

        GSA根據(jù)當(dāng)前位置和下一次迭代的速度計(jì)算agent下一次迭代的位置,計(jì)算方法為

        Xi(t+1)=Xi(t)+vi(t+1)

        (5)

        式中:下一次迭代的速度計(jì)算為

        vi(t+1)=r×vi(t)+ai(t)

        (6)

        式中:r是(0,1)范圍內(nèi)的一個(gè)隨機(jī)變量。agenti的加速度計(jì)算為agenti所受的總引力除以其質(zhì)量

        (7)

        式中:q為(0,1)范圍內(nèi)的隨機(jī)變量,F(xiàn)ij(t)表示在第t次迭代agentj對(duì)agenti的引力。Fij計(jì)算為

        (8)

        式中:G為引力常量,R為agentj和agenti間的距離。G一般設(shè)為衰減函數(shù),其初值記為G(G0,t)。算法1所示是GSA的偽代碼。

        算法1:GSA優(yōu)化算法

        輸入:Tser[],d,τ,h

        輸出:Tpdf[]

        (1)初始化候選目標(biāo)Xi(i=1,2,…,N)

        (2)while 未達(dá)到結(jié)束條件 do

        (3) 計(jì)算所有目標(biāo)的適應(yīng)度

        (4) 計(jì)算最優(yōu)解目標(biāo)Mi和最差目標(biāo)Mj

        (5) 更新重引力因子G(t)

        (6) 計(jì)算引力Fij; //式(8)

        (7) 更新加速度; //式(7)

        (8) 更新速度; //式(6)

        (9) 更新位置; //式(5)

        (10)endwhile

        1.3 增強(qiáng)的GSA算法

        為增強(qiáng)GSA的局部開(kāi)發(fā)能力和全局搜索能力,本文對(duì)GSA提出3點(diǎn)修改:①采用對(duì)數(shù)衰減函數(shù)代替GSA引力常量的線性遞減函數(shù)。②設(shè)計(jì)了交叉算子強(qiáng)化GSA的全局搜索能力。③設(shè)計(jì)了變異算子防止GSA收斂于局部極值。

        (1)加速收斂過(guò)程

        GSA中引力常量G的作用是權(quán)衡全局搜索和局部開(kāi)發(fā),式(9)是GSA的G值線性變化函數(shù)

        (9)

        開(kāi)始階段G值較大,agent以較大的步長(zhǎng)移動(dòng),在迭代過(guò)程中逐漸縮小agent的移動(dòng)步長(zhǎng)。迭代次數(shù)越多,agent的質(zhì)量增加,搜索速度變慢,該性質(zhì)對(duì)GSA的收斂速度具有負(fù)面的影響。為了解決該問(wèn)題,采用對(duì)數(shù)衰減函數(shù)

        (10)

        式中:G0為初始化的引力常量,Gmin和Gmax分別為引力常量的最小值和最大值,ΔG=Gmax-Gmin,a為加速度,t為當(dāng)前的迭代次數(shù),T為總迭代次數(shù)。

        (2)交叉算子設(shè)計(jì)

        GSA利用目標(biāo)質(zhì)量控制搜索的趨勢(shì),質(zhì)量大的agent慢于質(zhì)量小的agent,優(yōu)質(zhì)解的移動(dòng)慢于劣質(zhì)解,所以低適應(yīng)度agent搜索未知區(qū)域的能力更強(qiáng)。為了提高GSA對(duì)未知區(qū)域的搜索能力,引入交叉算子來(lái)產(chǎn)生新解,增強(qiáng)GSA的全局搜索能力。

        首先,為GSA設(shè)立一個(gè)全局最優(yōu)agent,記為gopt,gopt類(lèi)似于灰狼優(yōu)化算法的頭狼α。每次迭代按適應(yīng)度值將agent降序排列,將后一半(N/2)的所有agent均和gopt進(jìn)行交叉操作,產(chǎn)生N/2個(gè)新解,種群規(guī)模變?yōu)镹+N/2。然后從(N+N/2)個(gè)解中選擇N個(gè)最優(yōu)解作為下一次迭代的種群。交叉算子能夠增強(qiáng)GSA算法的搜索能力,降低早熟收斂的概率,交叉算子的流程如圖1所示,圖中虛線框是本文主要修改的模塊。

        圖1 交叉算子的流程

        (3)變異算子設(shè)計(jì)

        本文GSA算法記錄每個(gè)最優(yōu)解的迭代次數(shù),檢查是否陷入局部最優(yōu)。本文設(shè)計(jì)了變異算子使gopt跳出局部最優(yōu),變異算子的流程如圖2所示。變異算子生成一個(gè)新的變異解,變異算子對(duì)變異agent的處理方式分為3種情況:如果它的適應(yīng)度超過(guò)gopt,那么變異agent變?yōu)楫?dāng)前的gopt。每次迭代將種群按照agent的適應(yīng)度升序排列,X(1)為最優(yōu)解,X(N)為最差解。變異算子有助于GSA跳出局部極值點(diǎn),防止陷入早熟收斂。

        圖2 變異算子的流程

        2 本文算法設(shè)計(jì)

        算法2是本文GSA_DNN的總程序,算法的輸入數(shù)據(jù)包括:訓(xùn)練數(shù)據(jù)集和CNN的結(jié)構(gòu)參數(shù)。GSA_DNN將GSA的全局最優(yōu)解作為CNN的結(jié)構(gòu)參數(shù),是一種自動(dòng)參數(shù)優(yōu)化算法。訓(xùn)練程序的網(wǎng)絡(luò)參數(shù)并未重新初始化,而是將優(yōu)質(zhì)的參數(shù)集由全局最優(yōu)agent傳遞至下一次迭代中。GSA_DNN包含6個(gè)關(guān)鍵的模塊:CNN的表示、種群初始化、適應(yīng)度評(píng)價(jià)函數(shù)、兩個(gè)agent間的差異度量、計(jì)算agent的速度和更新agent的位置。

        算法2:GSA_DNN算法

        輸出:CNN的最優(yōu)網(wǎng)絡(luò)結(jié)構(gòu)。

        (1)S={P1,…,PN}=initswarm(N,lmax,kmax,nmax,nout);

        (2)P1_popt=P1;

        (3)P1_loss=computeloss(P1,X,etrain);

        (4)P1_popt_loss=computeloss(P1,X,etrain);

        (5)gopt=P1; //初始化全局最優(yōu)解

        (6)gopt_loss=P1_loss;

        (7)fori=2 toNdo

        “您所撥打的手機(jī)實(shí)名登記機(jī)主已被人民法院發(fā)布為失信被執(zhí)行人,請(qǐng)督促其盡快履行生效法律文書(shū)確定的義務(wù)?!弊罱?,只要有人撥打南昌市民黃某的電話,就會(huì)聽(tīng)到法院為黃某“量身訂制”的彩鈴。

        (8)P1_popt=Pi;

        (9)P1_loss=computeloss(P1,X,etrain);

        (10)P1_popt_loss=computeloss(P1,X,etrain);

        (11) ifPi_loss≤goptlossthen

        (12)gopt=Pi;

        (13) endif

        (14)endfor

        (15)foriter=1 toitermaxdo

        (16) fori=1 toNdo

        (17)Pi_vel=update_velocity( );

        (18)Pi=updateAgent(Pi);

        (19)Pi_loss=computeLoss(Pi,X,etrain);

        (20) ifPi_loss≤Pi_popt_lossthen

        (21)Pi_popt=Pi;

        (22)Pi_popt_loss=Pi_loss;

        (23) ifPi_popt_loss≤gopt_lossthen

        (24)gopt=Pi;

        (25)gopt_loss=Pi_loss;

        (26) endif

        (27) endif

        (28) endfor

        (29)endfor

        (30)gopt=computeloss(gopt,X,etest);

        (31)returngopt;

        2.1 卷積神經(jīng)網(wǎng)絡(luò)表示

        設(shè)計(jì)了直接的CNN結(jié)構(gòu)編碼方案。CNN有4種分層:卷積層、最大池化層、平均池化層和全連接層。本文GSA_DNN是4層的神經(jīng)網(wǎng)絡(luò)模型,如圖3所示。

        圖3 GSA_DNN的神經(jīng)網(wǎng)絡(luò)模型

        假設(shè)C、P和FC分別表示卷積層、池化層和全連接層,將神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)表示為向量形式,向量的每個(gè)位置包含了該層的類(lèi)型及其超參數(shù)。向量中卷積層的超參數(shù)為輸出特征圖(feature map)的數(shù)量,全連接層的超參數(shù)為神經(jīng)元的數(shù)量,卷積層或池化層的超參數(shù)均為核的大小。本文所設(shè)計(jì)的agent編碼方法無(wú)需將編碼信息轉(zhuǎn)化為數(shù)值形式,直接描述了神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)和超參數(shù)。

        2.2 種群初始化

        算法2的initswarm()函數(shù)為種群初始化方法,initswarm()函數(shù)產(chǎn)生N個(gè)隨機(jī)CNN結(jié)構(gòu)作為初始化agent。算法3所示是initswarm()函數(shù)的偽代碼,每個(gè)agent的網(wǎng)絡(luò)層數(shù)為隨機(jī)值,其范圍為[3,lmax]。每個(gè)agent的第1層和最后1層分別為卷積層和全連接層。卷積層和池化層之間包含F(xiàn)C層會(huì)增加CNN的參數(shù)數(shù)量,所以初始化程序需要保證FC層之后的每層都是FC層。池化層能夠有效地減少輸出的規(guī)模,因此池化層和FC層連接,能夠有效地減少FC層的神經(jīng)元數(shù)量。

        算法3:初始化種群算法

        輸入:種群大小N,最大層數(shù)lmax,特征圖最大數(shù)量fmapmax,卷積核大小kmax,全連接層神經(jīng)元數(shù)量nmax,輸出層節(jié)點(diǎn)數(shù)量nout。

        輸出: agent集合S={P1,…,PN}

        (1)fori=1 toNdo

        (2)Pi_depth=random(3,depth); //隨機(jī)確定特征圖數(shù)量

        (3) forj=1 toPi_depthdo

        (4) ifj==1 then

        (5)layerlist[j]=addConv(kmax,fmapmax);

        (6) else ifj==Pi_depththen

        (7)layerlist[j]=addFC(nout);

        (8) else iflayerlist[j-1]為全連接層 then

        (9)layerlist[j]=addFC(nmax);

        (10) else

        (11)layertype=random(1, 3);

        (12) iflayertype==1 then

        (13)layerlist[j]=addConv(kmax,fmapmax);

        (14) else iflayertype==2 then

        (15)layerlist[j]=addPool();

        (16) else

        (17)layerlist[j]=addFC(nmax);

        (18) endif

        (19) endif

        (20) endfor

        (21)Pi_layerlist=layerlist;

        (22)endfor

        算法3的addConv()函數(shù)對(duì)agent的網(wǎng)絡(luò)結(jié)構(gòu)增加一個(gè)卷積層,特征圖的數(shù)量是[1,fmapmax]范圍的隨機(jī)值,卷積核大小是[3×3,kmax×kmax]范圍的隨機(jī)值,kmax表示卷積核的最大值,卷積核的滑動(dòng)步長(zhǎng)固定為1×1。add-Pool()函數(shù)隨機(jī)選擇一個(gè)最大池化層或者平均池化層加入agent的網(wǎng)絡(luò)結(jié)構(gòu),池化窗口大小為3×3,滑動(dòng)步長(zhǎng)為2×2。addFC()函數(shù)對(duì)agent的網(wǎng)絡(luò)結(jié)構(gòu)增加一個(gè)全連接層,隱藏神經(jīng)元的數(shù)量為[1,nmax]范圍的隨機(jī)值。所有層的激活函數(shù)均采用線性整流函數(shù)(rectified linear unit, ReLU),池化層的層數(shù)受輸入數(shù)據(jù)的大小約束,如果輸入大小為28×28,最多增加3層池化層。

        2.3 適應(yīng)度評(píng)估函數(shù)

        算法2的computeloss()函數(shù)為適應(yīng)度的評(píng)價(jià)函數(shù)。將agent的網(wǎng)絡(luò)結(jié)構(gòu)實(shí)現(xiàn)具體的CNN,訓(xùn)練CNN的所有epo-ch,計(jì)算每個(gè)agent的損失函數(shù)來(lái)評(píng)價(jià)其適應(yīng)度。本文采用交叉熵?fù)p失作為損失函數(shù),算法目標(biāo)是搜索損失最小的agent。使用Adam方法[12]訓(xùn)練CNN網(wǎng)絡(luò),使用Xavier方法[13]初始化CNN的權(quán)重。

        2.4 計(jì)算agent之間的差異

        針對(duì)本文的直接編碼方法設(shè)計(jì)了專(zhuān)門(mén)的agent差異度量方法。圖4是比較agent Ag1和Ag2之間差異,圖中P表示池化層,C表示卷積層,F(xiàn)表示全連接層,0表示無(wú)差異,-1表示刪除該層,+F表示增加F層。因?yàn)閍gent網(wǎng)絡(luò)結(jié)構(gòu)的卷積層、池化層和全連接層可能不對(duì)齊,所以獨(dú)立地比較agent的全連接層??紤]4種不同的情況:①如果兩個(gè)agent的第2層均為卷積層,那么兩者的差異為0,說(shuō)明在agent結(jié)構(gòu)的更新過(guò)程中,該層的位置不會(huì)改變,并且保留兩個(gè)agent的超參數(shù)。②如果兩個(gè)agent的網(wǎng)絡(luò)層類(lèi)型不同,那么將保留前一個(gè)agent的超參數(shù)。③如果前一個(gè)agent的神經(jīng)層數(shù)少于后一個(gè)agent,那么對(duì)最終的差異-1,表示該位置應(yīng)當(dāng)被刪除。④如果前一個(gè)agent的神經(jīng)層數(shù)多于后一個(gè)agent,那么對(duì)最終的差異+L,L表示增加的神經(jīng)層類(lèi)型。

        圖4 比較agent Ag1和Ag2之間差異

        2.5 計(jì)算agent的速度

        基于全局最優(yōu)gopt和局部最優(yōu)lopt之間的差異決定agentAg的速度,因此每次迭代需要計(jì)算兩個(gè)差異值gopt-Ag和popt-Ag。算法2的update_velocity()函數(shù)為agent的速度計(jì)算方法。圖5是一個(gè)計(jì)算agent速度,圖中P表示池化層,C表示卷積層,F(xiàn)表示全連接層,0表示無(wú)差異,-1表示刪除該層,+F表示增加F層。第1行和第2行列表分別為gopt-Ag和lopt-Ag。產(chǎn)生一個(gè)[0,1)范圍的隨機(jī)數(shù)r,比較r和閾值Cg的大小,如果r≤Cg,則選擇gopt-Ag,否則,選擇lopt-Ag。閾值Cg的作用是控制agent的收斂速度。

        圖5 計(jì)算agent速度

        因?yàn)樗俣鹊挠?jì)算過(guò)程僅僅比較了神經(jīng)層的類(lèi)型,而一個(gè)agent的神經(jīng)層類(lèi)型可能和gopt和lopt均完全相同,本文方法計(jì)算的速度結(jié)果將為一個(gè)全0的列表。該情況下本文算法基于Cg從gopt和lopt選擇速度,并將gopt的超參數(shù)作為agent的超參數(shù)。

        2.6 更新agent的網(wǎng)絡(luò)結(jié)構(gòu)

        算法2的updateagent()函數(shù)為更新agent的方法。圖6是更新agent結(jié)構(gòu),圖中P表示池化層,C表示卷積層,F(xiàn)表示全連接層,0表示無(wú)差異,-1表示刪除該層,+F表示增加F層。算法根據(jù)agent的速度對(duì)agent的網(wǎng)絡(luò)結(jié)構(gòu)增加或者刪除神經(jīng)層。更新過(guò)程中需要檢查池化層的數(shù)量,使其滿足輸入數(shù)據(jù)的約束,如果更新的結(jié)果中池化層的數(shù)量大于約束值,則從最后一個(gè)池化層依次刪除,使其滿足約束的層數(shù)。

        圖6 更新agent結(jié)構(gòu)

        3 仿真實(shí)驗(yàn)和結(jié)果分析

        3.1 實(shí)驗(yàn)方法和對(duì)比方法

        采用GPU處理器Nvidia GTX 1080測(cè)試GSA_DNN,GPU的顯存為8 GB,該顯存足夠容納兩百萬(wàn)個(gè)神經(jīng)網(wǎng)絡(luò)的參數(shù)。采用分類(lèi)準(zhǔn)確率和分類(lèi)錯(cuò)誤率作為圖像分類(lèi)性能的評(píng)價(jià)指標(biāo)。

        采用4個(gè)基于深度學(xué)習(xí)的圖像分類(lèi)算法作為對(duì)比方法:RandNet-2[14]、evoCNN[15]、MCCNN[16]、HEp-2[17],Rand-Net-2和evoCNN是兩個(gè)經(jīng)典的神經(jīng)網(wǎng)絡(luò)參數(shù)優(yōu)化算法,MCCNN和HEp-2則是近期圖像分類(lèi)領(lǐng)域性能較為突出的兩個(gè)神經(jīng)網(wǎng)絡(luò)模型。RandNet-2將主成分分析和卷積神經(jīng)網(wǎng)絡(luò)結(jié)合,具有較強(qiáng)的非線性學(xué)習(xí)能力,本文模型也以卷積神經(jīng)網(wǎng)絡(luò)為基礎(chǔ),通過(guò)RandNet-2能夠反映本文方法對(duì)卷積神經(jīng)網(wǎng)絡(luò)的優(yōu)化效果。evoCNN是一種基于遺傳算法的卷積神經(jīng)網(wǎng)絡(luò)演化優(yōu)化方法,該方法得到了廣泛的應(yīng)用。MCCNN設(shè)計(jì)了多通道的卷積神經(jīng)網(wǎng)絡(luò)來(lái)提取具有時(shí)空域不變性的特征,對(duì)圖像進(jìn)行分類(lèi)處理。HEp-2針對(duì)細(xì)胞圖像設(shè)計(jì)了半自動(dòng)的CNN參數(shù)搜索方案,并且在一般的圖像分類(lèi)數(shù)據(jù)集上也完成了性能驗(yàn)證。

        3.2 實(shí)驗(yàn)數(shù)據(jù)集

        采用5個(gè)圖像分類(lèi)領(lǐng)域內(nèi)常用的公開(kāi)數(shù)據(jù)集完成仿真實(shí)驗(yàn):MNIST、MNIST-RD、MNIST-RB、MNIST-BI、MNIST-Fashion。圖7是5個(gè)圖像數(shù)據(jù)集的實(shí)例,表1是5個(gè)數(shù)據(jù)集的基本屬性。MNIST數(shù)據(jù)集由250個(gè)人手寫(xiě)的數(shù)字構(gòu)成,MNIST-RD數(shù)據(jù)集由旋轉(zhuǎn)的手寫(xiě)數(shù)字構(gòu)成,MNIST-RB數(shù)據(jù)集的背景加入了隨機(jī)噪聲,MNIST-BI數(shù)據(jù)集在背景加入了圖像,MNIST-Fashion數(shù)據(jù)集包含了10種不同的服裝。

        圖7 5個(gè)實(shí)驗(yàn)圖像數(shù)據(jù)集的實(shí)例

        表1 實(shí)驗(yàn)數(shù)據(jù)集的基本屬性

        3.3 實(shí)驗(yàn)的參數(shù)設(shè)置

        GSA_DNN的參數(shù)分為3組:GSA相關(guān)參數(shù)、CNN初始化參數(shù)和CNN訓(xùn)練的相關(guān)參數(shù)。表2是本文實(shí)驗(yàn)的具體參數(shù)取值。

        表2 實(shí)驗(yàn)的參數(shù)設(shè)置

        3.4 實(shí)驗(yàn)結(jié)果和分析

        本文GSA_DNN模型獨(dú)立地訓(xùn)練10次,將10次的CNN模型對(duì)測(cè)試數(shù)據(jù)集獨(dú)立地進(jìn)行分類(lèi)實(shí)驗(yàn),統(tǒng)計(jì)10次實(shí)驗(yàn)結(jié)果的平均分類(lèi)準(zhǔn)確率和平均分類(lèi)錯(cuò)誤率。RandNet-2、evoCNN、MCCNN和HEp-2均提供了平均分類(lèi)錯(cuò)誤率結(jié)果,因此首先比較了GSA_DNN的分類(lèi)錯(cuò)誤率,如圖8所示。本文方法對(duì)于MNIST、MNIST-RD、MNIST-RB、MNIST-BI這4個(gè)數(shù)據(jù)集的錯(cuò)誤率均明顯地低于RandNet-2、MCCNN和HEp-2這3個(gè)模型,略低于evoCNN模型。MNIST-Fashion數(shù)據(jù)集類(lèi)別之間的界限更為明顯,所以5個(gè)深度神經(jīng)網(wǎng)絡(luò)對(duì)MNIST-Fashion數(shù)據(jù)集的分類(lèi)錯(cuò)誤率均較低,其中GSA_DNN和evoCNN的結(jié)果幾乎相等,可見(jiàn)本文方法獲得了理想的分類(lèi)性能。

        圖8 圖像平均分類(lèi)錯(cuò)誤率

        根據(jù)相關(guān)研究人員的分析[18],分類(lèi)錯(cuò)誤率即可以反映圖像分類(lèi)的準(zhǔn)確性,RandNet-2、evoCNN、MCCNN和HEp-2未提供圖像分類(lèi)準(zhǔn)確率的數(shù)據(jù),因此本文僅統(tǒng)計(jì)了GSA_DNN的分類(lèi)準(zhǔn)確率,如圖9所示。圖中可看出,GSA_DNN對(duì)MNIST、MNIST-RD、MNIST-RB和MNIST-Fashion的分類(lèi)準(zhǔn)確率均高于0.97,對(duì)MNIST-BI數(shù)據(jù)集的分類(lèi)準(zhǔn)確率接近0.94,實(shí)現(xiàn)了理想的分類(lèi)性能。

        圖9 GSA_DNN的圖像平均分類(lèi)準(zhǔn)確率

        3.5 GSA的優(yōu)化結(jié)果

        表3是本文GSA算法訓(xùn)練5個(gè)數(shù)據(jù)集所獲得的最佳網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)。

        表3 GSA_DNN搜索的最佳網(wǎng)絡(luò)參數(shù)

        運(yùn)用群體智能算法搜索CNN的最佳參數(shù)是一個(gè)極為耗時(shí)的任務(wù),因此,本文的核心目標(biāo)是在保證優(yōu)化效果的前提下,提高CNN模型的訓(xùn)練效率。文獻(xiàn)[19]的實(shí)驗(yàn)結(jié)果顯示,evoCNN訓(xùn)練MNIST數(shù)據(jù)集需要大約4天,該實(shí)驗(yàn)采用的NVIDIA Tesla P100 GPU是極為強(qiáng)大的服務(wù)器集群處理器。本文GSA_DNN對(duì)MNIST數(shù)據(jù)集獨(dú)立地完成了10次訓(xùn)練,最優(yōu)訓(xùn)練時(shí)間、平均訓(xùn)練時(shí)間和最差運(yùn)行時(shí)間分別為9.67 h、14.89 h和22.33 h,而且本文實(shí)驗(yàn)的Nvidia GTX 1080 GPU計(jì)算能力也大幅度地弱于NVIDIA Tesla P100 GPU,所以本文設(shè)計(jì)的GSA_DNN方法成功加快了深度神經(jīng)網(wǎng)絡(luò)的訓(xùn)練時(shí)間。

        4 結(jié)束語(yǔ)

        本文為GSA設(shè)計(jì)了交叉算子和變異算子,利用增強(qiáng)的GSA解決深度卷積神經(jīng)網(wǎng)絡(luò)的訓(xùn)練問(wèn)題。本文為CNN結(jié)構(gòu)設(shè)計(jì)了直接編碼策略,使其和GSA算法實(shí)現(xiàn)了較好地結(jié)合。實(shí)驗(yàn)結(jié)果表明,本文的GSA_DNN僅需要30個(gè)agent和20次迭代即可搜索出最佳的CNN結(jié)構(gòu),明顯快于基于遺傳算法的evoCNN方法。雖然本文實(shí)驗(yàn)在圖像分類(lèi)問(wèn)題上進(jìn)行了驗(yàn)證,但是GSA_DNN能夠應(yīng)用于其它的復(fù)雜學(xué)習(xí)任務(wù)。

        GSA_DNN中每個(gè)agent均需要對(duì)全部的訓(xùn)練集進(jìn)行完整訓(xùn)練,這是導(dǎo)致訓(xùn)練時(shí)間長(zhǎng)的關(guān)鍵原因。未來(lái)將研究把本文GSA應(yīng)用于殘差神經(jīng)網(wǎng)絡(luò)、遞歸神經(jīng)網(wǎng)絡(luò)等模型的訓(xùn)練工作,并針對(duì)不同類(lèi)型的網(wǎng)絡(luò),調(diào)節(jié)每個(gè)agent的訓(xùn)練量,從而進(jìn)一步降低訓(xùn)練的時(shí)間。

        猜你喜歡
        分類(lèi)
        2021年本刊分類(lèi)總目錄
        分類(lèi)算一算
        垃圾分類(lèi)的困惑你有嗎
        大眾健康(2021年6期)2021-06-08 19:30:06
        星星的分類(lèi)
        我給資源分分類(lèi)
        垃圾分類(lèi),你準(zhǔn)備好了嗎
        分類(lèi)討論求坐標(biāo)
        數(shù)據(jù)分析中的分類(lèi)討論
        按需分類(lèi)
        教你一招:數(shù)的分類(lèi)
        亚洲女人的天堂网av| av无码天一区二区一三区| 中文字幕一区二区三区日韩网| 日本在线一区二区免费| 真人做爰试看120秒| 男男性恋免费视频网站| 久久国产亚洲高清观看5388| 中文字幕丰满人妻有码专区| 白白在线视频免费观看嘛| 高清不卡一区二区三区| 真正免费一级毛片在线播放| 看全色黄大色大片免费久久久 | 亚洲区小说区图片区| 久久伊人中文字幕有码久久国产 | 69久久夜色精品国产69| 国产成人精品三上悠亚久久| 中文字幕日韩精品人妻久久久| 欧美国产亚洲日韩在线二区| 免费精品一区二区三区第35| 精品无吗国产一区二区三区av | 亚洲精品第一页在线观看| 国产盗摄xxxx视频xxxx| 国产欧美日韩午夜在线观看| 尤物成av人片在线观看| 亚洲av综合色区无码另类小说| 国产免费丝袜调教视频| 国产一区二区三区4区| 国产愉拍91九色国产愉拍| 欧美三级不卡在线观看| 精品国产午夜福利在线观看| 日本最新一区二区三区免费看| 亚洲自拍另类欧美综合| 日本熟妇免费一区二区三区| 久久不见久久见www日本网| 扒开双腿疯狂进出爽爽爽视频| 国产超碰人人一区二区三区| 国语对白精品在线观看| 国产精品久久久久9999赢消| 乱伦一区二| 亚洲人妻御姐中文字幕| 玩弄人妻少妇精品视频 |