結合遺傳算法與DNN的EDEN:自動搜索神經網絡架構與超參數

 2017-09-29 09:16:28.0

參與:蔣思源

在該論文中,研究者提出了一種進化深度網絡(Evolutionary Deep Network/EDEN),即一種神經進化(neuro-evolutionary)算法。該算法結合了遺傳算法和深度神經網絡,並可用於探索神經網絡架構的搜索空間、與之相關聯的超參數和訓練迭代所採用的 epoch 數量。機器之心簡要介紹了該論文。

論文地址: https://arxiv.org/abs/1709.09161

在 Emmanuel 等人的研究工作中,除了探索超參數和 epoch 數以外,他們還探索了其它有效特徵(如嵌入層的優化)以增加現存研究模型的複雜度。通過使用 EDEN,研究者認為我們可以解決兩個問題:即我們是否可以在眾多問題領域中演化優良的一般性架構和超參數?這種演化是否可以在單塊 GPU 上完成,而不是像以前一樣需要在大型計算集群上完成?


隨著層級深度的增加,深度神經網絡在性能上持續保持提升。該趨勢意味著不同網絡架構和超參數的排列組合可以產生極其巨量的可能性,而現在它只有少量的經驗性指導。為了解決這一複雜性增長問題,我們提出了進化深度網絡(Evolutionary DEep Networks /EDEN),該網絡是一種高效計算的神經進化算法,它能接入任何已有的深度學習平台,如TensorFlow 等。我們展示了 EDEN 可以演化使用嵌入、1D 和 2D 卷積、最大池化、全連接層以及超參數所構建的簡單而成功的架構。 EDEN 在七個圖片與情感分析數據集中的演化結果表明,該網絡在搜尋高效的網絡架構上是可依賴的。此外,EDEN 不僅在三個案例中獲得了當前最佳的水平,同時還只需要在單塊 GPU 上訓練了 6 到 24 個小時。我們的研究首先嘗試了將神經進化應用於創建 1D 卷積網絡(包括嵌入層的優化等)並進行情感分析任務。

下圖 1 展示了一個神經網絡由 EDEN 染色體編碼的情況:


圖 1:每一個 EDEN 染色體包含兩個基因,分別編碼學習率和神經網絡。

2. 遺傳算法

遺傳算法(GA)[12] 是用於解決優化問題的進化算法。一般首先隨機初始化染色體群(population of chromosomes),每一個染色體代表優化問題的候選解。基於適應度函數,我們選擇多對較優個體(父母)。適應度高的個體更易被選中繁殖,即將較優父母的基因傳遞到下一代。


4. EDEN

算法 3 展示了染色體如何隨機生成偽代碼,算法 2 展示了本研究所使用的初始種群生成法。在某些情況中可能會生成無效的架構,而這些無效的架構將會被拋棄並重新生成新的神經網絡架構。



在遺傳算法的每一代中,我們需要選擇父染色體並進行遺傳操作而創造子染色體。父染色體的選擇使用的特定的算法,一般父染色體的選擇是根據適應度排序和競賽選擇(tournament selection)。在本研究中,競賽選擇使用的是如下算法 4:


5. 實驗設置

以下是該實驗所使用的 7 個數據集,其中展示了每一個數據集的訓練樣本數、測試樣本數和最終分類數。 Elec 和 IMDB 數據集用於情感分析,其它的都用於圖像識別。


6. 試驗結果與結論

下表 3 展示了模型在 7 個數據集上的測試準確度、學習率、可訓練參數和現有的最佳實驗結果。我們實驗有三個準確度超過了當前最佳水平,他們都是使用 Adam 算法獲得的。


下圖 2 和 3 展示了模型在進化過程中的適應度和學習率變化情況。


圖 2:在 MNIST 數據上,0 到 10 代遺傳算法平均適應度的展示


圖 3:在 0 到 10 代遺傳算法中的平均學習率變化

我們的研究是首次嘗試用神經進化算法來創造 1D 卷積網絡和優化嵌入層以實現情感分析任務。在未來的研究工作中,我們計劃把 EDEN 擴展到 GAN 架構,以及探索並行實現(parallel implementation)。

文章來源:機器之心