本文转自旷视研究院。

今日分享一篇来自旷视被收录为 CVPR2021 的论文『Neural Architecture Search with Random Labels』。详情如下:

  • 论文名称:Neural Architecture Search with Random Labels

  • 论文链接:https://arxiv.org/abs/2101.11834

  • 项目链接:https://github.com/megvii-model/RLNAS

收录会议:CVPR 2021

论文单位:旷视研究院

  一作  

张选杨

旷视研究院 Basemodel 组研究员,研究方向是通用模型设计,包括神经网络结构搜索、动态网络、模型裁剪以及知识蒸馏。

  解读人  

陆顺

2015年在北京科技大学自动化学院取得学士学位,目前在中科院计算所智能计算机研究中心攻读博士学位,指导老师为胡瑜。研究兴趣包括神经网络架构搜索、知识蒸馏、多任务学习等。

1

简介

近年来,神经网络架构搜索(Neural Architecture Search, 简称NAS)在多个领域展现出卓越的性能,因此受到了广泛的关注。当前NAS框架通常采用一种嵌套的双层优化形式:

其中,a表示搜索空间A中的一个候选结构,它的权重记为Wa,L(*)表示训练损失, Score(*) 表示性能预测器。这种 NAS 形式的方法目标是搜索在验证集性能最好的架构,我们称之为“performance-based NAS”。

基于[8]的分析,在 cell-based 的搜索空间下,NAS算法倾向于选择具有快速收敛性的网络结构,这暗示我们快速收敛性和好的性能可能具有很强的联系,简称为“收敛性假设”。基于这一假设,我们提出“convergence-based NAS”如下:

2

研究动机

我们分析标签在上述两种框架中的作用。

• 在 performance-based NAS ,上述公式1需要合理的标签选择出最高验证集性能的架构,公式2需要合理的标签来优化权重

• 在 convergence-based NAS ,公式3只依赖一种度量收敛速度的指标,因此不需要标签;虽然公式4需要标签,但它只是为评估收敛速度提供一种标准,因此不需要准确的标签。

综上所述, convergence-based NAS 对标签的需求比 performance-based NAS 要弱很多。因此,这促使我们思考,我们是否可以在 convergence-based NAS 中使用随机标签。因此,我们提出一种convergence-based NAS的框架,称为“Random Label NAS (RLNAS):即在公式4对应的步骤中,使用随机标签对采样的模型权重进行优化,而在公式3中使用[4]中的角度指标计算每个操作权重相较初始值的变化来估计某个操作的收敛速度。

3

创新和贡献

• 主要贡献:本文提出了一种全新的 convergence-based NAS 框架,使得只需要随机标签即可进行架构搜索。

• 潜在贡献点1:相比于随机搜索, RLNAS 更有效,可以为后续的NAS算法提供一个严格的验证。

• 潜在贡献点2:由于 RLNAS 只需要随机标签,因此对于搜索到的网络结构不可能偏向于某一个数据集,泛化性更好。

• 潜在贡献点3:由于 RLNAS 可以取得和监督的 NAS 框架一样好的性能,因此验证了上述收敛性假设。另一方面,这也暗示真实标签可能对 NAS 的帮助并不大,意味着当前NAS方法找到的结构可能还是次优解。

4

方法

4.1

预备知识:SPOS

SPOS[3] 方法将 NAS 优化问题分解为两个步骤:训练超网,搜索架构。

在超网的每一步训练中, SPOS 均匀采样并激活单一路径,并在一次迭代中只优化该路径对应的超网权重,公式化为:

其中L表示使用真实标签在训练集优化的目标函数,τ(A)是一个均匀采样分布。

超网训练收敛后, SPOS 使用进化算法进行架构搜索,得到如下搜索结构:

4.2

我们的方法:RLNAS

参照 SPOS 的训练机理, RLNAS 首先使用随机标签(R)训练超网:

然后使用进化算法以收敛指标 Convergence(*) 作为适应度,从超网中搜索最优架构:

4.2.1随机标签原理

在表示学习领域,深度神经网络能够使用部分随机标签拟合数据集[9]。并且,[7]尝试去理解深度神经网络使用完全随机标签学到了什么,并通过实验证明在某些情况下使用完全随机标签预训练可以加速下游任务的训练。

本文,随机标签的生成遵循离散均匀分布,并且离散变量的数量和数据集中默认的类别数相等。不同图片的随机标签在数据预处理时生成,在训练过程中图片和标签的配对将不会发生改变。

4.2.2基于角度的模型验证指标

• 回顾 ABS[4] 中的角度指标:超网是一个有向无环图,记作 A(O, E) ,其中 O 表示特征节点集合,E表示节点间的连接集合(每个连接可以实例化为一个候选操作), ABS 中定义了超网只有一个输入节点 Oin ,一个输出节点 Oout 。使用 V(a, W) 表示一个模型的权重向量, a 表示从超网中采样的一个候选模型, V(a, W) 是通过将输入节点到输出节点间的权重向量拼接构成的。初始化候选结构的权重和训练后的权重距离表示为:

• 权重向量的广义表示

由于某些搜索空间中,不止一个输入节点和一个输出节点,因此我们重定义 V(a, W) :即拼接从输入节点到输出节点的所有可能路径的权重。

• 参数化没有权重的操作

○  pool : 包括最大池化和平均池化,分配一个维度为[O, C, K, K]的tensor(O和C分别表示输入和输出通道,K表示核大小),所有元素值为1/K**2。

○  skip-connect : 和 ABS 给 skip-connect 分配一个空向量不同,我们提出还可以给 skip-connect 分配一个维度为[O, C, 1, 1]的 identity tensor ,并根据搜索空间的复杂度选择不同的分配策略。例如在 NAS-Bench-201 中分配空向量,在 DARTS 和 MobileNet-Like 的搜索空间中分配 identity tensor 。

○  none : 在 ABS 中, none 操作无需被参数化,并且它决定了形成权重向量V的路径数量。如果一条路径存在 none 操作,那么这条路径对应的操作权重将不会参与角度计算。

5

实验结果

5.1

搜索空间和实验设置

本文在 NAS-Bench-201[2] , DARTS[6] , MobileNet-like[1] 三个搜索空间进行实验。

5.2

搜索结果

5.2.1 NAS-Bench-201实验结果

搜索性能:在该搜索空间下,分别应用 RLNAS 算法在三种数据集 (CIFAR-10/CIFAR-100/ImageNet16-120) 搜索。首先使用随机标签并利用 SPOS 算法训练一个超网,然后使用验证集精度或角度指标作为实用度并使用遗传算法搜索架构,结果如表1所示。使用随机标签时, RLNAS 方法(D)获得的模型精度远高于使用验证集精度(C)作为评估标准时的实验结果,并且 RLNAS 获得的模型结果精度和使用真实标签的方法(A/B)相当甚至更好。

排序性能:可以看出即使使用随机标签(D),也能获得0.5左右的排序性能,优于使用真实标签的方法(A)。

5.2.2 DARTS搜索空间结果

在 CIFAR-10 搜索:首先在 CIFAR-10 数据集搜索,然后将搜得模型迁移到 ImageNet 进行重训练,可达76.0的 top-1 准确率。

在 ImageNet 搜索:直接在 ImageNet 搜索,重训练后,精度最高为75.9。

和 UnNAS[5] 对比:UnNAS 也是直接在 ImageNet 搜索,当没有 FLOPs 限制时, RLNAS 最高可达76.7的 top-1 准确率。而在600M内, RLNAS 最高可达75.9的 top-1 准确率。

5.2.3 MobileNet-like搜索空间结果

5.3

分析和讨论

5.3.1 不同生成随机标签的方法

(1) 同时均匀采样所有随机标签

(2) 在超网训练前,同时打乱所有真实标签

(3) 每一步训练,都均匀采样所有真实标签

(4) 每一步训练,都打乱所有真实标签

5.3.2 图片类别的影响

采样20个不同的类别(从10到200,间隔为10)。尽管在ImageNet16-120上波动很大(类别为[10,50]时),但可以看出对大部分类别,Kendall's Tau和测试集准确率都比较稳定。这暗示我们的方法可以直接迁移到那些图片类别未知的任务上。

5.3.3 角度指标的偏移分析

探究角度指标是否会偏向某种候选架构。使用随机搜索和Training free指标搜索的方法对比,并使用不同的随机种子初始化超网,可以看出RLNAS性能最优说明不会偏向某种候选结构。

5.4

泛化性能

