Progressive Differentiable Architecture Search: Bridging the Depth Gap between Search and Evaluation

13 篇文章 0 订阅
10 篇文章 0 订阅

渐进式可微分架构搜索:弥合搜索与评估之间的深度差距

—ICCV2019

在这里插入图片描述

论文链接:https://arxiv.org/abs/1904.12760

项目链接:https://github.com/chenxin061/pdarts

Abstract

近年来,可微搜索方法在降低神经结构搜索的计算成本方面取得了重大进展。然而,这些方法在评估搜索的体系结构或将其转移到另一个数据集时往往展示较低的准确性。这是由于搜索和评估场景中架构深度之间的巨大差距。在本文中,我们提出了一种有效的算法,该算法允许在训练过程中搜索结构的深度逐渐增长。这带来了两个问题,即更大的计算开销和更弱的搜索稳定性,我们分别使用搜索空间近似和正则化来解决这两个问题。通过显著减少搜索时间(单个GPU上约7小时),我们的方法在代理数据集(CIFAR10或CIFAR100)和目标数据集(ImageNet)上都实现了最先进的性能。

1. Introduction

图像识别是计算机视觉领域的一项基本任务。近年来,网络架构搜索(NAS)的发展改变了模型设计的传统,从手动变为自动,在包括图像识别在内的各种感知任务中取得了显著的成功[15,3,36]。

早期关于NAS的研究主要集中在层类型、滤波器大小和数量、激活函数等的最优配置上,以构建一个完整的网络[1,28]。受ResNet[8]和DenseNet[10]等成功手工制作架构的启发,后续工作开始探索通过强化学习[35,37]和进化算法[32,22]搜索网络构建块或所谓单元的可能性。然后将发现的单元有序地堆叠起来,以构建用于特定任务的网络。然而,那些基于强化学习和基于EA的方法共享一个共同的管道来采样和评估(从零开始)搜索空间中的众多架构,这导致了几乎负担得起的计算开销,例如,数百甚至数千个GPU-day。

最近,Liu等人提出了一种称为DARTS的可微方案[18],以摆脱耗时的建筑采样和评估过程。它实现了与基于RL和基于EA的方法相当的性能,而只需要几个GPU-day的搜索成本。在DARTS中,一个单元由多个节点组成,这些节点与几种操作相连接,例如卷积、池化。这些操作由一些架构参数加权,这些参数是在搜索场景中学习到的。受GPU内存大小的限制,DARTS必须在浅层网络中搜索架构,同时在深层网络中进行评估。这带来了一个名为深度差距的问题(参见图1(a)),这意味着搜索阶段发现了一些在浅层体系结构中工作良好的操作,但评估阶段实际上更倾向于其他更适合深层体系结构的操作。这种差距阻碍了这些方法在更复杂的视觉识别任务中的应用。

在这里插入图片描述

在这项工作中,我们提出了一种新颖有效的深度差距弥合算法-渐进式深度差距。如图1(b)所示,我们将搜索过程分为多个阶段,并在每个阶段结束时逐步增加网络深度。虽然更深的架构需要更大的计算开销,但我们提出了搜索空间近似,随着深度的增加,根据其在经过的搜索过程中的分数减少候选(操作)的数量。另一个问题,缺乏稳定性,出现在深度架构的搜索中,其中算法可能严重偏向于跳跃连接,因为它通常导致优化过程中最快的误差衰减,但实际上,更好的选择通常存在于可学习的操作中,如卷积。为了避免这种情况,我们提出了搜索空间正则化,它(i)引入了操作级Dropout[25],以减轻训练期间跳跃连接的主导地位,(ii)在评估期间控制跳跃连接的出现。

