亚洲全黄无码一级在线看_国产剧情久久久性色_无码av一区二区三区无码_亚洲成a×人片在线观看

當(dāng)前位置: 首頁 > 科技新聞 >

神經(jīng)架構(gòu)搜索(NAS)越來越高效,但遠(yuǎn)遠(yuǎn)不夠!

時間:2019-11-12 21:08來源:網(wǎng)絡(luò)整理 瀏覽:
雷鋒網(wǎng)(公眾號:雷鋒網(wǎng)) AI 科技評論按:過去數(shù)年間,研究者和企業(yè)都試圖通過提供可獲得的預(yù)訓(xùn)練計算機(jī)視覺或機(jī)器翻譯模型,來讓更多非專業(yè)人士

雷鋒網(wǎng)(公眾號:雷鋒網(wǎng)) AI 科技評論按:過去數(shù)年間,研究者和企業(yè)都試圖通過提供可獲得的預(yù)訓(xùn)練計算機(jī)視覺或機(jī)器翻譯模型,來讓更多非專業(yè)人士用上深度學(xué)習(xí)方法。將預(yù)訓(xùn)練模型用到另一項(xiàng)任務(wù)上的方法,就是我們所說的遷移學(xué)習(xí),但是這種方法依舊要求使用者具備一定的專業(yè)度,能夠?qū)υ诹硪粋€數(shù)據(jù)集上運(yùn)行的模型進(jìn)行微調(diào)。因而如果有方法能夠?qū)⑦@一步驟完全自動化,可以讓更多的使用者從迄今為止機(jī)器學(xué)習(xí)領(lǐng)域所取得的重大突破受益。

該方法就是自動機(jī)器學(xué)習(xí)(AutoML),它能夠涵蓋預(yù)測建模的多個部分,例如架構(gòu)搜索、超參數(shù)優(yōu)化等等。

近期,能夠?yàn)槟硞€給定的數(shù)據(jù)集搜索到「最佳」架構(gòu)的架構(gòu)搜索方法取得了突破性進(jìn)展,因而在本文中,我將聚焦架構(gòu)搜索部分展開討論。其中,文中展示的結(jié)果,是基于與 Jonathan Lorraine 合作進(jìn)行的工作得來的。

神經(jīng)架構(gòu)搜索的重要性

首先大家需要了解的是,僅有單個隱藏層和非線性激活函數(shù)的神經(jīng)網(wǎng)絡(luò),在該層有足夠多神經(jīng)元的情況下(即萬能近似定理,UAT),是能夠表示任意函數(shù)的。

然而,這種簡單的架構(gòu),雖然理論上能夠?qū)W習(xí)任意函數(shù),但是并不能表示出現(xiàn)在人類視覺皮層的分層過程。

神經(jīng)網(wǎng)絡(luò)架構(gòu)假定一個歸納偏置、淺層、寬廣并且不使用卷積的網(wǎng)絡(luò),在圖像法分類任務(wù)上的表現(xiàn)要比深度卷積網(wǎng)絡(luò)差得多。因此,為了讓神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)泛化,同時不會過度擬合訓(xùn)練數(shù)據(jù)集,找到歸納偏置正確的架構(gòu)是至關(guān)重要的(不管架構(gòu)是否由大腦所驅(qū)動)。

神經(jīng)架構(gòu)搜索(NAS)全覽

NAS 是谷歌推出的一項(xiàng)有啟發(fā)性的工作,后續(xù)推動了 ENAS、PNAS、DARTS 等工作的出現(xiàn)。它涉及到使用強(qiáng)化學(xué)習(xí)(RL)來訓(xùn)練循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)控制器,從而自動生成架構(gòu)。之后,這些架構(gòu)對其權(quán)重進(jìn)行訓(xùn)練并在驗(yàn)證集上進(jìn)行評估。它們在驗(yàn)證集上的性能就是控制器的獎勵信號,后續(xù)可以增加生成表現(xiàn)良好的架構(gòu)的概率,以及降低生成表現(xiàn)不佳的架構(gòu)的概率。

對于沒有技術(shù)基礎(chǔ)的讀者而言,NAS 基本上還需要他們完成這一步驟:手動調(diào)節(jié)神經(jīng)網(wǎng)絡(luò)并學(xué)習(xí)哪種方法的表現(xiàn)更好,最終將表現(xiàn)最好的方法自動化。自動創(chuàng)建神經(jīng)網(wǎng)絡(luò)架構(gòu)的思想一開始并非由 NAS 提出,因?yàn)楹芫弥熬陀衅渌椒ㄓ蒙狭酥T如遺傳算法等方法,但是 NAS 有效地使用了 RL 來高效地搜索到能夠?qū)崿F(xiàn)詳盡搜索的空間。

