DARTS-PT: RETHINKING ARCHITECTURE SELECTION IN DIFFERENTIABLE NAS

Rethinking Architecture Selection in Differentiable NAS

在这里插入图片描述

论文链接:https://arxiv.org/abs/2108.04392v1

项目链接:https://github.com/ruocwang/darts-pt

ABSTRACT

可微架构搜索(Differentiable Neural Architecture Search, NAS)是目前最流行的网络架构搜索(Neural Architecture Search, NAS)方法之一,它通过基于梯度的算法在权值共享的网络中共同优化模型权值和结构参数。在搜索阶段结束时,将选择具有最大架构参数的操作构成最终架构,并隐含假设架构参数的值反映了操作强度。虽然关于超网络优化的讨论很多,但架构选择过程却很少受到关注。我们提供了经验和理论分析,表明架构参数的大小并不一定表明操作对超网络性能的贡献有多大。我们提出了另一种基于微扰的架构选择,直接测量每个操作对超网络的影响。我们用提出的架构选择重新评估了几种可微分的NAS方法,发现它能够始终从底层超网络中提取显着改进的架构。此外,我们发现采用所提出的选择方法可以大大减轻DARTS的几种失效模式,这表明在DARTS中观察到的大部分不良泛化可归因于基于magnitude的架构选择的失败,而不是完全归因于其超网络的优化。

1 INTRODUCTION

网络架构搜索(Neural Architecture Search, NAS)已经引起学术界和工业界越来越多的关注,因为它有可能自动化发现高性能架构的过程,而这些过程长期以来都是手工制作的。NAS的早期作品部署了进化算法(Stanley & Miikkulainen, 2002;Real等人,2017;Liu et al ., 2017)和强化学习(Zoph & Le, 2017;Pham等人,2018;Zhong等人,2018)来指导架构发现过程。最近,人们提出了几种一次性方法,显著提高了搜索效率(Brock等人,2018;郭等人,2019;Bender et al, 2018)。

作为一种特别流行的one-shot方法实例,DARTS (Liu et al ., 2019)使搜索过程能够以端到端方式使用基于梯度的优化器执行。它应用连续松弛将架构的分类选择转换为连续的架构参 α α α。由此产生的超网络可以通过基于梯度的方法进行优化,并选择与最大架构参数相关的操作形成最终架构。尽管它很简单,但一些研究对DARTS的有效性提出了质疑。例如,一个简单的随机搜索(Li & Talwalkar, 2019)优于原始的DARTS;Zela等人(2020)观察到,DARTS退化为充满无参数操作(如跳跃连接甚至随机噪声)的网络,导致所选架构的性能较差。

虽然之前的大多数研究将DARTS的失败归因于其超网络优化(Zela et al, 2020;Chen & Hsieh, 2020;Chen等人,2021),很少有人讨论另一个重要假设的有效性: α α α的值反映了底层操作的强度。在本文中,我们对这个问题进行了深入的分析。令人惊讶的是,我们发现在许多情况下, α α α并不能真正表示超网络中操作的重要性。首先,与较大 α α α相关的操作不一定会在离散化后导致更高的验证精度。其次,作为一个重要的例子,我们从数学上表明,在DARTS中观察到的跳跃连接的支配(即 α s k i p α_{skip} αskip变得比其他操作更大)实际上是超网络优化的合理结果,但当我们依靠 α α α来选择最佳操作时就会出现问题。

如果 α α α不是操作强度的良好指标,我们应该如何从预训练的超网络中选择最终?我们的分析表明,每个操作的强度应该根据其对超网络性能的贡献来评估。为此,我们提出了另一种基于微扰的架构选择方法。给定一个预训练的网络,选择边缘上的最佳操作并根据其对级网络精度的干扰程度进行离散化;最终的架构是逐边推导的,其间进行微调,以便超网络在每个操作决策中保持收敛。我们重新评估了几种可微分的NAS方法(DARTS (Liu et al ., 2019)、SDARTS (Chen & Hsieh, 2020)、SGAS (Li et al ., 2020)),并表明所提出的选择方法能够持续地从网络中提取出显著改进的架构,而不是基于magnitude的选择方法。此外,我们发现用基于微扰的选择方法取代基于magnitude的选择方法可以极大地缓解DARTS的鲁棒性问题。

2 BACKGROUND AND RELATED WORK

可微架构搜索(DARTS)的概述。首先回顾了可微结构搜索的公式。DARTS的搜索空间由基于细胞的微结构的重复组成每个单元可以看作是一个有 N N N个节点和 E E E条边的DAG,其中每个节点代表一个潜在特征映射 x i x_i xi,每个边与搜索空间 O \mathcal{O} O中的一个操作 o o o(例如skip connect, sep conv 3x3)相关联,然后对该搜索空间应用连续松弛。具体来说,在搜索阶段激活对某条边的每一个操作,它们的输出通过架构参数 α α α进行混合,形成该边的最终混合输出 m ˉ ( x i ) = ∑ o ∈ O exp ⁡ α o ∑ o ′ exp ⁡ α o ′ o ( x i ) \bar{m}(x^{i})=\sum_{o\in\mathcal{O}}\frac{\exp\alpha_{o}}{\sum_{o^{\prime}}\exp\alpha_{o^{\prime}}}o(x^{i}) mˉ(xi)=oOoexpαoexpαoo(xi)。这个特殊的公式允许以可微分的方式执行架构搜:通过替代梯度更新,DARTS通过以下双层目标共同优化 α α α和模型权重 w w w
min ⁡ α L v a l ( w ∗ , α ) s . t . w ∗ = arg ⁡ min ⁡ w L t r a i n ( w , α ) . (1) \min_{\alpha}\mathcal{L}_{val}(w^*,\alpha)\quad\mathrm{s.t.}\quad w^*=\arg\min_{w}\mathcal{L}_{train}(w,\alpha). \tag{1} αminLval(w,α)s.t.w=argwminLtrain(w,α).(1)
我们将搜索阶段使用的连续松弛网络称为DARTS的超网络。在搜索阶段结束时,将从超网络中选择与每条边最大 α o α_o αo相关联的操作,形成最终架构。

