《電子技術(shù)應用》
您所在的位置:首頁 > 可編程邏輯 > 業(yè)界動態(tài) > 雞生蛋與蛋生雞,縱覽神經(jīng)架構(gòu)搜索方法

雞生蛋與蛋生雞,,縱覽神經(jīng)架構(gòu)搜索方法

2018-08-20

從谷歌漸進式的架構(gòu)搜索到 CMU 的可微架構(gòu)搜索,,利用神經(jīng)網(wǎng)絡自動搭建不同的神經(jīng)網(wǎng)絡架構(gòu)已經(jīng)受到廣泛的關(guān)注。最近弗萊堡大學的研究者發(fā)表了一篇論文縱覽不同的神經(jīng)架構(gòu)搜索方法,,他們從神經(jīng)網(wǎng)絡的搜索空間,、搜索策略以及性能評估策略等三個方向探討了不同的思路與方法。


深度學習在感知任務中取得的成功主要歸功于其特征工程過程自動化:分層特征提取器是以端到端的形式從數(shù)據(jù)中學習,,而不是手工設計,。然而,,伴隨這一成功而來的是對架構(gòu)工程日益增長的需求,越來越多的復雜神經(jīng)架構(gòu)是由手工設計的,。神經(jīng)架構(gòu)搜索(NAS)是一個自動架構(gòu)工程過程,,因此成為自動化機器學習的合理發(fā)展方向。NAS 可以看做 AutoML 的子領(lǐng)域,,與超參數(shù)優(yōu)化和元學習有諸多交叉之處,。我們根據(jù)三個維度對 NAS 方法進行分類:搜索空間、搜索策略及性能評估策略:


搜索空間,。搜索空間定義了原則上可以表征的架構(gòu),。結(jié)合有關(guān)任務屬性的先驗知識,可以減少搜索空間的大小并簡化搜索,。然而,,這樣做會引入人類偏見,進而阻礙找到超出人類現(xiàn)有知識的新型架構(gòu)建筑塊,。

搜索策略,。搜索策略詳細說明了如何探索搜索空間。它包含了經(jīng)典的「探索-利用」權(quán)衡,;一方面,,我們需要快速找到性能良好的架構(gòu),另一方面,,我們應該避免過早收斂到次優(yōu)架構(gòu)區(qū)域,。

性能評估策略。NAS 的目標是找到對未知數(shù)據(jù)實現(xiàn)高預測性能的架構(gòu),。性能評估指的是評估這類性能的過程:最簡單的選項是對數(shù)據(jù)執(zhí)行標準架構(gòu)訓練和驗證,,但是這樣做計算成本昂貴,而且限制了可以探索的架構(gòu)數(shù)量,。因此,,近期的研究多集中于開發(fā)降低這些性能評估成本的方法上。


上面三個方向可以參考圖 1 進行說明,,本文也是根據(jù)這三個維度構(gòu)建的,。

微信圖片_20180820142751.jpg

圖 1:神經(jīng)架構(gòu)搜索方法圖解。搜索策略從一個預定義的搜索空間中選擇架構(gòu) A,。該架構(gòu)被傳遞到一個性能評估策略,,接下來該策略將 A 的評估性能返回給搜索策略。


論文:Neural Architecture Search: A Survey

微信圖片_20180820142822.jpg


論文地址:https://arxiv.org/abs/1808.05377v1


摘要:在過去幾年中,,深度學習在很多方面都取得了顯著進步,,比如圖像識別、語音識別、機器翻譯等,。取得這一進展的一個關(guān)鍵因素是新型神經(jīng)架構(gòu)。目前使用的架構(gòu)大部分都是由專家手動開發(fā)的,,而這個過程非常耗時且易出錯,。正因如此,人們對于自動神經(jīng)架構(gòu)搜索的方法越來越感興趣,。我們對這一研究領(lǐng)域的現(xiàn)有工作進行了概述,,并按照搜索空間、搜索策略和性能評估策略三個維度對其進行了分類,。


2 搜索空間


搜索空間定義了 NAS 方法在原則上可能發(fā)現(xiàn)的神經(jīng)架構(gòu),。我們現(xiàn)在討論最近的研究成果中常見的搜索空間。


鏈式結(jié)構(gòu)神經(jīng)網(wǎng)絡空間是一個相對簡單的搜索空間,,如圖 2(左)所示,。鏈式結(jié)構(gòu)神經(jīng)網(wǎng)絡架構(gòu) A 可以寫成一個 n 層序列,其中第 i 層接收第 i-1 層的輸出作為輸入,,而第 i 層的輸出則作為第 i + 1 層的輸入,,即 A = Ln ? . . . L1 ?L0。然后將搜索空間參數(shù)化為:(i)最大層數(shù) n 可能是無界的,;(ii)每一層都可以執(zhí)行的操作類型,,如池化層、卷積層,,或更高級的層類型,,如深度可分離卷積層(Chollet, 2016)或擴張卷積層(Yu and Koltun, 2016);(iii)與操作相關(guān)的超參數(shù),,如卷積層的濾波器數(shù),、核大小和步長,或者全連接網(wǎng)絡(Mendoza et al, 2016)的單元數(shù),。要注意(iii)中的參數(shù)要以 (ii) 為條件,,因此搜索空間的參數(shù)化長度不是固定的,而是一個條件空間,。

