
摘要
传统的神经架构搜索(Neural Architecture Search, NAS)方法通常基于强化学习或进化策略,其在CIFAR-10数据集上寻找一个优良模型往往需要超过3000个GPU小时。为此,我们提出一种高效的NAS方法——通过梯度下降来学习搜索过程。该方法将搜索空间建模为有向无环图(Directed Acyclic Graph, DAG),其中包含数十亿个子图,每个子图对应一种特定的神经网络架构。为避免遍历所有可能的子图组合,我们设计了一种可微分的采样器(differentiable sampler)来对DAG进行高效采样。该采样器具有可学习性,并通过所采样架构在验证集上的损失进行优化。由此,整个搜索过程可采用端到端的方式,通过梯度下降进行训练,我们将其命名为基于可微分架构采样的梯度搜索方法(Gradient-based search using Differentiable Architecture Sampler, GDAS)。在实验中,我们的方法仅需约4个GPU小时即可完成一次完整的搜索过程,所发现的模型在CIFAR-10上达到2.82%的测试误差,且仅包含250万个参数,性能与当前最先进水平相当。相关代码已公开发布于GitHub:https://github.com/D-X-Y/NAS-Projects。