DARTS失效模式分析。一些研究对DARTS的鲁棒性提出了质疑。Zela等人(2020)在四个不同的搜索空间上测试了DARTS,并观察到性能明显退化。他们的经验发现,当DARTS的网络落入验证损失的高曲率区域(由Hessian ∇ α . α 2 L v a l ( w , α ) \nabla_{\alpha.\alpha}^{2}{\mathcal{L}_{val}}(w,\alpha) α.α2Lval(w,α))。虽然Zela等人(2020)将这个问题与DARTS中超网络训练的失败联系起来,但我们从DARTS的架构选择方面进行了研究,并表明通过更好的架构选择方法可以缓解DARTS的大部分鲁棒性问题。

渐进式搜索空间收缩。有一系列关于NAS的研究侧重于通过渐进式搜索空间收缩来降低搜索成本并调整搜索和评估阶段的模型大小(Liu et al ., 2018;Li et al ., 2019;Chen等,2021;Li et al, 2020)。这些方法的一般方案是在搜索阶段根据DARTS之后的 α α α的大小依次修剪弱操作和边缘。在这方面,我们的方法与它们是正交的,因为我们选择的操作是基于它对超网络性能的贡献程度,而不是 α α α值。虽然我们也会贪婪地离散边缘,并在中间对网络进行微调,但目的是让超网络从离散化后的精度损失中恢复过来,以准确地评估下一个边缘的操作强度,而不是降低搜索成本。

3 DARTS中基于MAGNITUDE的架构选择的陷阱

在本节中,我们提出了架构参数 α α α不一定代表一般底层操作的强度的观点,并得到了经验和理论证据的支持。作为一个重要的例子,我们在数学上证明了在DARTS中观察到的跳跃连接支配现象本身是合理的,并且在与基于大小的架构选择结合时成为问题。

3.1 α α α不能代表操作强度

继DARTS之后,现有的可微分NAS方法使用架构参数 α α α的值从超网络中选择最终架构,并隐含假设 α α α代表底层操作的强度。在本节中,我们将详细研究这一假设的有效性。

考虑一个预先训练好的超网络的一个边;边缘操作的强度可以自然地定义为对该操作进行离散化并对剩余网络进行微调直至其再次收敛后的网络精度;我们将其简称为“收敛处离散化精度”。在收敛处达到最佳离散化精度的操作可以被认为是给定边的最佳操作。图1显示了随机选择的边缘在DARTS超网络上的 α α α(蓝色)和操作强度(橙色)的比较。

在这里插入图片描述

正如我们所看到的,每个操作的 α α α的大小不一定与收敛时离散化精度测量的相对强度一致。此外,分配小 α s α_s αs的操作有时是强操作,导致收敛时的高离散精度。为了进一步验证不匹配,我们研究了搜索空间S2上的操作强度,其中由于过多的跳跃连接,DARTS会严重失败(Zela et al, 2020)。S2是DARTS搜索空间的一个变体,每条边只包含两个操作(skip connect, sep conv 3x3)。图2显示了S2上所有边上基于 α α α(左)和操作强度(右)选择的操作。

在这里插入图片描述

从图2a中,我们可以看到 α s k i p _ c o n n e c t > α s e p _ c o n v _ 3 × 3 α_{skip\_connect} > α_{sep\_conv\_3\times3} αskip_connect>αsep_conv_3×3在14条边中的12条上。因此,派生的子架构将缺乏表示能力,并且由于太多的跳跃连接而表现不佳。然而,如图2b所示,超网从离散化到sep-conv_3x3中受益更多,而不是在一半边缘上跳跃连接。

3.2 一个案例分析:跳跃连接

一些研究指出,DARTS倾向于将大的 α α α分配给跳跃连接,从而导致可泛化性差的浅架构(Zela等人,2020;Liang et al ., 2019;Bi et al, 2019)。这种“跳跃连接支配”问题通常归因于DARTS超网络优化的失败。相比之下,我们从ResNet的研究中得到启发(He et al, 2016),并表明这种现象本身是一个合理的结果,而DARTS改进了其对最优特征映射的估计,使得 α s k i p α_{skip} αskip在架构选择中无效。

在vanilla网络(如VGG)中,每一层从前一层的输出特征映射中计算一个新的特征映射;因此,在测试时重新排序层将极大地损害性能(Veit et al, 2016)。与普通的网络不同,Greff等人(2017)和Veit等人(2016)发现,具有兼容通道大小的ResNet中的连续层实际上是在估计相同的最优特征映射,以便这些层的输出在收敛时彼此保持相对接近;因此,ResNet的测试精度在层重排序下保持稳定。Greff等人(2017)将ResNet中这种独特的特征映射估计方法称为“展开估计”。

在这里插入图片描述

DARTS的超网络在外观和行为上都类似于ResNet,而不是像VGG这样的普通网络。从外观上看,在DARTS超网络的一个单元内,具有跳跃连接的边与ResNet中的连续残差层直接对应。在行为方面,DARTS的超网络在边缘洗牌下也表现出高度的鲁棒性。如表1所示,在测试时,在预训练的DARTS超网络上随机重新排序边缘对其性能的影响也很小。这一证据表明,DARTS也像ResNet一样执行展开估计,即,单元内的边缘共享相同的最优特征图,它们试图估计。在下面的命题中,我们应用这一发现,并在最小化特征映射估计方差的意义上提 α α α的最优解。

命题1。在不丧失一般性的前提下,考虑一个简化搜索空间中的单元包含两个操作:(skip, conv)。设 m ∗ m^* m表示最优特征映射,根据展开的估计视图在所有边上共享(Greff et al, 2017)。设 e ( x e ) e(x_e) e(xe)为卷积运算的输出,设 x e x_e xe为跳跃连接(即边e的输入特征映射)。假设 m ∗ m^* m o e ( x e ) o_e(x_e) oe(xe) x e x_e xe被归一化为相同的尺度。 m ∗ m^* m的当前估计值可以写成:
m ‾ e ( x e ) = exp ⁡ ( α c o n v ) exp ⁡ ( α c o n v ) + exp ⁡ ( α s k i p ) α e ( x e ) + exp ⁡ ( α s k i p ) exp ⁡ ( α c o n v ) + exp ⁡ ( α s k i p ) x e , (2) \overline{m}_e(x_e)=\frac{\exp(\alpha_{conv})}{\exp(\alpha_{conv})+\exp(\alpha_{skip})}\alpha_e(x_e)+\frac{\exp(\alpha_{skip})}{\exp(\alpha_{conv})+\exp(\alpha_{skip})}x_e, \tag{2} me(xe)=exp(αconv)+exp(αskip)exp(αconv)αe(xe)+exp(αconv)+exp(αskip)exp(αskip)xe,(2)
其中 α c o n v α_{conv} αconv α s k i p α_{skip} αskip是在DARTS中定义的架构参数。最优 α c o n v ∗ α^∗_{conv} αconv α s k i p ∗ α^∗_{skip} αskip最小化 v a r ( m ‾ e ( x e ) − m ∗ ) var(\overline{m}_{e}(x_{e})-m^{*}) var(me(xe)m),即最优特征映射 m ∗ m^∗ m与其当前估计 m e ( x e ) m_e(x_e) me(xe)之间的差的方差,由下式给出:
α c o n v ∗ ∝ v a r ( x e − m ∗ ) α s k i p ∗ ∝ v a r ( o e ( x e ) − m ∗ ) . \begin{align} \alpha_{conv}^*&\propto var(x_e-m^*)\tag{3}\\\\ \alpha_{skip}^*&\propto var(o_e(x_e)-m^*).\tag{4} \end{align} αconvαskipvar(xem)var(oe(xe)m).(3)(4)
我们建议读者参阅附录A.4以获得详细的证明。从公式(3)和公式(4)中,我们可以看到 α s k i p α_{skip} αskip α c o n v α_{conv} αconv的相对大小可以归结为 x e x_e xe o e ( x e ) o_e(x_e) oe(xe)中哪一个更接近方差 m ∗ m^* m

  • x e x_e xe(边 e e e的输入)来自前一条边的混合输出。由于每条边的目标是估计 m ∗ m^* m(展开估计), x e x_e xe也直接估计 m ∗ m^* m
  • o e ( x e ) o_e (x_e) oe(xe)是单个卷积操作的输出,而不是边缘 e e e的完全混合输出,因此即使在收敛时它也会偏离 m ∗ m^* m

因此,在优化良好的超网络中, x e x_e xe自然会比 o e ( x e ) o_e(x_e) oe(xe)更接近 m ∗ m^* m,从而导致 α s k i p α_{skip} αskip大于 α c o n v α_{conv} αconv

我们上面的分析表明,网络越好, ( α s k i p − α c o n v ) (α_{skip} - α_{conv}) (αskipαconv) gap (softmaxed)就越大,因为随着超网络的优化, x e x_e xe越来越接近 m ∗ m^* m。这一结果在图3中得到了证明,随着超网络变得更好,平均值 ( α s k i p − α c o n v ) (α_{skip} - α_{conv}) (αskipαconv)继续增长。在这种情况下,虽然 α s k i p > α c o n v α_{skip} > α_{conv} αskip>αconv

在这里插入图片描述

4 基于微扰的架构选择

我们建议直接根据操作强度对超网络性能的贡献来评估操作强度,而不是依靠 α α α值来选择最佳操作。操作选择标准见第4.1节。在第4.2节中,我们将描述整个架构选择过程。

4.1 评估各操作的强度

在第3.1节中,我们将给定边缘上每个操作的强度定义为它对网络性能的贡献程度,通过离散化精度来衡量。为了避免在离散化过程中由于超网络的大干扰而导致评估不准确,我们对剩余的超网络进行微调,直到它再次收敛,然后计算其验证精度(收敛时的离散化精度)。需要进行微调过程来评估边缘上的每个操作,这会导致大量的计算成本。

为了减轻计算开销,我们考虑了一种更实用的操作强度度量:对于给定边缘上的每个操作,我们在保留所有其他操作的同时mask它,并重新评估超网络。导致超网络验证精度下降最大的操作将被认为是该边缘上最重要的操作。与离散化相比,这种替代准则对超网络的扰动要小得多,因为它一次只从超网络中删除一个操作。因此,删除后的超网络的验证精度接近未修改的超网络,从而减轻了对剩余超网络进行收敛调整的要求。因此,我们在本工作中对操作选择实施此度量。

4.2 完整的架构选择过程

