即插即用系列!| Spatial Bias: 一种简单有效的超轻量全局编码方法

简介: 即插即用系列!| Spatial Bias: 一种简单有效的超轻量全局编码方法

e0d885ff284904b739131c60b7ebedc4.png

Title: Spatial Bias for Attention-free Non-local Neural Networks


Paper: https://arxiv.org/pdf/2302.12505.pdf

导读


本文介绍了一种通过引入空间偏置使CNNs能有效学习全局知识的方法,避免了传统CNNs因感受野有限而无法学习长距离依赖关系的问题。非局部(Non-local)神经网络虽然可以学习全局知识,但由于自注意力操作过于繁重,导致网络设计过于复杂。因此,本文提出了一种快速轻量级的空间偏置,通过将其在特征图上堆叠并卷积,动态调整卷积特征的空间结构,从而直接在卷积层上学习全局知识。 无需引入像自注意力操作的巨大计算量,同时显著提高了神经网络的性能。


与非局部神经网络相比,空间偏置使用的参数数量约为其1/10,而吞吐量则提高了1.6~3.3倍, 且可与传统非局部神经网络结合使用以进一步提高骨干模型的性能。该方法在ImageNet-1K和cifar100数据集上将分类准确率提高了0.79%和1.5%,在MS-COCO和ADE20K数据集上进行目标检测和语义分割等下游任务时也得到了验证。


::: block-1


非局部神经网络


560cc914d30c51cf61f76d0e4f813b2b.png


CNN操作都是建立在相邻的元素上。非局部操作会根据所有位置为一个坐标计算一个权重和的响应。如上图所示,若只考虑二维特征信息,第一张图像中的足球会与本图像中的树林、草坪以及人均建立联系,其中人的响应值最大。

:::


创作背景


f6c252d631610eb151a0015aeba002ef.png


CNNs擅长提取局部信息,因此被广泛应用于各种视觉识别任务。然而,由于有限的感受野大小,CNNs难以有效地捕捉全局上下文信息。为了克服这个问题,已经有许多方法被提出,例如构建更深层的网络、使用不同的卷积核大小和学习非局部像素级的成对关系。


::: block-1


注意力机制介绍


Squeeze-and-Excitation Networks (SENets)


SENets通过在通道维度上计算注意力来调整特征图的重要性。它在各种视觉任务中都表现出很好的性能,但它只能建模通道之间的关系,无法捕捉像素级别的空间关系。


Non-Local Neural Networks (NLNs)

NLNs是自注意力机制的一种形式,它在整个特征图上执行自注意力操作,以捕捉像素级别的空间关系。然而,由于需要大量计算和内存,它的网络设计往往非常庞大和昂贵。


global context network (GCNets):

GCNets结合了自注意力机制的空间加权计算与通道注意力的加权方式,从而高效地建模长距离依赖。


CCNet、A2Net、BAT:

通过迭代交叉注意力模块、双注意力方法和数据自适应双线性注意力变换等方法,构建轻量级的非局部网络。

:::


在这些方法中,基于自注意力的非局部神经网络是捕获长距离特征的主要方法之一,但是由于自注意力操作需要大量资源,因此在本文中提出了一种直接在卷积操作期间学习长距离依赖的新轻量方法。 本文方法通过将空间偏差项加入到卷积操作中来获取全局知识。这个空间偏差项具有长距离相关性,并添加到卷积操作的位置中。这种方法允许同时学习卷积项的局部信息和空间偏差项的全局知识。


本文的主要贡献如下:


与传统的基于自注意力的非局部神经网络相比,本方法使用的资源量非常少,因此非常快速和轻量。


实验结果表明,本文所提出的方法的推理时间开销比非局部神经网络少1.6倍至3.3倍,而性能与非局部网络相当。


此外,本文还证明了这种方法在结合其他非局部方法和主干网络时可以进一步提高性能,并在下游任务中得到验证。


欢迎大家关注我们的公众号CVHub,每日都给大家带来原创、多领域、有深度的前沿AI论文解读与工业成熟解决方案!


方法


ad05303879ce8b9a8e388f868316b93f.png

卷积操作利用局部窗口内的共享权重,使得卷积神经网络具有平移等价性的属性。然而,卷积操作并不特别适用于学习远距离物体之间的关系。为了解决这个问题,作者提出了一个空间偏置项,通过在卷积特征图中添加一些空间偏置通道,从而学习全局知识,补偿卷积的不足之处。与现有的使用重量级自注意力模块的方法不同,作者提出的方法通过并行分支来补充网络的远距离依赖关系。作者设计了并行分支,通过将空间偏置图与卷积特征图在通道方向上连接来聚合全局知识。这样,网络可以同时学习局部和全局信息。空间偏差学习了更广阔的区域,而卷积操作则专注于图像的局部特征,因此使用空间偏置的CNN可以通过连接特征图来学习更丰富的信息。


生成空间偏置图


image.png

