1. 程式人生 > 實用技巧 >AutoML系列 | 03-神經網路架構搜尋(NAS)綜述

AutoML系列 | 03-神經網路架構搜尋(NAS)綜述

本文是對 “Neural Architecture Search: A Survey”的翻譯,這篇Paper 很好的總結分析了 NAS 這一領域的研究進展。


摘要

在過去幾年中,深度學習在各種任務上(例如影象識別,語音識別和機器翻譯)取得了顯著進步。這一進步的關鍵方面之一是新穎的神經架構。目前使用的架構大多是由人類專家開發設計的,這是一個耗時且容易出錯的過程。因此,人們對自動神經網路搜尋方法越來越感興趣。本文概述了該研究領域的現有工作,並根據搜尋空間、搜尋策略和效能評估策略三個維度對其進行了分類。

一、引言

深度學習在感知任務中的成功很大程度上歸功於其特徵提取過程的自動化:分層特徵提取器以端到端的方式從資料中學習而不是人工設計。然而,當人工設計越來越複雜的神經架構時,這種成功伴隨著對架構工程的不斷增長的需求。神經架構搜尋(NAS)是自動化神經網路架構設計的過程,因此是機器學習自動化的下一步。 NAS可以被視為AutoML的子域,並且與超引數優化和元學習具有顯著的重疊。本文根據搜尋空間、搜尋策略和效能評估策略三個維度對NAS的方法進行分類:

1.搜尋空間

搜尋空間定義了原則上可以表示哪些神經網路結構。結合非常適合某一任務的先驗知識可以減小搜尋空間的大小並簡化搜尋。但是,這也引入了人為偏見,這可能會阻止尋找超越當前人類知識的新穎的網路結構部件。

2.搜尋策略

搜尋策略定義瞭如何探索搜尋空間,使用怎樣的演算法可以快速、準確找到最優的網路結構引數配置。它包含了經典的探索 - 利用權衡(exploration-exploitation trade-off)。因為,一方面,需要快速找到效能良好的神經網路結構,另一方面,應避免過早收斂到次優結構區域。

3.效能評估策略

NAS的目標通常是為了找到能夠在待預測的新資料上實現高預測效能的神經網路結構。效能評估是最簡單的選擇是在資料集上進行標準的模型訓練和模型驗證,但計算成本很高,並且限制了可以探索的網路結構的數量。因此,最近的許多研究都集中在開發降低這些效能評估成本的方法上。

在這裡插入圖片描述
NAS的原理是給定一個稱為搜尋空間的候選神經網路結構集合,用某種策略從中搜索出最優網路結構。神經網路結構的優劣即效能用某些指標如精度、速度來度量,稱為效能評估。

二、搜尋空間

搜尋空間定義了NAS演算法可以搜尋的神經網路的型別,同時也定義瞭如何描述神經網路結構。

在這裡插入圖片描述
最近關於搜尋空間的研究工作如下:

1.鏈式神經網路的搜尋空間

一個相對簡單的搜尋空間是鏈式神經網路的空間,如圖2(左)所示。鏈式神經網路結構A可以寫成n層序列,其中第i層Li從層i-1接收其輸入,其輸出用作層i+1的輸入,即A = Ln◦…L1◦L0。

搜尋空間由以下引數決定:

(i) (最大)層數n(可能無界);
(ii) 每層可以執行的操作型別,例如:池化,卷積或更高階的層型別,如深度可分離卷積(Chollet, 2016)或擴張卷積(Yu and Koltun,2016);

(iii) 與操作相關的超引數,例如過濾器的數量,核尺寸和卷積層的步幅(Baker et al., 2017a; Suganuma et al., 2017; Caiet al., 2018a),或簡單的全連線網路單元數(Men-doza et al., 2016)。注意,來自(iii)的引數以(ii)為條件,因此搜尋空間的引數化不是固定長度而是條件空間。

2.複雜、多分支結構神經網路的搜尋空間

