天天看點

NASNet : Google Brain經典作,改造搜尋空間,性能全面超越人工網絡,繼續領跑NAS領域 | CVPR 2018IntroductionMethodExperiments and ResultsCONCLUSION

論文将搜尋空間從整體網絡轉化為卷積單元(cell),再按照設定堆疊成新的網絡家族NASNet。不僅降低了搜尋的複雜度,從原來的28天縮小到4天,而且搜尋出來的結構具有擴充性,在小模型和大模型場景下都能使用更少的參數量和計算量來超越人類設計的模型,達到SOTA

來源:【曉飛的算法工程筆記】 公衆号

論文: Learning Transferable Architectures for Scalable Image Recognition

  • 論文位址:https://arxiv.org/abs/1707.07012

Introduction

  論文作者在ICLR 2017使用強化學習進行神經網絡架構搜尋獲得了很好的表現,但該搜尋方法需要計算資源很多,在CIFAR-10上需要800塊GPU搜尋28天,幾乎不可能在大型資料集上進行搜尋。是以,論文提出在代理資料集(proxy dataset)上進行搜尋,然後将網絡遷移到ImageNet中,主要亮點如下:

  • 遷移的基礎在于搜尋空間的定義,由于常見的網絡都是重複的結構堆疊而成的,論文将搜尋空間從整個網絡改成單元(cell),再按設定将單元堆疊成網絡。這樣做不僅搜尋速度快,而且相對而言,單元結構通用性更高,可遷移
  • 論文搜尋到的最好結構稱為NASNet,達到當時的SOTA,在CIFAR-10提升了2.4%top-1準确率,而遷移到ImageNet提升了1.2%
  • 通過堆疊不同數量的單元(cell)以及修改單元中的卷積核數量,可以得到适應各種計算需求的NASNets,最小的NASNet在ImageNet top-1準确率為74.0%,比最好的移動端模型高3.1%
  • NASNets學習到的圖檔特征十分有用,并且能夠遷移到其它視覺任務中。Faster-RCNN使用最大的NASNets能直接提高4%,達到SOTA 43.1%mAP

Method

  論文的神經網絡搜尋方法沿用了經典強化學習方法,具體可以看我之前的論文解讀。流程如圖1,簡而言之就是使用RNN來生成網絡結構,然後在資料集上進行訓練,根據收斂後的準确率對RNN進行權重調整

  論文的核心在于定義一個全新的搜尋空間,稱之為the NASNet search space。論文觀察到目前優秀的網絡結構,如ResNet和Inception,其實都是重複子產品(cell)堆疊而成的,是以可以使用RNN來預測通用的卷積子產品,這樣的子產品可以組合堆疊成一個系列模型,論文主要包含兩種單元(cell):

  • Normal Cell,卷積單元用來傳回相同大小的特征圖,
  • Reduction Cell,卷積單元用來傳回寬高縮小兩倍的特征圖

  圖2為CIFAR-10和ImageNet的網絡架構,圖檔輸入分别為32x32和299x299,Reduction Cell和Normal Cell可以為相同的結構,但論文發現獨立的結構效果更好。當特征圖的大小減少時,會手動加倍卷積核數量來大緻保持總體特征點數量。另外,單元的重複次數N和初始的卷積核數量都是人工設定的,針對不同的分類問題

  單元的結構在搜尋空間内定義,首先選取前兩個低層單元的輸出$h_i$和$h_{i-1}$作為輸入,然後the controller RNN預測剩餘的卷積單元結構block,單個block預測如圖3所示,每個單元(cell)由B個block組合成,每個block包含5個預測步驟,每個步驟由一個softmax分類器來選擇對應的操作,block的預測如下:

  • Step 1,在$h_i$,$h_{i-1}$和單元中之前的block輸出中選擇一個作為第一個隐藏層的輸入
  • Step 2,選擇第二個隐藏層的輸入,如Step 1
  • Step 3,選擇用于Step 1中的輸入的操作
  • Step 4,選擇用于Step 2中的輸入的操作
  • Step 5,選擇用于合并Step 3和Step 4輸出的操作,并産生新的隐藏層,可供後面的block選擇

  Step 3和4中選擇的操作包含了如上的一些主流的卷積網絡操作,而Step 5的合并操作主要包含兩種:1) element-wise addition 2) concatenation,最後,所有沒有被使用的隐藏層輸出會concatenated一起作為單元的輸出。the controller RNN總共進行$2 imes 5B$次預測,前$5B$作為Normal Cell,而另外$5B$則作為Reduction Cell

  在RNN的訓練方面,既可以用強化學習也可以用随機搜尋,實驗發現随機搜尋僅比強化學習得到的網絡稍微差一點,這意味着:

  • NASNet的搜尋空間構造得很好,是以随機搜尋也能有好的表現
  • 随機搜尋是個很難打破的baseline

