2021-08-26

BN-NAS–Neural Architecture Search with Batch Normalization

在这里插入图片描述

BN-NAS:带批量归一化的神经架构搜索

摘要

​ 为了加速神经架构搜索,我们提出了带批处理归一化的神经架构搜索。BN-NAS可以显著减少NAS中模型训练和评估所需的时间。具体来说,为了快速评估,我们提出了一个基于BN的指标,用于在非常早期的训练阶段预测子网性能。基于BN的指标进一步方便了我们在超网训练时只训练BN参数来提高训练效率。这是基于我们的观察,即不需要训练整个超网,而只训练BN参数可以加速网络收敛以进行网络架构搜索。大量实验表明,我们的方法可以在不损失准确率的情况下,将训练超网的时间显著缩短10倍以上将评估子网的时间缩短60万倍以上。源代码可在https://github.com/bychen515/BNNAS.获得

一:引言

​ 以自动寻找最优网络架构为目标的神经架构搜索(NAS)在图像分类[36,11,17,8,3]、对象检测[18,6,21]、语义分割[4,19]等多种计算机视觉任务中显著提高了网络性能。然而,一个成功的NAS方法通常意味着训练和评估数千个模型,这需要数千个GPU日[36,25]。庞大的搜索预算使得NAS难以广泛应用。

​ 为了克服上述问题,已经提出了一次性方法[24,11],以基于权重共享技术来降低计算成本,将搜索成本从数千个GPU天降低到数十个GPU天。这些方法构建了一个包含所有候选网络架构的超网。在构建的超网络中,一次性方法包括三个阶段:超网络训练、子网搜索和子网再训练。

在这里插入图片描述

图1。SPOS和我们的BNNAS的设计和计算成本。与SPOS相比,我们提出的BN-NAS可以在两个阶段加速一次性方法:训练超网快十倍以上,搜索子网快60万倍以上。加速的关键是基于贝叶斯网络的指标,它节省了搜索成本,便于只训练具有更少时期的贝叶斯网络参数。SPOS总共需要11个图形处理器小时。我们的只需要0.8个GPU小时。

​ 在超网训练阶段,通过反向传播训练超网。在子网搜索阶段,从超网中抽取子网作为候选架构。根据验证数据评估采样子网,从中选择SPOS验证数据准确度最高的前5个子网。然后,在子网再训练阶段,通过随机初始化对选定的子网进行再训练。oneshot方法的主要好处是子网可以继承超网的权重,从而大大降低搜索阶段的计算负担。然而,训练超网数百个历元和评估数千个子网的过程仍然非常耗时,导致数十个GPU天的成本。

​ 在本文中,我们将在批处理规范化(BN)层学习的参数确定为显著减少训练和搜索阶段一次性方法所需的额外时间的关键。在搜索阶段,动机是BN参数对于操作和子网的重要性是一个非常轻量级的度量。现有的oneshot方法根据验证数据评估数千个子网。尽管搜索过程的效率得到了提高,但这数千个子网所需的大量计算仍然是一个负担。人们普遍认为,通道的BN参数反映了通道的重要性[22,15]。因此,具有较小BN参数的信道被认为不太重要,修剪这些信道将对整个深层网络造成很小的影响[22]。因此,从多个通道累积BN参数来衡量候选操作甚至整个子网的重要性是很自然的。基于这一观察,我们提出了一种新的基于BN的指标来衡量操作和子网的重要性,这大大降低了搜索成本,从SPOS的约1个GPU天到我们在搜索阶段的0.14个CPU,如图1中“搜索”一栏所示。

​ BN-指标进一步激励我们在超网训练阶段只训练超网的BN参数。为了训练超网,通常的做法是训练所有参数,即卷积层、全连接层和BN层的参数。Y et只训练BN层并非空穴来风。Frankle等[10]发现,只训练BN参数,其他随机初始化参数固定的网络仍然具有一定的容量。在超网训练阶段,我们的BN-NAS只训练BN参数,而不训练卷积层或全连通层等其他参数,原因有二:1)网络可以通过只训练一部分参数对训练数据中的知识进行编码,如[10]所示;2)我们重点使用BN参数作为搜索的指标,而不是网络精度。我们根据经验发现,仅训练BN参数有助于BN参数在较早的训练时期变得稳定。此外,仅训练BN参数还有额外的训练加速好处。基于以上观察,我们提出了一种新的BNNAS。BN-NAS使用少得多的训练时期训练超网,并使用基于BN的新指标搜索子网以获得更快的速度。

