VAN:基于卷积实现的注意力

VAN:基于卷积实现的注意力

0.引言

虽然Transformer最初是为自然语言处理任务而设计的,但最近已经在各种计算机视觉领域掀起了风暴。然而,图像是有空间信息的二维数据,这给计算机视觉中应用Transformer带来了三个挑战:

(1)将图像视为一维序列忽略了其二维结构。

(2)对于高分辨率的图像来说,自注意力计算复杂性太高了。

(3)自注意力只抓住了空间适应性而忽略了通道适应性。

在此工作中,作者提出了一种新的注意力机制,名为大核注意力机制(Large Kernel Attention,LKA),来模仿自注意力中的自适应性和长距离的相关性,同时避免其缺点。此外,这篇文章提出了一个基于大核注意力机制的神经网络,即视觉注意力网络(Visual Attention Network,VAN)。虽然非常简单,但VAN在各种任务中的性能表现可以超过类似规模的ViT和CNN模型,包括图像分类、物体检测、语义分割、全景分割、姿势估计等。

论文名称:Visual Attention Network

下载地址:https://arxiv.org/abs/2202.09741

视频讲解:https://www.aideeplearning.cn/mcv_lesson/979/

1.相关工作

在处理图像数据时,学习特征表示(Feature Representation)很重要,CNN因为使用了局部相关性和平移不变性这两个归纳偏置,极大地提高了神经网络的效率。在加深网络的同时,网络也在追求更加轻量化。VAN与MobileNet有些相似,MobileNet中把一个标准的卷积分解为了两个部分:一个逐层卷积和一个逐点卷积。本文把一个卷积分解成了三个部分:一个逐层卷积、一个逐层空洞卷积(Depth-wise的空洞卷积)和一个逐点卷积。但它们的目的各有不同,MobileNet拆分卷积的目的是减少参数量和计算复杂度;VAN中拆分卷积的目的是获得更大的计算感受野来模仿自注意力计算全局的特性。

注意力机制使得很多视觉任务有了性能提升。视觉的注意力可以被分为四个类别:通道注意力、空间注意力、时间注意力和分支注意力。每种注意力机制都有不同的效果。例如, SENet是通道注意力机制。而ViT、Swin Transformer等属于空间注意力机制。

Transformer中的自注意力是一个特别的注意力,可以捕捉到长程的依赖性和适应性。但是,在视觉任务中自注意力机制有个致命的缺点,即它只实现了空间适应性却忽略了通道适应性。对于视觉任务来说,不同的通道通常表示不同的概念,通道适应性在视觉任务中也是很重要的。为了解决这些问题,本文提出了一个新的视觉注意力机制:大核注意力机制。它包含了自注意力的适应性和长程依赖,而且它还吸收了卷积操作中可以同时对空间信息和通道信息做处理的优点。

在CNN出现之前,MLP模型曾是非常知名的方法。但是由于高昂的计算需求和低下的效率,MLP的能力被限制了很长一段时间。最近的一些研究成功地把标准的MLP分解为了Spatial MLP和Channel MLP,显著降低了计算复杂度和参数量,释放了MLP的性能。但是基于MLP的模型有两个缺点:

(1)MLP对输入尺寸很敏感,只能处理固定尺寸的图像。

(2)MLP只考虑了全局信息而忽略了局部的信息。

而本文的介绍的模型VAN可以充分利用MLP的优点并且避免它的缺点。

2.大核注意力机制

首先,注意力机制的关键在于会通过一系列操作得到一个与输入信息尺寸相同的注意力地图(Attention Map),再将这个注意力地图与输入信息进行相乘,通过乘的方式做输入信息重要程度的重分配。至于得到注意力地图的方法则有很多种,自注意力只是这些方法中的一种而已。

VAN模型通过卷积方法从输入信息中提取注意力地图。卷积的一个核心特性是局部相关性,这意味着它固有地缺乏远距离的注意力建模能力。尽管如此,模型可以尝试通过大型卷积核实现类似自注意力的全局建模。但这种策略带来了显著的问题:大型卷积核在计算时会产生巨大的计算负担和参数增长。为了克服这些问题,VAN模型采用了一种策略:将大型卷积运算分解,从而更有效地捕捉远程关系。通过这种方式,模型能够在保持计算效率和参数数量可控的同时,增强其注意力机制的空间范围。一个大的核卷积可以分为三部分:一个逐层卷积(Depthwise的卷积);一个逐层空洞卷积(Depth-wise的空洞卷积);一个逐点卷积(Pointwise卷积),如图1所示。

