CrossViT: Cross-Attention Multi-Scale Vision Transformer for Image Classification(论文阅读笔记)
Posted 木子李0306
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CrossViT: Cross-Attention Multi-Scale Vision Transformer for Image Classification(论文阅读笔记)相关的知识,希望对你有一定的参考价值。
论文来源:arxiv.org
本文作者:李炎,硕士研究生,目前研究方向为深度学习、计算机视觉。
目录
摘要
本文基于纯自注意力机制设计了一种双分支的Transformer模块用于图像分类任务,双分支的Transformer模块可以更好的提取不同尺度的特征;并重点设计了一种针对双分支Transformer的融合多尺度特征的方法,该融合方法有效且计算代价不高。在原始ViT[1]基础上有所提升。
问题描述
受启发于图像处理任务中以 CNN为核心架构的网络模型上,不同尺度的特征融合显示出很好的性能;本文致力研究将不同尺度的特征融合思想应用在vision Transformer上是否也会使其性能得到提升。
本文核心工作
-
本文提出了一种双分支Transformer来组合不同大小的图像块(即变换器中的标记)以生成更好的图像特征图
-
为了减少计算量,本文提出了Cross-Attention模块可以简单而有效的融合Token,它对每个分支采用单一的Token作为quary与其他分支交换信息。
模型
Cross-ViT整体网络模型结构如下图所示:
- CLS token:就是 Class Token ,假设将原始图像切分成共9个小图像块,最终的输入序列长度则是10,这里人为的增加了一个向量进行输入,这个人为增加的这个向量被称为 Class Token 。
那么这个 Class Token 有什么作用呢?
如果没有这个向量,也就是将9个向量(1~9)输入 Transformer 结构中进行编码,最终会得到9个编码向量,可对于图像分类任务而言,我们应该选择哪个输出向量进行后续分类呢?
因此,ViT[1]算法提出了一个可学习的嵌入向量 Class Token( 向量0 ),将它与9个向量一起输入到 Transformer 结构中,输出10个编码向量,然后用这个 Class Token 进行分类预测即可。
-
受ViT[1]启发,patch size的粒度影响ViT的准确性和复杂度;使用细粒度的补丁大小,ViT 可以执行得更好,但会导致更高的 FLOP 和内存消耗。例如,补丁大小为 1616 的 ViT 比补丁大小为 3232 的 ViT 性能表现高 6%,但前者需要多 4 倍的 FLOP。
-
模型主要由 K 个多尺度 Transformer Encoder 组成。
-
其中每个 Transformer Encoder 由两个分支组成:(1) L-Branch:一个大的(主要)分支,它使用具有更多 Transformer Encoder 编码器和尺寸更大的补丁块(Patch) (PL), (2) SBranch:一个小的(互补的)分支,以小尺寸的补丁块(Patch)(PS)运行,具有更少的编码器和更小的嵌入维度。两个分支融合在一起 L 次,最后两个分支的 ClS Token 用于预测。同时对于两个分支,本文还在多尺度变换器编码器之前添加了一个可学习的位置嵌入,用于学习 ViT [1] 中的位置信息。
多尺度特征融合:
本文尝试了四种特征融合策略:
(a)全注意力融合,其中所有 Token 捆绑在一起而不考虑 Token 的任何特征。
(b)Class Token 融合,只将 CLS Token 融合,因为它可以被视为一个分支的全局表示。
(c)成对融合,其中相对应空间位置的 Token 融合在一起,CLS Token 则分别融合。
(d) 交叉注意力(Cross-attentions),将来自一个分支的 CLS Token 和来自另一个分支的 Patch Token 融合在一起。
其中本文重点 交叉注意力(Cross-attentions) 的融合方法如下图所示:
交叉注意力(Cross-attentions)首先利用每个分支的 CLS Token 作为代理,与来自其他分支的 Patch Token 之间交换信息,然后将其反投影到自己的分支。由于 CLS Token 已经在其自己分支中的所有 Patch Token 中学习了抽象信息,因此与其他分支中的 Patch Token 交互有助于吸收不同规模的信息。在与其他分支的 Token 融合后, CLS Token 在下一个 Transformer Encoder 再次与自己的 Patch Token 交互,在那里它能够将它在其他分支学习到的信息传递给自己的 Patch Token ,以丰富每个 Patch Token 的表征的特征。
实验
实验设计
数据集
在 ImageNet1K 数据集上验证了我们提出的方法的有效性
在CIFAR10 和 CIFAR100 等小数据集上测试了我们方法的可迁移性。
实验结果
- 与其他基于 Transformer 的模型进行比较,检测效果优于其他模型,同时计算速度和参数量也减少了。
- 与基于 CNN 的模型进行对比,优于 ResNet 系列,但差于 EfficientNet 算法。
- 对比不同的融合方法,本文提出的交叉注意力(Cross-attentions)融合方法最优。
总结
本文设计了一种基于自注意力机制的双分支 Transformer Encoder 模型用于图像分类任务;同时重点设计了一种针对双分支 Transformer Encoder 的融合多尺度特征的方法 Cross-Attention ,该融合方法有效且计算代价不高。
论文代码: GitHub
其他相关文章
参考文献
[1] ViT:AN IMAGE IS WORTH 16X16 WORDS: TRANSFORMERS FOR IMAGE RECOGNITION AT SCALE(阅读笔记)
以上是关于CrossViT: Cross-Attention Multi-Scale Vision Transformer for Image Classification(论文阅读笔记)的主要内容,如果未能解决你的问题,请参考以下文章