下面,我將更深入地分析 NAS 的各個部分,然后再探討該方法存在的局限性以及由該方法衍生但更加高效的 ENAS(高效神經(jīng)網(wǎng)絡(luò)架構(gòu)搜索),不過 ENAS 同樣也是一個非常有趣的失效模式。

當(dāng)對文本和下面展示如何對架構(gòu)采用和訓(xùn)練的圖進(jìn)行比較時,下面的兩個小節(jié)是最好理解的。

神經(jīng)架構(gòu)搜索(NAS)越來越高效,但遠(yuǎn)遠(yuǎn)不夠!

NAS 工作原理圖解

短期記憶網(wǎng)絡(luò)(LSTM)控制器

控制器通過對大量預(yù)定義的時間步長做出一系列選擇,來生成架構(gòu)。例如,在生成卷積架構(gòu)時,控制器一開始僅創(chuàng)建其中 6 層的架構(gòu)。對于每一層,控制器都只做 4 項(xiàng)決策:濾波器高、濾波器寬、濾波器個數(shù)和步長。假設(shè)第一層的編號為 0,則特定層 ? 的決策 ? 被采樣為:

  • 濾波器高為 ?_{?,h} ~ p_{? x 4)

  • 濾波器寬為 ?_{?,w} ~ p_{? x 4+1)

  • 濾波器個數(shù)為 ?_{?,f} ~ p_{? x 4+2)

  • 步長為 ?_{?,s} ~ p_{? x 4+3)

注意,時間步長 ? 的概率分布 p_?=f_?(h_?),只是該時間步長的隱藏狀態(tài)下的線性函數(shù),softmax 函數(shù)緊隨其后。

由于控制器是一個 LSTM,因此在初始時間步長 h_0 = [0,0,...,0] 的隱藏狀態(tài)被設(shè)置為全 0 的向量。每個采樣的決策都有一組預(yù)設(shè)值,例如針對濾波器個數(shù)的 [24,36,48,64](看起來像是概率網(wǎng)格搜索)。最終層數(shù)會增加,因此需要 LSTM 提供動態(tài)計算,并期望 LSTM 的隱藏狀態(tài)能夠記住過去的選擇并有偏向地決定未來時間步長的概率分布,從而將這些選擇考慮在內(nèi)。

訓(xùn)練采樣的架構(gòu)

在創(chuàng)建完給定的架構(gòu)之后,就要對其進(jìn)行 epoch 個數(shù)有限(本文中為 50)的訓(xùn)練,并且觀察驗(yàn)證準(zhǔn)確度 Acc_v。有趣的是,由于在過去 5 個 epoch 中觀察到的最大驗(yàn)證準(zhǔn)確度隨后被立方化并且被用作使用策略梯度來更新控制器參數(shù)的獎勵,因此涉及一些并不明顯的獎勵重塑(Reward Shaping):

神經(jīng)架構(gòu)搜索(NAS)越來越高效,但遠(yuǎn)遠(yuǎn)不夠!

NAS 使用的獎勵重塑

當(dāng)我稍后討論 ENAS 時,大家需要注意的一個重點(diǎn)是,經(jīng)過訓(xùn)練的架構(gòu),它的權(quán)重后續(xù)會被舍棄,并且在每次對架構(gòu)進(jìn)行采樣時,這些權(quán)重都會被隨機(jī)初始化。由于架構(gòu)選擇非常簡單,因此所有經(jīng)采樣的架構(gòu)的記錄及其驗(yàn)證準(zhǔn)確性,都會得到保留。

選擇最佳架構(gòu)

在控制器訓(xùn)練期間,最佳性能的架構(gòu)會被采用,并且會在一些基本超參數(shù)例如學(xué)習(xí)速率和權(quán)重衰減上執(zhí)行網(wǎng)格搜索,以實(shí)現(xiàn)與 STOTA 相當(dāng)?shù)男阅堋?/p>

高效神經(jīng)網(wǎng)絡(luò)架構(gòu)搜索(ENAS)全覽