微信圖片_20180820142852.jpg

圖 2:不同架構(gòu)空間示意圖,。圖中每個節(jié)點與神經(jīng)網(wǎng)絡中的一個層對應,例如卷積層或池化層,。不同類型的層由不同的顏色顯示,。從 L_i 到 L_j 的邊緣表示 L_i 接收 L_j 的輸出作為輸入。圖左:鏈式結(jié)構(gòu)空間的元素,。圖右:具有額外的層類型,、多個分支和跳躍式連接的復雜搜索空間的元素。


近期關(guān)于 NAS 的研究(Brock et al, 2017; Elsken et al, 2017; Zoph et al, 2018; Elsken et al, 2018; Real et al, 2018; Cai et al, 2018b),結(jié)合了手工構(gòu)建架構(gòu)中已知的現(xiàn)代設計元素,,例如跳躍式連接,,它允許構(gòu)建具有多分支的復雜網(wǎng)絡,如圖 2 所示(右),。


受到手動使用不同基元構(gòu)建神經(jīng)網(wǎng)絡架構(gòu)的激勵(Szegedy et al, 2016; He et al, 2016; Huang et al, 2017),,Zoph 等人(2018)提議搜索這種基元(將其稱為單元),而不是整個架構(gòu),。他們優(yōu)化了兩種不同的單元:一種保留輸入維度的常規(guī)單元,,另一種是縮小空間維度的縮減單元。如圖 3 所示,,最終的架構(gòu)是通過以預定義的方式堆疊這些單元來構(gòu)建的,。

微信圖片_20180820142918.jpg

圖 3:單元搜索空間圖解。左圖:兩個不同的單元:常規(guī)單元(上)和縮減單元(下)(Zoph et al, 2018),。右圖:按順序堆疊單元構(gòu)建的架構(gòu),。注意:單元也可以以更復雜的方式組合,例如在多分支空間中,,簡單地用單元替換層,。


與上面討論的空間相比,這一搜索空間有兩大優(yōu)勢:


搜索空間大幅減小,,因為單元可能相對較小,。例如,Zoph 等人(2018)估計,,與之前的成果(Zoph and Le, 2017)相比,,這一搜索空間的速度提高了 7 倍,而且性能更好,。


通過調(diào)整模型中使用的單元數(shù)量,,可以更容易地將單元轉(zhuǎn)移到其他數(shù)據(jù)集。Zoph 等人(2018)將 CIFAR-10 上優(yōu)化后的單元轉(zhuǎn)移到了 ImageNet 數(shù)據(jù)集并實現(xiàn)了當前最佳性能,。


3 搜索策略


許多不同的搜索策略可以用來探索神經(jīng)架構(gòu)空間,,包括隨機搜索、貝葉斯優(yōu)化,、進化算法,、強化學習(RL)和基于梯度的方法。從歷史上看,,進化算法在幾十年前就已經(jīng)被許多研究人員用來演化神經(jīng)結(jié)構(gòu)(以及它們的權(quán)重),。


為了將 NAS 構(gòu)造為強化學習問題(Baker et al, 2017a; Zoph and Le, 2017; Zhong et al, 2018; Zoph et al, 2018),神經(jīng)架構(gòu)的生成可以視為智能體選擇的動作,,動作空間和搜索空間相同,。智能體獲得的獎勵基于已訓練架構(gòu)在不可見數(shù)據(jù)上的性能評估,。不同的 RL 方法在表示智能體的策略和如何優(yōu)化它們存在差異:Zoph 和 Le(2017)使用循環(huán)神經(jīng)網(wǎng)絡(RNN)策略對一個字符串進行序列采樣,該字符串反過來對神經(jīng)架構(gòu)進行編碼,。Baker 等人利用 Q-learning 訓練策略,,該策略依次選擇層的類型和對應的超參數(shù)。


 Cai 等人提出了一個相關(guān)方法,,將 NAS 構(gòu)建為序列決策過程:在他們的方法中,,狀態(tài)是當前(部分訓練的)架構(gòu)、獎勵是對架構(gòu)性能的估計,,并且該動作對應于遺傳算法中應用的 function-preserving 突變,也稱為網(wǎng)絡態(tài)射,。


使用 RL 的另一種代替方法是優(yōu)化神經(jīng)架構(gòu)的進化算法,。早期的神經(jīng)進化算法使用遺傳算法來優(yōu)化神經(jīng)架構(gòu)及其權(quán)重;然而,,當擴展到具有數(shù)百萬個權(quán)重的現(xiàn)代神經(jīng)架構(gòu)時,,它就回天乏術(shù)了。