​ 总结起来,主要贡献如下:我们提出了一种基于BN的网络架构评估指标,可以显著缩短一次性NAS方法搜索候选网络架构所需的时间。我们只训练超网的BN参数,并显著减少训练超网所需的时期数量,这是基于在评估网络架构时使用基于BN的指标。仅训练BN参数和减少训练时期可能对网络架构搜索阶段产生不利影响。然而,通过我们基于BN的搜索指标,不利影响得以克服。广泛的实验证明,我们的方法可以在训练阶段(超过10倍,例如从100提高到10,SPOS的外部速度提高了20%,如图1所示)和搜索阶段(超过600000倍)显著提高NAS的速度,而不会失去准确性。

二:相关工作

2.1.NAS的强化学习和进化算法

​ 提出了网络体系结构自动设计的NAS方法。早期的方法利用强化学习(RL) [36,1]或进化算法(EA) [25]来生成网络架构样本。生成的网络样本在验证数据集上进行评估,其准确性被视为奖励,以指导RL和EA生成更好的架构样本。周等[35]提出了经济神经架构搜索的最优代理。然而,采样和训练过程仍然非常耗时,这使得NAS很难部署在ImageNet等大规模数据集上[9]。

2.2.重量共享NAS

​ 为了克服RL和EA的耗时问题,提出了基于权重分配机制的方法。这些方法采用所有候选子网构建的超网,将NAS过程分为三个阶段。根据训练和搜索阶段的不同,这些方法可以分为一次性方法和可微方法

One-Shot方法。一次法直接构造具有候选子网的超网,并基于数百个时期的采样子网训练超网。经过超网训练后,在验证集上对数千个子网进行采样和评估,根据验证精度找到最佳子网架构。由于搜索空间巨大,采用EA算法生成待评估子网。大多数一次性方法都集中在训练期间的子网采样上。[11]构建超网,然后通过单路随机采样训练超网。在文献[11]的基础上,文献[7]提出了一种公平抽样方法来缓解超网偏差,提高评估能力。[34]提出了一个采样池,并在超网训练时对池中的子网进行采样,提高了训练效率。与上述方法不同的是,我们只在基于不同采样策略的超网中对少得多的时期训练BN参数。此外,我们通过我们提出的基于贝叶斯网络的指标来评估子网,而不是在验证集上评估子网,从而大大加快了搜索阶段。

可微方法。与一次性方法不同,可微方法使用额外的体系结构参数来构造超网。在超网训练期间,子网采样由体系结构参数控制它们用子网参数交替训练。在超网训练之后,根据体系结构参数的大小选择最佳的体系结构。[20]将体系结构参数视为子网输出的权重,并通过反向传播更新体系结构参数。[2]二值化架构参数,以节省超网训练期间的GPU内存使用。[31]引入Gumbel随机变量直接训练子网和架构参数。然而,体系结构参数在训练过程中会给某些操作带来训练倾向,尤其是跳跃连接。与这些方法相比,我们的方法不需要外部参数,并且可以保证训练过程中所有候选人之间的公平性。

在这里插入图片描述

图2。拟议框架概述。我们遵循一次性方法中的三个阶段。在超网训练中,我们固定卷积参数,只对少数时期训练BN参数。在超网训练的迭代中,仅从超网采样单个路径用于前向传播,例如跟随绿色实线箭头,以及反向传播,例如绿色虚线箭头。在子网搜索中,我们使用建议的基于BN的指示符来搜索子网(相同颜色的线是子网)。在子网再培训中,我们从头开始培训最佳子网。

三:方法

3.1.初步

​ 因为我们的方法是基于一次性NAS方法[11,7]和批量标准化层[14]。本小节提供了对它们的简要介绍。

