论文小综 | Using External Knowledge on VQA

2020 年 10 月 18 日 开放知识图谱

本文转载自公众号:浙大KG。




本文作者:陈卓,浙江大学在读博士,主要研究方向为图神经网络和知识图谱表示学习


我们生活在一个多模态的世界中。视觉的捕捉与理解,知识的学习与感知,语言的交流与表达,诸多方面的信息促进着我们对于世界的认知。作为多模态领域一个典型的场景,VQA(视觉问答)顾名思义,也就是结合视觉的信息来回答所提出的问题。其于15年首次被提出[1],涉及的方法从最开始的联合编码,到双线性融合,注意力机制,组合模型,场景图,再到引入外部知识,进行知识推理,以及使用图网络,近年来取得了长足发展。
传统的VQA仅凭借视觉与语言信息的组合来回答问题,而近年来许多研究者开始探索外部信息对于解决VQA任务的重要性。


如上图所示,这里的VQA pair中,要回答问题“地面上的红色物体能用来做什么”,要想做出正确的回答“灭火”,所依靠的信息不仅来源于图片上所识别出的“消防栓”,还必须考虑到来自外部的事实(知识)“消防栓能灭火”作为支撑。这就是一个典型的VQA上应用外部知识的场景。

接下来我将按时间顺序结合5篇论文简述在VQA上应用外部知识的方法,做相应的梳理。



Ask Me Anything: Free-Form Visual Question Answering Based on Knowledge From External Sources
发表会议:CVPR 2016
论文链接:https://www.cv-foundation.org/openaccess/content_cvpr_2016/html/Wu_Ask_Me_Anything_CVPR_2016_paper.html

推理与知识的实际存储进行分离是基于外部知识VQA相关论文所持的观点。该论文核心思想是将自动生成的图像描述与外部的Knowledge bases融合,以实现对问题的预测。其中生成图像描述的方法借鉴了同年作者发表的了一篇文章[5]:给定一张图像,先预测图像中各种属性,然后再将这些属性代替之前的 CNN 图像特征,输入到 RNN 当中生成语句。这个简单的操作使他们的图像标注模型在当年 COCO图像标注大赛上排名第一。添加中介属性减小双模态鸿沟的方法,也用在了本文中。

对于一个给定的V-Q pair,首先用CNN提取图片特征属性,然后利用这些检测到的属性,使用sparql查询语句从knowledge base比如DBpedia中提取出图像相关描述的一个段落,利用Doc2Vec对这些段落编码。同时,根据图片特征属性使用Sota的image caption方法形成图像对应的段落特征表达。

最后将上面两种信息以及编码的属性结合在一起并输入作为一个Seq2Seq模型的初始初始状态,同时将问题编码作为LSTM的输入,利用最大似然方法处理代价函数,预测答案。

该方法的可解释性相对于端到端的模型而言强了许多,这也是后续许多模型采用的思想,即各种特征融合到一起然后丢到一个递归网络例如LSTM中。最后在COCO-QA数据集上取得了Sota效果。



FVQA: Fact-Based Visual Question Answering


发表会议:TPAMI 2018
论文链接:https://ieeexplore.ieee.org/abstract/document/8046084

既然knowledge 和 reasoning 对 VQA 都很重要,那么就可以考虑将它们两个结合在一起,进行显示推理。和以往直接把图像加问题直接映射到答案不同,作者提出的Ahab[3]模型的答案是可追溯的,就是通过查询语句在KG中的搜索路径可以得到一个显式的逻辑链。这也是一种全新的能够进行显式推理的 VQA 模型。并且,他们提出了一种涉及外部知识的VQA任务。它首先会通过解析将问题映射到一个 KB 查询语句从而能够接入到已有知识库中。同时将提取的视觉概念(左侧)的图链接到DBpedia(右侧)里面,如下图所示

同期发表的FVQA是对其的改进和梳理,并且贡献了这方面很重要的数据集:除了一般的图片、问题、回答以外,这个数据集还提供了支撑这一回答的事实Facts事实集合(参考数据来源于DBpedia, Conceptnet, WebChild三个数据库),共包括4216个fact。某种意义上来说,该数据集是基于fact去针对性构建的。具体如下:

