0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

神經(jīng)架構(gòu)搜索詳解

WpOh_rgznai100 ? 來(lái)源:陳翠 ? 2019-07-07 10:49 ? 次閱讀

近期谷歌大腦團(tuán)隊(duì)發(fā)布了一項(xiàng)新研究:只靠神經(jīng)網(wǎng)絡(luò)架構(gòu)搜索出的網(wǎng)絡(luò),不訓(xùn)練,不調(diào)參,就能直接執(zhí)行任務(wù)。

這樣的網(wǎng)絡(luò)叫做WANN,權(quán)重不可知神經(jīng)網(wǎng)絡(luò)。前一陣子在業(yè)內(nèi)引起了不小轟動(dòng)。

很多同學(xué)對(duì)其中的關(guān)鍵方法“神經(jīng)網(wǎng)絡(luò)架構(gòu)搜索(NAS)“表現(xiàn)出了極大興趣。那么什么是NAS呢?

谷歌CEO Sundar Pichai曾表示:“設(shè)計(jì)神經(jīng)網(wǎng)絡(luò)非常耗時(shí),需要具有專門背景知識(shí)的人,并且,對(duì)專業(yè)知識(shí)的高要求限制了創(chuàng)業(yè)公司和小的社區(qū)使用它。

而使用“神經(jīng)網(wǎng)絡(luò)設(shè)計(jì)神經(jīng)網(wǎng)絡(luò)”的方法被稱為神經(jīng)結(jié)構(gòu)搜索(NAS),通常使用強(qiáng)化學(xué)習(xí)或進(jìn)化算法來(lái)設(shè)計(jì)新的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。

關(guān)于NAS,原理是什么?初學(xué)者又該如何入門?

圖靈君對(duì)下面這篇選自medium技術(shù)博客進(jìn)行了編譯,該文章全面介紹NAS的原理和三種不同方法,希望大家有所幫助。

以下是博文內(nèi)容:

我們大多數(shù)人可能都對(duì)ResNet耳熟能詳,它是ILSVRC 2015在圖像分類、檢測(cè)和本地化方面的贏家,也是MS COCO 2015檢測(cè)和分割的贏家。ResNet是一個(gè)巨大的架構(gòu),遍布各種跳躍連接。當(dāng)我使用這個(gè)ResNet作為自己機(jī)器學(xué)習(xí)項(xiàng)目的預(yù)訓(xùn)練網(wǎng)絡(luò)時(shí),我想的是“怎么會(huì)有人提出這樣的體系結(jié)構(gòu)呢?”'

大型人類工程圖像分類體系機(jī)構(gòu)

不久之后,我了解到許多工程師和科學(xué)家用他們多年的經(jīng)驗(yàn)構(gòu)建了這種架構(gòu)后。并且還有更多的直覺(jué)而不是完整的數(shù)學(xué)將告訴你“我們現(xiàn)在需要一個(gè)5x5過(guò)濾器以達(dá)到最佳精度”。我們有很好的圖像分類任務(wù)架構(gòu),但像我這樣的許多年輕學(xué)習(xí)者通?;ㄙM(fèi)數(shù)小時(shí)的時(shí)間來(lái)修復(fù)體系結(jié)構(gòu),同時(shí)處理那些不是Image的數(shù)據(jù)集。我們當(dāng)然希望別人能為我們做這件事。

因此神經(jīng)架構(gòu)搜索(NAS),自動(dòng)化架構(gòu)工程的過(guò)程就出現(xiàn)了。我們只需要為NAS系統(tǒng)提供數(shù)據(jù)集,它將為我們提供該數(shù)據(jù)集的最佳架構(gòu)。NAS可以被視為AutoML的子域,并且與超參數(shù)優(yōu)化具有明顯的重疊。要了解NAS,我們需要深入研究它在做什么。它通過(guò)遵循最大化性能的搜索策略,從所有可能的架構(gòu)中找到架構(gòu)。下圖總結(jié)了NAS算法。

NAS方法的維度

它有3個(gè)獨(dú)立的維度:搜索空間、搜索策略和性能評(píng)估。

搜索空間定義了NAS方法原則上可能發(fā)現(xiàn)的神經(jīng)架構(gòu)。它可以是鏈狀結(jié)構(gòu),其中層(n-1)的輸出作為層(n)的輸入饋送?;蛘咚梢允蔷哂刑S連接(多分支網(wǎng)絡(luò))的現(xiàn)代復(fù)雜架構(gòu)。