從深度學(xué)習(xí)專家到非專業(yè)人士,并非每個人都能使用 NAS 的原因是它的計算復(fù)雜性所帶來的昂貴的計算成本。實(shí)際上,它的計算大約需要消耗 32,000 GPU 個小時。如此說來,為什么不直接聘專家來設(shè)計架構(gòu)而投入如此多資源來自動搜索一個架構(gòu)呢?

ENAS 的誕生,便是用來解決這個問題的。

權(quán)重共享

ENAS 通過使用不斷更新的共享參數(shù)池,而無需舍棄在訓(xùn)練過程中從所有經(jīng)采樣的架構(gòu)學(xué)到的權(quán)重。

這意味著,架構(gòu) 100 在被采樣時,已經(jīng)提供了尤其是與隨機(jī)權(quán)重相比更加合理的準(zhǔn)確度的權(quán)重對將其初始化。這樣的話,搜索到一個性能良好的架構(gòu)所需要的 GPU 耗時就從 32000 個小時降到了 50 個小時!

通過下圖,大家可以非常好地理解該采樣過程?;仡櫼幌?,在 NAS 示例中,我展示了如何創(chuàng)建整個 CNN 架構(gòu)。在這里,我將聚焦單個循環(huán)單元。而在 ENAS 環(huán)境中的單元基本上僅為一個有向無環(huán)圖(DAG),如果預(yù)先設(shè)定 DAG 中的節(jié)點(diǎn)數(shù),則它只需要學(xué)習(xí)連接。DAG 可以被視作一個計算圖,其邊緣表示將信息從一個節(jié)點(diǎn)傳送到另一個節(jié)點(diǎn)的矩陣乘法,以及表示不同「隱藏狀態(tài)」的節(jié)點(diǎn)。

DAG 的構(gòu)建,可以通過為每個節(jié)點(diǎn)選定:

  • 在該節(jié)點(diǎn)使用的激活函數(shù),即 [tanh,sigmoid,ReLU];

  • 用于連接當(dāng)前節(jié)點(diǎn)的前一節(jié)點(diǎn),例如在節(jié)點(diǎn) 4 處可能的選擇是 [1,2,3]。

下圖中采樣的 DAG 用紅色箭頭表示,剩余的藍(lán)色箭頭則表示不屬于采樣架構(gòu)的一部分,但顯示了創(chuàng)建其中包含 5 個節(jié)點(diǎn)的 DAG 時可能存在的一些其他連接。

未填充的藍(lán)色節(jié)點(diǎn)表示內(nèi)部節(jié)點(diǎn),橙色節(jié)點(diǎn)表示葉節(jié)點(diǎn)。葉節(jié)點(diǎn)通過平均的方法(或者也可能是其他機(jī)制)來組合它們的輸出,并且這種方法被視為當(dāng)前時間步長 h_ {t} 處的整個循環(huán)單元的隱藏狀態(tài)。

黑色箭頭表示硬編碼連接(例如,此處無法做選擇)。例如,單元始終將當(dāng)前時間步長 x_ {t} 處的特征和前一時間步長 h_ {t-1} 處的單元隱藏狀態(tài)作為輸入。

神經(jīng)架構(gòu)搜索(NAS)越來越高效,但遠(yuǎn)遠(yuǎn)不夠!

ENAS 如何對DAG 采樣

由于存在與 DAG 中每個邊都相關(guān)聯(lián)的矩陣,因此共享參數(shù)池僅是所有這些矩陣的集合。

為什么這些方法都能做得這么好?

盡管 NAS 或 ENAS 提供的架構(gòu)(以及它們學(xué)到的權(quán)重)在圖像分類和語言建模任務(wù)上都表現(xiàn)出色,但目前尚不清楚這樣的結(jié)果是否是由于搜索方法導(dǎo)致的。

架構(gòu)搜索真值

首先,針對一個給定的數(shù)據(jù)集,如果不將每個可能的架構(gòu)都訓(xùn)練一遍,并且為每一個架構(gòu)都執(zhí)行一次大范圍的超參數(shù)搜索,就不可能知道哪個才是該數(shù)據(jù)集的最佳架構(gòu)。這就使得我們很難說明白控制器事實(shí)上是否正在有效地搜索可能存在的架構(gòu)空間,或者是否僅僅只是重新創(chuàng)建此前已經(jīng)提供了高驗(yàn)證準(zhǔn)確率的架構(gòu)。

