論文將搜索空間從整體網(wǎng)絡(luò)轉(zhuǎn)化為卷積單元(cell),再按照設(shè)定堆疊成新的網(wǎng)絡(luò)家族NASNet。不僅降低了搜索的復(fù)雜度,從原來的28天縮小到4天,而且搜索出來的結(jié)構(gòu)具有擴(kuò)展性,在小模型和大模型場景下都能使用更少的參數(shù)量和計(jì)算量來超越人類設(shè)計(jì)的模型,達(dá)到SOTA
?
來源:【曉飛的算法工程筆記】 公眾號(hào)
論文: Learning Transferable Architectures for Scalable Image Recognition

Introduction
? 論文作者在ICLR 2017使用強(qiáng)化學(xué)習(xí)進(jìn)行神經(jīng)網(wǎng)絡(luò)架構(gòu)搜索獲得了很好的表現(xiàn),但該搜索方法需要計(jì)算資源很多,在CIFAR-10上需要800塊GPU搜索28天,幾乎不可能在大型數(shù)據(jù)集上進(jìn)行搜索。因此,論文提出在代理數(shù)據(jù)集(proxy dataset)上進(jìn)行搜索,然后將網(wǎng)絡(luò)遷移到ImageNet中,主要亮點(diǎn)如下:
- 遷移的基礎(chǔ)在于搜索空間的定義,由于常見的網(wǎng)絡(luò)都是重復(fù)的結(jié)構(gòu)堆疊而成的,論文將搜索空間從整個(gè)網(wǎng)絡(luò)改成單元(cell),再按設(shè)定將單元堆疊成網(wǎng)絡(luò)。這樣做不僅搜索速度快,而且相對(duì)而言,單元結(jié)構(gòu)通用性更高,可遷移
- 論文搜索到的最好結(jié)構(gòu)稱為NASNet,達(dá)到當(dāng)時(shí)的SOTA,在CIFAR-10提升了2.4%top-1準(zhǔn)確率,而遷移到ImageNet提升了1.2%
- 通過堆疊不同數(shù)量的單元(cell)以及修改單元中的卷積核數(shù)量,可以得到適應(yīng)各種計(jì)算需求的NASNets,最小的NASNet在ImageNet top-1準(zhǔn)確率為74.0%,比最好的移動(dòng)端模型高3.1%
- NASNets學(xué)習(xí)到的圖片特征十分有用,并且能夠遷移到其它視覺任務(wù)中。Faster-RCNN使用最大的NASNets能直接提高4%,達(dá)到SOTA 43.1%mAP
Method

? 論文的神經(jīng)網(wǎng)絡(luò)搜索方法沿用了經(jīng)典強(qiáng)化學(xué)習(xí)方法,具體可以看我之前的論文解讀。流程如圖1,簡而言之就是使用RNN來生成網(wǎng)絡(luò)結(jié)構(gòu),然后在數(shù)據(jù)集上進(jìn)行訓(xùn)練,根據(jù)收斂后的準(zhǔn)確率對(duì)RNN進(jìn)行權(quán)重調(diào)整
? 論文的核心在于定義一個(gè)全新的搜索空間,稱之為the NASNet search space。論文觀察到目前優(yōu)秀的網(wǎng)絡(luò)結(jié)構(gòu),如ResNet和Inception,其實(shí)都是重復(fù)模塊(cell)堆疊而成的,因此可以使用RNN來預(yù)測通用的卷積模塊,這樣的模塊可以組合堆疊成一個(gè)系列模型,論文主要包含兩種單元(cell):
- Normal Cell,卷積單元用來返回相同大小的特征圖,
- Reduction Cell,卷積單元用來返回寬高縮小兩倍的特征圖

