CROSSFORMER: A VERSATILE VISION TRANSFORMER BASED ON CROSS-SCALE ATTENTION 论文阅读笔记
这是浙大、腾讯、哥伦比亚大学一起发表在ICCV的一篇文章,文章有三个贡献:
- 一是 Cross-scale Embedding Layer 能够提供多尺度的embedding
- 二是 Long Short Distance Attention 将自注意力机制分为了近距离和远距离分别进行处理
- 三是提出了 dynamic position bias ,能够适应不同大小的输入
- 现有的方法没有处理多尺度特征图的attention,要么是concatenate到一起从而失去了细粒度的特征,要么是没有利用多尺度特征图,为了解决这一问题,提出了本文的方法。
- 网络结构如下图:
CROSS-SCALE EMBEDDING LAYER
- 如图,其实就是用四个不同kernel size 相同stride的卷积核卷积图片然后concatenate到一起产生所谓“多尺度”的embedding,产生的embedding的由小尺度卷积核产生的通道包含细粒度的信息,由大尺度卷积和产生的通道包含粗粒度大范围的信息。
LONG SHORT DISTANCE ATTENTION
-
如上图,分为两部分,short distance attention其实就是window的attention,图中window size未3,也就是说注意力只在 3x3 的window内部做;long distance attention就是把相隔 I I I 个位置的稀疏点作为一个group进行内部的注意力,也就是上图(b)中,红色框的特征属于同一个group,group 内部进行注意力,黄色框的特征属于另一个group,这就是所谓 long distance attention。其实short distance attention适合embedding中的细粒度通道,因为刚好相邻并且不会产生重叠信息,而long distance attention适合embedding中的粗粒度通道,因为粗粒度的感受野足够大才可以使得相隔几个位置的embedding也是相邻的感受野。
-
SDA和LDA是连续的两个block,如下:
-
这样做,em,我认为的好处在于,SDA确实减少了大量的运算复杂度,LDA也降低了运算复杂度的常数项,结合起来同时也能兼具细粒度和远距离,与Focal Transformer可以说有异曲同工的地方。
-
但个人觉得,如果能分别处理就好了,也就是说,SDA只对embedding的细粒度通道部分做,LDA只对embedding的粗粒度通道部分做,是不是会更加合理一点。
DYNAMIC POSITION BIAS
- 本文用的是relative position bias,公式是这样的:
- 而B是由相对坐标作为可训练的全连接网络的输入来生成的: