FairDARTS: Eliminating Unfair Advantages in Differentiable Architecture Search

12 篇文章 0 订阅
9 篇文章 0 订阅

FairDARTS:消除可微分架构搜索中的不公平优势

在这里插入图片描述

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

项目链接:https://github.com/xiaomi-automl/FairDARTS

Abstract

可微分架构搜索(DARTS)是目前广泛应用的一种权重共享神经架构搜索方法。然而,由于不可避免的跳跃连接聚合,它遭受了众所周知的性能崩溃。本文首先揭示了其根源在于排他性竞争中的不公平优势。通过实验,我们证明,如果两个条件中的任何一个被打破,崩溃就会消失。因此,我们提出了一种新的方法,称为FairDARTS,其中排他性竞争被放松为协作。具体来说,我们让每个操作的体系架构权重独立于其他操作。然而,离散化差异仍然是一个重要的问题。然后,我们提出了一个0 - 1损失,将体系架构权重推向0或1,这近似于预期的multi-hot解决方案。我们的实验是在两个主流搜索空间上进行的,我们在CIFAR-10和ImageNet上得到了最新的结果。

1 Introduction

随着DARTS的开源[23],在神经架构搜索社区中出现了各种各样的变体。其中一些将其扩展到具有性能意识的高级架构搜索空间中[4,36],一些学习随机分布而不是架构参数[36,37,40,11,12],还有一些在发现其缺乏鲁棒性时提供补救措施[26,6,21,18,39]。

尽管做出了这些努力,但[6,21,2,39]注意到的DARTS中跳跃连接的聚合并没有得到完美的解决。P-DARTS[6]观察到聚合会导致最终架构的性能急剧下降,因此在优化期间利用dropout作为一种变通方法来限制跳跃连接的数量。DARTS+[21]直接对每个单元设置两个跳跃连接的硬限制。RobustDARTS[39]发现这些解与高验证损失曲率相吻合。在某种程度上,这些方法将表现不佳的模型视为解集中的杂质,并为此干预训练过程将其过滤掉。

相反,我们扩展了解集并修正了优化过程,使跳跃连接的聚合不再导致崩溃。此外,离散连续体系结构编码时仍然存在差异问题。DARTS[23]将其作为未来的工作,但到目前为止还没有深入的研究。我们重申DARTS的基本前提是连续解近似于one-hot编码。直观上,差异越小,当我们将连续解转换回离散解时,它就越一致。我们的贡献总结如下:

首先,我们揭示了导致DARTS崩溃的根本原因,我们随后将其定义为在排他性竞争中导致跳跃连接进入垄断状态的不公平优势。这两个不可或缺的因素共同作用,导致业绩崩溃。此外,如果这两个条件中的任何一个被打破,崩溃就会消失。

其次,我们提出了第一种协作竞争方法,通过为每个操作提供独立的架构权重。当我们打破第二个因素时,不公平的优势就不再占上风了。此外,为了解决我们方法中连续体系结构编码和导出的离散体系结构编码之间的差异,我们提出了一种新的辅助损失,称为0-1损失,以将体系结构权重引向其极限,即完全启用或禁用。因此,差异减小到最小。

第三,基于崩溃的根本原因,我们提供了一个统一的视角来查看当前DARTS对跳跃连接聚合的解决方案。这些工作中的大多数要么利用跳跃连接上的Dropout[31] [6,39],要么通过不同的早停策略利用后来称为边界时期[21,39]。它们都可以被视为阻止了第一个因素的作用。此外,作为一个直接应用,我们可以推导出一个假设,即添加高斯噪声也会破坏不公平性,这后来被证明是有效的。

最后,我们在两个广泛使用的搜索空间中以代理和无代理的方式进行了彻底的实验。结果表明,该方法可以避免性能崩溃。我们还在CIFAR-10和ImageNet上实现了最先进的网络。

2 Related Work

最近,网络架构搜索[41]已经发展成为一种形式良好的方法,用于发现各种深度学习任务的网络。人们已经努力通过权值共享机制来减少巨大的搜索开销[3,27,23]。特别是在DARTS[23]中,利用嵌套梯度下降算法来搜索架构的图形表示,该算法源于基于梯度的超参数优化[24]。

由于DARTS搜索空间的限制,ProxylessNAS[4]和FBNet[36]基于MobileNetV2[30]在更大的搜索空间中应用了DARTS。ProxylessNAS在其超网络训练过程中也与DARTS不同,其中只有两条路径被激活,基于假设其中一条路径是所有路径中最好的,应该比任何一条路径都好。从公平的角度来看,由于只有两条路径增强了它们的能力(更新参数),而其他路径保持不变,这就隐含地产生了偏见。FBNet[36]、SNAS[37]和GDAS[12]利用可微的Gumbel Softmax[25,17]模拟one-hot编码。然而,“one-hot化”意味着排他性竞争,有被不公平优势利用的风险。

从表面上看,与我们最相关的工作是RobustDARTS[39]。在几个简化的搜索空间中,他们指出,当发现的解与高验证损失曲率重合时,它们的泛化性很差,其中具有过多跳跃连接的超级网络恰好是这样一个解。基于这一观察,他们通过跟踪最大特征值来实施早停正则化。相反,我们的方法不需要执行早停机制。

3 The Downside of DARTS

在本节中,我们的目标是挖掘可能影响搜索性能的DARTS的缺点。我们首先准备一个最小的背景。

3.1 可微架构搜索的初步研究

对于卷积神经网络,DARTS[23]搜索一个正常单元和一个约简单元来构建最终的结构。一个单元按顺序表示为 N N N个节点的有向无环图(DAG)。每个节点代表一个特征映射。从节点 i i i j j j的边 e i , j e_{i,j} ei,j作用于输入特征 x i x_i xi,其输出记为 o i , j ( x i ) o_{i,j} (x_i) oi,j(xi),中间节点 j j j收集所有输入边的输入,
x j = ∑ i < j o i , j ( x i ) . (1) x_{j}=\sum_{i<j}o_{i,j}(x_{i}). \tag{1} xj=i<joi,j(xi).(1)
O = { o i , j 1 , o i , j 2 , . . . , o i , j M } \mathcal{O}=\{o_{i,j}^{1},o_{i,j}^{2},...,o_{i,j}^{M}\} O={oi,j1,oi,j2,...,oi,jM},是沿 e i , j e_{i,j} ei,j M M M个候选操作的集合。DARTS将这种分类选择放宽为对 O \mathcal{O} O中的所有操作的软最大值,以形成混合输出:
o ˉ i , j ( x ) = ∑ o ∈ O exp ⁡ ( α o i , j ) ∑ o ′ ∈ O exp ⁡ ( α o i , j ′ ) o ( x ) , (2) \bar{o}_{i,j}(x)=\sum_{o\in\mathcal{O}}\frac{\exp(\alpha_{o_{i,j}})}{\sum_{o^{\prime}\in\mathcal{O}}\exp(\alpha_{o_{i,j}^{\prime}})}o(x), \tag{2} oˉi,j(x)=oOoOexp(αoi,j)exp(αoi,j)o(x),(2)
其中每个操作 o i , j o_{i,j} oi,j与连续系数 α o i , j α_{o_{i,j}} αoi,j相关联。对于边缘 e i , j e_{i,j} ei,j,利用该softmax近似one-hot编码 β i , j = ( β o i , j 1 , β o i , j 2 , . . . , β o i , j M ) {\beta}_{i,j}=(\beta_{o_{i,j}^{1}},\beta_{o_{i,j}^{2}},...,\beta_{o_{i,j}^{M}}) βi,j=(βoi,j1,βoi,j2,...,βoi,jM)。形式上,设 α o i , j α_{o_{i,j}} αoi,j表示结构权向量 ( α o i , j 1 , α o i , j 2 , . . . , α o i , j M ) (\alpha_{o_{i,j}^{1}},\alpha_{o_{i,j}^{2}},...,\alpha_{o_{i,j}^{M}}) (αoi,j1,αoi,j2,...,αoi,jM)。因此,DARTS假设以下是一个有效的近似:
s o f t m a x ( α o i , j ) ≈ β i , j . (3) softmax(\alpha_{o_{i,j}})\approx\beta_{i,j}. \tag{3} softmax(αoi,j)βi,j.(3)
架构搜索问题被简化为学习 α ∗ α^∗ α和网络权值 w ∗ w^∗ w,使验证损失 L v a l ( w ∗ , α ∗ ) \mathcal{L}_{val}(w^∗,α^∗) Lval(w,α)。DARTS用双层优化解决了这个问题,
min ⁡ α L v a l ( w ∗ ( α ) , α ) s.t.  w ∗ ( α ) = argmin w L t r a i n ( w , α ) . (4) \begin{aligned} &\min_{\alpha}\mathcal{L}_{val}(w^*(\alpha),\alpha)\\ &\text{s.t. }w^*(\alpha)=\text{argmin}_w\mathcal{L}_{train}(w,\alpha). \end{aligned} \tag{4} αminLval(w(α),α)s.t. w(α)=argminwLtrain(w,α).(4)
我们还采用了两种常见的搜索空间,即DARTS[23]搜索空间(S1)和ProxylessNAS[4]搜索空间(S2),并进行了轻微的修改。更多详情请参阅第2节(补充)。

