神经架构搜索

分类: NAS与自动化设计

神经架构搜索

定义

自动化地在预定义搜索空间中寻找最优神经网络结构,目标是在给定资源约束下最大化任务性能。

数学形式

α=argminαALval(w(α),α)\alpha^* = \arg\min_{\alpha \in \mathcal{A}} \mathcal{L}_{val}(w^*(\alpha), \alpha)

其中 α\alpha 是架构参数,w(α)w^*(\alpha) 是对应架构的最优权重,A\mathcal{A} 为搜索空间。

核心要点

搜索空间: 定义候选操作(卷积类型、通道数、连接方式等)

搜索策略: 强化学习、进化算法、可微分搜索(DARTS)、贝叶斯优化

评估策略: 权重共享(Supernet)、早停、预测精度代理

逐块 NAS: 将全局搜索分解为每块独立评估,复杂度从 O(nN)O(n^N) 降至 O(n)O(n),适用于顺序模块(如代价过滤)

延迟感知搜索: 在精度优化目标中加入运行时约束,通过整数线性规划求解

代表工作

EfficientNet: Compound Scaling + NAS 得到高效 CNN

DARTS: 可微分架构搜索,用连续松弛代替离散搜索

Once-for-All: 一次训练支持多种子网络的 Supernet 方案

Fast-FoundationStereo: 逐块 NAS 优化立体匹配代价过滤模块

相关概念

整数线性规划

知识蒸馏

结构化剪枝