查看原文
其他

AAAI 2022 | MAVEx—基于知识的视觉问答方法

金克丝 PaperWeekly 2023-03-10


©PaperWeekly 原创 · 作者 | 金克丝
单位 | 南京理工大学



论文标题:
Multi-Modal Answer Validation for Knowledge-Based VQA

论文链接:

https://arxiv.org/abs/2103.12248

代码链接:

https://github.com/jialinwu17/mavex



简介

1.1 问题



knowledge-based visual question answering 是指模型不仅需要图像的视觉信息和问题的语义信息,还需要图像中的对象所蕴含的外部知识才能够正确的回答问题。这些知识通常以各种形式出现,包括视觉知识、文本知识和常识知识,也可以从各种来源获得,如图像搜索引擎、百科全书文章和概念关系知识库,如图 1,每个问题都需要不同类型的外部知识。

当前大多数 knowledge-based VQA 方法遵循两阶段框架,模型首先检索与问题和图像相关的知识,再由一个单独的融合理解模型预测答案。然而,使用更多的知识来源来检索知识增加了检索到无关或噪声事实的机会,即检索到的知识往往是有噪声的。

1.2 方案

作者提出了 Multi-modal Answer Validation using External knowledge(MAVEx),其思想是基于特定答案的知识检索来验证一组候选答案,进而输出最匹配的答案。MAVEx 的关键直觉是:使用检索到的知识来验证候选答案的有效性比在开放的外部知识里检索来寻找答案更可靠。

因此,作者设计一个模型,根据检索到的知识事实来评估每个候选答案的有效性。现有的方法是在大量检索到的可能不相关的知识事实中寻找答案,MAVEx 旨在了解每个候选答案应该信任哪个知识来源,以及如何使用该来源验证候选答案。作者考虑了文本和视觉的多模态知识,包括使用谷歌搜索的图像、来自维基百科文章的句子和来自 ConceptNet 的概念关系。




相关工作

2.1 Visual Question Answering

视觉问答(VQA)需要模型根据给定的图像和问题来回答这个问题。传统的方法通常基于 Transformer 融合图像和问题以进行推理,随着多模态图文预训练领域的兴起,也使得视觉问答成为了评估多模态预训练能否有效融合图像和文本的一项基础指标。

2.2 Knowledge-Based VQA

Datasets.KB-VQA包含 2402 个问题,由 700 张图片通过 template 生成。F-VQA包含 5826 个问题,其中每个问题-答案对都使用从知识库中检索的基本事实三元组标注。OK-VQA是一个最新的数据集,包括 14031 张图片,14055 个问题,是一个提供了需要开放领域知识的更大规模数据集。KB-VQA models.

Knowledge-based VQA 主要遵循两个趋势,template fittinglearning-based。template fitting 的主要局限性是 template 是手工设计的,很难容纳使用 template 回答问题所需的丰富知识。learning-based 方法可以获取有用的事实和常识知识,以获得更好的性能。与这些方法相比,我们将该任务表述为answer validation问题,其思想是学习使用多模态噪声知识源验证一组候选答案,输出最匹配的答案。




方法


3.1 MAVEx three-stage Framework

MAVEx 是一个三阶段方案,首先使用当前先进的 VQA 模型生成一组候选答案,再将问题和候选答案解析,以检索外部知识,最后预测每个知识来源对每个候选答案的可信度,预测最匹配的答案。与前人工作不同的是,除了检索与问题相关的文本知识外,还为每个候选答案挖掘多种模态类型的知识。因此,作者考虑了三个知识来源:WikipediaConceptNet作为文本知识资源,谷歌图像搜索作为图像知识资源,分别提供事实知识、常识知识和视觉知识。最后,使用答案验证模块通过检索到的多模态知识验证每个候选答案。


3.2 Stage-1、Answer Candidate Generation
作者使用在 OK-VQA 数据集上微调后的 ViLBERT 生成一组候选答案。
3.3 Stage-2、Answer Guided Knowledge Retrieval
给定一个答案,通过以下三个步骤(如图3)检索相关的外部知识。
3.3.1 S1: Query Extraction

这一步需要收集候选答案、表示问题的短语和表示图像的概念,最后得到一组 queries,分成三部分:(图3 Noun Chunks (S1))Extract noun phrases from question and answers. 使用 AllenNLP 解析器对问题进行解析构建解析树,提取解析树叶子上的所有名词。并提取三种类型的名词短语:包含 ‘wh’ 或 ‘how’ 的目标名词短语、问题名词短语、每个候选答案组成的名词短语。(图3 没有绘出此步骤)Link phrases to objects. 使用 ViLBERT-multi-task 作为对象链接器,输入一系列检测对象和一个名词短语,提取对象和名词短语链接概率分数高于 0.5 的对象。(图3 Queries (S1))Generate search query set. 生成一组 queries 来搜索外部知识库。例如,'man in this position' 的 queries 是 'man' 和 'sitting man',其中 sitting 是从视觉属性推断出来的。

3.3.2 S2: Answer Guided Knowledge Pool Construction

