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


虽然DeformableDETR通过在每个检测头设置更少的key来减少这个计算开销 , 但是 , 在Backbone中 , 这样少的key是次要的 , 因为这样的信息丢失是不可接受的(见附录中的详细比较) 。
同时 , 在先前的工作中的观察显示 , 不同的query在视觉注意力模型中具有相似的注意力图 。 因此 , 选择了一个更简单的解决方案 , 为每个query共享移动的key和value以实现有效的权衡 。
具体来说 , 本文提出了DeformableAttention , 在特征映射中重要区域的引导下 , 有效地建模Token之间的关系 。 这些集中的regions由offset网络从query中学习到的多组Deformablesampling点确定 。 采用双线性插值对特征映射中的特征进行采样 , 然后将采样后的特征输入key投影得到DeformableKey 。
1、Deformable注意力模块
清华大学提出DAT | DCN+Swin Transformer会碰撞出怎样的火花?
文章图片
如图2(a)所示 , 给定输入特征图 , 生成一个点的统一网格作为参考 。 具体来说 , 网格大小从输入的特征图大小降采样一个系数 ,,。 参考点的值为线性间隔的2D坐标 , 然后根据网格形状将其归一化为范围 , 其中表示左上角 , 表示右下角 。
为了获得每个参考点的offset , 将特征映射线性投影到querytoken , 然后输入一个轻量子网络
清华大学提出DAT | DCN+Swin Transformer会碰撞出怎样的火花?
文章图片
和分别表示deformedkey嵌入和value嵌入 。 具体来说 , 将采样函数
清华大学提出DAT | DCN+Swin Transformer会碰撞出怎样的火花?
文章图片
其中和
清华大学提出DAT | DCN+Swin Transformer会碰撞出怎样的火花?
文章图片
其中
2、Offset生成
如前面所述 , 采用一个子网络进行Offset的生成 , 它分别消耗query特征和输出参考点的offset值 。 考虑到每个参考点覆盖一个局部的s×s区域(×是偏移的最大值) , 生成网络也应该有对局部特征的感知 , 以学习合理的offset 。
清华大学提出DAT | DCN+Swin Transformer会碰撞出怎样的火花?
文章图片
因此 , 将子网络实现为2个具有非线性激活的卷积模块 , 如图2(b) 。 所示输入特征首先通过一个5×5的深度卷积来捕获局部特征 。 然后 , 采用GELU激活和1×1卷积得到二维偏移量 。 同样值得注意的是 , 1×1卷积中的偏差被降低 , 以缓解所有位置的强迫性偏移 。
3、Offsetgroups
为了促进变形点的多样性 , 在MHSA中遵循类似的范式 , 并将特征通道划分为G组 。 每个组的特征分别使用共享的子网络来生成相应的偏移量 。 在实际应用中 , 注意力模块的Head数M被设置为偏移组G大小的倍数 , 确保多个注意力头被分配给一组deformedkeys和values 。
4、Deformable相对位置偏差
相对位置偏差对每对query和key之间的相对位置进行编码 , 通过空间信息增强了普通的注意力 。 考虑到一个形状为H×W的特征图 , 其相对坐标位移分别位于二维空间的[?H , H]和[?W , W]的范围内 。 在SwinTransformer中 , 构造了相对位置偏置表 , 通过对表的相对位移进行索引 , 得到相对位置偏置B 。 由于可变形注意力具有连续的key位置 , 计算在归一化范围内的相对位移[?1 , +1] , 然后在连续的相对偏置表中插值 , 以覆盖所有可能的偏移值 。
5、计算的复杂度
可变形多头注意力(DMHA)的计算成本与PVT或SwinTransformer中对应的计算成本相似 。 唯一的额外开销来自于用于生成偏移量的子网络 。 整个模块的复杂性可以概括为:
清华大学提出DAT | DCN+Swin Transformer会碰撞出怎样的火花?
文章图片
其中 , 为采样点的数量 。 可以看出 , offset网络的计算代价具有线性复杂度w.r.t.通道的大小 , 这与注意力计算的成本相对较小 。 通常 , 考虑用于图像分类的Swin-T模型的第三阶段 , 其中 , 单个块模块中注意力模块的计算成本为79.63MFLOPs 。 如果插入可变形模块(k=5) , 额外的开销是5.08MFlops , 这仅是整个模块的6.0% 。 此外 , 通过选择一个较大的下采样因子 , 复杂性将进一步降低 , 这使得它有利于具有更高分辨率输入的任务 , 如目标检测和实例分割 。