• 目标检测:在MS COCO[26]数据集,使用RetinaNet[25]作为框架进行实验。

• 语义分割:在Cityscapes[14]数据集,使用DeepLab-v3[7]作为框架进行实验。

5.5

模型可视化

• DARTS搜索空间搜得模型可视化:

• MobileNet-like空间搜得模型可视化:

6

思考与讨论

(1)RLNAS使用角度来度量模型收敛速度,并提出了一套基于收敛速度的神经网络架构搜索框架,十分新颖。RLNAS 通过大量实验说明收敛速度快的模型具有优异的性能,但尚未从理论上证明收敛速度快的模型就是好模型。关于收敛速度和模型最终性能的关系还有待探究。

(2)近期,类似使用 Training free 指标的相关论文较多[10][11][12][13]。本方法与它们相比,优势在于更加鲁棒,且性能优异,在多个任务和相关数据集上得到了验证。而其它基于 Training free 指标的相关工作通常只在图像分类的 benchmark 上(如 NAS-Bench-101 和 NAS-Bench-201 等)进行简单验证,并通过一个图像分类任务的实验来说明其有效性。但是, RLNAS 仍然需要一个训练过程得到网络权重,从计算效率角度的分析。这一过程相比于其他 training-free 的 NAS 方法耗时较长。综合搜索结构性能和计算效率, RLNAS 表现更佳。

(3)关于一致性的讨论。RLNAS 中的实验都是基于权重共享机制,训练一个超网,利用超网的权重来计算子模型的角度。但由于权重共享机制的引入,必然造成权重之间相互耦合,是否会影响子模型的排序不得而知。能否定量或定性地说明角度的计算与权重共享程度之间的关系,相信也是值得思考的。

参考文献

[1] Cai H, Zhu L, Han S. Proxylessnas: Direct neural architecture search on target task and hardware[J]. arXiv preprint arXiv:1812.00332, 2018.

[2] Dong X, Yang Y. Nas-bench-201: Extending the scope of reproducible neural architecture search[J]. arXiv preprint arXiv:2001.00326, 2020.

[3] Guo Z, Zhang X, Mu H, et al. Single path one-shot neural architecture search with uniform sampling[C]//European Conference on Computer Vision. Springer, Cham, 2020: 544-560.

[4] Hu Y, Liang Y, Guo Z, et al. Angle-based search space shrinking for neural architecture search[C]//European Conference on Computer Vision. Springer, Cham, 2020: 119-134.

[5] Liu C, Dollár P, He K, et al. Are labels necessary for neural architecture search?[C]//European Conference on Computer Vision. Springer, Cham, 2020: 798-813.

[6] Liu H, Simonyan K, Yang Y. Darts: Differentiable architecture search[J]. arXiv preprint arXiv:1806.09055, 2018.

[7] Maennel H, Alabdulmohsin I, Tolstikhin I, et al. What Do Neural Networks Learn When Trained With Random Labels?[J]. arXiv preprint arXiv:2006.10455, 2020.

[8] Shu Y, Wang W, Cai S. Understanding architectures learnt by cell-based neural architecture search[J]. arXiv preprint arXiv:1909.09569, 2019.

[9] Zhang C, Bengio S, Hardt M, et al. Understanding deep learning requires rethinking generalization[J]. arXiv preprint arXiv:1611.03530, 2016.

[10] Mellor J, Turner J, Storkey A, et al. Neural architecture search without training[J]. arXiv preprint arXiv:2006.04647, 2020.

[11] Abdelfattah M S, Mehrotra A, Dudziak Ł, et al. Zero-Cost Proxies for Lightweight NAS[J]. arXiv preprint arXiv:2101.08134, 2021.

[12] Chen W, Gong X, Wang Z. Neural architecture search on imagenet in four gpu hours: A theoretically inspired perspective[J]. arXiv preprint arXiv:2102.11535, 2021.

[13] Lin M, Wang P, Sun Z, et al. Zen-NAS: A Zero-Shot NAS for High-Performance Deep Image Recognition[J]. arXiv preprint arXiv:2102.01063, 2021.

备注:NAS

AutoML&NAS交流群

自动机器学习、神经架构搜索等技术,

若已为CV君其他账号好友请直接私信。

在看,让更多人看到  