为了在这个转换后的特征图上聚合全局知识,我们在通道维度上使用了一个1 x N卷积,其中N大于1,以便编码通道间的关系全局知识。然后,使用双线性插值将空间偏置图上采样到与卷积特征图相同的大小。将上采样的空间偏差图与卷积特征图按照公式1进行拼接:


9036c9fa59789d6ee8f5005b4fa7e39a.png


其中,X XX表示输入特征图,C o n v ( ) Conv()Conv()和S B SBSB表示标准卷积和空间偏差,[,]表示连接操作。在连接之后,得到的特征图经过批量归一化和非线性激活层。


带有空间偏置的卷积


f7db4eda38afebd60f355afbfaaa9034.png


为了弥补核尺寸的限制(一般kernel大小为3x3),我们在特定的卷积层之后添加了自注意力模块以学习全局知识。换句话说,独立应用重量级自注意力操作,这会大量增加参数和计算量。本文提出的空间偏置和卷积特征互补。空间偏置提取了长距离依赖性的信息,这补充了卷积操作现有的短距离依赖性。所提出的空间偏置卷积只需要最小的卷积操作开销,因为我们采用了无自注意力的方法。我们的目标是直接在卷积层中学习本地和全局知识,而不需要额外的模块。


空间偏置的复杂度

image.png

是一个固定的常数值,因此计算复杂度理论上为O ( 1 ) O(1)O(1)。因此,我们得到了一个非常快速和轻量级的操作,可以插入任何卷积层中。在实验部分,我们展示了它在吞吐量、参数、计算开销以及CNN性能改进方面的有效性。


与SENet的对比

SENet捕捉特征图的通道总结信息,然后学习通道之间的关系来调整特征图,忽略了空间相关性。然而,本文提出的空间偏置方法提取空间压缩信息,然后向通道扩展。也就是说,空间-通道方向的依赖性可以通过一次常规卷积操作一次性聚合。此外,虽然类似SE的方法可以优化卷积层输出特征图的通道重要性,但所提出的方法学习的是在卷积过程中通过向特征图添加偏置直接学习通道和空间信息的不同信息。


实验


49651dd9ef3c90a50f441ccbcb0ea441.png

本文提出的空间偏置比SE-like 的方法更有效,并且在将它们与空间偏差相结合时还可以进一步提高网络性能。

411d5bce0099e30da5d37461880042b0.png


相比于NLNet,空间偏置需要较少的参数开销,因此比它们快3.3倍。

与改进版本的非局部神经网络(如GCNet和BAT)相比,空间偏置的计算预算更加便宜,同时实现了相当的性能。将空间偏置与现有的非局部方法结合在一个网络中可以进一步提高性能。

压缩后的NLNet-50在参数和延迟方面几乎没有收益,但性能却下降了。


a4ff127042d7730b9bdba64253cf7794.png


所提出的空间偏置方法简单易行,但其可视化结果可与基于复杂自注意力的非局部神经网络相媲美。


7ac93f2bdd13b091a4329a5dc03e1198.png


我们的空间偏置的网络可以提高检测模型的所有指标性能。

615c608dfe8d23d43ae1982d8e560f7c.png


使用空间偏置的网络可以比基准网络提高1.27%的准确率,2.16%的mIOU和3.31%的mAcc。

总结

本文提出了一种快速且轻量的全局特征提取方法:空间偏置卷积。所提出的方法仅向卷积特征图中添加了一些额外的空间偏置通道,使得卷积层本身能够通过自注意操作学习全局知识。换句话说,空间偏置是一种非局部方法,允许卷积学习长距离依赖关系。相较于现有的非局部方法,空间偏置生成的参数、FLOPs和吞吐量开销都要小得多。 本文方法设计简单而直接,能够轻松地应用于各种网络架构。 此外,所提出的空间偏置可以与现有的基于自注意力机制的非局部方法一起使用。我们相信,这种不使用基于自注意操作的非局部神经网络的新方法将会激发未来的研究!


写在最后

如果您也对人工智能和计算机视觉全栈领域感兴趣,强烈推荐您关注有料、有趣、有爱的公众号『CVHub』,每日为大家带来精品原创、多领域、有深度的前沿科技论文解读及工业成熟解决方案!


同时欢迎添加小编微信: cv_huber,备注CSDN,加入官方学术|技术|招聘交流群,一起探讨更多有趣的话题!


