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

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

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

單v100 GPU,4小時(shí)搜索到一個(gè)魯棒的網(wǎng)絡(luò)結(jié)構(gòu)

WpOh_rgznai100 ? 來源:lq ? 2019-07-27 07:19 ? 次閱讀

NAS最近也很火,正好看到了這篇論文,解讀一下,這篇論文是基于DAG(directed acyclic graph)的,DAG包含了上億的 sub-graphs, 為了防止全部遍歷這些模型,這篇論文設(shè)計(jì)了一種全新的采樣器,這種采樣器叫做Gradient-based search suing differential Architecture Sampler(GDAS),該采樣器可以自行學(xué)習(xí)和優(yōu)化,在這個(gè)的基礎(chǔ)上,在CIFAR-10上通過4 GPU hours就能找到一個(gè)最優(yōu)的網(wǎng)絡(luò)結(jié)構(gòu)。

目前主流的NAS一般是基于進(jìn)化算法(EA)和強(qiáng)化學(xué)習(xí)(RL)來做的。EA通過權(quán)衡validation accuracy來決定是否需要移除一個(gè)模型,RL則是validation accuracy作為獎(jiǎng)勵(lì)來優(yōu)化模型生成。作者認(rèn)為這兩種方法都很消耗計(jì)算資源。作者這篇論文中設(shè)計(jì)的GDAS方法可以在一個(gè)單v100 GPU上,用四小時(shí)搜索到一個(gè)優(yōu)秀模型。

GDAS

這個(gè)采用了搜索robust neural cell來替代搜索整個(gè)網(wǎng)絡(luò)。如下圖,不同的操作(操作用箭頭表示)會(huì)計(jì)算出不同的中間結(jié)果(中間結(jié)果用cycle表示),前面的中間結(jié)果會(huì)加起來闖到后面。

在優(yōu)化速度上,傳統(tǒng)的DAG存在一些問題:基于RL和EA的方法,需要獲得反饋都需要很長(zhǎng)一段時(shí)間。而這篇論文提出的GDAS方法能夠利用梯度下降去做優(yōu)化,具體怎么梯的下面會(huì)說到。此外,使用GDAS的方法可以sample出sub-graph,這意味著計(jì)算量要比DAG的方法小很多。

絕大多數(shù)的NAS方法可以歸為兩類:Macro search和micro search

Macro search

顧名思義,實(shí)際上算法的目的是想要發(fā)現(xiàn)一個(gè)完整的網(wǎng)絡(luò)結(jié)構(gòu)。因此多會(huì)采用強(qiáng)化學(xué)習(xí)的方式。現(xiàn)有的方法很多都是使用Q-learning的方法來學(xué)習(xí)的。那么會(huì)存在的問題是,需要搜索的網(wǎng)絡(luò)數(shù)量會(huì)呈指數(shù)級(jí)增長(zhǎng)。最后導(dǎo)致的結(jié)果就是網(wǎng)絡(luò)會(huì)更淺。

Micro Search

這種不是搜索整個(gè)神經(jīng)網(wǎng)絡(luò),而是搜索neural cells的方式。找到指定的neural cells后,再去堆疊。這種設(shè)計(jì)方式雖然能夠設(shè)計(jì)更深的網(wǎng)絡(luò),但是依舊要消耗很長(zhǎng)時(shí)間,比如100GPU days,超長(zhǎng)。這篇文章就是在消耗上面做優(yōu)化。

算法原理

DAG的搜索空間

前面也說了DAG是通過搜索所謂的neural cell而不是搜索整個(gè)網(wǎng)絡(luò)。每個(gè)cell由多個(gè)節(jié)點(diǎn)和節(jié)點(diǎn)間的激活函數(shù)構(gòu)成。節(jié)點(diǎn)我們用來表示,節(jié)點(diǎn)的計(jì)算如下圖。每個(gè)節(jié)點(diǎn)有其余兩個(gè)節(jié)點(diǎn)(下面公式中的節(jié)點(diǎn)i和節(jié)點(diǎn)j)來生成,而中間會(huì)從一個(gè)函數(shù)集合中去sample函數(shù)出來, 這個(gè)F數(shù)據(jù)集的組成是1)恒等映射 2)歸零 3)3x3 depthwise分離卷積 4)3x3 dilated depthwise 分離卷積 5)5x5 depthwise分離卷積 6)5x5 dilated depthwise 分離卷積。7)3x3平均池化 8) 3 x 3 最大池化。

