Transformer广泛应用于NLP后,在CV领域也引起了广泛关注,但是将单词token替换为图像的patch使得Transformer计算量大幅增加。本文提出一种新的注意力机制Cross Attention,不再计算全局注意力而是将注意力的计算局限在patch内部来捕获局部信息,在单通道特征图之间的patch应用attention来捕获全局信息。这两种操作都比标准Self-Attention所需的计算量要小,替换为这两种操作后本文可以在降低计算成本的同时保持较好的性能,并且为解决视觉任务建立也一种称之为Ctrss Attention Transformer(CAT)的层次网络,在COCO数据集和ADE20K数据集上的实验结果证明了CAT可以作为一种通用的backbone。
Cross Attention Block (CAB) = Inner-Patch Self-Attention Block (IPSA) + Cross-Patch Self-Attention Block (CPSA)
IPSA:就是标准的基于patch的attention,即attention的输入为Bnphnpw, phpw, C大小的tensor,得到的是空间大小为phpw, phpw的attention矩阵。该模块建模了patch内部的全局关系。
CPSA:这里处理的方式和以往的改进不太一样。这里attention计算的输入为BC, nphnpw, phpw。对应的attention矩阵大小为nphnpw, nphnpw,这里计算过程中是把每个patch内部单一通道上的空间维度作为了每个patch信息的表示,从而通过相似性计算将这一维度给吸收了。这一模块基于通道独立的操作设计,构建了全局patch之间轻量的信息交互形式。