NAS-Bench-101: Towards Reproducible Neural Architecture Search(可復現NAS數據集)


作者:Chris Ying * 1 Aaron Klein * 2 Esteban Real 1 Eric Christiansen 1 Kevin Murphy 1 Frank Hutter

摘要

NAS需要大量的計算開銷,論文提出第一個公共NAS搜索的結構數據集:NAS-Bench-101

包含423k個卷積結構,在CIFAR-10數據集上多次對模型訓練和評估。

作用:使得可以再毫秒時間內從數據集查找評估模型的質量

 

代碼:https://github.com/google-research/nasbench

基准測試代碼腳本:https://github.com/automl/nas_benchmarks

1、介紹

NAS有影響力工作:

Designing neural network architectures using reinforcement learning MIT的NAS開山之作

Neural architecture search with reinforcement learning  NAS開山之作

Neural architecture search: A survey NAS綜述

NAS的SOTA工作:

 

NAS難復現原因:1、計算開銷大 2、不同方法不好比較:搜索空間、訓練過程不同

建立NAS-Bench-101數據集:

  • 包含423k個樣本,映射模型結構到對應的指標(run time and accuracy)
  • 遍歷了窮盡了整個搜索空間,使之可對整個搜索空間做復雜分析

開源代碼 https://github.com/google-research/nasbench 包含數據、搜索空間、訓練代碼

論文貢獻如下:

  • 提出第一個開源結構NAS數據集NAS-Bench-101
  • 介紹了使用數據集去分析搜索空間,揭示內部機理去指導網絡設計
  • 介紹了使用數據集對各種開源NAS優化算法做benchmarking

2、NASBench數據集

NAS-Bench-101:數據集表格包含CNN結構和對應訓練\評估指標

2.1 結構

如圖所示,每個CNN結構的外骨架,由stem、stack、downsample組成,每個stack中有3個Cell單元

網絡結構的變化,由Cell單元變化產生

Cell單元:由包含V個頂點(其中兩個為IN-OUT頂點)的所有可能有向非循環圖(DAGs)組成,每個頂點包含L種可能的ops,L=3。

ops集合包含(3x3 conv; 1x1 conv; 3x3 max-pool操作);V <= 7;最大邊數<=9;

所有卷積使用了BN+ReLU

2.2 Cell編碼

編碼方式:基於7個頂點的無向循環圖,每個頂點有3種可能的操作

 

In

1

2

3

4

5

Out

In

 

1/0

1/0

1/0

1/0

1/0

1/0

1

 

 

1/0

1/0

1/0

1/0

1/0

2

 

 

 

1/0

1/0

1/0

1/0

3

 

 

 

 

1/0

1/0

1/0

4

 

 

 

 

 

1/0

1/0

5

 

 

 

 

 

 

1/0

Out

 

 

 

 

 

 

 

如圖所示,1/0表示圖中的頂點是否連通,總計有 種可能連通方式;除去IN-OUT頂點,每個頂點有3種可能,總共有種可能的ops組合。

綜上,有  種可能Cell結構

除去無效和重復的,有423K個不同的結構圖

2.4 訓練

設計了一個對所有數據集模型適用的開源單一通用的訓練流程

超參數設置:使用單一固定的超參數集,選對不同結構都魯棒的超參,依據對50個隨機采樣機構的平均精度來選擇

實現細節:

 

數據集:CIFAR-10(40k訓練/10k驗證/10k測試),標准數據擴充技術(參考ResNet)

優化器:RMSProp  損失函數:Cross-entropy loss

代碼:https://github.com/google-research/nasbench

每個模型在4 種Epochs下各重復訓練/評估3次

2.5 度量指標Metric

結構A,在不同E_stop下,不同初始化訓練3次,得到如下映射關系數據集

