AttentiveNAS:通过注意力采样改善神经架构搜索

  • 摘要
  • 动机
  • Two-stage NAS
    • 传统 NAS 问题建模
    • 第一阶段:无约束的预训练
    • 第二阶段:资源约束的搜索
  • Attentive Sampling NAS
    • 感兴趣的子网络
      • Pareto-best architecture set
      • Pareto-worst architecture set
      • 帕累托感知预训练
  • 实验结果
    • 搜索空间
    • 基于高效性能估算的感知采样
      • 训练精度预测器的设置
      • 精度预测器有效性的结果
    • 与 SOTA 的 NAS 结果比较

本文是 Facebook 发表在CVPR 2021的NAS论文。在 OFA 和 BigNAS 在训练超网络的采样技巧上,进一步提出了基于帕累托感知的采样策略,提高了超网训练的效率,并取得了 SOTA 的结果。

  • 文章题目:AttentiveNAS: Improving Neural Architecture Search via Attentive Sampling.
  • 文章链接:https://arxiv.org/pdf/2011.09011.pdf
  • 文章代码: https://github.com/facebookresearch/AttentiveNAS

摘要

神经结构搜索(NAS)在设计最先进的(SOTA)模型方面表现出了巨大的潜力,既准确又快速。近年来,BigNAS 等两阶段 NAS 将模型训练和搜索过程解耦,取得了良好的搜索效率。两阶段 NA S在训练过程中需要对搜索空间进行采样,这直接影响最终搜索模型的准确性。尽管均匀抽样的广泛应用是为了简化,但它不考虑模型性能的帕累托前沿,而帕累托前沿是搜索过程中的主要关注点,因此错过了进一步提高模型精度的机会。在这项工作中,我们建议关注于采样网络,以提高性能的帕累托。在训练过程中,本文还提出了有效识别帕累托网络的算法。无需额外的再训练或后处理,就可以通过广泛的 FLOPs 同时获得大量的网络。本文发现的模型家族 AttentiveNAS 模型在 ImageNet 上的准确率最高,从77.3%到80.7%,优于包括 BigNAS、Once-for-All networks 和 FBNetV3 在内的 SOTA 模型。并且本文还实现了 ImageNet 的精度为80.1%,只需491 MFLOPs。

动机

深度神经网络(DNNs)近年来取得了显著的经验成果。然而,网络规模和计算成本的快速增长给将DNNs引入边缘设备带来了很大的挑战。设计精确而高效的网络是一个重要而具有挑战性的问题。

神经结构搜索(NAS)为高效的神经网络设计提供了一个强大的自动化工具。NAS需要优化模型架构和模型参数,从而产生了一个具有挑战性的嵌套优化问题。传统的NAS算法利用进化算法和强化学习,并且由于MFLOPs需要成千上万的模型,可能会非常昂贵。最近的NAS技术进步将参数训练和架构优化解耦为两个独立的阶段:

  • 第一阶段通过权重共享对搜索空间中所有候选网络的参数进行优化,使所有网络在训练结束时同时达到优越的性能。
  • 第二阶段利用典型的搜索算法,如进化算法,在各种资源约束下找到性能最佳的模型。

这种NAS范式提供了最先进的经验结果,具有很高的搜索效率。

两阶段NAS的成功很大程度上依赖于第一阶段的候选网络训练。为了使每个候选网络都有更好的性能,训练的过程是从搜索空间中抽取候选网络,然后通过一步随机梯度下降(SGD)对每个样本进行优化。关键是要弄清楚在每个SGD步骤中采样哪个网络。现有的方法通常使用均匀的抽样策略,对概率相等的所有网络进行抽样。尽管有很好的结果被证明,但是均匀采样策略使得训练阶段和搜索阶段是独立的。更具体地说,搜索阶段关注的是位于准确性和推理效率的帕累托前沿的网络集合,而训练阶段并不是为了改进帕累托前沿而进行的,对每个网络候选对象都同等重要。这种方法错过了在训练阶段提高网络在帕累托上的准确性的机会

在这项工作中,建议通过更多地关注那些更有可能产生更好的帕累托前沿的模型来改进基准均匀抽样。具体回答以下两个问题:

  • 在训练过程中,应该采样哪些候选网络集?
  • 应该如何有效地抽样这些候选网络,而不增加太多的训练开销?

为了回答第一个问题,本文探索了两种不同的抽样策略。第一种策略,称为“最优策略”(BestUp),在传统的帕累托最优 NAS 之后,研究一种帕累托最佳前沿感知采样策略,将更多的训练预算用于改进当前的帕累托最佳前沿。第二种策略被称为“最差策略((WorstUp),专注于改善候选网络,从而产生最差情况下的性能权衡。本文将这些候选网络称为帕累托最差集。这种采样策略类似于难例挖掘,将 Pareto-worst 模型视为难训练示例。突破帕累托最坏网络的极限,有助于更新权享网络中最优参数,使所有参数都得到充分训练。

第二个问题也不是无关紧要的,因为在帕累托最佳和最坏的前面确定网络不是简单的。本文提出了两种方法来利用1)训练损失和2)预训练预测器预测的准确性作为准确性比较的代理。总的贡献可总结如下:

  • 提出了一种新的策略,AttentiveNAS,通过对帕累托最佳(Pareto-best)或最差(Pareto-worst)前沿的网络进行注意抽样来改进现有的两阶段NAS。比较了 BestUp 和 WorstUp 两种不同的采样策略。
  • 提出了两种方法来有效地指导抽样到帕累托最佳或最差前沿。
  • 考虑到搜索 AttentiveNAS 模型家族的 FLOPs 限制,本文实现了 SOTA 的 ImageNet 精度。例如,AttentiveNASA0 比 MobileNetV3 的准确率高2.1%,而相比 FBNetV3, AttentiveNAS-A2 的准确率高 0.8%。

Two-stage NAS

传统 NAS 问题建模

min ⁡ L α ∈ A ( W α ∗ ; D v a l ) s.t.  W α ∗ = arg ⁡ L W α ( W α ; D t r n ) FLOPs ⁡ ( α ) < τ ( 1 ) \begin{array}{l} \underset{\alpha \in \mathcal{A}} {\min \mathcal{L}}\left(W_{\alpha}^{*} ; \mathcal{D}^{v a l}\right) \\ \text { s.t. } W_{\alpha}^{*}= \underset{W_{\alpha}}{\arg \mathcal{L}}\left(W_{\alpha} ; \mathcal{D}^{t r n}\right) \\ \quad \operatorname{FLOPs}(\alpha)<\tau \end{array} \quad (1) α∈AminL​(Wα∗​;Dval) s.t. Wα∗​=Wα​argL​(Wα​;Dtrn)FLOPs(α)<τ​(1)

典型的NAS目标,如等式(1)将搜索范围限制为仅小型子网,从而产生了一个具有挑战性的优化问题,无法利用过参数化的优势。 另外,在等式(1)中定义了NAS的优化仅限于一个单一资源约束。 在各种资源限制下优化 DNN 通常需要进行多次独立搜索。

为了缓解上述缺点,近来,一系列 NAS 技术提出将约束优化问题(1)分解为两个单独的阶段:1)无约束预训练:通过权重联合优化搜索空间中指定的所有可能候选DNN 共享时不考虑任何资源限制; 2)资源受限的搜索:在给定的资源约束下识别性能最佳的子网。 在这个方向上的最新工作包括BigNAS,SPOS,FairNAS,OFA 和 HAT。

第一阶段:无约束的预训练

无约束的预训练阶段的目标是学习权重共享网络的参数。 通常将其设计为解决以下优化问题:
min ⁡ W E α ∈ A [ L ( W α ; D t r n ) ] + γ R ( W ) ( 2 ) \min _{W} \mathbb{E}_{\alpha \in \mathcal{A}}\left[\mathcal{L}\left(W_{\alpha} ; \mathcal{D}^{t r n}\right)\right]+\gamma \mathcal{R}(W) \quad (2) Wmin​Eα∈A​[L(Wα​;Dtrn)]+γR(W)(2)
其中 W 代表网络中的共享权重。 W α W_{\alpha} Wα​ 是由架构 α \alpha α 指定的 W 的子网,而 R(W)是正则项。 BigNAS 中提出的R(W)的一个例子表示如下:
R ( W ) = L ( w α s ; D t r n ) + L ( w α l ; D t r n ) + η ∥ W ∥ 2 2 ( 3 ) \mathcal{R}(W)=\mathcal{L}\left(w_{\alpha_{s}} ; \mathcal{D}^{t r n}\right)+\mathcal{L}\left(w_{\alpha_{l}} ; \mathcal{D}^{t r n}\right)+\eta\|W\|_{2}^{2} \quad (3) R(W)=L(wαs​​;Dtrn)+L(wαl​​;Dtrn)+η∥W∥22​(3)
其中 α s \alpha_{s} αs​ 和 α l \alpha_{l} αl​ 分别代表搜索空间 A 中的最小和最大候选子网。 η \eta η 是重量衰减系数。 这在 BigNAS 中也称为三明治训练规则。

实际上,期望项用等式(2)表示通常用 n 个均匀采样的体系结构近似,并通过SGD进行求解,如下图。 请注意,较小和较大的 DNN 都在等式(2)中进行了联合优化。 这种表述允许通过权重共享和知识蒸馏将知识从较大的网络转移到较小的网络,从而提高整体性能。

第二阶段:资源约束的搜索

在阶段1进行预训练之后,所有候选DNN都经过了充分优化。 下一步是搜索可产生最佳性能和资源折衷的DNN,如下所示:
{ α i ∗ } = arg ⁡ min ⁡ α i ∈ A L ( W α i ∗ ; D v a l ) , s.t.  FLOPs ⁡ ( α i ) < τ i , ∀ i ( 4 ) \begin{array}{l} \left\{\alpha_{i}^{*}\right\}=\underset{\alpha_{i} \in \mathcal{A}}{\arg \min } \mathcal{L}\left(W_{\alpha_{i}}^{*} ; \mathcal{D}^{v a l}\right), \\ \text { s.t. } \operatorname{FLOPs}\left(\alpha_{i}\right)<\tau_{i}, \quad \forall i \end{array} \quad (4) {αi∗​}=αi​∈Aargmin​L(Wαi​∗​;Dval), s.t. FLOPs(αi​)<τi​,∀i​(4)
这里 W ∗ W^{*} W∗ 是在第1阶段学习的最佳权重共享参数。由于不需要重新训练或微调,因此该阶段的总体搜索成本通常很低。 此外,等式(4)自然地支持广泛的部署约束,而无需进一步修改,从而为机器学习从业人员提供了更加灵活的NAS框架。

Attentive Sampling NAS

NAS 的目标是在不同的计算约束下找到具有最佳准确性的网络体系结构。 尽管优化公式(2)中 α ∈ A \alpha \in \mathcal{A} α∈A的平均损失似乎是很自然的选择,它并不是为提高任务性能和 DNN 资源使用之间的权衡而量身定制的。实际上,人们常常对形成最佳权衡的帕累托最优 DNN 感兴趣,如下图所示:

在等式(2)中调整无约束的预训练目标。 在等式(4)中寻求更好的解决方案。 文献中尚未针对两阶段的 NAS 进行探索。 直观地,一个简单的想法是将更多的训练预算投入可能构成帕累托最优集合的模型上,并用更多的数据和迭代来训练那些模型。 在实践中,增加训练预算已被证明是改善DNN性能的有效技术。

然而,改进表现最差的模型也可能很重要。突破帕累托最差集的性能极限可能会导致一个更好的优化的权重共享图,这样所有可训练的组件(如通道和层),在最终的性能贡献中发挥其最大潜力。此外,改进 Pareto-worst 体系结构的原理与难例挖掘类似,将Pareto-worst子网络视为难数据例。它可以带来更多的信息梯度,并在体系结构空间中进行更好的探索,从而产生更好的性能。

感兴趣的子网络

Pareto-best architecture set

给定一个优化状态 W(权重共享图的参数),如果没有其他架构 a ′ ∈ A a^{\prime} \in \mathcal{A} a′∈A 比 α \alpha α 在获得更少或相似的计算开销的同时却可以获得更好的性能,则子网是 Pareto-best 最佳的。

Pareto-worst architecture set

同样,如果架构 α \alpha α 在准确性上总是被其他具有相同或更大FLOP的架构所超越,则将其定义为帕累托最差的架构。

帕累托感知预训练

在公式(2),所有候选 DNN 的优化概率相等。用帕累托感知目标重新表述(2),使优化集中在帕累托最佳或最差集合上。这里,首先把预期损失改写成如下表示:
min ⁡ W E π ( τ ) E π ( α ∣ τ ) [ L ( W α ; D t r n ) ] ( 5 ) \min _{W} \mathbb{E}_{\pi(\tau)} \mathbb{E}_{\pi(\alpha \mid \tau)}\left[\mathcal{L}\left(W_{\alpha} ; \mathcal{D}^{t r n}\right)\right] \quad (5) Wmin​Eπ(τ)​Eπ(α∣τ)​[L(Wα​;Dtrn)](5)

容易看出,将等式(5)简化为等式(2)通过将 π ( τ ) \pi(\tau) π(τ) 设置为搜索空间 A \mathcal{A} A 和 π ( α ∣ τ ) \pi(\alpha \mid \tau) π(α∣τ) 指定的 FLOP 的先验分布,并将其作为条件 FLOP 的体系结构的均匀分布。为简单起见,在这里删除了正则项 R(W)。

通过将 π ( α ∣ τ ) \pi(\alpha \mid \tau) π(α∣τ) 设置为始终吸引 Pareto 最佳或最差体系结构的感知采样分布,可以进行 Pareto感知采样。 此优化目标制定如下:
min ⁡ W E π ( τ ) ∑ π ( α ∣ τ ) [ γ ( α ) L ( W α ; D t r n ) ] ( 6 ) \min _{W} \mathbb{E}_{\pi(\tau)} \sum_{\pi(\alpha \mid \tau)}\left[\gamma(\alpha) \mathcal{L}\left(W_{\alpha} ; \mathcal{D}^{t r n}\right)\right] \quad (6) Wmin​Eπ(τ)​π(α∣τ)∑​[γ(α)L(Wα​;Dtrn)](6)

当且仅当 α \alpha α 是Pareto最佳子网(或Pareto最差子网)时, γ ( α ) \gamma(\alpha) γ(α) 才定义为1,否则为0。

为了解决此优化问题,可以使用 n 个 Monte Carlo 样本的 FLOPs { τ o } \left\{\tau_{o}\right\} {τo​} 进行近似于 π ( τ ) \pi(\tau) π(τ) 的期望。然后,对于每个目标FLOP τ o \tau_{o} τo​ ,可以用 k 个采样架构 { a 1 , ⋯ , a k } ∼ π ( α ∣ τ o ) \left\{a_{1}, \cdots, a_{k}\right\} \sim \pi\left(\alpha \mid \tau_{o}\right) {a1​,⋯,ak​}∼π(α∣τo​) 近似 FLOPs ⁡ ( α i ) = τ o , ∀ 1 ≤ i ≤ k \operatorname{FLOPs}\left(\alpha_{i}\right)=\tau_{o}, \forall 1 \leq i \leq k FLOPs(αi​)=τo​,∀1≤i≤k 如下:

min ⁡ W 1 n ∑ τ o ∼ π ( τ ) n [ ∑ α i ∼ π ( α ∣ τ o ) k γ ( α i ) L ( W α i ; D t r n ) ] ( 7 ) \min _{W} \frac{1}{n} \sum_{\tau_{o} \sim \pi(\tau)}^{n}\left[\sum_{\alpha_{i} \sim \pi\left(\alpha \mid \tau_{o}\right)}^{k} \gamma\left(\alpha_{i}\right) \mathcal{L}\left(W_{\alpha_{i}} ; \mathcal{D}^{t r n}\right)\right] \quad (7) Wmin​n1​τo​∼π(τ)∑n​⎣⎡​αi​∼π(α∣τo​)∑k​γ(αi​)L(Wαi​​;Dtrn)⎦⎤​(7)