我们的方法直接在DARTS预训练的超网络上运行。给定一个超网络,我们随机遍历它的所有边。我们评估边缘上的每个操作,并根据第4.1节中描述的测量选择最佳的操作进行离散化。之后,我们调整超网络几个epoch以恢复离散化过程中丢失的准确性。重复上述步骤,直到所有边都确定。算法1总结了操作选择过程。单元拓扑以类似的方式确定。我们建议读者参阅附录A.3了解完整的算法,包括确定单元拓扑。这个简单的方法在接下来的章节中被称为“基于微扰的架构选择(PT)”。

在这里插入图片描述

5 实验结果

在本节中,我们证明了基于微扰的架构选择方法能够始终如一地找到比基于 α α α值选择的架构更好的架构。评估基于DARTS和NAS-Bench-201的搜索空间(Dong & Yang, 2020),我们证明了基于微扰的架构选择方法可以应用于多种DARTS变体。

5.1 DARTS的CNN搜索空间结果

我们保持所有的搜索和重新训练设置与DARTS相同,因为我们的方法只修改了架构选择部分。在搜索阶段之后,我们根据算法1在预训练的超网络上进行基于微扰的架构选择。我们在两次选择之间调整超网络5个epoch,因为这足以使超网络从离散化后的精度下降中恢复过来。我们使用四个随机种子运行搜索和架构选择阶段,并报告所获得架构的最佳和平均测试误差。

如表2所示,提出的方法(DARTS+PT)将DARTS的测试误差从3.00%提高到2.61%,搜索成本可控(0.8 GPU-Day)。请注意,仅通过改变架构选择方法,DARTS的性能明显优于许多其他可微分NAS方法,这些方法享有精心设计的超网络优化过程,如GDAS (Dong & Yang, 2019)和SNAS (Xie et al, 2019)。这一实证结果表明,结构选择对DARTS至关重要:通过适当的选择算法,DARTS仍然是一种非常有竞争力的方法。

在这里插入图片描述

我们的方法也能够提高其他DARTS变体的性能。为了证明这一点,我们在SDARTS (rs)和SGAS上评估了我们的方法(Chen & Hsieh, 2020;Li et al, 2020)。SDARTS(rs)是DARTS的一种变体,它通过对 α α α施加高斯扰动来正则化搜索阶段。与DARTS和SDARTS不同,SGAS执行渐进式搜索空间收缩。具体而言,SGAS基于一种新的边缘重要性分数,按照从最重要到最不重要的顺序逐步离散其边缘。为了公平的比较,我们保持其独特的搜索空间缩减过程不变,只是将其基于大小的操作选择替换为我们的。从表2中可以看出,我们的方法始终比基于magnitude的方法获得更好的平均测试误差。具体而言,该方法将SDARTS的测试误差从2.67%提高到2.54%,将SGAS的测试误差从2.66%提高到2.56%。此外,我们在实验中发现的最佳架构的测试误差为2.44%,在其他NAS方法中排名第一。

5.2 Nas-Bench-201搜索空间上的性能

为了进一步验证所提出的基于微扰的架构选择的有效性,我们在NAS-Bench-201上进行了实验。NAS-Bench-201提供了类似于DARTS的基于单元的统一搜索空间搜索空间中的每个架构都是在相同的协议下在三个数据集(cifar10、cifar100和imagenet16-120)上进行训练的,它们的性能可以通过查询数据库来获得。如5.1节所述,我们从DARTS中获取预训练的超网络,并在其上应用我们的方法。所有其他设置保持不变。图4显示了与DARTS相比,DARTS+PT的性能轨迹。虽然基于magnitude的选择发现的架构随着时间的推移而退化,但基于微扰的方法能够从相同的底层超网络中稳定地提取更好的架构。结果表明,基于magnitude的结构选择失败是导致DARTS性能退化的主要原因。

在这里插入图片描述

6 分析

6.1 DARTS的鲁棒性问题

Zela等人(2020)观察到,DARTS倾向于产生性能糟糕的退化架构。我们推测,DARTS的鲁棒性问题可以通过基于magnitude的架构选择的失败来解释。

为了证明这一点,我们在Zela等人(2020)(S1-S4)提出的四个空间上使用基于微扰的架构选择来测试DARTS的性能。这些空格的完整规格可在附录A.2中找到。给定一个超网络,基于 α α α选择的架构在空间和数据集上表现不佳(表3中的第3列)。然而,我们的方法能够持续提取有意义的架构,并显著提高性能(表3中的第4列)。

在这里插入图片描述

值得注意的是,DARTS+PT能够在S2(skip connect,sep conv 3x3)和S4(noise,sep conv 3x3)上找到有意义的架构,而在这些地方,DARTS失败了。如图5所示,在S2上,基于magnitude的选择退化为充满跳跃连接的架构,而DARTS+PT则能够找到具有4个卷积的架构;在S4上,在 α α α选择噪声的边缘上,DARTS+PT始终倾向于sep_conv_3x3。

在这里插入图片描述

6.2 渐进式Tuning

除了操作选择外,我们还在边缘离散后对超网络进行了调整,使超网络能够恢复失去的精度。为了单独衡量我们的操作选择标准的有效性,我们对渐进式Tuning部分进行了消融研究。具体来说,我们通过将渐进式Tuning与基于magnitude的操作选择相结合来测试基线,而不是我们的选择标准,我们将其命名为DARTS+PT-Mag。图6绘制了在操作选择阶段,DARTS+PT和DARTS+PT-Mag验证精度的变化。正如我们所看到的,与基于magnitude的替代方案相比,DARTS+PT能够识别出更好的操作,从而获得更高的验证精度,从而揭示了我们的操作选择标准的有效性。此外,在cifar10上,DARTS+PT-Mag在DARTS空间上的测试误差仅为2.85%,远低于DARTS+PT的2.61%,说明操作选择部分在我们的方法中起着至关重要的作用。