(A,  E_stop,trial#) -à (訓練acc, 驗證acc, 測試acc, 訓練時間, 模型參數數量)

2.6 基准測試方法Benchmarking

NAS-Bench-101數據集的其中一個目的:促進NAS算法的基准測試

表示在整個數據集上具有最高平均測試精度的模型

在搜索過程中,根據驗證集精度排序記錄搜索算法發現的最好的結構

計算中間regret:

Regret作為每次搜索的分數

3、NASNet作為數據集

分析整個NASNet數據集來深入了解ops和cell拓撲結構在CNN網絡中性能

3.1 數據集統計信息

 

如圖左,大部分結構訓練精度收斂至100%,驗證/測試精度達到90%

如圖右,相同結構,由於訓練\測試的有一定的噪聲,更長的訓練epochs有更低的噪聲

最好的結構測試精度達到94.32%,ResNet-like:93.12%,Inception-like:92.95%

 

研究了參數數目、訓練時間、驗證集精度之間的關系

如圖左,顯示了三者呈正相關;但參數數目和訓練時間不是唯一決定因素

如圖右,顯示了參數和訓練時間都更少的resnet和inception仍達到了同樣高精度

3.2 結構設計

 

替換Cell中的ops,不同操作,絕對驗證精度對比和相對訓練時間對比

左圖,把3x3卷積替代為1x1卷積或3x3 max-pool,驗證精度下降1.16%和1.99%

右圖,把3x3卷積替代為1x1卷積或3x3 max-pool,訓練時間下降14.11%和9.84%

3.3 位置

位置特性:結構接近有相似的性能。

接近度:edit-distance(編輯距離):從一個結構轉向另一個結構所需最少的變化數目

衡量位置的參數,Random-walk autocorrelation(RWA):defined as the autocorrelation of the accuracies of points visited as we perform a long walk of random changes through the space

參考:https://stats.stackexchange.com/questions/181167/what-is-the-autocorrelation-for-a-random-walk

 

 

如左圖,RWA在小距離時顯示了高相關性,超過6時,相關性變得不可區分

FDC(fitness-distance correlation):測量鄰近的locality

4、作為基准的NASBench

4.1 比較NAS算法

通過使用數據集對比其他Alg,建立baseline

基准測試了小部分NAS、hyperparameter optimization(HPO)、RS、regularized evolution(RE)、SMAC、TPE、HB、BOHB、

基准測試代碼腳本:https://github.com/automl/nas_benchmarks

調研了所有optimizer的元參數 見S2.2

 

如圖左,顯示了每類NAS/HPO算法的平均性能,通過500次獨立試驗

如圖右,研究了優化器對隨機性的魯棒性

運行每種方法500次,每次10M秒,關於regret的經驗累積誤差(CDF,empirical cumulative distribution), RE, BOHB, and SMAC顯示最魯棒

4.2 Generalization bootstrap

測試在數據集上結果的泛化能力,需要在更大數據集上運行基准測試算法

由於計算限制,不能在更大空間做大量NAS試驗

在NAS-Bench-Mini數據集上試驗(NAS-Bench-101的子集),包括在搜索空間內所有的Cell,僅用<=6個頂點(64.5k unique cells)。

 

如圖,可以看到在NASBench-Mini和NASBench-101不同大小空間上,相同算法精度比較是一致的都是 RS<NRE<RE

5、討論

5.1 聯系超參優化(hyperparameter optimization )

NAS:目標去發現好的神經網絡結構

HPO:目標針對給定結構,尋找最優訓練超參數集

f 是性能度量指標,如驗證精度

NAS問題為在最優參數下的最優結構

實際上,尋找所有結構的最優超參數 H_*,計算上是棘手的,所以用 近似H_+

H_+:通過在小的結構子集上S(隨機采樣50個結構),選擇取得最大平均精度的超參數集

用 來近似求解近似最優結構

並給出了如上近似結構的證明

 

 

如圖,兩個函數的秩高度相關,Spearman rank correlation = 0.9155 

總結

提出了NAS-Bench-101,一個神經結構搜索的表格基准,保留了初始NAS優化問題

使得可以快速比較各種算法,而不用巨大地計算開銷

利用數據集,可以對卷積神經結構做窮盡地評估和分析


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM