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

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

2018-08-20

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


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


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

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

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


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

微信圖片_20180820142751.jpg

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


論文:Neural Architecture Search: A Survey

微信圖片_20180820142822.jpg


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


摘要:在過去幾年中,深度學(xué)習(xí)在很多方面都取得了顯著進步,比如圖像識別、語音識別、機器翻譯等。取得這一進展的一個關(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)絡(luò)空間是一個相對簡單的搜索空間,如圖 2(左)所示。鏈式結(jié)構(gòu)神經(jīng)網(wǎng)絡(luò)架構(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)絡(luò)(Mendoza et al, 2016)的單元數(shù)。要注意(iii)中的參數(shù)要以 (ii) 為條件,因此搜索空間的參數(shù)化長度不是固定的,而是一個條件空間。

微信圖片_20180820142852.jpg

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


近期關(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)代設(shè)計元素,例如跳躍式連接,它允許構(gòu)建具有多分支的復(fù)雜網(wǎng)絡(luò),如圖 2 所示(右)。


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

微信圖片_20180820142918.jpg

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


與上面討論的空間相比,這一搜索空間有兩大優(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)化、進化算法、強化學(xué)習(xí)(RL)和基于梯度的方法。從歷史上看,進化算法在幾十年前就已經(jīng)被許多研究人員用來演化神經(jīng)結(jié)構(gòu)(以及它們的權(quán)重)。


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


 Cai 等人提出了一個相關(guān)方法,將 NAS 構(gòu)建為序列決策過程:在他們的方法中,狀態(tài)是當前(部分訓(xùn)練的)架構(gòu)、獎勵是對架構(gòu)性能的估計,并且該動作對應(yīng)于遺傳算法中應(yīng)用的 function-preserving 突變,也稱為網(wǎng)絡(luò)態(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)在一項用例研究中對比了強化學(xué)習(xí)、進化和隨機搜索,得出的結(jié)論是:強化學(xué)習(xí)和進化在最終測試準確度方面表現(xiàn)相當,進化的隨時性能更好,并找到了更精簡的模型。


貝葉斯優(yōu)化(BO)是超參數(shù)優(yōu)化中最流行的方法之一,但還沒有被許多團體應(yīng)用到 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)絡(luò)架構(gòu) A,并能最大化它在某些性能度量上的表現(xiàn),這些度量可能是在未知數(shù)據(jù)上的準確率等。為了引導(dǎo)神經(jīng)架構(gòu)的搜索過程,這些策略需要評估當前搜索到架構(gòu) A 的性能。最簡單的方式即在訓(xùn)練集中訓(xùn)練搜索到的架構(gòu) A,并在驗證數(shù)據(jù)中評估它的性能。然而,從頭訓(xùn)練這樣的一個架構(gòu)經(jīng)常導(dǎo)致 NAS 算法需要數(shù)千 GPU 和數(shù)天的時間,這種計算力的需求太大(Zoph and Le, 2017; Real et al, 2017; Zoph et al, 2018; Real et al, 2018)。


為了降低計算力負擔(dān),我們完全可以基于完整訓(xùn)練后實際性能的低保真度度量來評估性能,這也可以稱為代理度量。這種低保真度包括更短的訓(xùn)練時間((Zoph et al, 2018; Zela et al, 2018)、在子數(shù)據(jù)集上訓(xùn)練(Klein et al, 2017a)、在低分辨率圖像上訓(xùn)練(Chrabaszcz et al, 2017)、或者在每一層使用較少卷積核的網(wǎng)絡(luò)上訓(xùn)練(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 應(yīng)用到更少被探索的領(lǐng)域非常重要。值得注意的是,在這一方向走出的第一步是將 NAS 應(yīng)用到語言建模(Zoph and Le, 2017)、音樂建模(Rawal and Miikkulainen, 2018)和生成模型(Suganuma et al, 2018);強化學(xué)習(xí)、生成對抗網(wǎng)絡(luò)或傳感融合上的應(yīng)用可能是未來有潛力的方向。


另一個方向是為多任務(wù)問題(Liang et al, 2018; Meyerson and Miikkulainen, 2018)和多目標問題(Elsken et al, 2018; Dong et al, 2018; Zhou et al, 2018)開發(fā) NAS 方法,其中資源有效性的度量與對未見過數(shù)據(jù)的預(yù)測性能一起被用作目標函數(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;郵箱:aet@chinaaet.com。