在这里插入图片描述

6.3 固定相同的 α α α

由于所提出的方法不依赖于 α α α进行架构选择,一个自然的问题是是否有必要优化一个独立的 α α α。我们发现,在训练超网络和应用基于微扰的架构选择时,通过固定 α = 0 α = 0 α=0(所有操作的统一权重),所得方法的性能与DARTS+PT相当,在某些情况下甚至更好。例如,在NAS-Bench-201上,DARTS+PT (fix α)的性能优于DARTS+PT。在DARTS的搜索空间及其变体S1-S4上,DARTS+PT (fix α)的表现与DARTS+PT相似。结果如表3和表4所示。这一令人惊讶的发现表明,即使是最朴素的方法,即简单地训练一个不含 α α α的超网络,在与所提出的基于微扰的架构选择相结合时,也将是一种有竞争力的方法。

在这里插入图片描述

7 CONCLUSION AND DISCUSSION

本文试图从架构选择的角度来理解可微分的NAS方法。我们重新审视了基于magnitude的DARTS架构选择过程,并提供了经验和理论证据,说明为什么它不能表明潜在的操作强度。我们引入了另一种基于微扰的架构选择方法,通过其对超网络性能的贡献直接测量操作强度。所提出的选择方法能够在多个空间和数据集上从与各自基本方法训练相同的超网络中一致地提取改进的结构。

我们的方法在超网络训练中带来了更大的自由度,因为它不依赖于 α α α来推导最终的结构。我们希望基于微扰的结构选择能够给NAS学界带来新的视角,重新思考 α α α在差异NAS中的作用。

A APPENDIX

A.1 关于我们的基线模型的描述

A.1.1 DARTS

DARTS (Liu et al ., 2019)是一项开创性的工作,介绍了一般可微分NAS框架,我们在第2节中对其进行了回顾。在DARTS中,拓扑和操作是一起搜索的。具体地说,在搜索结束时,它根据架构参数 α α α对正常(约简)单元中的每条边选择一个操作。然后,通过比较每个输入边的最大 α α α值,为单元中的每个节点选择两个输入边。最终的架构包括在正常(约简)单元中的8个边中的每一个边上的一个操作。边缘上的操作将从七个候选池中选择:kip connection, avg pool 3x3, max pool 3x3, sep conv 3x3, sep conv 5x5, dil conv 3x3, 和dil conv 5x5。除了这些操作之外,DARTS还维护一个“None”操作,该操作专门用于确定拓扑,而不是作为操作处理(Liu et al, 2019)。由于本文的重点是操作分配,因此在将所提出的选择方法应用于DARTS时,我们忽略了任何op。

A.1.2 SDARTS

SDARTS (Chen & Hsieh, 2020)是DARTS的一个变体,旨在通过随机高斯扰动对DARTS中的双层优化过程进行正则化,其灵感来自最近发现的正则化DARTS的超网络可以提高性能。虽然SDARTS中的结构参数 α α α的优化与DARTS相同,但它在训练模型权值 w w w时使用随机高斯噪声对结构参数 α α α进行扭曲。这种简单而有效的正则化方法能够持续提高DARTS的鲁棒性和性能。

A.1.3 SGAS

SGAS (Li et al ., 2020)代表了通过逐步缩小搜索空间来提高可微NAS搜索效率的一系列研究。它首先单独训练模型权值 w w w 10次。然后,从超网络中选择一条边,然后根据 α α α选择该边上的最佳操作进行离散化。边缘选择是基于提出的边缘重要性得分的排名。在确定最终架构的所有八个边缘后,该过程停止。

A.2 S1-S4空间的微结构

Zela等人(2020)引入了四种DARTS空间变体(S1、S2、S3和S4)来研究DARTS的鲁棒性。这些空间与DARTS的原始空间的不同之处在于每条边上操作的数量和类型。除此之外,其他一切都是一样的。

  • S1是由dart选择的top2操作组成的预优化搜索空间。因此,每条边包含一组不同的要搜索的操作。
  • S2由两个操作组成:skip connect和sep conv 3x3。
  • S3包含三个操作:none、skip connect和sep conv 3x3。
  • S4包括两个操作:Noise和sep conv 3x3。噪声运算输出随机高斯噪声 N ( 0 , 1 ) \mathcal{N} (0,1) N(0,1)不考虑输入。这种操作通常会损害离散化架构的性能,应该通过NAS算法加以避免。

A.3 基于微扰的架构选择完整算法

在这里插入图片描述

A.4 命题1的证明

已知:

(1) θ s k i p = S o f t m a x ( α s k i p ) \theta_{skip}=Softmax(\alpha_{skip}) θskip=Softmax(αskip)

​(2) θ c o n v = S o f t m a x ( α c o n v ) \theta_{conv}=Softmax(\alpha_{conv}) θconv=Softmax(αconv)

​(3) m ‾ e ( x e ) = θ c o n v o e ( x e ) + θ s k i p x e \overline{m}_{e}(x_{e})=\theta_{conv}o_{e}(x_{e})+\theta_{skip}x_{e} me(xe)=θconvoe(xe)+θskipxe

