conference: #ICCV 2021
authors: Chun-Fu (Richard) Chen, Quanfu Fan, Rameswar Panda, MIT-IBM Watson AI Lab
link: https://arxiv.org/abs/2103.14899
code:

Contribution

通过多尺度的特征提取,然后双 branch 之间交互来混合多尺度信息。

Methods

使用不同大小的 patch 进行多尺度特征提取。使用 CLS token 混合当前 branch 的 patch 信息同时与其他 branch 交互。

每一层 Multi-scale transformer encoder,首先经过 transformer encoder 来提取当前尺度信息,然后经过 cross-attention 进行不同尺度之间的交互。到下一层 Multi-scale transformer encoder 时,上一层得到的 CLS 已经混合了另一 branch 的信息,又经过 transformer encoder 将学习到的信息传递给自己 branch 的 patch token。

作者探索了四种多尺度混合方式:

  1. All-attention。将两个 branch 所有的 token concat 一起。计算消耗高。
  2. Class token。sum 两个 CLS token。
  3. Pairwise。将两个 branch 对应位置的 token 混合。由于 patch 大小不同,导致 patch 数量不同,需要先插值对齐。

    Cross-attention 如下图。以 Large Branch 为例。Large Branch 的 CLS 作为 q,Small Branch 和 Large Branch 的 CLS Concat 后作为 k 和 v。
    Cross-attention module for large branch