這里存在一個熵參數(shù),使得控制器在每個時間步長輸出的概率分布都更加均勻,從而增強(qiáng)了搜索,但是這種搜索基本上是隨機(jī)的,不過有利于對已被視為最好的架構(gòu)進(jìn)行微調(diào)。如果我們所關(guān)心的只是讓架構(gòu)達(dá)到某種程度的準(zhǔn)確性,這可能并不是什么大問題,不過對于架構(gòu)的良好性能,可能還存在另外一種解釋。

由誰決定搜索空間?

控制器在每個時間步長所做出的決定都非常有限。這些決定相當(dāng)于是從一組過去被認(rèn)為是在循環(huán)或卷積架構(gòu)上表現(xiàn)很好的選項(xiàng)中選擇出來的。例如,針對濾波器寬的選項(xiàng)是 [1,3,5,7],它們是已在 ResNets 或 DenseNets 等模型中應(yīng)用的標(biāo)準(zhǔn)值。因而,搜索空間本身存在此類偏差,以至于很難去對表現(xiàn)糟糕的架構(gòu)采樣。

顯而易見,擁有更多細(xì)粒度的選擇會增加搜索算法的采樣復(fù)雜度,但是如果我們真的相信搜索算法的有效性,我們就不會限制它去采用我們?nèi)祟愓J(rèn)為有效的值,因?yàn)檫@可能會阻止它發(fā)現(xiàn)更有效的架構(gòu)。

架構(gòu)搜索 VS 隨機(jī)搜索

在我們的實(shí)驗(yàn),以及 Sciuto 等人和 Li、Talwakar 在近期所做的相關(guān)工作中,使用基于 RL 的控制器來搜索架構(gòu)空間,似乎并沒有比使用隨機(jī)搜索更好。我們的實(shí)驗(yàn)聚焦的是面向 Penn Treebank 語言建模任務(wù)的 ENAS,該任務(wù)的目標(biāo)是生成循環(huán)單元。

如下圖所示,當(dāng)從經(jīng)過訓(xùn)練的控制器中采樣的 1000 個架構(gòu)與從未經(jīng)訓(xùn)練的控制器中采樣的 1000 個架構(gòu)相比時,經(jīng)過訓(xùn)練的控制器的確表現(xiàn)更好,但這可以通過權(quán)重共享方案而不是控制器在搜索空間上的探索能力來加以解釋。

經(jīng)過訓(xùn)練的控制器采樣得到的一組架構(gòu)具備更少多樣性,因?yàn)樗诙x上無可避免地存在偏見。這就意味著,當(dāng)在訓(xùn)練期間更新共享參數(shù)時,它們一定會對較少的架構(gòu)有效。而另一方面,隨機(jī)控制器采樣得到的架構(gòu)會更加多變,因此其更新共享參數(shù)的目的在于試圖變得對非常多的架構(gòu)有效,然而最終的結(jié)果是,它對于任何給定的架構(gòu)都不會特別有效。

神經(jīng)架構(gòu)搜索(NAS)越來越高效,但遠(yuǎn)遠(yuǎn)不夠!

經(jīng)過訓(xùn)練的控制器的性能 vs 未經(jīng)訓(xùn)練的控制器的性能

控制器在學(xué)習(xí)什么?

如果使用基于 RL 的控制器獲得的架構(gòu)最終并沒有比隨機(jī)搜索更好,那么控制器到底在學(xué)習(xí)什么呢?眾所周知,深度學(xué)習(xí)導(dǎo)致了黑盒模型無法解釋的結(jié)果,但對于圖像分類、目標(biāo)檢測甚至目標(biāo)分割等任務(wù)而言,我們能夠借助一些技術(shù)可視化 NN 關(guān)注的輸入圖像所具備的特征,盡管結(jié)果大打折扣,正如 Adebyo 等人所說的那樣,在最低限度上,我們可以預(yù)期控制器的循環(huán)屬性能夠基于過去的決策來做出未來傾向的決策,然而這在 ENAS 中,是不會發(fā)生的。

這種對架構(gòu)決策的無條件采樣是令人不安的,因?yàn)榭赡艽嬖诟咝卧蠊?jié)點(diǎn)之間有特定的連接模式,并且如果無法將過去的決策條件化,控制器是無法發(fā)現(xiàn)這種模式的。

下圖顯示了 100 個采樣架構(gòu)的 RNN 控制器的隱藏狀態(tài)(每行對應(yīng)于單個架構(gòu)的控制器隱藏狀態(tài))。請注意,在(a)中,即使采樣架構(gòu)不同,所有行也都是相同的,這表明控制器在隱藏狀態(tài)下,不會對架構(gòu)選擇進(jìn)行編碼。

