Press "Enter" to skip to content

ICCV 2021|用于神经架构搜索的分层操作自适应预测器

本站内容均来自兴趣收集,如不慎侵害的您的相关权益,请留言告知,我们将尽快删除.谢谢.

尽管深度学习模型在很多任务上都取得了不错的效果,但由于网络空间的庞大,手工网络设计很难找到最优解。 神经架构搜索(NAS)可以自动地在庞大的网络空间中搜索最优解,所得的网络可以超过人类专家设计的网络。 由于其高效性和灵活性,基于预测器的NAS方法开始越来越多地为人们所使用。但是现有的基于图的预测器通常平等地对待所有操作,忽略了节点之间的关系,从而无法充分捕捉网络结构中的拓扑信息,其可解释性、鲁棒性和可信度均受到限制。

 

据此,我们提出一种 新的多层次操作自适应的图注意力网络的预测器 ,其能以注意力的形式自动的注意到比较重要的操作,从而获取更好的性能预测。

 

一、研究背景与关键问题

 

不管是AlexNet还是DenseNet,都是有着丰富神经网络和图像处理知识的专家们针对特定的数据集,在反反复复的试错中设计出的网络结构。随着数据集的改变,有时网络结构还需要作出相应的修改。这需要大量的时间、精力和丰富的计算资源的和专业知识,不是任何一个普通的用户能够满足并做到的。为了解决这个问题,NAS浮出了水面。

 

NAS是指在一个预先定义好的搜索空间里,按照指定的策略搜索一个网络结构A。 对该网络A用指定的性能评估策略进行评估,然后返回这个网络的评估性能给搜索策略,如此往复,最终找到一个性能优异的网络。NAS简化了神经网络的设计过程,降低了使用门槛,由此得到的网络,有的可以媲美人类专家,甚至得到一些新型的网络结构。

 

目前的主流NAS方法包括 基于 强化学习的、基于遗传算法的、基于梯度下降的,以及基于预测器的方法。 基于强化学习和遗传算法的NAS方法很消耗时间和资源。而基于预测器的NAS则将NAS过程建模成为两个过程: 1)采样体系结构+2)预测器预测性能 ,仅需要少量的结果就能获取较好的网络预测性能。

 

然而之前基于图结构的预测器往往忽略了节点之间的关系,比如一个网络在信息传递时,其每个操作对于下一个接受节点的重要性是不一致的。当前基于图模型的预测器,通常平等地对待所有操作,而无法捕捉到网络结构中的拓扑知识,即并非一个操作在接受其前一层操作信息时,这些信息均有同等的贡献。他们往往利用图卷积神经网络模拟网络的信息流过程,即GCN,其复杂度低,但是以前方法在预测网络性能时,其可解释性、鲁棒性和可信度均受到限制。

 

基于以上分析,我们提出一种 新的多层次操作自适应的图注意力网络的预测器(HOP) ,其能以注意力的形式自动的注意到比较重要的操作,从而获取更好的性能预测。

 

二、方法原理简述

 

如图 1 所示,我们提出的分层操作自适应预测器 (HOP) 由两个模块组成: 操作自适应注意模块 (OAM) 和细胞分层门控模块 (CGM)。 具体来说,对于单元架构,HOP首先使用OAM通过迭代获得操作的多样性知识。然后,采用 CGM 来整合不同迭代的单元表示,用于最终的拓扑知识和性能预测。

 

图1 HOP的框架

 

1. 预备知识

 

1.1 图表示

 

和搜索整个网络结构相比,更可行的策略是搜索可重复的单元结构,该结构通过单元和块分解搜索空间。为了简单起见,本文仅进行单元结构搜索。具体地说,为了描述单元结构中的拓扑知识,HOP将给定网络结构的单元表示为有向无环图(DAG)G={V,E}。请注意,DAG中的每个节点/边对应于单元中的一个特定操作(例如,Conv3x3)。我们还将输入和输出视为操作。

 

边缘 表示从节点 到节点 的信息流。因此,邻接矩阵A被定义为 。如果 从 获取信息流,则 被计算,否则 设置为0。我们使用 表示 的集合,其中 ≠0。

 

