UnNAS: Are Labels Necessary for Neural Architecture Search?

2023-10-31 20:38

本文主要是介绍UnNAS: Are Labels Necessary for Neural Architecture Search?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

无监督网络架构搜索

当前业界主流的NAS算法都是利用有监督数据来搜索,然后再用有监督数据(可能和搜索数据不一样)来训练和评估。这篇论文提出一个崭新的方法,利用无监督的数据来搜索架构,称为Unsupervised Neural Architecture Search (UnNAS)。

和其他的NAS算法一样,UnNAS也分成两个阶段:搜索阶段(Search Phase)和评估阶段(Evaluation Phase)。搜索阶段是从预定义的网络搜索空间里探索和选择一个最好的网络模型,UnNAS的搜索阶段采用的是无监督的数据,这是这篇论文最大的创新点。评估阶段是用来判断搜索阶段搜索出来的网络模型是优是劣,一般采用和搜索阶段不一样的数据集来训练网络模型参数和评估精度等指标,在这里UnNAS的方法和当前其他方法一样,也是采用有监督的数据来评估。

在这里插入图片描述
上图表示的是无监督UnNAS和传统无监督深度学习的异同点。传统无监督深度学习在训练阶段使用无监督数据来训练一个确定的网络模型,在评估阶段的时候只是在有监督数据上用来训练网络头部或者当做特征提取器等;UnNAS的搜索阶段对应传统深度学习的训练阶段,只是无监督数据是用来从搜索空间中搜索出一个网络模型,并不用来对搜索出来的模型进行权值训练,在评估阶段的时候使用有监督数据对网络模型从头开始训练。

实验过程

作者接下来做了两种实验,一个是基于采样(sample-based),另一个是基于搜索(search-based)。在基于采样实验中,从搜索空间中随机选取一组小型的网络进行很少epoch的无监督训练,目的是为了证明网络的无监督训练和有监督训练之间存在强关联性。在基于搜索实验中,则是用无监督数据从搜索空间中找到一个最佳的网络。

无监督数据

作者采用了三种方法来构造无监督数据(准确的说,是自监督方法)。

  1. 旋转。将任意一张图片从四个旋转角度(0, 90, 180, 270)中随机挑取一个进行旋转,网络的输出是长度为4的分类头,分别对应这四个角度。
  2. 颜色。输入的图片是一个灰度图,网络的输出是在每个像素点上预测一组预定义的颜色分类(共313类)。
  3. 拼接。将输入图片进行切割成同等大小矩阵块,随机打乱并拼接,网络的输出是预测采用哪种方式拼接。

基于采样的实验

论文从搜索空间中随机挑选了 n = 500 n=500 n=500个网络,分别用上面三种用无监督数据从头训练这个网络模型,也用有监督的数据来训练这些网络。
在基于采样的方法上,论文也做了两种分析,一个是排名相关分析,另一个是随机实验分析。

  1. 排名相关分析。作者分别从DARTS和NAS-Bench-101两个搜索空间上随机挑选 n = 500 n=500 n=500个网络,并在Cifar-10和ImageNet数据集上分别分析三种无监督数据和有监督数据训练出来的模型之间精度的关联性。实验结果如下图所示。

在这里插入图片描述Cifar-10数据集上的实验

在这里插入图片描述ImageNet数据集上的实验

在这里插入图片描述Cifar-10和ImageNet两种数据集上的对比

从图中可以看出,在cifar-10和ImageNet上,甚至在跨数据集上,无监督和有监督的关联值 ρ \rho ρ都几乎达到了0.8左右或者以上,说明用对于网络来说,有监督数据和无监督数据的训练结果具有高度的一致性。

  1. 随机实验分析。随机实验每次从500个网络里面取m个在cifar-10上的网络结果,并选择最佳性能,共选取了 [ n / m ] [n/m] [n/m]次,计算这 [ n / m ] [n/m] [n/m]个网络在ImageNet上的实验结果均值和误差值。作者在ImageNet数据集的实验性能上进行统计,结果如下图。
    在这里插入图片描述
    从图中可以看出,不管是有监督数据还是无监督数据,在cifar-10上训练好的网络,在ImageNet上也同样具有相似的结果。

基于搜索的实验

基于搜索的实验其实就是在做NAS的搜索过程,只是之前的算法采用的有监督的数据,本论文采用的是三种无监督的数据来完成。作者搜索阶段采用的是DARTS的方法,并分别在ImageNet-1K、ImageNet-22K和Citycapes三种数据集上进行搜索。在评估阶段上,作者分别在ImageNet-1K和Citycapes上对搜索出来的模型进行Fully Train,实验的结果如下图所示。

在这里插入图片描述ImageNet上的评估结果

在这里插入图片描述Citycapes上的评估结果

在搜索过程和评估过程中,相同数据集下的实验参数都是一样的。通过实验可以看出,有监督和无监督数据集搜索出来的网络的评估结果基本上是相当的。特别的,在搜索数据和评估数据是一致的条件下,无监督数据搜索出来的网络在ImageNet-1K上进行评估时,效果略差于有监督数据;但是在Citycapes数据集上,无监督搜索出来的网络却优于有监督数据。

