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

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

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

評論