前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >GOLD-NAS:针对神经网络可微分架构搜索的一次大手术

GOLD-NAS:针对神经网络可微分架构搜索的一次大手术

作者头像
AI异构
发布2020-10-29 10:04:11
1K0
发布2020-10-29 10:04:11
举报
文章被收录于专栏:AI异构AI异构

GOLD-NAS

本文是华为,清华与同济大学联合发表的基于可微分网络搜索的论文,论文目前已投递到 ICLR2021。本文基于传统DARTS搜索空间受限,二阶优化不稳定,超网络离散化误差大的这三个问题,对DARTS进行了一场全面的手术。本文针对上述三个问题提出了渐进式的(Gradual),一阶段的(One-Level),可微分的(Differentiable) 神经网络架构搜索(GOLD-NAS)。在标准的图像分类基准中,GOLD-NAS 可以找到单个搜索过程中的一系列的帕累托最优架构。

  • 论文题目:GOLD-NAS: Gradual, One-Level, Differentiable
  • 开源代码:https://github.com/sunsmarterjie/GOLD_NAS

DARTS目前的问题

搜索空间受限

DARTS的搜索空间非常有限,例如,对于每个边保留了一个运算符,每个节点固定接收两个前继输入,等等。这些约束有利于NAS搜索的稳定性,但它们也缩小了强大的搜索方法带来的准确性。最典型的,某些启发式设计(例如,每个单元格中有两个跳连运算符)或搜索技巧(例如,Early Stop),甚至随机搜索也可以达到令人满意的效果。

双层优化不稳定

DARTS需要双层优化,即训练阶段以优化网络权重验证阶段以更新体系结构参数。这种机制带来了计算负担,更重要的是,梯度估计存在很大的不准确性可能会大大降低搜索过程

离散化误差大

在超级网络建立之后,DARTS会立即剪掉弱的运算符和边,但此步骤可能会带来较大的离散误差,尤其是当权重为被修剪的运算符不能保证很小。

GOLD-NAS的解决方案

搜索空间重定义
  • 不同的Cell可以拥有不同的结构
  • 每条边可以包含超过一个操作
  • 每条边只保留两个操作(Skip-Connect 和 Sep-conv-3x3)
  • 每个节点可以选择从任数量的前继作为输入
  • 训练过程中,操作参数从原始的Softmax归一化(竞争)修改为Signoid元素化(独立)
一阶段优化

可微分NAS的目标是解决以下优化问题:

\boldsymbol{\alpha}^{\star}=\arg \min _{\boldsymbol{\alpha}} \mathcal{L}\left(\boldsymbol{\omega}^{\star}(\alpha), \boldsymbol{\alpha} ; \mathcal{D}_{\operatorname{train}}\right), \quad \text { s.t. } \quad \boldsymbol{\omega}^{\star}(\alpha)=\arg \min _{\boldsymbol{\omega}} \mathcal{L}\left(\boldsymbol{\omega}, \boldsymbol{\alpha} ; \mathcal{D}_{\text {train }}\right)

一阶段优化目标旨在同步更新架构参数

\boldsymbol{\alpha}^{\star}

和网络权重

\boldsymbol{\omega}^{\star}

:

\omega_{t+1} \leftarrow \omega_{t}-\eta_{\omega} \cdot \nabla_{\omega} \mathcal{L}\left(\omega_{t}, \alpha_{t} ; \mathcal{D}_{\operatorname{train}}\right), \quad \alpha_{t+1} \leftarrow \alpha_{t}-\eta_{\alpha} \cdot \nabla_{\alpha} \mathcal{L}\left(\omega_{t}, \alpha_{t} ; \mathcal{D}_{\operatorname{train}}\right)

根据NAS的搜索架构我们了解到架构参数

\boldsymbol{\alpha}^{\star}

(10数量级)和网络权重

\boldsymbol{\omega}^{\star}

(百万数量级)存在很大的参数数量差距。因此,在之前的训练中往往采用不同的优化器设置不同的优化参数,但是,由于参数数量上的差距优化器仍然会趋向于优化网络参数

\boldsymbol{\omega}^{\star}

。本文,将训练集进一步切分为两部分

\mathcal{D}_{\text {train }}=\mathcal{D}_{1} \cup \mathcal{D}_{2}

,分别训练架构参数和网络权重:

\boldsymbol{\alpha}^{\star}=\arg \min _{\boldsymbol{\alpha}} \mathcal{L}\left(\boldsymbol{\omega}^{\star}(\alpha), \boldsymbol{\alpha} ; \mathcal{D}_{1}\right), \quad \text { s.t. } \quad \boldsymbol{\omega}^{\star}(\alpha)=\arg \min _{\boldsymbol{\omega}} \mathcal{L}\left(\boldsymbol{\omega}, \boldsymbol{\alpha} ; \mathcal{D}_{2}\right)
\omega_{t+1} \leftarrow \omega_{t}-\eta_{\omega} \cdot \nabla_{\omega} \mathcal{L}\left(\omega_{t}, \alpha_{t} ; \mathcal{D}_{2}\right), \quad \alpha_{t+1} \leftarrow \alpha_{t}-\eta_{\alpha} \cdot \nabla_{\alpha} \mathcal{L}\left(\omega_{t+1}, \alpha_{t} ; \mathcal{D}_{1}\right)

一级优化往往存在更严重的搜索不稳定问题,文中给出的解决方法是:针对小数据集(CIFAR-10)可以在训练过程中添加正则化(例如,Cutout或AutoAugment); 亦或是直接在大数据集(ImageNet)上搜索

基于资源约束的渐进式剪枝

传统的DARTS在超网络训练完成后按规则进行离散化剪枝,但是在兼职过程中会产生巨大的离散化误差。本文,为了解决离散化误差的问题采用的渐进式剪枝过程,并且在多次剪枝过程中,每次剪掉参数趋于0的操作,尽量避免因剪枝造成的离散误差。另外,为了实现架构参数在训练过程中趋于0或者1,本文添加了基于资源约束的正则化Loss:

\mathcal{L}(\boldsymbol{\omega}, \boldsymbol{\alpha})=\mathbb{E}_{\left(\mathbf{x}, \mathbf{y}^{\star}\right) \in \mathcal{D}_{\text {train }}}\left[\mathrm{CE}\left(f(\mathbf{x}), \mathbf{y}^{\star}\right)\right]+\lambda \cdot(\overline{\mathrm{FL} \mathrm{OPs}}(\boldsymbol{\alpha})+\mu \cdot \mathrm{FLOPs}(\boldsymbol{\alpha}))
GOLD-NAS 算法流程图

GOLD-NAS 算法流程图

结果

帕累托边界

帕累托边界

CIFAR-10 结果

CIFAR-10 结果

CIFAR-10搜索结果可视化:红色线代表Skip-Connect;蓝色线代表sep-conv-3x3

ImageNet 结果

神经网络架构搜索——可微分搜索(DAAS)

神经网络架构搜索——二值可微分搜索(BATS)

神经网络架构搜索——可微分搜索(Latency-DARTS)

神经网络架构搜索——可微分搜索(DARTS+)

神经网络架构搜索——可微分搜索(DARTS)

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-10-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AI异构 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • GOLD-NAS
    • DARTS目前的问题
      • 搜索空间受限
      • 双层优化不稳定
      • 离散化误差大
    • GOLD-NAS的解决方案
      • 搜索空间重定义
      • 一阶段优化
      • 基于资源约束的渐进式剪枝
      • GOLD-NAS 算法流程图
    • 结果
      • 帕累托边界
      • CIFAR-10 结果
      • ImageNet 结果
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档