最近關於NAS的研究工作(Brock et al., 2017; Elsken et al., 2017; Zoph et al., 2018; Elskenet al., 2018; Real et al., 2018; Cai et al., 2018b)結合了人工設計的網路結構中的一些現代設計元素,例如skip connections,從而允許構建比鏈式神經網路結構更復雜的多分支結構神經網路。在這種情況下,第i層的輸入可以用一個函式來描述,以組合先前多層的輸出,採用這種函式可以顯著提高自由度。

多分支結構神經網路的一些例子:

(i) 鏈式結構神經網路(通過設定 );
(ii)Residual Networks, 殘差神經網路(He et al., 2016),將先前層的輸出求和;
(iii) DenseNets (Huang et al., 2017),將先前層的輸出組合。

3.基於細胞單元/構件的搜尋空間

在這裡插入圖片描述
受人工設計的網路結構重複構件(Szegedy et al., 2016; He et al., 2016; Huang et al., 2017)設計思想的激發,Zoph et al. (2018) 和Zhong et al. (2018a)提出,對神經網路中的構件(細胞、塊)進行搜尋,而不是整個神經網路結構。Zoph et al., (2018)優化了兩種構件:①正常構件,即保持輸入的維度,②降維構件,即降低輸入的空間維度。最終的網路結構通過預定義方式堆疊這兩種構件來構建。這種搜尋空間相對於前文介紹的搜尋空間,有兩個主要優點:

(1)由於構件相對較小,大大縮小了搜尋空間。例如:Zoph etal., (2018)研究表明,相對於之前的研究工作(Zoph et al., 2018),獲得了7倍的加速,且效能更優。

(2)通過調整模型中構件的數量,構件很容易遷移到其它資料集上。Zoph et al., (2018)將在CIFAE-10上優化的構件遷移到ImageNet,取得了state-of-the-art效能表現。

這種基於細胞/構件的搜尋空間也被許多後期工作成功應用 (Real et al., 2018; Liu et al., 2018a; Pham et al., 2018; Elsken etal., 2018; Cai et al., 2018b; Liu et al., 2018c; Zhong et al., 2018b)。然而,當使用基於細胞單元/構件的搜尋空間時,會出現一種新的設計選擇,即如何選擇元架構:應該使用多少個單元以及如何連線它們來構建實際模型?

例如,Zophet al., (2018) 從細胞單元/構件構建序列模型,其中每個細胞單元接收前兩個細胞單元的輸出作為輸入。Cai et al., (2018b) 採用眾所周知的人工設計的高階結構,例如DenseNet (Huang et al., 2017),並在這些模型中使用細胞單元/構件。原則上,細胞單元/構件可以任意組合,例如,用細胞單元/構件簡單替換上文描述的多分支結構神經網路的層(layer)。理想情況下,元架構作為NAS的一部分應該被自動優化;否則,如果元架構已經解決了大部分複雜性,那麼很容易就會進行元架構工程,並且對細胞單元的搜尋變得過於簡單。

4.分層搜尋空間

元架構優化方向之一是由Liu (2018b)等人引入的分層搜尋空間,由幾個層次的構建組成。第一層包含一組原始操作(primitive operation),第二層通過有向無環圖方式連線原始操作,組成不同的構件,第三層負責編碼第二層的構件如何連線,等等。基於單元的搜尋空間可以被視為分層搜尋空間的特殊情況,其中層次的數量是三個,第二層連線成的構件對應於細胞單元,第三層是硬編碼的元架構。

搜尋空間的選擇在很大程度上決定了優化問題的難度:即使對於基於具有固定元架構的單個細胞單元/構件的搜尋空間的情況,優化問題仍然是(i)不連續的和(ii)相對較高的維度(因為更復雜的模型往往表現更好,導致更多的設計選擇)。

許多搜尋空間中的網路結構可以寫成固定長度的向量,例如,在Zoph等(2018)的研究中,兩個細胞單元中的每一個的搜尋空間可以被編寫為具有類別維度的40維搜尋空間,每個搜尋空間在少量不同的構建塊和輸入之間進行選擇。類似地,無界搜尋空間可以被約束為具有最大深度、從而產生具有(可能很多)條件維度的固定大小的搜尋空間。

三、搜尋策略

