-
2015至2017年間,是CNN網(wǎng)絡(luò)設(shè)計(jì)最興盛的階段壮韭,大多都是由學(xué)者人工設(shè)計(jì)的網(wǎng)絡(luò)結(jié)構(gòu)产徊。這個過程通常會很繁瑣
- 其主要原因在于對不同模塊組件的組成通常是個黑盒優(yōu)化的問題胞四,此外刚操,在不同結(jié)構(gòu)超參數(shù)以及訓(xùn)練超參數(shù)的選擇優(yōu)化上非凸優(yōu)化問題闸翅,或者是個混合優(yōu)化問題,既有離散空間又有連續(xù)空間
-
NAS(Neural Architecture Search)的出現(xiàn)就是為了解決如何通過機(jī)器策略和自動化的方式設(shè)計(jì)出優(yōu)秀高效的網(wǎng)絡(luò)
- 而這種策略通常不是統(tǒng)一的標(biāo)準(zhǔn)菊霜,不同的網(wǎng)絡(luò)結(jié)合實(shí)際的需求通常會有不同的設(shè)計(jì)坚冀,比如移動端的模型會在效率和精度之間做平衡
-
目前,NAS也是AUTOML中最重要的部分鉴逞。NAS通常會分為三個方面
- 搜索空間(在哪搜索)
- 搜索策略(如何搜索)
- 評價預(yù)估
-
搜索空間记某,即在哪搜索,定義了優(yōu)化問題所需變量
- 不同規(guī)模的搜索空間的變量其對于的難度也是不一樣的构捡。早期由于網(wǎng)絡(luò)結(jié)構(gòu)以及層數(shù)相對比較簡單液南,參數(shù)量較少,因此會更多的使用遺傳算法等進(jìn)化算法對網(wǎng)絡(luò)的超參數(shù)和權(quán)重進(jìn)行優(yōu)化
- 深度學(xué)習(xí)發(fā)展到目前勾徽,模型網(wǎng)絡(luò)結(jié)構(gòu)越來越復(fù)雜滑凉,參數(shù)量級越來越龐大,這些進(jìn)化算法已經(jīng)無法繼續(xù)使用
- 但若我們先驗(yàn)給定一些網(wǎng)絡(luò)結(jié)構(gòu)和超參數(shù),模型的性能已經(jīng)被限制在給定的空間譬涡,此時搜索的空間已變得有限闪幽,所以只需對復(fù)雜模型的架構(gòu)參數(shù)和對應(yīng)的超參數(shù)進(jìn)行優(yōu)化即可啥辨。
-
搜索策略涡匀, 即如何搜索,定義了如何快速溉知、準(zhǔn)確找到最優(yōu)的網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)配置的策略
- 常見的搜索方法包括:隨機(jī)搜索陨瘩、貝葉斯優(yōu)化以及基于模型的搜索算法。其中主要代表為2017 年谷歌大腦的使用強(qiáng)化學(xué)習(xí)的搜索方法级乍。
-
評價預(yù)估舌劳,定義了如何高效對搜索的評估策略
- 深度學(xué)習(xí)中,數(shù)據(jù)規(guī)模往往是龐大的玫荣,模型要在如此龐大的數(shù)據(jù)規(guī)模上進(jìn)行搜索甚淡,這無疑是非常耗時的,對優(yōu)化也會造成非常大的困難捅厂,所以需要一些高效的策略做近似的評估贯卦。 這里一般會有如下三種思路:
- 一、使用些低保真的訓(xùn)練集來訓(xùn)練模型焙贷。低保真在實(shí)際中可以用不同的理解撵割,比如較少的迭代次數(shù),用一小部分?jǐn)?shù)據(jù)集或者保證結(jié)構(gòu)的同時減少通道數(shù)等辙芍。這些方法都可以在測試優(yōu)化結(jié)構(gòu)時大大降低計(jì)算時間啡彬,當(dāng)然也會存在一定的偏差。但架構(gòu)搜索從來并不是要一組固定的參數(shù)故硅,而是一種優(yōu)秀的模型結(jié)構(gòu)庶灿。最終選取時,只需在較優(yōu)秀的幾組結(jié)構(gòu)中進(jìn)行全集訓(xùn)練吃衅,進(jìn)行擇優(yōu)選取即可往踢。
- 二、使用代理模型捐晶。除了低保真的訓(xùn)練方式外菲语,學(xué)者們提出了一種叫做代理模型的回歸模型,采用例如插值等策略對已知的一些參數(shù)范圍進(jìn)行預(yù)測惑灵,目的是為了用盡可能少的點(diǎn)預(yù)測到最佳的結(jié)果山上。
- 三、參數(shù)級別的遷移英支。例如知識蒸餾等佩憾。用已訓(xùn)練好的模型權(quán)重參數(shù)對目標(biāo)問題搜索,通常會讓搜索擁有一個優(yōu)秀的起點(diǎn)。由于積累了大量的歷史尋優(yōu)數(shù)據(jù)妄帘,對新問題的尋優(yōu)將會起到很大的幫助楞黄。
- 深度學(xué)習(xí)中,數(shù)據(jù)規(guī)模往往是龐大的玫荣,模型要在如此龐大的數(shù)據(jù)規(guī)模上進(jìn)行搜索甚淡,這無疑是非常耗時的,對優(yōu)化也會造成非常大的困難捅厂,所以需要一些高效的策略做近似的評估贯卦。 這里一般會有如下三種思路:
-
早期的NAS的結(jié)構(gòu)如下圖所示:
- 找一些預(yù)定義的操作集合(eg 卷積、池化等)這些集合構(gòu)成了Search Space搜索空間抡驼。
- 采用一定的搜索策略來獲取大量的候選網(wǎng)絡(luò)結(jié)構(gòu)鬼廓。
- 在訓(xùn)練集訓(xùn)練這些網(wǎng)絡(luò),并且在驗(yàn)證集測試得到這些候選網(wǎng)絡(luò)的準(zhǔn)確率致盟。
- 這些候選網(wǎng)絡(luò)的準(zhǔn)確率會對搜索策略進(jìn)行反饋碎税,從而可以調(diào)整搜索策略來獲得新一輪的候選網(wǎng)絡(luò)。重復(fù)這個過程馏锡。
- 當(dāng)終止條件達(dá)到(eg:準(zhǔn)確率達(dá)到某個閾值)雷蹂,搜索就會停下來,這樣就可以找到準(zhǔn)確率最高對應(yīng)的網(wǎng)絡(luò)架構(gòu)杯道。
- 在測試集上測試最好的網(wǎng)絡(luò)架構(gòu)的準(zhǔn)確率匪煌。
-
下面介紹的幾個網(wǎng)絡(luò)都是遵從以上的結(jié)構(gòu)進(jìn)行設(shè)計(jì)的:
- 1. NAS-RLNAS-RL發(fā)現(xiàn)神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)可以用一個變長字符串來描述,這樣的話就可以使用RNN來作為一個控制器生成一個這樣的字符串党巾,然后使用強(qiáng)化學(xué)習(xí)算法來優(yōu)化控制器萎庭,通過這種方法得到最終最優(yōu)的網(wǎng)絡(luò)架構(gòu)。
- 2. MetaQNNMetaQNN將選擇網(wǎng)絡(luò)架構(gòu)的過程看作馬爾可夫決策過程昧港,用Q-learning來記錄得到的獎勵擎椰,通過這樣的方法得到最優(yōu)的網(wǎng)絡(luò)架構(gòu)。
- 3. Large-scale EvolutionLarge-scale Evolution目標(biāo)是使用進(jìn)化算法(Evolutionary Algorithms)來學(xué)習(xí)一個最優(yōu)的網(wǎng)絡(luò)架構(gòu)创肥。使用一個最簡單的網(wǎng)絡(luò)結(jié)構(gòu)來初始化種群达舒,通過交叉、突變等方法來選擇最優(yōu)種群叹侄。
-
4. GeNetGeNet也采用了進(jìn)化算法巩搏,提出了一個新的神經(jīng)網(wǎng)絡(luò)架構(gòu)編碼機(jī)制,用定長的二進(jìn)制串來表征一個網(wǎng)絡(luò)的結(jié)構(gòu)趾代。GeNet隨機(jī)初始化一組個體贯底,使用預(yù)選定義好的基因操作(將二進(jìn)制串看作一個個體的基因)來修改二進(jìn)制串進(jìn)而產(chǎn)生新的個體,從而最終選擇出具有競爭力的個體作為最終的網(wǎng)絡(luò)架構(gòu)撒强∏堇Γ總結(jié)一下早期的NAS的特征:
-
全局搜索策略:早期NAS采用的策略是搜索整個網(wǎng)絡(luò)的全局,這就意味著NAS需要在非常大的搜索空間中搜索出一個最優(yōu)的網(wǎng)絡(luò)結(jié)構(gòu)飘哨。搜索空間越大胚想,計(jì)算的代價也就越大。
- 離散的搜索空間:早期NAS的搜索空間都是離散的芽隆,不管是用變長字符串也好浊服,還是用二進(jìn)制串來表示统屈,他們的搜索空間都是離散的,如果無法連續(xù)牙躺,那就意味著無法計(jì)算梯度愁憔,也無法利用梯度策略來調(diào)整網(wǎng)絡(luò)模型架構(gòu)。
- 從頭開始搜索:每個模型都是從頭訓(xùn)練的孽拷,這樣將無法充分利用現(xiàn)存的網(wǎng)絡(luò)模型的結(jié)構(gòu)和已經(jīng)訓(xùn)練得到的參數(shù)吨掌。
-
全局搜索策略:早期NAS采用的策略是搜索整個網(wǎng)絡(luò)的全局,這就意味著NAS需要在非常大的搜索空間中搜索出一個最優(yōu)的網(wǎng)絡(luò)結(jié)構(gòu)飘哨。搜索空間越大胚想,計(jì)算的代價也就越大。
大數(shù)據(jù)視頻推薦:
網(wǎng)易云課堂
CSDN
人工智能算法競賽實(shí)戰(zhàn)
AIops智能運(yùn)維機(jī)器學(xué)習(xí)算法實(shí)戰(zhàn)
ELK7 stack開發(fā)運(yùn)維實(shí)戰(zhàn)
PySpark機(jī)器學(xué)習(xí)從入門到精通
AIOps智能運(yùn)維實(shí)戰(zhàn)
騰訊課堂
大數(shù)據(jù)語音推薦:
ELK7 stack開發(fā)運(yùn)維
企業(yè)級大數(shù)據(jù)技術(shù)應(yīng)用
大數(shù)據(jù)機(jī)器學(xué)習(xí)案例之推薦系統(tǒng)
自然語言處理
大數(shù)據(jù)基礎(chǔ)
人工智能:深度學(xué)習(xí)入門到精通