在标准视觉设置上验证P-DARTS的有效性,即在CIFAR10上进行搜索,并在CIFAR10和ImageNet上进行评估。我们在具有3.4M个参数的CIFAR10上实现了最先进的性能(测试误差为2.50%)。当转移到ImageNet时,其Top-1/5误差分别为24.4%/7.4%,与移动设置下的最先进水平相当。我们进一步证明了搜索空间近似和正则化的好处:前者将CIFAR10的搜索时间减少到0.3GPU-day,据我们所知,这是迄今为止CIFAR10中实现3%错误率的最快方法,甚至超过了ENAS[21],这是一种专门研究效率的方法;后者可以很容易地将P-DARTS应用于其他代理数据集,我们在CIFAR100上展示了一个示例(测试误差15.92%,3.6M个参数)。

2. Related Work

图像识别是计算机视觉的一项基本任务。近年来,随着深度学习的发展,卷积神经网络(convolutional neural network, CNN)在图像识别领域逐渐占据主导地位[13]。一些手工架构已经被提出,包括VGGNet[24]、ResNet[8]、DenseNet[10]等,这些都验证了人类专家在网络设计中的重要性。

我们的工作属于新兴的神经架构搜索(NAS)领域,这是一个自动化架构工程技术的过程[6]。先前研究人员在2000年代开始探索用进化算法自动生成更好拓扑的可能性[27]。早期的NAS工作试图搜索完整的网络拓扑[1,28],而最近的工作则侧重于寻找健壮的单元[32,37,22]。最近,基于EA[22]和基于RL[37]的NAS方法在图像识别中实现了最先进的性能,其中架构在基于EA或基于RL的元控制器的指导下从搜索空间中进行采样和评估。上述方法的一个显著缺点是昂贵的计算开销(基于EA的AmoebaNet[22]需要3,150 GPU-day,基于rl的NASNet[37]需要1,800 GPU-day)。PNAS提出学习一个代理模型来引导搜索通过结构空间,实现了比NASNet快5倍的速度。ENAS[21]提出在子模型之间共享参数,以防止通过从头开始训练来评估候选架构,这大大降低了搜索成本,不到一个GPU-day。

DARTS[18]引入了一个可微分的NAS框架,取得了显著的性能和效率提升。继DARTS之后,SNAS[33]提出将体系结构参数约束为one-hot,以解决搜索和评估场景之间优化目标不一致的问题。ProxylessNAS[2]采用可微框架,提出在目标任务上搜索架构,而不是采用传统的基于代理的框架。

3. Method

3.1. 初步: DARTS

在这项工作中,我们利用DARTS[18]作为我们的基线框架。我们的目标是寻找一个健壮的单元,并将其应用于 L L L单元网络。定义单元为 N N N个节点的有向无环图(DAG), { x 0 , x 1 , ⋯   , x N − 1 } \{x_{0},x_{1},\cdots,x_{N-1}\} {x0,x1,,xN1},其中每个节点是一个网络层,即执行一个特定的数学函数。我们将操作空间记为 O \mathcal{O} O,其中每个元素表示一个候选函数 o ( ⋅ ) o(·) o()。边 E ( i , j ) E(i,j) E(i,j)表示连接节点 i i i和节点 j j j的信息流,该信息流由一组由体系结构参数 α ( i , j ) α (i,j) α(i,j)加权的操作组成,可表示为:
f i , j ( x i ) = ∑ o ∈ O i , j exp ⁡ ( α o ( i , j ) ) ∑ o ′ ∈ O exp ⁡ ( α o ′ ( i , j ) ) o ( x i ) , (1) f_{i,j}(x_i)=\sum_{o\in\mathcal{O}_{i,j}}\frac{\exp(\alpha_o^{(i,j)})}{\sum_{o^{\prime}\in\mathcal{O}}\exp(\alpha_{o^{\prime}}^{(i,j)})}o(x_i), \tag{1} fi,j(xi)=oOi,joOexp(αo(i,j))exp(αo(i,j))o(xi),(1)
其中 i < j i < j i<j以便可以应用跳跃连接。中间节点可以表示为 x j = ∑ i < j f i , j ( x i ) x_{j}=\sum_{i<j}f_{i,j}(x_{i}) xj=i<jfi,j(xi),输出节点为 x N − 1 = c o n c a t ( x 2 , x 3 , ⋯   , x N − 2 ) x_{N-1}=\mathrm{concat}(x_{2},x_{3},\cdots,x_{N-2}) xN1=concat(x2,x3,,xN2),其中 c o n c a t ( ⋅ ) concat(·) concat()将通道维度上的所有输入信号连接起来。有关更多技术细节,请参阅原始的DARTS论文[18]。

