锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

Single Path One-Shot Neural Architecture Search with Uniform Sampling

时间:2022-11-02 22:30:00 传感器rl70ce

Single Path One-Shot Neural Architecture Search with Uniform Sampling

均匀采样单路径单神经网络结构搜索

论文:https://arxiv.org/abs/1904.00420

代码:

https://github.com/megvii-model/SinglePathOneShot(官方代码)

https://github.com/CanyonWind/Single-Path-One-Shot-NAS-MXNet(MXNET版本)

摘要

现有的一次性方法很难训练,就像ImageNet这样的大规模数据集仍然无效。这项工作提出了解决培训挑战的单一路径一次性模型。我们的中心思想是建立一个简化的超网所有架构均为单一路径,这样就可以缓解重量自适应问题。通过均匀的路径采样进行训练。所有的结构(以及它们的重量)都经过了充分和平等的训练。综合实验证了该方法的灵活性和有效性。训练简单,搜索速度快。它毫不费力地支持复杂的搜索空间(例如,量化结构块、通道和混合精度)以及不同的搜索约束(如浮点操作、延迟)。因此,它可以很容易地用于各种需求。它在大型数据集中ImageNet实现了一流的性能。

一:简介

这个提法有两个问题。超网中的权重是深度耦合的。不清楚为什么特定架构的继承权重仍然有效。第二,联合优化引入了系统结构参数和超网络权重之间的进一步耦合。基于梯度方法的贪婪本质在优化过程中不可避免地引入偏差,容易误导系统结构搜索

基于使用继承权重的系统结构的准确性应该是使用优化权重的准确性,我们建议超网训练应该是随机的。所有结构都同时优化了它们的权重。这就产生了统一的抽样策略。为了减少超网中的权重耦合,提出了一个原因由单路径结构组成的简单搜索空间。训练无超参数,易收敛。

这项工作做出了以下贡献。1.我们提出了原则分析,并指出现有网络连接存储方法采用嵌套和联合优化的缺点。因此,我们希望这项工作能更新对一次性示例的兴趣顺序优化结合了两者的优点。2.我们提出了一个单路径单次抽样法。它克服了现有一次性方法的缺点。它的简单性支持丰富的搜索空间,包括新颖的通道大小和位宽设计,所有这些都以统一的方式解决。高效灵活的架构搜索。进化算法用于支持低延迟等现实世界的约束。综合消融实验和以前的大数据集(ImageNet)上述工作的比较验证了提出的方法在准确性、内存消耗、培训时间、架构搜索效率和灵活性方面是最先进的。

二:NAS方法综述

重量优化,训练集

架构优化,验证集

微分法(darts),一阶

二阶

优化公式(3)具有挑战性。首先,超网中图节点在优化过程中,权重相互依赖,深度耦合。对于特定的架构,它从w继承了某些节点的权重。尽管这些权重与其他权重分离,但不清楚为什么它们仍然有效。第二,架构参数θ与权重W联合优化引入了进一步的复杂性。Eq。(3)在优化过程中,必然会对θW中的某些区域和某些节点引入偏差。这种偏差会使图中的一些节点训练良好,而另一些节点训练不好。由于权重的成熟度不同,不同的结构实际上是无与伦比的。

三:我们的单路径一次性方法

如上所述,系统结构参数与权重之间的耦合存在问题。这是两者联合优化造成的。为了缓解这个问题,自然的解决方案是超网训练和架构搜索在两个连续步骤中分离。这导致了所谓的一次性方法。

一般来说,这两个步骤的公式如下。首先,超网的权重优化为:与公式(3)相比,缺乏搜索空间的连续参数。只优化权重。

其次,搜索的系统结构如下:

在搜索过程中,每个采样架构a从 WA(a)继承其权重。公式的关键区别(7)来自(1)和(2),即系统结构的权重已准备就绪。ACCval()求值只需推理。因此,搜索非常有效。搜索也很灵活。任何适当的搜索算法都是可行的。Eq(5)可以完全满足这种结构约束。使用不同的约束条件(例如,100毫秒和200毫秒),搜索可以在同一超级网络上重复多次。这些特性在以前的方法中并不存在。这些一次性示例对现实世界的任务非常有吸引力。

Sec一个问题仍然存在。等式(6)中超网训练中图节点权重耦合。不清楚为什么继承权重WA(a)对任何架构a都有好处。