目标:
min ⁡ θ s k i p , θ c o n v V a r ( m ‾ e ( x e ) − m ∗ ) s . t . θ s k i p + θ c o n v = 1 \begin{align}\min_{\theta_{skip},\theta_{conv}}Var(\overline{m}_e(x_e)-m^*)\tag{5}\\s.t.\quad\theta_{skip}+\theta_{conv}=1\tag{6}\end{align} θskip,θconvminVar(me(xe)m)s.t.θskip+θconv=1(5)(6)
拉格朗日乘子法求解:
L ( θ s k i p , θ c o n v , λ ) = V a r ( m ‾ e ( x e ) − m ∗ ) − λ ( θ s k i p + θ c o n v − 1 ) = V a r ( θ c o n v o e ( x e ) + θ s k i p x e − m ∗ ) − λ ( θ s k i p + θ c o n v − 1 ) = V a r ( θ c o n v ( o e ( x e ) − m ∗ ) + θ s k i p ( x e − m ∗ ) ) − λ ( θ s k i p + θ c o n v − 1 ) = V a r ( θ c o n v ( o e ( x e ) − m ∗ ) ) + V a r ( θ s k i p ( x e − m ∗ ) ) + 2 C o v ( θ c o n v ( o e ( x e ) − m ∗ ) , θ s k i p ( x e − m ∗ ) ) − λ ( θ s k i p + θ c o n v − 1 ) = θ c o n v 2 V a r ( o e ( x e ) − m ∗ ) + θ s k i p 2 V a r ( x e − m ∗ ) + 2 θ c o n v θ s k i p C o v ( o e ( x e ) − m ∗ , x e − m ∗ ) − λ ( θ s k i p + θ c o n v − 1 ) \begin{align} L(\theta_{skip},\theta_{conv},\lambda) &\begin{aligned}=Var(\overline{m}_{e}(x_{e})-m^{*})-\lambda(\theta_{skip}+\theta_{conv}-1)\end{aligned} \tag{7}\\ &\begin{aligned}=Var(\theta_{conv}o_e(x_e)+\theta_{skip}x_e-m^*)-\lambda(\theta_{skip}+\theta_{conv}-1)\end{aligned}\tag{8} \\ &\begin{aligned}=Var(\theta_{conv}(o_{e}(x_{e})-m^{*})+\theta_{skip}(x_{e}-m^{*}))-\lambda(\theta_{skip}+\theta_{conv}-1)\end{aligned}\tag{9} \\ &\begin{aligned}&=Var(\theta_{conv}(o_{e}(x_{e})-m^{*}))+Var(\theta_{skip}(x_{e}-m^{*}))\\ &+2Cov(\theta_{conv}(o_{e}(x_{e})-m^{*}),\theta_{skip}(x_{e}-m^{*}))-\lambda(\theta_{skip}+\theta_{conv}-1)\end{aligned} \tag{10} \\ &\begin{aligned}&=\theta_{conv}^{2}Var(o_{e}(x_{e})-m^{*})+\theta_{skip}^{2}Var(x_{e}-m^{*}) \\ &+2\theta_{conv}\theta_{skip}Cov(o_{e}(x_{e})-m^{*},x_{e}-m^{*})-\lambda(\theta_{skip}+\theta_{conv}-1)\end{aligned} \tag{11} \end{align} L(θskip,θconv,λ)=Var(me(xe)m)λ(θskip+θconv1)=Var(θconvoe(xe)+θskipxem)λ(θskip+θconv1)=Var(θconv(oe(xe)m)+θskip(xem))λ(θskip+θconv1)=Var(θconv(oe(xe)m))+Var(θskip(xem))+2Cov(θconv(oe(xe)m),θskip(xem))λ(θskip+θconv1)=θconv2Var(oe(xe)m)+θskip2Var(xem)+2θconvθskipCov(oe(xe)m,xem)λ(θskip+θconv1)(7)(8)(9)(10)(11)
设置:
∂ L ∂ λ = θ c o n v + θ s k i p − 1 = 0 ∂ L ∂ θ c o n v = 2 θ c o n v V a r ( o e ( x e ) − m ∗ ) + 2 θ s k i p C o v ( o e ( x e ) − m ∗ , x e − m ∗ ) − λ = 0 ∂ L ∂ θ s k i p = 2 θ c o n v C o v ( o e ( x e ) − m ∗ , x e − m ∗ ) + 2 θ s k i p V a r ( x e − m ∗ ) − λ = 0 \begin{align} \frac{\partial L}{\partial\lambda}& =\theta_{conv}+\theta_{skip}-1=0 \tag{12}\\ \frac{\partial L}{\partial\theta_{conv}}& =2\theta_{conv}Var(o_{e}(x_{e})-m^{*})+2\theta_{skip}Cov(o_{e}(x_{e})-m^{*},x_{e}-m^{*}) -\lambda=0 \tag{13}\\ \frac{\partial L}{\partial\theta_{skip}}& =2\theta_{conv}Cov(o_{e}(x_{e})-m^{*},x_{e}-m^{*})+2\theta_{skip}Var(x_{e}-m^{*}) -\lambda=0 \tag{14} \end{align} λLθconvLθskipL=θconv+θskip1=0=2θconvVar(oe(xe)m)+2θskipCov(oe(xe)m,xem)λ=0=2θconvCov(oe(xe)m,xem)+2θskipVar(xem)λ=0(12)(13)(14)
解上述方程:
θ c o n v ∗ = V a r ( x e − m ∗ ) − C o v ( o e ( x e ) − m ∗ , x e − m ∗ ) Z θ s k i p ∗ = V a r ( o e ( x e ) − m ∗ ) − C o v ( o e ( x e ) − m ∗ , x e − m ∗ ) Z Z = V a r ( o e ( x e ) − m ∗ ) − C o v ( o e ( x e ) − m ∗ , x e − m ∗ ) + V a r ( x e − m ∗ ) − C o v ( o e ( x e ) − m ∗ , x e − m ∗ ) . \begin{align} \theta_{conv}^{*}&=\frac{Var(x_{e}-m^{*})-Cov(o_{e}(x_{e})-m^{*},x_{e}-m^{*})}{Z} \tag{15}\\ \theta_{skip}^{*}&=\frac{Var(o_{e}(x_{e})-m^{*})-Cov(o_{e}(x_{e})-m^{*},x_{e}-m^{*})}{Z} \tag{16}\\ &\begin{aligned}Z&=Var(o_{e}(x_{e})-m^{*})-Cov(o_{e}(x_{e})-m^{*},x_{e}-m^{*})\\ &+Var(x_{e}-m^{*})-Cov(o_{e}(x_{e})-m^{*}, x_{e}-m^{*}).\end{aligned}\tag{17} \end{align} θconvθskip=ZVar(xem)Cov(oe(xe)m,xem)=ZVar(oe(xe)m)Cov(oe(xe)m,xem)Z=Var(oe(xe)m)Cov(oe(xe)m,xem)+Var(xem)Cov(oe(xe)m,xem).(15)(16)(17)
将基础与DARTS结合得到:
α c o n v ∗ = log ⁡ [ V a r ( x e − m ∗ ) − C o v ( o e ( x e ) − m ∗ , x e − m ∗ ) ] + C α s k i p ∗ = log ⁡ [ V a r ( o e ( x e ) − m ∗ ) − C o v ( o e ( x e ) − m ∗ , x e − m ∗ ) ] + C \begin{align} \alpha_{conv}^*&=\log\left[Var(x_e-m^*)-Cov(o_e(x_e)-m^*,x_e-m^*)\right]+C \tag{18}\\ \alpha_{skip}^*&=\log\left[Var(o_e(x_e)-m^*)-Cov(o_e(x_e)-m^*,x_e-m^*)\right]+C \tag{19} \end{align} αconvαskip=log[Var(xem)Cov(oe(xe)m,xem)]+C=log[Var(oe(xe)m)Cov(oe(xe)m,xem)]+C(18)(19)
区分 α s k i p α_{skip} αskip α c o n v α_{conv} αconv的唯一项是对数内的第一项,因此:
α c o n v ∗ ∝ v a r ( x e − m ∗ ) α s k i p ∗ ∝ v a r ( o e ( x e ) − m ∗ ) \begin{align} \alpha_{conv}^*&\propto var(x_e-m^*) \tag{20}\\ \alpha_{skip}^*&\propto var(o_e(x_e)-m^*) \tag{21} \end{align} αconvαskipvar(xem)var(oe(xe)m)(20)(21)