在实际的数据中,fact以关系三元组的形式表示,其中的relationship使用来自于数据库中已有的定义
模型的第一部分和ahab类似,检测图像中的视觉概念,然后将他们与知识库对齐并连接到subgraph中。第二步将自然语言式的问题映射到一个查询类型,然后相应地确定关键的关系类型,视觉概念和答案源。再根据上面的信息构建一个特殊的查询会去请求上一步当中建立好的图,找到所有满足条件的事实。最后通过关键词筛选得到对应问题的答案。



OK-VQA: A Visual Question Answering Benchmark Requiring External Knowledge


发表会议:CVPR 2019
论文链接:https://openaccess.thecvf.com/content_CVPR_2019/html/Marino_OK-VQA_A_Visual_Question_Answering_Benchmark_Requiring_External_Knowledge_CVPR_2019_paper.html

该文章[6]的问题背景是,对于已有的小部分需要外部知识的数据集,依赖于结构化知识(例如上文提到的FVQA)。而已有的VQA数据集,问题难度普遍不高,标准VQA数据集,超过78%的问题能够被十岁以下儿童回答。

于是,作者提出并构建了一个(最)大规模的需要外部知识的数据集( Outside Knowledge VQA ),并且在OK-VQA数据集上就目前最好的VQA模型提供了benchmark实验。与此同时,提出了一种ArticleNet的方法,可以处理互联网上的非结构化数据来辅助回答其中的问题。

数据集大小和对比如下:

因为标准VQA数据集质量不高(难度低),所以作者自行请MTurk工人,从COCO数据集中进行了数据采集、问题搜集、问题质量筛选、问题回答。同时通过过滤操作,降低了bias的影响,减少文本对于某些回答的偏差(如 Is there ...)。同时考虑了长尾效应。就数据分类而言,划分了10+1(other)个类别,保证问题类型的互斥。

图片场景覆盖了COCO总共的365个场景中的350.。保证了覆盖率和分布的合理性。

就ArticleNet模型而言,其分为三步:(1)从图片(pre-trained+ scene classifiers)和问题pair中搜集关键字,并组合成可能的query (2)使用wiki的API进行检索,获得排名最高的几个文章。(3)基于query 的单词在这几篇文章中得到最有可能的句子。(4)【可选】从句子中得到最有可能的词作为答案。

ArticleNet模型可以与许多已有的VQA模型进行拼接以提升模型在外部知识VQA场景下性能。作者进行了相应实验:

其中ArticleNet的结合方法是将sentence与具体模型中某一层的输出向量进行一个向量拼接,以捕获外部信息。ArticleNet单独作用的方法可能一般(依赖于互联网数据,比较死板),但是如何和其他模型结合e.g. mutan、ban(end-2-end),效果都会有提升。同时其并不是和VQA模型一起训练,可以单独训练。如下是ArticleNet在其中起作用的例子:



Out of the Box: Reasoning with Graph Convolution Nets for Factual Visual Question Answering


发表会议:NeurIPS 2020
论文链接:http://papers.nips.cc/paper/7531-out-of-the-box-reasoning-with-graph-convolution-nets-for-factual-visual-question-answering

前文提出的方法大多类似于组合模型。此外,近几年也有涉及到图来解决外部知识VQA问题的方法[7]。

该文章的作者基于FVQA数据集,把之前深度网络筛选事实的这一训练过程用图卷积网络代替,成为一个端到端的推理系统,用于具有知识库的视觉问题解答。

一共分为七个步骤,给定图像和问题,首先使用相似性评分技术根据图像和问题从事实空间获得相关事实。使用LSTM模型从问题预测关系,筛选fact来进一步减少相关事实及其实体的集合。然后分别进行图像视觉概念提取,问题的LSTM嵌入,以及事实词组的的LSTM嵌入,将图像的视觉概念multi-hot向量和问题的lstm嵌入向量组合,并与每一个实体的LSTM嵌入拼接,作为一个实体的特征表示,同时也是作为GCN模型里图上的一个节点。图中的边代表实体之间的关系。最后将GCN输出的每一个实体节点特征向量作为多层感知机二元分类模型的输入,最后输出的结果通过argmax得到最终的决策结果。

模型在双层GCN以及top3 relation的设定下,超过了FVQA的方法大概10%。(58.7%->69.3),结果如下:



Mucko: Multi-Layer Cross-Modal Knowledge Reasoning for Fact-based Visual Question Answering


发表会议:IJCAI 2020
论文链接: https://arxiv.org/pdf/2006.09073