搜尋策略定義瞭如何探索搜尋空間,使用怎樣的演算法可以快速、準確找到最優的網路結構引數配置。它包含了經典的探索 - 利用權衡(exploration-exploitationtrade-off)。因為一方面,需要快速找到效能良好的神經網路結構,另一方面,應避免過早收斂到次優結構區域。

常見的搜尋方法包括:Grid search(網格搜尋)、Random search(隨機搜尋)、Genetic algorithm(遺傳演算法)、evolutionary method(進化方法)、Paticle Swarm Optimization(粒子群優化)、Bayesian Optimization(貝葉斯優化)、TPE、SMAC、基於梯度的方法、強化學習、遷移學習等。

從歷史上看,許多研究人員已經在幾十年前使用進化演算法設計、學習神經網路架構(通常還包括權重引數) ,例如:Angeline et al., 1994; Stanley and Miikkulainen, 2002; Floreano etal., 2008; Stanley et al., 2009。Yao (1999) 對2000年前的研究工作做了一個文獻綜述。

自2013年以來,貝葉斯優化在NAS中取得了一些早期成功,例如,Bergstra et al., (2013)針對計算機視覺的神經網路結構取得了state-of-the-art的效果;Domhan et al., (2015)在CIFAR-10資料集上不進行資料增強也取得了state-of-the-art的效果;第一個自動調優的神經網路在競賽資料集上戰勝了人類專家(Mendoza et al., 2016)。2017年,當Zophand Le (2017)基於強化學習的搜尋策略在CIFAR-10和PennTreebank基準上取得了有競爭力的效能表現後,NAS成為了機器學習社群主流的研究課題。由於Zoph and Le (2017)使用了巨大的計算資源(800GPU,3~4周)以獲得他們的研究結果,此後多種方法被提出,以降低計算資源開銷,並進一步提升效能表現。

可以將 NAS定義為一個強化學習(reinforcement learning, RL)問題。神經網路架構的生成被看成是一個 agent 在選擇 action,動作空間即神經網路架構的搜尋空間。agent的reward通過訓練的神經網路架構在一個測試集上的效果來估計。不同的RL的不同之處在於如何表示agent的策略(policy)以及如何優化它們。

Zoph and Le (2017)使用RNN來表示策略函式,從一個string中連續取樣,返回神經網路結構的編碼,然後用REINFORCE策略梯度演算法來訓練這個網路。在接下來的研究者,Zoph and Le (2018)使用了Proximal PolicyOptimization (PPO)來代替。Baker et al., (2017a)用簡單的 Q-learning 演算法來訓練策略函式,序列地進行動作選擇,即選擇 layer 的型別和相關的超引數。

這些方法的另一種理解視角是將其看作一個序列決策過程,策略函式從動作空間中取樣以序列地生成網路結構,環境的狀態(state)包含到目前為止取樣的動作的彙總,(未打折的)獎勵僅在最後一個動作後獲得。但是,由於在此順序過程中沒有發生與環境的互動(沒有觀察到外部狀態,也沒有中間獎勵)可以更直觀地將網路結構取樣過程解釋為單個動作的序列生成過程。這將RL問題簡化為一個無狀態的多臂老虎機(MAB)問題。

Cai et al., (2018a)將NAS定義為一個序列決策過程:狀態是當前(部分訓練的)網路結構,獎勵是該網路結構的效能估計,動作對應於功能保留突變(function-preserving mutations,網路多型)的應用,接著是網路訓練階段。為了處理變長網路結構,他們使用一個雙向LSTM來將網路結構編碼為一個固定長度的表徵。基於這個編碼的表徵,動作網路(actor network)決定了取樣的動作。這兩個元件組成了策略函式,通過REINFORCE策略梯度演算法進行端到端的訓練。該方法不會兩次訪問相同的狀態(網路結構),因此要求策略函式在網路結構空間中具有強的泛化能力。

使用RL的替代方案是使用進化演算法來優化神經結構的神經進化方法。第一次使用該方法來設計神經網路的方法可以追溯到近三十年:Miller等(1989)使用遺傳演算法提出網路架構並使用反向傳播來優化其權重。自那時起,許多神經進化方法(Angeline等,1994; Stanley和Miikkulainen,2002; Stanley等,2009)使用遺傳演算法來優化神經結構及其權重;然而,當擴充套件到具有數百萬權重的當代神經架構用於監督學習任務時,基於SGD的權重優化方法目前優於進化的方法。

