4. CoaT模型
4.1 Co-Scale机制
前面提到的co-scale mechanism是为了将跨尺度的注意力引入Image Transformer中。在这里,大致描述一下CoaT体系结构中2种类型的co-scale blocks,即CoaT Serial Block和CoaT Parallel Block。
CoaT Serial Block
图6 CoaT中的串行模块示意图
在一个典型的serial block中:
首先,使用一个patch嵌入层(2D卷积层)按一定比例对输入特征映射进行下采样,并将缩减后的特征映射flatten为一系列图像token。
然后,将图像token与附加的CLS token连接起来,并应用到多个常规注意力模块来学习图像token和CLS token之间的内部关系。
最后,将CLS token从图像token中分离出来,并将图像token reshape为二维特征映射,用于下一个串行块。
CoaT Parallel Block
图7 CoaT中的并行模块示意图
在一个典型的parallel group中,我们有来自不同尺度的串行块的输入特征序列(图像token和CLS token)。为了实现从细到粗、从粗到细和跨尺度的attention,本文提出了2种策略:
- direct cross-layer attention;
- attention with feature interpolation。
图8 direct cross-layer attention
- Direct cross layer attention: 在直接跨层注意力中,从每个尺度的输入特征中形成query、key和value向量。对于同一层中的attention,使用常规attention和当前尺度的query、key和value向量。对于不同层次的attention对key向量和value向量进行下采样或上采样,以匹配其他尺度的分辨率。然后进行cross attention,通过对当前尺度的query和对另一尺度的key和value的query来扩展常规attention。最后,将常规注意力和交叉注意力的输出相加,并应用一个共享的前馈层(FFN)。
图9 Attention with feature interpolation
- Attention with feature interpolation: 首先,利用independent conv-attention modules对不同尺度的输入图像特征进行处理。然后,对每个尺度的图像特征进行下采样或上采样,用双线性插值的方法匹配其他尺度的维数,或保持自身尺度的维数不变。属于同一尺度的特征在并行组中相加,并进一步传递到一个共享的前馈层。这样,下一步的常规注意力模块就可以通过当前步骤的特征插值来学习跨层信息。
4.2 Model Architecture
CoaT-Lite和CoaT 配置表
CoaT-Lite
图10 CoaT-Lite
CoaT
图11 CoaT
5 实验
5.1 图像分类
在大约5M、10M和20M的参数预算下,CoaT和CoaT-lite超过了所有的基于Transformer的架构。
5.2 目标检测与实例分割
在1×和3× setting下,CoaT和CoaT-lite模型都显示出比ResNet和PVT Backbone明显的性能优势。
5.3 可视化
6 参考
[1].Co-Scale Conv-Attentional Image Transformers
7 推荐阅读
又改ResNet | 重新思考ResNet:采用高阶方案的改进堆叠策略(附论文下载)
VariFocalNet | IoU-aware同V-Focal Loss全面提升密集目标检测(附YOLOV5测试代码)
最强Vision Trabsformer | 87.7%准确率!CvT:将卷积引入视觉Transformer(文末附论文下载)