神經(jīng)架構(gòu)搜索(NAS)越來越高效,但遠(yuǎn)遠(yuǎn)不夠!

控制器隱藏狀態(tài)可視化圖

是否有可能強(qiáng)制讓控制器記憶過去的決策呢?我們通過在用于訓(xùn)練控制器的原始損失中添加正則化項(xiàng)來研究該想法:一個自我監(jiān)督的目標(biāo),要求控制器能夠再現(xiàn)它曾看到過的過去的架構(gòu)。特別地:

  • 經(jīng)過 5 個 epoch 的訓(xùn)練,每個 epoch 都采樣和存儲 1000 個架構(gòu)(最多可達(dá) 10,000 個)。一旦此緩沖區(qū)滿了,每個時期 epoch 就會隨機(jī)替換 100 個架構(gòu);

  • 在第 10 個 epoch 處,添加一個監(jiān)督懲罰,用于從架構(gòu)的內(nèi)存緩沖區(qū)重建 100 個架構(gòu)的隨機(jī)樣本。在控制器訓(xùn)練的每一步中,此損失都會被添加到策略梯度損失中:L = L_ {PG} + L_ {Sup}。

這種正則化的方法與以自動回歸方法中使用 RNN 進(jìn)行語言建模的方式類似:每個時間步長的目標(biāo),都是預(yù)測下一個步長的架構(gòu)選擇。這個問題跟「雞和蛋」的問題有點(diǎn)像。

如果我們要求控制器重建的架構(gòu),它的每個時間步長的選擇一開始都不會首先考慮過去的時間步長,那么我們的這種方法是不是更加強(qiáng)化了它的這一行為呢?事實(shí)上,這并不重要,因?yàn)槲覀冊趪L試讓控制器能夠記憶和重現(xiàn)序列,這至少能夠促使控制器的隱藏狀態(tài)能夠涵蓋控制器過去的選擇。

上圖(b)中顯示了這種正則化的影響,很明顯地是,控制器的隱藏狀態(tài)現(xiàn)在至少在采樣架構(gòu)之間是不同的。

為了確認(rèn)這種正則化是否真地讓控制器嵌入提供架構(gòu)之間有意義的相似性,我們將架構(gòu)嵌入之間的 L2 距離與架構(gòu)相似性的各種直觀概念相關(guān)聯(lián),這些直觀概念包括激活函數(shù)的個數(shù),或者采樣的 DAG 之間的公共連接等。

如下表所示,正則化給出了最佳的 Spearman 相關(guān)性,但這種相關(guān)性仍然很低。以一種不那么特定的方式去強(qiáng)制控制器記憶架構(gòu),似乎更有助于進(jìn)一步增加這種相關(guān)性。

神經(jīng)架構(gòu)搜索(NAS)越來越高效,但遠(yuǎn)遠(yuǎn)不夠!

架構(gòu)間的距離和其他概念之間的 Spearman 相關(guān)性

未來的研究方向

目前,神經(jīng)網(wǎng)絡(luò)搜索通過比較各種架構(gòu)從而選出最佳架構(gòu)的方式還過于簡單。僅考慮這些架構(gòu)在驗(yàn)證集上的性能,會遺漏許多我們可能希望模型能夠具有的有用屬性。例如,我們可能偏向使用架構(gòu)搜索來生成對于對抗性擾動更魯棒的架構(gòu),或者更適合修剪的架構(gòu)。

為了賦予架構(gòu)搜索方法這一能力,以某種方式量化特定架構(gòu)可以學(xué)到的函數(shù)空間,將是有用的。這種方法有助于使用「更好」的更有趣的概念,因?yàn)樵S多架構(gòu)提供了類似的驗(yàn)證準(zhǔn)確性,然而即使 A_ {1} 的性能略差于 A_ {2},它也可能有我們看重但 A_ {2} 不具備的其他屬性。

隨著近來機(jī)器學(xué)習(xí)社區(qū)開始對提高隱私、降低偏見等領(lǐng)域產(chǎn)生興趣,我們越來越需要更加智能的架構(gòu)搜索技術(shù),來搜索到能夠滿足所有此類需求的架構(gòu)。雷鋒網(wǎng)

viahttps://towardsdatascience.com/neural-architecture-search-limitations-and-extensions-8141bec7681f雷鋒網(wǎng)

神經(jīng)架構(gòu)搜索(NAS)越來越高效,但遠(yuǎn)遠(yuǎn)不夠!

推薦內(nèi)容