1.2 搜索空间

 

有两种常用的搜索单元格空间: 节点上的操作(OON)和边上的操作(OOE) 。对于OON搜索空间,操作在DAG的节点上执行,而对于OOE搜索空间,操作在DAG的边缘上执行。这要求HOP能够处理这两种情况下的单元结构搜索。

 

2. 操作自适应注意力模块 (OAM)

 

基于图的NAS预测器的关键是了解和捕获细胞的拓扑知识。但是,以前的基于图的预测变量忽略了每个操作的多样性知识或相对重要性。他们通常利用GCN,这种方法很有效,但无法通过DAG中从某些节点到另一节点的操作来建模信息流的相对重要性。因此,先前的方法仍然只能获得有偏差的拓扑知识,并为单元结构的性能提供了次优的预测。为了解决上述问题,我们设计了一个 操作自适应注意模块(OAM) ,该模块利用注意力来探索单元结构中的各种操作知识。

 

具体而言,对于给定的单元体系结构 ,OAM首先为每个节点 生成嵌入(或特征图) ,并为每个相应的操作生成嵌入 。如果两个操作包含相同的操作类别,则将它们的操作嵌入设置为相同。

 

2.1 OON的节点嵌入

 

在OON的搜索空间中,操作是在节点上进行的,因此OAM首先从不同的节点获取信息:

 

其中,

 

其中 是可以将信息传递给节点 的节点 的集合。 是一个可学习的变换矩阵。 是串联操作。我们使用LeakyReLU(负斜率为0.2)作为激活函数。我们使用注意力机制,因为它可以自动注意到操作之间的相对重要性。

 

通过对相应操作产生的信息流进行加权聚合,得到了第i个节点在OON搜索空间中的新嵌入。过程定义如下:

 

其中, 是应用于第i个节点的操作,该操作由可学习的权重矩阵 转换,并由sigmoid函数 激活以生成软操作掩码。为了进行全面的分析,我们通过迭代获得节点的层次级嵌入。假设 表示在第t次迭代中节点 的嵌入。然后,更新后的 。

 

2.2 OOE的节点嵌入

 

在OOE的搜索空间中,对图的边进行操作。与OON搜索空间的过程不同,OAM首先通过相应的操作来转换来自不同节点的信息。因此,OAM为对象 和 之间的相应操作定义嵌入 。该过程定义为:

 

然后,OAM聚合从不同操作到目标节点的信息流。我们首先通过注意力网络计算操作的相对重要性。过程定义为:

 

其中:

 

然后,通过对来自不同操作的信息流进行加权聚合来获得第i个节点在OOE搜索空间中的嵌入,如下所示:

 

 

通过学习注意系数 ,OAM能够在将信息流从这些操作聚合到下一个节点时,重新评估不同操作之间的相对重要性。上述方法对前向传播的建模是合理可行的,从而提高了HOP捕获单元结构拓扑知识的能力。

 

3. 单元分层门控模块

 

请注意,OAM只提供单元的节点嵌入。尽管每个节点的嵌入都捕获了不同的操作知识,但是仍然缺乏一种有效的机制来整合所有节点的嵌入以获得单元的最终知识。以往的方法一般采用叠加GNN的最后一次迭代进行预测。我们认为这样的方法忽略了图的拓扑知识的层次细节,因为每个层叠GNN的迭代只能捕获有限的单元特征。基于上述分析,我们提出了一个单元分层门控模块来全面描述单元结构。

 

3.1 单元嵌入

 

在我们提出的CGM中,我们首先得到OAM每次迭代的单元嵌入。OAM每次迭代的单元嵌入都被视为整个单元结构的拓扑知识的一个特定视图。单元嵌入计算如下:

 

 

其中,N是节点数,t表示第t次迭代。

 

3.2 分层门控融合

 

为了获得更健壮的性能,我们采用了门控模块来融合所有单元嵌入。该过程定义为:

 

 

其中,

 