因此,在更近期的神經進化方法(Real et al., 2017; Suganuma et al., 2017; Liuet al., 2018b; Real et al., 2018; Miikkulainen et al., 2017; Xie and Yuille,2017; Elsken et al., 2018) 中,再次使用基於梯度的方法來優化權重,並且僅使用進化演算法來優化神經結構本身。進化演算法演化了一個模型種群(population),即一組(可能是訓練過的)網路;在每個進化步驟中,至少從種群取樣一個模型進行取樣,並用作通過對其應用突變來生成後代的父母。在NAS中,突變是區域性操作,例如新增或移除層,改變層的超引數,新增跳躍連線(skip connections),以及改變訓練超引數。在對後代進行訓練之後,評估它們的適應性(例如,在驗證集上的表現)並將它們新增到種群中。

不同神經進化方法的差異在於如何sample parent、更新種群、產生後代。例如,Real等 (2017),Real等(2018年),劉等 (2018b)使用錦標賽選擇(Goldberg和Deb,1991)來sample parent,而Elsken等 (2018)使用反密度從多目標帕累託峰(multi-objective Pareto front)sample parent。Real等(2017)從種群中刪除最壞的個體,而Real等 (2018)發現去除最老的個體(減少貪婪)是有益的。Liu等(2018b)根本不刪除個體。為了生成後代,大多數方法隨機初始化子網路,而Elsken等(2018)採用拉馬克式的繼承(Lamarckian inheritance),即知識(以學習到的權重的形式)通過使用網路多型從parent網路傳遞給其後代。Real等(2017)也讓後代繼承其parent的所有引數,不受突變影響;雖然這種繼承不是嚴格保持功能(function-preserving),但與隨機初始化相比,它也可能加速學習。此外,它們還允許改變學習速率,這可以被視為在NAS期間優化學習速率排程的一種方式。

Real et al., (2018)對基於RL的方法、基於進化的方法和基於隨機搜尋的方法進行比較,結果表明:就最終的測試準確率而言,RL和進化演算法效能表現一致,進化演算法具有更好的執行時效能並發現的模型更小。兩種演算法的效能表現均優於基於隨機搜尋的方法,但相差幅度較小:隨機搜尋在CIFAR-10上的測試誤差約為4%,RL和進化演算法約為3.5%(在增加filter的深度和數量,進行資料增強後,在實際非爭強搜尋空間上的差異約為2%)。Liu et al., (2018b)發現,隨機搜尋方法在CIFAR-10桑的測試誤差為3.9%,在ImageNet資料集上的top-1驗證誤差為21.0%,而基於進化的方法的誤差分別為3.75和20.3%,兩者差異更小。

貝葉斯優化(BayesianOptimization, BO, 參見Shahriari et al ., 2016)是用於超引數優化的最流行的方法之一,但由於典型的BO工具箱基於高斯分佈,聚焦於低維連續空間的優化問題,因此它尚未被許多研究團隊應用於NAS。處理並關注低維持續優化問題。Swersky等(2013)和Kandasamy等(2018)為架構搜尋空間推匯出了核函式以便使用經典的基高斯過程的BO方法,但到目前為止還沒有實現新的state-of-the-art的效能。

相比之下,一些研究使用基於樹的模型(特別是treed Parzen估計器(Bergstra等,2011),或隨機森林(Hutter等,2011))以期有效地搜尋非常高維的條件空間並在大範圍問題上實現state-of-the-art的表現,共同優化神經架構及其超引數(Bergstra等,2013; Domhan等,2015; Mendoza等,2016; Zela等,2018) )。雖然缺乏完整的比較,但初步證據表明這些方法也可以勝過進化演算法(Klein et al., 2018)。

