华为发表在 ICCV 2019上的NAS文章,致力于解决在
proxy
训练与target
测试的模型 depth gap 问题。
动机
如上图所示,在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掉。
(c) 同样的流程,最后进行 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.