目录
相关文章
|
7月前
|
机器学习/深度学习 计算机视觉 Python
【DRConv】动态区域感知卷积结构可提升卷积的表示能力 | 复现《Dynamic Region-Aware Convolution》
【DRConv】动态区域感知卷积结构可提升卷积的表示能力 | 复现《Dynamic Region-Aware Convolution》
215 1
【DRConv】动态区域感知卷积结构可提升卷积的表示能力 | 复现《Dynamic Region-Aware Convolution》
|
机器学习/深度学习 PyTorch Go
YOLOv5的Tricks | 【Trick4】参数重结构化(融合Conv+BatchNorm2d)
这篇文章是想要记录yolov5在模型搭建过程中的一个融合模块,就是把卷积与批归一化的参数进行融合,想卷积带有批归一化的性质,使得推理过程中可以加快模型推理速度,简化整个模型结构,实现训练与推理两个阶段的解耦。
932 0
YOLOv5的Tricks | 【Trick4】参数重结构化(融合Conv+BatchNorm2d)
|
5月前
|
机器学习/深度学习 Serverless 计算机视觉
【YOLOv8改进 - 注意力机制】Sea_Attention: Squeeze-enhanced Axial Attention,结合全局语义提取和局部细节增强
【YOLOv8改进 - 注意力机制】Sea_Attention: Squeeze-enhanced Axial Attention,结合全局语义提取和局部细节增强
|
1月前
|
机器学习/深度学习 测试技术 计算机视觉
【YOLOv11改进 - 注意力机制】LSKA(Large Separable Kernel Attention):大核分离卷积注意力模块
【YOLOv11改进 - 注意力机制】LSKA(Large Separable Kernel Attention):大核分离卷积注意力模块
【YOLOv11改进 - 注意力机制】LSKA(Large Separable Kernel Attention):大核分离卷积注意力模块
|
26天前
|
机器学习/深度学习 编解码 算法
【YOLOv11改进 - 注意力机制】MLCA(Mixed local channel attention):混合局部通道注意力
【YOLOv11改进 - 注意力机制】MLCA(Mixed local channel attention):混合局部通道注意力本项目提出了一种轻量级的 Mixed Local Channel Attention (MLCA) 模块,结合通道信息和空间信息,提升网络表达效果。基于此模块,开发了 MobileNet-Attention-YOLO (MAY) 算法,在 Pascal VOC 和 SMID 数据集上表现优异,mAP 分别提高了 1.0% 和 1.5%。MLCA 通过局部池化、一维卷积和信息融合,有效捕获局部和全局信息。项目代码和详细配置可在 GitHub 和 CSDN 获取。
|
5月前
|
机器学习/深度学习 计算机视觉
【YOLOv8改进 - 注意力机制】SENetV2: 用于通道和全局表示的聚合稠密层,结合SE模块和密集层来增强特征表示
【YOLOv8改进 - 注意力机制】SENetV2: 用于通道和全局表示的聚合稠密层,结合SE模块和密集层来增强特征表示
|
5月前
|
机器学习/深度学习 计算机视觉
【YOLOv8改进 - 注意力机制】ECA(Efficient Channel Attention):高效通道注意 模块,降低参数量
YOLO目标检测专栏聚焦模型创新与实战,介绍了一种高效通道注意力模块(ECA),用于提升CNN性能。ECA仅用少量参数实现显著性能增益,避免了维度缩减,通过1D卷积进行局部跨通道交互。代码实现展示了一个ECA层的结构,该层在多种任务中展现优秀泛化能力,同时保持低模型复杂性。论文和代码链接分别指向arXiv与GitHub。更多详情可查阅CSDN博主shangyanaf的相关文章。
|
6月前
|
机器学习/深度学习 计算机视觉
YOLOv5改进 | 卷积模块 | 将Conv替换为轻量化的GSConv【原理 + 完整代码】
在这个教程中,作者介绍了如何将YOLOv5中的Conv模块替换为新型轻量级卷积GSConv,以实现模型瘦身并保持准确性。GSConv结合了分组卷积和空间卷积,减少了计算量。文章详细阐述了GSConv的原理,并提供了添加GSConv到YOLOv5的代码实现步骤。此外,还提到了Slim-neck by GSConv技术,它通过通道压缩和高效连接优化网络结构。读者可以获取完整代码进行实践,适用于资源受限的环境,如移动设备和实时应用。
|
6月前
|
测试技术 计算机视觉
【YOLOv8改进】LSKA(Large Separable Kernel Attention):大核分离卷积注意力模块 (论文笔记+引入代码)
YOLO目标检测专栏介绍了大可分卷积核注意力模块LSKA,用于解决VAN中大卷积核效率问题。LSKA通过分解2D卷积为1D卷积降低计算复杂度和内存占用,且使模型关注形状而非纹理,提高鲁棒性。在多种任务和数据集上,LSKA表现优于ViTs和ConvNeXt,代码可在GitHub获取。基础原理包括LSKA的卷积核分解设计和计算效率优化。示例展示了LSKA模块的实现。更多详情及配置参见相关链接。
|
7月前
|
机器学习/深度学习 算法 计算机视觉
YOLOv8改进 | 融合模块 | 用Resblock+CBAM卷积替换Conv【轻量化网络】
在这个教程中,介绍了如何将YOLOv8的目标检测模型改进,用Resblock+CBAM替换原有的卷积层。Resblock基于ResNet的残差学习思想,减少信息丢失,而CBAM是通道和空间注意力模块,增强网络对特征的感知。教程详细解释了ResNet和CBAM的原理,并提供了代码示例展示如何在YOLOv8中实现这一改进。此外,还给出了新增的yaml配置文件示例以及如何注册模块和执行程序。作者分享了完整的代码,并对比了改进前后的GFLOPs计算量,强调了这种改进在提升性能的同时可能增加计算需求。教程适合深度学习初学者实践和提升YOLO系列模型的性能。