神经架构搜索(NAS)

AI TERM术语词条

NAS

技术原理 自动机器学习架构搜索超参数自动化权重共享

术语释义

让算法自动设计神经网络结构的技术,把层类型与连接方式纳入搜索空间自动评估取舍,减少人工试错并有机会发现新颖设计。

神经架构搜索(Neural Architecture Search,简称 NAS)是让算法自动设计神经网络结构的技术。它把层数、算子类型、连接方式、通道宽度等设计选择定义为搜索空间,用搜索策略不断生成候选结构并评估表现,最终保留效果最好的一批。这样既减少了人工反复试错,也有机会发现凭直觉不容易想到的设计。

三个组成部分

  • 搜索空间:规定可以组合的算子与连接方式,决定解的上限与搜索难度
  • 搜索策略:用强化学习、进化算法或可微松弛等方式在空间中挑选候选
  • 性能评估:对候选结构做训练或低成本代理估计,判断优劣并反馈给策略

搜索策略的几种思路

强化学习把结构生成看作一串离散选择,用最终表现作为奖励反馈;进化算法维护一批候选,通过变异与交叉不断迭代;可微方法把离散的结构选择松弛成连续权重,让结构参数与网络权重一起用梯度下降优化,效率明显提升;还有基于性能预测的思路,先训练一个模型预测结构好坏,以此减少真实训练次数。不同思路的主要差别在于搜索成本,以及找到的结构能否迁移到别的任务。

代价与现状

最直接的做法是每个候选都完整训练一遍,算力开销极高,因此出现了权重共享、代理任务与早停等加速手段。搜索出的结构往往还带有很强的任务与硬件偏好,迁移到别的数据或设备上未必同样出色。实践中它更适合算力充足、且结构设计空间明确的场景;在数据与资源有限时,靠经验做结构设计往往更划算。

搜索出来的结构长什么样

实践中被搜到的结构往往是重复出现的小单元,由若干卷积或注意力算子加上特定的连接方式组成,整张网络再由这些单元按固定模式堆叠而成。这样设计的好处是搜索空间被大幅压缩,一旦找到好单元就能按需放大到不同规模,不必逐层重新搜索。也正因如此,这类成果通常表现为可复用的结构范式,而不是某个只能用在特定数据集上的完整网络。

实践要点

  • 先收缩空间:把搜索范围限制在已被验证有效的算子与连接方式内
  • 用代理指标:以少量训练步数或小规模数据上的表现做初筛
  • 共享权重:让候选共用一份超网权重,把评估成本压到可接受的水平
  • 写入硬件约束:把延迟、显存等实际限制纳入搜索目标,而不只看精度
  • 复核最终结构:对搜到的少数候选做完整训练与多轮验证再定稿

常见误区

  • 以为搜索必然胜过人工设计:在数据和算力有限时,人工经验常常更划算
  • 只看搜到的精度:忽略推理成本,得到的结构可能根本无法上线
  • 低估搜索代价:一次完整搜索的算力可能远超直接训练几个模型
  • 直接迁移结果:换了数据集或硬件后,原结构未必仍然最优
查看全部 218 条 →
共 9 条