3.1.1 One Shot NAS

​ 在单次(如SPOS)方法中,通过所有候选操作构造一个权重为W的超网N,形成搜索空间a。这些方法的整个流水线可以分为三个阶段,即超网训练、子网搜索和子网再训练。

搜索空间。超网架构由一系列候选操作构成,如图3所示。一个图层包含多个(N)候选操作。该层中的每个候选操作都遵循“Conv-BN-ReLU”的重复结构,具有不同的内核大小和扩展比(通道数)。

超网训练。超网N是通过在每次迭代时基于采样策略对单路径架构a ∈ A进行采样来训练的。在单路径体系结构搜索方法中,每层中只有一个候选操作被激活。然后,通过正常的网络训练(即反向传播)来优化由 W a W_a Wa表示的采样架构的权重。

​ 由于从超网继承的权重子网的准确性应该对验证集有很高的预测性,所以超网训练通常需要数百个时期。

子网搜索。训练超网后,下一步是找到性能最佳的最佳架构。在SPOS,验证集的准确性用于评估子网性能。根据验证集上的子网精度选择最佳子网。为了获得可靠的搜索结果,需要评估数千个子网。

子网再训练。在再训练阶段,对子网搜索阶段发现的精度最高的K个子网进行再训练。然后在验证集上对它们进行评估,并选择准确度最高的子网作为最终的最佳子网。

3.1.2 Batch Normalization Layer

批量归一化(BN)层已用于网络剪枝[22,33,15],是一种很好的信道重要性评价。给定BN层的输入 X i n X^{in} Xin,输出 x o u t x^{out} xout通过下式计算:

公式(1)
z = x i n − μ ^ σ ^ 2 + ϵ z={{x^{in}-{\hat{\mu}}}\over{\sqrt{{\hat{\sigma}}^2+\epsilon}}} z=σ^2+ϵ xinμ^

x o u t = γ ⋅ z + β x^{out}=\gamma·z+\beta xout=γz+β

​ 其中ϵ是数值稳定性的小正值。 μ ^ ≡ E [ x i n ] \hat\mu\equiv E[x^{in}] μ^E[xin] σ ^ 2 ≡ [ x i n ] \hat\sigma^2 \equiv [x^{in}] σ^2[xin]是跨小批量计算的平均值和变化。缩放参数γ和偏置参数β是BN层中仿射归一化特征z的可学习参数。

3.2. Algorithm Overview

​ 我们提出的NAS方法的流水线如图2所示。我们遵循一次性方法中的三个阶段,即超网训练、子网搜索和子网再训练。在超网训练阶段,随机初始化包含所有候选操作的超网。只有BN层参数通过标准的前向-后向训练进行更新,而超网的其他参数在初始化后是固定的(第3.4节)。在子网搜索阶段,根据我们的BN指标对子网进行采样和评估(第3.3节)。在子网再训练阶段,对子网搜索阶段选择的最佳子网进行再训练。下面,我们从第二阶段(子网搜索)开始。下面描述的顺序和我们在这个方向探索的顺序是一致的。

3.3. Subnet Searching with BN Indicator

​ 给定训练好的超网,我们需要在最佳子网搜索阶段评估采样子网的性能。我们利用BN参数来评估候选操作的性能

​ Change of Denotation for BN layer。与通道修剪不同,我们关注操作级输出,而不是通道级。以 o l o_l ol层激活操作输出的第C个通道(总共C个通道)为例,BN层的表示需要相应改变。方程。(1)对于操作 o l o_l ol的第c通道可以改写如下:

在这里插入图片描述

​ 其中带下标c的符号表示第c个通道中的参数,如方程中的定义。(1).假设z中的归一化特征遵循正态分布N(0,1),较小的缩放参数γ意味着较小幅度的BN层输出 x o u t x^{out} xout。由于较小幅度的信道输出对整个网络的贡献较小[22],我们可以将缩放参数γ视为信道的重要性

​ BN Indicator for An Operation。当我们计算从第l层开始的第n(n = 1,···,N)个候选操作(l = 1,···,L),其BN指标 S O n , l S_{O_{n,l}} SOn,l计算如下:

