神经网络架构搜索(NAS)概述
神经网络架构搜索(Neural Architecture Search, NAS)是自动化机器学习(AutoML)的核心研究领域,旨在自动设计高性能神经网络架构,无需人工专家参与。从2016年Zoph和Le的开创性工作以来,NAS已经发展成为深度学习领域最重要的研究方向之一。
NAS的基本流程
NAS系统通常由三个核心组件构成:
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ 搜索空间 │ -> │ 搜索策略 │ -> │ 评估方法 │
│ Design │ │ Strategy │ │ Evaluation │
└─────────────┘ └─────────────┘ └─────────────┘
│ │ │
▼ ▼ ▼
定义候选操作 探索架构空间 估计性能
拓扑结构约束 优化策略选择 减少计算
三大组件详解
1. 搜索空间(Search Space)
搜索空间定义了所有可能的候选架构,包括:
- 候选操作集(如卷积、池化、注意力等)
- 网络拓扑结构(节点连接方式)
- 宏观配置(深度、宽度、分辨率等)
搜索空间的设计直接影响NAS的搜索效率和最终架构质量。
2. 搜索策略(Search Strategy)
搜索策略决定了如何在庞大的搜索空间中高效探索,包括:
- 强化学习方法
- 进化算法
- 梯度优化方法
- 贝叶斯优化
- 随机搜索
3. 评估方法(Evaluation Method)
由于完整训练每个候选架构代价极高,评估方法旨在快速估计架构性能:
- 权重复用(Weight Sharing)
- 代理模型(Predictor)
- 零成本指标(Zero-Cost Proxy)
方法分类
根据搜索策略,NAS方法可大致分为以下几类:
1. 基于强化学习的NAS
使用强化学习代理作为控制器,通过奖励信号指导架构生成。
| 方法 | 年份 | 代表贡献 |
|---|---|---|
| NASNet | 2017 | 首次实现大规模NAS |
| ENAS | 2018 | 权重复用,大幅降本 |
| BlockQNN | 2018 | 分块化设计 |
优点:理论基础扎实,在大规模搜索空间表现优异
缺点:计算成本高,训练不稳定
详见:搜索策略详解
2. 基于进化算法的NAS
将架构编码为染色体,通过遗传操作进化最优架构。
| 方法 | 年份 | 代表贡献 |
|---|---|---|
| Genetic CNN | 2017 | 固定拓扑搜索 |
| AmoebaNet | 2019 | 进化搜索+强化学习 |
| Regularized Evolution | 2019 | 老化池策略 |
优点:并行化能力强,不需梯度
缺点:易陷局部最优,计算开销大
3. 基于梯度的NAS(DARTS系列)
DARTS(Differentiable Architecture Search)将离散架构选择松弛为连续可优化参数。
核心创新:
- 操作松弛:
- 双层优化:上层优化架构参数α,下层优化网络权重w
详见:DARTS与可微分NAS
4. 基于预测器的NAS
训练代理模型直接预测架构性能。
| 方法 | 特点 |
|---|---|
| BANANAS | 基于路径编码的贝叶斯优化 |
| Neural Predictor | 基于GNN的架构编码 |
| ONNX-Net | 跨基准迁移学习 |
详见:评估方法
搜索空间设计
搜索空间是NAS的基础,决定了探索的可能性边界。
单元格结构(Cell-based)
最流行的搜索空间设计范式:
Normal Cell (H=W) Reduction Cell (H=W/2)
┌─────────────────────┐ ┌─────────────────────┐
│ Input1 ─┬─→ [op] ──┐│ │ Input1 ─┬─→ [op] ──┐│
│ └─→ [op] ─┼┼─→ Out │ └─→ [op] ─┼┼─→ Out
│ Input2 ─┬─→ [op] ─┘│ │ Input2 ─┬─→ [op] ─┘│
└─────────────────────┘ └─────────────────────┘
搜索空间基准
| 基准 | 架构数量 | 主要特点 |
|---|---|---|
| NAS-Bench-101 | ~433K | DAG拓扑结构 |
| NAS-Bench-201 | 15,625 | 固定拓扑,4节点 |
| NAS-Bench-301 | ~10^18 | DARTS搜索空间 |
详见:搜索空间设计
评估指标对比
| 方法 | 需要训练 | 评估时间 | 准确性 |
|---|---|---|---|
| Full Training | ✓ | 数百小时 | 100% |
| One-Shot (DARTS) | ✓ | 1-2天 | 85-95% |
| Predictor | 部分 | 分钟级 | 88-93% |
| Zero-Shot (Zen) | ✗ | 秒级 | 70-85% |
发展趋势
2024-2026年新进展
- 稳定可微分搜索:BOSE-NAS解决DARTS性能崩溃问题
- Transformer专用NAS:DASViT、L-SWAG针对ViT优化
- 无拓扑约束:FX-DARTS允许更灵活的架构设计
- NAS+MoE:AutoMoE、MoENAS结合稀疏专家
详见:NAS与MoE的结合
与其他领域的融合
- 神经网络编译器:TVM/AutoTVM/Ansor集成NAS思想
- 边缘计算:EfficientNet-EdgeTPU
- 多目标优化:同时考虑准确率、延迟、能耗