SCConv:用于特征冗余的空间和通道重建卷积

发布时间 2023-12-15 13:07:53作者: 同淋雪

SCConv:用于特征冗余的空间和通道重建卷积

摘要

卷积神经网络(CNN)在各种计算机视觉任务中取得了显着的性能,但这是以巨大的计算资源为代价的,部分原因是卷积层提取了冗余特征。最近的工作要么压缩训练有素的大型模型,要么探索精心设计的轻量级模型。在本文中,我们尝试利用特征之间的空间和通道冗余进行 CNN 压缩,并提出一种高效的卷积模块,称为 SCConv(空间和通道重建卷积),以减少冗余计算并促进代表性特征学习。所提出的 SCConv 由两个单元组成:空间重建单元(SRU)和通道重建单元(CRU)。 SRU采用分离重建方法来抑制空间冗余,而CRU采用分割-变换-融合策略来减少通道冗余。此外,SCConv是一个即插即用的架构单元,可以直接用来替换各种卷积神经网络中的标准卷积。实验结果表明,SCConv 嵌入式模型能够通过减少冗余特征来实现更好的性能,同时显着降低复杂度和计算成本。

1.简介

近年来,卷积神经网络(CNN)由于其获得代表性特征的能力,在计算机视觉任务中获得了广泛的应用[24]。然而,这种成功在很大程度上依赖于密集的计算和存储资源,这对其在资源有限的环境中的高效部署提出了严峻的挑战。因此,为了应对这些挑战,人们探索了各种类型的模型压缩策略和网络设计来提高网络的效率[1,2,26]。前者包括网络剪枝、权重量化、低秩分解和知识蒸馏。具体来说,网络修剪[17,22,30]是一种直接的方法,可以从现有的学习大模型中修剪不重要的神经元连接,使其更薄。权重量化[9]主要关注将网络权重从浮点类型转换为整数以节省计算资源。低秩分解[5]应用矩阵分解技术来估计信息参数。知识蒸馏 [11, 34] 在训练有素的大型教师网络的指导下生成小型学生网络。这些压缩技术的共同点是它们被视为后处理步骤,因此它们的性能通常受到给定初始模型的上限。同时,这些方法在实现高压缩率的同时,精度却急剧下降。

网络设计是另一种替代方法,旨在减少密集模型参数的固有冗余,进一步开发轻量级网络模型。例如,ResNet[10]和DenseNet[14]利用高效的快捷连接来改进网络拓扑,将前面所有的特征映射连接起来,减少冗余参数。ResNeXt[31]用稀疏连接的群卷积取代传统卷积,以减少信道间的连通性。Xception[4]、MobileNet[12]和MobileNeXt[35]等网络将标准卷积分解为深度卷积和点向卷积,进一步降低通道间的连接密度。MicroNet [19]通过将稀疏连通性集成到卷积中,采用微因式卷积来处理极低的FLOPs。此外,effentnet[27]学习自动搜索最优网络架构,以降低密集模型参数中的冗余。

此外,在CNN的架构设计中,很好地采用了瓶颈结构,其中3 × 3卷积层占了大部分的模型参数和FLOPs。因此各种有效的卷积运算,例如群智能卷积(GWC),深度智能卷积(DWC)和点智能卷积(PWC),这是标准卷积的一种变体,以取代现有昂贵的卷积操作。GWC最早是在AlexNet[16]中提出的,它可以看作是一种每个输出通道只与某一组输入通道连接的稀疏卷积连接方法。DWC[13]提出通过保持每个信道分别与滤波器卷积,并且信道之间没有相互作用来提高效率。PWC用于保持信息在通道间流动,并通过减少过滤器的数量来实现降维。这些操作在稀疏连通性方面相似,在参数数和flop数上都有优势,说明可以合理地降低信道维数上的冗余。因此,提出了各种卷积操作来探索冗余减少。例如,MobileNet[12]使用DWC和PWC引入倒残差块来过滤特征,在减少参数数量的同时加速训练。ShuffleNet[33]采用逐点分组卷积和信道洗牌操作来改善不同信道组之间的信息流。HetConv[25]设计了异构卷积滤波器,其中一个3 × 3卷积核和一个1 × 1卷积核包含在一个滤波器中以提取特征。TiedBlockConv[28]在相等的通道块上共享相同的卷积滤波器,以在单个滤波器中产生多个响应。SPConv[32]将输入通道分成两组进行不同的处理,但在提取内部信息时需要相对较大的计算量。GhostNet[8]考虑了特征映射之间的冗余,并使用像DWC这样的廉价操作来学习冗余特征。SilmConv[23]采用减少特征通道和翻转权值的操作来减少特征冗余。此外,与信道冗余正交,OctConv[3]提出了八度卷积,将卷积滤波器分离为高频和低频分量,低频分量以低分辨率处理以减轻空间冗余,在保持参数数量不变的情况下减少了计算量。