3.2. 逐步增加搜索深度

在DARTS中,架构搜索在8个单元的网络上执行,而发现的架构在20个单元的网络上进行评估。然而,浅层和深层网络的行为存在很大差异[11,26,8],这意味着我们在搜索过程中选择的结构不一定是最优的。我们称之为搜索和评估之间的深度差距。为了验证这一点,我们多次执行了DARTS的搜索过程,发现发现的架构的正常单元倾向于保持浅连接而不是深连接。这是由于浅层网络在搜索过程中往往具有更快的梯度下降,但与深层网络往往表现更好的常识相矛盾[24,29,8,10]。因此,我们提出弥合深度差距,我们采取在搜索过程中逐步增加网络深度的策略,使得在搜索结束时,深度足够接近评估时使用的设置。这里我们更倾向于渐进的方式,而不是直接将深度增加到目标层,因为我们希望在浅网络中搜索相对于候选操作减少搜索空间,从而降低在深度网络中搜索的风险。我们将在4.4.1节验证这种渐进策略的有效性。

困难来自两个方面。首先,结构的数量随着深度呈指数增长,这带来了时间和内存方面的问题。特别是,在DARTS中,GPU内存的使用与搜索网络的深度成正比。有限的GPU内存形成了一个主要障碍,最直接的解决方案是减少每个操作中的通道数量——DARTS[18]尝试了它,但报告了轻微的性能下降。为了解决这一问题,我们提出了一种搜索空间近似方案,以前一阶段的操作得分作为选择标准,逐步减少每个阶段结束时的候选操作数量。搜索空间近似的细节在3.2.1节中介绍。

其次,我们发现当搜索更深层次的架构时,可微方法倾向于跳跃连接操作,因为它加速了正向/向后传播,并且通常导致最快的梯度下降方式。然而,由于这种操作是无参数的,因此其学习视觉表征的能力相对较弱。为此,我们提出了另一种名为搜索空间正则化的方案,该方案增加了操作级Dropout[25],以防止架构“过拟合”,并限制保留的跳跃连接的数量,以进一步提高稳定性。搜索空间正则化的细节将在3.2.2节中介绍。

在这里插入图片描述

3.2.1 搜索空间逼近

图2中的示例展示了搜索空间近似的思想。搜索过程分为多个阶段,包括初始阶段、一个或几个中间阶段和最后阶段。对于每个阶段 G k \mathfrak{G}_{k} Gk,搜索网络由 L k L_k Lk个单元组成,操作空间的大小为 O k O_k Ok,即 ∣ O ( i , j ) k ∣ = O k |\mathcal{O}_{(i,j)}^{k}|=O_{k} O(i,j)k=Ok

根据我们的动机,在初始阶段,搜索网络相对较浅,但操作空间很大 ( O ( i , j ) 1 ≡ O ) (\mathcal{O}_{(i,j)}^1\equiv\mathcal{O}) (O(i,j)1O)。在每个阶段 G k − 1 \mathfrak{G}_{k-1} Gk1之后,学习到体系结构参数 α k − 1 \alpha_{k-1} αk1 ,并根据 α k − 1 \alpha_{k-1} αk1 对每个连接上的候选操作的分数进行排序。我们通过堆叠更多的单元来增加搜索架构的深度,即 L k > L ˉ k − 1 L_k>\bar{L}_{k-1} Lk>Lˉk1,同时近似操作空间。也就是说,新的操作集 O ˉ ( i , j ) k \bar{\mathcal{O}}_{(i,j)}^k Oˉ(i,j)k的大小小于 O ( i , j ) k − 1 \mathcal{O}_{(i,j)}^{k-1} O(i,j)k1,或者等价地, O k < O ˚ k − 1 O_k<\mathring{O}_{k-1} Ok<O˚k1。近似的准则是去掉一部分不太重要的操作,这些操作被定义为在前一阶段 G k − 1 \mathfrak{G}_{k-1} Gk1中被赋予较低权重的操作。如表3所示,该策略是内存高效的,这使得我们的方法易于部署在常规GPU上,例如内存为16GB的GPU。

