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

news2024/11/16 21:28:01

文章目录

  • 摘要
  • 1、简介
  • 2、方法
    • 2.1、SRU用于空间冗余
    • 2.2. CRU用于通道冗余
    • 2.3、复杂性分析
  • 3、实验
    • 3.1、实验设置
    • 3.3、基于CIFAR的图像分类
    • 3.4、基于ImageNet的图像分类
    • 3.5、物体检测
  • 4、结论

摘要

代码链接:https://github.com/cheng-haha/ScConv
论文链接:https://openaccess.thecvf.com/content/CVPR2023/papers/Li_SCConv_Spatial_and_Channel_Reconstruction_Convolution_for_Feature_Redundancy_CVPR_2023_paper.pdf

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

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,通过将稀疏连接融入卷积中。此外,EfficientNet[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(空间和通道重建卷积),它由两个单元组成:空间重建单元(SRU)和通道重建单元(CRU)。提出的SCConv模块可以嵌入到各种体系结构中而不进行额外的修改,旨在有效地限制特征冗余。该模块不仅减少了模型参数和FLOPs的数量,而且增强了特征表示的能力。我们将我们的贡献总结如下:

  • 提出了一种空间重构单元SRU,该单元根据权重分离冗余特征并进行重构,以抑制空间维度上的冗余,增强特征的表征能力。
  • 我们提出了一种信道重构单元,称为CRU,它利用分裂变换和融合策略来减少信道维度的冗余以及计算成本和存储。
  • 我们设计了一种名为SCConv的即插即用操作,将SRU和CRU以顺序的方式组合在一起,以取代标准卷积,用于在各种骨干cnn上操作。结果表明,SCConv可以大大节省计算负荷,同时提高模型在挑战性任务上的性能。

2、方法

在本节中,我们将介绍如图1所示的SCConv,它由空间重构单元(SRU)和通道重构单元(CRU)两个按顺序放置的单元组成。具体而言,对于瓶颈残差块中的中间输入特征X,首先通过SRU操作得到空间细化特征Xw,然后利用CRU操作得到通道细化特征Y。在SCConv模块中利用特征之间的空间和通道冗余,可以无缝集成到任何CNN架构中,以减少中间特征图之间的冗余,并提高CNN的特征表示。
在这里插入图片描述

2.1、SRU用于空间冗余

为了利用特征的空间冗余性,我们引入了空间重构单元(SRU),如图2所示,采用分离-重构操作。分离操作旨在将信息丰富的特征图与与空间内容对应的信息较少的特征图分离。利用组归一化(GN)[29]层中的缩放因子来评估不同特征图的信息内容。具体来说,给定一个中间特征图X∈R N×C×H×W,其中N为批处理轴,C为通道轴,H和W为空间高度和宽度轴。我们首先通过减去均值µ除以标准差σ来标准化输入特征X,如下所示:

X out  = G N ( X ) = γ X − μ σ 2 + ε + β (1) X_{\text {out }}=G N(X)=\gamma \frac{X-\mu}{\sqrt{\sigma^{2}+\varepsilon}}+\beta \tag{1} Xout =GN(X)=γσ2+ε Xμ+β(1)

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

注意到我们在 G N G N GN层中利用可训练参数 γ ∈ R C \gamma \in R^{C} γRC来衡量每个批次和通道的空间像素的方差。更丰富的空间信息反映了更多的空间像素的变化,从而贡献更大的 γ \gamma γ。归一化的相关权重 W γ ∈ R C W_{\gamma} \in R^{C} WγRC通过等式2获得,这表明了不同特征图的重要性。
W γ = { w i } = γ i ∑ j = 1 C γ j , i , j = 1 , 2 , ⋯   , C (2) W_{\gamma}=\left\{w_{i}\right\}=\frac{\gamma_{i}}{\sum_{j=1}^{C} \gamma_{j}}, i, j=1,2, \cdots, C \tag{2} Wγ={wi}=j=1Cγjγi,i,j=1,2,,C(2)
然后通过sigmoid函数将由 W γ W_{\gamma} Wγ重新加权的特征图的权重值映射到范围(0,1)并通过阈值进行门控。我们将高于阈值的权重设置为1以获得信息丰富的权重 W 1 W_{1} W1,而将它们设置为0以获得非信息丰富的权重 W 2 W_{2} W2(在实验中阈值设置为0.5)。获取 W W W的整个过程可以由等式3表示:
W = Gate ⁡ ( Sigmoid ⁡ ( W γ ( G N ( X ) ) ) ) (3) W=\operatorname{Gate}\left(\operatorname{Sigmoid}\left(W_{\gamma}(G N(X))\right)\right) \tag{3} W=Gate(Sigmoid(Wγ(GN(X))))(3)

最后,我们将输入特征 X X X分别乘以 W 1 W_{1} W1 W 2 W_{2} W2,得到两个加权特征:信息丰富的特征 X 1 w X_{1}^{w} X1w和信息较少的特征 X 2 w X_{2}^{w} X2w。这样我们就成功地将输入特征分为两个部分: X 1 w X_{1}^{w} X1w具有信息丰富和表现力强的空间内容,而 X 2 w X_{2}^{w} X2w几乎没有信息,被视为冗余。

在这里插入图片描述

为了进一步减少空间冗余,我们提出了一种Reconstruct操作,将富含信息的特征与信息较少的特征相加,以生成更丰富的信息特征并节省空间。我们没有直接将这两个部分相加,而是采用交叉重建操作来充分结合加权的两个不同的信息丰富的特征,并加强它们之间的信息流。之后我们将交叉重建后的特征 X w 1 X^{w1} Xw1 X w 2 X^{w2} Xw2连接起来以获得空间细化特征图 X w X^{w} Xw。Reconstruct操作的整体过程可以表示为:
{ X 1 w = W 1 ⊗ X , X 2 w = W 2 ⊗ X , X 11 w ⊕ X 22 w = X w 1 , X 21 w ⊕ X 12 w = X w 2 , X w 1 ∪ X w 2 = X w . (4) \left\{\begin{array}{c} X_{1}^{w}=W_{1} \otimes X, \\ X_{2}^{w}=W_{2} \otimes X, \\ X_{11}^{w} \oplus X_{22}^{w}=X^{w 1}, \\ X_{21}^{w} \oplus X_{12}^{w}=X^{w 2}, \\ X^{w 1} \cup X^{w 2}=X^{w} . \end{array}\right. \tag{4} X1w=W1X,X2w=W2X,X11wX22w=Xw1,X21wX12w=Xw2,Xw1Xw2=Xw.(4)

其中 ⊗ \otimes 表示逐元素相乘, ⊕ \oplus 表示逐元素相加, ∪ \cup 表示拼接。将SRU应用于中间输入特征 X X X后,我们不仅将信息丰富的特征与信息较少的特征分离,而且对它们进行了重构以增强代表性特征并抑制空间维度中的冗余特征。然而,空间细化特征图 X w X^{w} Xw在通道维度上仍然存在冗余。

2.2. CRU用于通道冗余

为了利用特征的通道冗余,我们引入了通道重建单元(CRU),如图3所示,它利用了“分割-转换-融合”的策略。通常,我们使用重复的标准k \times k卷积来提取特征,导致一些相对冗余的特征图沿着通道维度。让我们 M k ∈ R c × k × k M^{k} \in \mathbb{R}^{c \times k \times k} MkRc×k×k表示一个k \times k卷积核, X , Y ∈ R c × h × w X, Y \in \mathbb{R}^{c \times h \times w} X,YRc×h×w表示输入和卷积后的输出特征。一个标准卷积可以定义为 Y = M k X Y=M^{k} X Y=MkX。具体来说,我们将标准卷积替换为CRU,它通过三个运算符-Split、Transform和Fuse来实现。

在这里插入图片描述

Split:对于给定的空间细化特征 X w ∈ R c × h × w X^{w} \in \mathbb{R}^{c \times h \times w} XwRc×h×w,我们首先将 X w X^{w} Xw的通道分成两部分,其中一部分具有 α C \alpha C αC个通道,另一部分具有 ( 1 − α ) C (1-\alpha)C (1α)C个通道,如图3中的分割部分所示,其中 0 ≤ α ≤ 1 0 \leq \alpha \leq 1 0α1是一个分割比例。随后,我们进一步利用1 \times 1卷积来压缩特征图的通道以提高计算效率。这里我们引入一个压缩比例r来控制CRU的特征通道以平衡计算成本(实验中典型的r设置为2)。在分割和压缩操作之后,我们将空间细化特征 X w X^{w} Xw分为上部分 X u p X_{up} Xup和下部分 X l o w X_{low} Xlow

Transform: X u p X_{up} Xup被输入到上转换阶段,作为“丰富的特征提取器”。我们采用高效的卷积操作(即GWC和PWC)来代替昂贵的标准k \times k卷积来提取高级代表性信息,同时降低计算成本。由于稀疏卷积连接,GWC减少了参数和计算量,但切断了通道组之间的信息流。而PWC弥补了信息的损失并帮助信息在特征通道之间流动。因此,我们在相同的 X u p X_{up} Xup上执行 k × k k \times k k×k GWC(在实验中我们将组大小 g = 2 g=2 g=2)和 1 × 1 1 \times 1 1×1 PWC操作。之后,我们将输出相加形成合并代表特征图 Y 1 Y_{1} Y1,如图3中的Transform部分所示。上转换阶段可以表示为:
Y 1 = M G X u p + M P 1 X u p (5) Y_{1}=M^{G} X_{u p}+M^{P_{1}} X_{u p} \tag{5} Y1=MGXup+MP1Xup(5)
其中 M G ∈ R α c g r × k × k × c M^{G} \in \mathbb{R}^{\frac{\alpha c}{gr} \times k \times k \times c} MGRgrαc×k×k×c M P 1 ∈ R α c r × 1 × 1 × c M^{P_{1}} \in \mathbb{R}^{\frac{\alpha c}{r} \times 1 \times 1 \times c} MP1Rrαc×1×1×c是GWC和PWC的可学习权重矩阵, X u p ∈ R α c r × h × w X_{up} \in \mathbb{R}^{\frac{\alpha c}{r} \times h \times w} XupRrαc×h×w Y 1 ∈ R c × h × w Y_{1} \in \mathbb{R}^{c \times h \times w} Y1Rc×h×w分别是上输入和输出特征图。简而言之,上转换阶段利用GWC和PWC在相同的特征图 X u p X_{up} Xup上的组合来以较少的计算成本提取丰富的代表性特征 Y 1 Y_{1} Y1

X l o w X_{low} Xlow被输入到底部转换阶段,其中我们应用廉价的 1 × 1 1 \times 1 1×1 PWC操作生成具有浅层隐藏细节的特征图,作为丰富特征提取器的补充。此外,我们重用特征 X l o w X_{low} Xlow以获取更多的特征图而不增加额外成本。最后,我们将生成的和重用的特征连接起来形成底部阶段的输出 Y 2 Y_{2} Y2,如下所示:
Y 2 = M P 2 X low  ∪ X low  (6) Y_{2}=M^{P_{2}} X_{\text {low }} \cup X_{\text {low }} \tag{6} Y2=MP2Xlow Xlow (6)

其中 M P 2 ∈ R ( 1 − α ) c r × 1 × 1 × ( 1 − 1 − α r ) c M^{P_{2}} \in \mathbb{R}^{\frac{(1-\alpha) c}{r} \times 1 \times 1 \times\left(1-\frac{1-\alpha}{r}\right) c} MP2Rr(1α)c×1×1×(1r1α)c是PWC的可学习权重矩阵, ∪ \cup 是连接操作, X l o w ∈ R ( 1 − α ) c r × h × w X_{low} \in \mathbb{R}^{\frac{(1-\alpha) c}{r} \times h \times w} XlowRr(1α)c×h×w Y 2 ∈ R c × h × w Y_{2} \in \mathbb{R}^{c \times h \times w} Y2Rc×h×w分别是底部输入和输出特征图。总之,底部转换阶段重用前面的特征 X l o w X_{low} Xlow并利用廉价的 1 × 1 1 \times 1 1×1 PWC来获取具有补充详细信息的特征 Y 2 Y_{2} Y2

融合:在进行转换之后,我们不是直接连接或添加两种类型的特征,而是利用简化的SKNet方法[18]自适应地合并上转换阶段和下转换阶段的输出特征 Y 1 Y_{1} Y1 Y 2 Y_{2} Y2,如图3的Fuse部分所示。我们首先应用全局平均池化(Pooling)来收集全局空间信息,通道统计信息 S m ∈ R c × 1 × 1 S_{m} \in \mathbb{R}^{c \times 1 \times 1} SmRc×1×1计算如下:
S m = Pooling ⁡ ( Y m ) = 1 H × W ∑ i = 1 H ∑ j = 1 W Y c ( i , j ) , m = 1 , 2 (7) S_{m}=\operatorname{Pooling}\left(Y_{m}\right)=\frac{1}{H \times W} \sum_{i=1}^{H} \sum_{j=1}^{W} Y_{c}(i, j), m=1,2 \tag{7} Sm=Pooling(Ym)=H×W1i=1Hj=1WYc(i,j),m=1,2(7)
接下来,我们将上部分和下部分的全局通道描述子 S 1 S_{1} S1 S 2 S_{2} S2堆叠在一起,并使用通道注意力操作来生成特征重要性向量 β 1 \beta_{1} β1 β 2 ∈ R c \beta_{2} \in \mathbb{R}^{c} β2Rc,如下所示:
β 1 = e s 1 e s 1 + e s 2 , β 2 = e s 2 e s 1 + e s 2 , β 1 + β 2 = 1 (8) \beta_{1}=\frac{e^{s_{1}}}{e^{s_{1}}+e^{s_{2}}}, \beta_{2}=\frac{e^{s_{2}}}{e^{s_{1}}+e^{s_{2}}}, \beta_{1}+\beta_{2}=1 \tag{8} β1=es1+es2es1,β2=es1+es2es2,β1+β2=1(8)
最后,在特征重要性向量 β 1 \beta_{1} β1 β 2 \beta_{2} β2的指导下,通过以通道的方式合并上特征 Y 1 Y_{1} Y1和下特征 Y 2 Y_{2} Y2来获得通道精细化特征 Y Y Y,如下所示:

Y = β 1 Y 1 + β 2 Y 2 (9) Y=\beta_{1} Y_{1}+\beta_{2} Y_{2} \tag{9} Y=β1Y1+β2Y2(9)

简而言之,我们采用CRU,使用Split-Transform-and-Fuse策略,以进一步减少空间细化特征图 X w X^{w} Xw在通道维度上的冗余。此外,CRU通过轻量级卷积操作提取丰富的代表性特征,同时使用廉价操作和特征重用方案进行冗余特征的处理。总体而言,CRU可以单独使用或与SRU操作结合使用。通过以顺序方式排列SRU和CRU,建立了提出的SCConv,它具有高效率且能够替代标准卷积操作。

2.3、复杂性分析

我们的SCConv被设计为即插即用模块,可轻松嵌入各种现有设计良好的神经网络架构中,以减少计算和存储成本。在SCConv模块中,所有参数都集中在转换阶段。因此我们分析理论内存使用量的减少。标准卷积 Y = M k X Y=M^{k}X Y=MkX的参数可以计算如下:
P s = k × k × C 1 × C 2 = k 2 C 1 C 2 (10) P_{s}=k \times k \times C_{1} \times C_{2}=k^{2} C_{1} C_{2} \tag{10} Ps=k×k×C1×C2=k2C1C2(10)
其中 k k k是卷积的核大小, C 1 C_{1} C1 C 2 C_{2} C2分别是输入和输出特征通道的数量。

所提出的SCConv模块的参数包括:
P s c = × 1 × α C 1 × α C 1 r + k × k × α C 1 g r × C 2 g × g + 1 × 1 × α C 1 r × C 2 + ( 1 − α ) C 1 × ( 1 − α ) C 1 r + 1 × 1 × ( 1 − α ) C 1 r × ( C 2 − 1 − α r C 1 ) (11) \begin{aligned} P_{s c}= & \times 1 \times \alpha C_{1} \times \frac{\alpha C_{1}}{r}+k \times k \times \frac{\alpha C_{1}}{g r} \times \frac{C_{2}}{g} \times g \\ & +1 \times 1 \times \frac{\alpha C_{1}}{r} \times C_{2}+(1-\alpha) C_{1} \times \frac{(1-\alpha) C_{1}}{r} \\ & +1 \times 1 \times \frac{(1-\alpha) C_{1}}{r} \times\left(C_{2}-\frac{1-\alpha}{r} C_{1}\right) \end{aligned} \tag{11} Psc=×1×αC1×rαC1+k×k×grαC1×gC2×g+1×1×rαC1×C2+(1α)C1×r(1α)C1+1×1×r(1α)C1×(C2r1αC1)(11)

3、实验

为了评估所提出的SCConv的有效性,在本节中,对图像分类和目标检测进行了一系列实验,SCConv模块只替换了广泛使用的3 × 3核。图像分类基准包括CIFAR-10 [15], CIFAR100[15]和ImageNet-1K[16]。目标检测基准包括PASCAL VOC[6]和MS COCO[21]。Top-1准确率作为图像分类的评价指标,均值平均精度(mean average precision, mAP)用于衡量目标检测的准确性。为了公平的比较,每个实验中的所有模型,包括重新实现的基线和配备scconv的模型,都是在2个NVIDIA Tesla V100 gpu上从头开始训练的,使用默认的数据增强和训练策略,没有使用其他技巧。在每个实验中,我们使用相同的配置进行多次训练,以防止波动的影响,并报告结果的中位数。

3.1、实验设置

数据集。CIFAR数据集包括CIFAR-10和CIFAR-100,由50k训练图像和10k验证图像组成,分别分为10类和100类。ImageNet-1K数据集是一个大规模的图像分类数据集,包含来自1k类的128万张训练图像和50万张验证图像。PASCAL VOC数据集有20个类,包含超过22k张用于训练的图像和5k张用于验证的图像。MS COCO数据集分为80个类别,有超过118k张图像用于训练,5k张图像用于验证。

训练和推理。1)对于CIFAR-10和CIFAR100,我们在[10]中遵循类似的训练方案。使用SGD优化器对网络进行200次训练,权重衰减为5 × e−4,动量为0.9。学习率初始化为0.05,并在100和150个epoch时衰减0.1。它在一个GPU上以128的小批量大小进行训练。此外,根据不同的网络架构,我们对ResNet, WideResNet, ResNeXt设置(h, w)为(8,8),对DenseNet设置为(4,4)。2)对于ImageNet-1K数据集,遵循标准做法,通过随机裁剪到224 × 224像素来进行数据增强。应用SGD,动量为0.9,权重衰减为1 × e−4。初始学习率设置为0.1,并除以每30个epoch,共100个epoch。3)对于PASCAL VOC数据集,我们使用SGD优化器并将批处理大小设置为32。初始学习率设置为0.1,预热500次。我们总共训练了20k次迭代,并在10k次和18k次时将学习率降低了10倍。4)对于MS COCO数据集,我们使用SGD优化器,并将初始学习率设置为0.1,批量大小设置为16。总迭代次数设置为180k,学习率在120k和160k迭代时除以10。

