華爲發表在 ICCV 2019上的NAS文章,致力於解決在
proxy
訓練與target
測試的模型 depth gap 問題。
- Paper: Progressive Differentiable Architecture Search:Bridging the Depth Gap between Search and Evaluation
- Code: https://github.com/chenxin061/pdarts
動機
如上圖所示,在DARTS中,搜索時候是以 8 cells with 50 epochs 來進行的,而evaluate時卻以 20 cells,這bias造成了精度大幅度下降;而 P-DARTS 以漸進的方式 5 cells, 11 cells, 17 cells 分別 25 epochs 來進行,這樣更能接近evaluate時的情況,故性能也更好。
方法
OK,你可能會問,爲什麼不直接以20 cells 來進行搜索呢?好問題,理論上應該是可行的,就是太耗memory且容易網絡架構過擬合;那17 cells也很深,memory夠嗎?這也是好問題,P-DARTS其實就是在解決這個問題:
如上圖所示,
(a) cells=5時,每個node間有5個candidate,當訓練好了25 epochs後,會有對應的softmax置信度。
(b) 接着進行 cells=11的搜索,雖然深度加了一倍多,但這時每個node間operation candidate將會減少接近一半,即把(a)中最後置信度較低的operation直接delete掉。
© 同樣的流程,最後進行 cells=17的搜索,再砍掉置信度低的一半opeartion。通過這樣的方式來tradeoff depth及memory。
實驗結果
CIFAR-10
ImageNet
參考
[1] Xin Chen, Lingxi Xie, Jun Wu, Qi Tian, Progressive Differentiable Architecture Search: Bridging the Depth Gap between Search and Evaluation, ICCV, 2019.
[2] https://zhuanlan.zhihu.com/p/73740783