没有合适的资源?快使用搜索试试~ 我知道了~
AMC:用于移动设备Yihui He‡ †,Ji Lin† †,Zhijian Liu†,Hanrui Wang†,Li-Jia Li‡,and Song Han†{jilin,songhan}@ mit.edu麻省理工卡内基梅隆大学‡谷歌抽象。模型压缩是在计算资源有限且功率预算紧张的移动设备上高效部署神经网络模型的有效技术。传统的模型压缩技术依赖于手工制作的特征,并且需要领域专家探索在模型大小、速度和准确性之间权衡的大的设计空间,这通常是次优的并且耗时的。在本文中,我们提出了AutoML for Model Compression(AMC),它利用强化学习来有效地对设计空间进行采样,并可以提高模型压缩质量。我们以完全自动化的方式实现了最先进的模型压缩结果,无需任何人工努力。在4× FLOPs减少的情况下,我们在ImageNet上实现了比VGG-16手工模型压缩方法 高 2.7% 的 我 们 将 这 种 自 动 化 的 按 钮 压 缩 管 道 应 用 于MobileNet-V1,并在GPU(Titan Xp)上实现了1.53倍的加速,在Android手机(Google Pixel 1)上实现了1.95倍的加速,准确性损失可以忽略不计。关键词:AutoML·强化学习·模型压缩·CNN加速·移动视觉。1介绍在许多机器学习应用中(例如,机器人、自动驾驶汽车和广告排名),深度神经网络受到延迟、能量和模型大小预算的限制已经提出了许多工作来通过模型压缩来提高神经网络的硬件效率[26,19,22]。模型压缩技术的核心是确定每个层的压缩策略,因为它们具有不同的冗余,这通常需要手工制作的启发式算法和领域专家来探索模型大小,速度和准确性之间的大设计空间权衡设计空间是如此之大,人类的启发式通常是次优的,手动模型压缩是耗时的。为此,我们的目标是自动找到任意网络的压缩策略,以实现比人类策略更好的性能。* 表示平等缴款。2Yihui He,Ji Lin,Zhijian Liu,Hanrui Wang,Li-Jia Li and SongHan人体模型压缩:劳动力消耗,次优奖励=-错误 *log(FLOP)层t+1?百分比(%)动作:以稀疏率at压缩(例如50%)嵌入st=[N,C,H,W,i层t百分之五十t-1层百分之三十AI模型压缩自动化,压缩率更高,速度更快代理商:DDPG环境:通道修剪图1.一、AutoML for Model Compression(AMC)引擎左:AMC取代了人类,使模型压缩完全自动化,同时表现得比人类更好。右:将AMC形成为强化学习问题。我们处理预先训练网络(例如,MobileNet-V1)。我们的强化学习代理(DDPG)从层t接收嵌入st,并输出稀疏比at。在层被压缩了t之后,它移动到下一层Lt+1。评估了所有层压缩的修剪模型的准确性。最后,作为准确度和FLOP的函数,奖励R被返回给强化学习代理。由于深度神经网络中的层以未知的方式相关,因此确定压缩策略非常重要。随着网络的深入,问题的复杂度也呈指数级增长,这是无法用蛮力方法解决的。强化学习方法已被广泛认可,具有比随机探索更 好的 样 本 效率 , 并 获 得更 好 的解 决 方 案。 因 此 , 我们 提 出 了AutoML for Model Compression(AMC),它利用强化学习来有效地对设计空间进行采样,并大大提高了模型压缩质量。图1展示了我们的AMC引擎。在压缩网络时,我们的AMC引擎可以自动执行此过程,而不是依赖于人类经验或手工启发式算法,并将压缩管道从人工劳动中解放出来。我们观察到,压缩模型的准确性是非常敏感的每一层的稀疏性,需要一个细粒度的动作空间。因此,我们提出了一种连续的压缩比控制策略,而不是在离散空间中进行搜索,该策略使用DDPG [32]代理来通过试验和错误进行学习:惩罚精度损失,同时鼓励模型收缩和加速。行动者-批评者结构也有助于减少差异,促进更稳定的培训。具体来说,我们的DDPG代理以分层的方式处理网络对于每个层Lt,代理接收层嵌入st,其编码该层的有用特性,然后它输出精确的压缩比at。在层L t被压缩了一个t之后,智能体移动到下一个层L t+1。在没有微调的情况下评估所有层压缩的修剪模型的验证精度,这是微调精度的有效代表。这原始NN压缩神经网络AMC发动机原始NN压缩神经网络嵌入评论家演员AMC:用于移动设备3表1.用于模型搜索的强化学习方法的比较(NAS:神经架构搜索[57],NT:网络 转 型 [6] , N2N : Network to Network [2] 和 AMC : AutoML for ModelCompression。AMC与其他工作的区别在于获得奖励而无需微调,连续的搜索空间控制,并且可以产生精度保证和硬件资源约束的模型。NASNTN2n AMC优化精度CCCC优化延迟C简单的非RNN控制器C使用少量GPU进行快速探索CCC连续作用空间C简单的近似可以改善搜索时间,而不必重新训练模型,并提供高质量的搜索结果。策略搜索完成后,将对最佳探索模型进行微调,以实现最佳性能。我们提出了两个压缩策略搜索协议,为不同的场景。对于延迟关键的AI应用(例如移动应用程序、自动驾驶汽车和广告排名),我们提出了资源受限压缩以在给定最大量的硬件资源的情况下实现最佳准确度(例如,FLOP、延迟和模型大小),对于质量关键的AI应用程序(例如GooglePhotos),其中延迟不是硬约束,我们提出了保证准确性的压缩,以实现最小的模型,而不会损失准确性。我们通过约束搜索空间来实现资源约束压缩,在搜索空间中,动作空间(剪枝率)受到约束,使得代理压缩的模型总是低于资源预算。对于保证精度的压缩,我们定义了一个奖励,它是精度和硬件资源的函数。有了这个奖励函数,我们就能够探索在不损害模型准确性的情况下限制压缩为了证明广泛和普遍的适用性,我们在多个神经网络上评估了我们的AMC引擎,包括VGG [45],ResNet [21]和MobileNet- V1 [23],并且我们还测试了压缩模型从分类到对象检测的泛化能力。大量的实验表明,AMC提供了更好的性能比手工制作的启发式政策。对于ResNet-50,我们将专家调整的压缩比[16]从3.4倍提高到5倍,而不会损失准确性。此外,我们将MobileNet-V1 [23]的FLOP降低了2倍,达到了70.2%的最高准确率,这比0.75 MobileNet-V1更好的帕累托曲线,并且我们在Titan XP上实现了1.53倍的加速,在Android手机上实现了1.95倍的加速。2相关工作CNN压缩和加速。大量的工作[20,19,34,12,18,17]已经通过压缩来加速神经网络量化[554Yihui He,Ji Lin,Zhijian Liu,Hanrui Wang,Li-Jia Li and SongHan10,41]和特殊的卷积实现[36,48,29,3]也可以加速神经网络。张量因子分解[30,15,27,35]将权重分解为轻量级部分,例如[51,11,14]提出用截断SVD加速全连接层;Jaderberg等人。[26]提出将层分解为1×3和3×1; Zhanget al.[53]建议将层分解为3×3和1×1。通道修剪[40,24,1,38]从特征图中移除冗余通道。这些方法的一个共同问题是如何确定每一层的稀疏比。神经架构搜索和AutoML。许多关于使用强化学习和遗传算法搜索模型的工作[46,42,5,37]极大地提高了神经网络的性能NAS[57]旨在搜索可转移的网络块,其性能超过许多手动设计的架构[47,21,9]。Cai等人[6]提出通过网络改造加快勘探速度[8]。受其启发,N2N [2]将强化学习集成到通道选择中。 在表1中,我们展示了我们的AMC引擎的几个优点。 与以前的工作相比,AMC引擎优化了准确性和延迟,需要一个简单的非RNN控制器,可以用更少的GPU时间进行快速探索,并且还支持连续的动作空间。3方法我们在图1中概述了AutoML for Model Compression(AMC)引擎。我们的目标是自动找到每一层的冗余,characterized稀疏。我们训练了一个强化学习代理来预测动作并给出稀疏度,然后执行剪枝。我们迅速评估修剪后的准确性,但在微调作为最终准确性的有效代表然后,我们通过鼓励更小,更快,更准确的模型来更新代理。3.1问题定义模型压缩是通过减少深度神经网络中每层的参数数量和计算量来实现的。修剪有两类:细粒度修剪和结构修剪。细粒度修剪[19]旨在修剪权重张量中的单个不重要元素,这能够实现非常高的压缩率而不损失准确性。然而,这样的算法会导致不规则的稀疏模式,并且需要专门的硬件,如EIE [18]来加速。粗粒度结构化修剪[31]旨在修剪权重张量的整个规则区域(例如通道、行、列、块等)。修剪后的权重是规则的,可以直接用现成的硬件和库来加速。在这里,我们研究结构化修剪,收缩每个卷积层和全连接层的输入通道。我们的目标是精确地找出每个层的有效稀疏度,这在以前的研究中是手 动 确 定 的 [38 , 31 , 22] 。 以 卷 积 层 为 例 。 权 重 张 量 的 形 状 是n×c×k×k,其中n、c是输出和输入通道,k是核大小。对于细粒度修剪,稀疏度被定义为零元素的数量除以零元素的数量。AMC:用于移动设备5总元素,即#zeros/(n×c×k×h)。对于通道修剪,我们将权重张量缩小到n×c′×k×k(其中c′ c),因此稀疏度变为c′/c。3.2使用强化学习的自动压缩AMC利用强化学习在动作空间上进行高效搜索。在这里,我们介绍了强化学习框架的详细设置对于每个层t,我们有11个特征来表征状态st:(t,n,c,h,w,stride,k,FLOPs[t],rduced,rest,at−1)(1)其中t是层索引,核的维数是n×c×k×k,输入是c×h×w。FLOPs[t]是层Lt的FLOPs。减少是先前层中减少的FLOP的总数。Rest是以下图层中剩余FLOP的数量。在传递给代理之前,它们在[0, 1]内缩放。这样的特征对于代理区分一个卷积层与另一个卷积层是必不可少的。动作空间大多数现有的作品使用离散空间作为粗粒度的动作空间(例如,{64, 128, 256, 512}表示信道的数量粗粒度动作空间对于高精度模型架构搜索可能不是问题然而,我们观察到模型压缩对稀疏率非常 敏 感 , 需 要 细 粒 度 的 动 作 空 间 , 导 致 离 散 动 作 数 量 的 爆 炸(Sec.4.2)。如此大的行动空间很难有效地探索[32]。离散化也抛弃了顺序:例如,10%的稀疏性比20%的稀疏性更具侵略性,并且远比30%的稀疏性更具侵略性。因此,我们建议使用连续动作空间a∈(0,1),这使得更细粒度和准确的压缩。DDPG代理如图1所示,代理从环境接收层Lt的嵌入状态st,然后输出稀疏比作为动作at。使用指定的压缩算法(例如,信道修剪)。然后代理移动到下一层L t+1,并接收状态s t+1。 在完成最后一层L T之后,在验证集上评估奖励准确性并返回给代理。对于快速探索,我们在没有微调的情况下评估奖励准确度,这是微调准确度的一个很好的近似值(Sec. 4.1)。我们使用深度确定性策略梯度(DDPG)的压缩比,这是一个关闭政策的演员批评算法的连续对于探测噪声过程,我们使用截断正态分布:’。µ2Σµ(s t)TN µ(s t|θ t),σ,0,1(二)在开发期间,噪声σ被初始化为0。5,并且在每次发作后呈指数衰减。6Yihui He,Ji Lin,Zhijian Liu,Hanrui Wang,Li-Jia Li and SongHan根据Block-Q NN[54],其中应用了贝尔曼方程[50]的变型,情节中的每个转变是(st,at,R,st +1),其中R是网络被压缩后的奖励。在更新期间,减去基线奖励b以减少梯度估计的方差,其是先前奖励的指数移动平均[56,6]:1Σ。损失= N 我yi− Q.s i,ai|θQΣΣ2(三)y i= r i− b + γQ(s i+1,µ(s i+1)|θ Q)折扣因子γ被设置为1,以避免过度优先考虑短期奖励[4]。3.3检索方案资源受限压缩通过限制动作空间(每层的稀疏率),我们可以准确地达到目标压缩比。在[57,4,54]之后,我们使用以下奖励:Rerr=−Error(4)该奖励不提供模型大小减小的激励,因此我们通过替代方式来实现目标压缩比:限制了动作空间。以用于模型大小缩减的细粒度剪枝为例:我们在前几层允许任意动作a;当我们发现即使在用最积极的策略压缩所有随后的层之后预算也不足时,我们开始限制动作A。算法1示出了该过程。(对于通道修剪,代码将更长但类似,因为移除层Lt的输入通 道也将移 除Lt-1的对应 输出通道 ,从而减 少两个层 的参数/FLOP)。再次注意,我们的算法不限于约束模型大小,并且它可以由其他资源(例如FLOP或移动终端上的实际推理时间)代替基于我们的实验(Sec. 4.1),因为代理没有收到低于预算的激励,所以它可以精确地达到目标压缩比。精确度保证压缩通过调整奖励函数,我们可以准确地找出压缩的极限,而不会损失准确度。根据经验,我们观察到Error与log(FLOPs)或log(#Param)[7]成反比。受此驱动,我们设计了以下奖励函数:RFLOPs=−Error· log(FLOPs)(5)RParam=−Error· log(#Param)(6)此奖励函数对Error敏感;同时,它提供了一个减少FLOP或模型大小的小激励根据我们在图4.1中的实验,我们注意到我们的代理会自动找到压缩的极限。4实验结果对于细粒度修剪[19],我们修剪具有最小幅度的权重。卷积层的最大稀疏比αmax被设置为0.8,卷积层的最大稀疏比αmax被设置为0.8。AMC:用于移动设备7算法1使用细粒度修剪预测具有约束模型大小(参数的数量)的层Lt的稀疏比动作t初始化到目前为止如果t等于0,则Wreduced←0end if计算年龄的活动,并将其与最大的部件绑定actiont←µ′(st)actiont←min(actiont,actionmax)合并模型大小的模型和所有数据类型我爱你Wrest← ΣkWkk=t+1Wk计算如果所有后续层都以最大稀疏率修剪,则必须在当前层中减少的参数数量。α是整个模型的目标稀疏比。Wduty←α·Wall−actionmax·Wrest−Wreduced约束动作t,如果它太小而不能满足目标模型大小缩减actiont←max(actiont,Wduty/Wt)更新减少的模型大小的累积Wreduced←Wreduced+actiont·Wt返回作用试验完全连接层的值设置为0.98。对于信道修剪,我们使用最大响应选择(根据幅度[20]修剪权重),并在修剪期间保留批量归一化[25]层,而不是将它们合并到卷积层中。所有图层的最大稀疏率amax设置为0.8.注意,手动上限amax仅用于更快的搜索,可以简单地使用amax=1,这也会产生类似的结果。我们的演员网络µ有两个隐藏层,每个层有300个单元。最终的输出层是一个sigmoid层,用于将动作绑定在(0,1)内。我们的评论家网络Q也有两个隐藏层,都有300个单位。第二个隐藏层中包含了我们使用τ= 0。01更新并训练网络,其中64作为批量大小,2000作为重放缓冲区大小。 我们的代理首先探索具有恒定噪声σ = 0的100个情节。5,然后利用具有指数衰减噪声σ的300集。8Yihui He,Ji Lin,Zhijian Liu,Hanrui Wang,Li-Jia Li and SongHan表2. Plain-20,ResNets [21]在CIFAR-10 [28]上的修剪策略比较。R_Err对应于具有信道修剪的FLOP约束压缩,而R_Param对应于具有细粒度修剪的精度保证压缩。对于浅层网络Plain-20和深层网络ResNets,AMC的性能大大优于手工制作的策略。这使得能够在没有微调的情况下进行有效的探索。虽然AMC对模型架构进行了许多试验,但我们有单独的验证和测试数据集。未观察到过拟合。模型政策比确认测试Acc.FT后的Acc.深(手工)79.679.288.3普通-20浅(手工)50%FLOPS83.2 82.9 89.2(93.53%)4.1CIFAR-10与分析我们在CIFAR-10 [28]上进行了大量的实验,并全面分析了我们的AMC,CIFAR数据集由50k个训练和10k个测试32× 32个小图像组成,分为10个类。我们将训练图像分为45 k/5 k训练/验证。在验证图像上获得准确度奖励我们的方法在计算上是有效的:RL可以在一个GeForce GTX TITAN Xp GPU上在1小时内完成搜索。FLOPs-Constrained Compression.我们在CIFAR-10上进行了FLOPS约束实验,并进行了通道修剪。我们将我们的方法与图2中所示的三种经验策略[31,22]进行比较:均匀设置压缩比,浅层和深层分别积极修剪浅层和深层基于不同网络的稀疏性分布,可以选择不同的策略。在表2中,我们使用奖励Rerr来准确地找到Plain-20和ResNet-56 [21]的修剪50%的稀疏率,并将其与经验策略进行比较。我们的表现远远优于经验政策。AMC发现的最佳修剪设置与手工启发式不同(图2)。它学习瓶颈架构[21]。精度保证的压缩。 通过使用R参数奖励,我们的代理可以自动找到压缩的限制,最小的模型大小和性能损失很小。如表2所示,我们在CIFAR-10上用细粒度修剪压缩ResNet-50。我们得到的结果有高达60%的压缩比,甚至更高的精度验证集和测试集,这可能是在修剪的正则化效果的光。(90.5%)制服(手工制作)84.083.989.7AMC(R错误)86.486.090.2ResNet-56制服(手工)87.587.489.8(92.8%) 深(手工)50% FLOPS88.488.491.5AMC(R错误)90.290.191.9ResNet-50AMC(R参数)60%参数93.6493.55-AMC:用于移动设备91.00.90.80.70.60.50.40.30.20 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18层图二. 2× 10 ~(-2)条件下平原-20修剪策略的比较统一策略为每个图层统一设置相同的压缩比。浅层策略和深层策略分别对浅层和深层进行AMC给出的策略看起来像锯齿,类似于瓶颈架构[21]。AMC提供的准确性(最好用彩色显示)由于我们的奖励R参数专注于错误,同时对压缩提供很少的激励,因此它更喜欢具有无害压缩的高性能模型。为了缩短搜索时间,我们使用验证准确度来获得奖励,而无需进行微调。我们相信,如果奖励是微调的准确性,代理应该更积极地压缩,因为微调的准确性更接近原始的准确性。加快政策探索。微调修剪后的模型通常需要很长时间。我们观察到预微调精度和后微调精度之间的相关性[20,22]。如表2所示,获得更高验证准确度的策略相应地具有更高的微调准确度。这使我们能够预测最终模型的准确性,而无需进行微调,从而实现高效和更快的策略探索。验证集和测试集是分开的,我们只使用验证集来生成强化学习过程中的奖励此外,压缩模型具有更少的参数。如表2所示,测试准确度和验证准确度非常接近,表明没有过拟合。4.2ImageNet在ImageNet上,我们使用训练集中的3000张图像来评估奖励函数,以防止过度拟合。在整个实验中,使用224×224输入测量潜伏期推动细粒度修剪的极限。细粒度修剪方法基于个体连接修剪神经网络,以实现权重和激活的稀疏性,这能够实现更高的压缩比,并且可以使用专用硬件加速,如[18,17,39]。然而,它需要迭代修剪&微调过程来实现体面的性能[20],并且没有重新训练的单次修剪将极大地损害预测精度政策制服(手工,89.7%)浅(手工,89.2%)深(手工,88.3%)我们的(90.2%)压缩比10Yihui He,Ji Lin,Zhijian Liu,Hanrui Wang,Li-Jia Li and SongHan峰值:我们的RL代理自动学习1x1卷积具有更少的冗余并且可以被更少地修剪Crests:我们的RL代理自动学习3x3卷积更多的冗余并且可以被更多地修剪剩余区块1剩余区组2残差块3剩余块4图3.第三章。我们的ResNet-50强化学习代理给出的修剪策略(稀疏比)通过4个阶段的迭代修剪,我们发现非常显著的稀疏模式跨层:峰值是1× 1卷积,波峰是3× 3卷积。增强学习代理自动学习3× 3卷积比1× 1卷积具有更多冗余,并且可以修剪更多。见图4。与人类专家相比,我们的强化学习代理(AMC)可以将模型修剪到更低的密度,而不会失去准确性。(人类专家:3。4倍压缩ResNet50。AMC:ResNet50上的5倍具有大的压缩率(例如4×),这不能为强化学习代理提供有用的监督。为了解决这个问题,我们按照[16]中的设置进行4次迭代修剪微调实验,其中完整模型的整体密度在每次迭代中设置为[50%,35%,25%和20%]对于每个阶段,我们运行AMC来确定给定总体稀疏性的每个层的稀疏率然后,该模型被修剪和微调为30个历元以下的共同协议。 有了这个框架,我们能够将ResNet-50在ImageNet上的专家调优压缩比从3提升到3。4倍到5倍(见图4),而不损失ImageNet(或原始ResNet50' s [ t op - 1,t op - 5] ac cur ac y = [ 76. 13%,92. 86%];AMC预测模型的累积率= [ 76. 11%,92。89%])。图3中显示了每个阶段期间的一个队列的峰值和波峰显示RL代理自动学习修剪具有更大稀疏性的3× 3卷积层AMC:用于移动设备11表3.与手工艺的比较。AMC提高了人类启发式的性能。(作为参考,基线VGG-16具有70.5%的前1和89.9%的前5准确度;基线MobileNet-Vl具有70.9%的前1和89.9%的前5准确度;基线MobileNet-V2具有71.8%的前1和91%的前5准确度)。政策FLOPs∆accc%VGG-16[31]第31话百分之二十-14.6RNP(手工艺)[33]-3.58[49]第49话-2.3[22]第二十二话-1.7AMC(我们的)-1.4MobileNetV1均匀(0.75-224)[23] 百分之五十六-2.5AMC(我们的)百分之五十-0.4制服(0.75-192)[23] 百分之四十一-3.7AMC(我们的)百分之四十-1.7MobileNetV2均匀(0.75-224)[44]百分之五十-2.0AMC(我们的)-1.0因为它们通常具有较大的冗余;而修剪更紧凑的1 × 1卷积,具有更低的稀疏性。图4中提供了每个块的密度统计。我们可以发现AMC的密度分布与表3中所示的人类实验结果有很大的不同。在[16]的第8章中,建议在AMC处设置h可以充分探索设计空间并以更好的方式分配稀疏性。与启发式信道缩减的比较。 在这里,我们将AMC与现有的最先进的信道减少方法进行比较:[31],RNP [33]和SPP [49]。所有的方法都提出了一种启发式策略来设计每一层的剪枝率。FP [31]提出了一种敏感性分析方案,通过评估单层修剪的准确性来估计每层的敏感性具有较低灵敏度的层被更积极地修剪这种方法假设不同修剪层的误差可以线性相加,根据我们的实验,这是不成立的RNP [33]将所有卷积通道分为4组,并训练RL代理根据输入图像决定4组但是,动作空间非常粗糙(每层只有4个动作),它不能减少模型的大小。SPP [49]对每一层应用PCA分析,并将重建误差作为灵敏度度量来确定修剪率。这种分析是基于一个单一的层进行的,没有考虑层之间的相关性。我们还将我们的方法与原始通道修剪纸(表3中的CP)进行比较,其中修剪的VGG-16 [45]的稀疏率由人类专家仔细调整(跳过conv 5,conv 4和剩余层的稀疏率为1:1 .一、(五)。修剪的VGG-16的结果呈现于表3中。与我们的CIFAR-10实验一致(第4.1),AMC比所有启发式方法高出0.9%以上,并且在没有任何人工劳动的情况下比人类专家高出0.3%。12Yihui He,Ji Lin,Zhijian Liu,Hanrui Wang,Li-Jia Li and SongHanAMC(a) 准确度与 MAC(b)准确度与推理时间图五. (a)比较AMC,人类专家和未修剪的MobileNet-v1之间的准确性和MAC权衡。AMC在帕累托最优曲线中严格优于人类专家。(b)比较AMC、NetAdapt和未修剪的MobileNet-V1之间的准确性和延迟权衡。AMC显著改善了MobileNet-V1的帕累托曲线基于强化学习的AMC在帕累托曲线上超过了基于启发式的NetAdapt(均在Google Pixel 1上测量的推理时间)。除 了 VGG-16 , 我 们 还 在 现 代 高 效 神 经 网 络 MobileNet-V1 [23]和MobileNet-V2 [44]上测试了AMC由于网络已经非常紧凑,因此进一步压缩它们要困难得多。减少模型通道的最简单方法是使用均匀通道收缩,即使用宽度倍增器,以固定比率均匀地减小每层的通道。MobileNet-V1和MobileNet-V2都呈现了不同乘法器和输入大小的性能,并且我们将我们的修剪结果与相同计算的模型进行了比较。格式被表示为均匀的(深度乘数-输入大小)。我们可以发现,我们的方法始终优于均匀基线。即使是目前最先进的高效模型设计MobileNet-V2,AMC仍能将其准确率提高1. 0%(表3)。MobileNet-V1的帕累托曲线见图5a。备份数据库。近年来,移动通信加速器受到了越来越多的关注。AMC不仅可以优化FLOP和模型大小,还可以优化推理延迟,直接使移动开发人员受益。对于所有移动推理实验,我们使用TensorFlow Lite框架进行计时评估。我们修剪MobileNet-V1 [23],这是一个由深度卷积和逐点卷积层组成的高度紧凑的网络,并测量我们可以提高其推理速度的程度。以前尝试使用手工制定的策略来修剪MobileNet-V1导致了显著的准确性下降[31]:将MobileNet-V1修剪到75.5%的原始参数导致67.2%的前1准确率,这甚至比原始的0.75 MobileNet-V1(61.9%的参数具有⋆http://machinethink.net/blog/compressing-deep-neural-nets/AMC:用于移动设备13表4. AMC加速MobileNet-V1。以前尝试使用手工制作的策略来修剪MobileNet-V1导致显著的准确性下降[31],而AMC修剪模型很好地保持了准确性。在NVIDIA Titan XP GPU上,AMC达到1. 53倍加速比,批量为50;在Google Pixel-1CPU上,AMC达到1. 95倍的加速比,批量大小为1,同时节省内存34%。AMC修剪的MobileNet不仅更快,而且比0.75 MobileNet更准确。对于所有实验,图像大小为224×224,并且没有量化应用于苹果对苹果的比较。百万MACtop-1acc.(%)前5名(%)GPUlat.速度(毫秒)conv.(毫秒)深入(毫秒)Android总速度(毫秒)存储器1.0MobileNet-V10.75MobileNet-V156932570.968.489.588.20.462191 fps(1×)0.342944 fps(1.34×)110.462.512.89.7123.372.38.1fps(1×)13.8 fps(1.71×)20.1MB14.8MB0的情况。5×FLOPsAMC(我们的)0的情况。5×时间AMC(我们的)28527270.570.289.389.20.323127 fps(1.43×)0.303350 fps(1.53×)58.855.09.58.368.363.314.6 fps(1.81×)16.0 fps(1.95×)14.3MB13.2MB68.4%前1准确度)。然而,我们的AMC修剪策略显著提高了修剪质量:在ImageNet上,AMC修剪的MobileNet-V1在285MFLOPs的情况下实现了70.5%的Top- 1准确率,与原始0. 75兆字节Net-V1如图5a所示,在2×FLOPs减少的情况下,人类体验的手工加密算法比原始MobileNet-V1具有更高的性能然而,与AMC,我们显着提高帕累托曲线,提高准确性MAC权衡原来的MobileNet-V1。通过用延迟代替FLOP,我们可以从FLOP约束搜索变为延迟约束搜索,并直接优化推理时间。我们的实验平台是搭载高通骁龙821 SoC的Google Pixel 1我们还将基于学习的策略与基于启发式的策略进行了比较[52],AMC更好地权衡了准确性和延迟。此外,由于AMC使用微调之前的验证准确性作为奖励信号,而[52]在每个步骤之后需要局部微调,因此AMC更有效,需要更少的GPU时间进行策略搜索。我们在表4中显示了修剪模型的详细统计数据以0.5×FLOP和0.5×推理时间搜索的模型将被分析和显示。对于0.5× FLOPs设置,我们在Google Pixel 1手机上实现了1.81倍的加速,对于0.5×FLOPs设置,我们准确地实现了1.95倍的加速,这与实际的2倍目标非常接近,表明AMC可以直接优化推理时间并实现准确的加速比。我们实现了1×1卷积的2.01倍加速,但由于以下原因,深度卷积的加速不太明显计算通信比小。AMC压缩模型也消耗更少的内存。在GPU上,我们还实现了高达1.5倍的加速比,低于14Yihui He,Ji Lin,Zhijian Liu,Hanrui Wang,Li-Jia Li and SongHan表5.在PASCAL VOC 2007上使用VGG 16压缩更快的R-CNN。与分类任务一致,AMC在相同的压缩比下对目标检测任务也有更好的性能。最大平均接入点(%)mAP [0.5,0.95](%)基线68.736.72×手工制作[22]68.3(-0.4)36.7(-0.0)4×手工制作[22]66.9(-1.8)35.1(-1.6)4×手工制作[53]67.8(-0.9)36.5(-0.2)4× AMC(我们的)68.8(+0.1)37.2(+0.5)这是因为GPU具有比手机更高的并行度。泛化能力。我们评估了AMC在PASCAL VOC对象检测任务上的泛化能力[13]。我们使用压缩的VGG-16(来自第4.2节)作为Faster R-CNN的主干[43]。在表5中,AMC在相同压缩比下实现比AMC甚至超过基线0.5%mAP。我们假设这种改进是因为RL代理发现的最佳压缩策略也可以作为有效的正则化。5结论传统的模型压缩技术使用手工制作的特征,并且需要领域专家探索大的设计空间,并在模型大小、速度和准确性之间进行权衡在本文中,我们提出了AutoML模型压缩(AMC),它利用强化学习自动搜索设计空间,大大提高了模型压缩质量。我们还设计了两个新的奖励计划,以执行资源受限的压缩和精度保证的压缩。在Cifar和ImageNet上,MobileNet-V1、MobileNet-V2、ResNet和VGG已经展示了令人信服的结果。压缩模型的一般化以及从分类到检测任务。在Google Pixel 1手机上AMC有助于在移动设备上进行高效的深度神经网络设计。确认我们感谢Quoc Le、Yu Wang和Bill Dally的支持反馈。我们感谢陈嘉聪绘制了图1左边的漫画。AMC:用于移动设备15引用1. Anwar,S.,Sung,W.:具有粗修剪的紧凑深度卷积神经网络。arXiv预印本arXiv:1610.09639(2016)2. Ashok,A.,Rhinehart,N. Beainy,F.,Kitani,K.M.:N2N学习:通过策略梯度强化学习的网络到网络压缩。arXiv预印本arXiv:1709.06030(2017)3. Bagherinezhad,H.,Rastegari,M.,Farhadi,A.:Lcnn:基于查找的卷积神经网络。arXiv预印本arXiv:1611.06473(2016)4. 贝克湾古普塔岛Naik,N.,Raskar,R.:使用强化学习设计神经网络架构。arXiv预印本arXiv:1611.02167(2016)5. Brock,A.,Lim,T.,Ritchie,J.M.,Weston,N.:通过超网络的一次性模型架构搜索。arXiv预印本arXiv:1708.05344(2017)6. 蔡洪,陈,T.,张伟,Yu,Y.,Wang,J.:基于网络变换的架构搜索强化学习。arXiv预印本arXiv:1707.04873(2017)7. Canziani,A.,Paszke,A.,Culurciello,E.:深度神经网络模型的实际应用分析arXiv预印本arXiv:1605.07678(2016)8. 陈,T.,古德费洛岛Shlens,J.:Net2net:通过知识转移加速学习。arXiv预印本arXiv:1511.05641(2015)9. Chollet,F.:Xception:使用深度可分离卷积的深度学习。arXiv预印本arXiv:1610.02357(2016)10. Courbariaux,M.,Bengio,Y.:Binarynet:训练深度神经网络,权重和激活限制为+1或-1。arXiv预印本arXiv:1602.02830(2016)11. Denton,E.L.,Zaremba,W.,Bruna,J.,LeCun,Y.,Fergus,R.:利用卷积网络中的线性结构进行有效评估。In:Advances inNeuralInForm Atormato nProces si ngSyss.pp. 126912. 董X黄,J.,杨,Y.,Yan,S.:多即少:一个更复杂的网络,具有更低的推理复杂性。arXiv预印本arXiv:1703.08651(2017)13. Everingham,M.凡古尔湖威廉姆斯,C.K.I.,Winn,J.,齐瑟曼,A.:PAS-CAL Visual Object Classes Challenge 2007 ( VOC 2007 ) 结 果 。 我http://www.pascal-network.org/challenges/VOC/voc2007/workshop/index.html14. Girshick , R. : 快 速 R-CNN 。 In : Proceedings of the IEEE InternationalConference on ComputerVision. pp. 14 4015. Gong,Y.,刘,L.,杨,M.,Bourdev,L.:使用矢量量化压缩深度卷积ArXiv预印本arXiv:1412.6115(2014)16. Han,S.: 深度学习的有效方法和硬件,https://stacks.stanford.edu/file/druid:qf934gh3708/EFFICIENT%20METHODS%20AND%20HARDWARE%20FOR%20DEEP%20LEARNING-augmented.pdf17. 汉,S.,康,J.,毛,H.,Hu,Y.,Li,X.,李,Y.,Xie,D.,Luo,H.,Yao,S.,王玉,等:基于fpga的高效稀疏lstm语音识别引擎。In:Proceedings of the 2017 ACM/SIGDA International Symposium on Field-PrograableGateArrays.pp. 75ACM(2017)18. 汉,S.,Liu,X.,中国科学院院士,毛,H.,Pu,J.,Pedram,A.,霍洛维
下载后可阅读完整内容,剩余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直接复制
信息提交成功