论文: focal self-attentionforlocal-globalinteractionsinvisiontransformers
用于解决在Transformer中无差别计算token相似度导致的计算量过大问题。
与人类的视觉感知相似,提出越近的位置对当前处理的token的影响越大,越远的距离参考价值逐渐降低。 基于这一想法,提出了使用粒度不同的token获取key和value的值。 具体方法如下。
整体结构图
多stage堆栈的结构,随着stage的增加,token的纵横比减半,深度加倍
核心内容
首先说明名词:
Focal Level表示粒度级别,上图显示了3种粒度级别,level1、2、3
Focal window size指定每个窗口的大小,后续窗口的池化在每个窗口中执行,对应于第3部分的每个小框
Focal region size由以上窗口组成,表示对在窗口池化之后得到的值进行重构的region,与第4部分相对应
经过上述token修剪后,级别1的值用于计算查询。 由于此部分的值不是池化的,并且是最精细的粒度,因此为了获得更大的感觉区域,key和value的值将在所有level中计算。 同一窗口下的token共享同一近邻集合。
后续的attention部分的计算与origin方法相同,因此省略说明
值得注意的是,与origin方法相比,focal感受区随token数的增加呈指数增长。