鏈狀網(wǎng)絡(luò)和多分支網(wǎng)絡(luò)

有時(shí)人們確實(shí)想要使用具有重復(fù)主題或單元的手工制作的外部架構(gòu)(宏觀架構(gòu))。在這種情況下,外部結(jié)構(gòu)是固定的,NAS僅搜索單元體系結(jié)構(gòu)。這種類型的搜索稱為微搜索或單元搜索。

左:?jiǎn)卧Y(jié)構(gòu) 右:?jiǎn)卧湃胧止ぶ谱鞯耐獠拷Y(jié)構(gòu)中

在許多NAS方法中,以分層方式搜索微觀和宏觀結(jié)構(gòu); 它由幾個(gè)層次的主題組成。第一級(jí)由原始操作組成,第二級(jí)是不同的主題,通過(guò)有向無(wú)環(huán)圖連接原始操作,第三級(jí)是編碼如何連接二級(jí)圖案的主題,依此類推。

為了解釋搜索策略和性能估計(jì),下面將討論三種不同的NAS方法。

強(qiáng)化學(xué)習(xí)

我們了解強(qiáng)化學(xué)習(xí); 其中根據(jù)θ參數(shù)化的一些策略執(zhí)行某些操作。然后,代理從所采取的操作的獎(jiǎng)勵(lì)更新策略θ。在NAS的情況下,代理生成模型體系結(jié)構(gòu),子網(wǎng)絡(luò)(動(dòng)作)。然后在數(shù)據(jù)集上訓(xùn)練模型,并將模型對(duì)驗(yàn)證數(shù)據(jù)的性能作為獎(jiǎng)勵(lì)。

控制器扮演代理的角色,準(zhǔn)確性被作為獎(jiǎng)勵(lì)

通常,遞歸神經(jīng)網(wǎng)絡(luò)(RNN)被視為控制器或代理。它產(chǎn)生字符串,模型是隨機(jī)構(gòu)建的字符串形式。

RNN用于創(chuàng)建模型的字符串示例

例如,在圖5中,連續(xù)的RNN輸出用于構(gòu)建濾波器; 從過(guò)濾器高度開(kāi)始到步寬。輸出錨點(diǎn)用于指示跳躍連接。在第N層,錨點(diǎn)將包含N-1個(gè)基于內(nèi)容的sigmoids,以指示需要連接的先前層。

通過(guò)策略梯度方法訓(xùn)練RNN以迭代地更新策略θ。這里省略了詳細(xì)的計(jì)算,可以在原始論文的第3.2節(jié)中找到。

論文地址:

https://openreview.net/pdf?id=r1Ue8Hcxg

漸進(jìn)式神經(jīng)架構(gòu)搜索(PNAS)

PNAS執(zhí)行本教程的搜索空間部分中討論的單元搜索。他們通過(guò)以預(yù)定義的方式添加單元來(lái)構(gòu)建來(lái)自塊的單元并構(gòu)建完整網(wǎng)絡(luò)。

單元以預(yù)定數(shù)量串聯(lián)連接以形成網(wǎng)絡(luò)。并且每個(gè)單元由幾個(gè)塊(原文中使用的5個(gè))形成。

這些塊由預(yù)定義的操作組成。

塊的結(jié)構(gòu)。組合函數(shù)只是逐元素相加

操作結(jié)果表明,圖中所示為原論文所使用的圖形,可以進(jìn)行擴(kuò)展。

上圖顯示了完整的示例。即使在這種單元胞或微搜索中,也有101?個(gè)有效組合來(lái)檢查以找到最佳單元結(jié)構(gòu)。

因此,為了降低復(fù)雜性,首先僅構(gòu)建僅具有1個(gè)塊的單元。這很容易,因?yàn)橥ㄟ^(guò)上述操作,只有256個(gè)不同的單元是可能的。然后選擇頂部K表現(xiàn)最佳的單元以擴(kuò)展2個(gè)塊單元,并重復(fù)最多5個(gè)塊。

