Visual Attention Network

研究背景

对于各种视觉任务来说,例如图像分类、目标检测、语义分割等,一个先进的backbone往往能够显著地提高性能。由于Transformer自身强大的建模能力,自Vit将Transformer引入CV以来,基于Transformer的backbone,如swin-Transformer等迅速占据了各种任务的排行榜。

存在的问题

CNN

卷积运算采用静态权值,适应性差。

Transformer

  1. self-attention起初是为1维的NLP任务设计的,将图片的二维结构视为一维序列,对图像的关键二维结构造成了破坏;
  2. 由于其二次计算和内存开销,它也难以处理高分辨率图像;
  3. self-attention只考虑了空间维度的适应性,忽略了通道维度的适应性。

解决思路

回顾 Depth-wise Separable Convolution

depthwise separable convolution,由depthwise(DW) convolution和pointwise(PW) convolution两个部分结合起来,目的是降低网络参数量和计算量。

Visual Attention Network_第1张图片

image.png

image.png

假设输入shape为 Cin x Hin x Win,卷积核大小为 K x K,输出shape为 Cout x Hout x Wout
经典卷积核
参数为 K x K x Cin x C****out
计算量为 K x K x Cin x Cout x Hout x W****out
深度可分离卷积
参数为 K x K x Cin + C****in x Cout
计算量为 K x K x Cin x Hout x Wout+ Cin x Cout x Hout x W****out
相除得到深度可分离卷积的参数量和计算量是经典卷积的_** 1/Cout + 1/(K x K)**_

Large Kernel Attention

注意机制可以看作是一个自适应选择过程,它可以根据输入特征选择有区别的特征,并自动忽略噪声响应。有两种众所周知的方法来建立不同部分之间的关系。

  1. 采用self-attention捕捉长期依赖。在计算机视觉中应用self-attention有三个明显的缺点,已在上文列出。
  2. 利用大核卷积构建相关性并生成注意图。这种方式也有明显的缺点。大核卷积带来了大量的计算开销和参数。

为了克服上述缺点,并利用self-attention和大核卷积的优点,我们提出分解一个大核卷积运算来捕获long-range relationship。如下图所示:
image.png
一个大核卷积可以分为三个分量: 深度卷积(depth-wise卷积)、深度扩张卷积(depth-wise dilation卷积)和通道卷积(1x1卷积)。其中,一个K x K卷积分解为⌈K/d⌉×⌈K/d⌉深度卷积,同时包含dilation=d、(2d−1)× (2d−1)深度卷积和一个1x1卷积。通过上述分解,模块可以捕获长距离的关系,但计算成本和参数都很小。在获得长期关系后,我们可以估计一个点的重要性,并生成注意图。
image.png

image.png

LKA结合了卷积和自注意的优点。它考虑了局部的语境信息、大的接受域和动态过程。LKA不仅在空间维度上具有适应性,而且在通道维度上也具有适应性。值得注意的是,在深度神经网络中,不同的通道通常代表不同的对象,通道维度的适应性对于视觉任务也很重要。

Visual Attention Network

image.png

复杂度分析

image.png

同参数量下的模型性能对比

改进思路

  1. 继续完善网络结构,如采用不同的内核大小,引入多尺度结构,使用多分支结构。
  2. VAN是CNN和VIT的天然结合。一方面,VAN可以利用图像的二维结构信息;另一方面,VAN可以根据输入图像动态调整输出,适合于自监督学习和迁移学习。结合以上两点,我们认为VAN在图像自我监督学习和迁移学习领域可以取得更好的性能。
  3. 由于资源有限,我们只能在视觉任务中表现出优秀的表现。VANs在N他领域,如NLP,是否也能表现良好,仍值得探讨。我们期待看到VAN成为通用车型。

你可能感兴趣的:(机器学习,神经网络,深度学习)