其中, 是B的第t个元素,它包含不同层的权重。MLP(.)是一种多层感知器。 表示所有单元嵌入的串联。分层注意力机制为每个特征层分配一个注意权重,表明其对单元结构性能预测的重要性,从而很好地处理了不同层的重要性,全面描述了单元结构的拓扑知识,从而提高了预测器的性能。

 

4. 损失函数

 

这里我们介绍所提出的预测器HOP的优化过程。由于我们的目标是获得准确的体系结构的相对排名顺序,而不是绝对性能值,因此我们采用排名损失而不是像MSE那样的回归损失来更好地预测排名相关性。具体来说,我们用铰链对排序损失来训练预测器,如下所示:

 

其中, 。 表示第i个输入单元结构的性能分数。每个单元结构i都和其他单元结构j匹配, 是只保留具有 的成对的集合,其中 是第i个单元结构的真实性能; 是集合 的大小,M是一个训练批次中单元结构的数量,m是比较裕度,在我们的实验中m设置为0.1。

 

5. 基于HOP的神经网络结构搜索

 

图2 基于HOP预测器的神经网络结构搜索过程

 

基于HOP预测器的神经网络结构搜索过程主要包括三个步骤:

 

1. 使用预测器进行单元结构采样,

 

2. 对采样的单元结构进行训练和性能评估,

 

3.性能预测器的训练。详细的搜索过程如图2所示。

 

对于单元结构采样,我们从搜索空间A随机抽取N个单元结构,然后根据预测器的性能评估结果选择其中最好的K个单元结构。对于单元结构评估,我们通过训练来评估每个采样的单元结构,以获得其真实性能,这是一个计算量昂贵的过程。最后,我们用采样的单元结构和其相应的真实性能,对预测器进行训练。这三个步骤一直重复,直到得到一个准确的预测器。

 

与 基于训练的单元结构的性能评估相比,采用预测器进行单元结构的性能评估的方法更有效,因为它只需一次前向传播 。假设预测器是准确的,且具有很好的泛化能力,在这种情况下,它可以很好地预测在不可见的单元结构上的性能,而只需要少量经过训练的单元架构,从而大大提高了NAS的搜索效率。

 

三、 实验结果

 

通过在OON和OOE搜索空间上的大量实验,我们评估了所提出的用于神经网络搜索( NAS )的分层操作自适应预测器( HOP )的性能。首先,我们介绍了两个搜索空间上具有代表性的数据集和评估指标。接下来,我们在这些数据集上验证了HOP的准确性和泛化能力。最后, 我们在ENAS搜索空间上演示了使用HOP提高NAS搜索效率的方法。

 

1. 数据集和评价标准

 

NAS-Bench-101是OON搜索空间上的典型数据集。它包含 423,624 个独特的神经网络架构,其中包括 7 个节点和 3 种可能的操作:conv 3 × 3、conv 1 × 1 和最大池化 3 × 3。它提供了经过训练和评估的性能CIFAR-10 数据集上的这些架构。NAS-Bench201 是 OOE 搜索空间上的另一个 NAS 基准数据集,它总共包含 15,625 个架构,并提供每个架构在 CIFAR-10、CIFAR-100 和 ImageNet-16-120 数据集上的性能。它由 4 个节点和 5 种可能的操作组成:归零、跳跃连接、conv 1 × 1、conv 3 × 3、平均池化 3 × 3。

 

我们在实验中使用了 CIFAR-10 上的性能评估。我们使用两个指标来评估预测器的性能。第一个是 Kendall’s Tau,用于描述架构的预测和真实相对排名顺序之间的相关性。两个相同排名的 Kendall’s Tau 为 1,两个不相关排名的 Kendall’s Tau 为 0。另一个指标是 [email protected],它代表了根据预测分数选择的 top-K 架构中的最佳真实排名。

 

2. 实验结果

 

2.1 OON搜索空间上的评估实验

 

 

 

如表 1 和表 2 所示,与各种基线预测器相比,HOP 在 NAS-Bench-101 的测试集上实现了最高的 Kendall’s Tau 和最好的 [email protected][email protected]。并且提出的 OAM 和 CGM 模块都带来了性能提升。当只有很少的训练样本时,HOP 相对于其他预测器的优势非常明显。

 

