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
非局部神经网络
CNN操作都是建立在相邻的元素上。非局部操作会根据所有位置为一个坐标计算一个权重和的响应。如上图所示,若只考虑二维特征信息,第一张图像中的足球会与本图像中的树林、草坪以及人均建立联系,其中人的响应值最大。
:::
创作背景
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论文解读与工业成熟解决方案!
方法
卷积操作利用局部窗口内的共享权重,使得卷积神经网络具有平移等价性的属性。然而,卷积操作并不特别适用于学习远距离物体之间的关系。为了解决这个问题,作者提出了一个空间偏置项,通过在卷积特征图中添加一些空间偏置通道,从而学习全局知识,补偿卷积的不足之处。与现有的使用重量级自注意力模块的方法不同,作者提出的方法通过并行分支来补充网络的远距离依赖关系。作者设计了并行分支,通过将空间偏置图与卷积特征图在通道方向上连接来聚合全局知识。这样,网络可以同时学习局部和全局信息。空间偏差学习了更广阔的区域,而卷积操作则专注于图像的局部特征,因此使用空间偏置的CNN可以通过连接特征图来学习更丰富的信息。
生成空间偏置图
假设卷积层的输入大小为 R H ∗ W ∗ C R^{H*W*C} RH∗W∗C的特征图 X X X,形状。我们在这张特征图上进行通道和空间方向的压缩。具体而言,首先使用1 x 1卷积进行通道缩减,特征图具有 C ′ C' C′通道。然后,采用平均池化层进行空间压缩,得到大小为 R H ′ ∗ W ′ ∗ C ′ R^{H'*W'*C'} RH′∗W′∗C′的特征图 P P P。最后通过将特征图 P P P的每个通道展平成一个1 D D D向量来获得转换后大小为 R 1 ∗ C ′ ∗ H ′ W ′ R^{1*C'*H'W'} R1∗C′∗H′W′的特征图 Q Q Q。
为了在这个转换后的特征图上聚合全局知识,我们在通道维度上使用了一个1 x N卷积,其中N大于1,以便编码通道间的关系全局知识。然后,使用双线性插值将空间偏置图上采样到与卷积特征图相同的大小。将上采样的空间偏差图与卷积特征图按照公式1进行拼接:
其中, X X X表示输入特征图, C o n v ( ) Conv() Conv()和 S B SB SB表示标准卷积和空间偏差,[,]表示连接操作。在连接之后,得到的特征图经过批量归一化和非线性激活层。
带有空间偏置的卷积
为了弥补核尺寸的限制(一般kernel大小为3x3),我们在特定的卷积层之后添加了自注意力模块以学习全局知识。换句话说,独立应用重量级自注意力操作,这会大量增加参数和计算量。本文提出的空间偏置和卷积特征互补。空间偏置提取了长距离依赖性的信息,这补充了卷积操作现有的短距离依赖性。所提出的空间偏置卷积只需要最小的卷积操作开销,因为我们采用了无自注意力的方法。我们的目标是直接在卷积层中学习本地和全局知识,而不需要额外的模块。
空间偏置的复杂度
本文提出的空间偏置通过一个固定的常数来减小特征图 X X X的大小。因此,空间偏置的复杂度为 O ( H ′ ∗ W ′ ∗ s f ) O(H' * W' * sf) O(H′∗W′∗sf) ≈ O ( H ′ ∗ W ′ ∗ f ) O(H' * W'* f) O(H′∗W′∗f),其中s和f分别表示kernel大小和过滤器数量。由于过滤器的数量与 H ′ ∗ W ′ H' * W' H′∗W′相同,所以空间偏置的复杂度为 O ( ( H ′ W ′ ) 2 ) O((H'W')^2) O((H′W′)2)。并且高度 H ′ H' H′和宽度 W ′ W' W′是一个固定的常数值,因此计算复杂度理论上为 O ( 1 ) O(1) O(1)。因此,我们得到了一个非常快速和轻量级的操作,可以插入任何卷积层中。在实验部分,我们展示了它在吞吐量、参数、计算开销以及CNN性能改进方面的有效性。
与SENet的对比
SENet捕捉特征图的通道总结信息,然后学习通道之间的关系来调整特征图,忽略了空间相关性。然而,本文提出的空间偏置方法提取空间压缩信息,然后向通道扩展。也就是说,空间-通道方向的依赖性可以通过一次常规卷积操作一次性聚合。此外,虽然类似SE的方法可以优化卷积层输出特征图的通道重要性,但所提出的方法学习的是在卷积过程中通过向特征图添加偏置直接学习通道和空间信息的不同信息。
实验
- 本文提出的空间偏置比SE-like 的方法更有效,并且在将它们与空间偏差相结合时还可以进一步提高网络性能。
- 相比于NLNet,空间偏置需要较少的参数开销,因此比它们快3.3倍。
- 与改进版本的非局部神经网络(如GCNet和BAT)相比,空间偏置的计算预算更加便宜,同时实现了相当的性能。将空间偏置与现有的非局部方法结合在一个网络中可以进一步提高性能。
- 压缩后的NLNet-50在参数和延迟方面几乎没有收益,但性能却下降了。
- 所提出的空间偏置方法简单易行,但其可视化结果可与基于复杂自注意力的非局部神经网络相媲美。
- 我们的空间偏置的网络可以提高检测模型的所有指标性能。
- 使用空间偏置的网络可以比基准网络提高1.27%的准确率,2.16%的mIOU和3.31%的mAcc。
总结
本文提出了一种快速且轻量的全局特征提取方法:空间偏置卷积。所提出的方法仅向卷积特征图中添加了一些额外的空间偏置通道,使得卷积层本身能够通过自注意操作学习全局知识。换句话说,空间偏置是一种非局部方法,允许卷积学习长距离依赖关系。相较于现有的非局部方法,空间偏置生成的参数、FLOPs和吞吐量开销都要小得多。 本文方法设计简单而直接,能够轻松地应用于各种网络架构。 此外,所提出的空间偏置可以与现有的基于自注意力机制的非局部方法一起使用。我们相信,这种不使用基于自注意操作的非局部神经网络的新方法将会激发未来的研究!
写在最后
如果您也对人工智能和计算机视觉全栈领域感兴趣,强烈推荐您关注有料、有趣、有爱的公众号『CVHub』,每日为大家带来精品原创、多领域、有深度的前沿科技论文解读及工业成熟解决方案!
同时欢迎添加小编微信: cv_huber,备注CSDN,加入官方学术|技术|招聘交流群,一起探讨更多有趣的话题!