令 P ( α ) P(\alpha) P(α) 表示参数为 W 的模型 α \alpha α 的性能估计。 如果目标是专注于Pareto最佳体系结构,则指定 γ ( α i ) = I ( P ( α i ) > P ( α j ) , ∀ j ≠ i ) \gamma\left(\alpha_{i}\right)=\mathbb{I}\left(P\left(\alpha_{i}\right)>P\left(\alpha_{j}\right), \forall j \neq i\right) γ(αi​)=I(P(αi​)>P(αj​),∀j​=i),其中 I ( ⋅ ) \mathbb{I}(\cdot) I(⋅) 是指示函数。 如果目标是专注于Pareto最差架构,则将 γ ( α i ) = I ( P ( α i ) < P ( α j ) , ∀ j ≠ i ) \gamma\left(\alpha_{i}\right)=\mathbb{I}\left(P\left(\alpha_{i}\right) < P\left(\alpha_{j}\right), \forall j \neq i\right) γ(αi​)=I(P(αi​)<P(αj​),∀j​=i)。

算法1 提供了基于感知抽样的 NAS 框架的元算法,称为AttentiveNAS。将总是选择性能最好的架构进行训练的采样策略表示为BestUp,总是选择性能最差的架构进行训练的采样策略表示为WorstUp。

性能评估器 P ( α ) P(\alpha) P(α) 的选择是将其设置为验证损失,即 P ( α ) = − L ( W α ; D val  ) P(\alpha)=-\mathcal{L}\left(W_{\alpha} ; \mathcal{D}^{\text {val }}\right) P(α)=−L(Wα​;Dval )。然而,由于验证集可能很大,这在计算上通常很昂贵。本文试验了许多可以有效计算的替代性能指标,包括由预先训练的精度预测器或小批量损失给出的预测精度。这将导致各种感知的架构采样实现,将在下面的实验部分中讨论。

实验结果

搜索空间

基于高效性能估算的感知采样

感知采样方法要求从一组候选抽样网络中选择最佳或最差的子网络。对验证集进行精确的性能评估在计算上是昂贵的。在本部分中,介绍两种有效的子网性能估计算法:

  • Minibatch-loss 作为性能估计器:对于每个架构,使用当前小批训练数据上测量的训练损失作为代理性能度量;

  • 准确性预测器作为性能评估:在验证集上训练准确性预测器;然后,对于每个体系结构,使用精度预测器给出的预测精度作为其性能评估。

第一种方法直观而直接。对于第二种方法,文献中广泛观察到,通过权重共享学习的不同子网之间的性能等级相关性在不同的运行过程中存在显著差异,导致肯德尔τ值极低。如果这仍然是两阶段NAS的情况,一个预先训练的准确性预测者不能很好地跨不同的设置。因此,首先了解候选子网在不同训练阶段和设置下的性能变化是很重要的

训练精度预测器的设置

进行如下步骤:1)首先将原始训练数据集分割为90%的训练和10%的测试;2)对子样本训练集进行无约束的预训练。我们将训练限制为30个epoch,因此只引入不到整个两阶段NAS计算时间的10%。一旦训练完成,随机抽样1024个子网,并在次抽样测试数据划分上评估它们的性能;3)将1024对子网络及其精度划分为同等大小的训练和评估子集。使用带有100棵树的随机森林回归器作为精度预测器,并将最大深度设置为每棵树15。

精度预测器有效性的结果

