9.3 网络架构搜索【stanford-cs329p】


Neural Architecture Search (NAS)

  • 神经网络有很多不同得超参数
    • 拓扑结构:残差连接,层数
    • 独立层:核大小,通道数,隐藏层维度
  • NAS自动设计神经网络
    • 搜索空间是什么样
    • 怎么探索搜索空间
    • 表现评估

NAS with Reinforcement Learning

  • Zoph & Le 2017

    • 一个基于强化学习的控制器来生成架构
    • RNN控制器输出模型架构的设置
    • 通过采样模型在收敛时的精度
  • 方法很贵,采样不高效(~2000 GPU days),可以通过下面方法加速

    • 评估表现
    • 参数共享

The One-shot Approach

  • 学习组合架构和模型超参数
  • 构建一个单独的模型都需要很多不同的架构
  • 评估候选架构
    • 只关心候选排名
    • 使用近似指标:只训练几个epoch
  • 再从头训练最优的候选
avatar
  • 通过学习得到哪条路比较好

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神经网络