前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >神经网络架构搜索——可微分搜索(Cyclic-DARTS)​

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

作者头像
AI异构
发布2020-07-29 15:25:27
9230
发布2020-07-29 15:25:27
举报
文章被收录于专栏:AI异构AI异构

Cyclic-DARTS

本文为微软研究院的NAS工作,论文题目:Cyclic Differentiable Architecture Search。传统的DARTS在浅层网络(8 Cell)中搜索最优架构,然后在深层评价网络(20 Cell)中测量其性能。这导致架构搜索的优化与目标评价网络无关,发现的架构是次优的。针对搜索网络和评价网络的GAP问题,提出了一种新型的循环可微分架构搜索框架(CDARTS),在搜索网络和评价网络之间建立了循环反馈机制,并在CIFAR、ImageNet 和 NAS-Bench-201 上的实验和分析证明了所提出的方法的有效性。

  • 论文链接:https://arxiv.org/abs/1911.12126.pdf
  • 源码链接:https://github.com/researchmm/CDARTS

摘要

近来,可微分架构搜索因其高效率、高性能的竞争优势引起了人们的极大关注。它在浅层网络中搜索最优架构,然后在深层评价网络中测量其性能。这导致架构搜索的优化与目标评价网络无关,发现的架构是次优的。为了解决这个问题,本文提出了一种新型的循环可微分架构搜索框架(CDARTS)。考虑到结构差异,CDARTS 在搜索网络和评价网络之间建立了循环反馈机制。首先,搜索网络生成一个初始拓扑进行评估,这样可以优化评价网络的权重。其次,搜索网络中的架构拓扑通过分类中的标签监督,以及来自评价网络的正则化通过特征提炼进一步优化。重复上述循环,搜索网络和评价网络共同优化,从而实现拓扑结构的进化,以适应最终的评价网络。在CIFAR、ImageNet 和 NAS-Bench-201 上的实验和分析证明了所提出的方法的有效性。

方法

预训练

\begin{aligned} p\left(w_{E}, \bar{\alpha}\right) &=\frac{\exp \left(f_{i}^{E} / T\right)}{\sum_{j} \exp \left(f_{j}^{E} / T\right)} \\ q\left(w_{S}^{*}, \alpha\right) &=\frac{\exp \left(f_{i}^{S} / T\right)}{\sum_{j} \exp \left(f_{j}^{S} / T\right)} \end{aligned} \qquad (5)
网络架构

Cyclic-DARTS网络结构示意图

Cyclic-DARTS的网络结构如上图所示。它由两个分支组成:一个有8个堆叠单元的搜索网络和一个有20个单元的评估网络。搜索网络和评估网络与之前的DARTS方法是相同的架构。

S-Net -> E-Net

对于信息传输,本文在两个分支之间建立了连接。更具体地说,有一个拓扑传输路径将发现的 Cell 架构从搜索分支传递到评估分支,上图中呈现的顶部粗箭头线。请注意,由于搜索空间的连续松弛,搜索网络发现的单元结构是一个全连接的图。换句话说,所有的候选操作都应用于计算图中每个节点的特征。当使用这种连续单元结构来构建新的评价网络时,我们需要先进行离散化处理。与之前 DARTS 工作相同,只保留之前所有节点收集到的所有候选操作中的 top-k(k = 2)最强操作。这个导出的离散单元结构作为评估分支的基本构件。

E-Net -> S-Net

另一方面,还有另一条特征提炼路径将评价分支的特征反馈传递给搜索分支,如上图中底部实心箭头所示。该反馈作为搜索网络的监督信号,以找到更好的单元结构。在细节上,本文使用评价网络的多级特征作为反馈信号,因为它们在捕捉图像语义上具有代表性。如上图所示的横向嵌入连接,多级特征将低分辨率、语义强的特征与高分辨率、语义弱的特征结合起来。这些特征来自于各阶段的输出,然后通过嵌入模块生成对应的特征对数。嵌入模块的功能是将密集的特征图投影到低维子空间中,通过软交叉熵层将得到的评价网络的对数作为搜索网络的监督信号,如公式(4)。

算法伪代码

Cyclic DARTS算法伪代码

实验

NAS-Bench-201

基于NAS-Bench-201的实验结果

CIFAR

CIFAR10和CIFAR100的实验结果

ImageNet

ImageNet实验结果

消融实验

组件分析

消融实验-1

相关性分析

消融实验-2

评估网络的深度

由于GPU内存的限制,DARTS的搜索网络只能堆叠 8 个单元,而评估网络则包含 20 个单元。这带来了在PDARTS中研究的所谓的深度差距问题。本文证明了在 Cycle-DARTS 的方法中不存在这种问题,因为将搜索和评估集成到一个统一的体系结构中。如下所示,本文比较了评估网络中不同数量单元的性能。它清楚地表明 20 单元评估网络(红线)的性能优于8单元网络(绿线)。提出的两个网络的联合训练可以减轻深度差距的影响。

消融实验-3

搜索轮数的影响

从上图可以看出,当搜索时期数接近 30 时,性能趋于饱和,评估网络的结构也趋于稳定。因此,在实验中将搜索轮数设置为 30。

总结

在这项工作中,受 DARTS 中搜索和评估网络的分离问题的影响,提出了一种循环可微搜索算法,该算法将两个网络集成到一个统一的体系结构中。交替联合学习使得能够搜索架构以适合最终评估网络。实验证明了所提算法和搜索架构的有效性,它们在CIFAR,ImageNet和NAS-Bench-201上均具有竞争性能。

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Cyclic-DARTS
    • 摘要
      • 方法
        • 预训练
        • 网络架构
        • 算法伪代码
      • 实验
        • NAS-Bench-201
        • CIFAR
        • ImageNet
      • 消融实验
        • 组件分析
        • 相关性分析
        • 评估网络的深度
        • 搜索轮数的影响
      • 总结
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档