最近的一次性方法[2]试图使用路径丢失策略来分离权重。在等式(6)中SGD在步骤中,超网图中的每一边都被随机丢弃。通过辍学率参数控制随机机会。这样,节点权重的自适应在训练过程中就减少了。文献[2]中的实验表明,训练对辍学率参数非常敏感。这使得超网训练变得困难。采用精心调整的加热策略。在实施这项工作的过程中,我们还发现验证精度对辍学率参数非常敏感。单路超网及均匀采样。让我们重新思考体重分担概念背后的基本原则。建筑搜索成功的关键在于Eq(7)是,在使用继承权重WA(a)验证集中任何架构a的准确性(没有额外的微调)对完全训练a的准确性有很高的预测性。理想情况下,这需要权重WA(a)接近等式(1)中最佳权重Wa。.质量近似值取决于训练损失Ltrain(N(a,WA(a))最小化。这就产生了一个原则,即超网权重应同时优化搜索空间中的所有架构。这表示为

其中γ(α)是α∈α先验分布。Eq一个实现。.在优化的每一步每一步都是随机抽样的。只有权重W(a)被激活和更新。因此,内存使用是有效的。从这个意义上说,超网不再是一个有效的网络。它表现为随机超网[22]。这与[2]不同。

如图3 (a)所示,超网结构,每个系统结构都是一条路径。与[2]中的路径丢失策略相比,单路径策略是超参数的。我们在同一搜索空间中比较了这两种策略(就像在这项工作中一样)。请注意,[2]中的原始删除路径可能会删除块中的所有操作,导致识别连接的捷径。在我们的实现中,由于我们的选择块没有识别分支,因此强制保留一条随机路径。我们随机选择子网络,并在训练阶段评估其验证准确性。图1中的结果表明,降速参数非常重要。不同的丢弃率使超网达到不同的验证精度。我们的单路径策略对应于丢弃率1。它工作得最好,因为我们的单路径策略可以分离不同操作的权重。图1验证了重量分离的好处。先验分布γ(A)很重要。在这项工作中,我们根据经验发现采样均匀是好的。这并不奇怪。一项并行工作[10]还发现,基于随机超网的纯随机搜索正在进行中CIFAR-10是有竞争力的。我们还测试了一种根据架构约束对架构进行统一采样的变体,称为统一采样。具体来说,我们随机选择一个范围,然后重复采样架构,直到采样结构FLOPs落入该范围。这是因为一项真正的任务通常希望找到多个系统结构来满足不同的约束。在这项工作中,我们发现均匀限制抽样方法稍好一些。,本文默认使用。我们的实验还表明,随机搜索不足以从大的搜索空间中找到优秀的架构

对于我们的单路径超网,每个选择块只能同时调用一个选择。采样所有选择块以获得路径。我们方法的简单性使我们能够定义不同类型的选择块来搜索各种系统结构变量。具体来说,我们提出了两个新的选择块来支持复杂的搜索空间。

通道数搜索。基于权重分配于权重分配的新选择块,如图3所示 (b)显示。主要思想是提前分配通道数量的最大权重张,系统随机选择通道数量,并切割相应的子传感器进行积累。通过权重共享策略,我们发现超级网络可以快速收敛。具体来说,假设预分配权重的维度是(最大C输出,最大C输入,ksize)。对于超网训练中的每一批,当前输出通道随机采样c out的数量。然后,我们使用形式权重生成输出[: cout,c:in,]分割当前批次的权重。在搜索步骤中确定最佳频道数。

混合精度量化搜索。在这项工作中,我们设计了一个新的选择块特征映射的搜索权重和位宽,如图3 (c)所示。我们还将前面讨论的频道搜索空间与混合精度量化搜索空间相结合。在超网训练过程中,每个随机采样块的特征位宽和加权位宽都是由进化步骤决定的。见第二节。4.了解详细信息。

搜索进化架构Eq中间的架构搜索。(7)之前的一拍作品[3,2]使用随机搜索。这对于大的搜索空间是无效的。我们用了进化算法。请注意,网络连接存储中的进化搜索是在[16]中使用的,但它非常昂贵,因为每个系统结构都是从零开始训练的。在我们的搜索中,每个架构只执行推理。效率很高。

算法1详细说明了算法。对于所有实验,种群大小P = 最大迭代次数为50T = 20,k = 10。两个随机选择的候选人交叉产生新的交叉。对于变异,随机选择的候选人为0.每个选择块的概率变异,产生新的候选对象。重复交叉和变异,以产生足够的新候选人来满足给定结构的约束。在推断系统结构之前,随机子集训练数据(ImageNet重新计算所有批处理的2万个图像(BN) [9]操的统计数据。需要几秒钟。这是因为来自超网的BN统计通常不适用于候选网。这在[2]中也有提及。图2使用进化和随机搜索方法绘制了几代人的验证精度。很明显进化搜索更有效。实验细节在第二节。4.进化算法在处理等式中的不同约束时是灵活的。(5)因为可以直接控制变异和交叉过程,生成合适的候选来满足约束。以前基于RL的[21]基于梯度的[4,23,22]方法设计了复杂的奖励或损失函数来处理这些约束。例如,[23]使用损失函数CE(a,wa)αlog(LAT(a))β来平衡精度和延迟。很难调整超参数β来满足像等式这样的硬约束。(5).

 

总结。单路径超网、均匀采样训练策略、进化架构搜索和丰富的搜索空间设计的结合使我们的方法简单、高效和灵活。表1综合比较了我们的方法与以前的权重分配方法在各个方面的差异。我们的最容易训练,占用最小的内存,最好地满足架构(延迟)约束,并且容易支持大数据集。Sec中的大量结果。验证我们的方法是最先进的。

四:实验结果数据集

实验设置:所有实验都在ImageNet上进行[17]。我们将原始训练集随机分成两部分:50000个图像用于验证(每个类精确50个图像),其余的作为训练集。最初的验证集用于测试,根据[4]报告所有评估结果。培训。我们使用相同的设置(包括数据扩充、学习进度等。)作为超网和最终架构培训的[14]。批量为1024。通过使用8个NVIDIAGTX 1080 Ti GPU,超网被训练用于120个时期和240个时期的最佳架构(300000次迭代)。

搜索空间:构建模块。首先,我们对构建块选择任务的方法进行了评估,即在一定的复杂度约束下寻找构建块的最优组合。我们的基本构建模块设计灵感来自于最先进的手动设计网络——Shuffle net v2[14]。表2显示了超网的整体架构。“步幅”列表示每个重复组中第一块的步幅。总共有20个选择块。每个选项块有4个候选项,分别为“选项3”、“选项5”、“选项7”和“选项x”。它们在内核大小和深度卷积的数量上有所不同。搜索空间的大小是420。

 

我们用FLOPs ≤ 330M作为复杂度约束,因为以前很多网络的FLOPs都在[300,330]中,包括人工设计的网络[8,18,30,14]和NAS [4,23,21]中得到的网络。表3显示了结果。为了比较,我们设置了如下一系列基线:1)仅选择某个块选项(由“所有选项*”条目表示);请注意,不同的选择有不同的触发器,因此我们调整通道以满足约束。2)从搜索空间中随机选择一些候选。3)用[3,2]中使用的随机搜索代替我们的进化架构优化。结果显示,配备了我们的单路径超网的随机搜索发现的架构仅略好于随机选择(73.8对73.7)。这并不意味着我们的单路超网效率更低。这是因为随机搜索太幼稚,无法从大的搜索空间中挑选出好的候选人。通过使用进化搜索,我们的方法找到了一个在所有基线上都达到了较高精度(74.3)的体系结构。

