论文阅读:Mucko: Multi-Layer Cross-Modal Knowledge Reasoning for Fact-based Visual Question Answering

参考连接:博客
论文链接:https://arxiv.org/pdf/2006.09073
代码链接:https://github.com/astro-zihao/mucko
发表会议:IJCAI 2020

一,介绍

在阅读本文之前,请先阅读下面几篇论文:
论文1,Ask Me Anything: Free-form Visual Question Answering Based on Knowledge from External Sources
参考博客,论文地址,
论文2,FVQA: Fact-based Visual Question Answering
参考博客,论文地址
论文3,Out of the Box: Reasoning with Graph Convolution Nets for Factual Visual Question Answering
参考博客,论文地址
论文4,OK-VQA: A Visual Question Answering Benchmark Requiring External Knowledge
参考博客,论文地址

关于含有外部知识的视觉问答任务的论文,有但是不多,上面文章都对外部知识推理的视觉问答做出了一些探索,而且每一篇论文的方法都有较大的区别,也存在着各种各样的缺点,下面要讲的这篇文章(以下简称Mucko)结合上述方法的一些优点,克服了上述方法的一些缺点。具体如下:
文章指出,论文2中,如果视觉概念没有被问题完全提及(比如同义词和同形异义词)或者事实图中未捕获提及的信息(比如它问红色的柱子是什么,却没有提到消防栓),即问题中的视觉概念不明确时,那这类方法就会因为匹配而产生误差。论文3在事实推理阶段接测出相关的一些事实,又创造性地提出了使用图卷积(GCN)的方法去预测答案。虽然解决了论文2中的缺点,但是其自身的缺点在于,每个节点都引入了相同且全部的视觉信息,而只有一部分的视觉信息和当前节点是相关的,这样会引入噪声。并且每个节点都是固定形式的的视觉-问题-实体的嵌入表示,这使得模型无法灵活地从不同模态中捕获线索,而且作者觉得论文2中的图卷积是同构的。所以本文提出了异构图卷积的方法,在事实实体结合之前,对图像信息,语义信息和事实分别进行了图卷积处理。
但事实上,作者使用的这些方法和技术(基于事实的视觉问答,异构图圣经网络等)都不是创造性提出的,而是将之前的相关技术融合。但是个人觉得作者提出的这种融合的方法为我们指出了未来研究外部知识推理的一个框架与方向。

二,模型方法

论文阅读:Mucko: Multi-Layer Cross-Modal Knowledge Reasoning for Fact-based Visual Question Answering_第1张图片
如上图所示,作者首先介绍了一种描述图像的新组合,这种组合由三个图层构成,分别是(视觉图,语义图和事实图),然后通过模态内的知识选择,完成每一图层中面向问题的知识选择。接着,跨模态的知识推理是使三个图层能够自适应的选择互补证据信息。最后,我们将上述两个过程多次叠加,并通过联合分析所有事实实体得到最优答案。

模型详解:

2.1 多模态图构建

视觉图构建
视觉图是全连接的图,使用faster rcnn 提取图像中的k=36个区域,每个区域包含一个视觉特征向量vi(维度是2048),空间特征向量bi(维度是4)和一个对应的标签。
对每一张图像,构建一个视觉图Gv=(VV,EV),其中VV={viV}Ki=1,是节点集,并且每一个节点viV对应一个区域。
每条边eVij属于Ev代表每两个区域之间的联系。每条边的特征是一个五维向量:
在这里插入图片描述
语义图构建
对于对象和关系的高级抽象,可以通过自然语言提供基本的语义信息。利用密集描述的方法在图像中提取一组局部语义信息,包括单个对象的属性(颜色,形状,情感等),对象间的动作,空间位置,比较等。每一幅图像使用D个密集描述(自然语言描述),类似的方法在论文1中也有用到。
利用基于图的语义表示建模,而不是使用简单的嵌入。其中GS=(VS,ES),
viS属于VS,表示从描述中提取的对象名称或属性,
eSij属于Es表示vSi和vsj的关系。并使用平均GloVe嵌入表示vis,esij.
保留了概念之间的关系信息,有利于后期的显示推理。

事实图构建

首次按论文3中的方法找到候选事实,利用余玄相似度找到得分最高的前100个事实,再通过问题中的关系(前三)进一步过滤事实。
GF={VF,EF}
节点viF,是每一个事实关系的实体,用GloVe表示。
边eFij表示节点i和j的关系,统一使用GloVe嵌入关系。
通过联合考虑事实图中的所有实体,可以有效的利用事实之间的拓扑结构。

2.2 模态内知识选择

由于每一个图层都包含与问题相关的知识,所以可以首先从视觉,语义和事实图中选择有价值的证据(模态内的知识选择受问题引导)。模态内的卷积操作是一样的,只是对应图层的节点和边表示方式不一样,所以下面的公式省略了上标(即不区分视觉,语义,事实)。
首先执行注意力操作,突出显示与问题相关的节点与边,然后通过模态内的卷积更新节点表示。主要又一下三个步骤;
1, 问题引导节点的注意:
首先通过注意力对问题相关的节点进行评价,计算节点对问题相关性权重:
公式1在这里插入图片描述

其中q是LSTM编码的问题嵌入。
2,问题引导边的注意:
在问题的引导下,评估边的重要性,受邻居节点约束
公式2在这里插入图片描述

3, 模态内卷积:
给定公式1和2学习到节点和边的注意力权重,收集领域信息,更新节点vi
论文阅读:Mucko: Multi-Layer Cross-Modal Knowledge Reasoning for Fact-based Visual Question Answering_第2张图片

在三个图层中分别地更新节点表示。

2.3 跨模态知识选择

论文阅读:Mucko: Multi-Layer Cross-Modal Knowledge Reasoning for Fact-based Visual Question Answering_第3张图片
由于信息不确定,不同的图层很难显式对齐,作者采用一种隐式的基于注意力的异构卷积网络方法关联不同模态的信息,从不同层的图中自适应地收集互补线索进行汇聚,包括视觉到事实,语义到事实和事实到事实的卷积。作者的图有点复杂,为了便于理解我又画了一个简图。(/笑哭)
视觉到事实
在问题引导下,事实图中的实体与视觉图中的实体相加,去计算事实实体对视觉实体的注意力值。
公式5在这里插入图片描述

来自视觉图的补充信息计算为:
公式6在这里插入图片描述

语义到事实
来自语义图的补充信息,计算方法和公式5和6相同。

这时候就可以融合三个图了,我们通过门机制为事实实体融合来自三个图的补充知识。
在这里插入图片描述
“。”是逐点相乘。
这是我们得到更新后的事实节点。最后一步是事实到事实的融合。
事实到事实
目标是对所有实体进行全体比较,并选择一个最优的作为答案。为了联合评估每个实体的可能性,进行与模块内的图卷积类似的图卷积操作。
事实图使用一个基于注意力的图卷积聚合刚才得到的节点信息。
多次迭代执行模态内的知识推理和跨模态的知识推理,执行t步之后得到最终的事实实体表示,并将其传到一个二元分类器,输出概率最高的实体当作预测答案。

三,结论

论文阅读:Mucko: Multi-Layer Cross-Modal Knowledge Reasoning for Fact-based Visual Question Answering_第4张图片

论文阅读:Mucko: Multi-Layer Cross-Modal Knowledge Reasoning for Fact-based Visual Question Answering_第5张图片

你可能感兴趣的:(知识推理的VQA,python,计算机视觉,人工智能)