SRU和CRU。我们的SCConv模块包括一个空间重构单元(SRU)和一个信道重构单元(CRU)。首先,我们只在ResNet50上应用SRU或CRU来检查单个单元的效率。如表1所示,仅嵌入SRU (ResNet50+S)可以在不增加FLOPs的情况下获得近1%的改进,而仅嵌入CRU (ResNet50+C)可以节省38%的参数和FLOPs, Top-1精度提高0.8%。结果表明,单单元嵌入模型显著提高了识别精度。此外,我们比较了SRU和CRU的三种不同排列方式:顺序空间通道(S+C),顺序通道空间(C+S)和并行使用两个单元(C&S)。我们发现空间一阶(S+C)比其他组合方法获得了最好的精度。因此,我们采用顺序空间优先组合(S+C)策略来制定我们的SCConv,进一步提高模型性能。
在这里插入图片描述

在这里插入图片描述

分割比α的分析。为了探究CRU模块中不同分裂比α的影响,我们将分裂比从1/8逐渐变化到7/8,并比较了CIFAR-100上的精度和FLOPs。如图4所示,scconvo嵌入ResNet50的准确率随着分割比α的增加而上升。α值越高,表示模型在CRU变换阶段可以获得更丰富的特征信息,从而提高模型的整体性能。当α = 1/2时,整个网络达到最佳的flops - accuracy权衡。因此,在接下来的实验中,我们采用SCConv的最佳分割比α = 1/2,以更好地权衡性能和效率。