对于所有测试子网,本文测量其预测精度和在次抽样测试数据集上测量的实际精度之间的秩相关(Kendall 's τ)。如下图所示,在评价子集上,预测精度与实际精度之间的Kendall 's τ为0.89,表明秩相关性非常高。

与 SOTA 的 NAS 结果比较


CVPR2021 | AttentiveNAS:通过注意力采样改善神经架构搜索相关推荐

  1. 经典再读 | NASNet:神经架构搜索网络在图像分类中的表现

    (图片付费下载于视觉中国) 作者 | Sik-Ho Tsang 译者 | Rachel 编辑 | Jane 出品 | AI科技大本营(ID:rgznai100) [导读]从 AutoML 到 NAS, ...

  2. CVPR 2021 | 基于随机标签的神经架构搜索

    本文转自旷视研究院. 今日分享一篇来自旷视被收录为 CVPR2021 的论文『Neural Architecture Search with Random Labels』.详情如下: 论文名称:Neu ...

  3. Google CVPR 2019最新成果!用神经架构搜索实现更好的目标检测

    图灵TOPIA 作者:Golnaz Ghaisi等 编译:刘静 图灵联邦编辑部出品 4月16日,arXiv公布了一篇谷歌大脑的最新成果论文,已被CVPR 2019接收. 研究人员采用神经网络架构搜索, ...

  4. MnasNet:移动端模型的自动化神经架构搜索方法

      基于AutoML方法,结合强化学习设计一种资源约束的移动端 CNN 模型MnasNet.该系统主要包括三个部分:(1)循环神经网络驱动的控制器,用于学习和采样模型的架构:(2)训练器,用于构建和训 ...

  5. ​从800个GPU训练几十天到单个GPU几小时,看神经架构搜索如何进化

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转载自:机器之心  作者:Erik Lybecker  |  参 ...

  6. 《神经架构搜索NAS》最新进展综述,25页pdf

    点击上方,选择星标或置顶,不定期资源大放送! 阅读大概需要5分钟 Follow小博主,每天更新前沿干货 来源于:专知 [导读]本文为大家整理了神经架构搜索NAS的最新进展综述,神经架构搜索(NAS)自 ...

  7. 解读高效的神经架构搜索ENAS

    1. 简介 神经架构搜索(NAS)已成功用来设计图像分类和语言建模模型架构 (Zoph & Le, 2017; Zoph et al., 2018; Cai et al., 2018; Liu ...

  8. 值得收藏!动图演示神经架构搜索

    点击我爱计算机视觉标星,更快获取CVML新技术 本文为 AI 研习社编译的技术博客,原标题 : Illustrated: Efficient Neural Architecture Search 作者 ...

  9. 纵览神经架构搜索方法

    从谷歌渐进式的架构搜索到 CMU 的可微架构搜索,利用神经网络自动搭建不同的神经网络架构已经受到广泛的关注.最近弗莱堡大学的研究者发表了一篇论文纵览不同的神经架构搜索方法,他们从神经网络的搜索空间.搜 ...

最新文章

  1. Java Day02-2(字符串)
  2. Spring Boot 集成 JUnit5,更优雅单元测试!
  3. Lotus Notes常见问题答疑
  4. Strut2判断是否是AJAX调用
  5. hdu-1251(基本字典树)
  6. [渝粤教育] 广东-国家-开放大学 21秋期末考试招投标与合同管理10217k2 (2)
  7. linux 环境搭建 Sentinel 控制台
  8. docker 远程连接 文件看不到_开发提升十倍生产力: IDEA 远程一键部署 Spring Boot 到 Docker...
  9. 云计算之路-阿里云上:用上了开放缓存服务OCS
  10. c语言divide error,Python numpy.corrcoef()RuntimeWarning:在true_divide中遇到无效值c / = stddev [:,None]...
  11. axis在matlab中是什么意思_珠宝首饰上的钢印是什么意思呢?你都知道吗
  12. git常用的10个命令
  13. 机器学习模型评估指标
  14. 微信视频强制分享观看源码 微信流量裂变源码吸粉变现源码
  15. 英:最常用有用的英语口语900句
  16. c语言 lis的nlogn算法,LCS (nlogn)
  17. 恋爱日记、告白、表白、纪念、情侣、表白墙源码。
  18. 多目标优化算法(四)NSGA3(NSGAIII)论文复现以及matlab和python的代码
  19. zookeeper领导者选举源码分析
  20. 微信小程序一定高度文字的展开与收起

热门文章

  1. 研发人员为什么留不住?(1)——问题与现象
  2. python基础学习四:合并Excel表格小程序
  3. mybatis 不生效 参数_MyBatis参数使用@Param注解获取不到自增id问题
  4. Nodejs使用多个分隔符分隔字符串
  5. 入耳式耳机伤害大吗、长时间使用耳机的危害现在知道还不晚
  6. 文明4 玩家原创全面攻略
  7. 京品高科让这款“橙汁中的爱马仕”来到你身边!
  8. 分享中国天气网的接口
  9. javascript请求天气API大全
  10. 解决戴尔G3待机硬盘不停,就像仅关闭屏幕,无法待机,关闭S0待机