在S2中,第l层的输出是N个选择的软最大权求和。正式地,它可以写成:
x l = ∑ k = 1 N exp ⁡ ( α l − 1 , l k ) ∑ j = 1 N exp ⁡ ( α l − 1 , l j ) o l − 1 , l k ( x l − 1 ) . (5) x_{l}=\sum_{k=1}^{N}\frac{\exp(\alpha_{l-1,l}^{k})}{\sum_{j=1}^{N}\exp(\alpha_{l-1,l}^{j})}o_{l-1,l}^{k}(x_{l-1}). \tag{5} xl=k=1Nj=1Nexp(αl1,lj)exp(αl1,lk)ol1,lk(xl1).(5)

3.2 难以处理的跳跃连接导致性能崩溃

当跳跃连接占主导地位时,DARTS的性能会显著下降[6,21]。它被描述为双层优化中的竞争与合作问题[21]。尽管如此,这种行为背后的原因尚不清楚,我们在此提供不同的观点。

首先,为了确认这个问题,我们使用不同的随机种子运行了DARTS k = 4次。遵循DARTS,我们为每个单元选择8个性能最好的操作(4个中间节点各2个)。这里我们说,如果一个操作在某个节点的所有传入候选边中具有top2个softmax (α),则该操作占主导地位。结果如图2所示。一开始,所有操作都有相同的机会。随着过参数化网络逐渐收敛,在20次epoch后(极端情况下8次epoch中有5次)出现了明显的跳跃连接聚集。

在这里插入图片描述

当我们在S2中的ImageNet上直接使用DARTS时(这是一个单一分支架构),同样的现象会再次出现。优势跳跃连接数(该层所有操作中最大软最大(α))稳步增加,最终达到19层中的11层,如图1左侧所示。

在这里插入图片描述

但为什么会发生这种情况呢?其根本原因很少被深入讨论。文献[6]对信息流做了简单的分析。然而,我们认为跳跃连接过多的原因是各种操作之间的排他性竞争。在公式和公式5中,跳跃连接被softmax加权并加入到输出中,类似于ResNet中的基本残差模块[14]。虽然该模块极大地有利于训练,但跳跃式连接的架构重量比其竞争对手增加得快得多。此外,softmax操作本质上提供了一种排他性竞争,因为增加一个是以抑制其他为代价的。因此,跳跃连接在优化过程中逐渐占据主导地位。我们必须记住,跳跃连接工作得很好,因为它是与卷积合作的[14]。然而,DARTS选择表现最好的一个(这里跳跃连接)并放弃它的合作者(卷积),这导致了一个退化的模型。

我们在CIFAR-10的实验中进一步研究了这一效应,记录了图3中的竞争过程。导出的模型总共有8个跳跃连接。ResNet[14]发现,与没有跳跃连接的模型相比,跳跃连接在几个时代后开始显示出强大的能力。有趣的是,在我们的实验中也观察到类似的现象。我们把这个临界点称为边界期。边界期可能不同,但一般都在早期阶段。从图3中,我们观察到红橙色的跳跃连接在某些边界epoch后逐渐获得更高的架构权重。与此同时,其他业务受到抑制并稳步下降。根据定义1,我们认为残差模块的这种好处是不公平的优势。

在这里插入图片描述

定义1。不公平的优势。假设在其他操作中选择一种操作是一种竞争。当只能选择有限的操作时,该竞争被视为排他性的。在排他性竞争中,如果这种优势对竞争的贡献大于对最终网络性能的贡献,则称为具有不公平优势。

从上面的讨论中,我们可以得出观点1:跳跃连接过多的根本原因是内在的不公平竞争。跳跃连接有一个不公平的优势,它形成残差模块,方便超网络的训练,但对残差模块被破坏的结果网络的性能并不是同样有利。

3.3 不可忽略的离散化差异

除了上述问题外,DARTS报告在离散连续编码时存在差异[23]。为了验证这个问题,我们在CIFAR-10上运行S1中的dart,在ImageNet上运行S2中的DARTS。最后一次迭代的softmax (α)值如图4 (S1)和图1 (S2)左下方所示。S1的最大值在0.3左右,最小值在0.1以上。这个范围太窄,无法区分“好”操作和“坏”操作。例如,在y约简单元的边缘2上,这些值非常接近,[0.174,0.170,0.176,0.112,0.116,0.132,0.118],很难说用0.176加权的运算比用0.174加权的运算好。对于S2,从第2层到第7层,Top-1的值没有那么明显的特殊性。以第二层为例,我们必须使用[0.235,0.057,0.17,0.016,0.187,0.269,0.066]来近似[0,0,0,0,0,0,1,0]。这再次证实了差异的存在。