但是,對(duì)于一個(gè)合理的K,太多的2塊候選來(lái)訓(xùn)練。作為這個(gè)問(wèn)題的解決方案,我們訓(xùn)練了僅通過(guò)讀取字符串(單元被編碼成字符串)來(lái)預(yù)測(cè)最終性能的“廉價(jià)”代理模型。這種訓(xùn)練的數(shù)據(jù)是在單元構(gòu)建、訓(xùn)練和驗(yàn)證時(shí)收集的。

例如,我們可以構(gòu)造所有256個(gè)單塊單元并測(cè)量它們的性能。并使用這些數(shù)據(jù)訓(xùn)練代理模型。然后使用此模型預(yù)測(cè)2個(gè)塊單元的性能,而無(wú)需實(shí)際訓(xùn)練和測(cè)試它們。當(dāng)然,代理模型應(yīng)該能夠處理可變大小的輸入。

然后選擇由模型預(yù)測(cè)的頂部K表現(xiàn)最佳的2個(gè)塊單元。然后對(duì)這2個(gè)塊單元進(jìn)行實(shí)際訓(xùn)練,對(duì)“替代”模型進(jìn)行微調(diào),并將這些單元擴(kuò)展為3個(gè)塊并對(duì)其進(jìn)行迭代

PNAS的步驟

差異化架構(gòu)搜索(DARTS)

用于神經(jīng)架構(gòu)的搜索空間是離散的,即一種架構(gòu)與另一種架構(gòu)的不同之處至少在于該架構(gòu)中有一層或一些參數(shù),例如,5x5濾波器對(duì)7x7濾波器。在該方法中,采用連續(xù)松弛法進(jìn)行離散搜索,以實(shí)現(xiàn)基于梯度的直接優(yōu)化。

我們搜索的單元可以是有向無(wú)環(huán)圖,其中每個(gè)節(jié)點(diǎn)x是潛在表示(例如卷積網(wǎng)絡(luò)中的特征映射),并且每個(gè)有向邊(i,j)與某些操作o(i,j)相關(guān)聯(lián)( 卷積,最大池化等,轉(zhuǎn)換x(i)并在節(jié)點(diǎn)x(j)處存儲(chǔ)潛在表示。

每個(gè)節(jié)點(diǎn)的輸出可以通過(guò)上述的等式計(jì)算。以這樣的方式枚舉節(jié)點(diǎn),即從節(jié)點(diǎn)x(i)到x(j)存在邊(i,j),然后i

在連續(xù)松弛法中,不是在兩個(gè)節(jié)點(diǎn)之間進(jìn)行單個(gè)操作。使用每種可能操作的凸組合。為了在圖中對(duì)此進(jìn)行建模,保持兩個(gè)節(jié)點(diǎn)之間的多個(gè)邊緣,每個(gè)邊緣對(duì)應(yīng)于特定操作。并且每個(gè)邊緣也具有權(quán)重α。

離散問(wèn)題的連續(xù)松弛

現(xiàn)在O(i,j)節(jié)點(diǎn)x(i)和x(j)之間的操作是一組操作o(i,j)的凸組合,其中o(.)εS,其中S是所有的集合可能的操作。

O(i,j)的輸出由上述方程計(jì)算。

L_train和L_val分別表示訓(xùn)練和驗(yàn)證損失。兩種損失不僅由架構(gòu)參數(shù)α確定,而且還由網(wǎng)絡(luò)中的權(quán)重“w”確定。架構(gòu)搜索的目標(biāo)是找到最小化驗(yàn)證損失L_val(w *,α*)的α*,其中通過(guò)最小化訓(xùn)練損失來(lái)獲得與架構(gòu)相關(guān)聯(lián)的權(quán)重'w *'。

w?= argminL_train(w, α? ).

這意味著一個(gè)雙層優(yōu)化問(wèn)題,α作為上層變量,w作為下層變量:

α *= argminL_val(w ? (α), α)

s.t.w ? (α)= argminL_train(w, α)

訓(xùn)練后,某些邊的α變得比其他邊大得多。為了得到這個(gè)連續(xù)模型的離散架構(gòu),在兩個(gè)節(jié)點(diǎn)之間保留唯一具有最大權(quán)重的邊。

a)上的操作最初是未知的。b)通過(guò)在每個(gè)邊上放置候選操作的混合來(lái)連續(xù)放松搜索空間c)在雙層優(yōu)化期間一些權(quán)重增加并且一些權(quán)重下降d)最終體系結(jié)構(gòu)僅通過(guò)采用具有兩個(gè)節(jié)點(diǎn)之間的最大權(quán)重的邊來(lái)構(gòu)建。

