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

評論