这个增加体系结构深度的过程一直持续下去,直到它足够接近于评估中使用的深度。在最后一个搜索阶段之后,我们根据学习到的体系结构参数 α K \alpha_K αK确定最终的单元拓扑(图2©中的粗体线)。遵循DARTS,我们为每个中间节点保留两个顶加权非零操作(对于不同的边最多为1)。

3.2.2 搜索空间正则化

在每个阶段 G k − 1 \mathfrak{G}_{k-1} Gk1的开始,我们从头开始训练(修改过的)体系结构,也就是说,所有的网络权重都被初始化,因为有几个候选对象被丢弃了。然而,训练一个较深的网络比训练一个较浅的网络更难[26]。在我们的特定设置中,我们观察到信息更倾向于通过跳跃连接而不是卷积或池化流动,这可以说是由于跳跃连接经常导致快速梯度下降,特别是在相对较小且易于拟合的代理数据集(CIFAR10或CIFAR100)上。因此,搜索过程倾向于生成具有许多跳跃连接操作的架构,这限制了可学习参数的数量,从而在评估阶段产生不令人满意的性能。这本质上是一种过拟合。

我们通过搜索空间正则化来解决这个问题,它由两部分组成。首先,我们在每次跳跃连接操作后插入operationlevel Dropout[25],从而部分“切断”通过跳跃连接的直接路径,方便算法探索其他操作。然而,如果我们通过跳跃连接不断阻塞路径,算法会通过分配低权重来丢弃它们,这对最终性能是有害的。为了解决这一矛盾,我们在每个搜索阶段的训练过程中逐渐衰减Dropout率,这样通过跳跃连接的直接路径在开始时被阻塞,之后当其他操作的参数学习得很好时被平等对待,留给算法自己做决定。

尽管使用了Dropout,但我们仍然观察到跳跃连接作为一种特殊的操作,在评估阶段对识别精度有显著的影响。我们在CIFAR10上使用完全相同的搜索设置执行了3个搜索过程,但发现在最后一个阶段之后,正常单元中保留的跳跃连接的数量从2到4不等。同时,正如我们之前观察到的,在评价阶段的识别性能也与这个数字高度相关。这促使我们设计第二个正则化规则,即架构优化,它简单地控制在最后搜索阶段之后保留的跳跃连接的数量,使其为常数M。这是通过一个迭代过程完成的,该过程首先使用DARTS描述的标准算法构建单元拓扑。如果跳跃连接的数量不完全是M,我们在此单元拓扑中搜索具有最大体系结构权重的M个跳跃连接操作,并将其他的权重设置为0,然后使用修改的体系结构参数重做单元构建。注意,这可能会导致其他的跳跃连接到拓扑,所以我们重复这个过程,直到达到所需的数量。

我们强调,第二种正则化技术必须应用于第一种正则化技术之上,否则,在没有操作级Dropout的情况下,搜索过程会产生低质量的体系结构权重,在此基础上,即使使用固定数量的跳跃连接,我们也无法构建强大的体系结构。

3.3. 与之前工作的关系

PNAS[16]通过在每个单元内逐节点搜索操作,逐步探索搜索空间。我们的方法具有类似的搜索方式,但来自不同的动机。此外,我们在单元级别执行渐进式搜索以扩大体系结构深度,而PNAS在操作级别(在单元内)执行渐进式搜索以减少要评估的体系结构数量。

SNAS[33]旨在通过强制每个边缘上的架构权重为one-hot来消除可微分NAS方法的搜索和评估目标之间的偏差。我们的工作也能够摆脱偏差,我们从扩大建筑深度的角度来研究。

