> 文章列表 > 论文解析[11] CAT: Cross Attention in Vision Transformer

论文解析[11] CAT: Cross Attention in Vision Transformer

论文解析[11] CAT: Cross Attention in Vision Transformer

发表时间:2021
论文地址:https://arxiv.org/abs/2106.05786v1

文章目录

  • 摘要
  • 3 方法
    • 3.1 总体结构
    • 3.1.1 Inner-Patch Self-Attention Block
    • 3.1.2 Cross-Patch Self-Attention Block
    • 3.1.3 Cross Attention based Transformer
  • 结论

摘要

使用图像patch来替换transformer中的word token所需要的计算量是巨大的。

在本论文中,我们在Transformer中提出了一种新的注意机制,称为交叉注意力。在图像patch内部而不是整张图像中捕获局部信息,在单通道特征图中的图像patch之间捕获全局信息。

两个操作都比Transformer中的标准自注意力有更少的计算量。通过在patch内和patch间交替应用注意力,我们实现了交叉注意力以更低的计算代价保持性能,构建了一个称为交叉注意力Transformer(CAT)的分层网络。

3 方法

3.1 总体结构

论文解析[11] CAT: Cross Attention in Vision Transformer
如图2(a),首先在patch嵌入层将输入图像缩小到 H1=H/P,W1=W/PH_1=H/P,W_1=W/PH1=H/P,W1=W/P,并将通道数提升到 C1C_1C1。接下来是一些在不同尺度进行特征提取的CAT层。

经过上面的预处理,进入第一个stage。patch数量是 H1/N×W1/NH_1/N×W_1/NH1/N×W1/N,patch大小为 N×N×C1N×N×C_1N×N×C1。stage1输出的特征图作为 F1F_1F1

此时进入第二个stage,patch投影层执行空间到更深的操作。在通过下一层的交叉注意力块之后,生成大小为 H1/2×W1/2×C2H_1/2×W_1/2×C_2H1/2×W1/2×C2F2F_2F2。经过四个stage之后,可以得到四个不同尺度和维度的特征图。类似于基于卷积的网络,不同粒度的特征图可以用于其他的下游视觉任务。

论文解析[11] CAT: Cross Attention in Vision Transformer

3.1.1 Inner-Patch Self-Attention Block

普通多头注意力的复杂度:

论文解析[11] CAT: Cross Attention in Vision Transformer
将CNN网络中的局部卷积方法引入Transformer,来对每个patch中的像素进行自注意力,叫作Inner-Patch Self-Attention(IPSA)。

IPSA的复杂度:

论文解析[11] CAT: Cross Attention in Vision Transformer
NNN 是IPSA中的patch大小

3.1.2 Cross-Patch Self-Attention Block

提出了Cross-Patch Self-Attention Block,分开每个通道特征图,把每个通道划分为 H/N×W/NH/N×W/NH/N×W/N 个patch,在整张特征图中使用自注意力来获取全局信息。

CPSA的复杂度:

论文解析[11] CAT: Cross Attention in Vision Transformer

3.1.3 Cross Attention based Transformer

Cross Attention block包括两个IPSA块和一个CPSA块。CAT层由一些CAB组成,网络的每个stage由一些不同数量的层和一个patch嵌入层组成,如图2(a)所示。

CAB的流程:

论文解析[11] CAT: Cross Attention in Vision Transformer

结论

提出的Cross Attention更好的结合了CNN中局部特征和Transformer中全局信息的价值。它可以生成类似于CNN网络的不同尺度的特征,也可以适应不同的输入大小。CAT在一些数据集上取得了sota的表现。关键在于我们轮换使用特征图patch中的注意力和单通道特征图中的注意力来获取局部和全局信息。