Contextual Transformer Networks for Visual Recognition
Yehao Li, Ting Yao, Yingwei Pan, Tao Mei
IEEE 2022
Abstract
? 具有自注意力的Transformer引发了自然语言处理领域的革命性变革,以致最近在计算机视觉领域激发了Transformer的架构设计出现,在众多计算机视觉任务中取得了有竞争力的结果。然而,大多数现有设计直接在2D特征图上使用自注意力来获得基于每个空间位置的隔离查询和键对的注意力矩阵,但未充分利用相邻键之间的丰富上下午。在这项工作中,我们设计了一个新颖的Transformer风格的模块,即Contextual Transformer(CoT)块,用于视觉识别。这样的设计充分利用了输入键之间的上下文信息来指导动态注意力矩阵的学习,从而增强了视觉表示的能力。从技术上讲,CoT块首先通过一个3x3的卷积对输入键进行上下文编码,从而产生输入的静态上下文表示。我们进一步将编码键与输入查询连接起来,通过两个连续的1x1的卷积来学习动态多头注意力矩阵。学习到的注意力矩阵与输入值相乘,实现输入的动态上下文表示。静态和动态上下文特征表示的融合被作为最终输出。我们的CoT块很有吸引力,因为它可以轻松替换ResNet架构中的每个3x3卷积,从而产生一个名为Contextual Transformer Networks(CoTNet)的Transformer式主干。通过对广泛应用(例如图像识别、对象监测和实例分割)的广泛实验,我们验证了CoTNet作为强大主干网络的优越性。
要解决的问题
- 自注意力机制相比卷积,更能有效提取全局特征
- 但是传统的自注意力忽略了相邻键之间的丰富上下文
Method
1. Contextual Transformer Networks
将上下文信息挖掘和自注意力学习集成到一个统一的架构中
下图是将CoT集成到ResNet-50、ResNeXt-50的两种结构,
2. Connection with Previous Vision Backbones
? 应该是作者的思路来源
- Blueprint Separable Convolution,用1 x 1的点卷积加上k x k深度卷积来近似传统卷积,旨在减少沿深度轴的冗余,
- Dynamic Region-Aware Convolution,引入了一个卷积核生成模块(由两个连续的1 x 1组成)来学习针对不同空间位置的区域特征的专用卷积核,CoT相比这个,改进的地方在于充分利用了上下文和查询键之间的复杂特征交互地进行自注意力学习
- Bottleneck Transformer,旨在通过用Transformer风格的模块代替3 x 3的卷积来增强ConvNet的自注意力机制,但是采用的全局多头自注意层,计算成本比较高,因此,对于相同的 ResNet 主干,Bottleneck Transformer中的 BoT50 仅将最后三个 3×3 卷积替换为 Bottleneck Transformer 块,而 CoT 块可以完全替换整个深度架构中的 3×3 卷积。此外,CoT中还包含了丰富的上下文信息
总结
- 这篇论文的创新点在于将transformer中的自注意力机制与卷积相结合,捕捉图像中静态和动态的上下文信息,既有自注意力学习的能力,又包含了上下文信息,将ResNet中的3x3卷积替换为CoT block,既减少了参数量,又提高了性能
- 用两个1x1的卷积应该是融合Query和结合了上下文信息的Key
|