在这里插入图片描述

​ 其中 γ c o n , l \gamma_c^{o_{n,l}} γcon,l是在选择的候选操作 o n , l {o_{n,l}} on,l中第c个信道的学习参数。候选操作有许多CONV、BN和RELU层。在操作的前向传播期间,特征被归一化几次,并且最终输出仅由最后的缩放参数确定。因此,我们仅利用每个构建操作的最后一个BN层来指示候选操作的性能,如图3右侧的红色框所示。BN指示器需要每个操作的最后一层是BN层,因此它不直接适用于搜索BN层放置在ops开头的模型(如预激活ResNes)。然而,大多数现有的NAS方法应用了与我们相似的搜索空间,例如最近发表的作品[27,30,34,11,7,29]。BN指标可以直接应用于这些方法,以降低计算成本。

在这里插入图片描述

图3。基于单路径的搜索空间。在网络转发期间,每层仅激活一个操作。我们关注移动设置网络搜索最受欢迎的搜索空间[27,30],如右图所示。候选操作由一系列Conv-BN-ReLU组成,并以批处理规范化(BN)结束。我们在一个“Op”中搜索卷积层的最佳核大小和展开比。每个“Op”中总共有6个不同的内核大小和扩展比率候选项。

​ 基于贝叶斯网络的架构指标。假设超网中有L个搜索层,我们从第l层随机抽样候选操作 o a l , l o_{a_{l}},l oal,l,构建子网架构a = [ o a 1 , 1 o_{a_{1}},1 oa1,1,…, o a l , l o_{a_{l}},l oal,l,…, o a L , L o_{a_{L}},L oaL,L]。子网Nais的估计BN分数计算如下
S N a = ∑ l = 1 L o a l , l S_{N_{a}}=\sum_{l=1}^Lo_{a_{l}},l SNa=l=1Loal,l
使用基于BN的指标的搜索体系结构通过计算子网的BN分数,我们可以估计子网性能,而无需在验证集上对其进行评估,搜索阶段可以表述为

在这里插入图片描述

为了搜索最优子网,我们在FLOPs约束下随机采样子网 N a N_a Na并对其进行评估基于我们基于BN的指标。最佳子网是 S N a S_{N_{a}} SNa分数最高的子网。在大多数现有的NAS方法中,验证数据集的准确性是评估子网的常用指标,而在我们的NAS中,NAS指标用于评估子网。

3.4. Training Only BN Layer

​ 前人的工作[10]表明,仅训练BN层仍然可以提高DNN的表达能力。由于在子网搜索阶段仅使用BN参数,而不是子网精度,因此在超网训练阶段,我们只能训练BN层,而不是整个超网。具体来说,在反向传播期间仅更新BN参数。

​ 根据我们的设计,训练超级网络所需的时间是SPOS所需时间的8% (10% × 80% = 8%)。训练时间的减少来自两个方面,时代越少(10%)和只训练BN(进一步80%)。

​ 1.更少的时代。最初的SPOS方法需要训练100个时期的超网,而我们的方法只需要10个时期(等于最初训练时间的10%)。

​ 2.仅培训BN。当我们训练超网时,我们固定所有卷积层和全连通层的参数。通过前向-后向传播只训练BN层的缩放和偏置参数。虽然冻结参数的梯度是在反向传播期间计算的,但这些计算的梯度不会被存储或用于更新。因此,它将比训练所有参数更快。通过只训练超网的BN层,训练超网的时间可以节省约20%(等于80%)。

在这里插入图片描述

在这里插入图片描述

图4。针对所有参数(a)训练超网并且仅训练BN参数(b)时的早期鸟特征。为了更好的可视化,我们将0和1之间的相似性比较标准化。图中第I、j元素表示第I和第j个纪元之间的相似性。颜色越深,相似度越高。我们将反转的归一化L2距离视为两个时代的两个遮罩的相似性。较高的值(接近1)表示相似度较高,并用较深的颜色突出显示。与训练所有参数相比,在贝叶斯网络上训练将实现更快的贝叶斯网络参数收敛

