Press "Enter" to skip to content

MixPath:基于权重共享的神经网络搜索统一方法

©PaperWeekly 原创 · 作者|陆顺

 

学校|中科院计算所硕士

 

研究方向|神经网络架构搜索

 

 

论文标题: MixPath: A Unified Approach for One-Shot Neural Architecture Search

 

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

 

代码链接: https://github.com/xiaomi-automl/MixPath

 

 

本方法拓展了现有神经网络搜索中的权重共享(One-Shot)路线,打破了只能搜单路径模型的限制,支持多路径搜索空间。方法采用多路径激活训练一个超网(supernet)的方式,从而对多路径子网进行性能评估,已有的单路径方法  SPOS、FairNAS 因此成为该方法的特例。

 

本文证明了多路径超网在多路激活下的特征幅度关系,推测其可能导致了多路径超网训练不稳定性。基于此,本文提出使用影子批正则化(Shadow BN, SBN)来对多路径激活的特征进行“如影随形”的正则化,实验证明其能够有效缓解训练不稳定性。

 

本文进一步用实验证明 Shadow BN 可以提高多路径超网对多路径子网的排序能力(ranking),而且作用于训练过程的 Shadow BN 可以与训练后的 BN 校准相结合,能够进一步提升超网的排序能力,在 NAS-Bench-101 子集上达到的 Kendall Tau 值为 0.597。

 

该方法搜索出来的轻量级模型,准确率达到业界领先水平,其中 MixPath-B 在 ImageNet 上达到 77.2%。

 

 

研究动机

 

多路径模型可以更好地平衡性能和计算消耗(Inception,ResNeXt)。当前不含先验的神经网络架构搜索方法,缺乏一种和 FairDARTS 多路径方式对偶的搜索方式(Fig 2)。

 

 

在分两阶段的权重共享方法中,训练超网是为了保证其对子模型的排序能力,即能够分辨子模型的优劣。

 

使用传统的单个 BN 训练多路径超网,训练过程并不稳定,模型排序能力也比较弱(Fig.3.b 蓝绿两种方法预测出的准确率区间在 0-0.2),因而需要一种方法能够提高多路径超网的训练稳定性和排序能力。

 

 

 

方法

 

通过分析 Supernet 训练过程中特征图的相似度及模长(Fig.4),作者推测使用 Shadow BN 来跟踪不同路径组合情况时的特征分布,使得多次激活之间特征变化不至于相差过大,尽然改善超网的训练过程。

 

本文提出的采用 Shadow BN 的多路径搜索方式如 Fig1 所示。作者采用了 MobilenetV2 的结构块(block),每个 block 中可以选择 depthwise conv 的数量以及卷积核的大小。

 

下图中间为 m=2 的示意图,即可选一条或两条路径,若选择一条路径则对应 SBN1(所有的单路径都经过 SBN1),若选择两条路径则可从 4 种操作中不重复地选择两种,输出叠加后,此时对应 SBN2(所有的双路径对应 SBN2)。

 

同理若 m=3 或者 m=4,则最多可选 3 条或 4 条路径,分别对应 SBN3 和 SBN4。

 

下图右是 SBN1(红) 和 SBN2(绿) 需要跟踪的特征均值和方差示意图,作者根据理论分析出双路径的特征分布均值大约是单路径的两倍,方差大约是单路径的四倍。显然,单个 BN (黑)无法跟踪这两种分布。

 

 

FairNAS 指出单路径超网的不同路径输出的特征图是相似的,作者因此定义了一种零阶条件,即给定任意输入 x,对于两种不同的操作 y=f(x) 和 z=g(x),输出特征图 y≈z。此时,二者均值 E(y)≈E(z),方差 Var(y)≈Var(z)。

 

在双路径激活情形下,其输出特征图为 y+z,均值为 E(y+z)=E(y)+E(z)≈2E(y),方差  Var(y+z)≈Var(2y)=4Var(y),证明如下。

 

 

本文通过实验对上述证明进行了验证,如 Fig.5 所示,SBN2 学到的均值大约是 SBN1 的两倍,方差大约是 SBN1 的四倍,可以看出是基本符合上述推导的。

 

不同数量组合操作的输出,他们之间的均值和方差确实发生了变化,因此使用单个 BN 无法对呈多种分布的特征进行正则化。

 

同时由于相同数量不同组合操作的输出仍满足相似性,例如 y+z 和 u+v ,只需对应一个BN 即可,否则 BN 的数量会指数型增长,反而不利于训练。

 

 

进一步地,可以看出无论是否使用 Shadow BN,输出特征图的余弦相似度都是较高的如 Fig 4a 所示,他们之间的夹角虽然很小,但是模长(图 b 中的蓝线)呈比例关系,差别明显。

 

当不使用 SBN 时,不同数量组合的操作在经过单个 BN后,模长仍然是不一致的;而当使用 SBN 时,不同数量组合的操作经过 SBN 后,模长变得十分接近。这就使得超网每个 Block 中不同组合的输出是接近稳定的,从而使得超网的训练能够稳定下来。

 

 

 

实验

 

使用本文的方法在 NAS-Bench-101 的子集(以适应 MixPath 搜索空间)上进行验证,测试 ranking 如 Fig 6b,可见 SBN 和 BN 校准操作并用可以最大限度提升超网的排序能力:

 

 

 

使用本文方法在 CIFAR-10 进行搜索,将所得模型单独训练后进行对比;同时将 ImageNet 上搜索所得模型迁移到 CIFAR-10,top-1 准确率达到了 98.1%。

 

 

使用本文方法在 ImageNet 进行搜索,将所得模型单独训练后的对比,其中 MixPath-B 准确率最高可达 77.2%:

 

 

搜索所得多路径模型的结构示意图如 Fig 7:

 

 

使用本文方法搜索所得模型迁移到目标检测任务上的对比:

 

 

 

消融实验

 

对比使用指数个 BN(即任意一种不同组合操作都对应一个 BN),效果不如 SBN(线性)。虽然指数个 BN 会更准确地捕捉分布的变化,但此时 BN 的参数更多,使得校准时更难以匹配均值和方差, 反而导致 ranking 能力降低。

 

 

用 SBN 训练的 Supernet 采样子模型比不用 SBN 的分布更好,随机采样 1000 个模型的预测准确率分布(激活 m=1,2,3,4个路径):

 

 

使用 NSGA-II 搜索策略和随机搜索策略的对比:

 

 

组件分析:同等训练环境和模型大小约束下,不使用 SBN 训练 Supernet 所得单模型在 CIFAR-10 上的准确率最高为 97.12%,使用 SBN 训练 Supernet 所得单模型准确率最高为 97.35%。

 

 

思考

 

为什幺使用 SBN 能够稳定训练同时提升排序能力:余弦相似度并不是训练稳定的唯一条件,还需要保证特征分布的一致性,使用 SBN 能够对多路径下的特征分布进行正则化,从而促进稳定训练。

 

当训练稳定后,各个子网络能获得更合适的权重,从而能够更好地代表单模型的真实精度。

 

为什幺 SBN 能和后校准 BN 叠加能提升排序能力:根据前述分析可知,不同路径组合的特征均值和方差是并不是完全满足上述推导关系,从 Fig 5 也能看出是大部分满足上述结论。

 

所以通过后校准 BN,能够弥补单个 SBN 对多种组合(比如 y+z 和 u+v )近似估计的偏差,通过重新调整 BN 的参数,从而使得二者能够共同提升排序能力。

Be First to Comment

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注