那么生成節(jié)點(diǎn)I后,再去生成對(duì)應(yīng)的cell。我們將cell的節(jié)點(diǎn)數(shù)記為B,以B=4為例,該cell實(shí)際上會(huì)包括7個(gè)節(jié)點(diǎn),是前面兩層的cell的輸出(實(shí)際上也就是上面公式中的k和j),而則是我們(1)中計(jì)算出來的結(jié)果。也就是該cell的output tensor實(shí)際上是四個(gè)節(jié)點(diǎn)的output的聯(lián)結(jié)。

將cell組裝為網(wǎng)絡(luò)

剛剛上面的這種叫做normal cell,作者還設(shè)計(jì)了一個(gè)reduction cell, 用于下采樣。這個(gè)reduction cell就是手動(dòng)設(shè)計(jì)的了,沒有像normal cell那樣復(fù)雜。normal cell 的步長(zhǎng)為1,reduction cell步長(zhǎng)為2, 最后的網(wǎng)絡(luò)實(shí)際上就是由這些cell組裝起來的。如下圖:

搜索模型參數(shù)

搭建的工作如上面所示,好像也還好,就像搭積木,這篇論文我覺得創(chuàng)新的地方在于它的搜索方法,特別是通過梯度下降的方式來更新參數(shù),很棒。具體的搜索參數(shù)環(huán)節(jié),它是這么做的:

首先我們的優(yōu)化目標(biāo)和手工設(shè)計(jì)的網(wǎng)絡(luò)別無二致,都是最大釋然估計(jì):

而上式中的Pr,實(shí)際上可寫成:

這個(gè)實(shí)際上是node i和node j的函數(shù)分布,k則是F的基數(shù)。而Node可以表示為:

是從中sample出來的,而

這個(gè)實(shí)際上是node i和node j的函數(shù)分布,k則是F的基數(shù)。而Node可以表示為:

其中是從離散分布中間sample出來的函數(shù)。這里問題來了,如果直接去優(yōu)化Pr,這里由于I是來自于一個(gè)離散分布,沒法對(duì)離散分布使用梯度下降方法。這里,作者使用了Gumbel-Max trick來解決離散分布中采樣不可微的問題,具體可以看這個(gè)問題下的回答

如何理解Gumbel-Max trick?

TL;DR: Gumbel Trick 是一種從離散分布取樣的方法,它的形式可以允許我們定義一種可微分的,離散分布的近似取樣,這種取樣方式不像「干脆以各類概率值的概率向量替代取樣」這么粗糙,也不像直接取樣一樣不可導(dǎo)(因此沒辦法應(yīng)對(duì)可能的 bp )。

于是這里將這個(gè)離散分布不可微的問題做了轉(zhuǎn)移,同時(shí)對(duì)應(yīng)的優(yōu)化目標(biāo)變?yōu)椋?/p>

這里有個(gè)的參數(shù),可以控制的相似程度。注意在前向傳播中我們使用的是等式(5), 而在反向傳播中,使用的是等式(7)。結(jié)合以上內(nèi)容,我們模型的loss是:

我們將最后學(xué)習(xí)到的網(wǎng)絡(luò)結(jié)構(gòu)稱為A,每一個(gè)節(jié)點(diǎn)由前面T個(gè)節(jié)點(diǎn)連接而來,在CNN中,我們把T設(shè)為2, 在RNN中,T設(shè)為1

在參數(shù)上,作者使用了SGD,學(xué)習(xí)率從0.025逐漸降到1e-3,使用的是cosine schedule。具體的參數(shù)和function F 設(shè)計(jì)上,可以去看看原論文。