3.4.1 Analysis on Early-bird Characteristics of BN-based Indicator

​ 如果使用准确性来评估网络架构,则减少时期数量或仅训练BN会在搜索阶段产生不利影响。具体而言,从以这种方式训练的超网中采样的子网的排名与重新训练的子网的相关性较低,导致从训练不足的超网中采样的子网对于评估实际性能不可靠。第4.5节中的实验结果观察到了这种不利影响。另一方面,基于BN的指标具有早起的特点,有助于我们克服潜在的不利影响。

​ Early-bird Characteristics when training all parameters. 训练所有参数时的早期特征。受[33]中每个通道的BN参数检查的启发,我们研究了基于BN的指标的早期鸟特征。在此设置中,使用所有参数。给定训练好的超网,我们可以通过我们提出的基于BN的指标来评估采样子网。对于超网训练期间的每个历元,我们根据候选操作得分 S o 1 , l S_{o_{1,l}} So1,l S o 2 , l S_{o_{2,l}} So2,l,.。。, S o N , l S_{o_{N,l}} SoN,l .我们将得分最高的运算的排序设置为1,得分最低的运算的排序设置为秩N .通过串联L个局部秩向量,我们可以将一个历元的训练超网映射到大小为N · L的排序向量.对于来自一个超网的两个不同训练历元的两个排序向量,我们计算这两个排序向量的L2距离 .我们将不同时期之间的距离可视化,发现我们的超网训练中的BN参数表现出与网络中的BN相似的特征工作修剪[33]。图4(a)示出了超网训练的成对排序向量距离矩阵(80 × 80)。从图4(a)中我们可以发现,第30个时期的秩向量和第80个时期的秩向量之间的相似性很高。并且秩向量在大约第30个纪元之后趋于稳定。这意味着我们可以在第30个纪元左右获得最佳架构信息。因此,早期训练阶段的BN参数已经可用于指示网络性能

在这里插入图片描述

​ 仅训练BN时的早期鸟特征。当我们仅训练BN层参数时,图4(b)示出了“秩向量”趋向于比训练图4(a)中的所有参数(在大约第30个时期变得稳定)更早地变得稳定(在大约第10个时期)。这意味着我们可以在非常早期的训练阶段使用BN参数来找到最佳架构。我们推测收敛较快的原因是当冻结其他参数,只训练BN参数时,BN参数试图用固定参数拟合标签,而不是改变参数,这使得BN参数收敛得更早。因此,我们可以通过只训练BN参数来进一步缩短训练阶段十分之一。为了清楚起见,我们建议的BN-NAS的整个管道在算法1中显示。早期鸟类特征概述。从图4的结果中,我们发现:1) BN-indicator有助于排名稳定,并有助于使用更少的时期进行训练;2)训练BN仅驱动早期鸟特征出现在更早的时期,并且便于我们使用少得多的时期来训练超网。

四:实验

​ 我们首先基于两种基本的一次性NAS方法评估基于BN的指标,包括SPOS和费尔纳斯。然后,我们展示了消融实验,以证明在超网训练期间仅训练BN层的有效性和BN指示器的早期鸟特征。最后,我们验证了搜索模型对目标检测的传递能力。我们的实验在采用Pytorch框架的NVIDIA GTX 1080Ti GPU上进行了测试。

4.1. Implementation Details

​ 数据集。我们在ImageNet [9]上评估我们的方法,有1.28万个训练样本和5万个验证样本。由于我们不需要在验证集上评估我们的模型,我们只利用训练样本来训练我们的超网和搜索到的子网。

​ 搜索空间。我们遵循[13]中的搜索空间,它由内核大小为{3,5,7},扩展比为{3,6}的MobileNetV2块组成。由于我们基于BN的指示器作用于BN层,因此不涉及身份操作。我们遵循[13]中SPOS的搜索深度结果,并在网络体系结构搜索期间搜索其他操作。由于搜索空间缩小,SPOS的结果得到了改善。我们的实验是基于改进的版本。对于[13]中的FairNAS搜索空间,没有身份操作。

