EcoNAS論文閱讀筆記
論文鏈接:https://arxiv.org/pdf/2001.01233.pdf
論文貢獻:
1. 通過大量的實驗較爲系統地分析了NAS搜索效率提升的幾個關鍵因素;
2. 構建了一套基於進化算法的層次化搜索框架;
論文方法:
1. 系統調研代理任務中的關鍵因素
在NAS搜索中,受限於時間、計算資源等,採樣的子網絡往往會在代理任務上進行訓練,從而獲得評價指標。而尋找合適的代理任務成爲研究人員重點關注的一個方向。這裏的“合適”是指,採樣的子網絡序列在代理任務上的性能表現與在原任務上的性能表現具有較好的一致性。
本文從一系列NAS論文中篩選出四類決定代理任務質量的關鍵因素,即:
1) 卷積網絡的通道數 c
2) 輸入圖片的分辨率 r
3) 訓練的epoch數量 e
4) 代理訓練集的數量 s
藉助這四項因素的排列組合,可以將代理任務表示爲(其中表示約減係數,即在基礎上縮減爲原先的)。下圖中展示了四種因素在約減係數爲0,1,2,3,4下對應的數值。
在確定關鍵因素後,爲研究四者關係,作者選擇了50個子模型測試不同的代理任務方案。並得到如下兩條發現:
1. 在相同的iteration下,使用 (較多的訓練圖片,較小的訓練epoch)所帶來的一致性要好於使用(較少的訓練圖片,較多的訓練epoch);
2. 減少輸入圖片的分辨率有時會有效,但減少網絡的通道數往往會更有效;(作者解釋該現象可能由模型的參數量增大帶來的過擬合導致)
2. 基於進化算法的層次化搜索框架
基於上述發現,作者選用了表現較好的一組代理數據集參數。這裏選用的標準是相關性係數和加速比同時較好。爲加速進化算法,作者提出了一種層次化的思路,即讓表現好的結構訓練更多的epoch,而讓表現差的結構提早結束訓練。這一點類似於在其他NAS文章中提出的early-stop機制,其核心目的是爲了將好結構和壞結構之間的差距進一步拉大。
論文結果
結論/分析
- 這篇文章對NAS代理任務中的四項關鍵任務進行了系統分析。現有的NAS工作往往選擇處理其中某個或某幾個因素進行代理任務的優化,這篇文章聯合四項因素,其實與Google之前發表的BiFPN等文章聯合reduce思路接近。它表明不能將分辨率或通道數等因素拆開單一看待,而應該將它們聯合優化;
- 層次化的框架也可以遷移到類似於RL或者Darts系列的NAS中,其本質就是及早中止表現不佳的結構,而用更多的算力去強化具有優良表現的結構。