ProxylessNAS[2]引入了一种可微分的NAS方案,可以在没有代理数据集的情况下直接学习目标任务(和硬件)上的架构。它通过对操作使用二进制掩码,并强制在过参数化网络中只有一条路径被激活并加载到GPU中,从而实现了较高的内存效率。与之不同的是,我们的方法通过搜索空间近似来处理内存开销。此外,ProxylessNAS搜索全局拓扑而不是单元拓扑,这需要对目标任务和搜索空间有很强的先验性,而P-DARTS不需要这样的先验性。我们的方法比ProxylessNAS快得多(0.3 GPU-dayvs. CIFAR10的4 GPU-day)。

4. Experiments

4.1. 数据集

我们在CIFAR10、CIFAR100[12]和ImageNet[4]这三种流行的图像分类数据集上进行了实验。在CIFAR10和CIFAR100上执行架构搜索,并在所有三个数据集上对发现的架构进行评估。

CIFAR10和CIFAR100各有50K/10K的训练/测试RGB图像,固定的空间分辨率为32×32。这些图像平均分布在10/100个类中。在架构搜索场景中,训练集被平等地分成两个子集,一个用于调整网络参数(例如,卷积权重),另一个用于调整架构(例如,操作权重)。在评估场景中,使用标准的训练/测试分割。我们使用ILSVRC2012[23]来测试在CIFAR10和CIFAR100上发现的架构的可移植性。

ILSVRC2012是ImageNet[4]的子集,包含1000个对象类别和1.28M训练图像和50K验证图像。按照惯例[37,18],我们采用移动设置,输入图像大小为224×224,多重添加操作次数限制在600M以内。

4.2. 架构搜索

4.2.1 实现细节

整个搜索过程包括三个阶段。由于我们采用了DARTS作为主干框架,所以搜索空间和网络配置与初始阶段(阶段1)的DARTS相同,只是将单元数设置为5(这是为了加速-我们尝试了原始设置,得到了类似的结果)。中间阶段(阶段2)的单元数从5个增加到11个,最后阶段(阶段3)的单元数从17个增加到17个。同时,在阶段1、阶段2和阶段3的操作空间大小分别设置为8、5和3。

对于第1阶段、第2阶段和第3阶段,在CIFAR10上,所报告结果的跳跃连接的初始丢弃概率分别设置为0.0、0.4、0.7,对于CIFAR100,设置为0.1、0.2、0.3。考虑到分类精度和计算开销之间的权衡,最终发现的单元被限制为最多保留2个跳跃连接操作。这样的设置也保证了与DARTS和其他最先进的方法的公平比较。对于每个阶段,我们使用批量大小为96的25个epoch来训练网络,其中在前10个epoch中仅调整网络参数,而在其余15个epoch中学习网络参数和架构参数。学习率η = 0.0006,权衰减0.001,动量β =(0.5,0.999)的Adam优化器作为架构参数。根据实验中使用的GPU的内存大小选择与GPU内存相关的超参数。在加速方面,我们利用DARTS的一阶优化方案来学习结构参数。

4.2.2 搜索结果

在CIFAR10上由P-DARTS发现的架构往往比由DARTS发现的架构保留更多的深层连接,如图3©和图3(d)所示。此外,P-DARTS发现的体系结构中的连接比DARTS级联的层次更多,也就是说,单元中有更多的层,使得评估网络进一步深入,获得更好的分类性能。

在这里插入图片描述

值得注意的是,我们的方法还允许在CIFAR100上进行架构搜索,而之前的方法大多失败。表1中的评估结果表明,发现的体系结构优于传输的体系结构。我们还使用公开可用的代码使用DARTS在CIFAR100上执行架构搜索,但得到了一个充满跳跃连接的架构,这导致分类性能差得多。

在这里插入图片描述

4.3. 架构评估

4.3.1 CIFAR10和CIFAR100的评估