A.5 关于 α α α和收敛时离散化精度的更多图

我们提供了类似于图1的额外数字,以考虑到超网络训练的随机性。我们首先用不同的种子训练6个超网络,然后从每个超网络中随机选择1条边。我们可以看到,结果与图1一致。如图7所示,每个操作的 α α α值不一定与其收敛时的相对离散精度一致。

在这里插入图片描述

A.6 DARTS+PT(fix α α α)在NAS-Bench-201上的性能轨迹

我们绘制了DARTS+PT (fix α α α)在NAS-Bench-201上类似图4的性能轨迹。如图8所示,在完全不训练 α α α的情况下,它始终可以获得较强的性能,这表明在未来可以探索不训练 α α α的超网络训练的额外自由度,以开发改进的搜索算法。

在这里插入图片描述

A.7 微调epoch的消融研究

如第4.2节所述,我们在两个边缘决策之间执行微调,以从离散化后的精度下降中恢复超网络。在所有实验中,微调epoch的数量被设置为5,因为根据经验,我们发现这足以让超网络再次收敛。在本节中,我们对微调epoch数目的影响进行了消融研究。如图9所示,超网络调优时间超过5个epoch所获得的增益是微不足道的。

在这里插入图片描述

A.8 基于ImageNet的架构可转移性评价

我们进一步评估了衍生架构在ImageNet上的性能。在本次实验中,我们严格遵循了DARTS的训练方案和超参数设置(Liu et al ., 2019)。如表5所示,提出的方法使DARTS的Top1性能提高了1.2%。

在这里插入图片描述

A.9 搜索架构

图10-图24
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/290951.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

鸿蒙OS开发实例:【应用级别文件浏览器】

介绍 HarmonyOS的沙盒机制完全屏蔽了应用对手机公共存储空间的访问,安全性提高已不言而喻。 本篇文章的主要目的是为了能通过一个简单工具,可视化的让一个新手能相对轻松的学习文件&数据存储。HarmonyOS 应用开发工具DevEco Studio也没有提供读取存…

新能源汽车充电桩常见类型及充电桩站场的智能监管方案设计

