SCConv: Spatial and Channel Reconstruction Convolution for Feature Redundancy

论文链接:SCConv: Spatial and Channel Reconstruction Convolution for Feature Redundancy (thecvf.com)

非官方实现:

cheng-haha/ScConv: SCConv: Spatial and Channel Reconstruction Convolution for Feature Redundancy (github.com)

概述

这篇文章中稿cvpr2023,提出了一个可以即插即用的能够同时减少参数提升性能的模块。文章的核心思想是希望能够实现减少特征冗余从而提高算法的效率。一般压缩模型的方法分为三种,分别是network pruning, weight quantization, low-rank factorization以及knowledge distillation,虽然这些方法能够达到减少参数的效果,但是往往都会导致模型性能的衰减。另一种方法就是在构建模型时利用特殊的模块或操作减少模型参数,获得轻量级的网络模型,这种方法能够在保证性能的同时达到参数减少的效果。

模型结构

作者提出的SCConv包含两部分,分别是Spatial Reconstruction Unit (SRU)和Channel Reconstruction Unit (CRU),下面是SSConv的总体结构。

SCConv: Spatial and Channel Reconstruction Convolution for Feature Redundancy_第1张图片

 我们可以看到SCConv的模块设计,对于输入的特征图先利用1x1的卷积改变为适合的通道数,之后便分别是SRU和CRU两个模块对于特征图进行处理,最后在通过1x1的卷积将特征通道数恢复并进行残差操作。

Spatial Reconstruction Unit (SRU)

SCConv: Spatial and Channel Reconstruction Convolution for Feature Redundancy_第2张图片

 简单来说,在空间重建单元中通过中间GN层的可训练参数γ衡量特征图中空间信息的不同,空间信息越是丰富,γ越大,后面的w反映着不同特征图的重要性。通过Separate操作就能够获得信息量大和信息量较少的两个特征图(这里的蓝色作者的意思应该就是信息的多少),然后再通过后的交叉相乘与cat,获得最终的输出特征(作者这里说的是通过这样计算能够更加有效地将两个特征联合并且加强特征之间的交互)。

Channel Reconstruction Unit (CRU)

SCConv: Spatial and Channel Reconstruction Convolution for Feature Redundancy_第3张图片

 通道重建单元就比较容易理解了,以去除冗余特征为目的,同时减少参数量。Split里a是一个超参数,实验里设置的为0.5,用于分割特征。Fuse里基于简化的SKNet再通道维度上进行特征融合。

主要的方法就是这样,其实从两个模块里都能看到注意力机制的影子,但是与之前实现的注意力机制相比,它的效果不仅减少了参数,而且提升了性能。

消融实验结果

 SCConv: Spatial and Channel Reconstruction Convolution for Feature Redundancy_第4张图片

 其他实验

SCConv: Spatial and Channel Reconstruction Convolution for Feature Redundancy_第5张图片

 SCConv: Spatial and Channel Reconstruction Convolution for Feature Redundancy_第6张图片

SCConv: Spatial and Channel Reconstruction Convolution for Feature Redundancy_第7张图片 

 

你可能感兴趣的:(论文,深度学习,人工智能)