一个由20个单元和36个初始通道组成的评估网络从零开始训练了600个epoch,批大小为128。采用长度为16的切口正则化[5],概率为0.3的drop-path[14]和权重为0.4的auxiliary towers[29]。使用标准的SGD优化器,CIFAR10的权重衰减为0.0003,CIFAR100的权重衰减为0.0005,动量为0.9。初始学习率为0.025,根据余弦规则衰减为0。我们进一步将初始通道的数量从36个增加到64个,以探索我们搜索的架构的性能限制,这被表示为大设置。

评估结果和与最先进方法的比较总结在表1中。如表1所示,P-DARTS在CIFAR10上实现了2.50%的测试错误,而搜索成本仅为0.3 GPU-day。为了获得相同的性能,AmoebaNet[22]花费了4个数量级的计算资源(0.3 GPU-dayvs 3150 GPU-day)。我们的P-DARTS也大大优于DARTS和SNAS。值得注意的是,P-DARTS发现的体系结构在分类性能和搜索成本方面都优于ENAS,而参数更少。

我们将在CIFAR10上发现的体系结构转移到CIFAR100上,用于DARTS和P-DARTS。评价结果表明了P-DARTS的优越性。此外,我们还在CIFAR100上进行了架构搜索。所发现的体系结构在CIFAR10和CIFAR100上都优于DARTS。为了公平比较,我们也在CIFAR100上对公开发布的代码进行了体系结构搜索,但得到了更高的评估测试错误。有趣的一点是,当在CIFAR10上评估时,在CIFAR10上发现的架构优于在CIFAR100上发现的架构,反之亦然。这种现象为NAS中数据集偏差的存在提供了证据。

4.3.2 ImageNet的评估

ILSVRC 2012[23]用于测试在CIFAR10和CIFAR100上发现的架构的可移植性。我们采用与DARTS相同的网络配置,即14个单元和48个初始通道的评估网络。每个网络在8个Nvidia Tesla V100 GPU上从零开始训练250个epoch,批处理大小为1024,使用我们的PyTorch[20]实现需要3天时间。网络参数使用SGD优化器进行优化,初始学习率为0.5(每个epoch后线性衰减),动量为0.9,权重衰减为3 × 10−5。额外的增强包括标签平滑[30]和辅助损失塔在训练期间应用。由于采用大批量和大学习率,前5个epoch采用学习率预热[7]。

评价结果和与最先进方法的比较总结于表2。P-DARTS在CIFAR10和CIFAR100上发现的体系结构在分类性能方面大大优于DARTS,这表明所发现的体系结构具有传输能力。值得注意的是,P-DARTS的测试误差低于MnasNet[31]和ProxylessNAS[2],这两个的搜索空间都是针对ImageNet精心设计的。

在这里插入图片描述

4.4. Diagnostic实验

4.4.1 搜索网络深度比较

由于P-DARTS的搜索过程分为多个阶段,我们按照相同的规则从每个搜索阶段提取体系结构。对不同阶段的体系结构进行了评估,以证明其图像分类能力。所发现的体系结构的拓扑结构(仅显示正常的单元)及其相应的性能总结在图3中。此外,我们还添加了二阶DARTS发现的架构(DARTS V2,搜索网络中有8个单元)进行比较。

阶段3生成的体系结构实现了最低的测试误差,验证了方案的有效性。从图3中,我们可以观察到这些架构共享一些共同的边,例如,对于阶段1、2和3,在边缘 E ( c k − 2 , 2 ) E(c_{k−2},2) E(ck2,2)处的sep-conv 3×3,对于阶段2、3和DARTS_V2,在边缘 E ( c k − 1 , 0 ) E(c_{k−1},0) E(ck1,0)​处的sep-conv 3×3。同时,它们之间也存在差异,这可能是影响这些体系结构性能的关键因素。浅搜索网络生成的架构更倾向于保持浅连接,而在深度搜索网络中,发现的架构开始选择中间节点作为后节点的输入,从而产生具有深连接的单元。这是因为深度搜索网络很难优化,所以算法必须探索更多的路径来找到最优,这导致了更复杂和强大的架构。

