论文基本信息
This paper addresses the scalability challenge of architecture search by formulating the task in a differentiable manner. Unlike conventional approaches of applying evolution or reinforcement learning over a discrete and non-differentiable search space, our method is based on the continuous relaxation of the architecture representation, allowing efficient search of the architecture using gradient descent.
背景与动机:NAS的效率瓶颈
神经架构搜索(NAS)的目标是自动化神经网络设计。此前的方法已取得令人瞩目的成果,但存在根本性问题:
• NASNet(Zoph et al., 2018):2000 GPU天(强化学习)
• AmoebaNet(Real et al., 2018):3150 GPU天(进化算法)
原因在于:这些方法将架构搜索视为离散空间上的黑箱优化——每次评估候选架构都需要完整训练到收敛。
此前的加速方案(人工设计搜索空间、权重共享、性能预测等)只是在"离散搜索+黑箱优化"框架下修修补补。DARTS提出了截然不同的思路:把架构搜索变成可微分的优化问题,用高效的梯度下降替代低效的黑箱搜索。
核心方法:连续松弛化与双层优化
3.1 搜索空间:有向无环图(DAG)细胞
遵循NAS的前期工作,DARTS搜索计算细胞(Cell)作为架构基础构建块。一个Cell是有序节点序列的DAG:
3.2 连续松弛——关键创新
传统NAS中,每条边上的操作是离散选择(argmax)。DARTS将其松弛为连续概率分布:
这个松弛的意义是革命性的——架构搜索从离散组合优化变成了连续优化,可以用梯度下降学习 α 了!
3.3 双层优化(Bilevel Optimization)
松弛后需要同时优化两类参数:
- 架构参数 α:控制操作选择(上层变量)
- 网络权重 w:各操作内部参数(下层变量)
- 内层:给定架构α,训练权重w使训练损失最小化
- 外层:在验证集上评估,优化架构α使验证损失最小化
高效的架构梯度近似
双层优化理论上优雅,但计算困难——内层优化需训练到收敛。DARTS采用单步展开(One-step Unrolling,来自MAML思想):
二阶项 + 有限差分
展开链式法则后,梯度含一个矩阵-向量乘积项。DARTS用有限差分将复杂度从 O(|α||w|) 降到 O(|α|+|w|):
一阶近似
当 ξ = 0,梯度简化为 ∇αLval(w, α)。速度更快,但性能略差。
完整算法
实验与结果
CIFAR-10 图像分类
在CIFAR-10上,DARTS发现的最佳卷积Cell达到 2.76% ± 0.09% 测试错误率,与SOTA进化方法(AmoebaNet)相当,但搜索速度快了三个数量级:
ImageNet 迁移学习
将CIFAR-10搜索到的Cell迁移到ImageNet(移动端,600M FLOPs约束),DARTS达到26.7% Top-1错误率。与NASNet(26.0%)高度接近——但搜索成本为NASNet的1/500。
Penn Treebank (PTB) 语言建模
DARTS发现的RNN Cell在PTB上获得55.7测试困惑度,超越精心调优的LSTM(56.9)和所有之前自动搜索的Cell(NAS 62.1, ENAS 58.6)。搜索仅需1 GPU天。
• 二阶近似(ξ > 0):CIFAR-10 2.83%,PTB 56.1
• 一阶近似(ξ = 0):CIFAR-10 3.00%,PTB 60.0
• 结论:二阶近似显著优于一阶,验证了单步展开+有限差分的有效性。
历史影响:DARTS引发的浪潮
DARTS的发表对NAS领域产生了深远影响,使架构搜索变得触手可及:
- 可微分NAS的范式确立:DARTS开辟了可微分架构搜索全新方向,后续大量工作(GDAS, SNAS, PC-DARTS, ProxylessNAS等)在其框架上改进
- 搜索效率的革命:将NAS从数千GPU天降至几天,使普通研究者也能参与
- 简单胜于复杂:不需要控制器(RL)、超网络、性能预测器等复杂组件,仅用梯度下降就达到了SOTA
- 跨领域适用:同时适用于卷积网络和循环网络,证明了方法的通用性
后续发展与局限
对AI研究生的启示
- 松弛的思想:当离散优化困难时,考虑能否"松弛"为连续问题。这个技巧不仅适用于NAS——在很多AI问题上,用连续松弛替代离散选择是一个强大的设计模式。
- 双层优化:当需要同时优化两个耦合的目标时,双层优化是自然的数学框架。它不仅在NAS中有用,在超参数优化、元学习等领域也广泛应用。
- 近似不一定是坏东西:用单步展开替代完整内层优化看似粗糙,但实验证明它工作得非常好。在深度学习中,一个聪明的一阶近似往往比昂贵的精确计算更实用。
- 效率与效果的平衡:DARTS展示了恰当的设计可以在效果和效率之间取得卓越平衡——这正是好研究的标志。