DARTS-:增加辅助跳跃连接,鲁棒走出搜索性能崩溃
论文链接:https://arxiv.org/abs/2009.01027
项目链接:GitHub - Meituan-AutoML/DARTS-: Code for “DARTS-: Robustly Stepping out of Performance Collapse Without Indicators”
ABSTRACT
可微体系结构搜索(DARTS)发展迅速,但长期存在性能不稳定的问题,极大地限制了其应用。现有的鲁棒方法从导致的恶化行为中寻找线索,而不是找出其原因。在性能崩溃之前,提出了各种指标如Hessian特征值作为停止搜索的信号。然而,如果阈值设置不当,这些基于指标的方法往往容易拒绝良好的体系结构,更不用说搜索本质上是有噪声的。在本文中,我们采取一种更微妙和直接的方法来解决崩溃。我们首先证明跳跃连接比其他候选操作有明显的优势,它可以很容易地从不利状态恢复并成为主导。我们推测这种特权会导致性能下降。因此,我们建议通过辅助跳跃连接来考虑这一好处,确保所有操作的公平竞争。我们称这种方法为DARTS-。在各种数据集上的大量实验验证了它可以大大提高鲁棒性。
1 INTRODUCTION
近期研究(Zela et al, 2020;Liang et al ., 2019;Chu等人,2020b)已经证明了可微架构搜索的一个关键问题(Liu等人,2019b)是由于多余的跳跃连接导致的性能崩溃。据此,提出了一些检测崩溃发生的经验指标。R-DARTS (Zela等人,2020)表明,当导出的体系结构泛化不良时,损失情况(Loss Landscape)具有更多的曲率(以更高的Hessian特征值w.r.t.体系结构权重为特征)。通过正则化较低的Hessian特征值,Zela等(2020);Chen & Hsieh(2020)试图稳定搜索过程。同时,通过直接将跳跃连接的数量限制为固定数量(通常为2),崩溃问题变得不那么明显(Chen et al ., 2019b;Liang et al, 2019)。这些基于指标的方法有几个主要缺点。首先,鲁棒性很大程度上依赖于指标的质量。一个不精确的指标要么不可避免地接受糟糕的模型,要么错误地拒绝良好的模型。其次,指标通过直接操纵推断模型来施加强先验,这有点可疑,类似于触摸测试集。第三,额外的计算成本(Zela等人,2020)或超参数的仔细调优(Chen等人,2019b;Liang et al ., 2019)。因此,问以下问题是很自然的:
- 我们是否可以在不干扰搜索和/或离散过程的手工指示和限制的情况下解决崩溃?
- 是否有可能在不调整额外超参数的情况下实现DARTS的鲁棒性?
为了回答上述问题,我们提出了一种有效且高效的稳定DARTS的方法。我们的贡献可以总结如下:
稳定DARTS的新范式。通过经验观察,目前的指标(Zela et al, 2020;Chen & Hsieh, 2020)可以以减少搜索空间的搜索范围为代价来避免性能崩溃,我们提出了一种新的无指标方法来稳定DARTS,称为DARTS-,它涉及一个辅助跳跃连接(见图1),以消除搜索阶段的不公平优势(Chu et al, 2020b)。
强大的鲁棒性和稳定性。我们在七个搜索空间和三个数据集上进行了彻底的实验,以证明我们的方法的有效性。具体来说,我们的方法在4个搜索空间上稳健地获得了最先进的结果,搜索成本比R-DARTS (Zela等人,2020)低3倍,后者需要4次独立运行才能报告最终性能。
无缝插件组合与DARTS变体。我们进行了实验,以证明我们的方法可以通过移除其他正交DARTS变体的手工指示器而无需额外开销,从而与其他正交DARTS变体无缝协作。特别是,我们的方法能够在CIFAR-10数据集上提高P-DARTS的0.8%准确率和PC-DARTS的0.25%准确率。
2 RELATED WORK
网络架构搜索和DARTS变体。多年来,研究人员一直在寻求自动发现各种深度学习任务的神经架构,以减轻人类的繁琐工作,从图像分类(Zoph等人,2018),目标检测(Ghiasi等人,2019),图像分割(Liu等人,2019a)到机器翻译(So等人,2019)等。在许多已提出的方法中,可微分架构搜索(Liu et al ., 2019b)以权值共享为特征,通过梯度下降解决搜索问题,效率高且易于推广。在A.1中可以找到对DARTS的简短描述。从那时起,许多后续的工作都致力于加速这一过程(Dong & Yang, 2019b),降低内存成本(Xu等人,2020),或培养其能力,如硬件感知(Cai等人,2019;Wu et al ., 2019),更细粒度(Mei et al ., 2020)等。然而,尽管做出了这些努力,但DARTS搜索性能崩溃的一个根本问题仍然没有得到妥善解决,这极大地阻碍了它的应用。
Robustifying DARTS。由于已知DARTS (Liu et al ., 2019b)由于性能崩溃而不稳定(Chu et al ., 2020b),最近的一些研究致力于通过设计崩溃的Hessian特征值等指标(Zela et al ., 2020)或添加扰动来正则化这种指标(Chen & Hsieh, 2020)来解决它。这两种方法都严重依赖于指标的准确性,也就是说,指标在多大程度上与性能崩溃相关?其他方法,如Progressive DARTS (Chen et al ., 2019b)和DARTS+ (Liang et al ., 2019)采用强人类先验,即将跳跃连接的数量限制为固定值。Fair DARTS (Chu et al ., 2020b)认为,崩溃是由于排他性竞争环境中的不公平优势造成的,跳跃连接过度受益,导致大量聚集。为了抑制这种优势,他们将竞争转化为协作,每个操作都独立于其他操作。然而,这是一种间接的方法。相反,SGAS (Li et al, 2020)使用贪婪策略来规避问题,可以防止不公平优势生效。然而,由于贪婪的低估,潜在的好操作可能会被过早地淘汰。
3 DARTS-
3.1 动机
我们从详细分析跳跃连接的作用入手。在ResNet中提出了跳跃连接来构建残差块(He et al ., 2016),显著提高了训练稳定性。甚至可以通过简单地堆叠将网络加深到数百层而不会降低精度。相反,当网络越深时,对VGG的普通块进行叠加会导致性能下降。此外,Ren et al (2015);Wei等(2017);泰等人(2017);Li等人(2018b)也通过经验证明,深度残差网络可以在各种任务上取得更好的性能。
从梯度流的角度来看,跳跃连接可以缓解梯度消失问题。给定n个残差块的堆栈,第(i +1)个残差块Xi+1的输出可以计算为
X
i
+
1
=
f
i
+
1
(
X
i
,
W
i
+
1
)
+
X
i
X_{i+1} = f_{i+1}(X_i,W_{i+1}) + X_i
Xi+1=fi+1(Xi,Wi+1)+Xi,其中
f
i
+
1
f_{i+1}
fi+1表示权重为
W
i
+
1
W_{i+1}
Wi+1的第
(
i
+
1
)
(i +1)
(i+1)个残差块的操作。设模型的损失函数为
L
\mathcal{L}
L,则
X
i
X_i
Xi的梯度可得如下公式(
1
\mathbb{1}
1表示张量项均为1):
∂
L
∂
X
i
=
∂
L
∂
X
i
+
1
⋅
(
∂
f
i
+
1
∂
X
i
+
1
)
=
∂
L
∂
X
i
+
j
⋅
∏
k
=
1
j
(
∂
f
i
+
k
∂
X
i
+
k
−
1
+
1
)
(1)
\begin{aligned}\frac{\partial\mathcal{L}}{\partial X_i}&=\frac{\partial\mathcal{L}}{\partial X_{i+1}}\cdot\left(\frac{\partial f_{i+1}}{\partial X_i}+\mathbb{1}\right)=\frac{\partial\mathcal{L}}{\partial X_{i+j}}\cdot\prod_{k=1}^j\left(\frac{\partial f_{i+k}}{\partial X_{i+k-1}}+\mathbb{1}\right)\end{aligned} \tag{1}
∂Xi∂L=∂Xi+1∂L⋅(∂Xi∂fi+1+1)=∂Xi+j∂L⋅k=1∏j(∂Xi+k−1∂fi+k+1)(1)
我们观察到,浅层的梯度总是包含深层的梯度,这减轻了
W
i
W_i
Wi的梯度消失。正式来说,
∂
L
∂
W
i
=
∂
L
∂
X
i
+
j
⋅
∏
k
=
1
j
(
∂
f
i
+
k
∂
X
i
+
k
−
1
+
1
)
⋅
∂
f
i
∂
W
i
(2)
\begin{aligned}\frac{\partial\mathcal{L}}{\partial W_i}&=\frac{\partial\mathcal{L}}{\partial X_{i+j}}\cdot\prod_{k=1}^j\left(\frac{\partial f_{i+k}}{\partial X_{i+k-1}}+\mathbb{1}\right)\cdot\frac{\partial f_i}{\partial W_i}\end{aligned} \tag{2}
∂Wi∂L=∂Xi+j∂L⋅k=1∏j(∂Xi+k−1∂fi+k+1)⋅∂Wi∂fi(2)
为了分析跳跃连接如何影响剩余网络的性能,我们在ResNet中对所有的跳跃连接引入了一个可训练系数
β
β
β。因此,将
X
i
X_i
Xi的梯度变换为:
∂
L
∂
X
i
=
∂
L
∂
X
i
+
1
⋅
(
∂
f
i
+
1
∂
X
i
+
β
)
(3)
\begin{aligned}\frac{\partial\mathcal{L}}{\partial X_i}=\frac{\partial\mathcal{L}}{\partial X_{i+1}}\cdot\left(\frac{\partial f_{i+1}}{\partial X_i}+\beta\right)\end{aligned} \tag{3}
∂Xi∂L=∂Xi+1∂L⋅(∂Xi∂fi+1+β)(3)
当
β
<
1
β < 1
β<1时,深层梯度在向浅层反向传播(BP)过程中逐渐消失。这里,
β
β
β控制BP中梯度的记忆,以稳定训练过程。
我们在ResNet50上进行了验证性实验,结果如图2所示。用 { 0 , 0.5 , 1.0 } \{0,0.5,1.0\} {0,0.5,1.0}初始化β,我们可以看到 β β β随训练时期的变化趋势。我们观察到,无论初始化如何,经过40次epoch后, β β β都收敛于1,这表明残差结构学习将 β β β推到一个相当大的值以缓解梯度消失。
类似地,DARTS (Liu et al ., 2019b)使用可训练参数 β s k i p β_{skip} βskip来表示跳跃连接的重要性。然而,在搜索阶段, β s k i p β_{skip} βskip一般会增加和主导架构参数,最终导致性能崩溃。我们分析了DARTS中 β s k i p β_{skip} βskip变大的原因有两个方面:一方面,由于超网络自动学习减轻梯度消失,它将 β s k i p β_{skip} βskip推到一个适当的大值;另一方面,跳跃连接确实是目标网络的重要连接,应该在离散化阶段选择跳跃连接。因此,DARTS中的跳跃连接起着双重作用:一是作为稳定超网络训练的辅助连接,二是作为构建最终网络的候选操作。受上述观察和分析的启发,我们提出通过区分跳跃连接的两种作用和处理梯度流问题来稳定搜索过程。
3.2 走出性能崩溃
为了区分这两种作用,我们在一个单元中每两个节点之间引入一个辅助跳跃连接,如图1 (b)所示。一方面,固定的辅助跳跃连接具有稳定超网络训练的功能,即使 β s k i p β_{skip} βskip很小。另一方面,它也打破了不公平优势(Chu et al, 2020b),因为残差区块的有利贡献被剔除了。因此,学习到的结构参数 β s k i p β_{skip} βskip可以从控制梯度记忆的作用中解脱出来,更精确地表示跳跃连接作为候选操作的相对重要性。与公式7相反,现在可以通过公式4获得边缘 e ( i , j ) e (i,j) e(i,j)的输出特征映射,其中 β o i , j = exp ( α o ( i , j ) ) ∑ o ′ ∈ O exp ( α o ′ ( i , j ) ) \beta_{o}^{i,j}=\frac{\exp(\alpha_{o}^{(i,j)})}{\sum_{o^{\prime}\in\mathcal{O}}\exp(\alpha_{o^{\prime}}^{(i,j)})} βoi,j=∑o′∈Oexp(αo′(i,j))exp(αo(i,j))表示归一化重要性, β β β是独立于结构参数的系数。
此外,为了消除辅助连接对离散化过程的影响,我们提出在搜索阶段将
β
β
β减小到0,并且我们的方法可以在搜索结束时退化为标准的DARTS。请注意,我们的方法对衰减策略的类型并非不敏感,因此为了简单起见,我们默认选择线性衰减。
o
ˉ
(
i
,
j
)
(
x
)
=
β
x
+
∑
o
∈
O
β
o
(
i
,
j
)
o
(
x
)
=
(
β
+
β
s
k
i
p
(
i
,
j
)
)
x
+
∑
o
≠
s
k
i
p
β
o
(
i
,
j
)
o
(
x
)
(4)
\bar{o}^{(i,j)}(x)=\beta x+\sum_{o\in\mathcal{O}}\beta_{o}^{(i,j)}o(x)=\left(\beta+\beta_{skip}^{(i,j)}\right)x+\sum_{o\neq skip}\beta_{o}^{(i,j)}o(x) \tag{4}
oˉ(i,j)(x)=βx+o∈O∑βo(i,j)o(x)=(β+βskip(i,j))x+o=skip∑βo(i,j)o(x)(4)
然后分析了辅助跳跃连接是如何处理梯度流问题的。参考Zhou等人(2020)最近工作的定理,超网络中网络权值
W
W
W的收敛性在很大程度上依赖于
β
s
k
i
p
β_{skip}
βskip。具体来说,假设在搜索空间中只包含三种操作(无操作、跳跃连接和卷积),并利用MSE损失作为训练损失,当结构参数
β
i
,
j
o
β^o_{i,j}
βi,jo固定,通过梯度下降优化
W
W
W时,训练损失可以在一步中按比例
(
1
−
η
λ
/
4
)
(1−ηλ/4)
(1−ηλ/4)降低,概率至少为
1
−
δ
1−δ
1−δ,其中
η
η
η是学习率,应该以
δ
δ
δ为界,
λ
λ
λ遵循公式5。
λ
∝
∑
i
=
0
h
−
2
[
(
β
c
o
n
v
(
i
,
h
−
1
)
)
2
∏
t
=
0
i
−
1
(
β
s
k
i
p
(
t
,
i
)
)
2
]
(5)
\lambda\propto\sum_{i=0}^{h-2}\left[\left(\beta_{conv}^{(i,h-1)}\right)^2\prod_{t=0}^{i-1}\left(\beta_{skip}^{(t,i)}\right)^2\right] \tag{5}
λ∝i=0∑h−2[(βconv(i,h−1))2t=0∏i−1(βskip(t,i))2](5)
其中
h
h
h为超网络的层数。从公式5中,我们观察到
λ
λ
λ对
β
s
k
i
p
β_{skip}
βskip的依赖比对
β
c
o
n
v
β_{conv}
βconv的依赖更大,这表明当
β
s
k
i
p
β_{skip}
βskip较大时,网络权值
W
W
W收敛得更快。然而,通过引入一个加权为
β
β
β的辅助跳跃连接,公式5可以细化为:
λ
∝
∑
i
=
0
h
−
2
[
(
β
c
o
n
v
(
i
,
h
−
1
)
)
2
∏
t
=
0
i
−
1
(
β
s
k
i
p
(
t
,
i
)
+
β
)
2
]
(6)
\lambda\propto\sum_{i=0}^{h-2}\left[\left(\beta_{conv}^{(i,h-1)}\right)^2\prod_{t=0}^{i-1}\left(\beta_{skip}^{(t,i)}+\beta\right)^2\right] \tag{6}
λ∝i=0∑h−2[(βconv(i,h−1))2t=0∏i−1(βskip(t,i)+β)2](6)
其中
β
≫
β
s
k
i
p
β\ggβ_{skip}
β≫βskip使得λ对
β
s
k
i
p
β_{skip}
βskip不敏感,使得网络权值
W
W
W的收敛更依赖于
β
c
o
n
v
β_{conv}
βconv。在搜索开始时,
β
s
k
i
p
β_{skip}
βskip的一般值为0.15,
β
β
β为1.0。从收敛定理(Zhou et al ., 2020)的角度来看,辅助跳跃连接缓解了
β
s
k
i
p
β_{skip}
βskip的特权,均衡了结构参数之间的竞争。即使当
β
β
β逐渐衰减时,由于网络权重
W
W
W已经收敛到一个最优点,公平竞争仍然存在。因此,DARTS-能够稳定DARTS的搜索阶段。
大量的实验证明了所提出的辅助跳跃连接的有效性,并强调我们的方法可以灵活地与其他方法相结合,以进一步提高稳定性和搜索性能。总体算法在算法1中给出。
3.3 与前期工作的关系
我们的方法旨在解决可微网络架构搜索的性能崩溃问题。大多数以前的工作(Zela et al, 2020;Chen & Hsieh, 2020;Liang等人,2019)专注于制定表征崩溃发生的各种标准或指标。然而,我们不研究或依赖这些指标,因为它们可能会错误地拒绝好的模型。受Chu等人(2020b)的启发,我们的方法侧重于校准有偏差的搜索过程。基本原理很简单:如果有偏见的过程得到纠正,搜索结果将会更好。总之,我们的方法与其他方法的不同之处在于两个方面:面向过程和无指标。与Chu等人(2020b)调整竞争环境的方法不同,我们的方法可以被视为打破不公平优势的方法。此外,我们没有引入任何手工制作的指标来表示性能崩溃,从而大大减少了转换到不同任务的负担。
4 EXPERIMENTS
4.1 搜索空间和训练设置
为了在标准的DARTS空间中进行搜索和评估(为了简单起见,我们将其命名为S0),我们保持与DARTS中相同的设置(Liu et al, 2019b)。我们遵循R-DARTS (Zela等人,2020)提出的简化空间S1- S4(比S0更难)。然而,推断的模型是用两种不同的设置进行训练的,分别是R-DARTS (Zela et al ., 2020)和SDARTS (Chen & Hsieh, 2020)。不同之处在于CIFAR-100评估的层数和初始通道。R-DARTS设置8层和16个初始通道。相反,SDARTS分别使用20和36。对于ImageNet上的无代理搜索,我们在FBNet中提出的类似MobileNetV2的搜索空间(我们将其命名为S5)中进行搜索(Wu et al, 2019)。我们将SGD优化器用于权重和Adam (β1 = 0.5和β2 = 0.999,学习率为0.001),用于批量大小为768的架构参数。初始学习率为0.045,并在余弦调度后的30个epoch内衰减为0。我们也用L2正则化来处理1e-4。在 Tesla V100上,大约需要4.5个GPU-Day。附录中提供了更多细节。我们还使用了NAS-Bench-201 (S6),因为DARTS的性能非常差。我们总共使用了7个不同的搜索空间进行实验,涉及到3个数据集。
4.2 搜索结果
CIFAR-10和CIFAR-100。根据R-DARTS(Zela et al, 2020)的设置,我们在CIFAR-10上获得了97.36%的平均Top-1准确率,如表2所示。此外,我们的方法具有很强的鲁棒性,因为在六次独立运行中搜索结果非常稳定。在CIFAR-10上发现的最佳单元(97.5%)见图9 (B)。在CIFAR-100上发现的结果见表10(见A.2.1)。此外,我们的方法比R-DARTS (Zela et al, 2020)的搜索成本低得多(低3倍),R-DARTS需要4个具有不同正则化设置的独立搜索来生成最佳架构。换句话说,它的健壮性来自于更多二氧化碳排放的成本。
ImageNet。为了进一步验证DARTS-的效率,我们直接在S5中的ImageNet上进行搜索,并将我们的结果与表2中移动设置下的最先进模型进行比较。该体系结构的可视化如图10所示。在ImageNet验证数据集上,DARTS-A获得76.2%的Top-1准确率。相比之下,在该搜索空间上直接应用DARTS仅获得66.4% (Chu et al ., 2020b)。此外,在配备了auto-augmentation(Cubuk等人,2019)和squeeze-and-excitation(Hu等人,2018)之后,它获得了77.8%的Top-1精度,这也被用于EfficientNet。
NAS-Bench-201。除了标准搜索空间之外,还建议在有限的设置中使用已知的最优进行基准测试。NAS-Bench-201 (Dong & Yang, 2020)在简化的类似DARTS的搜索空间中由15,625个架构组成,其中它有4个内部节点,每个节点有5个操作。我们将我们的方法与表3中的先前工作进行比较。我们在CIFAR-10上进行搜索,并在各种测试集上查找发现的genotype的真实性能。值得注意的是,我们达到了一个新的SOTA状态,其中最好的几乎达到了最佳状态。
迁移到目标检测的结果。通过替换MMDetection工具箱平台(Chen et al ., 2019a)上的RetinaNet主干(Lin et al ., 2017),我们进一步评估了模型在下游目标检测任务上的可转移性。具体来说,在与Chu等人(2020b)相同的训练设置下,我们的模型在COCO数据集上实现了32.5%的mAP,超过了其他类似大小的模型,如MobileNetV3、MixNet和fairdart。详细结果见附录(表11)。
4.3 与其他变异体正交组合
我们的方法可以灵活地结合前人的工作进行进一步的改进。本文采用P-DARTS和PC-DARTS两种方法对联合预后进行了研究。
Progressive DARTS (P-DARTS)。P-DARTS (Chen et al ., 2019b)提出了一种渐进式方法,在剔除非竞争路径的同时,逐步进行深度搜索。此外,它还使用了一些手工制作的标准来解决崩溃问题(渐进式思想本身无法处理这个问题),例如,它们通过将跳跃连接的数量M规范为2和dropout来施加两个强先验。公平地说,我们去掉了这样一个精心手工制作的技巧,并运行了几次P-DARTS。作为自然对照组,我们也结合了DARTS-和P-DARTS。我们在表4中的CIFAR-10数据集上运行这两个实验3次。如果没有强先验,P-DARTS将严重遭受崩溃,其中推断的模型包含过多的跳跃连接。具体来说,它的测试误差非常高(平均为3.42%),甚至比DARTS还要糟糕。然而,P-DARTS可以从与DARTS-的组合中获益良多。改进的版本(我们称之为P-DARTS-)在CIFAR-10上获得比基线高得多的Top-1精度(+0.8%)。
Memory Friendly DARTS (PC-DARTS)。为了减轻整个超级网络的巨大内存开销,PC-DARTS (Xu et al ., 2020)选择部分通道进行搜索。比例超参数K需要仔细校准,才能在特定任务中获得良好的结果。作为副产品,搜索时间也减少到0.1 GPU-Day(K=4)。我们使用他们发布的代码,在相同的设置下对不同的种子进行重复的实验。为了准确地评估我们的方法的作用,我们选择K=2(在原始论文中是一个糟糕的配置)。我们在表5中比较了原始PC-DARTS及其与我们的组合(命名为PC-DARTS-)。PC-DARTS-可以略微提高CIFAR-10 Top-1的准确率(平均+0.26%)。结果还证实了我们的方法可以使PC-DARTS对其超参数K的敏感性降低,同时保持其较少的内存成本和运行时间的优势。
4.4 消融研究
对衰减策略的鲁棒性。我们的方法对 β β β上衰变策略的类型不敏感。我们设计了另外两种策略作为比较:余弦和阶跃衰减。他们都有相似的表现。其中,当利用余弦策略将 β β β调度为0时,S3中搜索到的4个CIFAR-10模型的平均准确率为97.33%±0.09,最佳准确率为97.47%。在相同的搜索空间中,在epoch 45处的阶跃衰减平均获得97.30%的Top-1精度。
S0-S4中C10和C100的鲁棒性比较。为了验证鲁棒性,需要进行多次搜索以报告派生模型的平均性能(Yu et al ., 2020;Antoine et al, 2020)。如表1、表9和表7所示,我们的方法在多个空间和数据集上优于最近的SOTA。注意,SDARTS-ADV利用对抗性训练,需要比我们多3倍的搜索时间。特别是,我们在CIFAR-100上的S3中找到了一个很好的模型,其Top-1测试误差最低为15.86%。这些模型的体系结构可以在附录中找到。
β β β的敏感性分析。通过设置较低的初始 β β β值,可以降低辅助跳跃连接支路的权重。我们现在评估我们的方法对β值的敏感性。很容易看到,当 β = 0 β = 0 β=0时,我们的方法退化为DARTS。我们用 β ∈ { 1 , 0.7 , 0.4 , 0.1 , 0 } β \in \{1,0.7,0.4,0.1,0\} β∈{1,0.7,0.4,0.1,0}来比较搜索结果。由表6中的 β 0 β_0 β0可知, β 0 β_0 β0越大有利于获得较好的网络。
辅助分支的选择。除了默认的跳跃连接作为辅助分支外,我们还证明了用一个可学习的1×1卷积投影代替它也是有效的,该卷积投影用一个单位张量初始化。S3中检索到的3种CIFAR-10模型的平均准确率为97.25%±0.09。与He等人(2016)的消融类似,这里的投影卷积的工作方式与提议的跳跃连接相似。这证明了辅助分支的必要性。
较长epoch的表现。Bi等人(2019)声称,更长的epoch导致超网络更好的收敛,据说有利于推断最终模型。然而,许多DARTS变体都失败了,因为它们的最终模型中充满了跳跃连接。因此,我们评估方法在这种情况下的行为。具体来说,我们将标准的50个epoch扩展到150,200,并为S0, S2和S3分别搜索3个独立的epoch。由于更长的周期,我们稍微改变了我们的衰变策略,我们一直保持 β = 1 β = 1 β=1,直到最后50个epoch,我们将 β β β衰变为0。其他超参数保持不变。结果如表8所示,发现的genotype如图17、18、19、20和21所示。这表明,与Bi等人研究的(#P = 0)相比,DARTS-具有合理的#P值,因此不会受到更长的epoch的影响(2019)。注意S2和S3是更困难的情况,其中DARTS比S0遭受更严重的崩溃。因此,即使在具有挑战性的搜索空间中,DARTS-也可以成功地存活更长时间。值得注意的是,更长的epoch是否真的能提高搜索性能还不清楚。虽然我们在S2中获得了新的最先进的结果,其中最佳模型的错误率为2.50%(之前为2.63%),但在S0中其平均性能(2.71±0.11%)仍低于50个epoch搜索的模型(2.59±0.08%),并且S3中的最佳模型(2.53%)也弱于之前(2.42%)。
此外,与一阶DARTS在S0中的成本为0.4 GPU-Day相比,专门设计用于更长的epoch的Amended-DARTS(Bi et al, 2019)即使在S0中修剪边缘也报告1.7 GPU-Day。我们的方法与一阶DARTS的成本相同,但效率更高。
5 ANALYSIS AND DISCUSSIONS
5.1 Hessian特征值失效
从验证损失w.r.t α α α计算的最大Hessian特征值被视为性能崩溃的指标(Zela等人,2020;Chen & Hsieh, 2020)。令人惊讶的是,我们的方法在大多数配置中发展出一个不断增长的特征值,这与之前的观察结果相冲突。我们在图4 (A.2.2)中显示了跨不同搜索空间和数据集的这些统计数据。
虽然特征值的增加几乎是单调的,最终达到一个比较大的值,但最终的模型仍然具有与最先进的模型相匹配的良好性能(见表9)。根据特征值标准,这些模型可能被误认为是糟糕的模型或从未访问过。我们的观察揭示了这些基于指标的方法的一个致命缺点:它们容易拒绝好的模型。进一步的分析可以在A.2.2中找到。
5.2 验证精度概况
最近的研究,R-DARTS (Zela et al ., 2020)和SDARTS (Chen & Hsieh, 2020)指出,为了在离散化过程后获得稳定的架构,架构权重应该收敛到精度对扰动不敏感的最优点,即收敛点应该有一个平滑的景观。SDARTS提出了一种基于微扰的正则化方法,进一步稳定了搜索过程。然而,扰动正则化会干扰训练过程,从而误导体系结构权值的更新。与通过扰动显式平滑景观的SDARTS不同,DARTS-可以隐式地执行相同的操作,而无需直接扰动体系结构权重。
为了分析DARTS-的有效性,我们绘制了基于体系结构权值 α α α的验证精度图,发现辅助连接平滑了图,从而稳定了搜索阶段。具体来说,我们选择两个随机方向并对 α α α施加归一化扰动(遵循Li等人2018a)。如图3所示,DARTS-对扰动的敏感性低于DARTS,并且DARTS的等高线图-下降更平缓。
6 CONCLUSION
我们提出了一种简单有效的方法,称为DARTS-来解决可微分架构搜索中的性能崩溃问题。其核心思想是利用辅助跳跃连接分支来接替候选跳跃连接操作的梯度优势作用。这可以创造一种公平的竞争,在这种竞争中,双层优化过程可以很容易地区分好操作和坏操作。因此,搜索过程更加稳定,并且在不同的搜索空间和不同的数据集之间很少发生崩溃。在严格控制的设置下,它稳定地优于最近最先进的RobustDARTS (Zela等人,2020),搜索成本降低了3倍。此外,我们的方法不赞成各种手工正则化技巧。最后但并非最不重要的是,它可以单独使用,也可以根据需要与各种正交改进配合使用。
本文为今后的研究传递了两个重要信息。一方面,性能崩溃的的Hessian特征值指标(Zela et al, 2020;Chen & Hsieh, 2020)并不理想,因为它有拒绝好的模型的风险。另一方面,手工正则化技巧(Chen等人,2019b)对于搜索一个好的模型似乎比提出的方法更重要。那么解决方案是什么呢?原则上,很难找到一个完美的崩溃指标。我们的方法显示了控制搜索过程的潜力,并且不会对最终模型施加限制或先验。我们希望在这方面得到更多的注意。
A APPENDIX
A.1 DARTS初步了解
在可微架构搜索中(Liu et al, 2019b),构建了一个以有向无环图(DAG)形式的基于单元的搜索空间。DAG有两个来自前一层的输入节点、四个中间节点和一个输出节点。在每两个节点(例如i, j)之间存在多个并行运算符(记为
O
\mathcal{O}
O),给定输入
x
x
x,其输出
o
ˉ
(
i
,
j
)
\bar{o}(i,j)
oˉ(i,j)定义为:
o
ˉ
(
i
,
j
)
(
x
)
=
∑
o
∈
O
exp
(
α
o
(
i
,
j
)
)
∑
o
′
∈
O
exp
(
α
o
′
(
i
,
j
)
)
o
(
x
)
(7)
\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^{\prime}}^{(i,j)})}o(x) \tag{7}
oˉ(i,j)(x)=o∈O∑∑o′∈Oexp(αo′(i,j))exp(αo(i,j))o(x)(7)
它本质上是对所有操作符应用softmax,其中每个操作符被赋予一个体系结构权重
α
α
α。超网络建立在两种单元上,即所谓的正常单元和约简单元(用于下采样)。然后将架构搜索描述为双层优化:
min
α
L
v
a
l
(
w
∗
(
α
)
,
α
)
s
.
t
.
w
∗
(
α
)
=
arg
min
w
L
t
r
a
i
n
(
w
,
α
)
(8)
\begin{aligned}\min_\alpha&\quad\mathcal{L}_{val}(w^*(\alpha),\alpha)\\s.t.&\quad w^*(\alpha)=\arg\min_w\mathcal{L}_{train}(w,\alpha)\end{aligned} \tag{8}
αmins.t.Lval(w∗(α),α)w∗(α)=argwminLtrain(w,α)(8)
这表明这种基于单元的超网络的训练应该是交错的,在每一步中,网络权值和架构权值都是迭代更新的。最终模型是通过简单地选择具有最大体系结构权重的操作来确定的。
A.2 实验
A.2.1 训练细节
CIFAR-10和CIFAR-100。表9给出了精简搜索空间S1-S4以及最大特征值下的平均性能。表10报告了CIFAR-100在50中的结果。
ImageNet分类。对于ImageNet上的训练,我们使用与MnasNet相同的设置(Tan et al ., 2019)。为了与EfficientNet (Tan & Le, 2019)进行比较,我们还使用了squeeze-and-excitation(Hu等人,2018)。此外,我们不包括使用大型模型蒸馏训练的方法,因为它可以略微提高最终验证的准确性。公平地说,我们没有在MobileNetV3中使用有效的head(Howard等人,2019),尽管它可以略微减少FLOPs。
COCO目标检测。所有模型在MS COCO数据集上进行了12个epoch的训练和评估,批大小为16。初始学习率为0.01,在epoch 8和11时降低0.1。
A.2.2 关于特征值失效的进一步讨论
为了进一步探索搜索性能与Hessian特征值之间的关系,我们在图4 (b)中绘制了搜索模型的性能轨迹。
具体来说,我们每10个epoch对模型进行一次采样,并使用与上述相同的设置从头开始训练这些模型(图5)。推理模型的性能持续增长,准确率从96.5%提高到97.4%。这证实了用我们的方法进行搜索的有效性。相比之下,基于特征值的早期停止策略(Zela et al, 2020)在这种情况下会失败。我们认为,所提出的辅助跳跃连接分支可以正则化超网络的过拟合,留下体系结构权重来表示候选操作的能力。这个实验是R-DARTS的一个反例,在R-DARTS中,尽管Hessian特征值变化很快,但仍然可以出现好的模型。它再次否认需要一个代价高昂的指标。
A.2.3 更多消融研究
为了补充4.4节的敏感性分析,图6显示了初始化不同值的β时的训练损失曲线。
A.3 损失情况
为了展示DARTS-的一致平滑能力,我们在图7和图8中绘制了更多的损失情况(在几个种子上)。一般情况下,如果将其视为 camping tents,则DARTS-的斜率会更膨胀,这表明过参数化网络具有更好的收敛性。
A.4 实验列表
我们将所有已进行的实验进行汇总,并给出相关的图表见表12。
B FIGURES OF GENOTYPES
图9—图21。