深度進(jìn)化網(wǎng)絡(luò)結(jié)構(gòu)表示(DENSER)是一種用進(jìn)化算法自動(dòng)設(shè)計(jì)人工神經(jīng)網(wǎng)絡(luò)(ANNs)的新方法。該算法不僅能搜索最佳網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),還能調(diào)整超參數(shù)(比如學(xué)習(xí)或數(shù)據(jù)增強(qiáng)超參數(shù))。為了實(shí)現(xiàn)自動(dòng)設(shè)計(jì),該模型分為兩個(gè)不同的層級(jí):其中外層編碼網(wǎng)絡(luò)的總體結(jié)構(gòu),內(nèi)層編碼每層的相關(guān)參數(shù)。圖層和超參數(shù)的數(shù)值范圍是通過(guò)人類可讀、與上下文無(wú)關(guān)的語(yǔ)法來(lái)定義的。
本文的主要成果有:
DENSER:一種基于進(jìn)化原理的通用框架,可以自動(dòng)搜索適合具有不同圖層類型或目標(biāo)的大規(guī)模深度網(wǎng)絡(luò)的結(jié)構(gòu)和參數(shù);
可自動(dòng)生成的卷積神經(jīng)網(wǎng)絡(luò)(CNN),在沒(méi)有任何先驗(yàn)知識(shí)的情況下可以有效對(duì)CIFAR-10數(shù)據(jù)集進(jìn)行分類,平均準(zhǔn)確率為94.27%;
用DENSER生成的ANNs表現(xiàn)得很好。具體來(lái)說(shuō),在CIFAR-100數(shù)據(jù)集上的平均準(zhǔn)確率為78.75%,這是通過(guò)一個(gè)由CIFAR-10數(shù)據(jù)集生成的網(wǎng)絡(luò)獲得的。就我們所知,這是自動(dòng)設(shè)計(jì)CNN方法在CIFAR-100數(shù)據(jù)集上得出的最佳結(jié)果。
DENSER
為了改進(jìn)人工神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)和參數(shù),我們提出了“深度進(jìn)化網(wǎng)絡(luò)結(jié)構(gòu)表示”(DENSER),它集合了遺傳算法(GAs)和動(dòng)態(tài)結(jié)構(gòu)化語(yǔ)法進(jìn)化(DSGE)的基本思想。
表征
每個(gè)解決方案通過(guò)前饋層的有序序列及其各自的參數(shù)對(duì)ANN進(jìn)行編碼;學(xué)習(xí)和其他任何超參數(shù)也可以單獨(dú)編碼。候選解決方案的表征在兩個(gè)不同層次上完成:
遺傳算法:編碼網(wǎng)絡(luò)的宏觀結(jié)構(gòu),并且負(fù)責(zé)表示圖層的次序,之后用作語(yǔ)法開(kāi)始符號(hào)的標(biāo)志。它要求定義網(wǎng)絡(luò)允許的結(jié)構(gòu),即圖層的有效順序。
DSGE:編碼與圖層有關(guān)聯(lián)的參數(shù),參數(shù)及其允許的值或范圍被編碼在必須由用戶定義的語(yǔ)法中。
交叉
這一過(guò)程中提出了兩種交叉算子,他們基于不同的基因型水平。在當(dāng)前工作的背景下,一個(gè)模塊并不代表能復(fù)制多次的層組,而是屬于同一個(gè)遺傳算法結(jié)構(gòu)指數(shù)的層。
考慮到每個(gè)算子都有相同的模塊(可能層數(shù)不同),第一個(gè)交叉算子是單點(diǎn)交叉,它在同一個(gè)模塊內(nèi)改變兩個(gè)個(gè)體之間的層。
第二個(gè)交叉算子是一個(gè)統(tǒng)一的交叉,它改變了兩個(gè)個(gè)體之間的整個(gè)模塊。
變異
為了促進(jìn)人工神經(jīng)網(wǎng)絡(luò)的進(jìn)化,我們開(kāi)發(fā)了一套變異算子。在遺傳算法水平上,變異算子旨在操縱網(wǎng)絡(luò)結(jié)構(gòu):
添加圖層:根據(jù)要放置圖層的模塊的起始符號(hào)可能性生成新圖層;
復(fù)制圖層:隨機(jī)選擇一個(gè)圖層,并將其復(fù)制到模塊的另一個(gè)有效位置。這種復(fù)制是相連的,如果圖層中參數(shù)改變,那么所有復(fù)制層也將改變;
刪除圖層:從給定的模塊中選擇并刪除一個(gè)圖層。
上述變異算子只是網(wǎng)絡(luò)中的一般結(jié)構(gòu);要改變層的參數(shù),需要使用以下DSGE變異:
語(yǔ)法變異:一種擴(kuò)展可能性(expansion possibility)被另一個(gè)替代;
整數(shù)變異:在允許范圍內(nèi)產(chǎn)生一個(gè)新的整數(shù)值;
浮點(diǎn)變異:對(duì)給定的浮點(diǎn)值進(jìn)行高斯攝動(dòng)。
實(shí)驗(yàn)結(jié)果
為了進(jìn)行測(cè)試,我們?cè)贑IFAR-10數(shù)據(jù)集上進(jìn)行CNN生成實(shí)驗(yàn)。CIFAR-10中有60000個(gè)樣本,每個(gè)都是32×32的RGB彩色圖像,這些圖像一共被分成10類。DENSER提出的解決方案將被映射到Keras模型,從而檢測(cè)它們的性能。任務(wù)的目標(biāo)是測(cè)量模型識(shí)別對(duì)象的準(zhǔn)確性最大是多少。
為了分析網(wǎng)絡(luò)的泛化和擴(kuò)展能力,我們采用了最佳的CNN拓?fù)浣Y(jié)構(gòu),并對(duì)CIFAR-100數(shù)據(jù)集進(jìn)行分類測(cè)試。
CIFAR-10上的CNN進(jìn)化
在生成的CNN上,我們進(jìn)行了10次CIFAR-10數(shù)據(jù)集的分類測(cè)試。對(duì)于生成的網(wǎng)絡(luò),我們分析它們的擬合度(fitness,即分類任務(wù)的準(zhǔn)確性)和隱藏層的數(shù)量。
圖1
圖1描述了在迭代中最佳CNN的平均擬合度和層數(shù)的演變。結(jié)果表明,進(jìn)化正在發(fā)生,解決方案往往出現(xiàn)在第80次迭代處。從進(jìn)化開(kāi)始到大約第60次,性能的提升都伴隨著層數(shù)的減少;從第60次往后,性能的提升會(huì)導(dǎo)致最佳網(wǎng)絡(luò)的隱藏層數(shù)量增加。這一分析表明,第一代隨機(jī)生成的解決方案有很多層,其參數(shù)也是隨機(jī)設(shè)置的。
圖2
進(jìn)化過(guò)程中最佳網(wǎng)絡(luò)已在圖2中表示出來(lái)(根據(jù)準(zhǔn)確度判斷)。進(jìn)化網(wǎng)絡(luò)最讓人不解的特點(diǎn)是在拓?fù)浣Y(jié)構(gòu)結(jié)尾使用密集層的重要性和數(shù)量。據(jù)我們所知,如此大量的密集層的使用順序是前所未有的。甚至可以說(shuō),人類永遠(yuǎn)不會(huì)想出這樣的結(jié)構(gòu),所以這個(gè)進(jìn)化結(jié)果非常有意義。
一旦進(jìn)化過(guò)程完成,每次生成的最佳網(wǎng)絡(luò)將被重新訓(xùn)練五次。首先,我們用相同的學(xué)習(xí)速率訓(xùn)練網(wǎng)絡(luò)(lr=0.01),不過(guò)這次不止測(cè)試10次了,而是400次。之后我們將獲得88.41%的平均分類精度。為了進(jìn)一步提高網(wǎng)絡(luò)的準(zhǔn)確度,我們對(duì)測(cè)試集中的每個(gè)樣本進(jìn)行增強(qiáng),生成100張?jiān)鰪?qiáng)圖像,并且預(yù)測(cè)這100張圖像上的平均最大置信度值。最終,最佳進(jìn)化網(wǎng)絡(luò)的平均準(zhǔn)確度提高到89.93%。
為了研究是否有可能提高最佳網(wǎng)絡(luò)的性能,我們使用CGP-CNN,用相同的策略訓(xùn)練它們:最初的學(xué)習(xí)速率為0.01,隨機(jī)變化;第五次時(shí)增加到0.1;第250次是又減少到0.01;最終在第375次時(shí)減少到0.001.根據(jù)之前的訓(xùn)練策略,網(wǎng)絡(luò)的平均準(zhǔn)確度提升到93.38%。如果增強(qiáng)數(shù)據(jù)集中的數(shù)據(jù),那么平均準(zhǔn)確度為94.13%,即平均誤差為5.87%。
CIFAR-10結(jié)果對(duì)比
上表是DENSER與其他方法生成的最佳結(jié)果的對(duì)比,可見(jiàn)DENSER的準(zhǔn)確度最高。另外,在我們的方法中,可訓(xùn)練參數(shù)的數(shù)量要高得多,因?yàn)槲覀冊(cè)试S在進(jìn)化的CNN中放置完全連接的層。另外,在進(jìn)化過(guò)程中,沒(méi)有用到先驗(yàn)知識(shí)。
CIFAR-100上的泛化能力
為了測(cè)試進(jìn)化網(wǎng)絡(luò)的泛化和可擴(kuò)展性,我們將在CIFAR-10上生成的最佳網(wǎng)絡(luò)應(yīng)用于CIFAR-100上。為了能使網(wǎng)絡(luò)正常工作,我們只將softmax層的輸出神經(jīng)元從10個(gè)改為100個(gè)。
每個(gè)網(wǎng)絡(luò)的訓(xùn)練是隨機(jī)的;由于數(shù)據(jù)增加,初始條件的不同,所以訓(xùn)練它們要使用不同的樣本。因此,為了進(jìn)一步改進(jìn)結(jié)果,我們研究了Graham提出的測(cè)試一部分最大池的性能是夠能提高我們網(wǎng)絡(luò)的性能。簡(jiǎn)而言之,我們不再使用單獨(dú)的網(wǎng)絡(luò),而是使用一個(gè)集合,其中的每個(gè)網(wǎng)絡(luò)都是獨(dú)立訓(xùn)練的結(jié)果。利用這種方法,訓(xùn)練五次的同一個(gè)單一網(wǎng)絡(luò)的準(zhǔn)確度為77.51%;含有10個(gè)網(wǎng)絡(luò)的集合的準(zhǔn)確度為77.89%;12個(gè)網(wǎng)絡(luò)的集合的準(zhǔn)確度為78.14%。這些結(jié)果均優(yōu)于使用標(biāo)準(zhǔn)數(shù)據(jù)增強(qiáng)的CNN方法。
此外,組成集合的也并不是同樣結(jié)構(gòu)的網(wǎng)絡(luò),而是選用DENSER構(gòu)建的兩個(gè)最好的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)。按照這種方法,我們得到的模型準(zhǔn)確度提高至78.75%。
CIFAR-100結(jié)果
上表表示DENSER在CIFAR-100數(shù)據(jù)集上的結(jié)果與其他方法的比較。
-
人工神經(jīng)網(wǎng)絡(luò)
+關(guān)注
關(guān)注
1文章
120瀏覽量
14909 -
denser
+關(guān)注
關(guān)注
0文章
1瀏覽量
1987
原文標(biāo)題:DENSER:用進(jìn)化算法自動(dòng)設(shè)計(jì)神經(jīng)網(wǎng)絡(luò)
文章出處:【微信號(hào):jqr_AI,微信公眾號(hào):論智】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
人工神經(jīng)網(wǎng)絡(luò)原理及下載
一種基于經(jīng)優(yōu)化算法優(yōu)化過(guò)的神經(jīng)網(wǎng)絡(luò)設(shè)計(jì)FIR濾波器的方法介紹
人工神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)方法有哪些?
一種基于高效采樣算法的時(shí)序圖神經(jīng)網(wǎng)絡(luò)系統(tǒng)介紹
基于差分進(jìn)化的BP神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法

人工神經(jīng)網(wǎng)絡(luò)電子課件

基于GA優(yōu)化T_S模糊神經(jīng)網(wǎng)絡(luò)的小電流接地故障選線新方法_王磊
人工神經(jīng)網(wǎng)絡(luò)簡(jiǎn)單算法的原理

評(píng)論