當(dāng)找到單元時(shí),這些單元然后用于構(gòu)建更大的網(wǎng)絡(luò)。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 神經(jīng)網(wǎng)絡(luò)

    關(guān)注

    42

    文章

    4733

    瀏覽量

    100415
  • NAS
    NAS
    +關(guān)注

    關(guān)注

    11

    文章

    280

    瀏覽量

    112333

原文標(biāo)題:入門必備 | 一文讀懂神經(jīng)架構(gòu)搜索

文章出處:【微信號(hào):rgznai100,微信公眾號(hào):rgznai100】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    單片機(jī)程序架構(gòu)詳解

    本帖最后由 eehome 于 2013-1-5 09:44 編輯 單片機(jī)程序架構(gòu)詳解
    發(fā)表于 08-17 15:55

    AutoML和神經(jīng)架構(gòu)搜索介紹

    AutoMl及NAS概述:更有效地設(shè)計(jì)神經(jīng)網(wǎng)絡(luò)模型工具
    發(fā)表于 09-04 06:37

    華人團(tuán)隊(duì)打造專為GAN量身定制架構(gòu)搜索方案AutoGAN

    生成對(duì)抗網(wǎng)絡(luò)(GAN)自其誕生以來(lái)一直盛行。它的一個(gè)最顯著的成功在于是用各種各樣的卷積結(jié)構(gòu)生成逼真的自然圖像。 近年來(lái),人們對(duì)自動(dòng)設(shè)計(jì)復(fù)雜的神經(jīng)網(wǎng)絡(luò)架構(gòu)產(chǎn)生了濃厚的興趣。神經(jīng)架構(gòu)
    發(fā)表于 11-30 07:29

    ARM Cortex-M系列芯片神經(jīng)網(wǎng)絡(luò)推理庫(kù)CMSIS-NN詳解

    1、ARM Cortex-M系列芯片神經(jīng)網(wǎng)絡(luò)推理庫(kù)CMSIS-NN詳解CMSIS-NN是用于ARM Cortex-M系列的芯片的神經(jīng)網(wǎng)絡(luò)推理庫(kù),用于低性能芯片/架構(gòu)
    發(fā)表于 08-19 16:06

    人肉搜索詳解

    人肉搜索詳解 1. 引言
    發(fā)表于 08-06 10:19 ?3316次閱讀

    OpenStack Swift架構(gòu)詳解

    OpenStack Swift是OpenStack開(kāi)源云計(jì)算項(xiàng)目的子項(xiàng)目,被稱為對(duì)象存儲(chǔ),本內(nèi)容深入詳解了OpenStack Swift架構(gòu)
    發(fā)表于 09-11 11:19 ?1.2w次閱讀
    OpenStack Swift<b class='flag-5'>架構(gòu)</b><b class='flag-5'>詳解</b>

    關(guān)于Instgram的搜索架構(gòu)簡(jiǎn)要分析

    Instagram的優(yōu)勢(shì)在于:雖然公司規(guī)模小,卻擁有相對(duì)大得多的基礎(chǔ)設(shè)施架構(gòu),在恰當(dāng)?shù)臅r(shí)候還能利用資源以借助Facebook十年來(lái)積累的經(jīng)驗(yàn)。Facebook的Unicorn搜索架構(gòu)是一款以社交圖
    發(fā)表于 10-10 16:17 ?0次下載
    關(guān)于Instgram的<b class='flag-5'>搜索</b><b class='flag-5'>架構(gòu)</b>簡(jiǎn)要分析

    什么是神經(jīng)架構(gòu)搜索?機(jī)器學(xué)習(xí)自動(dòng)化真能普及大眾嗎?

    到底什么是神經(jīng)架構(gòu)搜索?這是讓機(jī)器學(xué)習(xí)普及的關(guān)鍵嗎?這篇文章將重點(diǎn)解決這一問(wèn)題。而在下篇文章中,我們會(huì)詳細(xì)了解谷歌的AutoML。神經(jīng)架構(gòu)
    的頭像 發(fā)表于 07-19 15:36 ?5606次閱讀
    什么是<b class='flag-5'>神經(jīng)</b><b class='flag-5'>架構(gòu)</b><b class='flag-5'>搜索</b>?機(jī)器學(xué)習(xí)自動(dòng)化真能普及大眾嗎?

    一種新的高效神經(jīng)架構(gòu)搜索方法,解決了當(dāng)前網(wǎng)絡(luò)變換方法的局限性

    不從頭開(kāi)始進(jìn)行神經(jīng)架構(gòu)搜索,而是使用現(xiàn)有的網(wǎng)絡(luò)作為起點(diǎn),通過(guò)網(wǎng)絡(luò)變換(Network Transformation)的方式來(lái)探索架構(gòu)空間。具體的,他們使用了Net2Net操作(一類 f
    的頭像 發(fā)表于 07-24 10:06 ?7099次閱讀

    一種利用強(qiáng)化學(xué)習(xí)來(lái)設(shè)計(jì)mobile CNN模型的自動(dòng)神經(jīng)結(jié)構(gòu)搜索方法

    具體來(lái)說(shuō),我們提出一種用于設(shè)計(jì)移動(dòng)端的CNN模型的自動(dòng)神經(jīng)結(jié)構(gòu)搜索方法,稱之為Platform-Aware神經(jīng)結(jié)構(gòu)搜索。圖1是Platform-Aware
    的頭像 發(fā)表于 08-07 14:10 ?3805次閱讀

    自動(dòng)神經(jīng)結(jié)構(gòu)搜索方法實(shí)現(xiàn)高效率卷積神經(jīng)網(wǎng)絡(luò)設(shè)計(jì)

    一種自動(dòng)神經(jīng)結(jié)構(gòu)搜索方法,用于設(shè)計(jì)資源有限的移動(dòng)端CNN模型
    的頭像 發(fā)表于 08-07 14:12 ?5220次閱讀

    神經(jīng)架構(gòu)搜索的算法,可以使被AI優(yōu)化過(guò)的AI設(shè)計(jì)過(guò)程加速240多倍

    首先,他們減少了運(yùn)行神經(jīng)架構(gòu)搜索的GPU內(nèi)存負(fù)載。標(biāo)準(zhǔn)神經(jīng)架構(gòu)搜索可以同時(shí)檢查網(wǎng)絡(luò)中
    的頭像 發(fā)表于 04-10 14:20 ?3014次閱讀

    MIT研發(fā)“神經(jīng)架構(gòu)搜索”算法,將AI優(yōu)化的AI設(shè)計(jì)過(guò)程加速240倍或更多

    麻省理工學(xué)院(MIT)的一個(gè)研究小組將展示一種所謂的“ 神經(jīng)架構(gòu)搜索”算法 ,該算法可以將AI優(yōu)化的AI設(shè)計(jì)過(guò)程加速240倍或更多。
    的頭像 發(fā)表于 04-15 16:49 ?3269次閱讀

    以進(jìn)化算法為搜索策略實(shí)現(xiàn)神經(jīng)架構(gòu)搜索的方法

    自動(dòng)化深度學(xué)習(xí)是目前深度學(xué)習(xí)領(lǐng)域的研究熱點(diǎn),神經(jīng)架構(gòu)搜索算法是實(shí)現(xiàn)自動(dòng)化深度學(xué)習(xí)的主要方法之一,該類算法可以通過(guò)對(duì)搜索空間、搜索策略或優(yōu)化策
    發(fā)表于 03-22 14:37 ?15次下載
    以進(jìn)化算法為<b class='flag-5'>搜索</b>策略實(shí)現(xiàn)<b class='flag-5'>神經(jīng)</b><b class='flag-5'>架構(gòu)</b><b class='flag-5'>搜索</b>的方法

    神經(jīng)網(wǎng)絡(luò)架構(gòu)有哪些

    神經(jīng)網(wǎng)絡(luò)架構(gòu)是機(jī)器學(xué)習(xí)領(lǐng)域中的核心組成部分,它們模仿了生物神經(jīng)網(wǎng)絡(luò)的運(yùn)作方式,通過(guò)復(fù)雜的網(wǎng)絡(luò)結(jié)構(gòu)實(shí)現(xiàn)信息的處理、存儲(chǔ)和傳遞。隨著深度學(xué)習(xí)技術(shù)的不斷發(fā)展,各種神經(jīng)網(wǎng)絡(luò)
    的頭像 發(fā)表于 07-01 14:16 ?555次閱讀