4.4.2 搜索空间逼近的有效性

在一个内存为16GB的Nvidia Tesla P100 GPU上,搜索过程大约需要7小时(0.3天)才能生成最终架构。我们收集了3次单独运行的架构搜索进程的GPU内存使用数据,如表3所示。系统的内存利用率稳定,很少出现内存不足的错误,表明了搜索空间近似方案在提高内存效率方面的有效性。

在这里插入图片描述

通过实验验证了该方法对提高分类精度的有效性。我们只在具有相同设置的两个不同搜索空间上执行搜索过程的最后阶段。第一个搜索空间由前一个搜索阶段近似,另一个从整个搜索空间中随机抽样。为了获得更好的随机抽样结果,我们用不同的种子重复整个过程3次,选出最好的一个。随机采样搜索空间的最佳测试误差为3.43%,远低于近似搜索空间的2.58%。这些结果揭示了搜索空间近似方案的必要性。

4.4.3 搜索空间正则化的有效性

我们执行实验来验证搜索空间正则化的有效性,即操作级Dropout和架构细化。首先,通过实验验证了操作级Dropout方案的效果。测试两组初始Dropout率,即阶段1、2和3分别为0.0、0.0、0.0、0.0(无Dropout)和0.0、0.3、0.6(有Dropout)。为了消除跳跃连接数的潜在影响,跨多个M值进行比较。

当M = 2、3和4时,没有Dropout的架构发现的测试误差分别为2.93%、3.28%和3.51%。使用Dropout搜索时,相应的测试误差分别为2.69%、2.84%和2.97%,显著优于不使用Dropout的搜索。从实验结果来看,没有Dropout发现的架构的正常单元中,在架构细化前的8次操作都是跳跃连接,而有Dropout发现的架构的8次操作都是跳跃连接。跳跃连接操作的减少验证了搜索空间正则化对稳定搜索过程的有效性。

在实验中,我们观察到一个架构的分类性能与其中的跳跃连接操作数量之间有很强的符合性。我们进行了一个定量实验来验证它。将体系结构细化应用于一个搜索过程,生成多个体系结构,其中保留的跳跃连接操作的数量从0到4不等。

除M = 0外,测试误差与跳跃连接数呈正相关,即M = 0 ~ 4时,跳跃连接数分别为2.78%、2.68%、2.69%、2.84%、2.97%;参数数与跳跃连接数成反比,即4.1M、3.7M、3.3M、3.0M、2.7M。其原因在于,在一个单元的操作数量固定的情况下,被淘汰的无参数的跳跃连接操作被具有可学习参数的操作(例如卷积)所取代,从而使架构更加复杂和强大。

上述观察结果为第二种搜索空间正则化——架构精化提供了启发,并通过以下实验验证了其能力。我们运行了另外3个架构搜索实验,在阶段1、阶段2和阶段3的初始Dropout率分别为0.0、0.3和0.6。在架构细化之前,测试误差为2.79±0.16%,评估的架构在正常单元中分别进行了2、3和4次跳跃连接操作。经过架构优化后,三种架构均在正常单元中进行了2次跳跃连接操作,测试误差减小为2.65±0.05%。标准偏差的减小表明了搜索过程稳定性的提高。

5. Conclusions

在这项工作中,我们提出了一种渐进式的可微分架构搜索,以弥合搜索和评估场景之间的深度差距。其核心思想是在搜索过程中逐步增加候选架构的深度。为了减轻计算开销和不稳定性的问题,我们分别设计了两种实用的技术来近似和正则化搜索过程。我们的方法报告了最快的NAS速度,在CIFAR10上实现了3%的错误率,同时在代理数据集和目标数据集上都实现了卓越的性能。

我们的研究捍卫了深度在可微架构搜索中的重要性,通过牺牲宽度(即操作次数)为逼近提供了一种新的方法。我们预计,在未来更强大的计算资源下,深度仍然是探索架构空间的主导因素。

  • 14
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值