没有合适的资源?快使用搜索试试~ 我知道了~
Junghun Oh1 Heewon Kim1 Seungjun Nah1,3 Cheeun Hong1 Jonghyun Choi4 Kyoung Mu Lee1,21{dh6dh, ghimhw, cheeun914, kyoungmu}@snu.ac.kr,3seungjun.nah@gmail.com,4jc@yonsei.ac.krv≈≈176730用于图像恢复的细粒度注意力结构化稀疏01 电子与计算机工程系,ASRI,2 IPAI,首尔国立大学3 NVIDIA4 延世大学0摘要0近年来,通过开发大型深度模型,图像恢复任务取得了巨大的性能提升。尽管性能出色,但深度模型所需的计算量限制了图像恢复的应用。为了解除限制,需要减小网络的大小同时保持准确性。最近,N:M结构化剪枝已经成为一种有效且实用的剪枝方法,用于在满足准确性约束的情况下使模型更加高效。然而,它未能考虑到图像恢复网络不同层的计算复杂性和性能要求的差异。为了进一步优化效率和恢复准确性之间的权衡,我们提出了一种新的剪枝方法,用于确定每个层的N:M结构化稀疏的剪枝比例。对超分辨率和去模糊任务的广泛实验结果表明,我们的方法的有效性明显优于先前的剪枝方法。我们提出的方法的PyTorch实现将在https://github.com/JungHunOh/SLS_CVPR2022上公开。01. 引言0深度学习的进步在图像恢复任务中取得了成功,例如超分辨率[29,48]和去模糊[39,60,61]。然而,由于这些方法所需的计算负担较重,在实际应用中计算高分辨率图像一直是具有挑战性的。网络剪枝是减轻神经网络计算负担的最流行工具之一,通过消除对准确性影响较小的权重。它在发现更好的准确性和效率之间的权衡的子模型方面显示出显著的效果,用于图像分类[9,15,17,30,34]和分割[14,57]。非结构化剪枝[11,13,26]旨在找到并删除对模型准确性影响相对较小的单个权重。然而,由于权重张量的不规则稀疏模式,加速生成的模型是困难的。0图1.超分辨率(顶部)和去模糊任务(底部)上图像恢复性能(PSNR)与计算成本(MACs)之间的权衡。我们将我们的方法与基于大小的滤波器剪枝[28]以及N:M稀疏的现有方法(一次性剪枝[37]和SR-STE[64])进行比较。0考虑到GPU上并行化的复杂性。另一方面,结构化剪枝通过去除预定义的结构(例如卷积层中的滤波器[28]或特征图中的通道[17])来加速剪枝网络在GPU上的运行。然而,我们经验证明图像恢复模型往往容易受到结构化剪枝的严重性能下降的影响。最近,N:M细粒度结构化稀疏[19,037,64]已经成为更好的选择,结合了两种剪枝方法的优点:即来自非结构化剪枝的细粒度稀疏性和来自结构化剪枝的硬件加速能力。N:M结构化稀疏性要求每个M个连续权重组中的N个权重具有非零值。176740使用稀疏性约束具有硬件加速的潜力,最近NVIDIAAmpere一代GPU支持2:4的稀疏模式[37]。然而,训练一个N:M稀疏的网络被证明是困难的,现有的N:M稀疏研究主要集中在改进[37,64]。这种困难阻碍了已经开发的剪枝技术的直接应用,例如具有逐层不同剪枝比例的剪枝[27,34],这对剪枝网络的性能至关重要。特别地,我们观察到图像恢复网络中的一些层(例如最后的上采样层)对剪枝对性能非常敏感。在这里,我们提出了一种用于高效图像恢复网络的逐层N:M稀疏搜索框架,命名为Searching forLayer-wise N:M structuredSparsity(SLS)。在先前的研究中,滤波器或特征通道被用作剪枝的单位,但在N:M稀疏的情况下,定义剪枝单位是具有挑战性的。为此,我们提出将原始权重张量视为由权重的大小决定的稀疏张量的和。我们将每个稀疏张量用作我们的N:M稀疏搜索问题中的剪枝单位。为了学习保留多少个单位,我们提出了每个剪枝单位的可训练分数,该分数旨在确保具有最低基于大小的重要性的单位首先被移除以获得更好的性能。此外,由于图像恢复任务通常具有不同的计算约束,我们提出了一种自适应推理方法,该方法使用通过SLS训练的几个具有不同效率的模型。所提出的自适应推理技术根据输入图像块的恢复难度确定在推理时应使用哪个剪枝模型。自适应推理方法进一步改善了效率-准确性的权衡,并实现了对计算预算的灵活采用。我们总结了我们的贡献如下:•观察到每个层的剪枝敏感性不同,我们提出了一种新方法SLS,来确定逐层N:M稀疏水平。•从具有不同计算成本和准确性的剪枝模型混合中,我们提出在推理时找到更好的权衡,并具有额外的可控性。•通过对超分辨率和去模糊进行广泛实验,我们经验证明我们的剪枝模型通常实现了最先进的性能。02. 相关工作0工作架构已经被提出来减轻这些伪影。在图像去模糊中,多尺度架构[7, 39, 52]、堆叠网络[50, 58,60]、循环模型[61]主要被提出来实现更好的恢复质量。由于这类问题的难度,这些方法采用了具有高模型容量的复杂架构,导致执行速度较慢。同样,在深度超分辨率方面的进展是通过研究各种网络架构,如深度网络[23,29]、注意机制[4, 42, 62]和密集连接[12, 53,63]来实现的。为了使去模糊和超分辨率更快,许多工作致力于设计轻量级架构。对于去模糊,[25]采用了Inception-ResNet-v2 [51]和MobileNetV2[46]构建特征金字塔网络。此外,[44]使用了一个浅层循环模型,并逐步去模糊图像。同样,对于超分辨率,[2]和[32]提出了使用高效而准确的卷积模块的方法。此外,与手动设计模型不同,神经架构搜索(NAS)被采用[3, 22,49]来寻找高效的模型结构。与之前设计轻量级架构的方法不同,我们的方法通过使用N:M稀疏性使现有模型更加高效。0网络剪枝。从神经网络的早期研究开始,人们发现对最终输出影响微乎其微的冗余权重,并且剪枝的目标是去除这些不必要的组件[13, 26]。在非结构化剪枝[6, 10, 11,45]中,会消除不重要的单个权重连接,主要关注的是准确性的保持。然而,由于不规则的稀疏模式,加速剪枝后的网络需要特殊设计的硬件,限制了其在实践中的应用[54]。另一方面,结构化剪枝会在网络架构中移除一组权重(例如,层、滤波器和特征图的通道),从而更容易在现成设备上加速。特别是,滤波器或通道剪枝方法[9, 15-17, 27, 28, 30,33, 35, 38,56]已经成为一种流行的剪枝策略。它们要么训练网络找到最优剪枝网络[9, 15, 27, 33,56],要么提出度量标准来衡量预训练模型中滤波器或通道的相对重要性[16, 17, 28, 30, 35, 38,43]。然而,我们观察到这种粗粒度的结构化稀疏性可能会对图像恢复网络的性能造成重大损害。最近,已经提出了一些方法,以便在更细粒度的层次上进行结构化剪枝。使用矩阵数学流水线的块级稀疏性[8]可以成功加速已知剪枝结构。然而,为了保持原始准确性,需要增加特征大小。[55]提出了一种更细粒度的平衡稀疏性,可以通过分组权重并对每个组进行剪枝来加速。ෑෑ176750输入0×0输出0压缩0稀疏乘法0权重输入0输入维度0M0N0(a) N:M稀疏性的可视化说明0100000假0k1 × k20如果2ki ≥τ,则为假011000假0真实0× � 303 � � ≥ � ?01 1 � 0 10�����01 1 � 1 10重要0�0�0�03:4稀疏性的路径 可能的路径0�������� (4)0�������� (2)0�������� (1)0�������� (3)0(b) 提出方法的概述0图2. (a)N:M稀疏性的可视化说明[37],其中N=3,M=4。我们仅为权重的第一行说明了稀疏乘法过程,其中非零权重和相应位置的输入特征在绿色框中突出显示。D指的是输入特征的空间维度(例如,在卷积层中的输入高度×输入宽度)。 (b)提出方法SLS的概述,该方法根据权重大小将权重分解为M(在本例中为4)组(方程(1))。根据方程(2),最终的剪枝权重是基于二进制掩码b构建的,其中每个值控制是否使用相应的组。二进制掩码将根据每个重要组的优先级生成,遵循方程(3)和(4)中概述的操作。我们说明了搜索稀疏性为3:4的情况。0形式稀疏性。与粗粒度结构化剪枝方法不同,通过该方法剪枝的模型可以通过用剩余权重近似特征图通道来实现相对较高的准确性。最近,在NVIDIA AmpereGPU上提出了类似的2:4细粒度结构化稀疏性,并在[19,64]中探索了更一般的N:M稀疏性配置。然而,先前的工作只考虑了所有层上均匀的N:M稀疏性水平,忽略了层间变化的计算成本和对性能的贡献。在本文中,我们通过为每一层搜索适当的N:M稀疏性水平进一步优化计算成本和性能之间的权衡,特别适用于极度剪枝的网络。03. 提出的方法03.1. N:M稀疏性0具有N:M稀疏性的权重张量表示一种满足以下条件的权重张量类型(见图2a):(1)输入通道数可被M整除。(2)每个M个连续的权重组中至少有N个非零权重。满足上述约束的权重和输入张量通过忽略零权重和相应的输入特征值进行压缩。然后,压缩权重和输入张量之间的张量乘法计算减少为N0原始计算的M。03.2. 概述0常规的结构化剪枝方法[9, 17, 30,0[31,33]删除预定的结构单元(例如,特征图的滤波器或通道)。在结构化剪枝方法中找到层间剪枝比例的常见方法是训练每个剪枝单元中定义的分数值,并删除具有较小分数值的单元[9, 21,33]。然而,在N:M稀疏性模式的情况下,确定这样的结构单元是具有挑战性的,因为保留M个权重中的N个权重有许多可能的配置。为了克服这一挑战,在第3.3节中,我们将原始权重张量视为由权重大小确定的具有1:M稀疏性的M个张量的和。我们建议使用每个稀疏张量作为剪枝的单位。然后,我们提出了一种可微的稀疏性搜索框架,通过使用直通估计器[20]为每个剪枝单元学习分数值。我们经验性地发现,基于大小的重要性和分数值可能会导致剪枝单元的重要性排序冲突,从而带来显著的性能损失。在第3.4节中,我们通过确保分数值与基于大小的重要性对齐来消除冲突。在第3.5节中,我们提出了我们的损失函数,并提出了一种损失退火策略来控制训练期间剪枝的速度。在第3.6节中,我们提出了一种自适应推理方法来改善效率和准确性的权衡。λreg =�α × λregif ∆ CprunedCoriginal ≤ T,λregelse,(7)1767603.3. 可微分的N:M稀疏性搜索0设W l ∈ R c l out × c l in × k l h × k lw表示l层卷积层中的权重张量。为了简化表示,除非另有说明,否则省略l。我们的目标是在给定目标计算预算的情况下找到每层的有效稀疏水平。为此,我们将权重张量表示为具有1:M稀疏性的稀疏张量的和:0W =0i =1 ˆ W i,(1)0其中ˆ Wi是具有1:M稀疏性的权重张量,其中仅保留每M个连续权重中的第i个重要权重。我们将每个权重的重要性定义为其幅度,这在修剪文献中被广泛使用[19,64]。通过这样做,我们可以将稀疏张量视为我们问题设置中的修剪单元。换句话说,ˆ Wi类似于现有的结构化修剪方法中的滤波器或通道。然后,我们将修剪比例搜索问题定义如下:0˜ W =0i =1 b i ∙ ˆ W i,(2)0其中b i是一个二进制值,指示是否应该移除ˆ Wi。为了使用梯度下降优化bi,我们采用直通估计器(STE)[20]:0b i =0� S(p i, τ)在前向路径中,pi在反向路径中,(3)0其中S(∙,τ)是一个函数,如果大于阈值τ,则返回1,否则返回0,pi是在训练过程中学习的ˆ W i的优先级分数。03.4. 优先级排序修剪0在第3.3节中,我们介绍了每个稀疏张量的两个重要度量:权重的幅度用于定义修剪单元,优先级分数用于学习修剪比例。然而,由这两个度量指示的重要性排名可能不同,这意味着具有较大幅度权重的修剪单元可能先于具有较小幅度权重的修剪单元被移除。我们发现这种不对齐会导致严重的性能下降。为了解决这个问题,我们提出了优先级排序修剪(POP)方法,通过设计将这两个重要度量对齐。具体而言,我们定义优先级分数如下:0p i ≡0i −0n =1 k n (4)0其中p 1 ≡ 1,kn是一个可训练的参数,初始化为1并被夹紧以确保0 ≤ k n≤ 1。根据方程(4),保证了p i +1 ≤ pi,因此首先移除具有较小幅度权重的修剪单元。图2b说明了所提出的学习框架的整体过程。03.5. 损失函数0为了实际使用所提出的方法,我们将我们的修剪框架设计为预算修剪[9,41],其中网络被修剪以满足所需的目标计算预算。为此,我们首先定义具有N:M稀疏性的卷积层相对于乘累加操作(MACs)的计算成本。理论上,具有N:M稀疏性的卷积层的MACs是原始MACs的N/M。因此,修剪后的卷积层的计算成本定义如下:0C pruned = C original × � M i =1 b i M,(5)0其中,C original = (c out ∙ c in ∙ k h ∙ k w) × (H ∙W)表示层的原始计算成本,H和W是层输出的空间尺寸。然后,我们将我们的损失函数定义如下:0L = L task + λ reg0l =1 C l pruned,(6)0其中,L是要修剪的总层数,Ltask是任务特定的损失函数(例如,图像恢复任务的L1损失),而C lpruned是计算正则化损失。这两个损失项由超参数λreg平衡。请注意,通过在方程(3)中使用STE,来自计算正则化损失的梯度可以流向ki。从预训练网络开始,网络被修剪直到满足� L l =1 C lpruned ≤ C target,其中Ctarget表示目标计算预算。达到目标预算后,所有的ki都被冻结,修剪后的网络通过优化任务特定的损失进行微调。我们经验性地发现,当目标计算预算非常低(例如,Ctarget = 0.1 × � L l =1 C l original)时,λreg应该足够大以达到目标预算。然而,较大的λreg可能导致过于快速的网络修剪,从而导致严重的性能下降,即使经过微调也很难恢复。为了解决这个问题,我们在训练开始时将λreg设置为一个较小的值,并根据修剪率的变化逐渐增加它。在每个预定的K个epoch中,我们测量最后K个epoch中的修剪率变化,并按照以下规则更新λ reg:argmaxiC1 − CiC1× β + fn(x) − fi(x)fn(x),(8)17677075%剪枝 87.5%剪枝模型 93.75%剪枝模型 双三次插值器0当 � = 2 时选择 当 � = 0.05 时选择0高效0准确0图3.所提出的自适应推理方法的可视化。给定图中右侧的3个图像和4个模型候选(75%,87.5%,93.75%剪枝的CARN[2]和双三次插值器),训练的MSE估计器估计恢复图像与地面真实值之间的MSE。然后,我们的方法通过方程(8)选择一个模型。通过调整β,可以确定是侧重于效率还是准确性。0其中 α 是一个超参数,确定 λ reg 增加的速度,T 是更新 λreg的剪枝率变化阈值。由于剪枝网络的性能对退火超参数(α,T和K)不敏感,我们在所有实验中固定它们。03.6. 自适应推理0低质量图像中的每个区域通常具有不同的恢复难度。例如,在图像超分辨率任务中,天空等平坦区域可以仅使用少量计算资源进行恢复。此外,为了恢复大型图像(例如2K或4K),由于资源限制,将整个图像分割成小块进行处理是不可避免的[24]。出于这个动机,我们提出了一种自适应推理方法,根据推理时输入图像补丁的恢复难度确定使用哪个由SLS训练的剪枝模型。0为了量化补丁的恢复难度,我们假设一个图像补丁越难恢复,地面真实值和恢复结果之间的误差越大。由于在推理时无法获得地面真实值,我们使用一个轻量级的卷积神经网络,可以估计目标模型的地面真实值和恢复结果之间的均方误差(MSE)。给定使用不同目标计算预算训练的几个模型,我们使用训练数据集为每个候选模型训练MSE估计器。0形式上,给定图像补丁 x,我们的自适应推理方法从候选模型中选择一个模型,该模型满足以下条件:0通过以下操作获得:0其中 C i 和 f i ( ∙ ) 分别表示第 i个候选模型的计算成本和估计的MSE,n是候选模型的总数。我们根据计算成本( C i +1 ≤ C i)对每个模型的索引进行排序。通过最大化方程(8)中的两个项,我们的方法试图找到在给定 x的情况下最高效但准确的模型。超参数 β通过侧重于计算成本或性能来灵活控制所选模型的计算成本。图3可视化了所提出的自适应推理方法。04. 实验04.1. 数据集和模型0为了验证所提出的方法的有效性,我们在图像去模糊和超分辨率任务上进行了实验。对于图像去模糊,我们对3种模型架构进行了剪枝,这些模型架构在计算成本和恢复精度上有所不同:残差UNet [40],SRN [52]和DMPHN[60]。我们使用GOPRO数据集[39]来训练和评估去模糊模型。对于图像超分辨率,我们使用了3种流行且高效的架构:EDSR [29],CARN [2]和RFDN[32]。我们使用DIV2K数据集[1]进行训练,使用Set14[59],B100 [36]和Urban100 [18]基准数据集进行评估。04.2. 实现细节0为了公平比较不同的修剪方法,我们使用相同的迭代次数对网络进行训练。图像去模糊和超分辨率的总训练轮数分别为4000和600。由于除了SR-STE[64]之外的方法在修剪之前需要进行预训练阶段,我们将一半的训练轮数用于预训练,剩余的轮数用于修剪过程。我们将超参数设置为τ = 0.5,α = 1.1,T = 0.1。λ reg分别设置为10^-12和10^-10,用于图像去模糊和超分辨率任务。此外,我们将M设置为32,以允许极端的修剪比例。更多细节请参考补充材料。04.3. 定量比较0在表1和表2中,我们展示了修剪模型在图像去模糊和超分辨率任务上的计算成本(GMACs)和图像恢复性能。对于每个模型,我们使用不同的计算预算进行训练,分别为原始成本的1/4、1/8和1/16。我们的方法SLS与现有方法进行了比较。ModelMethodGMACsNum. Param.PSNR↑ / SSIM↑ / LPIPS↓UNetSRNDMPHN176780表1. 在GOPRO数据集[39]上的图像去模糊性能比较。0未修剪 458.04 6.79M 29.46 / 0.8837 / 0.1686 单次修剪 (2:4) 230.843.40M 29.55 / 0.8849 / 0.16620滤波修剪 115.42 1.70M 28.79 / 0.8692 / 0.1893 单次修剪 (8:32) 117.241.70M 29.19 / 0.8771 / 0.1795 SR-STE (8:32) 117.24 1.70M 28.85 /0.8691 / 0.18600SLS (我们的方法) 116.64 1.55M 29.37 / 0.8811 / 0.17400滤波修剪 65.27 956.74K 28.31 / 0.8570 / 0.2070 单次修剪 (4:32) 60.44851.38K 28.64 / 0.8646 / 0.1985 SR-STE (4:32) 60.44 851.38K 28.33 /0.8571 / 0.20700SLS (我们的方法) 60.31 797.30K 28.98 / 0.8726 / 0.18700滤波修剪 29.31 425.86K 27.65 / 0.8398 / 0.2325 单次修剪 (2:32) 32.04427.19K 27.79 / 0.8430 / 0.2345 SR-STE (2:32) 32.04 427.19K 27.77 /0.8431 / 0.22710SLS (我们的方法) 30.91 397.55K 28.36 / 0.8573 / 0.21170未修剪 1200.51 7.09M 30.28 / 0.9021 / 0.1310 单次修剪 (2:4) 605.353.55M 30.53 / 0.9065 / 0.12640滤波修剪 302.67 1.77M 29.76 / 0.8915 / 0.1467 单次修剪 (8:32) 307.771.78M 30.34 / 0.9030 / 0.1313 SR-STE (8:32) 307.77 1.78M 29.91 /0.8942 / 0.14070SLS (我们的方法) 306.84 1.72M 30.45 / 0.9051 / 0.12830滤波修剪 171.21 998.98K 29.33 / 0.8821 / 0.1603 单次修剪 (4:32)158.98 895.00K 29.87 / 0.8944 / 0.1427 SR-STE (4:32) 158.98 895.00K29.35 / 0.8839 / 0.15450SLS (我们的方法) 157.41 897.97K 30.21 / 0.9006 / 0.13510滤波修剪 76.94 444.87K 28.70 / 0.8691 / 0.1811 单次修剪 (2:32) 84.59252.50K 29.04 / 0.8766 / 0.1688 SR-STE (2:32) 84.59 252.50K 28.83 /0.8723 / 0.17470SLS (我们的方法) 84.52 489.81K 29.75 / 0.8918 / 0.14700未修剪 994.48 8.05M 31.22 / 0.9164 / 0.1243 单次修剪 (2:4) 501.864.03M 31.43 / 0.9196 / 0.11920滤波修剪 250.94 2.02M 30.47 / 0.9043 / 0.1417 单次修剪 (8:32) 255.552.02M 31.05 / 0.9137 / 0.1292 SR-STE (8:32) 255.55 2.02M 30.63 /0.9058 / 0.14060SLS (我们的方法) 254.64 2.24M 31.26 / 0.9170 / 0.12420滤波修剪 142.02 1.14M 29.58 / 0.8872 / 0.1639 单次修剪 (4:32) 132.401.01M 30.13 / 0.8984 / 0.1504 SR-STE (4:32) 132.40 1.01M 29.79 /0.8916 / 0.15590SLS (我们的方法) 132.26 1.20M 30.79 / 0.9097 / 0.13430滤波修剪 63.90 506.41K 28.61 / 0.8662 / 0.1908 单次修剪 (2:32) 70.82506.88K 27.60 / 0.8393 / 0.2348 SR-STE (2:32) 70.82 506.88K 28.60 /0.8678 / 0.18310SLS (我们的方法) 70.29 603.47K 30.04 / 0.8967 / 0.15250滤波修剪[28]、单次N:M修剪[37]和SR-STE[64]这三种修剪方法在PSNR、SSIM和LPIPS方面的定量比较。在几乎相同的GMACs下,SLS在所有任务和模型架构上始终实现了最佳的图像恢复性能。特别是在极度修剪的情况下,SLS的性能优于其他方法很多。这些结果表明我们的方法通过搜索有效的逐层N:M稀疏水平,可以在计算成本和恢复性能之间取得更好的平衡。04.4. 定性比较0我们在图5中呈现了定性结果。在图像超分辨率任务中(前两行),我们观察到由SLS训练的模型可以恢复更锐利和清晰的纹理,相比其他方法的结果。值得注意的是,由于修剪最后一个像素洗牌上采样层[47]会导致稀疏像素值,因此滤波修剪的结果会出现棋盘状伪影。0表2.基准数据集上的图像超分辨率性能(PSNR↑)比较,缩放因子为4。0模型方法 GMACs 参数数量 Set14 / B100 / Urban1000EDSR0未修剪 114.49 1.52M 28.58 / 27.56 / 26.04 单次(2:4)58.22 765.00K28.56 / 27.55 / 26.010滤波修剪 29.11 380.93K 28.44 / 27.48 / 25.75 单次(8:32)30.09345.50K 28.49 / 27.50 / 25.83 SR-STE(8:32)30.09 345.50K 28.44 /27.46 / 25.730SLS(我们的方法)29.56 363.39K 28.49 / 27.51 / 25.840滤波修剪 16.56 214.85K 28.35 / 27.41 / 25.59 单次(4:32)16.02174.75K 28.34 / 27.41 / 25.52 SR-STE(4:32)16.02 174.75K 28.33 /27.39 / 25.510SLS(我们的方法)15.62 190.59K 28.38 / 27.43 / 25.630滤波修剪 7.52 96.00K 28.13 / 27.20 / 25.17 单次(2:32)8.98 89.38K28.10 / 27.23 / 25.11 SR-STE(2:32)8.98 89.38K 28.13 / 27.27 /25.220SLS(我们的方法)8.65 97.28K 28.22 / 27.32 / 25.310CARN0未修剪 91.22 1.11M 28.49 / 27.49 / 25.82 单次(2:4)46.63 565.00K28.49 / 27.51 / 25.860滤波修剪 23.31 279.46K 28.37 / 27.43 / 25.64 单次(8:32)24.20278.76K 28.44 / 27.47 / 25.74 SR-STE(8:32)24.20 278.76K 28.40 /27.42 / 25.650SLS(我们的方法)24.09 276.34K 28.46 / 27.48 / 25.790滤波修剪 13.31 157.75K 28.26 / 27.32 / 25.36 单次(4:32)13.02140.24K 28.24 / 27.32 / 25.36 SR-STE(4:32)13.02 140.24K 28.23 /27.33 / 25.430SLS(我们的方法)13.02 140.27K 28.39 / 27.41 / 25.610滤波修剪 6.08 70.61K 27.98 / 27.15 / 24.93 单次(2:32)7.44 70.97K27.86 / 27.08 / 24.78 SR-STE(2:32)7.44 70.97K 28.03 / 27.19 /25.090SLS(我们的方法)7.26 67.18K 28.22 / 27.32 / 25.350RFDN0未修剪 39.86 828.75K 28.52 / 27.51 / 25.91 单次(2:4)20.02416.25K 28.54 / 27.51 / 25.920滤波修剪 10.44 214.77K 16.50 / 17.32 / 15.52 单次(8:32)10.10210.00K 28.46 / 27.47 / 25.73 SR-STE(8:32)10.10 210.00K 28.33 /27.41 / 25.590SLS(我们的方法)10.05 240.17K 28.50 / 27.50 / 25.840滤波修剪 6.05 123.84K 15.76 / 16.61 / 14.78 单次(4:32)5.17106.88K 27.99 / 27.16 / 24.93 SR-STE(4:32)5.17 106.88K 28.19 /27.31 / 25.300SLS(我们的方法)5.16 139.60K 28.41 / 27.43 / 25.630滤波修剪 2.85 57.74K 15.01 / 15.82 / 14.03 单次(2:32)2.66 55.31K27.49 / 27.06 / 24.72 SR-STE(2:32)2.66 55.31K 28.02 / 27.21 /25.080SLS(我们的方法)2.66 77.49K 28.22 / 27.32 / 25.310类似地,在图像去模糊任务中(最后两行),我们发现由SLS训练的模型可以恢复出更多细节纹理和更清晰的车牌,而其他修剪方法则无法重建出这样的高频细节。总体结果表明,在相同的计算预算下,由SLS修剪的模型可以实现令人满意的性能。04.5. 为每个层找到最佳剪枝比例0与先前在所有层中设置统一的N:M稀疏度的方法不同,我们的SLS通过学习为每个层找到稀疏度水平。在图6中,我们可视化了每个层的稀疏度水平。结果显示,当相应层的计算成本变得重时,搜索到的N有降低的趋势。有趣的是,我们发现这种趋势在RFDN中的最后一个上采样层中没有显示出来(在图中表示为第50层)。我们经验性地发现,最后一个上采样层对性能有显著影响。176790超分辨率0未剪枝 滤波器剪枝 一次性剪枝(2:32)SR-STE(2:32)SLS(我们的方法)0去模糊0未剪枝 滤波器剪枝 一次性剪枝(2:32)SR-STE(2:32)SLS(我们的方法)0图5.与现有剪枝方法的定性比较。前两行显示了具有4倍缩放因子的RFDN的图像超分辨率结果。最后两行显示了DMPHN的图像去模糊结果。对于每个任务,所有剪枝模型在GMACs方面的计算成本几乎相同(相对于原始值的1/16)。0表3.对所提出方法进行消融研究。在第3列中,两个数字表示更新ˆWli在RFDN和UNet中的更新周期(迭代次数)。对于RFDN,我们使用Urban100数据集。我们将目标预算设置为1。0原始计算成本的8倍。0POP λ reg 退火 更新周期 PSNR ↑0(迭代次数)RFDN UNet0� � 1000/131 25.46 28.570� � 1000/131 25.59 28.840� � 无更新 25.46 28.740� � 1/1 25.61 28.880� � 10000/1310 25.61 28.920� � 1000/131 25.63 28.980由于它直接影响最终输出,因此性能损失较大。因此,考虑到表2中的更好恢复性能,这些结果表明,SLS通过同时考虑计算成本和每个层对性能的贡献,为每个层找到了更有效的剪枝比例。04.6. 消融研究0为验证SLS中每个组件的有效性,我们进行了消融研究,结果如表3所示。为了研究优先级排序剪枝(POP)的效果,我们将优先级分数值p定义为独立的可训练参数,而不是像公式(4)中那样作为辅助可训练参数的累积乘积。25.025.125.225.325.425.525.6176800(b)可视化搜索的逐层N(当M = 32)图6. 对搜索的逐层N:M稀疏度进行分析。结果是通过使用C target = 1训练RFDN模型获得的。08C原始图像。我们以(a)GMACs和(b)N的形式可视化逐层剪枝比例。在剪枝之前,按照MACs对层进行排序。红色箭头指示RFDN中最后一个上采样层的结果。图(b)中的棕色线用于与均匀剪枝[37, 64]进行比较。02 4 6 8 10 12 14 16 GMACs0自适应推理 75%剪枝87.5%剪枝 93.75%剪枝0图7.在Urban100数据集上,使用4倍尺度因子的自适应推理方法的结果。我们使用双三次上采样器和通过不同目标预算使用SLS训练的三个CARN模型。0结果表明,当不使用POP时,性能损失很大,表明对齐权重的大小和优先级分数两个重要度量是必不可少的。对于λreg退火的消融研究,我们将λreg设置为一个大值,即最终找到的值,并使用它来训练模型。结果表明,λreg退火通过根据当前剪枝率控制剪枝过程的速度,带来了额外的性能提升。在公式(1)中,我们使用权重的大小将权重张量分组为几个稀疏张量。由于权重在训练过程中会发生变化,我们应该更新稀疏张量ˆWi。为了找到适当的更新周期,我们使用不同的更新周期训练模型。如预期的那样,当没有更新时,剪枝模型会遭受显著的性能下降。此外,每次迭代都更新ˆWi对性能没有帮助。0因此,我们将更新周期设置为10000,并分别进行1310次迭代(10个时期)进行超分辨率和去模糊处理。04.7. 自适应推理0图 7显示了提出的自适应推理方法在图像超分辨率任务上的结果。输入图像被分成几个块,每个块通过方程(8)选择的模型进行恢复。如图所示,我们的自适应推理方案不仅能够实现对计算预算的详细控制,还能在PSNR方面改善计算成本和恢复性能之间的权衡。有关去模糊任务的实验细节和结果,请参阅补充材料。05. 结论0在本文中,我们提出了一种新颖的逐层剪枝比例搜索框架SLS,专为 N:M稀疏性量身定制。我们的可微学习框架通过任务特定和计算正则化损失进行端到端训练,以确定每一层的更有效稀疏程度。与先前在所有层上均匀 N:M稀疏性的方法相比,我们的结果在相似的计算预算下实现了最先进的图像恢复性能。此外,我们的自适应推理方案有助于通过改进的恢复性能实现对计算预算的详细控制。0致谢。本工作部分得到了韩国政府(MSIT)资助的IITP项目的支持[编号2021-0-01343,人工智能研究生院项目(首尔国立大学),以及编号2021-0-02068,人工智能创新中心项目],以及现代汽车公司和起亚汽车公司的AIRS公司通过HMC/KIA-SNUAI联盟的支持。[1] Eirikur Agustsson and Radu Timofte.NTIRE 2017 chal-lenge on single image super-resolution: Dataset and study.In CVPR Workshops, 2017. 5[2] Namhyuk Ahn, Byungkon Kang, and Kyung-Ah Sohn. Fast,accurate, and lightweight super-resolution with cascadingresidual network. In ECCV, 2018. 2, 5[3] Xiangxiang Chu, Bo Zhang, Hailong Ma, Ruijun Xu, JixiangLi, and Qingyuan Li. Fast, accurate and lightweight super-resolution with neural architecture search. In ICPR, 2020.2[4] Tao Dai, Jianrui Cai, Yongbing Zhang, Shu-Tao Xia, andLei Zhang. Second-order attention network for single imagesuper-resolution. In CVPR, 2019. 2[5] Chao Dong, Chen Change Loy, Kaiming He, and XiaoouTang. Image super-resolution using deep convolutional net-works. IEEE TPAMI, 38(2):295–307, 2015. 2[6] Jonathan Frankle and Michael Carbin. The lottery ticket hy-pothesis: finding sparse, trainable neural networks. In
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 十种常见电感线圈电感量计算公式详解
- 军用车辆:CAN总线的集成与优势
- CAN总线在汽车智能换档系统中的作用与实现
- CAN总线数据超载问题及解决策略
- 汽车车身系统CAN总线设计与应用
- SAP企业需求深度剖析:财务会计与供应链的关键流程与改进策略
- CAN总线在发动机电控系统中的通信设计实践
- Spring与iBATIS整合:快速开发与比较分析
- CAN总线驱动的整车管理系统硬件设计详解
- CAN总线通讯智能节点设计与实现
- DSP实现电动汽车CAN总线通讯技术
- CAN协议网关设计:自动位速率检测与互连
- Xcode免证书调试iPad程序开发指南
- 分布式数据库查询优化算法探讨
- Win7安装VC++6.0完全指南:解决兼容性与Office冲突
- MFC实现学生信息管理系统:登录与数据库操作
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功