引言: 自动化 AI 的希望与风险
神经架构搜索 (NAS) 是机器学习中最令人振奋的前沿领域之一。试想,一种算法能为你的特定任务自动设计出完美的神经网络,并且可能超越世界级人类专家精心打造的架构——这就是 NAS 的承诺。
早期的成功证明了 NAS 能够为图像分类等任务找到最先进的模型——但代价极其高昂。搜索过程往往需要数千 GPU 日的计算量,使其成为少数大型科技公司才能负担的奢侈品。
为了让 NAS 普惠化,研究人员提出了一种巧妙的方法:** 一次性 NAS (one-shot NAS)** 。它不是从零开始分别训练数千个架构,而是训练一个包含搜索空间中所有可能架构的大型超模型,所有架构共享权重。搜索过程因此转化为在这个预训练的超模型中高效找到最佳路径的问题。这一创新将 NAS 的成本从数月缩短至数天,甚至数小时,从而引发了一次性 NAS 方法的“寒武纪大爆发”。
然而,快速进步也带来了新问题。一-shot 方法复杂、对超参数高度敏感,且常常难以复现。当一篇新论文宣称取得了最先进的结果时,我们如何判断这是因为搜索算法本身更优,而不是由于使用了不同的搜索空间、碰巧找到合适的超参数,或是训练流程中的独特技巧?公平比较这些方法成为一大挑战。
这正是 《NAS-Bench-1Shot1: 一次性神经架构搜索的基准测试与剖析》 的切入点。研究人员提出了一个开创性框架,通过巧妙地将一次性 NAS 与广泛使用的表格型基准 NAS-Bench-101 联系起来,实现了低成本、公平且可复现的一-shot NAS 基准测试,从而为深入、科学地理解这些强大算法如何真正运作打开了大门。
背景知识: 必备工具
在深入了解 NAS-Bench-1Shot1 之前,我们需要理解两个核心要素: NAS-Bench-101 和一次性范式。
NAS-Bench-101: 神经网络的“查找表”
想象一下,有一本百科全书,记录了受限搜索空间中每一个可能神经网络的最终性能。测试一个新 NAS 算法不再需要数周的训练——只需提出一个架构,即可立即查到它的真实最终准确率。
这就是 NAS-Bench-101。由谷歌研究人员创建,包含 423,624 个独特架构,每个都在 CIFAR-10 数据集上经过多次完整训练和评估。生成该数据集耗费了数月 TPU 时间,但成果是一份无价的资源,它使研究人员能在笔记本电脑上运行 NAS 实验,公平比较不同方法,并消除训练流程差异等混淆因素。
问题在于,NAS-Bench-101 为离散 NAS 算法设计——即每次提出一个完整架构的方法。人们普遍认为它不适用于在连续、权重共享的超模型上运行的一次性方法。
一次性范式: 一次训练全部模型
一次性 NAS 的核心思想是权重共享。每个潜在的架构都被视为一个包含在更大图——即一次性模型或超图——中的子图。
例如,图中的某个节点可能在以下操作中选择:
- 3×3 卷积
- 1×1 卷积
- 3×3 最大池化
在一次性模型中,所有操作都存在,并通过加权求和组合输出。搜索算法会学习这些权重,从而有效地“刻画”出性能最佳的子图。由于子图共享底层权重,训练一个子图会隐式更新许多其他子图的部分权重。这使一次性 NAS 的效率远高于分别训练每个架构。
挑战在于,搜索过程中的架构表示 (操作与连接上的连续权重) 与搜索结束后评估的离散架构在本质上不同。这种不匹配让像 NAS-Bench-101 这样的离散基准看似不兼容——直到现在。
核心方法: 用 NAS-Bench-1Shot1 弥合差距
NAS-Bench-1Shot1 的关键贡献是提出了一种方法,使一次性 NAS 算法能够利用 NAS-Bench-101 的数据进行评估。
核心思想?构建一个一次性搜索空间,确保每个可能的离散架构都存在于 NAS-Bench-101 中。这样既能保持一次性搜索的高效性,又能让研究人员直接查询所得架构的预计算、真实表现。
图 1: NAS-Bench-1Shot1 通过确保所有可发现架构都在 NAS-Bench-101 中,将一次性搜索过程与低成本、精确评估直接连接起来。
设计兼容的搜索空间
作者精确复刻了 NAS-Bench-101 的表示方法:
宏架构
整体网络结构与 NAS-Bench-101 相同——由池化层分隔的堆叠“单元” (cell) 。单元级拓扑
每个单元是一个使用*选择块 *(choice block) 模式的有向无环图 (DAG) 。每个选择块包含 NAS-Bench-101 中的所有操作 (3×3 卷积、1×1 卷积、3×3 最大池化) 。
搜索过程涉及三类架构权重:- \(\alpha^{i,j}\): 从前一节点 \(i\) 到选择块 \(j\) 的边权重,控制连接。
- \(\beta^{o}\): 选择块内操作的权重,控制操作选择。
- \(\gamma^{j,k}\): 从选择块 \(j\) 到单元输出 \(k\) 的边权重。
选择块 \(j\) 的输出是所有操作的加权和,经 softmax 归一化——即 DARTS 中的*混合操作 *(Mixed Operation) :
选择块中操作的加权组合。搜索结束后,仅保留权重最高的操作。
定义搜索空间
通过限制每个节点的入边数量以匹配 NAS-Bench-101 的总边数,作者构建了三个规模递增的搜索空间:
表 1: 三个 NAS-Bench-1Shot1 搜索空间的特性。搜索空间 3 最大,包含超过 36 万个架构。
这些不同规模可用于测试算法的可扩展性和稳健性。
“免费”的评估流程
评估过程变得简单:
- 运行搜索——在任一搜索空间上训练一次性 NAS 方法 (如 DARTS、GDAS 等) 。
- 离散化架构——对每个选择块选择权重最高的 \(\beta\) 操作;对每个节点选择权重最高的 \(\alpha\) 边。
- 查询 NAS-Bench-101——由于每个架构都包含在 NAS-Bench-101 中,可立即获取其测试准确率、验证准确率和训练时间。
这样,研究人员无需重新训练即可追踪一次性搜索的真实性能轨迹。
关键实验与洞见
借助 NAS-Bench-1Shot1,作者系统比较和分析了几种主流一次性 NAS 方法。
公平对决: 比较流行方法
作者在统一的代码框架中重实现了五种代表性方法:** DARTS**、GDAS、PC-DARTS、ENAS 和 带权重共享的随机搜索 (Random WS) 。
图 2: 实线 = 基于 NAS-Bench-101 的真实测试性能;虚线 = 一次性模型的验证误差。
观察:
- 性能排名随搜索空间而变。 PC-DARTS 在搜索空间 1 中占优,而 GDAS 在搜索空间 2 和 3 中领先。
- 一次性验证误差是具有迷惑性的指标。 例如在 PC-DARTS 中,验证误差平稳下降,但真实测试性能先下降后回升。
- ENAS 与 Random WS 表现不佳。 在所有空间表现欠佳,暗示存在更深层次问题。
相关性危机
ENAS 和 Random WS 假设一次性模型性能能预测独立训练后的最终性能。作者通过计算数千个架构的一次性验证误差与 NAS-Bench-101 测试误差的斯皮尔曼相关系数验证此假设。
图 3: 大多数方法相关性极弱或接近零——这一假设存在根本性缺陷。
关键发现: 相关性接近零 (-0.25 至 0.3 之间) ,意味着一次性模型对架构的排序几乎是随机的。这解释了 ENAS 与 Random WS 的失败——它们基于嘈杂的信号选择最终架构。
超参数变化下的脆弱性
一次性方法对超参数异常敏感。作者研究了**权重衰减 **(\({L_2}\) 正则化) 的影响:
图 4: “最佳”权重衰减值因方法而异;选择不当可能导致架构过拟合。
洞见:
- 某些设置会导致架构过拟合——一次性验证性能提升而真实测试准确率下降。
- 不同方法的最优值差异极大——不存在通用的最佳值。
用 BOHB 调优搜索过程
借助 NAS-Bench-1Shot1 的即时评估特性,作者采用 BOHB (贝叶斯优化 + Hyperband) 为 DARTS、GDAS 和 PC-DARTS 调参。
图 5: 经 BOHB 调优的一次性方法常常优于强大的离散 NAS 优化器。
结果:
- 调优后的方法 (BOHB-DARTS、BOHB-GDAS、BOHB-PC-DARTS) 显著优于默认设置。
- 在相同搜索空间内,调优后的一次性方法可超越顶级离散 NAS 优化器。
- 说明方法性能极大程度依赖于超参数优化。
结论与未来展望
NAS-Bench-1Shot1 不仅是一个基准——更是一台观察一次性 NAS 的显微镜。
核心结论:
- 一次性性能是最终性能的不佳代理。 依赖它来做最终选择风险极高。
- 一次性方法脆弱。 高度敏感于超参数,且易发生架构过拟合。
- 正确调优能释放潜能。 在合适设置下,一次性 NAS 能超越最佳的离散 NAS 方法。
通过将一次性搜索空间直接映射至 NAS-Bench-101,作者实现了低成本、可复现的深入分析。这一框架让社区能够剖析算法、调试方法,并理解权重共享在何时有效,何时失效。
作者通过开源发布,邀请全球研究人员共同推进一次性 NAS,迈向稳健、真正自动化的机器学习。