论文:Focal Self-attention for Local-Global Interactions in Vision Transformers
用于解决Transformer中无差别计算token相似度导致的计算量过大问题。
文章提出,与人类视觉感知相似,越近距离的位置对当前处理的token的影响越大,距离越远则参考价值逐渐降低。根据这种想法,提出使用不同粒度的token获取key和value的值。具体方法如下:
整体结构图
一种多stage堆叠的结构,随stage增加,token的长宽减半,depth加倍
核心内容
首先解释名词:
Focal Level表示粒度级别,上图展示的为3种粒度级别,Level 1,2,3
Focal window size,指的是每个窗口的大小,后续的窗口池化就是在每个窗口中执行的,对应第3部分的每个小框
Focal region size,是由上面的window组成的,表示在经过窗口池化后得到的值再重新组成的region,对应第4部分
在经过上述token裁剪后,Level1的值会被用于计算query,因为这部分的值没有被池化,是最细粒度的,为了获得更大的感受野,key和value的值会在所有level中均加以计算。同一窗口下的token将分享相同的邻域集。
后续有关attention部分的计算与origin方法无异,不再赘述
值得注意的是,与origin方法相比,focal的感受野会随着token数量的增加呈指数级增长。