Neural Architecture Search (NAS)
- 神经网络有很多不同得超参数
- 拓扑结构:残差连接,层数
- 独立层:核大小,通道数,隐藏层维度
- NAS自动设计神经网络
- 搜索空间是什么样
- 怎么探索搜索空间
- 表现评估
NAS with Reinforcement Learning
-
Zoph & Le 2017
- 一个基于强化学习的控制器来生成架构
- RNN控制器输出模型架构的设置
- 通过采样模型在收敛时的精度
-
方法很贵,采样不高效(~2000 GPU days),可以通过下面方法加速
- 评估表现
- 参数共享
The One-shot Approach
- 学习组合架构和模型超参数
- 构建一个单独的模型都需要很多不同的架构
- 评估候选架构
- 只关心候选排名
- 使用近似指标:只训练几个epoch
- 再从头训练最优的候选
Differentiable Architecture Search
- 通过学习得到哪条路比较好
Scaling CNNs
- 一个卷进网络有3种方法调节
- 更深:加层数
- 更宽:加通道
- 输入更大:提高输入图像分辨率
- EfficientNet提出一个复合调节方法
- 深度变换 $\alpha^{\phi}$,宽度 $\beta^{\phi}$,分辨率 $\gamma^{\phi}$
- 如果取 $\phi=1$,$\alpha \beta^2 \gamma^2\approx 2$ 计算复杂度翻一倍
- 微调四个参数
Research directions
- NAS结果可解释性,搜出来往往非常奇怪
- 搜索架构在边缘设备适应不错
- 边缘设备(手机)能力越来越强,数据隐私比较重要
- 但性能差距很大,可能不同的边缘设备差距100倍
- 同时最小化模型损失和硬件延迟
- 自动化模型拓展到ML
Summary
- NAS搜索神经网络架构
- 最大化精确度比你高且符合延迟约束
- NAS当前实际使用
- 深度,宽度,分辨率不同规模组合
- 可微的one-shot神经网络