神经架构搜索
定义
神经架构搜索是一种在给定搜索空间中,按某种搜索策略挑选候选结构、并依据评价结果确定最终网络架构的自动化方法[2]。它属于自动化机器学习的组成部分,与超参数优化并列,但关注的对象是层与层之间的连接方式和算子类型这类结构性选择[3]。
在通常的表述中,NAS 由搜索空间、搜索策略与评价策略 3 个要素构成:搜索空间界定哪些架构有可能被生成,搜索策略决定如何在其中探索,评价策略负责估计候选架构的性能[3]。也有文献把验证方式单列为第 4 个支柱,用于判断搜索结果是否可信[3]。
原理
搜索空间的设计直接决定问题规模。若把整个网络逐层编码,候选数量随层数呈指数增长,因此多数方法采用基于单元(cell)的空间:只搜索可重复堆叠的正常单元与还原单元,前者保持特征图尺寸,后者负责下采样,再按固定骨架堆叠成完整网络[4]。单元内部被表示为有向无环图,节点是潜在特征表示,边上的算子从候选集合中选取[1]。
搜索策略主要包括强化学习、进化算法和梯度方法。强化学习路线用一个循环神经网络作为控制器逐层输出结构决策,把子网络在验证集上的精度作为奖励来更新控制器[2];进化算法把架构编码为序列,通过交叉、变异和优胜劣汰迭代种群[2]。这两类方法都属于黑盒优化,需要大量评估[1]。
可微分方法则把离散选择松弛为连续形式。以 DARTS 为例,边上每个候选算子按 softmax 权重混合,$\bar{o}^{(i,j)}(x)=\sum_{o\in O}\frac{\exp(\alpha_o^{(i,j)})}{\sum_{o'\in O}\exp(\alpha_{o'}^{(i,j)})}o(x)$,其中 $\alpha$ 为可学习的架构参数[4]。搜索由此转化为在训练集上优化权重 $w$、在验证集上优化架构参数 $\alpha$ 的双层优化问题:$\min_{\alpha} L_{val}(w^{*}(\alpha),\alpha)$,约束为 $w^{*}(\alpha)=\arg\min_{w} L_{train}(w,\alpha)$[4]。搜索结束后取权重最大的算子,离散化得到最终架构[5]。
另一条提效思路是权重共享:把搜索空间定义为一个过参数化的超网,从超网中采样子架构并复用已训练的权重,避免每个候选都从头训练[6]。此外还有训练无关的评估方式,直接用代理指标预测架构质量,以减少候选网络的训练开销[7]。
发展历程
2017 年,Google Brain 的巴雷特·佐夫(Barret Zoph)与郭克·黎(Quoc V. Le)提出用强化学习生成网络结构,被视为这一方向的早期代表性工作[2]。该工作在 CIFAR-10 上的搜索代价约为 22400 个 GPU 天,精度指标为 3.65% 错误率[8]。同年出现的 NASNet 将搜索对象改为可堆叠的单元,代价降至约 2000 个 GPU 天[4]。
2018 年前后,进化算法路线也取得进展,AmoebaNet 在相近设定下的搜索代价约 3150 个 GPU 天[4]。在国内,中国科学院自动化研究所、商汤科技、上海交通大学、旷视科技等单位较早开展了相关研究[2]。
2019 年,DARTS 提出连续松弛方案,在 CIFAR-10 上把搜索代价压缩到 1 个 GPU 天量级,成为后续大量工作的基线[4]。此后研究重心转向效率与稳定性:渐进式加深搜索空间、操作级正则化、噪声注入等改进被陆续提出,用以缓解搜索过程中的偏置问题[9]。同时,硬件感知搜索开始把延迟、功耗等指标纳入目标函数[10]。
应用
图像分类是 NAS 最主要的验证场景,CIFAR-10 与 ImageNet 长期被用作搜索与迁移的基准[4]。搜索得到的架构还能迁移到目标检测、语义分割等其他视觉任务,但迁移后的表现未必最优,因为最优结构可能与任务相关。
在移动端与边缘设备上,硬件感知的 NAS 把延迟约束写进搜索目标。MnasNet 将验证精度与实测延迟组合成多目标奖励,在移动平台上搜索直接面向推理速度的模型[10]。EfficientNet 则在搜索到的骨干网络上做深度、宽度与分辨率的复合缩放,生成一系列不同规模的模型[10]。这类方法也被用于微控制器等极低资源平台,在参数量与运算量上限内寻找可行结构[11]。
搜索空间与数据类型也在扩展。除图像外,NAS 已被用于图数据、表格数据和视频任务,针对图神经网络的非欧几里得数据特性需要定制搜索空间与策略[12]。在自然语言处理方向,NAS-BERT 等方法尝试搜索 Transformer 结构,以降低计算与内存开销[13]。
局限
计算开销仍是首要约束。早期逐架构训练的范式需要对每个候选网络完整训练与评估,代价可达数千至上万个 GPU 天。搜索成本还与数据集规模相关,在 ImageNet 这类大规模数据上实例化超网的内存压力明显大于 CIFAR-10 等代理数据集。
权重共享与可微分方法虽然提速,却带来优化鸿沟:超网被优化并不保证其子架构也最优,性能估计可能与真实表现不符[6]。DARTS 类方法还容易出现跳跃连接被过度偏好,导致最终架构参数少、表达能力受限,出现性能崩塌。搜索结果的可复现性也受到质疑,相同设定下重复实验可能得到不同结论[9]。
搜索与部署之间存在落差。搜索阶段为节省显存往往缩小网络规模,而重训练阶段又需满足移动端运算量上限等约束,两者设定不一致会使找到的架构在部署时并非最优。可微分方法的搜索空间通常只包含两类单元,与 ResNet、EfficientNetV2 等包含多种模块的实际网络相比仍偏窄。此外,隐藏层数目的最优取值在现有自动化方法中尚无确定解法,仍属开放问题[14]。
参见
参考资料
- zzu.edu.cn 上的网页 [引用日期2026-10-29]
- CAA-PRMI专委会通讯2019年第2期(总第6期)-定稿版(PDF) [引用日期2026-10-29]
- OUCI - 8 publications · Export [引用日期2026-10-29]
- DARTS: Differentiable Architecture Search [1] [引用日期2026-10-29]
- stanford.edu 上的 PDF 文件 [引用日期2026-10-29]
- arxiv.org 上的网页 [引用日期2026-10-29]
- paper_detail [引用日期2026-10-29]
- Recent Advances in Neural Architecture Search [引用日期2026-10-29]
- Noisy Differentiable Architecture Search [引用日期2026-10-29]
- core.ac.uk 上的 PDF 文件 [引用日期2026-10-29]
- Prime(PDF) [引用日期2026-10-29]
- NSR综述:自动化神经网络架构搜索(NAS)最新进展 | 清华王鑫、朱文武 [引用日期2026-10-29]
- Machine-Learning-Systems(PDF) [引用日期2026-10-29]
- S0031320324004813 [引用日期2026-10-29]