更新的神經(jīng)進化算法(Real et al, 2017; Suganuma et al, 2017; Liu et al, 2018a; Real et al, 2018; Miikkulainen et al, 2017; Xie and Yuille, 2017; Elsken et al, 2018)使用基于梯度的方法來優(yōu)化權(quán)重,,而進化算法僅用于優(yōu)化神經(jīng)結(jié)構(gòu)本身,。


Real 等人(2018)在一項用例研究中對比了強化學習、進化和隨機搜索,,得出的結(jié)論是:強化學習和進化在最終測試準確度方面表現(xiàn)相當,,進化的隨時性能更好,并找到了更精簡的模型,。


貝葉斯優(yōu)化(BO)是超參數(shù)優(yōu)化中最流行的方法之一,,但還沒有被許多團體應用到 NAS 中,因為典型的 BO 工具箱基于高斯過程并關(guān)注低維連續(xù)優(yōu)化問題,。架構(gòu)搜索空間也以分層的方式被搜索,,如與進化一起(Liu et al, 2018a)或通過基于序列模型的優(yōu)化(Liu et al, 2017)。


與上述無梯度優(yōu)化方法相比,,Liu 等人(2018b)提出用搜索空間的連續(xù)松弛方法來實現(xiàn)基于梯度的優(yōu)化:研究者從一系列運算 {O_1, . . . , O_m} 中計算凸組合,,而不是固定要在特定層執(zhí)行的單個運算 O_i(如卷積或池化)。


4 性能評估策略


前一章節(jié)討論了搜索策略,,即希望機器能自動搜索到一個神經(jīng)網(wǎng)絡架構(gòu) A,,并能最大化它在某些性能度量上的表現(xiàn),這些度量可能是在未知數(shù)據(jù)上的準確率等,。為了引導神經(jīng)架構(gòu)的搜索過程,,這些策略需要評估當前搜索到架構(gòu) A 的性能。最簡單的方式即在訓練集中訓練搜索到的架構(gòu) A,,并在驗證數(shù)據(jù)中評估它的性能,。然而,,從頭訓練這樣的一個架構(gòu)經(jīng)常導致 NAS 算法需要數(shù)千 GPU 和數(shù)天的時間,這種計算力的需求太大(Zoph and Le, 2017; Real et al, 2017; Zoph et al, 2018; Real et al, 2018),。


為了降低計算力負擔,,我們完全可以基于完整訓練后實際性能的低保真度度量來評估性能,這也可以稱為代理度量,。這種低保真度包括更短的訓練時間((Zoph et al, 2018; Zela et al, 2018),、在子數(shù)據(jù)集上訓練(Klein et al, 2017a)、在低分辨率圖像上訓練(Chrabaszcz et al, 2017),、或者在每一層使用較少卷積核的網(wǎng)絡上訓練(Zoph et al, 2018; Real et al, 2018)等,。雖然這些低保真度的近似方法降低了計算成本,但它們同樣在估計中也引入了偏差,,這樣性能通常會被低估,。不過只要搜索策略僅依賴于排序不同的架構(gòu),那么相對排序仍然是穩(wěn)定的,,這也就不是什么問題,。然而,最近的研究表明,,當簡單的近似和完整評估之間的差異太大,,相對排序的變化可能會非常大(Zela et al, 2018),我們需要逐漸增加保真度(Li et al, 2017; Falkner et al, 2018),。


5 未來方向


在這一節(jié),,我們將討論幾個 NAS 當前和未來的研究方向。大多數(shù)已有的研究聚焦于圖像分類的 NAS,。因此我們認為擴展到圖像分類之外,,將 NAS 應用到更少被探索的領(lǐng)域非常重要。值得注意的是,,在這一方向走出的第一步是將 NAS 應用到語言建模(Zoph and Le, 2017),、音樂建模(Rawal and Miikkulainen, 2018)和生成模型(Suganuma et al, 2018);強化學習,、生成對抗網(wǎng)絡或傳感融合上的應用可能是未來有潛力的方向,。


另一個方向是為多任務問題(Liang et al, 2018; Meyerson and Miikkulainen, 2018)和多目標問題(Elsken et al, 2018; Dong et al, 2018; Zhou et al, 2018)開發(fā) NAS 方法,其中資源有效性的度量與對未見過數(shù)據(jù)的預測性能一起被用作目標函數(shù),。


盡管 NAS 的性能非常驚艷,,但它無法解釋為什么特定架構(gòu)表現(xiàn)良好,也無法說明獨立運行的架構(gòu)將會有多么相似,。識別常見的特性,,更好地理解這些對性能有顯著影響的機制,并探索這些特性是否能泛化到不同的問題也是未來重要的研究方向,。


本站內(nèi)容除特別聲明的原創(chuàng)文章之外,,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章,、圖片,、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認版權(quán)者,。如涉及作品內(nèi)容,、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,,以便迅速采取適當措施,,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118,;郵箱:[email protected],。