CVPR2019的一篇Poster論文,設計了一種巧妙的方法對NAS的搜索空間進行剪枝,提高搜索效率。
Partial Order Pruning: for Best Speed/Accuracy Trade-off in Neural Architecture Search?arxiv.org
1. Background
CNN模型在圖像任務上雖然具有很高的性能,但是同時也需要消耗巨大的計算量。對於部署模型而言,如何做到精度和速度的平衡就是一個至關重要的問題。
現有的NAS方法或者人工設計網路通常只關注於高性能,通過FLOPs來評估網路的運行速度,但是實際上,模型的計算速度還受到了內存訪問的影響。雖然現有的部分NAS方法,基於FLOPs作為目標搜索結構,但是它們並沒有真正考慮實際推理速度,以及在目標設備上的推理速度。
因此,這篇論文提出了一種以目標設備運行速度作為評估指標的NAS方法,通過巧妙的剪枝方法,對搜索空間進行剪枝,提高搜索效率,來找到Accuracy/Speed Trade-off的boundary。
2. Method
方法部分有三個細節內容-搜索空間/估計推理速度/搜索空間剪枝。
首先是對NAS搜索空間的設計。論文中的搜索空間相對比較簡單,以ResNet的結構作為框架,如下圖所示,整個處理流程分為6個階段,1-5階段每個階段進行一次降採樣,第6個階段做GAP以及最終的分類。由於網路框架相對固定,因此搜索的內容其實就是每一個block的寬度(同時,對寬度取值也做了限制,只能在{64,128,256,512,1024}中取值),以及每個階段block的數量。