通过上述分解,可以让模型以小的计算量和小的参数量为代价,捕捉到远程关系。在获得远程关系之后,就可以估计一个点的重要性并生成注意力地图。

图片[1]-VAN:基于卷积实现的注意力-VenusAI
图1 大核注意力机制

LKA模块可以写为:

\(\begin{aligned}\mathrm{Attention}&=\mathrm{Conv}_{1\times1}\left(\mathrm{DW}-\mathrm{D}-\mathrm{Conv}(\mathrm{DW}-\mathrm{Conv}(\mathrm{F}))\right)\\\mathrm{Output}&=\mathrm{Attention}\otimes\mathrm{F}\end{aligned}\)

其中,\(\otimes\)是指元素的乘积。通过LKA计算得到注意力地图之后,通过\(\otimes\)输入信息来实现注意力机制,如图2所示。

图片[2]-VAN:基于卷积实现的注意力-VenusAI
图2 LKA attention结构图

值得一提的是,如果把\(\otimes\)换成\(⊕\),那么就变成了大名鼎鼎的残差结构,如图3所示。

图片[3]-VAN:基于卷积实现的注意力-VenusAI
图3 LKA注意力机制VS残差机制

最后,与自注意力算法相比,相似的是都计算得到一个注意力地图然后通过与输入信息相乘做注意力的重分配。不同的是,计算得到注意力地图的方法不同,VAN模型采用的是LKA的方式,而不是自注意力机制,如图4所示。

图片[4]-VAN:基于卷积实现的注意力-VenusAI
图4 LKA注意力机制和自注意力注意力机制

对比之下,LKA融合了卷积和自注意力的优点,见表1。

PropertiesConvolutionSelf-AttentionLKA
Local Receptive Field
Long-range Dependence
Spatial Adaptability
Channel Adaptability

×
×
×
×


×



Computational  complexityO(n)O(n×n)O(n)
表1 LKA性质比较

3.视觉注意力网络

VAN模型的层级结构非常简单,由四个Stage序列构成,每个Stage都会降低空间分辨率和增加通道数。详细参数见表2。

图片[5]-VAN:基于卷积实现的注意力-VenusAI
表2 VAN模型参数配置

其中,C表示通道数量;L表示每阶段的LKA模块数量。B0-6代表模型的缩放,具体通过增加每阶段的LKA数量和通道数量来实现。默认使用5×5逐层卷积、7×7的空洞率为3的逐层空洞卷积和1×1卷积来近似一个21×21尺寸的大卷积核进行卷积操作。在这种设置下,VAN可以有效地实现近似全局注意力。至于在ImageNet数据集上的实验结果,VAN相比同计算复杂度的其他先进模型,例如ResNet、Swin Transformer、ConvNeXt等可以达到更好的分类性能,如表3所示。

图片[6]-VAN:基于卷积实现的注意力-VenusAI
表3 多种模型在ImageNet数据集上的实验结果

4. VAN模型小结

视觉注意力网络值得注意的一点是使用大核注意力机制的方式代替了Transformer中的自注意力机制。这似乎在提醒人们,在计算机视觉领域,不能因为对Transformer的过度追求而放弃卷积算法。虽然VAN这个工作并不像ViT、Swin Transformer等经典的著名工作那样知名,但自注意力机制实现的效果,卷积也同样可以实现,并且效果并不逊色。

以下是视觉注意力网络的主要特点:

(1)注意力机制:视觉注意力网络利用注意力机制,根据图像中的不同区域分配权重。这种机制使得模型能够关注图像中最重要的部分,从而提高识别、检测和分割等任务的性能。

(2)端到端训练:视觉注意力网络通常采用端到端训练的方式,直接从原始图像数据中学习图像表示和注意力权重。这种方法使得模型能够自动学习到有用的特征和注意力分布,而无需人工干预。

(3)可解释性:视觉注意力网络的一个重要优势是其可解释性。通过可视化注意力权重,可以直观地了解模型在处理图像时关注的区域。这有助于分析模型性能,以及指导模型改进和调整。

(4)多尺度处理:视觉注意力网络可以处理多尺度的图像信息,从而在不同分辨率和场景下保持良好的性能。通过在不同尺度上计算注意力权重,模型能够捕捉到图像中的细节和全局信息。

(5)广泛应用:视觉注意力网络在计算机视觉领域有广泛的应用,包括图像分类、物体检测、语义分割、行为识别和视频分析等。注意力机制的引入使得模型能够在这些任务中实现更高的性能。

© 版权声明
THE END
共同营造AI社区,喜欢就支持一下吧~
点赞1328 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容