CF-ViT论文粗读

ViT 你准备用了么?

Vision Transformer 最近被我学了一下,发现其机理确实能够很好的突出数据的特征,所以性能比CNN好(在大致情况下)。但是Vision Transformer 有一个主要的缺点就是,计算量会很大,参数很多,预测新图片时间会很慢。

但是我想,后面会不会有一大批来研究如何减少模型计算量的论文,果不其然,很多啊,如下面这篇:

Coarse-to-Fine Vision Transformer

论文地址:https://arxiv.org/pdf/2203.03821v1.pdf

该论文讲了一个通俗的概念

ViT划分的patch数量的多少影响模型的计算量。该论文里,作者做了一个实验,输入图像X划分了不同的patch,然后不同的patch经过Attention得到的分数如图中(b)所示,然后在(a)中去除一部分的tokens,发现:那些得分小的tokens对准确率的影响不大,那些绿色的tokens对准确率影响比较大
CF-ViT论文粗读_第1张图片

因此,作者提出的CF-VIT的想法如下:

首先,为了减少计算量,输入图像X一开始划分的patch数量少一点,也就是每一块的token比较大,然后送入VIT模型进行推理,看看推理的得分情况如何。

假如,得分情况很好,就输出推理结果;要是得分情况很差,就重新在原来得分情况的基础上,再一次细分patchs,然后送入VIT模型再次推理输出

作者的网络如下:
CF-ViT论文粗读_第2张图片
CF-ViT论文粗读_第3张图片

看下结果:

CF-ViT论文粗读_第4张图片
精确度几乎不增不减,但是计算量FLOPs减少比较大,还有图里时间增加了1-2倍。
CF-ViT论文粗读_第5张图片
对比主流的VIT发现,性能并不弱,且计算量FLOPs几乎最少。

还记得刚开始提出的VIT的问题么?

VIT计算量太大,大于CNN,但现在一步一步在减少,本文也是减少计算量的一步。

最后,想要了解其中细节就下载论文看看,其还有代码。

你可能感兴趣的:(深度学习吧,python,transformer,深度学习,计算机视觉)