訂閱
糾錯
加入自媒體

CVPR 2020: SGAS,一種基于貪心思想的CNN/GCN網絡結構搜索算法

論文作者來自阿卜杜拉國王科技大學的在讀博士生李國豪,本次分享的是KAUST與Intel ISL在 CVPR 2020 的工作:SGAS,一種基于貪心思想的CNN/GCN網絡結構搜索算法。

本工作通過貪心(greedy)的搜索方式減輕了NAS中模型排名在搜索和最后評估不一致的問題。是一種更優(yōu)更快的網絡結構搜索算法,并同時支持CNN和GCN的搜索。代碼已開源,想在圖像,點云,生物圖數據上做網絡結構搜索的同學都可以試一試。

相關工作

網絡結構搜索(NeuralArchitecture Search, 簡稱NAS) 是一種神經網絡結構自動化設計的技術。NAS基于相應算法在特定的樣本集內自動設計出高性能的網絡結構。這些自動搜索出的網絡結構在某些任務上已經媲美或超過了人類專家手工設計的網絡結構。

早期NAS的算法是基于強化學習(Zoph et al.[1])或進化算法(Real et al.[2])。這些算法計算成本高昂,阻礙了其廣泛應用。近來,Liu et al.[3]提出了一種高效的可微分的網絡結構搜索算法:可微分網絡結構搜索(Differentiable Architecture Search, 簡稱DARTS)。DARTS的提出使得網絡結構搜索在單卡一天內完成搜索。后續(xù)許多工作都基于DARTS基礎上進行改進,比如SNAS/FBNet/ProxylessNAS/P-DARTS/GDAS/MdeNAS/PC-DARTS/FairDARTS等等。

背景知識:DARTS

DARTS采用基于單元(Cell)的搜索方法進行網絡結構搜索。Cell是一個網絡子模塊,可以自由堆疊多次形成卷積網絡。DARTS通過學習cell的結構,完成對網絡的結構搜索。Cell是由N個節(jié)點的有序序列組成的有向無環(huán)圖(如圖1)。Cell中每個節(jié)點x^(i)是卷積網絡中的特征圖,每個有向邊(i,j)代表一種對x的運算o(i, j) (如3x3的卷積)。一個cell具有兩個輸入節(jié)點,一個輸出節(jié)點和多個中間結點。Cell的輸入節(jié)點被定義為前兩層的輸出。Cell的輸出是對所有中間節(jié)點進行歸約運算(例如concatenation)后的結果。每個中間節(jié)點由它之前結點經過算子op變換后相加得到:

DARTS為了實現可微搜索,提出了搜索空間的continuousrelaxation機制,利用softmax函數來學習所有可能候選運算op的權重:

其中,$mathcal(O)$ 表示搜索空間中的候選運算(例如卷積,最大池化,零)等,零表示沒有運算(邊)。其中一對節(jié)點(i,j)之間的運算由向量lpha_{i, j}參數化。運算的結果是每種可能運算結果的加權求和。向量lpha_{i, j}的維度為搜索空間長度|O|。因而,DARTS將網絡結構搜索的任務簡化為了學習一組連續(xù)變量lpha= {lpha(i, j)},如圖1所示。DARTS在搜索結束階段,通過argmax得到權重最大的候選運算op當作該邊的搜索結果:

圖1 DARTS的單元結構以及網絡結構搜索示意圖[3]

1  2  3  4  5  下一頁>  
聲明: 本文由入駐維科號的作者撰寫,觀點僅代表作者本人,不代表OFweek立場。如有侵權或其他問題,請聯系舉報。

發(fā)表評論

0條評論,0人參與

請輸入評論內容...

請輸入評論/評論長度6~500個字

您提交的評論過于頻繁,請輸入驗證碼繼續(xù)

暫無評論

暫無評論

    掃碼關注公眾號
    OFweek人工智能網
    獲取更多精彩內容
    文章糾錯
    x
    *文字標題:
    *糾錯內容:
    聯系郵箱:
    *驗 證 碼:

    粵公網安備 44030502002758號