DARTS:通过连续松弛实现可微分架构搜索
在神经架构搜索(NAS)领域,传统方法如强化学习或进化算法通常将搜索空间视为离散且不可微的黑盒问题,导致计算成本极高。
在神经架构搜索(NAS)领域,传统方法如强化学习或进化算法通常将搜索空间视为离散且不可微的黑盒问题,导致计算成本极高。例如,获取CIFAR-10和ImageNet上的最先进架构曾需要数千GPU天。DARTS(Differentiable Architecture Search)提出了一种基于连续松弛的新范式,将离散的架构选择转化为连续变量,从而允许使用梯度下降进行高效优化。
该方法的核心在于构建一个包含候选操作的混合单元。每个节点间的边不再是单一操作,而是所有可能操作的softmax加权组合。通过双层优化(bilevel optimization),模型同时学习网络权重和架构参数(即操作混合权重)。这种设计不仅简化了搜索过程,还使得算法能够处理卷积和循环两种架构类型。实验表明,DARTS在CIFAR-10上以3.3M参数实现了2.76%的测试错误率,其性能与使用多三个数量级计算资源的正则化进化方法相当,同时在Penn Treebank语言建模任务上也超越了现有的自动搜索基线。
对于希望深入理解自动化机器学习(AutoML)底层机制的研究者和工程师而言,论文《DARTS: Differentiable Architecture Search》(2018年发表)是必读经典。它展示了如何将离散组合优化问题转化为可微分问题,为后续的高效架构搜索奠定了理论基础。建议从论文第2节“Differentiable Architecture Search”开始阅读,重点关注连续松弛公式及双层优化的推导。