架構搜尋空間也以分層方式進行了探索,例如,結合進化演算法(Liu等,2018b)或通過序列的基於模型的優化(Liu等,2018a)。Negrinho和Gordon(2017)和Wistuba(2017)利用其搜尋空間的樹結構並使用蒙特卡羅樹搜尋。Elsken等 (2017)提出了一種簡單但效能良好的爬山演算法(hill climbing algorithm),通過貪婪地向更好的架構方向移動而不需要更復雜的探索機制來發現高質量的網路架構。

與上述無梯度優化的方法相比,Liu等(2018c)提出:對搜尋空間的連續鬆弛以實現基於梯度的優化:從一個運算集合中計算一個凸組合,而不是在某一特定層執行一個固定的但一個運算(卷積或池化)。更具體地,給定一個層的輸入x,該層的輸出y被計算為,其中凸係數λi有效地引數化網路架構。Liu等 (2018c)通過對改變用於權重引數的訓練資料集和用於諸如λ的架構引數的驗證資料集上的梯度下降步驟對網路權重引數和網路架構同時進行了優化。最終,通過為每個層選擇運算i( )來獲得離散的網路架構。Shin等(2018)和Ahmed和Torresani(2018)也採用基於梯度的神經架構優化,但是他們只考慮分別優化層超引數或連線模式。

四、效能評估策略

上面討論的搜尋策略的目標通常是為了找到能夠在待預測的新資料上實現高預測效能的神經網路結構。為了指導搜尋策略,這些策略需要評估某一給定神經網路結構的效能表現。效能評估最簡單的選擇是在資料集上進行標準的模型訓練和模型驗證,但計算成本很高(數千個GPU days),並且限制了可以探索的網路結構的數量。因此,最近的許多研究都集中在開發降低這些效能估計成本的方法上。

為了降低計算壓力,可以對完全訓練之後模型實際效能採用低保真策略來估計其效能(也表示為代理度量)。低保真策略包括較短的訓練時間(Zoph et al., 2018; Zela et al.,2018),在訓練資料的子集上訓練 (Klein et al., 2017b),在低解析度影象上訓練(Chrabaszcz et al., 2017),或每層使用較少的過濾器 (Zoph et al., 2018; Real et al.,2018)。雖然這些低保真近似值降低了計算成本,但它們也會在估計中引入偏差,因為效能通常會被低估。只要搜尋策略僅依賴於對不同架構的排序並且相對排序保持穩定,這可能不成問題。然而,最近的研究結果表明,當近似與“完全”評估之間的差異過大時,這種相對排名可能發生巨大變化(Zela et al., 2018),關於保真度的爭論逐漸增加(Li et al., 2017; Falkner et al.,2018)。

評估網路架構效能的另一種可能方式建立在學習曲線外推的基礎上 (Swersky et al., 2014; Domhan et al., 2015; Klein et al., 2017a;Baker et al., 2017b; Rawal and Miikkulainen, 2018)。Domhan etal. (2015) 建議外推初始學習曲線並終止預測表現不佳的曲線以加速架構搜尋過程。Swersky et al. (2014); Klein et al. (2017a); Baker et al. (2017b); Rawal and Miikkulainen(2018)也考慮架構超引數來預測哪些部分學習曲線最有希望。Liu et al. (2018a)還提出了訓練用於預測新架構效能的代理模型。

他們不採用學習曲線推斷,而是支援基於架構/單元屬性的預測效能,並推斷出比訓練期間看到的更大尺寸的架構/單元。預測神經架構效能的主要挑戰在於,為了加快搜索過程,需要在相對較少評估的基礎上在相對較大的搜尋空間中進行良好的預測。

加速效能估計的另一種方法是基於之前已經訓練過的其他架構的權重來初始化新架構的權重。實現這一目標的一種方法,稱為網路多型(Wei et al., 2016),允許修改架構,同時保持網路所代表的功能不變(Cai et al ., 2018a,b; Elsken et al., 2017; Elsken etal., 2018)。這樣可以連續增加網路容量並保持高效能,而無需從頭開始進行培訓。持續訓練幾個epoch,也可以利用網路態射引入的額外容量。這些方法的一個優點是它們允許沒有結構大小固有上限的搜尋空間(Elsken et al., 2017);另一方面,嚴格的網路態射只能使架構更大,從而可能導致過於複雜的架構。這可以通過採用允許縮小架構的近似網路態射來衰減(Elsken et al., 2018)。

