CrossViT: Cross-Attention Multi-Scale Vision Transformer for Image Classification
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。
作者探索了四种多尺度混合方式:
- All-attention。将两个 branch 所有的 token concat 一起。计算消耗高。
- Class token。sum 两个 CLS token。
- Pairwise。将两个 branch 对应位置的 token 混合。由于 patch 大小不同,导致 patch 数量不同,需要先插值对齐。
Cross-attention 如下图。以 Large Branch 为例。Large Branch 的 CLS 作为 q,Small Branch 和 Large Branch 的 CLS Concat 后作为 k 和 v。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Cloni!