作者对比了前人的工作,一个方向是将问题转化成关键词,然后在候选事实中根据关键词匹配检索出对应的支撑事实的pineline方式,比如前文所提的FVQA,但是如果视觉概念没有被问题完全提及(比如同义词和同形异义词)或者事实图中未捕获提及的信息(比如它问红色的柱子是什么,却没有提到消防栓),那这类方法就会因为匹配而产生误差。另一个方向将视觉信息引入到知识图中,通过GCN推导出答案,就比如前文提到的out of the box模型。虽然解决了上面的问题但是每个节点都引入了相同且全部的视觉信息,而只有一部分的视觉信息和当前节点是相关的,这样会引入噪声。并且每个节点都是固定形式的的视觉-问题-实体的嵌入表示,这使得模型无法灵活地从不同模态中捕获线索。而本文[8]则较好地解决了上述问题。

文章的出发点是将图像表示成一个多模态的异构图,其中包含来自不同模态三个层次的信息(分别是视觉图、语义图和事实图),来互相补充和增强VQA任务的信息。具体来说,视觉图包含了图像中的物体及其位置关系的表示,语义图包含了用于衔接视觉和知识的高层语义信息,事实图则包含图像对应的外部知识,它的构造思想参考了out of the box 模型。

然后进行每个模态内的知识选择:在问题的引导下确定每个节点和边在内部图卷积过程中的分数权重占比,然后进行常规的update操作。也就是说在跨模态之前,先独立选择单个模态内有价值的证据,让和问题相关性强的节点及边,在图内部卷积过程中占更大的权重。这三个模态内部的卷积操作都是相同的,只是节点和边的表示不同。

最后,跨模态的知识推理是基于part2模态内的知识选择的结果。考虑到信息的模糊性,不同图很难显式地对齐,所以作者采用一种隐式的基于注意力机制的异构图卷积网络方法来关联不同模态的信息,从不同层的图中自适应地收集互补线索并进行汇聚。包括视觉到事实的卷积和语义到事实的卷积。比如视觉到事实的卷积场景中,对于事实图中的每个节点vi,计算视觉图中每个节点vj和它在问题引导下的相似度注意力分数,越互补的节点它的相似度分数就越高,然后根据这个分数对视觉图加权求和,得到事实图中每个节点来自视觉图层的事实互补信息。

分别迭代地执行Part2模态内的知识选择和Part3跨模态的知识推理,执行多个step可以获得最终的fact实体表示,并将其传到一个二元分类器,输出概率最高的实体当做预测的答案。 

模型在三个数据集上验证了实验结果。该模型在FVQA上表现很好:

另外一个数据集Visual7W KB也和FVQA类似,问题是直接根据Conceptnet生成的。不同点在于他不提供fact。可以看到结果也明显好于Sota。

第三个数据集OK-VQA比较特殊,没有知识库作为参考,知识跨度大难度高,sota只有30%不到。该模型在其上表现的不太好,不过还是比Sota要高大概0.7%。原因猜测是光凭借单一的外部知识库可能不足以对ok-vqa达到较大提升,所以ok-vqa问题在未来实际上还有很大的提升空间。

该模型另外一个优点是结果具有比较好的解释性。上图是FVQA数据下测试的结果。把fact graph中最重要fact所对应的top2视觉和语义对象节点,用虚线连接,虚线上的值表示了跨模态卷积中不同层哪些节点对结果影响重要性更大,结果比较直观。热力条根据最后特征融合时的gate值得到,密度越大则代表对应位置通道的重要性越高。可以发现,在大多数的情况下事实信息会更重要,也就是密度最大。因为FVQA中97.3%的问题都是需要额外知识才能回答的。而密度第二大的区域往往会由问题的类型决定是视觉更重要还是问题更重要。比如第二个图中问题里面的hold by这个词无法在图片中具体体现,所以所以语义信息的占比会更大一些。而第一个图的话则视觉信息占比更大。



总而言之,形形色色的方法各有千秋。在实际应用中,可以根据不同方法的优劣和实际场景的条件选择合适的VQA模型。目前来说解决VQA问题主要方向主要是三个大方向(改善模型对于文本与图像的表达能力,可解释性与视觉推理,外部知识),其中KG而言在这三个方向中都有涉及。起到的作用分别对应于:用图网络来捕捉信息联系,通过三元组来提供与描述事实并进行解释与答案追溯,以及引入外部语料库,组织实体关系和spaql查询语句。

当然,未来还有许多潜在的方法和应用等待挖掘,欢迎大家补充和交流。

 

参考文献