? 圖2為CIFAR-10和ImageNet的網(wǎng)絡(luò)框架,圖片輸入分別為32x32和299x299,Reduction Cell和Normal Cell可以為相同的結(jié)構(gòu),但論文發(fā)現(xiàn)獨(dú)立的結(jié)構(gòu)效果更好。當(dāng)特征圖的大小減少時(shí),會(huì)手動(dòng)加倍卷積核數(shù)量來大致保持總體特征點(diǎn)數(shù)量。另外,單元的重復(fù)次數(shù)N和初始的卷積核數(shù)量都是人工設(shè)定的,針對(duì)不同的分類問題

? 單元的結(jié)構(gòu)在搜索空間內(nèi)定義,首先選取前兩個(gè)低層單元的輸出和
作為輸入,然后the controller RNN預(yù)測剩余的卷積單元結(jié)構(gòu)block,單個(gè)block預(yù)測如圖3所示,每個(gè)單元(cell)由B個(gè)block組合成,每個(gè)block包含5個(gè)預(yù)測步驟,每個(gè)步驟由一個(gè)softmax分類器來選擇對(duì)應(yīng)的操作,block的預(yù)測如下:
- Step 1,在
,
和單元中之前的block輸出中選擇一個(gè)作為第一個(gè)隱藏層的輸入
- Step 2,選擇第二個(gè)隱藏層的輸入,如Step 1
- Step 3,選擇用于Step 1中的輸入的操作
- Step 4,選擇用于Step 2中的輸入的操作
- Step 5,選擇用于合并Step 3和Step 4輸出的操作,并產(chǎn)生新的隱藏層,可供后面的block選擇

? Step 3和4中選擇的操作包含了如上的一些主流的卷積網(wǎng)絡(luò)操作,而Step 5的合并操作主要包含兩種:1) element-wise addition 2) concatenation,最后,所有沒有被使用的隱藏層輸出會(huì)concatenated一起作為單元的輸出。the controller RNN總共進(jìn)行次預(yù)測,前
作為Normal Cell,而另外
則作為Reduction Cell
? 在RNN的訓(xùn)練方面,既可以用強(qiáng)化學(xué)習(xí)也可以用隨機(jī)搜索,實(shí)驗(yàn)發(fā)現(xiàn)隨機(jī)搜索僅比強(qiáng)化學(xué)習(xí)得到的網(wǎng)絡(luò)稍微差一點(diǎn),這意味著:
- NASNet的搜索空間構(gòu)造得很好,因此隨機(jī)搜索也能有好的表現(xiàn)
- 隨機(jī)搜索是個(gè)很難打破的baseline
Experiments and Results
? The controller RNN使用Proximal Policy Optimization(PPO)進(jìn)行訓(xùn)練,以global workqueue形式對(duì)子網(wǎng)絡(luò)進(jìn)行分布式訓(xùn)練,實(shí)驗(yàn)總共使用500塊P100來訓(xùn)練queue中的網(wǎng)絡(luò),整個(gè)訓(xùn)練花費(fèi)4天,相比之前的版本800塊K40訓(xùn)練28天,訓(xùn)練加速了7倍以上,效果也更好

? 圖4為表現(xiàn)最好的Normal Cell和Reduction Cell的結(jié)構(gòu),這個(gè)結(jié)構(gòu)在CIFAR-10上搜索獲得的,然后遷移到ImageNet上。在獲得卷積單元后,需要修改幾個(gè)超參數(shù)來構(gòu)建最終的網(wǎng)絡(luò),首先上單元重復(fù)數(shù)N,其次上初始單元的卷積核數(shù),例如為單元重復(fù)4次以及初始單元的卷積核數(shù)為64
? 對(duì)于搜索的細(xì)節(jié)可以查看論文的Appendix A,需要注意的是,論文提出DropPath的改進(jìn)版ScheduledDropPath這一正則化方法。DropPath是在訓(xùn)練時(shí)以一定的概率隨機(jī)丟棄單元的路徑(如Figure 4中的黃色框連接的邊),但在論文的case中不太奏效。因此,論文改用ScheduledDropPath,在訓(xùn)練過程中線性增加丟棄的概率
Results on CIFAR-10 Image Classification