在这里插入图片描述

可视化。为了探索所提出的SRU方法的特征表示,我们在图5中可视化了原始ResNet50和嵌入SRU的ResNet50的第一阶段的特征映射。可以看出,与原始ResNet50相比,嵌入sru的ResNet50的特征模式更加丰富。在减少冗余特征的同时,强化了代表性特征,使之多样化。可视化显示了SRU能够生成具有代表性和表现力的特征

3.3、基于CIFAR的图像分类

在研究了所提出的scconvv模块的高效特征学习结构之后,我们继续在各种基线模型上评估scconvv嵌入式架构,并进一步在CIFAR-10和CIFAR-100数据集上与SOTA方法在分类精度、参数数量和FLOPs方面进行比较。相关的SOTA方法包括OctConv[3]、GhostNet[8]、SPConv[32]、SlimConv[23]、TiedConv[28]。所有的实验都是用相应的卷积方法替换原有的卷积层来完成的。

在这里插入图片描述

如表2所示,在所有情况下,我们的SCConvembedded模型在准确性方面优于所有先前的网络。对于ResNet-56模型,scconvr - r56只需要对应ResNet56的62.7%的参数和FLOPs,而在两个数据集上的精度都提高了1%以上。对于ResNet-50模型,scconvr - r50达到了更好的准确度(接近1%和1.3%),但大约37%的参数和34%的FLOPs比对应的CIFAR-10和CIFAR-100上的ResNet50降低。此外,scconvr - r50的计算成本与slimconvr - r50相同,但精度提升幅度更高(超过1%)。为了显示所提出方法的通用性,我们将SCConv和其他SOTA方法应用于ResNeXt-29, WideResNet-28和DenseNet-121。可以看出,与其他具有可比模型计算的作品相比,嵌入sccv的模型仍然具有优越的性能。例如,scconvr - rx29在计算与GhostNet-RX29相当的情况下,精度提高了2.3%以上。scconvr - wrn28比slimconvr - wrn28具有更好的精度(近1.3%),同时节省了11.7%和15.5%的参数和FLOPs。

