本文最后更新于:8 个月前

概述

本文要解决的问题是在文献[1]和[2]中都提到过的跳跃连接聚集的问题。虽然跳跃连接可以使超网络的长度可以收缩,但它使超网络的训练便得不稳定,进而使评估模型变得困难。本文首先深入讨论了跳跃连接给训练带来的不稳定性,给出了造成这种现象的根本原因;然后提出了一种可学习的稳定子,使超网络在可变深度的情况下训练也变得稳定;最后利用这种稳定子在ImageNet上训练达到了76.9%的SOTA,且相比于Efficient-B0有更少的FLOPs。

本文使用了两个搜索空间:

  • $S_{1}$:与ProxylessNAS类似,采用MobileNetV2作为它的backbone,包括19层,每层7种选择,一共$7^{19}$种可能。
  • $S_{2}$:在$S_{1}$的基础上,给每个inverted bottleneck一个squeeze-and-excitation的操作,类似于MnasNet,一共$13^{19}$种可能。

训练的不稳定性

作者用single-path的方式在$S_{1}$空间上搜索,发现跳跃连接带来了严重的训练不稳定,如图1蓝色标记所示,训练过程的方差非常大,且采样的子模型准确率也很低。作者计算了已训练好的超网络的第三层内不同choice blocks的余弦距离,绘制成热图如下图所示:

可以看出前6个inverted bottlenecks有非常相似的特征(颜色较深),但跳跃连接的特征相似度就很低(颜色较浅),平均余弦距离低于0.6。在训练过程中,除跳跃连接外其他操作带来的都是相似的特征图,但跳跃连接带来了更多的特征增强,破坏了现有特征图的相似性,使超网络的训练恶化。

方法

作者解决这个问题的方法是,使用一个可学习的稳定子来代替无参的跳跃连接,以实现同其他choice blocks一样相似的特征,同时带稳定子的子模型必须和不带稳定子的子模型在表征能力上是等价的。满足上述要求的稳定子称为Equivariant Learnable Stabilizer(ELS),可用下式表示:

作者这里选择ELS函数为不带BN和激活函数的1x1卷积,关于其等价的证明可参考原文。

在搜索阶段作者多目标进化搜索,因为更加关注准确率和加乘数,并且移动端的开发更加防止欠拟合,作者对搜索目标进行了加权且设置了最大加乘数$madds_{max}$和最小准确率$acc_{min}$,最终的搜索过程描述为:

实验

在ImageNet数据集上的结果如下图所示,其中SCARLET-A达到了76.9的SOTA。

同时作者画出了训练后的cross-block的特征相似度和特征向量指示图:

相比于图2,添加了稳定子之后skip同其他blocks有了更高的相似度,特征向量之间的夹角也更小了。并且在带约束的优化搜索相比于不带约束的搜索可以达到更好的效果:

最后作者绘制了4个不同层的1x1卷积输入、输出通道之间的相似度,可以看出只有对角线上的权重是非常相似的,这符合我们之前对ELS的要求。

总结、思考

本文揭示了可伸缩signal path one-shot在训练时不稳定的原因,并提出了等价可学习稳定子(ELS),在很大程度上缓解了超网络的训练不稳定。同时采用加权多目标进化搜索,在ImageNet上最终达到了SOTA的效果。本文使用了一个非常优雅、简单的技巧就缓解了训练过程的不稳定,也给出了理论证明与详实的实验分析,给此方面的研究提供了一个非常好的思路。同时,文中使用1x1卷积作为ELS,如何进一步提升实验效果、挖掘其他形式的ELS函数还需作进一步的研究。

参考文献

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

[2] Understanding and Robustifying Differentiable Architecture Search