? NASNet-A結(jié)合隨機(jī)裁剪數(shù)據(jù)增強(qiáng)達(dá)到了SOTA
Results on ImageNet Image Classification

? 論文將在CIFAR-10上學(xué)習(xí)到的結(jié)構(gòu)遷移到ImageNet上,最大的模型達(dá)到了SOTA(82.7%),與SENet的準(zhǔn)確率一致,但是參數(shù)量大幅減少

? 圖5直觀地展示了NASNet家族與其它人工構(gòu)建網(wǎng)絡(luò)的對(duì)比,NASNet各方面都比人工構(gòu)建的網(wǎng)絡(luò)要好

? 論文也測試了移動(dòng)端配置的網(wǎng)絡(luò)準(zhǔn)確率,這里要求網(wǎng)絡(luò)的參數(shù)和計(jì)算量要足夠的小,NASNet依然有很搶眼的表現(xiàn)
Improved features for object detection

? 論文研究了NASNet在其它視覺任務(wù)中的表現(xiàn),將NASNet作為Faster-RCNN的主干在COCO訓(xùn)練集上進(jìn)行測試。對(duì)比移動(dòng)端的網(wǎng)絡(luò),mAP達(dá)到29.6%mAP,提升了5.1%。而使用最好的NASNet,mAP則達(dá)到43.1%mAP,提升4.0%mAP。結(jié)果表明,NASNet能夠提供更豐富且更通用的特征,從而在其它視覺任務(wù)也有很好的表現(xiàn)
Efficiency of architecture search methods

? 論文對(duì)比了網(wǎng)絡(luò)搜索方法的性能,主要是強(qiáng)化學(xué)習(xí)方法(RL)和隨機(jī)搜索方法(RS)。對(duì)于最好網(wǎng)絡(luò),RL搜索到的準(zhǔn)確率整體要比RS的高1%,而對(duì)于整體表現(xiàn)(比如top-5和top-25),兩種方法則比較接近。因此,論文認(rèn)為盡管RS是可行的搜索策略,但RL在NASNet的搜索空間表現(xiàn)更好
CONCLUSION
? 論文基于之前使用強(qiáng)化學(xué)習(xí)進(jìn)行神經(jīng)網(wǎng)絡(luò)架構(gòu)搜索的研究,將搜索空間從整體網(wǎng)絡(luò)轉(zhuǎn)化為卷積單元(cell),再按照設(shè)定堆疊成新的網(wǎng)絡(luò)NASNet。這樣不僅降低了搜索的復(fù)雜度,加速搜索過程,從原來的28天縮小到4天,而且搜索出來的結(jié)構(gòu)具有擴(kuò)展性,分別在小模型和大模型場景下都能使用更少的參數(shù)量和計(jì)算量來超越人類設(shè)計(jì)的模型,達(dá)到SOTA
? 另外,由于搜索空間和模型結(jié)構(gòu)的巧妙設(shè)計(jì),使得論文能夠?qū)⑿?shù)據(jù)集學(xué)習(xí)到的結(jié)構(gòu)遷移到大數(shù)據(jù)集中,通用性更好。而且該網(wǎng)絡(luò)在目標(biāo)檢測領(lǐng)域的表現(xiàn)也是相當(dāng)不錯(cuò)的
?
?
Appendix NASNet-B & NASNet-C
? 論文還有另外兩種結(jié)構(gòu)NASNet-B和NASNet-C,其搜索空間和方法與NASNet-A有點(diǎn)區(qū)別,有興趣的可以去看看原文的Appendix


?
?
?
如果本文對(duì)你有幫助,麻煩點(diǎn)個(gè)贊或在看唄~
更多內(nèi)容請(qǐng)關(guān)注 微信公眾號(hào)【曉飛的算法工程筆記】