總的來說,我覺得這篇論文最大的創(chuàng)新點(diǎn)是使用Gumbel-Max trick來使得搜索過程可微分,當(dāng)然它中間也使用了一些手動(dòng)設(shè)計(jì)的模塊(如reduction cell),所以速度會(huì)比其余的NAS更快,之前我也沒有接觸過NAS, 看完這篇論文后對(duì)現(xiàn)在的NAS常用的方法以及未來NAS發(fā)展的趨勢(shì)還是有了更深的理解,推薦看看原文。

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

原文標(biāo)題:?jiǎn)蝪100 GPU,4小時(shí)搜索到一個(gè)魯棒的網(wǎng)絡(luò)結(jié)構(gòu)

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    DVB-H網(wǎng)絡(luò)結(jié)構(gòu)

    DVB-H網(wǎng)絡(luò)結(jié)構(gòu)DVB-H同樣采用頻網(wǎng)(SFN),對(duì)頻率資源再用,每個(gè)頻網(wǎng)的半徑大約40公里,內(nèi)部由多個(gè)發(fā)射機(jī)和功率增強(qiáng)器覆蓋,發(fā)射機(jī)之間采用IP網(wǎng)聯(lián)接,每個(gè)發(fā)射機(jī)配有
    發(fā)表于 07-17 21:34

    特斯拉V100 Nvlink是否支持v100卡的nvlink變種的GPU直通?

    U/4029/SYS-4029GP-TVRT.cfm)我們正試圖做pci將GPU直接傳輸?shù)絍M中但是當(dāng)我們通過pci設(shè)備并安裝驅(qū)動(dòng)程序時(shí),我們會(huì)從nvidia-nvlink模塊中獲得錯(cuò)誤。是否支持v100卡的nvlink
    發(fā)表于 09-12 16:25

    神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)搜索有什么優(yōu)勢(shì)?

    ,稍有不同就無法復(fù)現(xiàn)論文的結(jié)果。而網(wǎng)絡(luò)結(jié)構(gòu)作為種特殊的超參數(shù),在深度學(xué)習(xí)整個(gè)環(huán)節(jié)中扮演著舉足輕重的角色。在圖像分類任務(wù)上大放異彩的ResNet、在機(jī)器翻譯任務(wù)上稱霸的Transformer等網(wǎng)絡(luò)結(jié)構(gòu)
    發(fā)表于 09-11 11:52

    備貨Hi3519A V100 4K智能IP攝像頭SoC使用手冊(cè)分享

    `Hi3519A V100款高性能、低功耗的4K智能IP攝像頭SoC,專為IP攝像頭、動(dòng)作攝像頭、全景攝像頭、后視鏡和無人機(jī)設(shè)計(jì)。Hi3519A V100引入H.265/H.264
    發(fā)表于 09-25 21:26

    網(wǎng)絡(luò)結(jié)構(gòu)與IP分組交換技術(shù)

    《計(jì)算機(jī)體系結(jié)構(gòu)網(wǎng)絡(luò)篇1、2》之 網(wǎng)絡(luò)結(jié)構(gòu)、IP分組交換技術(shù)、IP/MAC映射、NAT轉(zhuǎn)換等...
    發(fā)表于 12-23 06:05

    TD-SCDMA R4網(wǎng)絡(luò)結(jié)構(gòu)和技術(shù)要求

    TD-SCDMA R4網(wǎng)絡(luò)結(jié)構(gòu)和技術(shù)要求:核心網(wǎng)演進(jìn)過程R99網(wǎng)絡(luò)結(jié)構(gòu)R4網(wǎng)絡(luò)結(jié)構(gòu)
    發(fā)表于 07-30 08:19 ?14次下載

    環(huán)形網(wǎng)絡(luò),環(huán)形網(wǎng)絡(luò)結(jié)構(gòu)是什么?

    環(huán)形網(wǎng)絡(luò),環(huán)形網(wǎng)絡(luò)結(jié)構(gòu)是什么? 這種結(jié)構(gòu)網(wǎng)絡(luò)形式主要應(yīng)用于令牌網(wǎng)中,在這種網(wǎng)絡(luò)結(jié)構(gòu)中各設(shè)備是直接通過電纜來串接的,最后形成
    發(fā)表于 03-22 11:14 ?6109次閱讀

    4G網(wǎng)絡(luò)結(jié)構(gòu)及關(guān)鍵技術(shù)

    4G網(wǎng)絡(luò)結(jié)構(gòu)及關(guān)鍵技的精彩講解
    發(fā)表于 11-10 17:19 ?114次下載
    <b class='flag-5'>4</b>G<b class='flag-5'>網(wǎng)絡(luò)結(jié)構(gòu)</b>及關(guān)鍵技術(shù)

    性是什么意思_Robust為什么翻譯成

    的意思。它是系統(tǒng)在異常和危險(xiǎn)情況下生存的關(guān)鍵。比如說,計(jì)算機(jī)軟件在輸入錯(cuò)誤、磁盤故障、網(wǎng)絡(luò)過載或有意攻擊情況下,能否不死機(jī)、不崩潰,就是該軟件的性。
    發(fā)表于 11-29 09:08 ?12.6w次閱讀
    <b class='flag-5'>魯</b><b class='flag-5'>棒</b>性是什么意思_Robust為什么翻譯成<b class='flag-5'>魯</b><b class='flag-5'>棒</b>性

    種改進(jìn)的深度神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)搜索方法

    為提升網(wǎng)絡(luò)結(jié)構(gòu)的尋優(yōu)能力,提岀種改進(jìn)的深度神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)搜索方法。針對(duì)網(wǎng)絡(luò)結(jié)構(gòu)間距難以度量的問題,結(jié)合神經(jīng)
    發(fā)表于 03-16 14:05 ?3次下載
    <b class='flag-5'>一</b>種改進(jìn)的深度神經(jīng)<b class='flag-5'>網(wǎng)絡(luò)結(jié)構(gòu)</b><b class='flag-5'>搜索</b>方法

    開源軟件關(guān)鍵開發(fā)者類型及協(xié)作網(wǎng)絡(luò)性綜述

    流失后網(wǎng)絡(luò)結(jié)構(gòu)和功能性,以此識(shí)別岀關(guān)鍵開發(fā)者類型。最后模擬新開發(fā)者的加入機(jī)制,探討網(wǎng)絡(luò)
    發(fā)表于 04-23 11:09 ?4次下載
    開源軟件關(guān)鍵開發(fā)者類型及協(xié)作<b class='flag-5'>網(wǎng)絡(luò)</b><b class='flag-5'>魯</b><b class='flag-5'>棒</b>性綜述

    基于YOLO-V5的網(wǎng)絡(luò)結(jié)構(gòu)及實(shí)現(xiàn)行人社交距離風(fēng)險(xiǎn)提示

    Yolov5的結(jié)構(gòu)其實(shí)和Yolov4結(jié)構(gòu)還是有定的相似之處的,但也有些不同,這里還是按照從整體
    的頭像 發(fā)表于 07-06 10:24 ?3399次閱讀

    物聯(lián)網(wǎng)行業(yè)通用主板—卓越V100

    ? ? ? 卓越V100主板采用了聯(lián)發(fā)科MT6761四核處理器,其CPU采用Cortex-A53 構(gòu)架設(shè)計(jì),頻率高達(dá)2.0GHz,GPU為ARM Mali-G71。卓越V100主板為
    的頭像 發(fā)表于 06-02 10:53 ?1953次閱讀
    物聯(lián)網(wǎng)行業(yè)通用主板—卓越<b class='flag-5'>V100</b>

    英偉達(dá)v100與A100的差距有哪些?

    英偉達(dá)v100與A100的差距有哪些? 在當(dāng)今人工智能和深度學(xué)習(xí)技術(shù)日益發(fā)展的時(shí)代,高性能計(jì)算機(jī)顯卡已成為支持這些技術(shù)發(fā)展的關(guān)鍵。英偉達(dá)是高性能計(jì)算機(jī)顯卡領(lǐng)域的領(lǐng)導(dǎo)者之,其v100
    的頭像 發(fā)表于 08-22 16:46 ?2.2w次閱讀

    性的含義以及如何提高模型的性?

    性的含義以及如何提高模型的性? 什么是性?
    的頭像 發(fā)表于 10-29 11:21 ?3220次閱讀