清华大学提出DAT | DCN+Swin Transformer会碰撞出怎样的火花?

清华大学提出DAT | DCN+Swin Transformer会碰撞出怎样的火花?
文章图片
最近 , Transformer在各种视觉任务上都表现出了卓越的表现 。 有时Transformer模型比cnn模型具有更高的表现能力 。 然而 , 单纯扩大感受野也会引起一些问题 。 一方面 , 在ViT中使用密集的注意力会导致内存和计算成本过高 , 特征会受到超出兴趣区域的不相关部分的影响 。 另一方面 , 在PVT或SwinTransformer中采用的稀疏注意里力是数据不可知的 , 可能会限制建模长期关系的能力 。
为了缓解这些问题 , 本文提出了一种新的可变形的自注意力模块 , 该模块以数据依赖的方式选择了自注意力中的key和value对的位置 。 这种灵活的方案使自注意力模块能够聚焦于相关区域并捕获更多信息 。 在此基础上 , 提出了一种可变形注意力Transformer(DeformableAttentionTransformer)模型 , 该模型具有可变形注意力 , 适用于图像分类和密集预测任务 。 大量的实验表明 , 本文的模型在综合基准上取得了持续改进的结果 。
1简介
Transformer最初是用来解决自然语言处理任务的 。 它最近在计算机视觉领域显示出巨大的潜力 。 先锋工作VisionTransformer(ViT)将多个Transformer块堆叠在一起 , 以处理非重叠的图像patch(即视觉Token)序列 , 从而产生了一种无卷积的图像分类模型 。 与CNN模型相比 , 基于Transformer的模型具有更大的感受野 , 擅长于建模长期依赖关系 , 在大量训练数据和模型参数的情况下取得了优异的性能 。 然而 , 视觉识别中的过度关注是一把双刃剑 , 存在多重弊端 。 具体来说 , 每个querypatch中参与的key数过多会导致较高的计算成本和较慢的收敛速度 , 并增加过拟合的风险 。
为了避免过度的注意力计算 , 已有的研究利用精心设计的有效注意力模式来降低计算复杂度 。 其中有两种具有代表性的方法:
SwinTransformer采用基于Window的局部注意力来限制LocalWindow中的注意力;
PyramidVisionTransformer(PVT)则通过对key和value特征映射进行采样来节省计算量 。
手工设计的注意力模式虽然有效 , 但不受数据影响 , 可能不是最佳的 。 相关的key/value很可能被删除 , 而不太重要的key/value仍然保留 。
理想情况下 , 给定query的候选key/value集应该是灵活的 , 并且能够适应每个单独的输入 , 这样就可以缓解手工制作的稀疏注意力模式中的问题 。 事实上 , 在cnn的文献中 , 学习卷积滤波器的可变形感受野已被证明在依赖于数据的基础上有选择性地关注更多信息区域时是有效的 。
最值得注意的工作 , DeformableConvolutionNetworks(DCN) , 已经在许多具有挑战性的视觉任务上产生了令人印象深刻的结果 。 这促使想在VisionTransformer中探索一种可变形的注意力模式 。 然而 , 这种想法的简单实现会导致不合理的高内存/计算复杂度:
由Deformableoffsets引入的开销是patch数量的平方 。 因此 , 尽管最近的一些工作研究了变形机制的思想 , 但由于计算成本高 , 没有人将其作为构建强大的Backbone(如DCN)的基本构件 。 相反 , 它们的可变形机制要么在检测头中采用 , 要么作为预处理层对后续Backbone的patch进行采样 。
清华大学提出DAT | DCN+Swin Transformer会碰撞出怎样的火花?
文章图片
本文提出了一种简单有效的可变形的自注意力模块 , 并在此模块上构造了一个强大的PyramidBackbone , 即可变形的注意力Transformer(DeformableAttentionTransformer,DAT) , 用于图像分类和各种密集的预测任务 。
不同于DCN , 在整个特征图上针对不同像素学习不同的offset , 作者建议学习几组query无关的offset , 将key和value移到重要区域(如图1(d)所示) , 这是针对不同query的全局注意力通常会导致几乎相同的注意力模式的观察结果 。 这种设计既保留了线性空间的复杂性 , 又为Transformer的主干引入了可变形的注意力模式 。