​ 超参数。在所有实验中,我们使用相同的超参数训练超网和搜索架构,除了训练时期,包括仅训练BN。网络参数训练采用动量为0.9的小批量内斯特罗夫SGD优化器。我们在前五个时期利用了从0.2到0.8的学习速率预热技术,并采用了从0.8到0的余弦退火学习速率衰减。我们训练的网络批量为1024,L2正则化权重为1e-4。此外,标签平滑以0.1的平滑比率应用。对于基线超网训练,我们为SPOS和费尔纳斯训练了100个纪元和150个纪元。对于我们的BN超网训练,我们使用了基线时期的十分之一,即10个时期和15个时期。对于搜索架构再培训,我们从头开始为240个时代培训搜索架构。对于子网搜索,我们遵循[11]中的EA设置。总体规模为50,最大迭代次数为20,在FLOPs约束下,采样总数为Ns= 1000个子网

4.2. Comparison with Baseline Methods

​ 我们将我们的方法与基线方法SPOS和费尔纳斯进行了比较。表1显示了比较结果。我们的方法将NAS过程缩短为两个阶段:超网训练和子网搜索。在超网训练期间,受益于所提出的基于BN的指标的早起特性,我们显著地减少了超网的训练时期,对于SPOS从100减少到10,对于FairNAS从150减少到15。此外,我们只训练BN参数,而不是所有参数,这对于超网训练有额外的20%的加速。

​ 在子网搜索过程中,基线方法采用EA算法对1000个子网进行采样,并在验证集上对每个子网进行评估。评估1000个子网的成本约为1个GPU日。我们的方法还采样了1000个子网,但利用BN指标进行子网评估,大大降低了评估成本,从1个GPU一天降低到0.14个CPU。总的来说,与基线方法相比,我们的方法将一次性NAS方法加速了大约十倍,而性能仍然相当。

在这里插入图片描述

表2。我们的方法和SOTA的图像网分类结果。在小数据集(即CIFAR [16])上搜索将显著降低搜索成本。将这些方法直接转移到ImageNet可能会导致搜索成本大幅增加。由于计算成本的原因,有些方法甚至不能应用于ImageNet上的搜索。

4.3. Comparison with State-of-The-Art Methods

​ 我们将我们的方法与最先进的(SOTA)方法进行比较,如表2所示。与人工设计的网络相比,基于SPOS的搜索模型以更少的触发器获得了更高的性能。与SOTA网络连接存储方法相比,无论是基于梯度的方法(Proxyless)还是基于进化的方法(CARS-G),我们的搜索模型在使用较少或相似的FLOPs时也表现得更好。对于搜索成本,我们的方法需要与在CIFAR上搜索并将架构转移到ImageNet的方法相当的搜索成本。对于在ImageNet上直接搜索架构的方法,我们的方法只需要不到十分之一的搜索成本。与EfficientNet-B0相比,EfficientNet-B0中的网格搜索需要在ImageNet上充分训练大量的模型,其搜索代价要比许多进化方法大得多。

4.4. Detection

​ 我们进一步验证了我们的BN-NAS在目标检测上的传输能力。我们利用在ImageNet上预处理的BN-NAS(SPOS)作为特征提取器,并遵循高效检测器[28]中的训练设置,使用与[28]相同的检测头。使用类似于[28]的FLOPs,我们搜索的模型获得了相当的性能。与其他人工设计的光网络相比,我们的搜索模型用更少的触发器获得了更好的性能。用我们的方法搜索到的模型具有很好的迁移能力。

在这里插入图片描述

表3。我们搜索的模型和一些SOTA光模型在COCO数据集上的性能。我们的方法以更低的搜索成本实现了与EfficientDet-D0相当的性能。

4.5. Ablation Experiments

​ 在本节中,我们设计了实验来展示BN指标的有效性(在第4.5.1节中),并展示了与SPOS 11相比,BN指标得分和再培训准确性之间的相似相关关系。更多关于不同初始化方法的实验在补充资料中。

4.5.1 Indicators

​ 我们的BN指标用于在搜索过程中评估子网。大多数现有的NAS方法利用验证数据集上的模型精度来评估子网,这里用Acc指标表示。此外,我们还从超网中随机抽取了5个子网,选择准确率最高的子网作为随机基线,如图5中红色虚线所示。

