AmoebaNet:經費在燃燒,谷歌提出基於aging evolution的神經網絡搜索 | AAAI 2019

論文提出aging evolution,一個錦標賽選擇的變種來優化進化算法,在NASNet搜索空間上,對比強化學習和隨機搜索,該算法足夠簡潔,而且能夠更快地搜索到更高質量的模型,論文搜索出的AmoebaNet-A在ImageNet上能達到SOTA

來源:【曉飛的算法工程筆記】 公眾號

論文: Regularized Evolution for Image Classifier Architecture Search

Introduction


  神經網絡結構搜索的網絡已經能夠超越人工設計的網絡,但是基於進化算法(evolutionary algorithms)和基因規劃(genetic programming)還沒有達到人工設計的網絡的精度。為此,論文在標準的進化過程基礎上進行兩個改進:

  • 提出改進錦標賽選擇(tournament selection)的進化算法,命名aging evolution或regularized evolution。在錦標賽選擇中,表現最好的基因會保留,而新方法將每個基因關聯一個年齡,偏向於選擇年輕的基因
  • 在NASNet的搜索空間上採用最簡單的變異集合進行進化,NasNet的搜索空間用小的有向圖來表示卷積神經網絡,節點表示隱藏層,帶標籤的邊表示常見的網絡操作,變異的規則僅允許隨機將邊連接到新的節點和修改邊的標籤

  在NASNet空間進行搜索,能夠直接地將論文提出的方法和原來的強化學習方法進行對比。論文提出的方法不僅簡單,而且搜索速度更快,結果更優,搜索得到的AmoebaNet-A能達到83.9% top-1 error rate

Methods


Search Space

  NASNet搜索空間定義的網絡架構是固定的,如圖1左,通過堆疊單元(cell)來組成網絡,每個單元接受前兩個單元的輸出作為輸入,有normal cellreduction cell,分別主要用於特徵提取以及池化。單元的搜索就是定義裏面每個塊的輸入、算子以及合併輸出方式,細節可以看NASNet的論文,也可以看我之前的NASNet解讀

Evolutionary Algorithm

  進化算法始終保持population(種群)的大小為P個模型,使用隨機網絡進行population初始化,然後進行C輪進化來優化種群。每輪以均勻的概率隨機選取S個模型,將選取的模型中準確率最高的作為parent,然後將parent進行mutation(變異)得到新網絡child,在訓練和驗證後將child加入到historypopulation的右側中,最後刪除population最左邊的模型,算法可以通過分發「while |history|」來進行並行計算
  需要注意,在錦標賽選擇中,通過去掉S-sample中最差的模型來保持最初種群數始終為P,這可以認為是non-aging evolution。相反的,論文的新方法每次直接去掉種群中最老的模型,這樣能為搜索帶來更多的可能性,而非只關注高準確率模型,稱為aging evolution
  直觀的,變異可認為是提供探索,而參數S則可以認為是提供榨取(獲取最優模型的可能)。不同的參數S控制榨取的侵略性,S=1等於隨機搜索,$2\le S\le P$則代表不同的貪婪程度

  變異有三種形式,每次只能進行一種變異,兩種主要的為hidden state mutationop mutation,另外一種為不變異。hidden state mutation首先選擇變異的是normal cell還是reduction cell,然後選擇單元的5個block中的一個,最好在block的兩個輸入中選擇一個進行變異,隨機選擇另外一個單元內的hidden state作為輸入,前提不能產生環。op mutation則進行類似的選擇,先單元類型,然後block,再選兩個操作中的一個進行變異,替換成另一個隨機操作

Baseline Algorithms

  論文的主要對比算法為強化學習(RL)和隨機搜索(RS)

Experimental Setup

  在CIFAR-10上進行小模型(N和F都很小)搜索,直到驗證了20k模型,之後將搜索到的最優結構應用到full-size的模型中(提高N和F),然後使用更長的訓練時間來獲得CIFAR-10和ImageNet上的準確率

Methods Details


  op的選擇與NASNet有點不同,包含:none (identity); 3×3, 5×5 and 7×7 separable (sep.) convolutions (convs.); 3×3 average (avg.) pool; 3×3 max pool;
3×3 dilated (dil.) sep. conv.; 1×7 then 7×1 conv,P=100S=25,在搜索階段每個模型訓練25 epoch,N=3/F=24,在450張K40上訓練7天,identity mutation的概率固定為0.05,其它的兩種概率一致,搜索到的最優20個模型進行最終的訓練

Results


Comparison With RL and RS Baselines

  圖3看出進化方法有更高的準確率,而且可以早停

  圖4進行了多次重複實驗,進化算法比RS的準確率高,比RL的參數少

  論文的進化算法搜索到的最優網絡AmoebaNet-A

  可以看到,在參數量和準確率方法,AmoebaNet-A要優於NASNet-A

ImageNet Results

  將CIFAR-10上的最優模型轉化到ImageNet上,準確率與當前的SOTA相似,對模型進行進一步加大後,得到SOTA模型83.9%,但是模型的參數量相對較大

CONCLUSION


  論文提出aging evolution,一個錦標賽選擇的變種來優化進化算法,在NASNet搜索空間上,對比強化學習和隨機搜索,該算法足夠簡潔,而且能夠更快地搜索到更高質量的模型,450塊K40搜索大約7天,論文搜索出的AmoebaNet-A在ImageNet達到SOTA



如果本文對你有幫助,麻煩點個贊或在看唄~
更多內容請關注 微信公眾號【曉飛的算法工程筆記】

work-life balance.