这一步使用步骤 S1 中得到的 queries 来构建知识库:(图3 Conversion to a natural language statement. 使用 T5 模型将问题和候选答案转换为自然语言陈述句。(图3 WikiPedia Pool (S2)、Concepts Pool (S2))Retrieval of textual facts and concepts. 在 Wikipedia 和 ConceptNet 中,作者搜索 S1 步骤中得到的每个 query。计算检索的文章的每个 sentence 和每个自然语言陈述句 之间的 BERTScore。对于每个陈述句,从每篇检索文章中提取的 top 15 个 sentences(根据 BERTScore)放入 sentence pool。(图3 Visual knowledge Pool (S2))Retrieval of visual knowledge. 文本知识可能过于笼统,而图像可能更有信息量(如图 1 中的第 3 个问题)。因此,视觉知识可以补充文本信息,进一步丰富外部知识特征空间。对于给定的图像,作者使用 MaskRCNN 对象检测器来检测常见对象作为内部知识。使用谷歌图像搜索,使用语句 作为外部视觉知识的 query,检索 top 5 个图像。

3.3.3 S3: Matching Knowledge Pool to Queries
作者不是简单地使用 S2 步骤得到的知识作为外部知识,而是将整个 pool 中的 sentence 匹配到每个 query。作者认为大多数 queries 不能直接检索有用的事实,但可以帮助检索到应该包含在外部知识中的重要信息。(图3 WikiPedia Knowledge、ConceptNet Knowledge)Matching Textual Knowledge. 为了确保知识相关性,删除了只与单个 query 匹配的 sentence。对于每个 query,根据 sentence 和所有 之间的最大 BERTScore,从 Wikipedia 和 ConceptNet pool 中提取最多 m 个 sentences。(图3 Visual knowledge)Matching Visual Knowledge. 对每个问题名词短语选取图像中前 3 个引用对象(S1 步骤的第二步)。对每个答案名词短语,选取谷歌图像搜索来检索 top 5 的图像。
3.4 Stage-3、Answer Candidate Validation
该模块将候选答案和检索的外部知识作为输入,并输出一个标量分数,表示该知识支持该候选答案的程度。作者在 ViLBERT 系统的基础上构建 MAVEx,给定一个问题和一个图像,ViLBERT 生成图像文本联合表征,对于检索的每个知识 sentence,使用 TinyBERT 提取文本特征,对于检索到的视觉知识中的每一幅图像,使用 MaskRCNN 提取物体对象特征。



(图4 KnowledgeModule)Multi-Granular Knowledge Embedding Module. 为了更好地聚合检索到的知识,采用一个 Multi-Granular 知识嵌入模块,该模块学习识别每个名词短语的关键的 query,然后识别用于回答问题的关键的名词短语。注意知识嵌入模块对于每个知识来源是相同的,但是模块参数不同,图 4 只展示了维基百科上的知识嵌入模块。对问题中每个 query 的知识嵌入 ,计算问题中每个名词短语的知识嵌入 如下:



其中 MHAtt 为多头注意力机制,这里不再赘述, 为知识嵌入,作为 MHAtt 的 key 和 value, 为 ViLBERTT 提取的图像问题对的联合表征,作为 MHAtt 的 query,用以指导聚合检索到的知识。类似地,对于每个候选答案 ,我们使用 MHAtt 模块在知识特征 上计算知识嵌入 ,如下所示:



然后,使用另一个 MHAtt 模块从每个名词短语聚集知识。具体而言,给定每个名词短语的知识嵌入,知识嵌入 计算如下:



(图4-Knowledge Module)Answer Prediction and Validation Module. 给定三个知识源的知识嵌入 ,MAVEx 预测答案的概率为 ,最终预测的答案是 。验证模块将候选答案 和来自三个来源的知识特征作为输入,以了解该知识对候选答案的支持程度。首先使用对应陈述句的 BERT 特征和答案本身的 glove 特征的和来嵌入作为候选答案特征,即 。然后,候选答案 的验证得分 使用为 (一个不同的候选答案)检索的知识计算为 ,其中 表示逐元素相乘。最终的验证得分是三个知识来源的最大验证置信度,即 损失函数如下,其中 为对于预测答案 a 的 soft score。





实验

Datasets. OK-VQA是目前最大的基于知识的 VQA 数据集,具有两个优势:(1)这些问题确实需要图像以外的外部知识;(2)现有知识库无法覆盖所有问题,因此需要系统探索开放领域的知识资源。



表 1 显示,MAVEx 的性能始终明显优于之前的方法。例如,MAVEx 单模型的性能分别优于 KRISP 和 ConceptBert 1.4% 和 6.6%。与 KRISP 相比,三个具有不同初始化的 MAVEx 模型的集成提高了 2.47%。


表 2 中为使用不同知识来源组合的性能。与基本 ViLBERT 模型相比,三个知识来源(WikiPedia、ConceptNet 和 Images)分别提高了 3.4、3.3 和 3.1 的性能,而结合这三个来源可以在 ViLBERT 基线的基础上获得 5% 的性能增益。



总结

作者提出了一种新的基于知识的视觉问答方法 MAVEx。目标是从不同的知识来源检索特定的答案文本和视觉多模态知识,并了解哪些来源包含最相关的信息,在大量检索到的知识中进行搜索,通常是相当嘈杂的,这是具有挑战性的。因此,作者将这项任务表述为答案验证,其目标是根据检索到的知识学习验证一组候选答案的有效性,更具体地说,答案候选者验证模块预测为每个候选者检索到的知识提供的支持程度,并决定对每个候选答案信任哪些来源。MAVEx 展示了答案引导知识检索的明显优势,在 OK-VQA 数据集上实现了最先进的性能。


更多阅读


#投 稿 通 道#

 让你的文字被更多人看到 



如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。


总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。 


PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析科研心得竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。


📝 稿件基本要求:

• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注 

• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题

• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算


📬 投稿通道:

• 投稿邮箱:hr@paperweekly.site 

• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者

• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿


△长按添加PaperWeekly小编




🔍


现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧



·

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存