Co-scale conv-attentional image transformer

文章地址:添加链接描述
文章提出了CoaT结构,使用了Co-scale和卷积-注意力机制。其中Co-scale可以使不同层的特征进行交互。通过串联的和并行的block来实现。卷积-注意力机制通过在factorized attention module实现相对位置编码来实现的。CoaT可以使transformer具有多尺度和上下文建模的能力。
接着作者对比了一下卷积和transformer,(1)卷积通过不断的下采样来增大感受域,注意力机制的感受野通过每一个token与其他所有token之间的计算就可以轻易地获得。(2)卷积的权重在训练中获得,transformer是在每一对token之间动态的获得。(3)transformer相比卷积更具有适用性和一般性。(3)transformer计算量庞大。
作者的发现:多尺度建模可以给表征学习带来巨大的提升,并且由于相对位置编码和卷积之间存在的内在联系,使得注意力设计的类似卷积成为可能。co-scale vs multi-scale :CoaT包含了一些高度模块化的串联和并联模块,使得精细到粗略,粗略到精细,跨尺度scale的注意力在tokenized表征上可以进行交互。conv-attention VS attention :我们使用factorized attention并结合逐深度卷积相对位置编码和卷积位置编码。
回顾传统的注意力,我们可以发现:
在这里插入图片描述
计算复杂度高,为了解决这个问题需要将图片进行分块,但是粗略的分块限制了每个patch的细节建模能力。为了解决这个问题,co-scale通过卷积-注意力模块,来提供增强了的多尺度图片特征。
Factorized Attention Mechanism:
将原始的softmax attention map分解为两个函数ϕ(·), ψ(·),那么新的计算公式为:
在这里插入图片描述
作者用identity来表示ϕ(·),用softmax来表示ψ(·)。新公式为:
在这里插入图片描述
空间复杂度为(NC’+NC+CC’),时间复杂度为(NCC’)。如何计算的呢?
K:NXC’ V:NXC
K转置:C’XN
softmax不会改变复杂度,K转置XV=C’XN 点乘 NXC = 复杂度为C’NC

Convolution as Position Encoding
尽管上述公式解决了计算压力,但是如果我们有两个q1和q2,他们相等且来自一个Q,那么如果没有一个位置编码的话,那么token的输出就独立于输入,那么局部相邻的特征就没有任何不同,比如蓝色的天空和大海就会分割成相同的种类。
在这里插入图片描述
Convolutional Relative Position Encoding.
我们可以通过结合相对位置编码和大小为M窗口,来生成相对注意力特征图EV。新的注意力计算公式:
在这里插入图片描述
注意力特征图可以计算为E:
在这里插入图片描述
Eij表示为在每一个窗口M,q和v的关系。EV聚合了关于query的所有值向量。公示来源
在这里插入图片描述
为了降低复杂度,我们简化EV,通过考虑query的每一个通道,位置编码和值向量作为内部头,每一个头可以用下面(8)公式表示,并且可以用逐深度卷积来计算EV。(8)代表的是一个通道,而(9)代表所有的通道。
在这里插入图片描述
VIT有两种类型的token,因此这里用2D逐深度卷积。然后和classtoken进行拼接。
在这里插入图片描述
卷积位置编码
我们在输入特征前插入位置关系去增强相对位置编码的影响。在输入X插入逐深度卷积,我们设置卷积的核为3,对于不同的注意力头产生的特征图我们将卷积核分别设置为3,5,7。
在这里插入图片描述
在这里插入图片描述

	**Co-Scale Conv-Attentional Transformers**
	引入了串联和并联的block。
	首先是串联结构:

在这里插入图片描述
首先通过patchembedding进行下采样,然后将图片展平为序列,然后和classtoken进行concat,然后使用多个卷积注意力模块,最终将classtoken和image分开,将图像reshape为2D,然后输送到下一个串联的模块。
接着是并行模块:
在这里插入图片描述
为了实现并行模块的交互,有两种策略:(1)直接进行层之间的注意力,(2)使用带有特征插值的注意力策略。这里我们使用带有特征插值的注意力策略。
第一种策略:对于相同层之间的注意力,我们使用卷积注意力模块,对于不同层之间的注意力,我们首先将key和value采样到和别的层一样的分辨率。然后我们实行跨注意力,query来自当前层,value来自其它层。最后我们将卷积注意力输出和交叉注意力结果相加。
第二种策略:输入图像特征被每个卷积注意力模块处理,然后使用线性采样使每一个尺度与其他尺度相匹配。属于同一尺度的特征相加,进一步传递给FFN。
模型结构
CoaT-Lite:
在这里插入图片描述
CoaT:我们将第2,3,4模块的输出和classtoken传递到三个分离的并行模块。将最后的三个classtoken进行聚合,
在这里插入图片描述
除此以外,作者还研究了其他尺寸的框架。
在这里插入图片描述
实验结果
图像分类:图片224x224,300epoch。作者将一般的模型结构分为ConvNets和ViTNets两类。
在这里插入图片描述
消融实验:
1:验证相对位置编码(CRPE)和位置编码(CPE)的有效性。
在这里插入图片描述
2;验证co-scale的有效性。
在这里插入图片描述
3;计算复杂度
在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值