​ 训练100个时代的所有参数。我们为100个时期训练超网,并根据以下条件搜索子网BN-指示器(图5中的“全部/BN/100”)和Acc-指示器(图5中的“全部/Acc/100”)。搜索到的带有这两个指示符的子网的性能相似,表明当所有参数都被训练足够的训练时期时,BN指示符的准确性与Acc指示符相当。然而,训练100个时期的SurperNet和评估模型精度都会导致大量的计算成本。

在这里插入图片描述

图5。在ImageNet上搜索不同训练设置的架构的准确性。“All/BN/k”意味着训练k个时期的超网的所有参数,并使用BN指示符来寻找最佳子网。在“全部/Acc/k”中,使用Acc指示器代替BN指示器。在“BN/BN/k”中,只训练超网的BN参数。红色虚线表示随机基线的精度。

​ 训练30个时期的所有参数。我们将超网的训练时期从100个减少到30个,并在此设置下测试两个指标的性能,如图5所示。使用较少的训练时期,来自BN-指示符('图5中的All/BN/30 ')的子网的性能优于来自Acc-指示符('图5中的All/Acc/30 ')的子网的性能。结果表明,超网训练时间的延长对Acc指标至关重要,但对BN指标不重要。使用Acc指标('图5中的All/Acc/30 ')搜索的模型仅比随机基线(图5中的红色虚线)表现好0.1%的小幅度。低相关性上的性能下降是由不完整的训练引起的。仅训练了30个时期的超网子网的精度不能准确表示再训练精度,导致搜索模型的性能接近随机基线。另一方面,超网的BN参数表现出早期鸟特征。如图4(a)所示,仅考虑它们的BN值,它显示了针对30个时期和80个时期训练的超网之间更强的相关性。早期吟游诗人的特征很好地解释了为什么提议的BN指标在30个时代仍然保持良好的表现。

​ 训练10个时期的所有参数。当进一步将训练时期从30个减少到10个时,我们的BN指标无法保持良好的性能,如图5所示。原因是如果所有参数都被训练,则BN参数在超网训练期间的10个时期没有被很好地训练,如图4 (a)所示。训练所有参数会导致不同训练时期的卷积参数不一致,阻碍BN参数收敛更快。受此启发,我们试图通过只训练BN参数来减少所需的超网训练时间。如图4 (b)所示,当我们只在超网中训练BN参数时,早鸟特征在大约10个历元出现得更早。通过仅训练BN-NAS,我们的BN-NAS在子网搜索过程中恢复到其出色的性能,如图5中的‘BN/BN/10’所示。

在这里插入图片描述

4.5.2 Correlation with retrain accuracy

​ 对于一次性NAS方法,一个众所周知的问题是不同子网的性能一致性低。在一次性NAS中,指标对于保持高性能一致性起着重要作用。为了评估我们提出的BN指标的有效性,我们在CIFAR10数据集上进行了相关实验。我们按照[13]中的搜索空间,训练超网600个纪元。然后我们随机抽取100个架构,从头开始对它们进行再培训。我们利用肯德尔τ度量来显示通过等式获得的BN分数之间的相关性。(4)采样模型的再训练精度。我们还显示了基于Acc-indicator (SPOS)抽样的模型的验证精度和再训练精度之间的相关性。如图6所示,我们的方法实现了与SPOS相似的肯德尔τ,这意味着所提出的BN指标具有与SPOS使用的Acc指标相同的良好指示能力。我们在获得搜索模型的相似精度方面的实验也支持这一结论。

五:结论

​ NAS极大地推动了计算机视觉中具有深层网络的SOTA方法。但是,现有的NAS方法非常耗时。我们提出了一种新的基于贝叶斯网络的指标来有效地评估从超网中选择的子网的性能,大大加快了NAS的搜索过程。得益于早起鸟的特性,我们只需要训练BN层就可以训练出超网,进一步减少了超网的训练时间。大量实验证明,该NAS方案可以降低一次性NAS的整体时间消耗。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值