CVPR 2021 | 基于随机标签的神经架构搜索相关推荐

  1. Google CVPR 2019最新成果!用神经架构搜索实现更好的目标检测

    图灵TOPIA 作者:Golnaz Ghaisi等 编译:刘静 图灵联邦编辑部出品 4月16日,arXiv公布了一篇谷歌大脑的最新成果论文,已被CVPR 2019接收. 研究人员采用神经网络架构搜索, ...

  2. 【CV】NASNet:基于神经架构搜索得到的用于可扩展图像识别的 CNN 可迁移架构

    论文名称:Learning Transferable Architectures for Scalable Image Recognition 论文下载:https://arxiv.org/abs/1 ...

  3. CVPR2021 | AttentiveNAS:通过注意力采样改善神经架构搜索

    AttentiveNAS:通过注意力采样改善神经架构搜索 摘要 动机 Two-stage NAS 传统 NAS 问题建模 第一阶段:无约束的预训练 第二阶段:资源约束的搜索 Attentive Sam ...

  4. 神经架构搜索(Neural Architecture Search,NAS)介绍

    神经架构搜索Neural Architecture Search,NAS介绍 Introduction Intractable Search Space Non transferable optima ...

  5. 神经架构搜索(NAS)2020最新综述:挑战与解决方案

    终于把这篇NAS最新的综述整理的survey放了上来,文件比较大,内容比较多.这个NAS的survey是A Comprehensive Survey of Neural Architecture Se ...

  6. 神经架构搜索在视频理解中研究进展的综述

    作者 | Michael S. Ryoo 研究员与 AJ Piergiovanni 学生研究员(Google 机器人团队) 来源 | TensorFlow(ID:TensorFlow_official ...

  7. 入门必备 | 一文读懂神经架构搜索

    作者 | Md Ashiqur Rahman 编译 | 刘静 转载自图灵TOPIA(ID: turingtopia) 近期谷歌大脑团队发布了一项新研究:只靠神经网络架构搜索出的网络,不训练,不调参,就 ...

  8. MnasNet:移动端模型的自动化神经架构搜索方法

      基于AutoML方法,结合强化学习设计一种资源约束的移动端 CNN 模型MnasNet.该系统主要包括三个部分:(1)循环神经网络驱动的控制器,用于学习和采样模型的架构:(2)训练器,用于构建和训 ...

  9. ​从800个GPU训练几十天到单个GPU几小时,看神经架构搜索如何进化

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转载自:机器之心  作者:Erik Lybecker  |  参 ...

最新文章

  1. 《笑傲网湖》第三回 三层交换
  2. matlab optimvar
  3. AI开发者大会:2020年7月3日09:30--09:50司罗《为商业搭建语言桥梁》
  4. linux嵌入式开发箱跑马灯,跑马灯实验(STM32F4开发板)
  5. flush无效,IIS7下php怎么实时输出?
  6. PVFS2 1.4.0的安装、配置与性能测试
  7. 华为P40 Pro将搭载索尼IMX 700传感器:支持十六像素合一
  8. leetcode题解108-将有序数组转换为二叉排序树
  9. C++ 删除字符串的首尾空字符
  10. JSP内置对象实现表的增删查改
  11. (笔记)《游戏脚本高级编程》——第1章 脚本编程概论
  12. 基于python的贪吃蛇游戏设计论文_《贪吃蛇游戏课程设计》报告毕业设计(论文)...
  13. STM32F030 定时器
  14. P2440 木材加工
  15. 戏如人生,人生如戏!
  16. spark-streaming从入门到精通
  17. 报告|中国智能音箱已入局全球市场,双重商业模式迅速扩张
  18. Paddle Quantum 量桨入门手册
  19. 数据中心机房与机柜理线方法介绍
  20. MySQL第十次作业

热门文章

  1. IPC--进程间通信二(命名管道)
  2. Unity MegaFiers 顶点动画
  3. CentOs基础操作指令(文件所属管理和权限管理)
  4. 线性代数第9版英文pdf_线性代数(英文版·第9版)
  5. hbase 导入到es_HBase 实现数据同步 ElasticSearch
  6. java操作mysql临时表_Java开发网 - 系统临时表使用问题
  7. itext 添加空格_itext7史上最全实战总结
  8. python输入姓名 性别身高_python简单实现学生管理系统
  9. sqlserver连接oracle(通过ODBC)
  10. python如何画曲线图_如何使用python画曲线图