没有合适的资源?快使用搜索试试~ 我知道了~
神经网络模型参数的有效利用是提高深度神经网络性能的关键因素
1478修剪1 23 4<1均匀缩放> 1个12341234NeuralScale:资源受限深度神经网络的神经元有效缩放李振义国立交通大学电子学研究所nctu.edu.twcylee@si2lab.org摘要在深度神经网络的设计过程中决定神经元的数量以最大限度地提高性能并不直观。在这项工作中,我们试图寻找神经元修剪参数化修剪进度建筑下降最大化准确性的固定网络架构的(滤波器)配置。使用迭代修剪方法作为代理,我们参数化每层的神经元(滤波器)数量的变化相对于参数的变化,使我们能够有效地跨任意大小扩展架构。我们还介绍了体系结构设计,迭代细化用于模型缩放的参数化函数。这两种 方 法 的 组 合 被 称 为 NeuralScale 。 为 了 证 明NeuralScale在参数方面的效率,我们使用CIFAR10,CIFAR100和TinyImageNet作为基准数据集在VGG11,MobileNetV2和ResNet18上进行了实证模拟。我们的结果显示,在参数约束设置下(输出神经元(过滤器)的 默 认 配 置 , 缩 放 因 子 为 0.25 ) , VGG11 ,MobileNetV2 和 ResNet18 在 CIFAR10 , CIFAR100 和TinyImageNet上的准确度分别提高了3.04%,8.56%和3.41%。1. 介绍人类大脑包含大约1000亿个神经元[21] 它们的结构使得它们以有效的方式被利用。 由于深度神经网络(DNN)的设计受到人类大脑的启发,因此目前的DNN设计中缺少一个关键因素:资源的有效利用(参数)。DNN的成功是由许多因素组成的。在架构层面上,已经提出了各种架构来提高DNN的准确性,目标是计算成本(FLOP)和大小(参数)的效率。在现代DNN架构中,超参数如宽度(神经元/滤波器),深度,跳过连接和交流连接,由台湾科技部支持的工作高效扩展高效扩展的架构(a) NeuralScale。(b) 均匀缩放。图1:输入表示为左侧的绿色板,输出层是右侧的黄色条,中间层由3D块表示,宽度为其神经元(过滤器)编号。紫色块是神经元(滤波器)的最终配置。(a)示出了我们提出的方法,该方法跨不同层非线性地缩放神经元(滤波器)以最大化性能。(b)是一种均匀缩放方法,在[12]中证明是有效的。激励功能[38,42]是构建块。使用这些构建块构建的无表体系结构包括:[24]第二十四章:一个人的世界GoogLeNet [45]和MobileNets [23,43,22]。除了架构设计的进步之外,权重的初始化也有助于提高DNN的准确性[11,17]。我们专注于优化卷积神经网络(CNN)的配置,并在给定固定架构和深度的情况下,为每层选择滤波器的数量。我们的方法是对1479CNN的现代变体(VGGNet,ResNet,MobileNet等)通过引入引导方法来调整其宽度,而不是仅仅盲目地堆叠附加层以提高精度。我们的方法还研究了关于滤波器选择的传统智慧,即随着我们深入网络,需要更多的滤波器来捕获嵌入在特征中的高级信息,并通过逐渐减少空间维度来补偿,这在FLOP中具有效率作为副产品。直观地说,传统CNN的设计是自组织的,并引入了冗余[29,4]。这种冗余为过滤器修剪技术[15,13,29,32]提供了机会,通过使用较低的参数计数来保存或提高准确性。目前的进展修剪导致了最近的工作刘等。[33]从一个新的角度研究修剪。他们表明,prun-ing可以被看作是一种体系结构搜索方法,而不仅仅是为了消除冗余。我们将这一观点与EfficientNet [47]的最新发现结合起来,该发现指出,通过搜索给定架构和数据集的宽度,深度和分辨率之间的最佳比率,如果相应地缩放,网络的准确性可以提高。这两项工作使我们认为,我们可以使用全局迭代修剪作为代理,独立地跨几个层扩展CNN的宽度,而不是找到宽度,深度和分辨率之间的比例或比率。我们假设,如果我们被给予具有最小冗余参数的DNN,则通过对DNN的每一层中的神经元(滤波器)的变化相对于DNN的总参数的变化进行建模我们的方法也可以被视为神经架构搜索(NAS)的变体,其中搜索是在寻找跨层的神经元(滤波器)的最佳配置,而不是搜索涉及跳过连接或滤波器类型的最佳结构[54,30,41,50,1,31]。我们的方法是相对轻量级的,因为唯一的资源密集型任务在于网络的修剪。我们提出的方法的要点如图1a所示。本文其余部分的结构如下。我们首先在第2节中展示了可用修剪技术的相关工作以及修剪在神经结构搜索中的作用。然后,我们在第3节中展示我们方法的细节。在第4节中展示了我们所提出的方法的广泛实验。最后,我们在第5节结束了我们的论文。2. 相关工作深度神经网络的修剪。神经网络的修剪已经研究了几十年,目标是参数减少[27,16]。如果DNN需要部署到具有有限存储容量和计算资源的目标设备,则参数缩减非常重要。有两种方法可以修剪网络:结构化修剪[32,20,39,28,34,52]和非结构化修剪[13、14、15、9]。对于结构化修剪,整个滤波器或神经元从网络的层中移除。这种修剪方法可以直接部署到通用计算体系结构,例如,GPU,看看速度的提高。对于非结构化修剪,修剪各个权重,从而产生稀疏架构。一个专用的硬件是需要利用的稀疏的权重贡献的速度。为了修剪网络,已经研究了各种标准。最直观的方法是根据其幅度修剪权重[15,13,29]。认为砝码的重要性与其大小有关。虽然这种方法在其他作品中被广泛使用[9,29,19,51],但它也显示在几个作品[35,20,27,16]幅度修剪不会导致具有最佳性能架构采用基于幅度的剪枝是因为当与更复杂的剪枝技术(例如,[16,27]需要计算Hessian用于修剪。一项研究建议使用几何中值[20]作为网络修剪标准的幅度修剪[35,37]还对幅度修剪的可靠性提出了挑战,并提出使用泰勒展开来近似滤波器对最终损失的贡献另一种直观的修剪方法是通过向损失函数添加正则化器来迫使冗余权重在训练期间为零[15]。还发现批量归一化(BN)中使用的缩放参数[25]可以用于结构化修剪,并且产生比使用幅度修剪更好的性能[32]。在[52]中提出了考虑BN的移位项进行修剪的通过修剪搜索神经结构。近年来,在神经架构搜索(NAS)技术的研究中投入了大量的努力,为给定的任务提出了NAS技术通常在计算上是昂贵的,限制了其对具有有限计算资源的研究或企业环境的适用性。NAS的搜索空间非常广泛,并且在不同的作品中有不同的定义。搜索空间的大部分涉及搜索要放置在单元中的一组合适的操作。在搜索空间中还考虑了不同操作之间的联系[2]。然后将这些单元堆叠以增加网络深度。在我们的工作中,我们专注于DNN中每层所需的神经元(过滤器)数量的决定。我们使用现有的修剪技术作为代理来解决这个问题。使用修剪作为架构搜索方法的想法并不新颖,并且已经在[33,9,10,7]中进行了讨论,其中可以在MorphNet [12]中看到其适用性Liu等”[33]“我是说,我们要把它去掉。1480Ml=1∂wmlln=1从网络中获得Dancy,并且所得网络在参数方面是他们还表明,从头开始训练修剪的架构具有与微调网络相当的准确性,如果不是更好的话,这表明准确性增益来自通过修剪获得的有效架构 对于非结构化修剪的情况,在[9,10,53]中研究了可以通过迭代非结构化修剪来找到彩票(LT)。LT是一种稀疏的体系结构,它是非结构化修剪的结果,并且具有比原始网络更好的准确性(通常在比原始网络的参数计数小的数量级的参数计数处找到)。这一发现表明,修剪一阶展开:I(1)(W)=(gmwm)2。(三)为了最小化计算成本,将使用(3),因为[35]中显示性能与二阶展开相当,并且一阶泰勒展开通常用于估计DNN组件(权重,内核或滤波器)的重要性[48,36,8]。与他们的工作一致,门zm被放置在批次标准化层之后[25],其中重要性近似被定义为:[15]《易经》中的“五行”,是指五行中的“五行”。I(1)(z)=(λ E)2=(λgw)2、(4)使用修剪作为架构搜索技术的适用性nique。这个想法在MorphNet [12]中得到了证明,其中一个修剪的mzmMMs∈Sm该架构被统一缩放以满足目标参数计数,并重复几次迭代。[12]的单次迭代如图1b所示。3. 方法3.1. 基于迭代剪枝的为了在给定参数约束的情况下在DNN的不同层之间有效地分配神经元(滤波器)以获得最佳精度,我们对神经元(滤波器)在层之间相对于参数变化首先,我们需要从一个具有最小冗余参数的网络开始。为此,Molchanov等人提出的结构化修剪方法。[35]采用迭代修剪。他们提出了一种基于重要性修剪神经元的修剪方法。一个参数的重要性可以用它从网络中移出时引起的损耗来衡量。他们建议使用泰勒近似作为一种有效的方法来找到不太重要的参数一个全面的比较他们的方法和一个预言(在所有的参数,导致最小的损失增加的完全组合搜索这里,我们将简要介绍他们的参数修剪技术借鉴他们的文件。参数的重要性通过将其从网络中移除时引起的误差来量化:其中Sm对应于门之前的权重集合W s∈Sm。对于由L层组成的网络,我们将整个网络的神经元(滤波器)集合定义为{φl}L。φl是层l的神经元(滤波器)的数量。然后,我们将网络中的参数总数定义为τ。作为我们使用迭代修剪方法,在每次修剪迭代中,我们将获得第l层的τ和φ l的集合经过N次迭代后,我们得到φ={{τ(n),φ(n)}N}. 在我们的实现中,当网络中的所有层都被至少一个参数修剪时,我们开始将Rolls输入Rolls。我们推测,当所有层被至少一个参数修剪时,大多数冗余被去除,剩余参数构成有效的配置。一旦神经元(过滤器)的数量小于1/2,我们就停止修剪(在我们的实现中,我们选择1/2作为网络总神经元(过滤器)的5%当剪枝完成时,我们有n∈R2×N×L. 整个修剪亲-一旦我们为P纪元训练了网络,cess就开始了(通常称为网络预训练;我们在上下文中使用术语预训练时期)使用学习率μ。本文研究了P的选择问题,并对传统的关于在剪枝前对网络进行预训练以达到收敛的要求进行了探讨。部分6.3修剪算法总结在算法1中。Im=(E(D,W)− E(D,W |wm=0))2.(一)这里,W={w0,w1,...,wM}是由数据集D={(x0,y0),(x1,y1),.,(xK,yK)}的K个独立sam-由输入xk和输出yk组成的PLE。 (1)可以是通过二阶泰勒展开近似为:3.2. 参数的有效缩放这项工作的目标是跨不同层缩放网络的神经元(滤波器),以满足表示为τ的目标总参数大小。对于参数缩放以匹配目标大小,在Mor- phNet[12]和MobileNets[23]中使用统一缩放,其中所有层都使用恒定宽度乘数进行缩放。很明显,一(2)应用于不同层的神经元(滤波器),m(W)=(gmwm− 2 wmHmW)。 (二)H是Hessian矩阵,其中Hm是它的第m行,gm=n E。(2)can be further approximated using the依赖于层以最大化性能。在这项工作中,我们提出了一种有效的方法来扩展不同层的神经元(过滤器)数量,以最大限度地提高性能。1481层层(fit)(fit层7层8层8(fit)(fit)层5层6层67(fit)层4层4层5(fit)(fit)层2层3层3(fit)层1层122.∂τ∂τ.∂τ1.算法1迭代剪枝一曰:程序迭代P运行(f,D)2:对于Pepochs,3:使用学习率µ更新f由于我们对网络进行了N次迭代修剪,因此我们获得了一组线性方程,可以将其公式化为以下形式的矩阵:1lnτ(1)ΣL4:当|z|公司简介1lnτ(2)l=1l11000万- 是的- 是的 lnαL=(7)5:训练f进行Q次迭代。.ββ。- 是的- 是的β6:使用标准修剪f(4)。.100毫升联系我们7:如果所有层至少修剪一次,则8:←{,′}记录参数1 lnτ(N)Θ联系我们不9:返回顶部lnφ(1)lnφ(1).. - 是的- 是的lnφ(1)n φ(2)。-是的600500500400300200100400300200100lnφ(N)lnφ`1Φ(N)Lx002000000400000060000008000000总参数(a) CIFAR10.002000000400000060000008000000总参数(b) CIFAR100.我们可以使用最小二乘法或通过取T的伪逆并将其乘以Φ来求解(7)中的ΘΘ=(T TT)−1T TΦ。(八)图2:不同网络规模的不同层过滤器数量的增长。每种颜色代表VGG11卷积滤波器的独立层实线是使用迭代修剪方法获得的残差滤波器可以观察到,在过滤器的变化中存在参数是依赖于数据集的。通过使用迭代修剪作为代理,我们相对于总参数来参数化跨不同层的神经元(滤波器)的变化,或者简单地表示为k φ1。建模参数增长。如前一小节中所讨论的,为每一层收集的神经元1类似于给定大小约束下的每一层的有效神经元(滤波器)集合。我们可以用它来模拟φl。 我们首先观察使用修剪尺度在不同τs上获得的残余神经元(滤波器)的分布如何,例如, 我们使用VGG 11作为我们的网络,CIFAR 10/100作为我们的数据集,以显示图2中不同尺寸的参数增长。我们可以观察到跨不同层的参数图2还向我们展示了参数的增长类似于单调的幂函数为了拟合曲线,我们用途:φl(τ|其中每一层独立地由α1和α2参数化,βl。 为了获得这些参数,我们可以将prob线性化,通过在(5)的两边取ln,我们得到:lnφl(τ| αl,βl)= ln αl+ βlln τ。(六)通过使用这种方法,我们能够拟合使用网络的迭代修剪获得的曲线或曲线我们的方法是一种成本有效的神经架构参数化方法,并且每层仅采用两个参数(α和β)来参数化神经元(滤波器)计数在各种参数大小或Δ φl上的非线性增长。我们的方法的简单性还防止了嵌入在通过修剪获得的样本中的噪声的过拟合。算法2中总结了有效缩放的参数搜索。算法2搜索参数一曰:程序SEQUIP-ARAMS(EQUIP-ARAMS2:T,Φ←矩阵转换为矩阵形式3:Θ←(TTT)−1TTΦ4:返回Θ满足参数约束。 以来我们这种方法完全参数化了网络宽度跨各种大小的独立缩放,我们可以在将DNN部署到资源预算有限的设备期间满足严格的参数约束。对于像均匀缩放[12,33,23]这样的方法,只有输出神经元(滤波器)的数量可以缩放,而网络大小是输入和输出神经元(滤波器)的函数,因此满足参数约束只能通过对所需的输出神经元(滤波器)的数量执行迭代网格搜索来完成对于我们的方法,参数缩放是直观的,因为我们可以在Φw.r.t.上应用梯度下降τ. 为此,我们将DNN定义为f(x|W,Φ(τ|其中f是DNN架构,x是其输入,W是DNN的权重,并且滤波器滤波器1L.层1第1层(适合)层2第2层(贴合)层3第3层(贴合)层4第4层(贴合)层5第5层(贴合)层6第6层(贴合)层7第7层(贴合)第8层(贴合)14822i−1附加条件Φ(τ|Θ)被引入以参数化DNN的每一层所需的神经元(滤波器)的数量。然后,我们定义一个函数h,它计算DNN的参数数量。h是架构相关的。给定需要被满足的参数约束τt,我们可以通过对Φ(τ,Θ)w.r. t执行随机梯度下降(SGD)来生成具有接近τt的τ.与其他梯度下降问题一样,参数初始化很重要,最好的方法是将τ拟合到(5)中,从而给出:φl(τ|αl,βl)=αlτ<$βl。(九)这 给 了我 们 一 个 很好 的初 始 点 , 但 是 在 h ( f(x))之间仍然会有一个差异,|W,Φ(τ)|θ)和τθ,其可以通过对1(φ1(τ))应用SGD来固定|αl,βl)− τ)2w.r.t.其中τ的更新给出为:我们将体系结构下降的迭代定义为算法1、2和3的单次运行,其对应于迭代修剪、参数搜索和网络生成。在完成迭代修剪和参数搜索后,我们获得了一组参数,这些参数以更有效的方式扩展了我们的网络然后,我们可以使用这组参数来扩展我们的网络,如算法3所示,以进一步修剪。然后,我们继续进行架构下降的几次通过应用架构下降,我们在由Θ参数化的损失表面上下降,而不是在梯度下降中执行的由其权重W架构下降总结在算法4中。NeuralScale是我们提出的所有算法的组合,如图1a所示。τi= τ i−1 -你好i−1(十)ΣL算法4架构下降一曰:程序ARCHITECTUREDESCENT(f,D,τ)2:不收敛时= τi−1 − η(h(f(x|W, Φ(τi−1|Θ))) − τˆ)l=1βlαlτβl−1。(十一)3:ITERATIVEPRUNE(f,D)泰勒FO [35]4:Θ←SEpherp ARAMS()5:f←G_Et(Θ,f,τ)这里,τ的下标 对应SGD itera-”[11]“其”是“其”的意思,是“其”的意思。部分6.1. 由于体系结构的参数个数是Φ的单调函数,因此该问题是凸的,且易于收敛。如果仔细设置学习率η,我们能够获得总参数接近τ的架构。我们在算法3中总结了这个过程。算法3使用搜索参数1:程序G_EQUATE_NET(Θ,f,τθ)6:returnf带缩放参数的网络4. 实验在本节中,我们将展示一些实验,以说明体系结构下降的重要性。然后,我们继续使用公共数据集对我们的方法进行基准测试,例如。CIFAR 10/100 [26]和TinyImageNet(ImageNet的子集)[6]图像降采样到64×64,由200个2:τ←τ3:不收敛时做初始化参数类有500个训练和50个验证样本,每个类)上的常用架构,例如,VGG114:τ←τ−ττ 使用SGD更新,如(11)5:逐层架构更新6:将输出神经元(滤波器)设置为φl(τ|(5)第七章:返回费3.3.用于模型精化的像任何梯度下降算法一样,初始化起着重要的作用,并影响算法的收敛性。我们的方法是类似的方式,我们试图搜索给定初始配置的架构的配置,例如。VGGNet [44]和ResNet [18]由一组针对不同配置的预定义过滤器编号组成。由于我们的方法的行为类似于梯度下降,我们将其称为架构下降,因为没有涉及梯度,并且它通过对架构的配置进行迭代更改而在损失面中下降[44],MobileNetV2 [43]和ResNet18 [18]。所有经验-使用PyTorch[40]作为我们的深度学习框架。我们使用SGD作为优化器,初始学习率为0.1,动量设置为0.5,权重衰减因子为5−4。使用CIFAR10和CIFAR100的网络的训练在epoch 100、200和250处使用学习率的10倍的阶跃衰减运行300个epoch,而使用TinyImageNet训练的网络在epoch 50和100处使用学习率的10倍衰减运行150个epoch对于迭代修剪,我们首先使用0.1的学习率训练我们的网络P= 10个epoch,并且每10个epoch衰减源代码可以在https://github.com/eugenelet/NeuralScale网站。4.1. 建筑的重要性下降对于所有实验,我们运行架构下降15次迭代。我们展示了具有总参数的1483TinyImageNet1512 9 6 3 0将网络的总参数与其默认的滤波器集合匹配,所述滤波器集合均匀地缩放到比率r。r= 0。CIFAR10和CIFAR100分别为25和2 r = 0。25分,TinyImageNet为1分VGG11。使用相对较浅的网络,我们演示了使用CI-FAR 10和CIFAR 100的体系结构下降的应用,如图3所示。通过观察产生的体系结构配置,我们可以做出两个假设。首先,我们表明,随着我们在卷积网络中的深入,网络设计的传统智慧逐渐增加过滤器的数量并不能保证最佳性能。可以观察到,关于网络设计的传统智慧保持到某个级别(第4层),并且可以观察到参数的检查直到倒数第二层,倒数第二层之后是相对较大的最后一层。其次,网络的规模不应像年那样线性地进行[23]并且应该遵循我们试图使用幂函数近似的非线性规则。如果我们仔细观察,通过在更高复杂度的数据集上应用架构下降,生成的网络配置在最后分配了更多的过滤器我们的推测是,当任务更困难时,需要更多的资源来捕获更高级别的特征,而对于简单的类,VGG11,r=0.25 VGG11,r=2140120100806040VGG11,r=0.25 VGG11,r=21401201008060MobileNetV2,r=0.25 MobileNetV2,r=2363228242016MobileNetV2,r=0.25 MobileNetV2,r=1322824201612ResNet18,r=0.25 ResNet18,r=212510075502512501000750500250100080060040020030024018012060140120100806040180015001200900600300对于像CIFAR10这样的分层问题,更多的资源被分配给更早的层以生成更有用的特征。这些观察结果使我们更好地理解了DNN中的资源分配方式,并可用作深度学习从业者设计DNN的指导方针。VGG 11在CI-FAR 10/100上的架构下降的单次迭代大约为20分钟。ResNet 18,r=0.250 2 4 6 8 10 12 14125100755025ResNet18,r=10 2 4 6 8 10 12 14500400300200100MobileNetV2。我们在图3中展示了使用CIFAR 100和TinyImageNet在更复杂的架构(称为Mo-bileNetV 2)上应用架构下降。在这里,我们只应用我们的搜索算法来决定瓶颈层的大小,而扩展层的大小遵循与[43]中相同的扩展规则,其中使用了6× 结果是,定量非常类似于使用前馈网络如VGG还可以观察到,资源被分配给更复杂的数据集的输出MobileNetV2在CIFAR100和TinyImageNet上的架构下降的单次迭代分别约为50分钟和1.2小时ResNet18. 使用CIFAR100和TinyImageNet在ResNet18上应用架构下降如图3所示。我们观察到一个不同的模式架构配置相比,一个简单的前馈网络,如VGG。这是一个有趣的观察结果,因为它与[49]中所示的剩余网络作为许多不同长度路径的集合的解释一致。一个-图3:显示每个层的过滤器数量在各种架构-数据集对上运行架构下降15次迭代。每个图的垂直和水平轴分别对应于滤波器数量和架构下降迭代。r是应用于默认配置的统一缩放比例。最好用彩色观看。另一个观察是,如果我们只看每个残差块的单层(每个块由两层组成),则ResNet的搜索配置遵循VGG中找到的模式ResNet18在CIFAR100和TinyImageNet上的架构下降的单次迭代分别约为50分钟和45分钟4.2. NeuralScale的基准测试在这里,我们将NeuralScale的准确性与第一次(迭代 =1 , 与 MorphNet [12] 相 比 ) 和 最 后 一 次 ( 迭 代=15)迭代的架构下降进行了比较,其中使用统一缩放(基线)方法和首先使用Taylor-FO [35]修剪网络直到其具有50%TinyImageNet1512 9 6 3 0CIFAR1001512 9 6 3 0CIFAR1006420CIFAR1001512 9 6 3 0CIFAR1064201484过滤器的左边,然后均匀缩放(类似于MorphNet的第一次迭代[12],[35]的使用是为了匹配我们的修剪方法进行公平比较),在我们的比较表和图中命名为MorphNet(Taylor-FO)。通过对5次独立模拟的最大测试准确度取平均值来获得准确度。对于图4和图5中的精度图,原始网络的输出滤波器被缩放到0.25到CIFAR 10/100的增量为0.25,TinyImageNet为0.25,0.5,0.75和1。对于比较表,仅报告了CIFAR 10/100的比率0.25、0.75、2和TinyImageNet的比率0.25、0.75。还与结构化幅度修剪方法[29]进行了比较,其中我们首先使用其他方法的相同处方预训练我们的网络,并分别对CIFAR 10/100和Tiny-ImageNet进行40和20次微调,使用0.001的学习率。我们只在表1中显示了VGG11-CIFAR 10,MobileNetV 2-CIFAR 100和ResNet 18-TinyImageNet的结果,其余的都推迟到Supp。第6.2节。Note that all meth- ods are trained from scratch andonly [29] is trained us- ing the pretrain-prune-finetuningpipeline.结果表明,[33]中的假设成立(从头开始的培训效果更好)。由于我们的方法是为具有结构化并行计算能力的平台(如GPU)设计的,因此我们报告了不同方法的延迟,而不是FLOP。请注意,我们的方法在这里,9392919089880的情况。00的情况。51.一、01.一、5二、0二、53.第三章。03.第三章。5参数×107(a) CIFAR10上的VGG1175. 0七十二5七十067岁5六十五062. 5六十岁。0五十七50200000040000006000000 8000000参数(c) CIFAR100上的MobileNetV27876747270680 1 2 3 4参数×107(e)CIFAR100上的ResNet18727068666462600的情况。00的情况。51.一、01.一、5二、0二、53.第三章。03.第三章。5参数×107(b)CIFAR100上的VGG115856545250484644500000100000015000002000000 2500000参数(d) TinyImageNet上的MobileNetV26058565452500的情况。20的情况。40的情况。60的情况。81.一、0参数×107(f) TinyImageNet上的ResNet18等待时间被定义为输入传播到输出所需的时间。表1中报告的所有延迟都是基于100的批量大小,其中20个批量首先被馈送用于缓存的预热,并且继续进行80个批量,将其平均以给出最终的延迟。由于仅基于表1中的参数标度来计算延迟是不直观的,因此我们在图5中示出了比较不同方法的准确度与延迟的图。VGG11。通过观察图4a和4b中所示的比较图,我们的方法在CIFAR10和CIFAR100的参数效率方面比较有利。如表1所示,在最低参数计数下,CIFAR10获得了3.04%的准确度增益。我们的方法的延迟效率也与基线方法相当,如图5a和5b所示。当网络规模增加时,可以观察到收益递减我们推测,随着网络的增长,更多的子空间被覆盖,因此网络仍然可以通过抑制冗余参数来适应次优配置另一个观察结果是,性能增益在更复杂的数据集上更显著,这是直观的,因为在架构级别中引入了归纳偏差。MobileNetV2。MobileNetV 2的应用程序是为了展示我们的方法的可扩展性,以一个微妙的手-图4:所有的图都是这样组织的,每行对应于一个单一的架构,例如,(a)、(b)对应于VGG11,(c)、( d ) 对 应 于 MobileNetV2 , ( e ) 、 ( f ) 对 应 于ResNet18。每个图包括不同缩放方法(应用于宽度)的准确性比较,针对不同的参数尺度绘制。每条线的阴影区域对应于5次独立模拟的最大精心设计的建筑与图4c和4d所示的其他方法相比,我们的方法在参数效率(大多数情况下)方面更优越。如表1所示,在缩放比为0.25时,观察到CIFAR100相对于基线的8.56%的准确度增益。我们的方法在延迟方面也是有效的,如图5c所示。在TinyImageNet的实验中可以看到一个不直观的当使用更多参数时,精度低于基线。由于MobileNetV2的默认配置具有一致的过滤器,因此默认的快捷连接是身份映射。我们假设快捷连接从标识映射到卷积映射的切换实证研究是在Supp。第6.4节,结果支持我们的假设并解释观察结果。NeuralScale(Iteration=15)NeuralScale(Iteration=1)MorphNet(Taylor-FO)Uniform Scale(Baseline)NeuralScale(Iteration=15)NeuralScale(Iteration=1)MorphNet(Taylor-FO)Uniform Scale(Baseline)NeuralScale(Iteration=15)NeuralScale(Iteration=1)MorphNet(Taylor-FO)Uniform Scale(Baseline)NeuralScale(Iteration=15)NeuralScale(Iteration=1)MorphNet(Taylor-FO)Uniform Scale(Baseline)NeuralScale(Iteration=15)NeuralScale(Iteration=1)MorphNet(Taylor-FO)Uniform Scale(Baseline)精度NeuralScale(Iteration=15)NeuralScale(Iteration=1)MorphNet(Taylor-FO)Uniform Scale(Baseline)精度精度精度精度精度1485NeuralScale(Iteration=15)NeuralScale(Iteration=1)MorphNet(Taylor-FO)Uniform Scale(Baseline)NeuralScale(Iteration=15)NeuralScale(Iteration=1)MorphNet(Taylor-FO)Uniform Scale(Baseline)精度精度表1:各种网络数据集对的比较。93727092689166906489 62方法参数潜伏期准确度(%)VGG11 CIFAR1088051015202530延迟(ms)605 10 15 20 25延迟(ms)统一比例(基线)0.58M 1.29ms 88.18 ±0.165.20M 4.31ms 91.64 ±0.1036.89M 18.86ms 92.96 ±0.09(a) CIFAR10上的VGG1175. 0(b) CIFAR100上的VGG1158Li等[29]<$5.20M4.75ms 91.12 ± 0.020.58M 2.07ms 90.60 ±0.11七十二556七十05467岁552六十五050MorphNet [12](泰勒-FO[35])5.22M 8.43ms 92.60 ±0.0936.72M 48.52ms 93.18 ±0.1162. 5 480.58M 2.56ms 91.13 ±0.07六十岁。0五十七5510152025303540延迟(ms)464410 20 30 40 50延迟(ms)(c) CIFAR100上的MobileNetV2787674727068(d) TinyImageNet上的MobileNetV2605856545250统一比例(基线)010203040506070二、5五、07 .第一次会议。510个。012 五点十五017 五块二十。0225延迟(ms)(e) CIFAR100上的ResNet18延迟(ms)(f) TinyImageNet上的ResNet18Li等[29]†1.42M 7.71ms 67.12 ± 0.080.20M 6.14ms 57.51 ±0.36图5:这些图的布局结构如下所示MorphNet [12](泰勒-FO[35])1.42M 10.95ms 67.51 ±0.489.30M 26.53ms 72.29 ±0.28在图4中。唯一的区别是,不同的方法相对于LaCl4作图。ResNet18. 如图4e和4f中的精度比较图所示,观察到不同参数范围下的根据表1,准确度(Iteration = 15)9.27M 40.48ms74.73 ±0.26TinyImageNet在规模为0.25.使用架构下降的精度增益也更高ResNet18 TinyImageNet在这里宣布。这里的精度增益是矛盾的-与[33]中的结果一致(未观察到准确度增加)均匀缩放(基线)0.73M 3.02ms 50.54 ±0.376.36M 11.56ms 56.68 ±0.28可能是因为我们使用了更好的修剪技术[35]。在图5e和5f中,我们的方法是可比较的,并且在大多数情况Li等[29]†6.36M 11.93ms 54.72 ± 0.24例在延迟方面优于基线配置5. 结论在这项工作中,我们提出了一种方法来有效地扩展神经元(过滤器)的数量的架构。我们假设网络的规模应遵循非线性MorphNet [12](泰勒-FO[35])NeuralScale(迭代= 1)NeuralScale(迭代= 15)0.72M 3.80ms 50.79 ±0.386.39M 14.83ms 56.78 ±0.850.72M 5.96ms 51.66 ±0.806.42M 14.58ms 57.89 ±0.280.72M 6.42ms53.95 ±0.536.40M 17.52ms58.40 ±0.54规则和经验表明,通过我们的方法,在不同尺度的参数有效的网络可以使用此规则生成。我们关于体系结构下降的经验结果也揭示了深度神经网络中参数的有效分配。由于我们的方法是计算效率高,是补充大多数NeuralScale(Iteration=15)NeuralScale(Iteration=1)MorphNet(Taylor-FO)Uniform Scale(Baseline)NeuralScale(Iteration=15)NeuralScale(Iteration=1)MorphNet(Taylor-FO)Uniform Scale(Baseline)NeuralScale(Iteration=15)NeuralScale(Iteration=1)MorphNet(Taylor-FO)Uniform Scale(Baseline)NeuralScale(Iteration=15)NeuralScale(Iteration=1)MorphNet(Taylor-FO)Uniform Scale(Baseline)精度精度精度精度NeuralScale5.20M(迭代= 1)36.88 M8.89毫秒37.39毫秒92.61 ±0.1593.31 ±0.05NeuralScale0.58M2.94ms91.22 ±0.15(迭代= 15)5.20 M12.52ms92.63 ±0.1236.90M53.35ms93.29 ±0.09MobileNetV2 CIFAR1000.20M5.37ms57.80 ±0.311.42M7.46ms67.85 ±0.389.30M19.69ms72.40 ±0.22NeuralScale0.19 M(迭代= 1)1.40 M9.21M5.69ms11.73ms21.32ms66.00 ±0.1270.23 ±0.2572.37 ±0.120.19M7.84ms66.36 ±0.28NeuralScale1.41M17.89ms71.94 ±0.451486†使用预先训练的网络进行微调(而不是从头开始训练)。技术和架构,包含到现有的深度学习框架是具有成本效益的,并在相同的参数约束下产生更高精度的模型。1487引用[1] Irwan Bello,Barret Zoph,Vijay Vasudevan,and QuocV Le.神经优化器搜索与强化学习。第34届机器学习国际会议论文集-第70卷,第459-468页。JMLR。org,2017. 2[2] Gabriel Bender,Pieter-Jan Kindermans,Barret Zoph,
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- zigbee-cluster-library-specification
- JSBSim Reference Manual
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功