这些研究都证明了深度神经网络确实存在相当大的冗余,不仅在密集的模型参数上,而且在特征映射的空间和通道维度上。然而,以上方法都侧重于减少通道维度或空间维度的冗余,使得网络仍然存在特征冗余的问题。

在本文中,不同于以往的工作,我们设计了一个两步的过程来利用中间特征映射的冗余,目标是在不损失性能的情况下减少参数和计算的数量。为此,我们提出了一种新颖的CNN压缩方法来共同减少卷积层中的空间和信道冗余,称为SCConv (spatial and channel reconstruction Convolution),它由两个单元组成,空间重构单元(SRU)和信道重构单元(CRU)。所提出的SCConv模块可以嵌入到各种架构中,无需额外修改,可以有效地限制特征冗余。该模块不仅减少了模型参数的数量和FLOPs,而且提高了特征表示的能力。我们的贡献总结如下:

  • 我们提出了一种空间重构单元SRU,它根据权重分离冗余特征并进行重构,从而抑制空间维度上的冗余,增强特征的表征能力。

  • 我们提出了一种信道重构单元,称为CRU,它利用分裂变换和融合策略来减少信道维度的冗余以及计算成本和存储。

  • 我们设计了一种名为SCConv的即插即用操作,将SRU和CRU以顺序的方式组合在一起,以取代标准卷积,用于在各种骨干cnn上操作。结果表明,SCConv可以大大节省计算负荷,同时提高模型在挑战性任务上的性能。

image-20231115164748086

图1所示。采用空间重构单元(SRU)和信道重构单元(CRU)相结合的SCConv体系结构。该图显示了我们的SCConv模块在ResBlock中的确切位置。

2.方法论

在本节中,我们将介绍如图1所示的SCConv,它由两个单元组成,空间重建单元(SRU)和通道重建单元(CRU),以顺序的方式放置。具体而言,对于瓶颈残差块中的中间输入特征X,我们首先通过SRU运算获得空间细化特征Xw,然后利用CRU运算获得信道细化特征Y。我们在SCConv模块中利用了特征之间的空间冗余和通道冗余,可以无缝集成到任何CNN架构中,以减少中间特征映射之间的冗余并增强CNN的特征表示。

2.1. SRU用于空间冗余

为了利用特征的空间冗余,我们引入了空间重构单元(SRU),如图2所示,它利用了分离和重构操作。

image-20231115164539109

图2。空间重构单元的架构。

分离操作的目的是将信息丰富的特征图与空间内容对应的信息较少的特征图分离开来。我们利用组归一化(GN)[29]层中的比例因子来评估不同特征图的信息内容。具体来说,给定一个中间特征映射X∈R (N×C×H×W),其中N为批轴,C为通道轴,H和W为空间高度和宽度轴。我们首先通过减去平均值µ并除以标准差σ来标准化输入特征X,如下所示:

image-20231212160855443

其中µ和σ是X的均值和标准差,ε是为了除法稳定性而加入的一个小的正常数,γ和β是可训练的仿射变换。

请注意,我们利用GN层中的可训练参数γ∈Rc作为测量每个批次和通道的空间像素方差的方法。更丰富的空间信息反映了空间像素的更多变化,从而导致更大的γ。归一化相关权Wγ∈Rc由式2得到,表示不同特征映射的重要性

image-20231212161431823

然后将经Wγ重新加权的特征映射的权值通过sigmoid函数映射到(0,1)范围,并通过阈值进行门控。我们将阈值以上的权重设置为1,得到信息权重W1,将其设置为0,得到非信息权重W2(实验中阈值设置为0.5)。获取W的整个过程可表示为式3:

image-20231213144639916

最后,我们将输入特征 X 分别乘以 W1 和 W2,产生两个加权特征:信息丰富的 Xw 1 和信息较少的 Xw 2 。因此,我们成功地将输入特征分为两部分:Xw 1 具有信息性和表达性的空间内容,而 Xw 2 具有很少或没有信息,这被认为是冗余的。

为了减少空间冗余,我们进一步提出了一种重构操作,将信息丰富的特征与信息较少的特征相加,以生成信息更丰富的特征并节省空间空间。我们没有直接将这两部分相加,而是采用交叉重建操作来充分组合加权的两个不同信息特征并加强它们之间的信息流。然后,我们连接交叉重构特征 Xw1 和 Xw2 以获得空间细化特征图 Xw。重构的全过程能够被表示为:

image-20231213145115883

其中 ⊗ 是逐元素乘法,⊕ 是逐元素求和,∪ 是串联。将SRU应用于中间输入特征X后,我们不仅将信息丰富的特征与信息较少的特征分开,而且还重建它们以增强代表性特征并抑制空间维度上的冗余特征。

尽管如此,空间细化的特征图 Xw 在通道维度上仍然保持冗余。

2.2.用于通道冗余的 CRU