搜索空间: 频道。基于我们用于频道号搜索的新颖选择块,我们首先在基线结构“所有选择3”(参考表3)上评估频道搜索:对于每个构建块,我们搜索“中间频道”(每个构建块中第一个1×1 conv的输出频道)的数量,从0.2x到1.6x(步幅为0.2),其中“k-x”意味着k倍于默认频道的数量。与构建块搜索相同,我们设置复杂度约束FLOPs ≤ 330M。表4(第一部分)显示了结果。我们的频道搜索方法具有比基线更高的精确度(73.9)。

 

为了进一步提高准确性,我们联合搜索构件和通道。有两种选择:1)在最佳构建块搜索结果上运行频道搜索;或者2)直接在组合搜索空间上搜索。我们的实验表明,第一条管道稍微好一些。如表4所示,在关节空间中的搜索获得了最好的精度(74.7% acc。),超越了以前最先进的手动设计[14,18]和自动搜索模型[21,36,11,12,4,23]在300M FLOPs的复杂度下。

 

与最先进的相比。表4中的结果表明我们的方法是优越的。然而,这种比较可能是不公平的,因为在以前的工作中使用了不同的搜索空间和训练方法[4]。为了进行直接比较,我们将我们的方法基准化为相同的搜索空间[4,23]。此外,我们在相同的设置下重新训练[4,23]中报告的搜索模型,以保证公平的比较。ProxylessNAS [4]中的搜索空间和超网架构受到MobileNet v2 [18]和MnasNet [21]的启发。它包含21个选择块;每个选择块有7个选择(6个不同的构建块和一个跳过层)。搜索空间的大小是721。FBNet [23]也使用了类似的搜索空间。表5报告了[4,23]搜索的5个模型作为基线的准确性和复杂性(我们设备上的浮点运算和延迟)。然后,对于每个基线,我们的搜索方法分别在相同的浮点运算或相同的延迟的约束下运行。结果表明,在所有情况下,我们的方法都达到了与对应基线相当或更高的精度。

 