总而言之,根据公式3中的前提要求,DARTS通常与one-hot表示相差甚远。我们常常不得不在没有高度自信的情况下做出模棱两可的选择。因此,我们学到观点2:从离散的分类选择放松到连续的选择应该是近似的。

在这里插入图片描述

4 Fair DARTS

4.1 跳出跳跃连接的陷阱

基于观点1,我们提出了一种消除现有不公平优势的合作机制。我们不仅要利用跳跃连接使信息流更顺畅,而且还要为其他操作提供平等的机会。总之,他们需要避免被跳跃连接带来的不公平优势所困。在这方面,我们对每个 α i , j α_{i,j} αi,j应用sigmoid激活(σ),这样每个操作都可以独立地打开或关闭而不被抑制。形式上,我们将公式2替换为:
o ˉ i , j ( x ) = ∑ o ∈ O σ ( α o i , j ) o ( x ) . (6) \bar{o}_{i,j}(x)=\sum_{o\in\mathcal{O}}\sigma(\alpha_{o_{i,j}})o(x). \tag{6} oˉi,j(x)=oOσ(αoi,j)o(x).(6)
很容易证明,即使 σ ( α s k i p ) σ(α_{skip}) σ(αskip)趋于1,其他操作仍然可以协同优化。有希望的操作继续增加其体系结构权重以降低 L v a l \mathcal{L}_{val} Lval,从而导致multi-hot近似。相反,DARTS尝试推导一个one-hot估计。不同之处在于我们扩展了解集。因此,它允许我们处理离散化差异。我们要找出如何将 σ ( α ) σ(α) σ(α)推向每一个极值(0或1)。接下来,我们将更详细地讨论它。

4.2 解决从连续表示到离散编码的差异

为了遵守观点2,我们显式地强制一个称为0-1损失的额外损失,以将体系结构权重的sigmoid值推向0或1。设 L 0 − 1 = f ( z ) \mathcal{L}_{0-1} = f(z) L01=f(z)表示损失分量,其中 z = σ ( α ) z = σ(α) z=σ(α)。为了实现我们的目标,损耗设计必须满足三个基本标准,a)它需要在z = 0.5(一个公平的起点)有一个全局最大值,在0和1有一个全局最小值。b)梯度幅度 d f d z ∣ z ≈ 0.5 \frac{df}{dz}|_{z\approx0.5} dzdfz0.5必须足够小,以允许结构权重波动,但足够大,以吸引 z z z向0或1,当它们离0.5有点远。c)对于反向传播它应该是可微的。

根据第一个要求,我们将 σ ( α ) σ(α) σ(α)从0.5移向0或1,以最小化离散化间隙。第二个是制定明确的必要约束。特别是,峰值周围的小梯度避免了容易进入两端的步进。在0和1附近较大的梯度反而有助于快速捕获附近的 z z z。很简单,我们提出了一个损失函数来满足上述要求,形式为,
L 0 − 1 = − 1 N ∑ i N ( σ ( α i ) − 0.5 ) 2 (7) L_{0-1}=-\frac{1}{N}\sum_{i}^{N}(\sigma(\alpha_i)-0.5)^2 \tag{7} L01=N1iN(σ(αi)0.5)2(7)
为了控制它的强度,我们用系数 w 0 − 1 w_{0−1} w01来加权这一损失,因此 α α α的总损失表示为:
L t o t a l = L v a l ( w ∗ ( α ) , α ) + w 0 − 1 L 0 − 1 . (8) L_{total}=\mathcal{L}_{val}(w^*(\alpha),\alpha)+w_{0-1}L_{0-1}. \tag{8} Ltotal=Lval(w(α),α)+w01L01.(8)
与DARTS[23]一样,架构权重可以通过反向传播进行优化。从公式8中,搜索目标是找到一种高精度的架构,该架构具有从连续编码到离散编码的良好近似。