One-Shot結構搜尋是另一種很有前途的方法, 可以加快效能評估, 它將所有網路結構視為一個超圖的子圖 (one-shot model), 並允許在超圖上具有公共邊的網路結構之間共享權重 (Saxena 和 Verbeek, 2016;Blrock et al., 2017;Pham et al., 2018;Liu et al.,2018c;Bender et al., 2018)。只有one-shot模型的權重需要訓練 (以各種方式), 然後可以通過從one-shot模型中繼承訓練的權重來評估網路結構 (這些模型只是one-shot模型的子圖), 而無需進行任何單獨的訓練。這大大加快了架構的效能估計, 因為不需要任何培訓 (只評估在驗證資料上的效能)。

這種方法通常會產生很大的偏差, 因為它嚴重低估了網路結構的實際效能;然而, 它的架構排序可靠, 因為估計的效能與實際效能強相關 (Bender et al., 2018年)。不同的one-shot NAS方法的差異在於one-shot 模型的訓練方式不同: ENAS (Pham et al., 2018) 學習了一個 RNN 控制器, 該控制器從搜尋空間中取樣架構, 並根據通過 REFORCE 獲得的近似梯度訓練one-shot模型。DARTS (Liu et al., 2018c) 通過在one-shot模型的每個邊緣放置候選操作的組合, 將搜尋空間的one-sjhot模型的所有權重與連續鬆弛一起優化。Bender et al., (2018) 只訓練過一次one-shot模型, 表明在使用路徑丟失(path dropout)的訓練過程中隨機停用該模型的部分時, 這是很可靠的。

雖然 ENAS 和 DARTS 在訓練期間優化了網路結構的分佈, 但 Bender 等人 (2018) 的方法可以看作是使用了固定的分佈。Bender 等人 (2018) 的方法所獲得的高效能表明, 權重共享和(精心選擇的)固定分佈相結合可能 (也許令人驚訝的) 是one-shot NAS 唯一需要的成分。與這些方法相關的是超網路的元學習, 它為新的體系結構產生權重, 因此只需要訓練超網路, 而不需要訓練架構本身 (Blrock et al., 2017)。這裡的主要原因是權重不是嚴格共享的, 而是由共享超網路 (以取樣的網路結構為條件) 生成的。

one-shot NAS 的一般限制是,先驗定義的超圖將搜尋空間限制為子圖。此外,這些方法要求,在網路結構搜尋過程中,supergraph 需駐留在 GPU 記憶體中,因此將被限制在相對較小的超圖和搜尋空間中,因此這些方法通常與基於細胞單元的搜尋空間結合使用。

雖然基於權重共享的方法大大減少了 NAS 所需的計算資源 (從數千個GPU天減少到幾個 GPU 天),但目前還不能很好地理解它們在搜尋中引入的偏差, 如果取樣的架構分佈與one-shot模型一起進行了優化。例如, 在比其他部分更多地探索搜尋空間的某些部分時的最初的偏差可能會導致one-shot模型的權重更好地適應這些架構, 進而強化對搜尋空間這些部分的搜尋的搜尋偏差。這可能導致 NAS 過早收斂, 並可能是 Bender 等人 (2018) 使用的固定取樣分佈的一個優勢。對不同效能評估策略引入的偏差進行一個更加系統的分析可能是今後工作的理想方向。

五、未來研究方向

在本節中,我們將討論有關NAS研究的若干當前和未來的研究方向。大多數現有工作都集中在用於影象分類的NAS上。一方面,這提供了一個具有挑戰性的基準,因為該領域有許多人工專門的表現良好且不易被NAS超越的架構。另一方面,利用來自於人工網路結構設計的知識來定義一個非常適合的搜尋空間相對容易。這反過來使NAS不太可能找到明顯優於現有架構的架構,因為自動搜到的網路結構沒有產生本質的差異。