3.4、基于ImageNet的图像分类

我们在ImageNet1K数据集上对ResNet50进行了实验,将我们的方法与最近的SOTA方法(包括OctConv [3], SPConv [32], GhostNet [8], SlimConv [23], PfLayer [7], TiedConv[28]等)的性能进行了比较。注意,我们只是用相应的卷积方法替换瓶颈3 × 3卷积。如表3所示,我们的sccon - r50 α=1/2与ResNet50模型相比,计算量减少了34.4%,准确率提高了0.26%。当我们进一步将分割比α增加到3/4时,我们的方法在精度增长方面获得了优于所有其他最先进方法的性能。

在这里插入图片描述

例如,SCConv-R50 α=3/4实现了超过0.6%的精度提高,而计算与PfLayer-R50 max相当。此外,SCConv-R50 α=1/2比SlimConv-R50 k=4/3具有更好的性能。为了进一步证明SCConv的有效性,我们将其嵌入到深度模型ResNet101中。我们的SCConv-R101在计算成本接近62%的情况下,比基线模型的精度提高了0.68%

3.5、物体检测

为了进一步评估SCConv的泛化能力,我们在两个数据集上进行了目标检测任务的实验。采用一级retanet[20]作为检测框架。我们采用ResNet-50、ResNet-101骨干网,scconvn嵌入模型作为骨干网特征提取器的替代。

