©PaperWeekly 原创 · 作者|陆顺
学校|中科院计算所硕士
研究方向|神经网络架构搜索
注:该工作由作者在美团实习期间由初祥祥(美团 Mentor,前小米 AutoML 负责人)指导参与。
论文标题:
DARTS-: Robustly Stepping out of Performance Collapse Without Indicators
论文作者:
初祥祥、王晓星、张勃、陆顺、魏晓林、严骏驰
论文链接:
https://openreview.net/forum?id=KLH36ELmwIB
可微分方法(DARTS)是神经网络架构搜索(NAS)中最流行的方法。现有不少方法都致力于解决性能崩塌的问题,从而提升其稳定性。RobustDARTS [1] 提出了用超网的特征根作为判别是否进入崩塌的标志,而我们在本篇工作发现了反例,即在特征根不断增大的情形下,搜索出的模型性能仍在提升。我们受 FairDARTS [2] 中跳跃连接存在不公平竞争优势的启发,使用了一个额外的跳跃链接(auxiliary skip),简单有效地提升了 DARTS 的鲁棒性,且不使用额外的超参数和指示标志。
研究动机
可微分神经网络搜索(DARTS)存在普遍的性能崩塌,现有提升方法使用了先验知识或用指示信号来判别崩塌是否发生,而计算指示信号非常耗时,我们的出发点是能否不通过人为先验或需要耗费算力的指示信号来解决该问题。
创新和贡献
1. 我们提出了一种不需要指示信号来提升 DARTS 稳定性的方法,只需要通过增加一个额外的跳跃连接,既能消除不公平竞争优势,也能稳定超网的优化过程。
2. 在 7 种搜索空间和 3 种数据集上进行了实验,来验证本方法的鲁棒性。
3. 本方法可以与其他 DARTS 的变体方法相结合。去掉人为先验后,在 CIFAR-10 数据集上本方法可分别将 P-DARTS [3] 和 PC-DARTS [4] 准确率再提升 0.8% 和 0.25%。
4.1 动机分析
(1)从梯度流动的角度,跳跃连接可以减轻梯度消失的问题。假设第 i+1 层的残差连接块 Xi+1 可以表示为 Xi+1=fi+1(Xi, Wi+1)+Xi,损失函数为 L,那么对 Xi 求导为:可以看出,浅层的梯度总是包含了深层,用公式表示为:为了分析跳跃连接的作用,为所有的跳跃连接引入一个超参数 β,那么 Xi 的导数变为:
一旦 β 小于 1,那么深层的梯度反向传播到浅层将会逐渐消失。这里β可以表征在反向传播中,训练过程的梯度是如何得到稳定的。
(2)对 ResNet50 的跳跃连接进行参数化训练。分别初始化 β 为 0,0.5 和 1.0,并绘制其变化曲线如下。可以看出,在 40 个 epoch 时,无论 β 初始值为多少,其都能收敛至1。因此,证明残差结构可以学习将 β 推向一个较大值来减轻梯度消失的问题。
(3)DARTS 同样为跳跃连接分配了一个可训练参数 βskip,搜索过程中其也会变得很大从而导致了搜索模型的性能崩塌。本文分析其原因主要有以下两点。
- 一方面,超网学习将 βskip 收敛至一个较大值来防止梯度消失;
- 另一方面,跳跃连接是目标网络的一个重要操作,在离散化时应该被保留。
因此可以看出跳跃连接在 DARTS 中扮演了两种角色:稳定超网训练、作为构建最终模型的候选操作。如果能区分 DARTS 搜索过程中跳跃连接的不同角色,那么就可以稳定 DARTS 的搜索过程。
方法:提出在每两个节点间添加一个额外的跳跃连接。
作用:额外的跳跃连接可以起到稳定超网训练的作用,并消除候选操作中跳跃连接的不公平竞争优势,从而使得候选操作中的跳跃连接只需要表征该候选操作重要性这一种角色。
影响:为了在搜索过程结束后,与其他方法保持一致,本文为这个额外的跳跃连接引入一个超参 β,并使其逐渐衰减至 0。因此,DARTS 混合操作的形式变为:其中 β 表示额外跳跃连接的权重,βskip 表示候选操作中跳跃连接的权重。根据 PR-DARTS [5] 论文分析,网络权重 W 的收敛极大依赖于跳跃连接的权重 βskip。具体来讲,假设只有三种操作(none,skip-connect 和 convolution),并使用 MSE 损失进行训练。同时固定每种操作的权重,只优化网络权重W。那么在每一步,训练损失可以以 (1-λη/4) 比率下降。其中 η 是学习率,λ 符合下式:其中 h 表示超网的层数。从上式可以看出,相比于 βconv,λ 更加依赖于 βskip。当引入了额外的跳跃连接后,上式变为:当 β>>βskip 时,λ 就不会对 βskip 那么敏感,此时网络权重 W 将更加依赖于 βconv。因此,结合 PR-DARTS [5] 的分析,可以看出:额外的跳跃连接可以减轻 βskip 的优势并使得架构参数的竞争更加公平。即使 β 逐渐衰减时,由于网络权重 W 已经逐渐收敛,因此依然能保证公平的竞争。综上所述,DARTS- 可以提升 DARTS 搜索阶段的鲁棒性。
实验结果
1. 搜索空间(S0-S6):
- S1-S4:R-DARTS 中提出的搜索空间(S0 的子集,但是限制更多,相对较难)
- S5:ProxylessNAS 搜索空间,用于直接在 ImageNet上搜索
S6:NAS-Bench-201 搜索空间
2. CIFAR-10 和 ImageNet 数据集的实验结果对比。本文方法具有很好的稳定性,准确率也达到同类方法中最优。3. 在通用 NAS 基准评测集 NAS-Bench-201 的实验结果4. 主干网络迁移到检测任务 COCO 的实验结果5. 与 P-DARTS 和 PC-DARTS 结合的实验结果(表格中 P-DARTS 去掉了跳跃连接数量为 2 的限制,PC-DARTS 设置其超参 K=2)
分析和讨论
1. DARTS- 搜索过程的特征根:优化过程中特征根(eigvenvalue)的增大,并不一定意味着模型性能会变差。以前方法用特征根作为性能崩塌的指示标志,我们找到了如图的几组反例。2. 验证集准确率的地貌分析(landscape):下图可以看出,添加额外的跳跃连接可以使其更平滑,这样可以让优化过程更稳定。3. 额外的分支选择:将额外的跳跃连接替换为 1x1 卷积,并初始化为单位阵,我们使用 CIFAR-10 数据集在 S3 空间进行多次试验,获得了 97.25%±0.09 的准确率。ResNet 中同样分析了 projection convolution 和跳跃连接的工作机制类似,因此再次印证了跳跃连接的必要性。
4. 使用更长的搜索轮数:Amended-DARTS [6] 中提到使用更长的搜索轮数能使得超网更充分地收敛。而 DARTS 以及很多 DARTS 方法的变体在使用更长的搜索轮数时,会由于跳跃连接聚集而导致性能崩塌。为了验证该问题,我们将搜索轮数从 50 分别延长至 150 和 200。在 S0、S2 和 S3 三个搜索空间分别进行三次搜索实验,同时设置 β 只在最后 50 个 epoch 衰减。实验结果见下表。可以看出,经过更长的搜索轮数后,并没有出现明显的性能崩塌。我们同时也发现超网的收敛程度和搜索网络的性能之间的关系并不简单,尚待深入分析。[1] Zela et al. Understanding and Robustifying Differentiable Architecture Search, ICLR 2020[2] Chu et al. FairDARTS: Eliminating unfair advantages in differentiable architecture search, ECCV 2020[3] Chen et al. Progressive Differentiable Architecture Search: Bridging the Depth Gap between Search and Evaluation, ICCV 2019[4] Xu et al. PC-DARTS: Partial Channel Connections for Memory-Efficient Architecture Search, ICLR 2020[5] Pan et al. Theory-Inspired Path-Regularized Differential Network Architecture Search, NuerIPS 2020[6] Bi et al. Stabilizing DARTS with Amended Gradient Estimation on Architectural Parameters, 2019