ICLR 2020| 最新NAS benchmark:0.1秒完成NAS算法搜索

2020-01-27 07:22:42  阅读 314470 次 评论 0 条

神經網絡結構對深度學習領域的各個應用的性能都起著至關重要的作用,目前,網絡結構的設計範式已經逐漸的從專家手動設計轉變為了機器自動搜索。網絡結構搜索 (Neural Architecture Search,NAS) 旨在研究如何在一個給定的搜索空間內自動地發現高性能高精度高效率的網絡結構。

在過去的幾年內,越來越多的科研人員投入到NAS這一研究領域,越來越多的NAS方法被提出,整個領域也取得了許多突破性的進展。現在是時候回顧一下NAS領域好的一和不好的一了。NAS除了以良好的性能著稱,還因為海量的計算需求而讓眾多研究員望而卻,同時目前各個NAS算法的實驗設置不盡相同,難以去公平的衡量一個NAS算法的真實好壞。

為了進一步推動NAS算法的可複現性,為了降低NAS算法的計算需求,為了讓大家著眼於NAS算法的本質,且啟發後續的NAS算法,我們提出了NAS-Bench-201。

 NAS-Bench-201把15000多個神經網絡在三個數據集(CIFAR-10,CIFAR-100,ImageNet-16-120)上基於不同的隨機數種子基於不同的超參數訓練了多次。提供了每個訓練epoch之後的訓練和測試耗時,模型在訓練集/驗證集/測試集的損失函數和準確度,訓練之後的模型參數,模型大小,模型計算量等重要信息。NAS-Bench-201將這些有用的診斷信息整理起來,提供了方便的API來獲取他們。執行 “pip install nas-bench-201”可以一鍵安裝NAS-Bench-201的API,你將會擁有15000+個神經網絡的全部信息!下圖是15000+個網絡性能可視化。

2,實時跟蹤NAS算法表現,對於One-shot NAS算法,利用NAS-Bench-201就可在任時間節點,觀測當前預測的網絡結構的性能表現而無需重新訓練該結構。

3,公平對比每一個NAS算法。不同的文章在重訓練搜索出的網絡結構時,使用的超參數/數據增強/正則/等都不盡相同。現在利用NAS-Bench-201的API,每位科研人員可以公平地對比搜索出來的網絡結構。

NAS-Bench-201旨在提供一個公平的計算友好型的環境給NAS社區。因為利用我們的API可以很容易的獲取每個網絡的性能,這個便利的條䱯可能會隱形的讓設計的新NAS算法過擬合到最好的結構。為此,我們設置了一些規則來防止過擬合。

1,不能對某一個具體的操作進行正則化。比如限製skip-connection操作的敷Ň等。

2,使用我們的提供的網絡性能。訓練策略影響著一個網絡結構最終的性能。我們建議NAS-Bench-201的用戶使用我們這個benchmark提供的每個網絡的性能,即使使用別的訓練策略可以得到更好的性能。以此來保證公平性。

3,公布多組搜索實驗的結果。多次反複搜索過程能夠更穩定地展示一個NAS算法的效果。

使用NAS-Bench-201的數據非Ů容易,無需自己整理數據,我們提供了方便的API接口,可以輕鬆調用各種對NAS算法有用的診斷信息。下我們暫時了一些基本用法:

各位小夥伴快來試一試吧!代碼,數據,算法分析總有一款你需要的哦 。

雷鋒網原創文章,未經授權禁止轉載。詳情見轉載須知。