设计一个高性能的神经网络,长久以来都是一半艺术、一半科学,再加无数的试错过程。多年来,最顶尖的深度学习模型都是通过巨大的人力投入、直觉判断,以及无数小时的 GPU 实验锻造出来的。这种手动设计过程是一个巨大的瓶颈,也因此催生了一个令人振奋的领域:** 神经架构搜索 (Neural Architecture Search, NAS)** 。

NAS 的目标很直接: 自动化神经网络的设计。NAS 算法不再依赖人类煞费苦心地选择层、连接和操作,而是在一个庞大的架构空间中进行探索,以找到最适合特定任务的设计。早期的 NAS 方法具有革命性,发现了像 NASNet 这样的尖端模型。但它们也付出了惊人的计算成本——最早的 NAS 论文需要 800 个 GPU 连续运行 28 天,总计超过 60 个 GPU 年,才能完成一次搜索。

后续研究通过巧妙的优化让 NAS 更加高效,但一个核心问题依然存在: 大多数 NAS 算法遵循“生成-训练”的循环。它们生成一个候选架构,**训练它 **(或其代理版本) 来衡量性能,然后用该信号指导搜索。而这一步训练,是主要的成本来源。

但如果我们能完全跳过训练呢?如果我们可以在一个刚刚初始化的网络——在进行任何一次梯度下降之前——就预测它在训练后的表现会有多好呢?

这篇名为《无需训练的神经架构搜索》 (Neural Architecture Search without Training) 的论文探讨了这一激进想法。作者提出了一种评分方法,无需任何训练就能预测一个架构的潜力,从而能够在单个 GPU 上几秒钟内发现顶尖模型。这是一次范式转变,挑战了长期以来“训练是评估网络潜力的必要条件”的假设。


寻找架构的高昂成本

为了理解这一突破,让我们回顾一下 NAS 的发展历程。Zoph 和 Le 的开创性工作使用一个控制器网络 (通常是 RNN) 生成架构描述。每个候选架构都需要从零开始训练,其最终准确率被用作奖励,通过强化学习更新控制器。这一过程极其缓慢且消耗大量资源。

研究人员后来通过两个关键思想提高了 NAS 的效率:

  1. 基于单元的搜索 — 优化更小、可复用的构建块,称为单元 (cells) ,而不是整个网络。
  2. 权重共享 — 训练一个巨大的“超网络 (supernetwork) ”,在候选架构之间共享权重。

这些创新将搜索时间从 GPU 集群上的数周缩短到单个 GPU 上的数小时。但代价也随之而来——权重共享可能会扭曲结果,有时甚至让随机搜索表现出乎意料地有竞争力。同时,搜索空间依旧巨大,通常无法证明已经找到最优架构。

为了严格比较搜索算法,研究人员创建了 NAS 基准测试集,如 NAS-Bench-101 和 NAS-Bench-201——这些是可控的搜索空间,其中每一个架构都经过了详尽的训练和评估。它们就像一个“查找表”,可以查到任何架构的真实性能。《无需训练的神经架构搜索》的作者们就在这些基准集上验证了他们的免训练方法。


未训练网络的秘密

核心洞见在于: 一个架构的结构,即使在训练开始前,也已经赋予了它一些可以预测最终性能的特性。关键在于使用修正线性单元 (ReLU) 激活函数的网络如何划分输入空间。

每个 ReLU 神经元要么“激活” (输入为正) ,要么“不激活” (输入为负) 。对于一个给定输入,整个网络的激活/非激活模式会生成一个独特的二进制签名——即它的激活码 (activation code)

一个网络实际上将输入空间划分为多个线性区域 (linear regions) 。在每个区域中,网络的行为就像一个简单的线性函数。二进制激活码标识了给定输入处于哪个区域。

图 2 说明了 ReLU 激活模式如何将输入空间划分为不同的线性区域,每个区域都由一个二进制码标识。

图 2. 每个 ReLU 将空间分割为标记为二进制码的激活/非激活区域。在训练前,跨层的码的交集定义了独特的线性区域。

假设是: 如果在初始化时,许多不同输入映射到同一个线性区域,网络在训练期间将难以区分它们。一个好的架构应当即使在未训练的情况下,也能自然地将输入分开到不同区域。


量化输入分离度

为了衡量这一点,作者采取了以下步骤:

  1. 取一个包含 \( N \) 个输入的小批量 (mini-batch) 。
  2. 计算每个输入的激活码 \( \mathbf{c}_i \)。
  3. 计算成对激活码之间的汉明距离 \( d_H(\mathbf{c}_i, \mathbf{c}_j) \)。

然后,他们构建了一个核矩阵 (kernel matrix) :

\[ \mathbf{K}_H = \begin{pmatrix} N_A - d_H(\mathbf{c}_1, \mathbf{c}_1) & \cdots & N_A - d_H(\mathbf{c}_1, \mathbf{c}_N) \\ \vdots & \ddots & \vdots \\ N_A - d_H(\mathbf{c}_N, \mathbf{c}_1) & \cdots & N_A - d_H(\mathbf{c}_N, \mathbf{c}_N) \end{pmatrix} \]

这里,\( N_A \) 是网络中 ReLU 单元的数量。矩阵中每个元素衡量了两个输入之间的激活重叠度

当将不同准确率范围的网络的 \( \mathbf{K}_H \) 可视化时,出现了显著差异:

图 1 显示了许多未训练网络的核矩阵 \\( \\mathbf{K}_H \\),按最终准确率排序。高性能网络表现出较少的非对角线相似性,表明输入分离得更好。

图 1. 高性能架构表现出更强的对角占优矩阵——输入与自身的相似度很高,但与其他输入的相似度较低。

作者将此归纳为一个单一的分数:

\[ s = \log |\mathbf{K}_H| \]

更高的行列式意味着矩阵更接近对角矩阵——输入之间相关性更低——表明分离效果更好。


结果: 跨基准的预测能力

作者采样了数千个未训练架构,计算其分数 \( s \),并从基准数据中查找它们最终的验证准确率。

图 3 显示了在不同基准测试中,分数与最终准确率的散点图。在所有情况下,都存在明显的正相关关系。

图 3. 在 NAS-Bench-101、NAS-Bench-201 和各种 NDS 搜索空间中,更高的初始分数与更高的最终准确率存在强相关性。

该分数的相关性 (Kendall’s Tau, \( \tau \)) 在 NAS-Bench-201 和 NDS-DARTS 上尤其强。与其他免训练指标 (如 grad_normsynflow) 相比,本文方法在预测性上始终表现优异:

图 4 比较了不同免训练分数的相关性。本文提出的分数在所有测试的搜索空间中都表现出稳定、正向的相关性。

图 4. 在不同设计空间中,我们的方法在相关性稳定性方面优于 grad_normsynflow


鲁棒性: 消融研究

这个分数是否足够鲁棒?作者进行了如下测试:

图 5 显示了消融研究: 分数在不同数据集、随机噪声输入、权重初始化和各种批量大小下的稳定性。

图 5. 分数的相对排序在不同输入类型、初始化策略和批量大小下都保持稳定。

  • 数据独立性: 排名在真实图像批次和高斯噪声输入条件下均保持稳定。
  • 初始化鲁棒性: 随机初始化会引入噪声,但好坏架构的排名依旧稳定。
  • 批量大小: 在不同批量大小下,排名结果一致。

他们还跟踪了分数在训练过程中的变化:

图 6 显示了分数在训练周期中的演变。分数在早期迅速上升并趋于稳定,同时保持了架构的排名一致性。

图 6. 分数在最初几个训练周期急剧上升,然后趋于平稳。相对排序保持稳定。


NASWOT: 无需训练的神经架构搜索

借助这一鲁棒且快速的分数,作者提出了 NASWOT:

  1. 随机采样 \( N \) 个架构。
  2. 使用单个小批量数据为每个架构计算分数 \( s \)。
  3. 选择得分最高的架构。

当 \( N = 100 \) 时,NASWOT 仅需 30 秒 就能评估并选出一个顶尖候选架构。

表 2 显示 NASWOT 在准确率上击败了所有复杂的权重共享方法,并接近顶级非权重共享方法,同时具有巨大速度优势。

表 2. NASWOT 在准确率上超过所有权重共享基线方法,同时速度提升了几个数量级,性能接近最优的非权重共享方法。

搜索时间与准确率的权衡十分明显:

图 7 绘制了准确率与搜索时间的关系图,NASWOT 在以高准确率实现极速搜索方面远超其他方法。

图 7. NASWOT 处于最佳平衡点: 与传统 NAS 方法相比,用最少的搜索时间获得高准确率。


AREA: 辅助现有算法

该评分方法不仅适用于独立搜索。作者还构建了 AREA (Assisted Regularized EA) ——一种正则化进化 (REA) 的变体,它先从更大的随机样本中进行评分,并用最佳候选者初始化 REA。AREA 持续带来性能提升,显示了该方法的适应性。


结论: NAS 的新路径

《无需训练的神经架构搜索》表明,你可以通过分析网络在初始化时对输入的分离方式,在训练前预测其潜力。这带来了:

  • 可及性: NASWOT 可在单 GPU 上数秒内完成运行。
  • 高效率: 能够为不同设备或数据集实时执行专用架构搜索。
  • 混合潜力: 可为现有 NAS 算法提供“热启动”,提升效率。

虽然该研究聚焦于图像分类的卷积架构,但其影响远不止于此。这一概念验证挑战了 NAS 评估中对训练的依赖,为更快、更廉价、更易用的架构搜索铺平了道路——将强大的设计能力交到更多从业者手中。