此外,第二个条件是不可缺少的,否则基于梯度的方法可能过早地进入局部最小值。这里我们设计另一个损失作为负样例。设 L 0 − 1 ′ \mathcal{L}^{'}_{0−1} L01为:
L 0 − 1 ′ = − 1 N ∑ i N ∣ ( σ ( α i ) − 0.5 ) ∣ . (9) L_{0-1}^{\prime}=-\frac{1}{N}\sum_{i}^{N}|(\sigma(\alpha_{i})-0.5)|. \tag{9} L01=N1iN(σ(αi)0.5)∣.(9)
很容易看出 d ∣ z − 0.5 ∣ d z ∣ z > 0.5 = 1 \frac{d|z-0.5|}{dz}|_{z>0.5}=1 dzdz0.5∣z>0.5=1 d ∣ z − 0.5 ∣ d z ∣ z < 0.5 = − 1 \frac{d|z-0.5|}{dz}|_{z<0.5}=-1 dzdz0.5∣z<0.5=1。一旦 z z z远离0.5,它可能在以后的迭代中得到相同的梯度(1或-1),从而迅速地将体系结构权重推向两个端点。这一现象如图5所示。

在这里插入图片描述

综上所述,通过结合公式4,6和8,我们称之为FairDARTS的方法现在可以正式写成:
min ⁡ α L v a l ( w ∗ ( α ) , α ) + w 0 − 1 L 0 − 1 s . t . w ∗ ( α ) = a r g m i n w L t r a i n ( w , α ) . o ˉ i , j ( x ) = ∑ o ∈ O σ ( α o i , j ) o ( x ) . (10) \begin{aligned} &\operatorname*{min}_{\alpha}\mathcal{L}_{val}(w^{*}(\alpha),\alpha)+w_{0-1}L_{0-1} \\ \mathrm{s.t.}& w^{*}(\alpha)=\mathrm{argmin}_{w}\mathcal{L}_{train}(w,\alpha). \\ &\bar{o}_{i,j}(x)=\sum_{o\in\mathcal{O}}\sigma(\alpha_{o_{i,j}})o(x). \end{aligned} \tag{10} s.t.αminLval(w(α),α)+w01L01w(α)=argminwLtrain(w,α).oˉi,j(x)=oOσ(αoi,j)o(x).(10)
同样重要的是要认识到我们的0-1损失是专门为FairDARTS设计的。将一条边的 σ ( α ) σ(α) σ(α)推向0或1与其他边无关。由于softmax的排他性竞争,不能直接应用于DARTS。当体系结构权重收敛到它们的极值时,在我们的方法中使用阈值 σ t h r e s h o l d σ_{threshold} σthreshold来推断子模型是很自然的,而不是argmax。

5 Experiments and Results

5.1 CIFAR-10的架构搜索

在搜索阶段,我们使用了与[23]类似的超参数和技巧。我们应用一阶优化,需要10个GPU小时。所有实验都是在Tesla V100上完成的。我们选择 σ t h r e s h o l d = 0.85 σ_{threshold}= 0.85 σthreshold=0.85的目标模型。我们使用与[23,6]相同的数据处理和训练技巧。

我们的协作方法在跳跃连接聚合方面表现良好。为了验证这一点,我们在不同的随机种子上重复搜索7次,并在图7中报告了跳跃连接的数量(见补充)。由于跳跃连接的数量更合理,我们得到平均Top-1的准确率为97.46%。特别是,最小的FairDARTS-a在CIFAR-10上,通过减少参数和乘法相加,准确率达到97.46%。

在这里插入图片描述
FairDARTS搜索单元格的完整结果如表5和图6所示。

在这里插入图片描述

5.2 迁移到ImageNet

作为一种常见的做法,我们将两个搜索单元(FairDARTS-a和b)传输到ImageNet。我们保持相同的配置,并使用与DARTS相同的训练技巧[23]。与SNAS[37]和DARTS相比,FairDARTS-a在ImageNet验证集上只使用了360万个参数和417M个multiply-add,就获得了73.7%的Top-1准确率。FairDARTS-b在S1中也达到了75.1%的最高水平,参数数量比同工作少。

在这里插入图片描述

5.3 ImageNet的Proxylessly搜索

将排他性竞争放宽为协作,极大地扩展了搜索空间的规模。在ProxylessNAS[4]中,有19个可搜索的层,每层包含7个选择,总共有719个可能的模型。在我们的方法中,每个选择都可以独立激活,因此,S2包含(27)19 = 12819个可能的模型。据我们所知,这是迄今为止提出的最大的搜索空间,大约是[4]的1819倍。

对于这个搜索阶段,我们训练了30个epoch,批大小为1024,大约需要3个GPU-Day。图1右下角的最终架构权重矩阵(经过sigmoid激活后)用于推导目标模型。在这种协同设置下,可以选择跳跃连接和其他反向瓶颈块一起工作,前者便于训练,后者学习残差信息[20]。而在DARTS的竞争设置下,这是不可能实现的,如图1左下角所示。在19层中有11个跳跃连接操作是首选的,这将可搜索层的总深度减少到8层。

为了公平起见,如果有两个以上的σ阈值(0.75),我们每层最多选择两个选项,并使用与[33]相同的训练技巧。我们排除了SE[16],并且避免使用AutoAugment[10]技巧,尽管它们可以进一步提高分类精度。搜索到的模型FairDARTS-d如图6所示,该模型将两个反向瓶颈块的和放在降采样阶段附近,以保留更多的信息。它还利用大内核和尾部的大扩展块。此外,我们将σ阈值提高为0.8,以获得更轻量级的模型FairDARTS-c。FairDARTS-c仅使用4.2 M个参数即可实现75.1%的Top-1精度。为了与EfficientNetB0 [34], MobileNetV3[15]和MixNet[35]进行比较,FairDARTS-c使用相同的技巧(如SE[16],AutoAugment[10]和Swish[28])获得77.2%的Top-1精度。

在这里插入图片描述

6 Ablation Study and Analysis

6.1 移除S1上的跳跃连接

由于不公平优势主要来自跳跃连接,如果我们把它们从S1中移除,得到简化后的搜索空间S1\ {skip},即使在排他性竞争中,我们也应该期望公平竞争。该实验的几次运行也表明,确实没有更多的主流操作抑制其他操作,包括其他无参数的操作,如max-pooling和average pooling(图7)。对于S1\ {skip},我们使用7种不同的随机种子运行所有实验,并从头开始训练搜索到的模型。最佳模型(96.88±0.18%)略高于DARTS(96.76±0.32%),但低于FairDARTS(97.41±0.14%)。较低的精度表明,适当的跳跃连接确实有利于精度。

在这里插入图片描述

6.2 0-1损失有多重要?

移除0-1损耗。我们设计了两个具有和不具有0-1损失的FairDARTS。其他设置保持不变。我们计算了体系结构权重的 sigmoid 输出分布,并将其绘制在图8的左侧。无0-1损耗的覆盖范围在0到0.6之间。所以我们不得不再次做出模棱两可的选择。而提出的损失将分布缩小到0和1附近的两端。为了进一步评估去除 L 0 − 1 L_{0−1} L01的影响,我们使用不同的随机种子重复搜索7次。这些模型的平均Top-1精度为97.33±0.15(平均532M FLOPS,比 L 0 − 1 L_{0−1} L01的FairDARTS高74 M)。因此,尽管不公平优势得到了平衡,但模糊选择仍然会给最终的搜索结果带来噪声,用 L 0 − 1 L_{0−1} L01更好地解决这个问题。消除差异似乎有助于找到更轻量级和更准确的模型。

在这里插入图片描述

0-1损耗设计。我们在CIFAR-10上进行了两个实验,一个是 L 0 − 1 L_{0−1} L01(提议的),另一个是 L 0 − 1 ′ L^{'}_{0−1} L01(对照)。在某种程度上, L 0 − 1 L_{0−1} L01允许步出局部最小值,而 L 0 − 1 ′ L^{'}_{0−1} L01​仅在很大程度上取决于初始化的早期阶段选择操作。这与我们在4.2节中的分析相匹配。两种损失函数下的详细结果如图2(补充)所示。

在这里插入图片描述

损失的敏感性。当这个辅助损失的权重 w 0 − 1 w_{0−1} w01变大时,它应该向两端挤压更多的操作,但它不能掩盖主熵损失。我们进行了几个实验,其中整数 w 0 − 1 w_{0−1} w01在[0,16]范围内变化。图8的右侧显示了每种操作的最终主导操作数。我们选择一个合理的 w 0 − 1 = 10 w_{0−1} = 10 w01=10作为最佳权衡。

6.3 公平视角下的讨论

我们回顾现有的方法,试图避免所讨论的弱点。一般来说,将Dropout[6,39]添加到操作中类似于将它们与简单的加性高斯噪声混合,两者都降低了不公平优势带来的性能增益。早停机制[21]避免了不公平盛行之前的情况。

添加dropout以跳跃连接可以减少不公平。P-DARTS[6]在跳跃连接后插入的操作级Dropout[31]可以看作是对不公平优势的缓解。然而,它有两个明显的缺点。首先,这个Dropout率很难调整。其次,如果它们必须涉及另一个先验:将最后一个单元格中的跳跃连接数设置为m,那么它就不是那么有效了。对于搜索好的体系结构来说,这是一个非常强的先验[21]。

将dropout添加到所有操作中也有帮助。Dropout给跳跃连接的训练带来麻烦,从而削弱了不公平优势。合理地说,较高的Dropout率更有效,特别是对于无参数操作。因此,RobustDARTS[39]将Dropout添加到所有操作中,并获得了令人满意的结果。

早停机制很重要。DARTS+[21]明确地限制了跳跃连接的最大数量,这可以看作是在前面提到的边界时代附近的一种早停策略,就在太多的跳跃连接上升之前。当最大Hessian特征值变化太快时,RobustDARTS[39]也利用了早停机制。

限制跳跃连接的数量是一个强有力的优先考虑。在P-DARTS[6]和DARTS+[21]的正则化搜索空间中,我们发现只要限制M = 2,即使不搜索也可以生成竞争模型。我们从它们的搜索空间中随机抽样模型,并在表3中报告结果。在实验1中,第二组将multiply-add限制在500M以上,以进一步利用平均性能。令人惊讶的是,两组都优于DARTS[23]。

在这里插入图片描述

随机噪声可以打破不公平的优势。根据我们的理论,我们可以大胆地假设,添加随机噪声也会破坏不公平的优势。因此,在DARTS[23]的基础上,我们将跳跃连接的结构权重与标准高斯噪声 N ( 0 , 1 ) \mathcal{N} (0,1) N(0,1),它在50个epoch上有余弦衰减。结果有力地证实了我们的假设,如表3所示。我们重复4次,得到类似的结果。

消除不公平的优势还是破坏排他性竞争?原则上,我们可以打破任何一个不可或缺的因素,以避免崩溃。然而,FairDARTS打破了后者的简单和有效。此外,通过设计辅助损耗 L 0 − 1 L_{0−1} L01,为消除误差铺平了道路。否则,差异问题仍然难以解决。然而,为了解决差异问题,现有的方法可能会受益于像 L 0 − 1 L_{0−1} L01这样的技巧。这仍然是我们未来的工作。

7 Conclusion

揭示了DARTS过度跳接聚集的两个不可缺少的因素:不公平优势和排他性竞争。我们证明了打破它们中的任何一个都可以提高鲁棒性。首先,通过允许协作竞争,每个操作独立地开发其架构权重。同时,通过引入一种新的辅助损失使结构权值极化,最大限度地减小了离散化的不可忽略误差。在这方面,我们在CIFAR10和ImageNet上都实现了最先进的性能。其次,用高斯噪声干扰可微过程,消除导致竞争结果的不公平优势。

我们未来的工作之一是使它更便于记忆。使用Gumbel softmax代替分类分布[36],是否有与我们的方法类似的方法?在我们的基础上,还有更多的方法有待探索。

Supplementary

1 权重共享网络架构搜索

在网络架构搜索中,权值共享因其高效而备受关注[3,27,1,13]。它们大致可以分为两类。

单阶段方法。具体来说,ENAS[27]采用了一种强化方法来训练控制器从超网络中采样子网。“好的”子网产生高回报,因此控制器的最终策略能够找到竞争对手。注意控制器和子网是交替训练的。DARTS[23]及其许多变体[36,37,12,6]也是基于权重共享的嵌套优化,但采用可微方式。此外,DARTS通过在一条边缘上只选择一个操作来创建排他性竞争,而ENAS则可以同时激活多个操作。

两阶段方法。还有一些其他的权重共享方法使用训练好的超网络作为评估器[3,1,13]。我们需要在这里进行区分,因为DARTS是一种单阶段方法。DARTS的超网络旨在学习单一解决方案,其中其他路径的价值(权重)较小。与[13]不同的是,所有的路径都是均匀采样的,所以对于选择的路径给予同等的重视。由于超网络用于不同的目的,本文应该单独讨论两阶段方法。

2 搜索空间

在最近的NAS方法中,有两个搜索空间被广泛采用。提出的一个DARTS,我们记为S1,是基于单元的,具有灵活的内部连接[23,6],另一个S2是整个网络的块级[33,4,36]。我们使用术语代理和无代理来区分它是否直接代表主干架构。我们的实验涵盖了这两个类别,如果另有明确编写,第一个在CIFAR-10上搜索,第二个在ImageNet上搜索。

搜索空间S1。我们的第一个搜索空间S1(如图1所示)遵循DARTS[23],但排除了零操作,如[39]所做的那样。也就是说,S1工作在前面提到的N = 7个节点的DAG中,单元ck−1中的前两个节点是单元ck−1和ck−2的后两个节点的输出,四个中间节点每个都有来自前两个节点的入边。DAG的输出节点是所有中间节点的连接。每条边包含7个候选操作:

- max pool 3x3, avg pool 3x3, skip connect,
- sep conv 3x3, sep conv 5x5,
- dil conv 3x3, dil conv 5x5.

搜索空间S2。第二个搜索空间S2类似于使用MobileNetV2[30]作为主干的ProxylessNAS[4]。我们做了几处必要的修改。具体来说,有L = 19层,每层包含N = 7个以下选项:

-Inverted bottlenecks with an expansion rate x in (3,6), a kernel size y in (3,5,7), later referred to as ExKy,
-skip connection.

3 实验细节

我们为本文所做的所有实验列表汇总在表1中。

综上所述,我们在S1和S2中运行了DARTS[23],确认了两个搜索空间中跳跃连接的聚合。我们还在S2中显示了较大的离散化间隙。

相比之下,我们在S1和S2中运行FairDARTS来显示它们的差异。首先,由于我们的协作方法,我们可以在S1中允许大量的跳跃连接,见图7(补充)。

在这里插入图片描述

其次,图4(补充)给出了跳跃连接与其他操作共存的最终结构权值σ的热图,同时σ的值也接近于0或1,可以使离散化间隙最小化。

在这里插入图片描述

3.1 在搜索空间S1中的CIFAR-10架构搜索

我们初始化所有架构权重为03,并设置 w 0 − 1 = 10 w_{0−1}= 10 w01=10。我们遵循相同的超参数,但有一些例外:批大小为128,学习率为0.005,Adam优化器的衰减为3e-3和beta=(0.9, 0.999)。此外,我们采用了与[23]相同的训练和验证数据分组策略。表2给出了搜索空间S1中的边对应关系。我们还使用一阶优化来节省时间。

我们在图5和图6中展示了一些搜索的单元格。FairDARTS-a的正常单元相当简单,只有3个节点被激活,这在以前很少见。在约简单元中,激活更多的边来补偿由于下采样造成的信息损失。由于约简单元的比例很小,因此FairDARTS-a保持了轻量级的特点。其他搜索结果如表5所示。

在这里插入图片描述

在这里插入图片描述

3.2 在搜索空间S2的ImageNet架构搜索

对于网络权重,我们使用初始学习率为0.02(余弦随epoch衰减)的SGD优化器,对于架构权重,我们使用5e-4的Adam优化器。此外,我们设置了σ阈值= 0.75, w 0 − 1 = 1.0 w_{0−1} = 1.0 w01=1.0

有一个小问题需要注意。固有的跳跃连接被从反向瓶颈中移除,因为跳跃连接已经在我们的搜索空间中进行了并行选择。

3.3 0-1损耗比较

图2比较了两种不同损耗设计的结果。与所提出的损失函数 L 0 − 1 L_{0−1} L01,使FairDARTS是不主观的初始化。与 L 0 − 1 ′ L^{'}_{0−1} L01相比,sigmoid值达到最优值的速度更慢。它在0.5附近也给出了一个公平的机会,3×3在Edge(3,4)上的膨胀卷积先增大后减小,这符合损失设计的第二个标准。

在这里插入图片描述

3.4 单阶段与双阶段优化

在双水平设置下,Edge(2,2)上的5 × 5可分离卷积的权重在早期较高,但在后期显著降低,这可以看作是对局部最优的鲁棒性。见图3。

在这里插入图片描述

3.5 COCO目标检测结果

我们使用我们的模型作为RetinaNet网络骨干的替代品[22]。这里我们只考虑可比较的移动骨干网。特别是,我们使用MMDetection[5]工具箱,因为它为各种目标方法提供了良好的实现。所有模型在MS COCO数据集(分别为train2017和val2017)上进行12个epoch的训练和评估,batch size为16。初始学习率为0.01,在epoch 8和epoch 11处除以10。表4显示,我们的模型达到了最佳的平均精度31.9%。

在这里插入图片描述

4 Figures

4.1 架构权重的演变

图9和13给出了S1中在CIFAR-10上运行DARTS时的完整softmax演化。图15是类似的情况,只是移除了跳跃连接。

图10给出了在S1中 L 0 − 1 ′ L^{'}_{0−1} L01条件下在CIFAR-10上运行FairDARTS时的完整sigmoid演化。

图11、图12分别给出了S1中CIFAR-10运行FairDARTS单级优化和双级优化时的完整sigmoid演化。图14是图12的叠条版本。

4.2 一项特殊研究: L 0 − 1 L_{0−1} L01的DARTS

虽然我们的辅助损耗 L 0 − 1 L_{0−1} L01是专门为FairDARTS设计的,但是看看DARTS在这种新条件下的表现是很有趣的。图8和16给出了这样一个例子,其中 L 0 − 1 L_{0−1} L01的权重w = 10与FairDARTS相同。不足为奇的是,在softmax的排他性竞争下,跳跃连接利用了更多不公平的优势,因为我们将表现较差的操作推向了零(图16)。

在这里插入图片描述

值得注意的是,存在多米诺骨牌效应,当最弱的操作降低其权重时,第二个最弱的操作也会随之降低权重,以此类推。这种效应加速了聚合,因此,更多的跳跃连接脱颖而出(图8)。由于其他性能更好的操作相互竞争,仍然难以确定哪一个是最好的。此外,在CIFAR-10上(每种种子运行7次),其推断的最佳模型训练率达到96.77±0.29%,与原始的DARTS相差不大。因此,我们得出结论,仅应用 L 0 − 1 L_{0−1} L01不足以解决DARTS中存在的问题。实际上, L 0 − 1 L_{0−1} L01本身不能处理softmax的情况。

在这里插入图片描述

  • 8
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值