Are Labels Necessary for Neural Architecture Search? ECCV 2020 spotlight
https://arxiv.org/abs/2003.12056 https://github.com/facebookresearch/unnas
Chenxi Liu, Piotr Dollár, Kaiming He, Ross Girshick, Alan Yuille, Saining Xie
计算机视觉中现有的神经网络结构——无论是由人类还是由机器设计——通常都是使用图像及其相关标签来发现的。在这篇论文中,我们提出了一个问题:我们是否可以只使用图像而不使用人类注释标签来找到高质量的神经结构?为了回答这个问题,我们首先定义了一个称为无监督神经架构搜索(UnNAS)的新设置。然后我们进行两组实验。在基于样本的实验中,我们训练了大量(500)具有监督或非监督目标的不同体系结构,并发现有标签和无标签产生的体系结构排名高度相关。在基于搜索的实验中,我们使用各种无监督目标运行了一个成熟的NAS算法(DARTS),并报告说,在没有标签的情况下搜索的体系结构可以与使用标签搜索的体系结构相竞争。总之,这些结果揭示了一个潜在的令人惊讶的发现,即标签是不必要的,仅图像统计数据就足以识别良好的神经结构。
1.引言
神经体系结构搜索(NAS)是一个研究如何在目标数据和任务上搜索性能良好的体系结构的问题。围绕NAS的一个关键谜团是什么因素促成了搜索的成功。直观地说,在搜索过程中使用目标数据和任务将导致最小的域差距(domain gap),这确实是早期NAS尝试中采用的策略[36,27]。后来,研究人员[37]开始利用体系结构的可迁移性,这使得搜索能够在不同于目标(如ImageNet)的数据和标签(如CIFAR-10)上执行。但是,没有改变的是,为了搜索架构,需要使用数据集中提供的图像和(语义)标签。换句话说,现有的NAS方法在监督学习机制中执行搜索。
在本文中,我们朝着了解监督在NAS成功中所起的作用迈出了一步。我们提出这样一个问题:标签在神经架构搜索中有多不可或缺?是否可以仅使用图像来找到高质量的体系结构?这对应的是重要却仍未被探索的无监督神经架构搜索,我们会在第3节将其形式化。
由于没有标签,架构的质量需要在搜索阶段以无监督的方式进行评估。在目前的工作中,我们使用最近的自监督学习文献中的三种无监督训练方法[12,35,22]进行了两组实验(注释4:自监督学习是无监督学习的一种形式。术语“无监督学习”一般强调“没有人类注释标签”,而术语“自监督学习”强调“从数据生成标签”。)。这两组实验从互补的角度探讨了这个问题。在基于样本的实验中,我们从一个搜索空间中随机抽取500个架构,使用有监督和自监督的目标对它们进行训练和评估,然后检查两种训练方法之间的排序相关性(当按精度排序模型时)。在基于搜索的实验中,我们采用了一种成熟的NAS算法,将有监督的搜索目标替换为一个自监督的搜索目标,并在诸如ImageNet分类和Cityscapes语义分割等任务上检查搜索架构的质量。我们的调查结果包括:
– 监督和自监督的借口任务产生的架构排名高度相关。这一发现在两个数据集、两个搜索空间和三个借口任务中是一致的。
– 在没有人工注释的情况下搜索的体系结构在性能上与监督的体系结构相当。这一结果在三个借口任务、三个借口数据集和两个目标任务中是一致的。甚至在某些情况下,无监督搜索的性能优于有监督搜索。
– 现有NAS方法通常使用来自较小数据集的标记图像来学习可迁移的体系结构。我们提出的证据表明,使用来自大型数据集的未标记图像可能是一种更有前途的方法。
我们的结论是,神经架构搜索不需要标签,架构质量的决定因素可能隐藏在图像像素中(the deciding factor for architecture quality may hide within the image pixels.)。
2 相关工作
神经架构搜索。 NAS问题的研究包括设计搜索空间[37,34]和搜索算法[36,26]。特别关注的是减少搜索过程的总体时间成本[19,24,20],或者扩展到更广泛的任务[4,18,11,28]。NAS上的现有工作都在搜索阶段使用人工注释标签。我们的工作与现有的NAS研究是正交的,因为我们探索了无监督的设置。
架构可迁移性。 在早期的NAS尝试中[36,27],搜索阶段和评估阶段通常在相同的数据集和任务上运行。后来,研究人员意识到可以放松这种限制。在这些情况下,搜索阶段使用的数据集和任务通常被称为目标数据集和任务的代理,反映了体系结构可迁移性的概念。[37]证明CIFAR-10分类是ImageNet分类的一个很好的代理。[19] 使用少量体系结构测量这两个任务之间的排序相关性。[16] 研究了16种体系结构(以及经过训练的权重)在更多监督任务之间的可迁移性。[15] 研究了体系结构在几个自监督任务中的作用,但使用了少量体系结构和不同的评估方法(即线性探测)。我们工作的一部分是在更大范围内研究架构的可迁移性,包括有监督和无监督的任务。
无监督学习。 有大量关于无监督学习的文献,例如[10,9,31,35,22,12,23,32,30,13]。在现有的文献中,通常开发方法来学习固定结构的权重(参数),而不使用标签,这些权重通过迁移到目标监督任务来评估。在我们的研究中,我们探索了不使用标签的情况下,使用这种方法来学习架构(而不是学习权重)的可能性。因此,我们的研究主题同时是NAS的无监督推广和无监督学习的架构级推广。
3 无监督神经结构搜索
本文的目的是回答标题中提出的问题:神经架构搜索是否需要标签?为了将这个问题形式化,在本节中,我们定义了一个称为无监督神经架构搜索(UnNAS)的新设置。请注意,UnNAS表示广义问题设置,而不是解决此问题的任何具体算法。我们用具体算法和实验实例化UnNAS,以探索标签在神经结构搜索中的重要性。
3.1 搜索阶段
传统的NAS问题包括一个搜索阶段:给定一个预定义的搜索空间,搜索算法探索该空间,并估计从该空间采样的结构的性能(例如精度)。精度评估可能涉及架构的完整或不完整训练。估计精度需要访问数据集的标签。因此,传统的NAS问题本质上是一个有监督的学习问题。
我们将UnNAS定义为对应的无监督学习问题。它遵循NAS问题的定义,只是没有提供用于评估体系结构性能的带注释的标签。UnNAS问题的算法仍在探索预定义的搜索空间(注释5:诚然,搜索空间的设计通常受到多年人工搜索(通常是在监督下进行的)的严重影响),但它需要其他标准来估计采样架构的优劣。
3.2 评价阶段
一般来说,NAS问题的目标是找到一种体系结构。找到的体系结构的权重不是NAS算法输出的必须。
相反,权重在NAS问题评估阶段(搜索阶段之后)进行优化(Instead, the weights are optimized after the search phase in an evaluation phase of the NAS problem):它包括在目标数据集的训练集上训练找到的结构,以及在目标数据集的验证集上验证准确性。我们注意到,“训练结构的权重”是NAS评估阶段的一部分。目标数据集中的标签,包括训练和验证集,在评估结构方面发挥着作用。
基于此上下文,我们以相同的方式定义UnNAS的评估阶段:在目标数据集的训练集上训练结构的权重(由UnNAS算法找到),并在目标数据集的验证集上验证准确性,两者都使用目标数据集的标签。我们注意到,在评估阶段使用标签与UnNAS的定义并不冲突:搜索阶段是无监督的,而评估阶段需要标签来检查结构有多好。
3.3 类比于无监督学习
我们对UnNAS的定义类似于现有文献中的无监督权重学习[12,35,22]。无监督权重学习是指,在无监督学习阶段没有训练权重的标签,而在评估阶段,将权重迁移到目标任务上,并由标签进行监督以评估学习权重的质量。我们强调,在UnNAS设置中,标签在评估过程中扮演类似的角色。有关此类比的说明和详细说明,请参见图1。
与无监督权重学习类似,原则上,搜索数据集应不同于UnNAS中的评估(目标)数据集,以便更准确地反映实际应用场景。
4 实验概述
如第3节所述,以无监督方式发现的架构将通过其在监督环境中的性能进行评估。因此,我们本质上是在寻找某种类型的架构级别的关联,这种关联可以跨越无监督与有监督的边界,从而使无监督发现的架构能够可靠地迁移到有监督的目标任务。我们通过两组互补性质的实验(第4.1节中描述):基于样本的实验(第5节)和基于搜索的实验(第6节),研究了几种现有的自监督借口任务是否能够达到这一目的。在基于样本的情况下,每个网络都是单独训练和评估的,但缺点是我们只能考虑一个小的、随机的搜索空间子集。在基于搜索的系统中,重点是从整个搜索空间中找到顶级结构,但缺点是搜索阶段的训练动态与评估阶段的训练动态并不完全匹配。
4.1 借口任务
我们探索了三种无监督训练方法(在自监督学习文献中通常称为借口任务):旋转预测、着色和解决拼图。我们简要描述了它们。
– 旋转预测[12](Rot):输入图像经历四个预设旋转(0、90、180和270度)中的一个,并且借口任务被表述为预测旋转的四向分类问题。
– 彩色化[35](Color):输入是灰度图像,借口任务是一个具有一组预定义颜色类别(313 in[35])的像素级分类问题,。
– 解决拼图难题[22](Jigsaw):将输入图像分成小块并随机洗牌。借口任务被描述为一个从K个预设排列中选择一个的图像分类问题。(注释6:在ImageNet上,每个图像被划分为3×3=9个patches,K是从9!=362,880个排列中选取的1000个[22]。在图像较小的CIFAR-10上,我们使用2×2=4个patches,K为4!=24个排列。)
所有三个借口任务都是图像或像素分类问题。因此,我们可以计算借口任务的分类精度(在验证集上)。基于这个借口任务的准确度,我们可以分析其与监督分类准确度的相关性(也在验证集上),就像我们基于样本的实验(第5节)一样。此外,由于这些借口任务都使用交叉熵损失,因此在标准NAS算法中使用它们作为训练目标也很简单,就像我们在基于搜索的实验中所做的那样(第6节)。
5 基于样本的实验
5.1 实验设计
在基于样本的实验中,我们首先从特定的搜索空间中随机抽取500个架构。我们在借口任务上从头开始训练每个架构,并获得其借口任务精度(例如,旋转任务中的4向分类精度),并且在监督分类任务上从头开始训练相同的架构(例如,ImageNet上的1000向分类)(注释7:当针对这些不同的任务进行训练时,这些架构只有微小的、必要的差异,即,在输出层有4个神经元或1000个神经元)。
通过收集这些数据,我们进行了两种类型的分析。对于排序相关分析,我们通过测量Spearman秩相关系数[29],以表示,实证研究了借口任务准确度和监督准确度之间的统计排序相关性。对于随机实验分析,我们遵循[2]中提出的设置,以及[25]中最近采用的设置。具体地说,对于每个实验大小
,我们从
个结构中抽取
个结构。对于每一个借口任务,我们选择
个结构中借口任务准确率最高的架构。此过程重复⌈n/m⌉次,以计算目标数据集/任务上这些⌈n/m⌉结构的top-1精度的平均值和误差带(±2标准差)。
这两项研究提供了互补的观点。排序相关分析的目的是为从搜索空间采样的所有架构提供全局认识,而随机实验分析的重点是在不同大小的随机实验中的顶级架构。
我们研究了两个搜索空间:DARTS搜索空间[20]和NAS Bench-101搜索空间[34]。后一个搜索空间是为基准NAS算法而构建的,因此我们希望它不会偏向于某个算法的搜索空间。实验在两个常用数据集上进行:CIFAR-10[17]ImageNet[8]。
5.2 实施细节
附录中描述了500种体系结构的采样细节。在DARTS搜索空间中,无论任务如何,每个网络都在ImageNet上训练5个epoch,宽度32,深度22;在CIFAR-10上,宽度为16,深度为20,100个epoch。在NAS-Bench-101搜索空间中,无论执行何种任务,每个网络都在ImageNet宽度为128,深度为12,10个epoch训练;CIFAR-10上宽度为128、深度为9,100个epoch。关于宽度和深度的各自定义,请参考[20,34]。CIFAR-10上每个网络的性能是3次独立运行的平均值,以减少方差。
使用CIFAR-10数据集这样小的数据集,以及在ImageNet上这样短的训练是为实现更多样化的结构(即500)所做的折衷。
5.3 结果
同一数据集上监督准确度和借口准确度之间的高的排序相关性。
在图2和图3中,我们分别显示了CIFAR-10和ImageNet上500种结构的监督分类精度(横轴)和借口任务精度(纵轴)的散点图。我们发现,不管数据集、搜索空间和借口任务如何,这种排名相关性通常都高于0.8。这种类型的一致性和鲁棒性表明这种现象是普遍的,而不是特定于数据集/搜索空间的。
在DART和NAS-Bench101搜索空间上执行相同的实验。NAS-Bench-101搜索空间上的排序相关性通常高于DART搜索空间上的排序相关性。一种可能的解释是NAS-Bench-101中的结构更加多样化,因此其精度有更大的差距,即受训练噪声的影响较小。
有趣的是,我们观察到,在三个借口任务中,彩色化在CIFAR-10上的相关性最低,但在ImageNet上的相关性最高。我们怀疑这是因为CIFAR-10中的小图像使每像素着色的学习变得困难,因此训练后的性能是有噪声的。
不同数据集上监督准确度和借口准确度之间的高的排序相关性。
在图4中,我们展示了跨数据集排序相关分析,其中在CIFAR-10上测量借口任务的准确度,但在ImageNet上测量监督分类的准确度。
在DARTS搜索空间(上面一行),尽管不同的数据集带来了图像分布的变化,但对于三个借口任务(左三个图)中的每一个,相关性始终保持较高(∼0.8)。这表明,在整个搜索空间中,架构的相对排序可能是相似的,无论是在无监督的借口任务精度下还是在监督的目标任务精度下。在最右边的图中,我们比较了一个场景,在该场景中,我们使用CIFAR-10监督分类的代理任务,而不是使用无监督的借口任务。在这种情况下,相关性为。由于CIFAR-10监督分类是现有NAS文献[37]中常用的代理任务,因此它提供了关于
值的参考。
在下面一行中,我们通过将搜索空间替换为NAS-Bench-101来显示更多此类分析。虽然架构差异很大,但观察结果相似。在所有情况下,自监督的借口任务准确度与监督分类准确度高度相关。
更好的借口准确性转化为更好的监督准确性。
除了排序相关分析外,我们还进行了随机实验分析。图5显示了DART和NAS-Bench-101搜索空间的随机实验效率(random experiment efficiency)曲线。同样,在CIFAR-10上获得借口精度,目标精度来自ImageNet。通过本实验的设计,随着实验规模的增加,⌈n/m⌉个结构的借口精度应该增加。图5显示了这些⌈n/m⌉个结构的目标精度也随着
的增加而增加。此外,在每个实验规模下,大多数无监督借口目标的表现与常用的有监督CIFAR-10代理相似。总体趋势也具有可比性。这表明,有标签和没有标签的架构排序不仅在整个搜索空间中相互关联,而且在搜索空间的顶部(the top of the search space)也相互关联,这更接近UnNAS的目标。
6 基于搜索的实验
6.1 实验设计
在基于搜索的实验中,我们的想法是运行一个完善的NAS算法,只是我们对有监督的搜索目标进行了小修改,将其替换为无监督的搜索目标。在UnNAS设置之后,我们(通过从头开始训练)检查这些无监督发现的体系结构在有监督的目标任务上的执行情况。由于所有其他变量都被控制为相同,因此基于搜索的实验可以很容易地在NAS算法的有监督和无监督对应项之间进行比较,这有助于揭示标签的重要性。
为了简单起见,我们采用的NAS算法是DARTS(可微结构搜索的缩写)[20]。DARTS将激活张量选择和操作选择规定为分类选择,作为一组连续参数(命名为)上的softmax函数实现。这些参数通过损失函数的反向传播以与权重类似的方式进行训练。训练后,softmax输出离散化并生成架构。
我们考虑的自监督的目标仍然是在第4.1节中描述的:旋转预测(Rot)、着色(Color)和解决拼图(Jigsaw)。为了进行比较,我们还使用监督目标执行NAS搜索,例如分类(Supv.Cls)或语义分割(Supv.Seg)。为了帮助区分,如果搜索目标是有监督的,我们将方法命名为NAS-DARTS,如果搜索目标是无监督的,则命名为UnNAS DARTS。
6.2 实施细节
搜索阶段。我们使用三种不同的数据集进行架构搜索:ImageNet1K(IN1K)[8]、ImageNet-22K(IN22K)[8]和Cityscapes[7]。IN1K是标准的ImageNet基准数据集,包含来自1K类别的120万张图像。IN22K是完整的ImageNet数据集,它具有∼来自22K个类别的14M图像。Cityscapes是一个街道场景数据集,具有截然不同的图像统计数据。请注意,UnNAS DART将仅访问数据集中提供的图像,而NAS-DART将另外访问相应数据集中提供的(语义)标签。搜索阶段将仅在训练集内运行,而不访问真正的验证或测试集。
我们在附录中报告了我们使用的超参数。我们的实验和DARTS(20)之间的一个主要区别是,我们所考虑的搜索数据集中的图像在尺寸上要大得多。按照[18],我们在IN1K和IN22K中使用224×224裁剪,在Cityscapes上使用312×312。为了能够使用大输入图像进行DART训练,我们在网络的开始处使用3个步幅为2的卷积层来降低空间分辨率。这种设计,再加上适当选择的搜索次数(见附录),使得UnNAS搜索即使是在大图像上也是高效的(在IN1K和Cityscapes上大约2个GPU日,在IN22K上大约10个GPU日,不包括任务)。
评估阶段。 我们使用两个不同的数据集和任务进行UnNAS评估:(1) ImageNet-1K(IN1K)图像分类。性能指标是IN1K验证集的最高精度。(2)Cityscapes语义分割。我们使用train fine集(2975幅图像)进行训练。性能指标是在val集合(500幅图像)的mIoU。
对于IN1K评估,我们将深度固定为14,并调整宽度使得FLOPs在[500,600]M。模型训练250个epoch,辅助损失加权为0.4,批量大小为1024,8 GPU,余弦学习率衰减[21],学习率初始值为0.5,以及5个epoch的预热。对于Cityscapes评估,我们将深度固定为12,并将宽度调整为具有参数量[9.5,10.5]M。我们对网络进行2700个epochs的训练,批量大小为64,8个GPU,余弦学习率计划初始值为0.1。对于ImageNet和Cityscapes评估,我们报告了相同架构的3次独立训练的平均值和标准差。更多实施细节见附录。
我们注意到,根据我们对UnNAS设置的定义,同一数据集不应同时用于搜索和评估(因为这种设置是不符合现实情况的);我们提供IN1K→IN1K和Cityscapes→Cityscapes结果仅供参考。这些设置类似于传统无监督学习研究中IN1K的线性分类器探测头。
6.3 结果
在基于搜索的实验中,表1汇总了ImageNet分类的结构评估结果,表2汇总了Cityscapes语义分割的结构评估结果。我们在附录中提供了所有NAS-DART和UnNASDARTS单元架构(cell architectures)的可视化。
UnNAS结构的性能与监督的对手相当。
我们首先比较在同一搜索数据集上执行NAS-DART和UnNAS DART。这将对应于表1和表2中每四个连续行,通过水平线分组在一起。
如前所述,根据我们对UnNAS的定义,严格地说,IN1K→IN1K实验是无效的。作为参考,在表1中,我们将这些结果显示为灰色。IN1K数据集上的NAS-DARTS在我们的实验中具有最高的性能,达到了76.3%的顶级精度。然而,具有Rot、Color、Jigsaw的UnNAS算法变体都表现得非常好(分别达到75.8%、75.7%和75.9%的top-1精度),接近监督对手获得的结果。这表明直接在目标数据集上执行架构搜索可能是可取的,正如在其他工作中所观察到的[3]。
两个有效的UnNAS设置包括IN22K→IN1K和Cityscapes→IN1K用于架构搜索和评估。IN22K→IN1K实验中,NAS和UnNAS的结果是可比的。Cityscapes→IN1K实验中,在UnNAS结构中,Rot和Jigsaw表现地好,再次获得了与监督搜索相当的结果。但是,使用着色目标的UnNAS搜索的精度有所下降(最高精度为75.2%)。我们假设这可能是因为Cityscapes图像中的颜色分布没有那么多样化:大多数像素来自道路和地面类别的灰色。
总体来说,Cityscapes语义分割的差异较大(表2),但总体UnNAS DART结构的性能仍与NAS-DART结构有竞争力,以mIoU衡量。Cityscape→Cityscape实验中,我们观察到,与目标为ImageNet分类的搜索的架构相比,直接用分割作为搜索的目标会导致更差的结果(平均72.4%mIoU)。这与表1中观察到的情况不同。然而,在这种情况下,我们的UnNAS算法,特别是带有拼图目标的UnNAS算法显示出非常有希望的结果(平均74.1%mIoU)。事实上,当搜索数据集为IN22K或城市景观时,所有UnNAS DARTS体系结构的性能都优于NAS-DARTS体系结构。这与在1K→1K中观察到的相反。Cityscape→Cityscape中显示为灰色的原因与之前相同(根据UnNAS定义无效)。
NAS和UnNAS结果在不同的数据集和任务中都是鲁棒的。
我们考虑的三个搜索数据集有不同的性质。例如,IN22K比IN1K大10倍,城市景观图像的分布与ImageNet中的分布明显不同。在我们的实验中,在IN22K中搜索的NAS-DART/UnNAS DART结构并没有显著优于在1K中搜索的结构,这意味着它们似乎无法享受到拥有更丰富图像的好处。这揭示了设计更好的算法以利用更大的数据集进行神经结构搜索的新机会(This reveals new opportunities in designing better algorithms to exploit bigger datasets for neural architecture search)。Cityscape→IN1K实验中,
有趣的是,在切换到明显不同于搜索图像(城市街道场景)的数据集后,我们仍然能够观察到良好的性能。同样的道理也适用于相反方向的IN1k/IN22K→Cityscapes,这意味着搜索不会严重过拟合数据集中的图像。
除了对搜索数据集分布具有鲁棒性外,NAS和UNNA还对目标数据集和任务具有鲁棒性。ImageNet上的分类和城市景观上的分割在许多方面是不同的,但在搜索数据集和任务的不同组合中(无论是有监督的还是无监督的),我们没有观察到相同的体系结构在一个方面表现良好,但在另一个方面表现不佳的情况。
UnNAS优于以前的方法。
最后,我们将我们的UnNAS-DARTS结果与现有作品进行比较。我们首先注意到,与[20]中报告的情况相比,我们使用NAS-DARTS结构(使用CIFAR-10代理搜索)能够获得更好的基线数量。这主要是由于我们在评估阶段模型训练中采用了[6]中的更好的超参数调整。这一基线为UnNAS的所有实验奠定了基础;我们在不同设置中使用相同的评估阶段超参数。
在ImageNet上,我们的UnNAS DARTS体系结构可以轻松地比基线超过1%的分类精度。事实上,非常有竞争力的UnNAS DARTS结果在该搜索空间上的表现也优于之前的最佳结果(75.8%),这是通过更复杂的NAS算法实现的[33]。
在城市景观方面,使用DARTS 变体作为主干的作品并不多。最接近的是Auto DeepLab[18],但我们使用了更轻量的结构(因为我们没有解码器)和更短的训练迭代,因此结果不具有直接可比性。尽管如此,根据我们的评估,UnNAS体系结构相对于[20]中发布的DARTS体系结构(使用CIFAR-10代理发现)表现良好。最好的UnNAS-DARTS变体(城市景观拼图)达到74.1%的mIoU,平均比基线高出1.5%。总的来说,我们的实验表明,探索具有无监督/自监督目标的神经结构搜索以提高目标任务性能可能是一个富有成效的方向。
超越以前的方法远远不是我们研究的最初目标。尽管如此,UnNAS的有希望的结果表明,除了开发新算法和发现新任务外,数据(在我们的案例中,更多/更大的图像)和范式(在我们的案例中,没有人类注释)的作用也值得在神经架构搜索的未来工作中予以关注。
7 讨论
在本文中,我们对神经架构搜索的常见实践提出了挑战,并提出了一个问题:我们真的需要标签才能成功地执行NAS吗?我们通过两组实验来解决这个问题。在基于样本的实验中,我们发现了一种现象,即有标签和无标签的体系结构排序高度相关。在基于搜索的实验中,我们证明了在不访问标签的情况下学习的体系结构不仅相对于其监督的对应结构具有竞争力,而且在绝对性能方面也具有竞争力。在这两个实验中,观察结果在不同的数据集、任务和/或搜索空间中都是一致和鲁棒的。总的来说,本文的研究结果表明,神经结构搜索不需要标签。
如何在无监督的情况下学习有用的表示并将其迁移到后续任务中一直是人们广泛感兴趣的研究课题,但是神经网络结构的发现完全是由有监督的任务驱动的。因此,当前的NAS产品或AutoML API通常具有严格的先决条件,要求用户“将标记图像的训练数据集组合在一起”[1]。我们研究的一个直接含义是,用户的工作可能会因为放弃标记工作而变得更容易。从这个意义上讲,UnNAS对于许多应用程序尤其有益,因为在这些应用程序中,数据总是以大容量输入,但标记成本很高。
同时,我们仍然应该问:如果不需要标签,那么需要哪些因素来揭示(reveal)一个好的架构?一个有意义的无监督任务似乎很重要,尽管我们论文中考虑的几个借口任务在两个实验中都没有表现出显著的差异。在未来,我们计划调查更多甚至更简单的无监督任务。另一种可能性是,结构质量主要取决于图像统计,并且由于我们所考虑的数据集都是自然图像,因而相关性很高,结果是可比的。该假设还提出了一个有趣的可用(alternative)的方向:与其对每个特定的有标签任务一次又一次地执行NAS,不如对(能捕获图像分布的)大量未标记图像执行一次NAS。
附录
A 基于样本的实验的附加细节
在对500个DART结构进行抽样时,我们只保留那些#Params和#FLOPs都属于ResNet-56的[80%,120%]的结构。这样做可以防止模型容量对排序相关性的影响,但缺点是这些结构可能无法代表整个搜索空间。因此,在对500个NAS-Bench-101体系结构进行抽样时,我们使用了一种补充策略,首先根据发布的精度对所有结构进行排名,然后从每10个百分位中抽样50个结构(we first rank all architectures based on the released accuracy, and then sample 50 architectures from each 10th percentile)。
B 基于搜索的实验的附加细节
B.1 搜索阶段
回想一下,在NAS-DARTS/UNAS DARTS的搜索阶段,我们考虑了3个数据集:ImageNet-1K(IN1K)、ImageNet-22K(IN22K)、Cityscapes。
对于IN1K,我们按照[18,6]将架构参数的更新推迟到总搜索周期(the total search epochs)的一半。对于IN1K/IN22K,搜索阶段在IN1K中持续2个epochs,在IN22K中持续1个epoch。因为IN22K大约是IN1K的10倍(∼14M vs∼1.2M),IN22K上的搜索时间大约是IN1K上搜索时间的5倍。批量大小为64,学习率为0.1(余弦计划),权重衰减为0.00003。对于Cityscapes,搜索阶段持续400个epochs。批量大小为32,学习率为0.1(余弦计划),权重衰减为0.0003。除了这里和主要论文中列出的参数外,所有超参数都遵循原始DARTS中使用的参数。在上述批量大小将超过32GB GPU内存的一些设置中,我们将批量大小和学习率(即包括权重的批量大小和学习率,也包括架构参数
的)除以2。
B.2 评价阶段
在评估城市景观语义分割架构时,由于任务是像素级分类而不是图像级分类,因此我们需要进行最小但必要的修改。与IN1K分类中使用的网络不同,我们(1)将最后一个步幅为2的层改成步幅为1,以增加空间分辨率;(2)移除全局平均池化,并将全连接分类器替换为Atrus Spatial Pyramid pooling(ASPP)模块[5],然后进行双线性上采样,以产生原始分辨率的每像素分类。这些修改与分割框架DeepLabv3[5]对ResNet主干网所做的修改相同。
C NAS-DART和UnNAS DART结构
在这里,我们可视化了所有NAS-DART和UnNAS DART单元架构(cell architectures):在ImageNet-1K(图6)、ImageNet-22K(图7)和Cityscapes(图8)上搜索。