超越ConvNeXt | 大道至简,VAN用普通卷积,登顶Backbone性能巅峰(附代码解读)

简介: 超越ConvNeXt | 大道至简,VAN用普通卷积,登顶Backbone性能巅峰(附代码解读)

1相关工作


1.1 卷积神经网络

如何有效地计算强大的特征表示是计算机视觉中最基本的问题。卷积神经网络利用局部上下文信息和平移不变性特性来大大提高神经网络的效率。自AlexNet以来,cnn迅速成为计算机视觉的主流框架。为了进一步提高效率,研究人员花费了大量精力使cnn变得更深入、更轻。本文的工作与MobileNet相似,它将一个标准的卷积解耦为2个部分:depthwise convolution和pointwise convolution(也就是1x1Conv)。本文的方法将卷积分解为3部分:depthwise convolution、depthwise and dilated convolution、pointwise convolution。得益于这种分解,本文的方法更适合于高效地分解大型核卷积。作者还在方法中引入了注意力机制来获得自适应特征。

1.2 视觉注意力方法

注意力机制可以看作是根据输入特征的自适应选择过程,引入RAM的计算机视觉中。它在许多视觉任务中都提供了好处,如图像分类、目标检测和语义分割。计算机视觉中的注意可分为通道注意力、空间注意力、时间注意力和分支注意力4类基本类别,以及通道注意力和空间注意力的组合。每种注意力在视觉任务中都有不同的效果。

self-attention是一种特殊的注意力机制,起源于自然语言处理(NLP)。由于其具有较强的长程依赖性和适应性,在计算机视觉中发挥着越来越重要的作用。各种深度self-attention网络在不同视觉任务上的表现明显优于主流cnn,显示出基于注意力的模型的巨大潜力。然而,self-attention最初是最终为NLP设计的。在处理计算机视觉任务时,它有3个缺点:

  1. 将图像视为一维序列,忽略了图像的二维结构
  2. 对于高分辨率图像来说,二次复杂度过于复杂
  3. 只实现了空间适应性,忽略了通道维度的适应性。对于视觉任务,不同的通道通常代表不同的对象。通道适应性也被证明对视觉任务很重要。

image.png

图1

为了解决这些问题,作者提出了一种新的视觉注意力方法,即LKA。它包含了self-attention的优点,如适应性和距离依赖。此外,它还得益于convolution的优势,如利用局部的上下文信息。

1.3 视觉MLP

多层感知器(MLPs)是在cnn出现之前流行的计算机视觉工具。然而,由于计算要求高、效率低,mlp的能力在很长一段时间内受到了限制。最近的一些研究成功地将标准MLP解耦为空间MLP和通道MLP。这种分解允许显著的计算成本和参数减少,从而释放了MLP的惊人性能。读者可以参考最近的综述来获得更全面的了解。与本文最相关的MLP是gMLP,它不仅分解标准MLP,还涉及注意力机制。然而,gMLP有2个缺点:

  1. gMLP对输入大小很敏感,只能处理固定大小的图像
  2. gMLP只考虑图像的全局信息,而忽略了图像的局部结构

本文的方法可以充分利用其优点,避免其缺点。


2本文方法


2.1 Large Kernel Attention

注意力机制可以看作是一个自适应选择过程,它可以根据输入特征来选择可鉴别特征,并自动忽略噪声响应。注意力机制的关键步骤是生成表示不同点的重要性的注意力图。要做到这一点应该学习不同点之间的关系。

image.png

图2

有2种众所周知的方法来建立不同的点之间的关系:

  • 第一个:采用自注意力机制来捕获长期依赖。但是在计算机视觉中应用自注意力有3个明显的缺点
  • 第二个:使用大核卷积来建立相关性并生成注意力图。这样做仍然有明显的缺点。大核卷积带来了大量的计算开销和参数

为了克服上述缺点,利用自注意力和大核卷积的优点,作者提出对大核卷积操作进行分解来捕获长期关系。如图2所示,大核卷积可分为3个部分:

  • 空间局部卷积(深度卷积)
  • 空间远程卷积(深度扩张卷积)
  • 通道卷积(1×1卷积)

特别是可以将卷积分解为深度扩张卷积,深度卷积和卷积。通过上述分解可以用轻微的计算代价和参数来捕获长程关系。在得到长期关系后可以估计一个点的重要性并生成注意力图。

image.png

图3

如图3(a)所示,LKA模块可以写为:

image.png

这里,是输入特征。表示注意力图。注意力图中的值表示每个特征的重要性。⊗指的是元素级的点乘。作者提出的LKA结合了卷积和自注意力的优点。它考虑了局部上下文信息、大的感受域和动态过程。

image.png

表1

此外,LKA不仅实现了空间维度的适应性,而且还实现了通道维度的适应性。值得注意的是,在深度神经网络中,不同的通道往往代表不同的对象,而通道维度的适应性对视觉任务也很重要。

class AttentionModule(nn.Module):
    def __init__(self, dim):
        super().__init__()
        # depth-wise convolution
        self.conv0 = nn.Conv2d(dim, dim, 5, padding=2, groups=dim)
        # depth-wise dilation convolution
        self.conv_spatial = nn.Conv2d(dim, dim, 7, stride=1, padding=9, groups=dim, dilation=3)
        # channel convolution (1×1 convolution)
        self.conv1 = nn.Conv2d(dim, dim, 1)
    def forward(self, x):
        u = x.clone()        
        attn = self.conv0(x)
        attn = self.conv_spatial(attn)
        attn = self.conv1(attn)
        return u * attn