具体来说,与基于 GCN 的预测器 GATES 相比,当仅使用 0.05% (190) 网络架构进行训练时,HOP 的 Kendall’s Tau 提高了 1.85%,[email protected] 提高了 62 位,[email protected] 提高了 62 位;当使用 0.1% (381) 架构进行训练时,Kendall 的 Tau 为 3.45%,[email protected] 为 20 名,[email protected] 为 21 名。这表明 HOP 具有良好的泛化能力,即使在少量架构上进行训练,它也能很好地预测未知架构。这提高了 NAS 的效率,因为只需要训练少数架构即可获得准确的预测器。

 

2.2 OOE搜索空间上的评估实验

 

 

如表 3 和表 4 所示,与基线模型相比,HOP 在不同训练比例下分别在 Kendall’s Tau、[email protected][email protected] 上取得了最佳结果。在训练架构较少的情况下,HOP 的性能提升更为显着。例如,与基于 GCN 的预测器 GATES 相比,仅使用 78 个训练网络架构,HOP 将 Kendall’s Tau 提高了2.12%,[email protected] 提高了 18 个位置,[email protected] 提高了 18 个位置。

 

2.3 E-NAS搜索空间上的评估实验

 

 

如上表所示,HOP 在 CIFAR-10 的测试集上实现了 2.52% 的 top-1 错误。与其他基于采样的方法相比,HOP 需要更少的架构来完全训练以发现具有可比性能的架构。这表明 HOP 预测器是准确的,并且具有良好的泛化能力,提高了 NAS 的搜索效率。

 

 

四、 结论

 

在本文中,我们 提出了一种分层操作自适应预测器(HOP) ,通过考虑神经架构中操作之间的相对重要性来提高基于预测器的 NAS 的搜索效率。HOP 包含一个操作自适应注意模块 (OAM) 来捕获操作之间的不同知识,以及一个单元分层门控模块 (CGM) 以进一步细化和丰富获得的单元架构拓扑知识。在不同搜索空间上的大量实验证明了所提出的 HOP 的有效性和高效性。

 

参考文献

 

[1] Ziye Chen, Yibing Zhan, Baosheng, Mingming Gong, Bo Du. (2021). Not All Operations Contribute Equally: Hierarchical Operation-adaptive Predictor for Neural Architecture Search. In ICCV. (pp. 10508-10517)

 

[2] Xin Chen, Yawen Duan, Zewei Chen, Hang Xu, Zihao Chen, Xiaodan Liang, Tong Zhang, and Zhenguo Li. Catch: Context-based meta reinforcement learning for transferrable architecture search. In European Conference on Computer Vision, pages 185–202. Springer, 2020.

 

[3] Zhichao Lu, Kalyanmoy Deb, Erik Goodman, Wolfgang Banzhaf, and Vishnu Naresh Boddeti. Nsganetv2: Evolutionary multi-objective surrogate-assisted neural architecture search. In European Conference on Computer Vision, pages 35–51. Springer, 2020.

 

[4] Yibo Yang, Hongyang Li, Shan You, Fei Wang, Chen Qian, and Zhouchen Lin. Ista-nas: Efficient and consistent neural architecture search by sparse coding. arXiv preprint arXiv:2010.06176, 2020.

 

[5] Xuefei Ning, Yin Zheng, Tianchen Zhao, Yu Wang, and Huazhong Yang. A generic graph-based neural architecture encoding scheme for predictor-based nas. arXiv preprint arXiv:2004.01899, 2020

 

[6] Chris Ying, Aaron Klein, Eric Christiansen, Esteban Real, Kevin Murphy, and Frank Hutter. Nas-bench-101: Towards reproducible neural architecture search. In International Conference on Machine Learning, pages 7105–7114. PMLR, 2019.

 

[7] Xuanyi Dong, Lu Liu, Katarzyna Musial, and Bogdan Gabrys. Nats-bench: Benchmarking nas algorithms for architecture topology and size. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2021.

 

本文来自:公众号【京东探索研究院】

 

作者:京东探索研究院

 

Illustrastion   b y Dmitry Nikulnikov from  Icons8

Be First to Comment

发表评论

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