为了利用特征的通道冗余,我们引入了通道重建单元(CRU),如图 3 所示,它采用了分割变换和融合策略。通常,我们使用重复的标准 k × k 卷积来提取特征,导致沿通道维度产生一些相对冗余的特征图。设 Mk ∈ R c× k× k 表示 k × k 卷积核,X, Y ∈ R c× h× w 分别表示输入和卷积输出特征。标准卷积 1可以定义为 Y = MkX。具体来说,我们用 CRU 代替标准卷积,CRU 通过三个算子实现——Split、Transform 和 Fuse。

image-20231214153038424

Split(分割):对于给定的空间细化特征 Xw ∈ R c×h×w,我们首先将 Xw 的通道分割为两部分,分别为 αC 通道和 (1 − α)C 通道,如图 3 的分割部分所示,其中 0 ≤ α ≤ 1 是分流比。随后,我们进一步利用 1 × 1 卷积变为(为了简单起见,我们省略了偏差项)压缩特征图的通道以提高计算效率。这里我们引入压缩比 r 来控制特征通道,以平衡 CRU 的计算成本(r = 2 是实验中的典型设置)。经过分割和挤压操作后,我们将空间细化特征 Xw 分为上部 Xup 和下部 Xlow。

Transform(变换) :Xup 被送入上层转换阶段,充当“丰富特征提取器”。我们采用高效的卷积运算(即GWC和PWC)来代替昂贵的标准k×k卷积来提取高级代表性信息并降低计算成本。由于稀疏的卷积连接,GWC减少了参数量和计算量,但切断了通道组之间的信息流。而PWC则弥补了信息损失,帮助信息跨特征渠道流动。因此,我们在同一个 Xup 上执行 k×k GWC(我们在实验中设置组大小 g = 2)和 1 × 1 PWC 操作。然后,我们对输出求和以形成合并的代表性特征图 Y1,如图 3 的变换部分所示。上变换阶段可以表示为:

image-20231214153426853

image-20231214153545379

其中:

  • MG和MP1是GWC和PWC的可学习权重矩阵
  • Xup ∈ R αc/gr × h× w 和 Y1 ∈ R c× h× w 分别是上层输入和输出特征图

简而言之,上层变换阶段在相同的特征图 Xup 上利用 GWC 和 PWC 的组合,以较少的计算成本提取丰富的代表性特征 Y1。

Xlow 被输入到较低的转换阶段,我们应用廉价的 1 × 1 PWC 操作来生成具有浅层隐藏细节的特征图,作为丰富特征提取器的补充。此外,我们重用 Xlow 特征来获得更多特征图,而无需额外成本。最后,我们连接生成和重用的特征以形成下级 Y2 的输出,如下所示:

image-20231214154036742

其中 image-20231214161604096 是 PWC 的可学习权重矩阵,∪ 是串联操作,image-20231214161654346 分别是下部输入和输出特征图。总之,下层变换阶段重用了前面的特征 Xlow 并利用廉价的 1 × 1 PWC 来获得具有补充详细信息的特征 Y2

Fuse(融合):执行变换后,我们没有直接连接或添加两种类型的特征,而是利用简化的 SKNet 方法[18]自适应地合并来自上变换阶段和下变换阶段的输出特征 Y1 和 Y2,如 Fuse 部分所示图 3.我们首先应用全局平均池化(Pooling)来收集具有通道统计量的全局空间信息 Sm ∈ R c×1×1 ,计算公式为:

image-20231214161901701

接下来,我们将上下全局通道描述符 S1、S2 堆叠在一起,并使用通道软注意力操作来生成特征重要性向量 β1、β2 ∈ R c ,如下所示:

image-20231214162104967

最后,在特征重要性向量β1、β2的指导下,可以通过按通道方式合并上层特征Y1和下层特征Y2来获得通道细化特征Y,如下所示:

image-20231215120134287

简而言之,我们采用 CRU,使用分割变换和融合策略,进一步减少空间细化特征图 Xw 沿通道维度的冗余。此外,CRU通过轻量级卷积运算提取丰富的代表性特征,同时通过廉价的运算和特征重用方案处理冗余特征。总体而言,CRU 可以单独使用,也可以与 SRU 操作结合使用。通过按顺序排列 SRU 和 CRU,建立了所提出的 SCConv,该 SCConv 非常高效并且能够替代标准卷积运算。

2.3.复杂性分析

我们的 SCConv 被设计为即插即用模块,可以轻松嵌入到各种现有的精心设计的神经架构中,以降低计算和存储成本。在SCConv模块中,所有参数都集中在变换阶段。因此我们分析了理论内存使用量的减少。标准卷积的参数Y = MkX可以计算为:

image-20231215122423767

其中 k 是卷积核大小,C1 和 C2 是输入和输出特征通道的数量。

建议的 SCConv 模块的参数包括:

image-20231215123257875

其中α表示分流比,r表示压缩比,g是GWC操作的组大小,C1和C2分别是输入和输出特征通道。在这里,我们进行比较以显示所提出的 SCConv 的性能。实验中,一般参数集为 α = 1/2 ,r = 2,g = 2,k = 3,C1 = C2 = C ,参数量可减少 5 倍,其中 Ps/Psc ≈ 5,而模型取得了比标准卷积更好的性能。