[1] Stanislaw Antol, Aishwarya Agrawal, et al. VQA: Visual Question Answering. ICCV 2015: 2425-2433
[2] Wu Q, et al. Ask me anything: Free-form visual question answering based on knowledge from external sources. CVPR. 2016
[3] Wang P, Wu Q, Shen C, et al.Explicit Knowledge-based Reasoning for Visual Question Answering. IJCAI 2017: 1290-1296
[4] Wang P, Wu Q, Shen C, et al.FVQA: Fact-Based Visual Question Answering. IEEE Trans. Pattern Anal. Mach. Intell. 40(10): 2413-2427 (2018)
[5] Wu Q, Shen C, Liu L, et al. What value do explicit high level concepts have in vision to language problems? . CVPR. 2016
[6] Marino K, Rastegari M, Farhadi A, et al. OK-VQA: A Visual Question Answering Benchmark Requiring External Knowledge. CVPR 2019: 3195-3204
[7] Narasimhan M, Lazebnik S, Schwing A. Out of the box: Reasoning with graph convolution nets for factual visual question answering. NIPS. 2018
[8] Zhu Z, Yu J, Wang Y, et al.Mucko: Multi-Layer Cross-Modal Knowledge Reasoning for Fact-based Visual Question Answering. IJCAI. 2020




   

浙江大学知识引擎实验室

 


 

OpenKG


开放知识图谱(简称 OpenKG)旨在促进中文知识图谱数据的开放与互联,促进知识图谱和语义技术的普及和广泛应用。

点击阅读原文,进入 OpenKG 博客。


登录查看更多
10

相关内容

视觉问答(Visual Question Answering,VQA),是一种涉及计算机视觉和自然语言处理的学习任务。这一任务的定义如下: A VQA system takes as input an image and a free-form, open-ended, natural-language question about the image and produces a natural-language answer as the output[1]。 翻译为中文:一个VQA系统以一张图片和一个关于这张图片形式自由、开放式的自然语言问题作为输入,以生成一条自然语言答案作为输出。简单来说,VQA就是给定的图片进行问答。

知识荟萃

精品入门和进阶教程、论文和代码整理等

更多

查看相关VIP内容、论文、资讯等
【知识图谱@EMNLP2020】Knowledge Graphs in NLP @ EMNLP 2020
专知会员服务
40+阅读 · 2020年11月22日
知识驱动的视觉知识学习,以VQA视觉问答为例,31页ppt
专知会员服务
35+阅读 · 2020年9月25日
论文浅尝 | 基于知识库的自然语言理解 04#
开放知识图谱
14+阅读 · 2019年3月14日
论文浅尝 | 基于知识库的自然语言理解 01#
开放知识图谱
15+阅读 · 2019年2月22日
论文浅尝 | 利用 RNN 和 CNN 构建基于 FreeBase 的问答系统
开放知识图谱
11+阅读 · 2018年4月25日
论文浅尝 | Question Answering over Freebase
开放知识图谱
18+阅读 · 2018年1月9日
论文浅尝 | Leveraging Knowledge Bases in LSTMs
开放知识图谱
6+阅读 · 2017年12月8日
Embedding Logical Queries on Knowledge Graphs
Arxiv
3+阅读 · 2019年2月19日
Knowledge Based Machine Reading Comprehension
Arxiv
4+阅读 · 2018年9月12日
Arxiv
6+阅读 · 2018年1月29日
VIP会员
相关VIP内容
【知识图谱@EMNLP2020】Knowledge Graphs in NLP @ EMNLP 2020
专知会员服务
40+阅读 · 2020年11月22日
知识驱动的视觉知识学习,以VQA视觉问答为例,31页ppt
专知会员服务
35+阅读 · 2020年9月25日
相关资讯
论文浅尝 | 基于知识库的自然语言理解 04#
开放知识图谱
14+阅读 · 2019年3月14日
论文浅尝 | 基于知识库的自然语言理解 01#
开放知识图谱
15+阅读 · 2019年2月22日
论文浅尝 | 利用 RNN 和 CNN 构建基于 FreeBase 的问答系统
开放知识图谱
11+阅读 · 2018年4月25日
论文浅尝 | Question Answering over Freebase
开放知识图谱
18+阅读 · 2018年1月9日
论文浅尝 | Leveraging Knowledge Bases in LSTMs
开放知识图谱
6+阅读 · 2017年12月8日
Top
微信扫码咨询专知VIP会员