这篇关于UnNAS: Are Labels Necessary for Neural Architecture Search?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/317969

相关文章

Spring Security--Architecture Overview

1 核心组件 这一节主要介绍一些在Spring Security中常见且核心的Java类,它们之间的依赖,构建起了整个框架。想要理解整个架构,最起码得对这些类眼熟。 1.1 SecurityContextHolder SecurityContextHolder用于存储安全上下文(security context)的信息。当前操作的用户是谁,该用户是否已经被认证,他拥有哪些角色权限…这些都被保

AI基础 L9 Local Search II 局部搜索

Local Beam search 对于当前的所有k个状态,生成它们的所有可能后继状态。 检查生成的后继状态中是否有任何状态是解决方案。 如果所有后继状态都不是解决方案,则从所有后继状态中选择k个最佳状态。 当达到预设的迭代次数或满足某个终止条件时,算法停止。 — Choose k successors randomly, biased towards good ones — Close

JavaScript正则表达式六大利器:`test`、`exec`、`match`、`matchAll`、`search`与`replace`详解及对比

在JavaScript中,正则表达式(Regular Expression)是一种用于文本搜索、替换、匹配和验证的强大工具。本文将深入解析与正则表达式相关的几个主要执行方法:test、exec、match、matchAll、search和replace,并对它们进行对比,帮助开发者更好地理解这些方法的使用场景和差异。 正则表达式基础 在深入解析方法之前,先简要回顾一下正则表达式的基础知识。正则

MonoHuman: Animatable Human Neural Field from Monocular Video 翻译

MonoHuman:来自单目视频的可动画人类神经场 摘要。利用自由视图控制来动画化虚拟化身对于诸如虚拟现实和数字娱乐之类的各种应用来说是至关重要的。已有的研究试图利用神经辐射场(NeRF)的表征能力从单目视频中重建人体。最近的工作提出将变形网络移植到NeRF中,以进一步模拟人类神经场的动力学,从而动画化逼真的人类运动。然而,这种流水线要么依赖于姿态相关的表示,要么由于帧无关的优化而缺乏运动一致性

插件maven-search:Maven导入依赖时,使用插件maven-search拷贝需要的依赖的GAV

然后粘贴: <dependency>    <groupId>mysql</groupId>    <artifactId>mysql-connector-java</artifactId>    <version>8.0.26</version> </dependency>

PC/MCU/SoC使用的计算机架构(Architecture)

1. 冯·诺依曼结构 冯·诺依曼结构(Von Neumann Architecture)是计算机系统的经典架构,由数学家约翰·冯·诺依曼在1945年提出。它的核心思想是程序存储器和数据存储器共享同一存储设备,程序和数据以相同的方式存储和访问。冯·诺依曼架构的主要特点包括: 单一存储器:存储程序指令和数据在同一个存储器中。控制单元:通过程序计数器顺序执行指令。数据路径:通过一个共享的总线,将数据

A Comprehensive Survey on Graph Neural Networks笔记

一、摘要-Abstract 1、传统的深度学习模型主要处理欧几里得数据(如图像、文本),而图神经网络的出现和发展是为了有效处理和学习非欧几里得域(即图结构数据)的信息。 2、将GNN划分为四类:recurrent GNNs(RecGNN), convolutional GNNs,(GCN), graph autoencoders(GAE), and spatial–temporal GNNs(S

广度优先搜索Breadth-First-Search

目录  1.问题 2.算法 3.代码 4.参考文献  1.问题         广度优先搜索,稍微学过算法的人都知道,网上也一大堆资料,这里就不做过多介绍了。直接看问题,还是从下图招到一条从城市Arad到Bucharest的路径。  该图是连通图,所以必然存在一条路径,只是如何找到最短路径。 2.算法 还是贴一个算法的伪代码吧: 1 procedu

【0323】Postgres内核之 hash table sequentially search(seq_scan_tables、num_seq_scans)

0. seq scan tracking 我们在这里跟踪活跃的 hash_seq_search() 扫描。 需要这种机制是因为如果扫描正在进行时发生桶分裂(bucket split),它可能会访问两次相同的条目,甚至完全错过某些条目(如果它正在访问同一个分裂的桶中的条目)。因此,如果正在向表中插入数据,我们希望抑制桶分裂。 在当前的使用中,这种情况非常罕见,因此只需将分裂推迟到下一次插入即可。

OpenSNN推文:神经网络(Neural Network)相关论文最新推荐(九月份)(一)

基于卷积神经网络的活动识别分析系统及应用 论文链接:oalib简介:  活动识别技术在智能家居、运动评估和社交等领域得到广泛应用。本文设计了一种基于卷积神经网络的活动识别分析与应用系统,通过分析基于Android搭建的前端采所集的三向加速度传感器数据,对用户的当前活动进行识别。实验表明活动识别准确率满足了应用需求。本文基于识别的活动进行卡路里消耗计算,根据用户具体的活动、时间以及体重计算出相应活