没有合适的资源?快使用搜索试试~ 我知道了~
MemNAS:增长修剪学习的内存高效神经架构搜索
21080MemNAS:具有增长修剪学习的内存高效神经架构搜索0刘培业†§,吴波§,马华东†,和Mingoo Seok§0† 北京邮电大学智能电信软件与多媒体北京市重点实验室,中国北京 §哥伦比亚大学电气工程系,美国纽约0{liupeiye, mhd}@bupt.edu.cn {bo.wu, ms4415}@columbia.edu0摘要0最近关于自动神经架构搜索技术的研究已经证明了其在性能上的显著表现,与手工设计的神经架构相当甚至更好。然而,大多数现有的搜索方法倾向于使用残差结构和浅层和深层特征之间的连接。因此,由此产生的神经网络模型对于资源受限的设备来执行是非常困难的,因为这样的模型需要大量的内存来存储网络参数和中间特征映射,以及过多的计算复杂性。为了解决这个挑战,我们提出了MemNAS,这是一种基于增长和修剪的神经架构搜索框架,它不仅优化性能,还优化推理网络的内存需求。具体而言,在搜索过程中,我们考虑运行内存使用,包括网络参数和必要的中间特征映射内存需求,作为优化目标,同时考虑性能。此外,为了提高搜索的准确性,我们提取了多个候选架构之间的相关信息来对它们进行排序,然后选择具有所需性能和内存效率的候选架构。在ImageNet分类任务中,我们的MemNAS实现了75.4%的准确率,比MobileNetV2高0.7%,内存需求减少了42.1%。额外的实验证实了所提出的MemNAS在准确性和内存消耗之间的不同目标上表现良好。01. 引言0深度神经网络(DNNs)在多个应用中展示了最先进的结果,包括0分类、搜索和检测[1, 2, 3, 4, 5, 6,7]。然而,这些最先进的神经网络非常深且复杂,手工设计一个神经网络是一项非常困难的任务。这引起了研究人员对神经架构搜索(NAS)的关注,该技术可以在没有深入领域知识和手工设计的情况下构建神经网络[8, 9, 10,11]。另一方面,无论是手动设计神经架构还是自动设计,考虑到执行推理的目标平台变得越来越重要。目前,我们主要考虑两个平台,即数据中心和移动设备。在数据中心上运行的神经网络可以利用大量的计算资源。因此,针对数据中心平台的NAS工作侧重于优化搜索过程的速度和推理神经网络的性能(准确性)[9, 10, 11,12]。然而,移动计算平台的内存和能源资源要少得多。因此,针对移动平台的NAS工作尝试使用轻量级网络层来减少内存需求[13, 14,15]。此外,FLASH和DRAM等离片内存访问比片上内存耗电量大3到4个数量级,并且速度较慢[16]。因此,高度推荐将网络大小最小化,使网络完全适应移动硬件的片上内存,即几MB。不幸的是,大多数现有的NAS方法,无论是基于强化学习(RL)还是进化算法(EA),都采用了一种仅增长的策略来生成新的网络候选。具体而言,在每一轮搜索中,它们向基础架构添加更多的层和边,导致使用越来越多的内存和计算资源的网络。相反,我们首先提出了一种增长和修剪的策略21090图1:(a)提出的MemNAS的流程图。主要分为三个步骤:i)候选神经网络生成,ii)使用提出的结构相关控制器生成前k个候选网络,iii)候选网络训练和选择。(b)CIFAR-10的网络结构。神经网络架构有五个块。每个块包含几个带有步幅(S)1和2的单元。每个单元(C i ),显示在灰色背景中,由五个二进制向量的元组表示。r i表示一个块中的中间表示。(c)通过增长和修剪基础网络生成的候选示例。灰色背景中的单元是新添加的。虚线轮廓的层被删除。当我们修剪神经网络时,我们只在一个块中删除一个层或一个边缘。但是在CIFAR-10中增长时,我们将相同的单元添加到所有五个块中。0在NAS中生成候选网络时,我们可以在搜索过程中从基础架构中删除层和边缘,而不会对性能产生显著影响。与仅增长的方法相比,提出的增长和修剪方法可以生成大量具有不同特征的候选架构,增加了找到高性能和内存效率的网络的机会。然而,如果我们没有准确的方法来引导搜索并选择所需的架构,这样大量的候选架构可能会有潜在的问题。为了解决这个挑战,我们提出了一个结构相关控制器和一个内存效率度量标准,通过这两个方法,我们可以在每一轮搜索中准确地选择最佳架构。具体而言,结构相关控制器提取了多个候选网络架构的相关信息,并利用这些信息估计了候选架构的排名。此外,内存效率度量标准是网络的准确性性能和内存需求的加权和。我们进行了一系列实验,并证明MemNAS可以构建一个具有竞争性能但内存需求较小的神经网络。本工作的贡献如下:0•我们提出了一个神经架构搜索框架(MemNAS),用于自动生成候选网络。0自动构建一种内存高效且高性能的架构。•我们设计了一个结构相关控制器来预测候选网络的排名,使MemNAS能够在更大更多样的搜索空间中有效地搜索最佳网络。•我们提出了一种内存效率度量标准,定义了准确性和内存需求的平衡,通过该度量标准我们可以训练控制器并评估搜索过程中的神经网络。该度量标准考虑了参数和必要中间表示的内存需求。为了在没有目标硬件平台的详细信息的情况下估计内存需求,我们还开发了一种基于生命周期的技术,可以计算推理操作的内存消耗的上限。02.相关工作02.1.手工设计的神经架构0在资源受限的移动设备上使用高质量的DNN模型进行推理引起了很大的关注[17, 18, 19, 20, 21,22]。这激发了许多研究尝试在不降低准确性性能的情况下扩大DNN的规模和计算复杂性。在这些研究中,多个团队探索了使用小型滤波器的方法。typical search process consisting of multiple rounds.Ineach round, first, it generates several candidate architecturesvia the grow and trim technique. Second, it ranks the candi-date architectures, using the structure correlation controller,in terms of the memory-efficiency metric, resulting in top-kcandidates. Third, we train the top-k candidates and evalu-ate them in terms of the memory-efficiency metric. The bestarchitecture is chosen for the next search round. Finally, wetrain the controller using the data we collected during thetraining of the top-k candidates.Figure 1 (b) shows the template architecture of the neuralnetworks used in the MemNAS. It has five series-connectedblocks. Each block consists of multiple cells. Each cell hastwo operation layers in parallel and one layer that sums orconcatenates the outputs of the operation layers.The location, connections, and layer types (contents)of a cell are identified by a tuple of five vectors,(I1, I2, L1, L2, O). In a tuple, I1 and I2 are one hot encodedbinary vector that represents the two inputs of a cell. For ex-ample, as shown in Figure 1(b) top right, the two inputs ofthe C1 are both r1 (=0001). Thus, the tuple’s first two vec-tors are both r1. Similarly, the second cell C2 in Figure 1(b)mid-right has two inputs, r4 (0010) and r1 (0001). On theother hand, O represents the type of the combining layer,namely 001: summing two operation layers but the outputnot included in the final output of the block; 110: concate-nating two operation layers and the output included in thefinal output of the cell. L1 and L2 represent the types of twooperation layers in a cell. They are also one-hot encoded.21100核大小并连接它们以模拟大型滤波器。例如,GoogLeNet采用一个1×N和一个N×1的卷积来替代N×N的卷积,其中N是核大小[18]。类似地,还提出将3D卷积分解为一组2D卷积。例如,MobileNet将原始的N×N×M卷积(M是滤波器数量)分解为一个N×N×1卷积和一个1×1×M卷积[20]。这可以将与滤波器相关的计算复杂度从N×N×M×I×O(I是输入通道数,O是输出通道数)减少到N×N×M×O+M×I×O。此外,SqueezeNet采用了一个火模块,它使用1×1卷积滤波器压缩网络,然后使用多个1×1和3×3卷积滤波器扩展网络[19]。Shuf�eNet利用点卷积组替换1×1滤波器以进一步减少计算复杂度[23]。02.2. 神经架构搜索0最近,多个研究小组提出了神经架构搜索(NAS)技术,可以自动创建高性能神经网络。Zoph等人在这一领域提出了一项开创性的工作,他们引入了强化学习(RL)用于NAS[10]。此后,有几项工作提出了不同的NAS技术。Dong等人提出了DPP-Net框架[14]。该框架同时考虑了推理网络的时间成本和准确性。它将神经网络候选的下选过程形式化为多目标优化问题[24],并选择 Pareto前沿区域中的前k个神经架构。然而,该框架采用了CondenseNet[25],它倾向于产生大量中间数据。它还需要人工干预,在每一轮搜索中从选定的 Pareto前沿区域中选择前网络。Hsu等人提出了MONAS框架,该框架采用了预测准确性和功耗的奖励函数。虽然它成功构建了一个低功耗的神经架构,但它只考虑了一小部分现有神经网络,即AlexNet [26],CondenseNet[25]及其变体。Michel等人提出了DVOLVER框架[15]。然而,它只关注网络参数的最小化以及性能。不考虑中间表示,DVOLVER可能会产生一个仍然需要大量内存资源的推理网络。03. 提出的方法03.1. 概述0图2:提出的结构相关控制器(SCC)。所有候选架构(a1,a2,..an)都映射到特征(f1,f2,...fn)。|Sg| = |I|2 ∗ |L|2 ∗ |C|2,(1)|St| =B�i=1(li + ci + ei),(2)21110一个细胞从七个操作层中选择两个操作层。这两个层可以执行相同的操作。七个操作层及其二进制向量标识符如下: •3 x 3 卷积(0000001) • 3 x 3 深度卷积(0000010) • 5x 5 深度卷积(0000100) • 1 x 7 接着 7 x 1卷积(0001000) • 3 x 3 平均池化(0010000) • 3 x 3最大池化(0100000) • 3 x 3 膨胀卷积(1000000)0这些层被设计用来替代传统的需要大量内存缓冲中间表示的卷积层[27]。层的步幅是基于块的基础上定义的。如果一个块需要保持特征图的大小,它使用步幅为1(参见图1(b)中的第一个块)。为了将特征图的大小减半,一个块可以使用步幅为2。受进化算法[2]的启发,MemNAS在同一位置的每个块中添加一个新的单元。此外,MemNAS在每个块中以不同的方式移除层。03.2. 生长和修剪候选生成0在MemNAS中,每一轮都是基于上一轮选择的网络(称为基础网络)生成大量的神经网络候选。这些生成的候选架构的集合构成了该轮的搜索空间。使搜索空间包含多样的候选架构是很重要的。这是因为一个大的搜索空间可以增加找到满足目标的最优网络架构的机会。我们首先通过生长基础网络来生成新的候选。具体来说,我们以相同的方式向所有五个块添加一个新的单元。我们还通过修剪基础网络来生成更多的候选。我们考虑两种类型的修剪。首先,我们可以用一个恒等操作层替换现有的操作层之一。其次,我们可以移除一条边。如果移除一条边使得一个层失去其输入边或一个单元的输出不再连接其他单元,我们将移除该层和该单元(参见图1(c)底部,倒数第二个修剪生成示例)。注意,我们只在五个块中的一个块中进行修剪一次。通过生长获得的所有可能候选的搜索空间的大小可以表示为:0其中I表示单元中可用的输入位置数,L表示可用的操作层类型数,C表示连接方法数。0图3:一个示例的生命周期图。我们为图1(b)中的神经网络块架构绘制生命周期图。实心圆表示中间表示的生成,空心电路表示中间数据的删除。为简单起见,我们假设每个中间表示(r i ∈ r 1,r 2,...r10)的数据大小为1。最后一行表示每个时间的内存需求;其中最大的内存需求确定了用于中间数据表示的硬件的内存需求。0另一方面,通过修剪获得的所有可能候选的搜索空间的大小可以表示为:0其中B是块的数量,l i是块i中的层数,ci是块i中的单元数,e i是块i的最终连接的现有输出数。03.3. 结构相关控制器0我们的生长和修剪技术使MemNAS能够探索包含多样的神经网络架构的大型搜索空间。特别地,我们以块为单位逐个修剪层或边,大大增加了搜索空间的多样性和大小。为了在不训练所有候选的情况下找到最优的神经网络架构,因此,构建一个准确找到前k个候选的控制器(或预测器)是至关重要的。为此,我们提出了一个结构相关控制器(SCC)。该控制器可以将每个候选的堆叠块映射到一个特征,然后估计候选网络在用户指定的准确性和内存需求目标方面的排名。SCC旨在提取候选网络之间的相对信息,以评估相对性能,这比现有的控制器[15]更准确地预测每个候选网络的绝对分数并根据绝对分数排名前k个。21120SCC主要由两个递归神经网络(RNN)层组成:i)编码层,将每个候选模型的块映射到一个特征;ii)排名层,将所有候选模型的特征映射到排名得分(图2)。在编码层中,我们首先将候选模型输入嵌入层,得到一组元组,然后将它们输入编码层(E-GRU:编码器RNN)。E-GRU的结果表示每个候选模型的特征fi。我们对所有n个候选模型重复这个过程,并产生fi∈{f1,f2,...,fn}。然后,排名层由排名RNN(R-GRU)和全连接(FC)层组成,它一次接收一个候选模型的特征,并估计所有候选模型的排名得分。排名层的记忆能力提高了估计的准确性,因为它记住了过去候选模型的特征,以估计当前模型的相对性能。SCC的损失函数定义如下:0Loss mem = 10n0i = 1 ((y i - y p i)2), (3)0其中n表示输入架构的数量,ypi表示候选架构i的估计结果,yi表示内存效率指标。我们设计内存效率指标yi,将当前搜索轮次中的每个候选模型与上一轮选择的神经网络进行比较。因此,它的形式为:0y i = λ a i - a pre0a pre0+ (1 - λ)(r i - r pre)0r pre + pi - p pre0p pre),(4)0其中a是神经网络的准确性,r是缓冲中间表示所需的最大内存,p是存储参数所需的最大内存。下标pre表示上一轮搜索中选择的神经网络(即当前搜索轮次的基础网络),下标i表示当前搜索轮次中的第i个候选模型。λ是用户指定的超参数,用于设置推理网络性能和内存需求之间的目标权衡。λ =0使MemNAS仅旨在最小化推理网络的内存需求,而λ =1则仅旨在最大化准确性性能。03.4.候选模型选择0在SCC生成候选模型的前k个列表后,MemNAS使用目标数据集和损失函数对这些候选模型进行训练。在这项工作中,我们使用CIFAR-10和ImageNet数据集进行分类,因此在训练候选模型时使用交叉熵损失函数LCE。0表1:CIFAR-10结果比较。MemNAS (λ = 0.5)和(λ =0.8)是不同搜索结果,其在性能和内存需求之间具有不同的搜索目标权衡。总内存:通过我们基于生命周期的方法计算的参数内存和必要的中间表示内存的内存需求。内存节省:由MemNAS (λ =0.5)计算的总内存需求节省。Top-1准确率:在CIFAR-10上的Top-1分类准确率。0模型 总内存 Top-10内存节省 Acc. (%)0MobileNet-V2 [20] 16.3 MB 60.7% 94.1 ResNet-110[1] 9.9 MB 41.1% 93.5 ResNet-56 [1] 6.7 MB 12.4%93.0 Shuf�eNet [23] 8.3 MB 30.1% 92.2CondenseNet-86[25] 8.1 MB 21.0% 94.9CondenseNet-50[25] 6.8 MB 14.7% 93.70DPPNet-P [14] 8.1 MB 28.4% 95.3 DPPNet-M [14]7.7 MB 24.7% 94.10MemNAS (λ = 0.5) 5.8 MB - 94.0 MemNAS (λ = 0.8)6.4 MB - 95.70然后,我们使用实际准确性性能和计算的内存需求计算每个候选模型的内存效率指标,并重新排序它们。然后,我们选择得分最高的候选模型。通过训练SCC,我们完成了当前一轮的MemNAS。在这里,我们使用刚刚训练的前k个候选模型的数据以及刚刚计算的它们的内存效率指标。我们使用上面方程式3中定义的损失函数Lossmem。在更新了SCC之后,如果未满足完成条件,我们开始新一轮的搜索。03.4.1 内存需求估计0在每一轮搜索中,MemNAS在多个步骤中计算和使用内存效率度量值( y i),包括使用 SCC 估计前 k 个候选项、训练SCC,以及在搜索轮结束时确定最佳候选项。如方程 4所示,该度量值是参数和中间表示的内存需求的函数。估计参数的内存需求很简单。例如,我们可以简单地计算权重数量乘以每个权重的数据大小(例如,一个 short integer数字的大小为 2字节)。然而,估计中间表示的内存需求并不简单,因为这些数据在推理操作过程中以更复杂的方式存储和丢弃。这些动态还取决于硬件架构,如大小。21130表2:ImageNet结果比较。对于基准模型,我们将它们分为两类,根据它们在准确性和内存消耗之间的目标权衡。对于我们的模型,MemNAS-A 和 -B 是从搜索模型 MemNAS( λ = 0.5 )和( λ = 0.8 )扩展而来的,分别有16个块。Top-1准确率:在ImageNet上的top-1分类准确率。推理延迟是在一个Pixel手机上以批量大小1进行测量的。0模型类型 总内存 推理 Top-10内存节省 延迟 准确率(%)0CondenseNet (G=C=8) [ 25 ] 手动 24.4 MB 6.6 % − 71.0 Shuf�eNet V1 (1.5x) [ 23 ] 手动 25.1 MB 9.2 % −71.5 MobileNet V2 (1.0x) [ 21 ] 手动 33.1 MB 31.1 % 75 ms 71.8 Shuf�eNet V2 (1.5x) [ 28 ] 手动 26.1 MB12.6 % − 72.6 DVOLER-C [ 15 ] 自动 29.5 MB 22.7 % − 70.2 EMNAS [ 29 ] 自动 54.0 MB 57.8 % − 71.7FBNet-A [ 30 ] 自动 29.0 MB 21.4 % − 73.0 MnasNet (DM=0.75) [ 8 ] 自动 27.4 MB 16.8 % 61 ms 73.3DARTS [ 31 ] 自动 31.0 MB 38.7 % − 73.3 NASNet (Mobile) [ 11 ] 自动 53.2 MB 57.1 % 183 ms 73.5MemNAS-A (我们的) 自动 22.8 MB − 58 ms 74.10CondenseNet (G=C=4) [ 25 ] 手动 31.6 MB 11.1 % − 73.8 Shuf�eNet V1 (2.0x) [ 23 ] 手动 33.5 MB 16.1 %− 73.7 MobileNet V2 (1.4x) [ 21 ] 手动 48.5 MB 42.1 % − 74.7 Shuf�eNet V2 (2.0x) [ 28 ] 手动 51.6 MB45.5 % − 74.9 DPPNet-P (PPPNet) [ 14 ] 自动 34.7 MB 19.0 % − 74.0 ProxylessNAS-M [ 32 ] 自动 36.2MB 22.4 % 78 ms 74.6 DVOLER-A [ 15 ] 自动 39.1 MB 28.1 % − 74.8 FBNet-C [ 30 ] 自动 35.2 MB 20.2 %− 74.9 MnasNet (DM=1) [ 8 ] 自动 36.7 MB 23.4 % 78 ms 75.2 MemNAS-B (我们的) 自动 28.1 MB − 69ms 75.40寄存器文件,芯片上的数据存储器和缓存机制等。0因此,我们的目标是估计缓冲中间表示所需的内存,而不需要了解底层计算硬件架构的细节。为此,我们利用一种称为寄存器生命周期估计技术 [ 33],其中数据的生命周期被定义为从生成到删除的时间段。0使用前馈神经网络进行推理操作时,计算平台从网络的输入层到输出层计算每个层的输出。每个层的输出必须存储在内存中,直到所有后续层都使用它。在其生命周期结束后,数据将被丢弃,使得用于存储这些数据的内存硬件可以再次用于其他数据。0对于图1(b)中显示的神经网络,我们绘制了示例生命周期图(图3)。在垂直轴上,我们列出神经网络的所有边,即中间表示。水平轴表示时间(T),我们假设一层计算需要一个单位时间(u.t.)。在T=1 u.t.时,r 1被生成并存储,并被三个层(Dep 3 × 3,Fac 1 × 7和Dep5 × 5)使用。假设0r 1 的数据大小为1,T=1 u.t.时的内存需求为1。在T=2u.t.时,三个层完成计算并生成 I 2 , I 3 和 I 5。这些数据确实需要被存储。然而,r 1不再被任何层需要,因此可以丢弃。因此,在T=2u.t.时,所需内存的大小为3。我们可以继续这个过程到网络的最后一层,并完成生命周期图。最后一步是简单地找到随时间变化的最大内存需求,这个例子中为4。04. 实验04.1. 实验设置0我们首先让MemNAS找到CIFAR-10的最佳神经网络架构,该数据集包含50,000个训练图像和10,000个测试图像。我们使用标准的数据预处理和增强技术:通道归一化、将训练图像中心填充到40×40,然后随机裁剪回32×32,随机水平翻转和cut-out。这里考虑的神经网络架构总共有五个块。每个操作层中的滤波器数量为64。SCC模型中隐藏阶段的大小为100。21140图4:在CIFAR-10上的MemNAS搜索轮次中的性能和内存需求。一个MemNAS被配置为仅优化准确性性能(蓝线),另一个MemNAS被配置为同时优化性能和内存需求(橙线)。后者在保持相同目标准确性(94.02%)的同时,将参数的内存需求减少了96.7%,中间表示数据减少了28.2%。0嵌入层的大小也是100。SCC估计前100个候选网络,即k =100。使用带有WarmRestarts的随机梯度下降进行训练[34]。这里,批量大小为128,学习率为0.01,动量为0.9。它们进行60个epoch的训练。最后,我们的生长和修剪搜索过程耗时约14天,使用了4个GTX 1080GPU。然后,我们考虑ImageNet,它包含1000个视觉类别,总共有120万个训练图像和5万个验证图像。在这里,我们使用MemNAS在CIFAR-10中找到的相同块架构,但将推理神经网络的块数和滤波器扩展到16和256,分别对应表2中的MemNAS-A和MemNAS-B。然后,我们采用相同的标准预处理和增强技术,在测试时进行256×256的重新缩放,然后进行224×224的中心裁剪,然后将输入图像输入到网络中。04.2. CIFAR-10上的结果0我们的实验结果总结在表1中。我们让MemNAS构建了两个搜索模型,MemNAS (λ = 0.5)和MemNAS (λ =0.8),以实现准确性和内存消耗之间的不同权衡。我们将我们的搜索模型与手动设计和自动设计的最先进高效模型进行了比较。我们关心的主要指标是内存消耗和准确性。表1将方法分为两类,根据它们的类型。与手动模型相比,我们的MemNAS (λ =0.5)实现了94.0%的竞争性准确性,优于ResNet-110(相对+0.5%)、ShuffleNet(相对+1.8%)和CondenseNet-50(相对+0.3%)。关于内存消耗,我们的MemNAS (λ =0.5)节省了平均27.8%的内存需求。具体而言,我们的MemNAS (λ = 0.5)只需要0.8MB的参数内存。0图5:λ调制结果。从0到1扫描λ,MemNAS可以生成一系列具有良好可扩展性和内存需求的神经网络架构。中值0.5使MemNAS能够生成一个良好平衡的神经网络架构。实验使用CIFAR-10数据集。0这个内存需求可以满足移动设备(如Note 8的三星Exynos8895 CPU、Pixel 1的高通Snapdragon 821 CPU、iPhone6的苹果A8CPU等)的芯片内存存储。与自动方法相比,我们的MemNAS (λ =0.8)实现了最高的95.7%的top-1准确性,同时减少了8.6%的内存需求。搜索到的架构和更多比较结果详见补充材料。04.3. ImageNet上的结果0我们的实验结果总结在表2中。我们将我们的搜索模型与手动设计和自动设计的最先进高效模型进行了比较。此外,我们还测量了我们的MemNAS-A和-21150B当它们在Pixel1上执行时。我们关心的主要指标是内存消耗、推理延迟和准确性。表2根据准确性和内存消耗之间的目标权衡将模型分为两类。在第一组中,我们的MemNAS-A达到了最高的74.1%准确性。在内存消耗方面,我们的MemNAS-A比其他自动方法减少了35.8%的内存消耗,同时准确性平均提高了1.6%。在第二组中,我们的MemNAS-B也达到了最高的75.4%top-1准确性。在内存消耗方面,我们的MemNAS-B比其他自动方法节省了22.62%的内存,同时准确性平均提高了0.7%。虽然我们没有直接优化推理延迟,但我们的MemNAS-A和-B比之前最好的方法快3毫秒和9毫秒。更多的比较结果在补充材料中提供。04.4. λ调制结果0我们对内存效率度量(公式4)中调节λ的影响进行了一系列实验。λ设置了MemNAS中准确性和内存需求之间的比例。我们首先比较了λ =1的MemNAS,它仅优化准确性性能,和λ =0.5的MemNAS,它既优化准确性又优化内存需求。图4显示了这个实验的结果。在达到相同目标准确性(相对94.02%)的情况下,同时减少了96.7%的参数数据内存需求和28.2%的中间表示数据内存需求。此外,我们还将实验扩展到λ从0到1(0,0.2,0.5,0.8,1)来进行CIFAR-10上的MemNAS。具体而言,其他实验设置与之前的MemNAS-60相同。图50图显示了实验结果。随着λ的增加,要求MemNAS在内存需求优化上的关注度降低,MemNAS的准确性性能提高,错误率从9.5%降低到4%,但内存需求从0.5增加到2.5MB以上。λ = 0.5在准确性性能和内存需求之间取得平衡。04.5. 控制器上的实验0我们将提出的SCC与现有NAS工作中使用的传统控制器进行了比较。传统控制器[15]再次尝试单独估计每个神经网络候选的绝对分数,然后NAS过程根据这些分数对它们进行排序。我们考虑了两种类型的传统控制器,一种使用单层RNN(GRU),另一种使用双层RNN(GRU)。0表3:控制器比较。提出的SCC旨在估计相对排名分数,优于传统控制器,传统控制器估计每个神经网络候选的绝对分数,然后根据分数对它们进行排序。0模型 AP AP NDCG NDCG0单层RNN 0.066 0.237 0.043 0.078 双层RNN0.128 0.268 0.062 0.080 我们的方法 0.196 0.2830.135 0.2010控制器的性能评估使用两个广为接受的指标,即归一化折扣累积增益(NDCG)和平均精度(AP)。NDCG表示所选k个候选项的重要性,AP表示控制器所选k个候选项中有多少个保留在真实的top-k候选项中。我们在实验中考虑了两个k值,分别为50和100。表3显示了结果。SCC控制器在评估指标和k值上优于传统控制器。如预期,双层RNN优于单层RNN,但无法超过提出的SCC。05. 结论0在这项工作中,我们提出了MemNAS,一种可以同时优化准确性性能和内存需求的新型NAS技术。内存需求包括网络参数和中间表示的内存。我们提出了一种新的候选生成技术,在每一轮搜索中不仅增加而且修剪基础网络,从而增加搜索空间的大小和多样性。为了有效地在搜索空间中找到最佳架构,我们提出了结构相关控制器,它通过架构之间的相对信息估计候选项的排名。在CIFAR-10上,我们的MemNAS达到了94%的top-1准确性,与MobileNetV2(94.1%)[21]相似,只需要少于1MB的参数内存。在ImageNet上,我们的MemNAS达到了75.4%的top-1准确性,比MobileNetV2[21]高0.7%,内存需求减少了42.1%。0致谢0本工作部分支持来自中国自然科学基金(NSFC)(No.61720106007),中国创新研究群体基金(No.61921003),111计划(B18008),半导体研究公司(SRC)(任务2712.012),以及美国国家科学基金(NSF)(No.1919147)。21160参考文献0[1] K. He, X. Zhang, S. Ren, and J. Sun,“深度残差学习用于图像识别,” in CVPR , 2016. 1 , 50[2] E. Real, S. Moore, A. Selle, S. Saxena, Y. L. Suematsu, J.Tan, Q. V. Le, and A. Kurakin, “大规模图像分类器的进化,” inICML , 2017. 1 , 40[3] W. Liu, D. Anguelov, D. Erhan, C. Szegedy, S. Reed, C.-Y.Fu, and A. C. Berg, “SSD: 单次多框检测器,” in ECCV , 2016.10[4] W. Liu, X. Liu, H. Ma, and P. Cheng,“超越人类水平的车牌超分辨率,通过渐进车辆搜索和领域先验GAN,” in MM , 2017. 10[5] L. Liu, W. Liu, Y. Zheng, H. Ma, and C. Zhang, “第三眼:用于空气质量监测的手机启用的众包感知系统,” in IMWUT ,2018. 10[6] J. Redmon, S. Divvala, R. Girshick, and A. Farhadi, “Youonly look once: 统一的实时目标检测,” in CVPR , 2016. 10[7] X. Liu, W. Liu, T. Mei, and H. Ma,“基于深度学习的渐进车辆再识别方法,用于城市监控,” inECCV , 2016. 10[8] M. Tan, B. Chen, R. Pang, V. Vasudevan, M. Sandler, A.Howard, and Q. V. Le, “Mnasnet:面向移动设备的平台感知神经架构搜索,” in CVPR , 2019. 1 , 60[9] H. Cai, T. Chen, W. Zhang, Y. Yu, and J. Wang,“通过网络转换进行高效架构搜索,” in AAAI , 2018. 10[10] B. Zoph and Q. V. Le, “使用强化学习进行神经架构搜索,”in ICLR , 2017. 1 , 30[11] B. Zoph, V. Vasudevan, J. Shlens, and Q. V. Le,“学习可迁移的架构用于可扩展的图像识别,” in CVPR , 2018. 1 , 60[12] N. Y. Hammerla, S. Halloran, and T. Pl¨otz,“使用可穿戴设备进行人体活动识别的深度、卷积和循环模型,” in IJCAI , 2016. 10[13] C.-H. Hsu, S.-H. Chang, D.-C. Juan, J.-Y. Pan, Y.-T. Chen,W. Wei, and S.-C. Chang, “Monas:使用强化学习的多目标神经架构搜索,”arXiv预印本arXiv:1806.10332 , 2018. 1 , 30[14] J.-D. Dong, A.-C. Cheng, D.-C. Juan, W. Wei, and M. Sun,“Ppp-net: 平台感知渐进搜索帕累托最优神经架构,” in ICLR,Workshop , 2018. 1 , 3 , 5 , 60[15] G. Michel, M. A. Alaoui, A. Lebois, A. Feriani, and M. Felhi,“Dvolver: 高效帕累托最优神经网络架构搜索,”arXiv预印本arXiv:1902.01654 , 2019. 1 , 3 , 4 , 6 , 80[16] W. A. Wulf and S. A. McKee, “撞击内存墙:显而易见的影响,” in ACM SIGARCH计算机架构新闻 , 1995. 10[17] P. Liu, W. Liu, H. Ma, and M. Seok, “KTAN:知识迁移对抗网络,” arXiv预印本arXiv:1810.08126 , 2018. 20[18] C. Szegedy, W. Liu, Y. Jia, P. Sermanet, S. Reed, D.Anguelov, D. Erhan, V. Vanhoucke, and A. Rabinovich,“深入卷积,” in CVPR , 2015. 2 , 30[19] F. N. Iandola, S. Han, M. W. Moskewicz, K. Ashraf, W. J.Dally, and K. Keutzer, “Squeezenet:50倍减少参数和0.5MB模型大小的Alexnet级别准确性,”arXiv预印本arXiv:1602.
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Haskell编写的C-Minus编译器针对TM架构实现
- 水电模拟工具HydroElectric开发使用Matlab
- Vue与antd结合的后台管理系统分模块打包技术解析
- 微信小游戏开发新框架:SFramework_LayaAir
- AFO算法与GA/PSO在多式联运路径优化中的应用研究
- MapleLeaflet:Ruby中构建Leaflet.js地图的简易工具
- FontForge安装包下载指南
- 个人博客系统开发:设计、安全与管理功能解析
- SmartWiki-AmazeUI风格:自定义Markdown Wiki系统
- USB虚拟串口驱动助力刻字机高效运行
- 加拿大早期种子投资通用条款清单详解
- SSM与Layui结合的汽车租赁系统
- 探索混沌与精英引导结合的鲸鱼优化算法
- Scala教程详解:代码实例与实践操作指南
- Rails 4.0+ 资产管道集成 Handlebars.js 实例解析
- Python实现Spark计算矩阵向量的余弦相似度
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功