此外,值得注意的是,我们在表5中不同约束下的体系结构是在同一个超网上搜索的,这证明了我们处理不同复杂性约束的方法的灵活性和效率:超网被训练一次,搜索多次。相比之下,以前的方法[23,4]必须在各种约束条件下训练多个超网。根据表7,搜索比超网训练便宜很多。

应用: 混合精度量化。我们在ResNet18和ResNet-34上评估我们的方法,作为以前量化工作中的常见做法(例如[5,24,13,34,29])。在[34,5,24]之后,我们只搜索和量化res块,不包括第一个卷积层和最后一个全连通层。权重和特征位宽的选择包括搜索空间中的{(1,2)、(2,2)、(1,4)、(2,4)、(3,4)、(4,4)}。至于信道搜索,我们在{0.5x,1.0x,1.5x}中搜索“瓶颈信道”(即每个剩余块中第一个卷积层的输出信道)的数量,其中“k-x”表示k倍于原始信道的数量。搜索空间的大小是(3×6)N= 18N,其中N是选择块的数量(对于ResNet-18N =8,对于ResNet-34N = 16)。请注意,对于每个构建块,我们对两个卷积使用相同的位宽。我们使用PACT [5]作为量化算法。表6报告了结果。基线表示为kWkA (k = 2,3,4),这意味着权重的统一量化和k位的激活。然后,我们的搜索方法在相应的位操作的约束下运行。我们还比较了最近的混合精度量化搜索方法[24]。结果表明,我们的方法在大多数情况下都能达到较高的精度。还要注意,我们对ResNet-18和ResNet-34的所有结果都是在同一个超网上搜索的。这样效率很高。

 

搜索成本分析。在网络连接存储方法中,搜索成本是一个值得关注的问题。因此,我们分析了我们的方法和以前的方法的搜索成本。我们使用构建块的搜索空间来衡量训练超网的内存成本和总时间成本。所有的超网都经过150000次迭代的训练,批量为256。所有模型都是用8个GPU训练的。表7显示,我们的方法显然使用更少的内存因为单路超网。我们的方法总体上更有效,尽管我们有一个额外的搜索步骤,每天花费不到1个GPU。注表7仅比较了一次运行。在实践中,当需要多次搜索时,我们的方法更有优势,也更方便使用。如表1所总结的,它保证在一次搜索中找到满足约束的架构。重复搜索很容易得到支持。

 

相关性分析:如表8所示,我们使用肯德尔τ度量来显示超网性能和独立模型性能之间的相关性。很明显,我们的方法在不同的搜索空间和不同的数据集上比随机搜索表现得更好,因为随机搜索的肯德尔τ度量应该是0。

 

五:结论

在本文中,我们重新审视了一次性网络连接存储范式,并分析了以往权重分配方法中权重耦合的缺点。为了缓解这些问题,我们提出了一种简单而有效的单路径一次性方法。综合实验表明,在几种不同的搜索空间上,我们的方法可以获得比其他方法更好的结果。我们还分析了我们的方法的搜索成本和相关性。我们的方法更有效,尤其是当需要多次搜索时。我们的方法可以在不同的搜索空间上获得显著的相关性,这也验证了我们方法的有效性。我们的方法也有一个限制,即我们的超网的预测排名是部分相关的,但与实际排名不完全相关。我们认为这取决于搜索空间。搜索空间越简单,相关性就越高。

锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章