如何让VSR又稳又快——高效视频超分中的残差稀疏连接学习

在这里插入图片描述
作者单位:清华深研院、字节、苏黎世联邦理工
论文链接:https://arxiv.org/pdf/2206.07687
笔者言: 将剪枝技术应用到VSR中以实现更加有效和高效的VSR,在时延、参数量、FLOPs、PSNR的综合评估上实现了较好的性能,剪枝后的BasicVSR相比EDVRM实现了0.46dB的增益并只需其三分之一的推理时间。

看点

在资源受限的设备上运行VSR需要更轻和更快的方法。本文提出一个结构化剪枝方案——残差稀疏连接学习(RSCL)以减少卷积核的冗余从而获得紧致的VSR模型,贡献如下:

  1. 设计了一种保留特征通道且只对重要通道进行操作的残差稀疏连接(RSC)方案以克服剪枝后残差块的跳层和残差连接较难对应的问题
  2. 针对 pixel-shuffle 设计了一个特殊的剪枝方法,将滤波器分组作为剪枝单元,以保证剪枝后通道空间转换的准确性。
  3. 引入时间微调(TF),以减少随时间传播的隐藏状态的剪枝误差。

方法

Overview

具体来说,RSCL分为三个阶段:预训练阶段、剪枝阶段和微调阶段。预训练阶段训练一个强大的VSR网络(BasicVSR)作为剪枝主干。此外本文还训练了单向BasicVSR (BasicVSR-uni)进行在线推理。因为目前VSR网络不使用BatchNorm,本文引入了一个尺度因子来调整每个通道和滤波器的稀疏性。剪枝阶段根据剪枝准则选择不重要的滤波器,并对相应的尺度因子进行 sparsity-inducing 正则化。微调阶段引入时间微调来减少时间信息传播的误差。BasicVSR和 pixel-shuffle 的剪枝操作如下图。为了保证剪枝后pixel-shuffle的通道空间转换精度,本文以4个索引连续的通道作为剪枝单元。
在这里插入图片描述

RSCL