因此,我們認為通過將NAS應用於超越影象分類問題且探索較少的領域非常重要。這方面值得注意的創新研究是將NAS應用於語言建模(Zoph and Le,2017)、音樂建模(Rawal and Miikkulainen,2018)、影象恢復(Suganuma et al., 2018)和網路壓縮(Ashok et al., 2018),將NAS應用於強化學習、生成對抗網路、語義分割或感測器融合可能是未來的進一步發展方向。

另一研究方向是研發適用於多工問題(multi-task problems)和多目標問題(multi-objective problems)的NAS方法,這些方法將資源利用效率度量指標與搜到到的架構在測試資料上的預測效能評估指標一起作為學習目標。類似的,擴充套件第3節討論的強化學習/老虎機等方法,用於編碼了任務屬性/資源要求的狀態條件下的策略學習可能是比較有趣的一個方向。遵循類似的方向,Ramachandranand Le (2018) 擴充套件了one-shot NAS方法以根據任務或實力動態生成不同的網路結構。另外,將NAS應用於搜尋在對抗樣本 (Cubuk et al., 2017)上表現強勁的網路結構是近期一個有趣的方向。

與此相關的是關於定義更通用和靈活的搜尋空間的研究。例如,雖然基於細胞單元/構件的搜尋空間在不同的影象分類任務之間具有高可遷移性,但它主要基於人類對影象分類的經驗,並且不容易推廣到硬編碼層次結構(即在鏈式結構中多次重複相同的細胞單元)不適用的其他領域(例如,語義分割或物體檢測)。因此,允許表示和識別更一般的層次結構的搜尋空間將使NAS更廣泛地適用,參見Liu et al.,(2018b)在這方面的首創工作。此外,常見的搜尋空間也基於預定義的構件,例如不同型別的卷積和池化層,但不允許在此範圍內識別新的構件; 超越此限制可能會大大增加NAS的作用。

由於架構效能的度量取決於架構本身以外的許多因素,因此NAS的不同方法的比較變得複雜。雖然大多數作者報告了在CIFAR-10資料集的結果,但實驗往往在搜尋空間、計算資源預算、資料增強、訓練過程、正規化和其他因素方面存在差異。例如,當使用餘弦退火學習速率調整(Loshchilov and Hutter, 2017)、通過CutOut(Devries and Taylor, 2017)、MixUp(Zhang et al., 2017)或通過多種因素的組合(Cubuk et al., 2018)進行資料增強、Shake-Shake正則化(Gastaldi,2017)或預定的下降路徑(Zoph et al., 2018)等措施時,NAS在CIFAR-10的效能表現有顯著提升。

因此可以想象,與NAS發現的更好的架構相比,這些成分的改進對報告的效能評估指標的提升影響更大。因此,我們認為,共同基準的定義對於公平比較不同的NAS方法至關重要。這個方向的第一項研究時為一個具有兩個隱藏層的完全連線的神經網路定義了結合網路結構和超引數搜尋的基準(Klein et al., 2018)。在此基準測試中,需要對控制架構和優化/正則化過程的9個離散超引數進行優化。已經預先評估了所有可能的超引數組合,使得可以用較低計算資源將不同的方法進行比較。但是,與大多數NAS方法所採用的空間相比,搜尋空間仍然非常簡單。

將NAS方法作為完整的開源AutoML系統的一部分而不是孤立環境中進行評估也是有趣的,其中還包括與NAS一起進行了優化的超引數(Mendoza et al., 2016; Real et al., 2017; Zela et al., 2018)和資料增強管道(Cubuk et al., 2018)。

雖然NAS已經取得了令人印象深刻的效能表現,但到目前為止,它對於為什麼特定架構能夠很好地工作以及在獨立執行中獲得的網路架構有多麼相似幾乎沒有提供任何見解。確定共同的構件,理解為什麼這些構件對於高效能網路結構是重要的並研究這些構件在不同問題上是否通用是值得研究的方向。


翻譯者:京東數科 黃綠君
文章來源:“京東數科技術說”微信公眾號
原文連結: https://mp.weixin.qq.com/s/qX4X1XU1yZtecGWARgIziw.
更多技術乾貨歡迎關注“京東數科技術說”微信公眾號,我們只憑技術說話!