Experiments and Results

  The controller RNN使用Proximal Policy Optimization(PPO)進行訓練,以global workqueue形式對子網絡進行分布式訓練,實驗總共使用500塊P100來訓練queue中的網絡,整個訓練花費4天,相比之前的版本800塊K40訓練28天,訓練加速了7倍以上,效果也更好

  圖4為表現最好的Normal Cell和Reduction Cell的結構,這個結構在CIFAR-10上搜尋獲得的,然後遷移到ImageNet上。在獲得卷積單元後,需要修改幾個超參數來建構最終的網絡,首先上單元重複數N,其次上初始單元的卷積核數,例如$4@64$為單元重複4次以及初始單元的卷積核數為64

  對于搜尋的細節可以檢視論文的Appendix A,需要注意的是,論文提出DropPath的改進版ScheduledDropPath這一正則化方法。DropPath是在訓練時以一定的機率随機丢棄單元的路徑(如Figure 4中的黃色框連接配接的邊),但在論文的case中不太奏效。是以,論文改用ScheduledDropPath,在訓練過程中線性增加丢棄的機率

Results on CIFAR-10 Image Classification

  NASNet-A結合随機裁剪資料增強達到了SOTA

Results on ImageNet Image Classification

  論文将在CIFAR-10上學習到的結構遷移到ImageNet上,最大的模型達到了SOTA(82.7%),與SENet的準确率一緻,但是參數量大幅減少

  圖5直覺地展示了NASNet家族與其它人工建構網絡的對比,NASNet各方面都比人工建構的網絡要好

  論文也測試了移動端配置的網絡準确率,這裡要求網絡的參數和計算量要足夠的小,NASNet依然有很搶眼的表現

Improved features for object detection

  論文研究了NASNet在其它視覺任務中的表現,将NASNet作為Faster-RCNN的主幹在COCO訓練集上進行測試。對比移動端的網絡,mAP達到29.6%mAP,提升了5.1%。而使用最好的NASNet,mAP則達到43.1%mAP,提升4.0%mAP。結果表明,NASNet能夠提供更豐富且更通用的特征,進而在其它視覺任務也有很好的表現

Efficiency of architecture search methods

  論文對比了網絡搜尋方法的性能,主要是強化學習方法(RL)和随機搜尋方法(RS)。對于最好網絡,RL搜尋到的準确率整體要比RS的高1%,而對于整體表現(比如top-5和top-25),兩種方法則比較接近。是以,論文認為盡管RS是可行的搜尋政策,但RL在NASNet的搜尋空間表現更好

CONCLUSION

  論文基于之前使用強化學習進行神經網絡架構搜尋的研究,将搜尋空間從整體網絡轉化為卷積單元(cell),再按照設定堆疊成新的網絡NASNet。這樣不僅降低了搜尋的複雜度,加速搜尋過程,從原來的28天縮小到4天,而且搜尋出來的結構具有擴充性,分别在小模型和大模型場景下都能使用更少的參數量和計算量來超越人類設計的模型,達到SOTA

  另外,由于搜尋空間和模型結構的巧妙設計,使得論文能夠将小資料集學習到的結構遷移到大資料集中,通用性更好。而且該網絡在目标檢測領域的表現也是相當不錯的

Appendix NASNet-B & NASNet-C

  論文還有另外兩種結構NASNet-B和NASNet-C,其搜尋空間和方法與NASNet-A有點差別,有興趣的可以去看看原文的Appendix

如果本文對你有幫助,麻煩點個贊或在看呗~

更多内容請關注 微信公衆号【曉飛的算法工程筆記】