
摘要
可微分架构搜索(Differentiable ARchiTecture Search, DARTS)在神经架构搜索领域引起了广泛关注。该方法通过在一个浅层搜索网络中寻找最优架构,并在深层评估网络中衡量其性能,从而实现高效搜索。然而,由于搜索网络与评估网络各自独立优化,二者之间缺乏有效交互,限制了进一步性能提升的潜力。为解决这一优化难题,本文提出了一种新的联合优化目标,并设计了一种新颖的循环可微分架构搜索框架——CDARTS(Cyclic Differentiable ARchiTecture Search)。考虑到搜索网络与评估网络在结构上的差异,CDARTS引入了一种循环反馈机制,结合自省式知识蒸馏(introspective distillation),实现两者的协同优化。具体而言,首先由搜索网络生成初始候选架构,并对评估网络的权重进行优化;随后,通过分类任务的标签监督以及评估网络通过特征蒸馏提供的正则化信号,进一步优化搜索网络中的架构权重。通过反复迭代上述过程,实现了搜索网络与评估网络的联合优化,从而使架构演化过程能够更好地适配最终的评估网络。在CIFAR、ImageNet以及NAS-Bench-201等多个基准数据集上的实验与分析表明,所提出的方法显著优于当前最先进的架构搜索技术。在DARTS搜索空间下,我们在CIFAR-10上取得了97.52%的Top-1准确率,在ImageNet上达到76.3%的Top-1准确率。在链式结构搜索空间中,我们在ImageNet上实现了78.2%的Top-1准确率,较EfficientNet-B0提升了1.1%。相关代码与模型已公开发布于GitHub:https://github.com/microsoft/Cream。
代码仓库
基准测试
| 基准 | 方法 | 指标 |
|---|---|---|
| neural-architecture-search-on-nas-bench-201 | CDARTS | Accuracy (Test): 45.51 |
| neural-architecture-search-on-nas-bench-201-1 | CDARTS | Accuracy (Test): 94.02 Accuracy (Val): 91.12 |
| neural-architecture-search-on-nas-bench-201-2 | CDARTS | Accuracy (Test): 71.92 Accuracy (Val): 72.12 |