出发点: 如下图a所示,由于跳层和残差连接应该共享相同的索引,所以很难对残差块进行修剪。为此,如b所示,许多结构化剪枝算法简单地不对残差块中的最后的卷积层进行剪枝,这限制了剪枝空间和性能。如c所示,ASSL是一种用于SISR的结构化剪枝方案,它试图对齐跳层和残差连接之间的剪枝索引,这限制了剪枝空间。综上,如d所示,RSC保留了输入和输出特征图的所有通道,但选择了重要的通道进行卷积和相加。与上述剪枝方案相比,RSC在不增加额外计算量的情况下,在残差块中释放了最后一次卷积的剪枝空间。
在这里插入图片描述
尺度因子: 结构化剪枝的目的是根据设计的重要性准则删减滤波器。以前的工作使用BN尺度参数来控制每个滤波器的吞吐量。零尺度参数对应的滤波器可以被删除。正则化尺度参数可以评估和调整每个滤波器的重要性。然而,BN不适用于SR任务。为此,RSCL在卷积之前或之后乘以尺度因子 γ γ γ,通过对尺度因子进行正则化以增强稀疏性。
剪枝准则与正则化: 选择不重要的尺度因子γ来减少去除冗余滤波器以诱导稀疏。RSCL中采用了全局剪枝滤波器方案,选择 L 1 L_1 L1范数作为剪枝准则。具体来说,对于第i层第k组卷积滤波器 W i [ k , . . . ] ∈ R C i n × K h × K w W_i[k,...]\in\mathbb R^{C_{in}×K_h×K_w} Wi[k,...]RCin×Kh×Kw,计算核权重的绝对值 s i , k = ∑ ∣ W i [ k , . . . ] ∣ s_{i,k}=\sum |W_i[k,...]| si,k=Wi[k,...]。特别的,RSC需要额外对第一个卷积的输入通道进行剪枝, L 1 L_1 L1分数为 s i , k ‘ = ∑ ∣ W i [ : , k , . . . ] ∣ s_{i,k}^‘=\sum |W_i[:,k,...]| si,k=Wi[:,k,...],其中 W i [ : k , . . . ] ∈ R C o u t × K h × K w W_i[:k,...]\in\mathbb R^{C_{out}×K_h×K_w} Wi[:k,...]RCout×Kh×Kw。此外,对于 pixel-shuffle 前的卷积以4个连续的滤波器作为剪枝单位来计算分数 s i , k = ∑ ∣ W i [ 4 k : 4 k + 1 , . . . ] ∣ s_{i,k}=\sum |W_i[4k:4k+1,...]| si,k=Wi[4k:4k+1,...]。然后,给定剪枝比 p p p和参与排序的滤波器数量 N N N,将所有 L 1 L_1 L1分数 s s s排序在一起,选择最小的 N × p N × p N×p个滤波器作为非重要滤波器,记为集合 S S S。对相应的尺度因子应用稀疏诱导正则化(SIR),记为集合 S s f S_{sf} Ssf,随后在尺度因子上使用 L 2 L_2 L2正则化 L S I R = α γ ∑ γ ∈ S s f γ 2 L_{SIR} = α_γ \sum _{γ\in S_{sf}}γ^2 LSIR=αγγSsfγ2来加强稀疏性,每一次 T 1 T_1 T1迭代,将 α γ α_γ αγ增加一个预设常数 ∆ ∆ 。当 α γ α_γ αγ达到预先定义的上限 τ τ τ时, α γ α_γ αγ将保持不变来继续 T 2 T_2 T2次迭代。
残差块剪枝方案: 第一次卷积选择重要通道(不在S范围内的指标)参与第一次卷积: F i = F i ′ ⊗ ( γ j − W i γ j ) F_i = F_i'⊗ (γ_{j−}W_iγ_j) Fi=Fi(γjWiγj)最后一次卷积得到 F i + 1 F_{i+1} Fi+1,并在相应的通道上加上 F i ′ F_i' Fi,得到 F ( i + 1 ) ′ F_(i+1)' F(i+1) F ( i + 1 ) ′ = F i ⊗ ( W i + 1 γ j + 1 ) + F i ′ F_(i+1)' = F_i ⊗ (W_{i+1}γ_{j+1}) + F_i' F(i+1)=Fi(Wi+1γj+1)+Fi其中⊗指代卷积, F i ′ F_i' Fi F i + 1 ′ F_{i+1}' Fi+1为残差块的输入输出特征, F i F_i Fi F i + 1 F_{i+1} Fi+1为中间特征。值得注意的是,本方法的残差块剪枝与ASSL剪枝具有相同的参数数量和相同的计算花费。
Pixel-Shuffle 剪枝方案: VSR网络的上采样网络中的卷积在剪枝后的特征图在经过Pixel-Shuffle后需要在空间上保持有序。为此,给定输入特征图,将四个滤波器作为一个剪枝单元来评估重要性,如剪枝准则所述,并在滤波器上施加比例因子 γ j γ_j γj来加强稀疏性: W i ′ = W i [ 4 k : 4 ( k + 1 ) , . . . ] γ j [ k ] , k ∈ [ 0 , C i n ) W_i' = W_i[4k:4(k + 1), ...]γ_j[k], k \in[0, C_{in}) Wi=Wi[4k:4(k+1),...]γj[k],k[0,Cin)
损失函数微调: 经过修剪的VSR网络在 H F H_F HF H B H_B HB中产生了较小的误差,它会随着传播而放大。为此,时间微调被定义为: L t f = ∣ ∣ H F , T − H F , T ′ ∣ ∣ + ∣ ∣ H B , 0 − H B , 0 ′ ∣ ∣ L_{tf} = ||H_{F,T} − H_{F,T}'|| + ||H_{B,0} − H_{B,0}'|| Ltf=∣∣HF,THF,T∣∣+∣∣HB,0HB,0∣∣其中 T T T为输入帧数, H F , T H_{F,T} HF,T H F , T ′ H_{F,T}' HF,T分别为前向剪枝后和原始VSR网络的最终隐藏状态。 H B , 0 H_{B,0} HB,0 H B , 0 ′ H_{B,0}' HB,0同理。重建损失采用Charbonnier损失。

实验

消融实验

RSCL中各个组件的消融实验
在这里插入图片描述
不同剪枝率下的消融实验,可以发现剪枝率越大增益越大
在这里插入图片描述

定量评估

RSCL-bi在REDS4上比EDVR-M获得0.46 dB增益,而只消耗了EDVR-M的1/3时间。(uni训练的比bi的效果还好。。。)
在这里插入图片描述
不同位置卷积的剪枝率
在这里插入图片描述

定性评估

在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值