CVPR 2023 Highlight | AbSViT:拥有自上而下注意力机制的视觉Transformer

2023-05-07 12:03 752 阅读 ID:1032
将门
将门

当一个场景里有多个物体时,正常的vision transformer会highlight出所有的物体。然而在实际生活中,当我们执行一个任务的时候,我们只会关注和当前任务有关的物体,也就是说,人类的attention不仅和image本身有关(bottom-up attention),而且是受high-level的task/goal调控的(top-down attention)。在这篇工作中,我们从Bayesian Inference的角度出发,得到了一个拥有top-down attention能力的vision transformer(AbSViT)。我们可以用自然语言去控制它的attention,这一特性带来了在一系列Visual-Language任务上的提升。我们也可以把它作为一个general backbone,用来提升image classification,semantic segmentation,以及model robustness的性能。

普通的vision transformer会highlight出所有显著的物体(bottom-up attention),然而我们的模型的attention可以受用户控制(top-down attention)。

论文标题:Top-Down Visual Attention from Analysis by Synthesis

论文链接:https://paperswithcode.com/paper/top-down-visual-attention-from-analysis-by

代码链接:https://github.com/bfshi/AbSViT
项目主页:https://sites.google.com/view/absvit

零、你或许需要不止一种Attention

假如你在吃生蚝。一桌子生蚝。一口一个那种。你需要做的是什么?每次稳准狠抓起一只生蚝,吞下去,然后再去抓下一个。这个时候,如果你的大脑是一个vision transformer(ViT),那么你得到的output可能是这样的:

图片来自ECCV2022:Detecting Twenty-thousand Classes using Image-level Supervision。很cool的paper,推荐大家去看。

没错,ViT会highlight出来所有的生蚝。这是因为ViT的attention是bottom-up attention,即attention只由input image决定,这种attention会把input中所有的object都圈出来。

然而我们吃生蚝不能一口全吃掉,得一个一个吃。而且我们可能还是带着任务来吃的,比如先挑最大最肥的吃。

这时我们就需要另外一种attention,叫做top-down attention,意思就是我们不想关注到图片中所有的object,而是只去关注和当前任务相关的object(比如那只首当其冲的生蚝)。

所以,如果让ViT和人类一起吃生蚝,ViT估计吃不过人类。我们需要的,就是把top-down attention的能力加入到ViT中,而一个只有生蚝受伤的世界就此诞生。

一、当我们在做Top-Down Attention,我们到底在做什么

在做Bayesian Inference。这是我们的一个大胆猜想。至于这两个八竿子打不着的东西是怎么联系在一起的,让我们先看张图片:

                                                                      Jastow rabbit-duck

这种图叫做bistable image。它的神奇之处在于,你既可以看出来一只兔子,也可以看出来一只鸭子。更神奇的地方是,你可以在兔子和鸭子之间无缝切换:如果有人告诉你这是一只兔子,你就能看出一只兔子,而如果有人告诉你这是只鸭子,你就能看出鸭子。

那么问题来了:我们的大脑是如何做到这种可控制的无缝切换的呢?有一种比较流行的猜想,叫做Analysis by Synthesis [2],它大概意思就是说,我们的大脑实际上在做Bayesian Inference,即我们对一张图片的认知不仅受图片本身影响,还受一个high-level的prior调控。如果prior告诉我们这是只兔子(比如我们心里认定这是只兔子,或者别人告诉我们这是只兔子),我们就会识别出一只兔子,反之亦然。

说到这,其实就和之前的top-down attention有些联系了,因为top-down attention本质上也是,我们想要识别哪个物体,我们就会识别出哪个物体。比如,我们想要找到最大最肥的生蚝,我们就可以识别出那个最大最肥的生蚝。这个过程中,我们识别出哪个物体,也是受一个high-level prior调控的,而prior其实就是我们当前的task。

以上是一些intuitive的解释,而top-down attention和Bayesian Inference有没有数学上的联系呢?也有。我们在文章中展示了,如果把一个视觉系统看作正在解一个Bayesian Inference,那么去检查它每一层的优化过程,会发现它是在解一个sparse reconstruction的问题,并且这个sparse reconstruction是受一个top-down prior-related signal调控的。结合我们之前一篇文章 [1] 中的结论:sparse reconstruction和visual attention在功能上是等价的,那么我们就可以得出,Bayesian Inference其实是在每一层计算一个受top-down signal调控的visual attention。

二、AbSViT:拥有Top-Down Attention的ViT

之前我们介绍了,我们可以把top-down attention看作Bayesian Inference,而Bayesian prior就是我们的task。那么我们是不是可以建造一个网络,让它学会Bayesian Inference,它就等同于拥有了top-down attention呢?

我们就建造了这样一个网络,我们管它叫 AbSViT(Analysis-by-Synthesis Vision Transformer)。下面来介绍一下网络结构和训练方法。