2.2 VAN Backbone

VAN具有简单的层次结构,即H/4×W/4、H/8×W/8、H/16×W/16和H/32×W/32四个输出空间分辨率递减的阶段。这里,H和W表示输入图像的高度和宽度。随着分辨率的降低,输出通道的数量不断增加。输出通道的变化如表2所示。

表2

对于如图3(d)所示的每一个阶段,首先对输入进行下采样,然后用stride来控制下采样率。然后,每个stage上的所有其他层保持相同的输出大小,即空间分辨率和通道数量。然后,将L组批处理归一化、GELU激活、LKA注意力和卷积网络依次叠加,提取特征。最后,在每个阶段的末尾应用一个normalization层。根据系统参数和计算成本,设计了VAN-Tiny、VAN-Small、VAN-Base和VAN-Large四种架构。整个网络的详细情况如表2所示。

复杂度分析

为了简化格式,在计算过程中省略了偏差。假设输入和输出特征具有相同的大小H×W×c。参数和FLOPs可以表示为:

这里,d表示膨胀率,K表示核的大小。当K=21时,param可以写成:

作者发现,当d=3时,上式可以取最小值。所以,默认设置为K=21和d=3。对于不同数量的通道,在表3中显示了特定的参数。根据FLOPs和参数的公式,X/Our对FLOPs和参数是相同的。同样地,Y/Our对于flop和参数也是相同的。这表明分解在参数和分解大核卷积方面具有显著的优势。

复现细节

默认情况下,LKA采用5×5深度卷积,7×7深度卷积和1×1卷积来近似21×21卷积。在这种设置下,VAN可以有效地实现局部信息和远程连接。分别使用7×7和3×3 stride卷积进行4倍和2倍的下采样。


3实验


3.1 分类实验

image.png

3.2 检测实验

image.png

3.3 语义分割


4参考


[1].Visual Attention Network

相关文章
|
7月前
|
机器学习/深度学习 编解码 自然语言处理
全新AFPN出现 | 完胜PAFPN,堪称YOLO系列的最佳搭档
全新AFPN出现 | 完胜PAFPN,堪称YOLO系列的最佳搭档
260 0
|
19天前
|
机器学习/深度学习 人工智能 自然语言处理
RNN回归!Bengio新作大道至简与Transformer一较高下
研究团队提出了一种名为“minimal LSTMs and GRUs”的新型RNN模型,通过简化传统LSTM和GRU结构,去除了隐藏状态对输入、遗忘和更新门的依赖,实现了无需BPTT的高效并行训练。该模型不仅保持了RNN处理序列数据的优势,还大幅提升了训练速度,在多个任务上的表现与Transformer相当,同时减少了参数量。研究结果发表于论文《minimal LSTMs and GRUs》。
30 9
|
6月前
|
机器学习/深度学习 算法 存储
Bengio等人新作:注意力可被视为RNN,新模型媲美Transformer,但超级省内存
【6月更文挑战第3天】Bengio等人提出的新模型Aaren视注意力为特殊RNN,以解决Transformer在资源受限环境中的计算成本高和内存使用问题。Aaren模型通过并行前缀和算法实现高效计算和常数级内存使用,性能接近Transformer,同时在时间序列任务中表现优秀,尤其适合移动设备和嵌入式系统。尽管可能在某些复杂任务上不如Transformer,但其高效性为实时数据处理提供了潜力。论文链接:[https://arxiv.org/pdf/2405.13956](https://arxiv.org/pdf/2405.13956)
106 2
|
7月前
|
机器学习/深度学习 人工智能 编解码
Backbone往事 | AlexNet~EfficientNet,10多个网络演变铺满了炼丹师们的青葱岁月
Backbone往事 | AlexNet~EfficientNet,10多个网络演变铺满了炼丹师们的青葱岁月
206 0
|
7月前
|
机器学习/深度学习 编解码 算法
ASF-YOLO开源 | YOLOv5范式永不言败,SSFF融合+TPE编码+CPAM注意力,再战精度巅峰!
ASF-YOLO开源 | YOLOv5范式永不言败,SSFF融合+TPE编码+CPAM注意力,再战精度巅峰!
389 0
|
7月前
|
机器学习/深度学习 自然语言处理 计算机视觉
【论文泛读】ConvNeXt:A ConvNet for the 2020s(新时代的卷积)
【论文泛读】ConvNeXt:A ConvNet for the 2020s(新时代的卷积)
|
编解码 并行计算 计算机视觉
最佳Backbone | RepVGG重镇VGG雄风,各大任务独占鳌头(附源码和论文下载)(二)
最佳Backbone | RepVGG重镇VGG雄风,各大任务独占鳌头(附源码和论文下载)(二)
112 0
|
算法 文件存储 计算机视觉
最佳Backbone | RepVGG重镇VGG雄风,各大任务独占鳌头(附源码和论文下载)(一)
最佳Backbone | RepVGG重镇VGG雄风,各大任务独占鳌头(附源码和论文下载)(一)
125 0
|
机器学习/深度学习 SQL 编解码
涨点明显 | 港中文等提出SplitNet结合Co-Training提升Backbone性能(附源码和论文)(一)
涨点明显 | 港中文等提出SplitNet结合Co-Training提升Backbone性能(附源码和论文)(一)
174 0
涨点明显 | 港中文等提出SplitNet结合Co-Training提升Backbone性能(附源码和论文)(二)
涨点明显 | 港中文等提出SplitNet结合Co-Training提升Backbone性能(附源码和论文)(二)
104 0
下一篇
DataWorks