在这里插入图片描述

对于PASCAL VOC数据集,如表4所示,AP@[.5]使用SCConv-R50和 SCConvR101的 SCConvR101 分别为78.68%和80.36%,分别比原ResNet50和ResNet101分别提高了0.8%和1.1%,参数和FLOPs分别降低了34.1%和37%。对于MS COCO数据集,如表5所示,AP@[。[5] SCConv-R50的RetinaNet 为55.1%,优于原始ResNet-50 0.9%,超过22G FLOPs下降。

在这里插入图片描述

此外,我们的方法在两个数据集上始终超过当前最先进的方法。例如,mAP@[.5,.95]在PASCAL VOC和MS COCO数据集上,SCConv-R50比SlimConv-R50分别高出近0.8%和0.6%。总之,这些结果证明SCConv模块不仅带来了性能的提高,而且帮助网络用更少的参数学习到更好的代表性特征,使得在资源有限的设备上部署目标检测成为可能。

4、结论

本文提出了一种新的空间和通道重建模块(SCConv),一种有效的结构单元,通过减少标准卷积中广泛存在的空间和通道冗余来降低计算成本和模型存储,同时提高CNN模型的性能。通过两个独特的模块SRU和CRU来减少特征图中的冗余,在减少大量计算负荷的同时实现了可观的性能提升。此外,SCConv是即插即用模块,具有通用性,无需任何模型结构调整即可替换标准卷积。此外,对各种SOTA方法在图像分类和目标检测上的广泛实验表明,嵌入SCConv的模型在性能和模型效率之间取得了更好的权衡。最后,希望提出的方法能对建筑设计的研究有所启发。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/908790.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

损失函数,基于概率分布度量的损失函数,信息量,信息熵的作用

目录 损失函数中为什么要用Log:概率损失函数-乘法转加法-便于求偏导 信息量,信息熵的作用 信息的作用是消除不确定性:信息量是0,事件确定 回答只是Y,N,因此对数底数为2​编辑 一句话描述的事件发生的概率越低&#…

chatGPT-对话柏拉图

引言: 古希腊哲学家柏拉图,在他的众多著作中,尤以《理想国》为人所熟知。在这部杰作中,他勾勒了一个理想的政治制度,提出了各种政体,并阐述了他对于公正、智慧以及政治稳定的哲学观点。然而,其…

[ubuntu]ubuntu安装vncserver后,windows连接灰屏解决方法

修改配置文件~/.vnc/xstartup为如下内容: #!/bin/bash export $(dbus-launch) export XKL_XMODMAP_DISABLE1 unset SESSION_MANAGERgnome-panel & gnome-settings-daemon & metacity & nautilus & gnome-terminal &# [ -x /etc/vnc/xstartup…

嵌入式C语言基本操作方法之经典

C语言一经出现就以其功能丰富、表达能力强、灵活方便、应用面广等特点迅速在全世界普及和推广。 C语言不但执行效率高而且可移植性好,可以用来开发应用软件、驱动、操作系统等。 C语言也是其它众多高级语言的鼻祖语言,所以说学习C语言是进入编程世界的必…

(嵌入式c语言)c语言编译常见错误

c语言->机器码的过程: 预处理(gcc -E -o)->编译(gcc -S -o)->汇编(gcc -c -o)->链接(gcc -o) 预处理 将代码中的define 和 include替换成实体码 define和…

电信不提供公网IP怎么解决?快解析内网穿透解决方案

由于现在电信运营商的政策调整,加上受到网络服务架构的影响,一些用户在使用宽带连接时,往往会遇到电信不提供公网IP的情况。这种情况下,我们可能会受到一些限制,特别是对于需要对外提供服务或进行远程访问的场景而言&a…

TCP拥塞控制详解 | 4. 控制算法

网络传输问题本质上是对网络资源的共享和复用问题,因此拥塞控制是网络工程领域的核心问题之一,并且随着互联网和数据中心流量的爆炸式增长,相关算法和机制出现了很多创新,本系列是免费电子书《TCP Congestion Control: A Systems …

基于IMX6ULLmini的Linux裸机开发系列五:通用中断控制器(GIC)

目录 GIC结构 获取GIC中断控制器基地址 方法一:查询芯片数据手册 方法二:查询cp15协处理器 CBAR寄存器 SCTLR 寄存器 VBAR寄存器 GIC用于管理单核或多核芯片中的中断资源 ARM公司开发了4 个版本GIC规范 ,V1~V4 ARMv7-A内核搭配GIC-400…

day24

复制目录到指定路径 file-App下的src目录复制到 D:/aaa public static void copy(File src, File dest) throws IOException {//0. 创建出目标路径if (!dest.exists()){dest.mkdirs();}//0.0 判断dest是否存在,如果不存在,创建爱你出来,不能复…

‘VB6EXT.OLB’ could not be registered

打开VB6提示:‘VB6EXT.OLB’ could not be registered 解决办法: 用管理员打开。 实测可行。 参考:VB6 Error please help-VBForums

dockers搭建基本服务

1、使用mysql:5.6和 owncloud 镜像,构建一个个人网盘。 拉取mysql-5.6和owncloud的镜像 docker run -d --name mdb --env MYSQL_ROOT_PASSWORD123 cytopia/mysql-5.6 docker run -d -p 90:80 --name webdcloud --link mdb:mdb owncloud 注册的时候,数据…

NUMA为何物?对系统性能有什么影响?

NUMA(全称是Non-Uniform Memory Access,就是非统一内存访问)的诞生背景可以追溯到上世纪90年代,当时计算机系统逐渐向多处理器、多线程、多任务的方向发展,传统的UMA内存设计已经无法满足多处理器系统的需求。在UMA中,所有的处理器共享同一个内存资源,随着处理器数量的增…

JS加密的域名锁定功能,JShaman支持泛域名

JShaman的域名锁定功能,支持泛域名 JShaman的JS代码混淆加密中,有一项“域名锁定”功能。使用此功能后,代码运行时会检测浏览器地址中的域名信息,如是非指定域名,则不运行,以此防止自己网站的JS代码被复制…

(动态规划) 剑指 Offer 10- I. 斐波那契数列 ——【Leetcode每日一题】

❓ 剑指 Offer 10- I. 斐波那契数列 难度:简单 写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项(即 F(N))。斐波那契数列的定义如下: F(0) 0, F(1) 1 F(N) F(N - 1) F…

基于Python的婴儿用品销售网站SpringBoot+Vue婴幼儿用品商城【源码+lw】

💕💕作者:计算机源码社 💕💕个人简介:本人七年开发经验,擅长Java、Python、PHP、.NET、微信小程序、爬虫、大数据等,大家有这一块的问题可以一起交流! 💕&…

基于SSM的疫情核酸结果查询系统

博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容:毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 项目介绍…

linux 性能分析之内存分析(free,vmstat,top,ps,pmap等工具使用介绍)

引言 学生时代经常听到老师和同学说到学习 linux 的重要性。但是当时看到这个命令行界面就头疼,也就草草地应付学了一下,哎嘛,还是游戏香! 但是当前两天自己捣鼓服务器的时候,发现自己部署的一个服务总是崩溃&#x…

使用VisualStudio制作上位机(一)

文章目录 使用VisualStudio制作上位机(一)写在前面第一部分:创建应用程序第二部分:GUI主界面设计使用VisualStudio制作上位机(一) Author:YAL 写在前面 1.达到什么目的呢 本文主要讲怎么通过Visual Studio 制作上位机,全文会以制作过程来介绍怎么做,不会去讲解具体…

一文读懂视频号下载

工具: 移动端抓包工具(以Stream为例)电脑端浏览器电脑端析包工具(以Charles为例)【可选项】 一、手机抓包 1 开启Stream 2 抓包 手机进入视频号,通过“搜索“的方式发送get请求,达到抓包的效…