AbSViT的网络结构

我们的目标很简单,只要让网络的输出不仅跟input image有关,还能受task-related prior调控。于是我们设计了这样一个结构:

                                                                      AbSViT网络结构

网络分为feedforward部分和feedback部分。feedforward部分就是一个正常的ViT,而feedback部分每层包含一个linear decoder。网络的运行分四步,第一步做正常的feedforward;第二步计算output token和一个prior token ξ 的相似度(这里 ξ 代表task,比如在Vision-Language Task里它可以是一个language embedding,或者在普通的image classification/segmentation中,它可以是一个learnable的vector),并用相似度去reweight output tokens;第三步将reweight过的tokens经过feedback部分,作为top-down input送回每一层的self-attention里;第四步再做一次feedforward,但是这次每一层的self-attention有额外的top-down input。

至于self-attention如何处理额外的top-down input,我们的做法是把它加在value tokens上面,而保持query/key不变(这个设计是从我们的理论推导得来的,感兴趣的话可以参考原文):

                                                           Self-attention with top-down input.

AbSViT的训练方法

除了正常的supervised loss之外,由于我们想让网络学会Bayesian Inference,所以还要加一个额外的loss。这里我们用了类似VAE中的loss(VAE就是通过训练来逼近Bayesian Inference),具体有两个部分:

三、实验结果

我们所有的model都在ImageNet-1K上训练,对于不同downstream task会在相应的数据集上微调。

首先我们检验一下在ImageNet上训出来的模型有没有学到top-down attention。具体地,我们随机抽取ImageNet中两张图片并拼在一起,用相应类别的prototype(最后一层Linear中对应的weight)作为prior,看看AbSViT的attention会不会随不同prior变化:

                                                          Top-down attention的可视化

我们发现,对于不同prior,网络的attention会集中在相应的object上,并且分类结果也会相应改变。这说明AbSViT已经学到了一定程度的top-down attention(虽然ImageNet基本只包含单物体image)。

下面是一些实验结果。首先,对于Vision-Language任务(比如VQA),我们可以把language作为prior,去控制模型的attention。这样可以让我们对每个图片提取和当前task更相关的feature,从而提升一定的性能:

                     我们比较了AbSViT和几种baseline在VQA和zero-shot image retrieval上的性能。
                              我们将AbSViT的attention和人类在VQA任务上的attention进行了比较。

除此之外,AbSViT也可以作为general backbone,提升ImageNet classification,semantic segmentation以及robustness的性能。

ImageNet classification and robustness:

我们在ImageNet-1k(Clean)上进行了训练与测试,并测试了在ImageNet-C(IN-C),ImageNet-A(IN-A),ImageNet-R(IN-R)和ImageNet-SK(IN-SK)上的robustness。

Semantic segmantation:

我们分别比较了把ViT和AbSViT作为backbone时,在PASCAL VOC,Cityscapes,以及ADE20K上的semantic segmentation性能。

四、一些总结与思考

其实AbSViT可以看作一个encoder-decoder结构,相信大家在不同的文章中可能都见到过类似的结构,只不过这次我们把它和top-down attention联系到了一起,可以算是从另一种角度解释了generative model在discriminative model中的作用。

但是事实上,AbSViT中的generative model其实并不能做到真正的generate(参考文章的Limitation部分),因为我们发现,强迫它的generative能力过强会导致学到的feature不适合做discriminative task。然而,最近有些文章 [3] 发现large-scale generative model(比如stable diffusion)的feature非常适合做segmentation (注意,segmentation也算是discriminative task)。所以,对于discriminative task,到底需要学到多强的generative capability才是最优的,而不同的generation pipeline(比如MAE vs. stable diffusion)学到的feature又有什么区别,是一个值得思考的问题(这里感谢 @Xudong Wang 指点)。

另外,由于这篇文章中的AbSViT都是用ImageNet supervision去pretrain的,而我们发现这样子学到的top-down attention其实比较弱(因为ImageNet基本都是single-object classification,并不涉及multi-object的top-down attention),所以下一步可能需要用unsupervised或者vision-language pretraining的方式去学习一个更强的top-down attention。

参考文献

[1] Shi, Baifeng, et al. "Visual attention emerges from recurrent sparse reconstruction."arXiv preprint arXiv:2204.10962(2022).

[2] Yuille, Alan, and Daniel Kersten. "Vision as Bayesian inference: analysis by synthesis?."Trends in cognitive sciences10.7 (2006): 301-308.

[3] Xu, Jiarui, et al. "Open-Vocabulary Panoptic Segmentation with Text-to-Image Diffusion Models."arXiv preprint arXiv:2303.04803(2023).

作者:史百丰

来源:https://www.zhihu.com/question/585474435/answer/2951117833

免责声明:作者保留权利,不代表本站立场。如想了解更多和作者有关的信息可以查看页面右侧作者信息卡片。
反馈
to-top--btn