随着新能源汽车市场的迅猛发展,充电桩作为支持其运行的基础设施,也呈现出多样化的类型。这些充电桩不仅在外形和功能上存在差异,更在充电速度、充电方式以及使用场景等方面展现出独特的优势。 一、充电桩类型及区别 1、慢充桩(交…

GenMedicalEval:医疗大语言模型综合评测框架

推荐一个开源的医疗大语言模型综合评价框架。 项目链接 https://github.com/MediaBrain-SJTU/GenMedicalEval 项目简介 我们提出了一个医疗大语言模型的综合评测框架,具有以下三大特点: 1.大规模综合性能评测:GenMedicalEval构建了一个覆盖…

stm32定时器中断函数回调函数

方式一:stm32定时器中断可以直接在硬件中断函数TIM3_IRQHandler执行。 在HAL库中可以注册回调函数,在定时器中断发生时调用注册的函数,这样可以统一接口,大大提高函数可读性,和硬件解耦提高程序可移植性。 使用过程如…

uniapp实现的数据选择器,支持H5、微信小程序

采用uniapp-vue3实现的数据选择器,支持H5、微信小程序(其他小程序未测试过,可自行尝试) 支持本地自定义过滤、远程接口过滤,为了避免弹窗面板超出边界的情况,自动计算弹窗面板安置的位置(在微信…

327京东一面

1.项目相关 2.手撕SQL 两道 3.JMeter性能测试 首先,进行基准测试: 单用户测试(单用户循环多次得到的数据);为多用户并发执行提供参考 其次,进行负载测试: 通过逐步增加系统负载&#xff0…

C波段卫星与5G的干扰排查及解决方案

作者介绍 一、方案背景 目前造成C波段卫星信号受5G信号干扰有以下几个原因: ●C波段(3.4-4.2GHz)和电信5G频段(3.4-3.7GHz)间存在频谱重叠。 ●地面终端接收到的卫星信号通常比蜂窝信号弱几个数量级,同频…

ATTCK学习笔记

ATT&CK 前言知识 威胁情报:一般为网络流量中或者操作系统上观察到的能高度表明计算机被入侵的痕迹,例如某病毒的Hash值、服务器的IP地址等等。简单来说,威胁情报就像是当计算机被入侵时所表现出来的某种特征,我们将这些威胁…

【氮化镓】GaN器件中关态应力诱导的损伤定位

概括总结: 这项研究通过低频1/f噪声测量方法,探究了在关态(OFF-state)应力作用下,AlGaN/GaN高电子迁移率晶体管(HEMTs)中由应力引起的损伤的定位。研究中结合了电致发光(EL&#xf…

每天五分钟深度学习:使用神经网络完成人脸的特征点检测

本文重点 我们上一节课程中学习了如何利用神经网络对图片中的对象进行定位,也就是通过输出四个参数值bx、by、bℎ和bw给出图片中对象的边界框。 本节课程我们学习特征点的检测,神经网络可以通过输出图片中对象的特征点的(x,y)坐标来实现对目标特征的识别,我们看几个例子。…

华清远见STM32U5开发板助力2024嵌入式大赛ST赛道智能可穿戴设备及IOT选题项目开发

第七届(2024)全国大学生嵌入式芯片与系统设计竞赛(以下简称“大赛”)已经拉开帷幕,大赛的报名热潮正席卷而来,高校电子电气类相关专业(电子、信息、计算机、自动化、电气、仪科等)全…

如何提高知识库系统管理水平?

我们都有过这样的经历--遇到问题或紧急请求时,第一时间就是向知识库系统寻求帮助。很多时候,当你翻遍了无穷无尽的文档,却发现没有任何东西能够摆脱此时的困境,这时,向服务台提交工单成了不可避免的解决方式&#xff0…

深入理解数据结构第一弹——二叉树(1)——堆

前言: 在前面我们已经学习了数据结构的基础操作:顺序表和链表及其相关内容,今天我们来学一点有些难度的知识——数据结构中的二叉树,今天我们先来学习二叉树中堆的知识,这部分内容还是非常有意思的,下面我们…

钉钉服务端API报错 错误描述: robot 不存在;解决方案:请确认 robotCode 是否正确

problem 调用钉钉服务端API,机器人发送群聊消息,后台返回报错信息: 钉钉服务端API报错 错误描述: robot 不存在;解决方案:请确认 robotCode 是否正确; reason 定位: 登录后台,查看机器人是存在查看机器人调用权限接…

uniapp对接极光推送(国内版以及海外版)

勾选push,但不要勾选unipush 国内版 网址:极光推送-快速集成消息推送功能,提升APP运营效率 (jiguang.cn) 进入后台,并选择对应应用开始配置 配置安卓包名 以及ios推送证书,是否将生产证书用于开发环境选择是 ios推送证书…

2024年3月29日蚂蚁新村今日答案:新兴职业增材制造设备操作员与以下哪项技术密切相关?

蚂蚁新村是一个虚拟社区。在这个虚拟社区中,用户可以参与各种活动,比如生产能量豆、做慈善捐赠等。同时,蚂蚁新村也提供了一些知识问答环节,用户在参与的过程中可以增进知识。这些问答内容往往涉及广泛的主题,如文化、…

【动手学深度学习-pytorch】-9.3深度循环神经网络

到目前为止,我们只讨论了具有一个单向隐藏层的循环神经网络。 其中,隐变量和观测值与具体的函数形式的交互方式是相当随意的。 只要交互类型建模具有足够的灵活性,这就不是一个大问题。 然而,对一个单层来说,这可能具有…

wireshark创建显示过滤器实验简述

伯克利包过滤是一种在计算机网络中进行数据包过滤的技术,通过在内核中插入过滤器程序来实现对网络流量的控制和分析。 在数据包细节面板中创建显示过滤器,显示过滤器可以在wireshark捕获数据之后使用。 实验拓扑图: 实验基础配置&#xff1…

HarmonyOS实战开发-如何实现页面间转场动画

介绍 在本教程中,我们将会通过一个简单的样例,学习如何基于ArkTS的声明式开发范式开发转场动画。其中包含页面间转场、组件内转场以及共享元素转场。效果如图所示: 说明: 本Codelab使用的display接口处于mock阶段,在预…

第十四届蓝桥杯省赛C++ C组所有题目以及题解(C++)【编程题均通过100%测试数据】

第一题《求和》【简单模拟】 【问题描述】 求1(含)至20230408(含)中每个数的和。 【答案提交】 这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数&…