900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > 论文阅读Out of the Box: Reasoning with Graph Convolution Nets for Factual Visual Question Answering

论文阅读Out of the Box: Reasoning with Graph Convolution Nets for Factual Visual Question Answering

时间:2020-09-03 15:53:11

相关推荐

论文阅读Out of the Box: Reasoning with Graph Convolution Nets for Factual Visual Question Answering

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

前面两篇博客分别讲了两篇含有外部知识的视觉问答相关的文章

Ask Me Anything: Free-form Visual Question Answering Based on Knowledge from External SourcesFVQA: Fact-based Visual Question Answering今天要讲的这篇论文来自NPIS:Out of the Box: Reasoning with Graph Convolution Nets for Factual Visual Question Answering

论文链接: /abs/1811.00538

这篇博客主要参考一下博客:参考博客

介绍:

论文先是说了含有外部知识的视觉问答与经典的视觉问答的不同,然后又介绍了FVQA的技术与方法。文章指出,Wang et al.[50]提出了关键字匹配技术。当问题不关注最明显的视觉概念,以及有同义词和同形词时(比如将消防栓描述为红色柱子),这种方法就会遇到麻烦。此外,关于视觉概念类型和答案来源的特殊信息使得很难将其方法推广到其他数据集。但是作者还是选用了FVQA数据集。

作者这篇文章也借鉴了之前的一篇文章的方法:Straight to the facts: Learning knowledge base retrieval for factual

visual question answering 文章链接,参考链接

给定图像和关于图像的问题,我们通过在图像上使用CNN,在问题上使用LSTM以及将两种方式组合在一起的多层感知器(MLP)来获得图像+问题+视觉概念的嵌入。 为了从知识库(KB)中过滤相关事实,我们使用另一个(紫色)LSTM从问题中预测事实关系类型。 使用GloVe嵌入对检索到的结构化事实进行编码。 通过嵌入向量之间的点积对检索到的事实进行评分排序,并返回排名靠前的事实以回答问题。

对于黄色的LSTM的功能,个人理解如下:

以上图中的问题为例,问:图中的什么物体是橘黄色蔬菜,这里上面找到的事实(三元组)就是(carrot, isa, orange vegetable)最后找到的答案是胡萝卜,为什么还要下面的LSTM呢?假如现在换一个问题:胡萝卜是什么,这时候回答应该是orange vegetable,这个答案是需要从知识库中找到的,而对于一开始的问题是需要从图片中找到了。

还有以下待回答的问题:如何预测事实以及如何推断答案来源,后者是二进制预测任务。 对于预测事实,我们注意到知识库中包含大量事实。 所以使用昂贵的基于深网搜索所有事实fi∀i∈{1,…,| KB |}进行评估非常困难。 因此,本文将该任务分为两部分:(1)给定一个问题,训练网络以预测问题所关注的关系ˆr。 (2)使用预测关系ˆr,将大于19万事实空间减少为仅包含预测关系的事实空间。更具体的实现方法可以参考博客

回到我们这次要讲的论文,上述方法的思想在这次的论文中也有体现。

方法:

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

该方法主要分为两个部分,七个步骤:

第一部分:事实推理

1,给定图像和问题,首先使用相似性评分技术根据图像和问题从事实空间获得相关性前100的事实,至于为什么前100的事实就具有说服性,作者也有通过实验说明。

2,使用LSTM模型从问题预测关系,筛选fact来进一步减少相关事实及其实体的集合。

这一部分可以参考上面论文中的方法,都是根据问题和图像,从知识数据库中找到比较相关的(本文中前100)的事实,再通过问题找到关系进一步过滤事实,只不过上面的方法直接就找到了他认为最正确的事实,而这篇论文中只是用来过滤,并且得到的是小的相关的实体集(为了构建卷积图的节点),直接匹配找答案可能会产生同义词这一类的问题出错。

第二部分:预测答案

3,然后分别进行图像视觉概念提取,

4,问题的LSTM嵌入,

5,以及事实词组的的LSTM嵌入,将图像的视觉概念multi-hot向量和问题的lstm嵌入向量组合,

6,并与每一个实体的LSTM嵌入拼接,作为一个实体的特征表示,同时也是作为GCN模型里图上的一个节点。图中的边代表实体之间的关系。

7,最后将GCN输出的每一个实体节点特征向量作为多层感知机二元分类模型的输入,评估预测最终的决策结果。

这里面比较重要的是1,2步和6,7步。

方法详解

由于存在超过19万个事实,所以都送进去训练是具有挑战性的,但是又不能不去参考事实孔家,所以作者第一步先是根据问题找到最相关的前100个事实(最多有200个实体),然后通过第二步,作者通过LSTM得出关系,进一步缩小选择的事实数量,去推理实体,(注意,这里好像就出现问题了,仅推理实体吗?如果问题是图中的两个实体是什么关系呢?,其实不是,参考FVQA,对于事实中(x,rel, y)x,y是实体,但是y可能就是关系,比如,FVQA中x是猫,y就是爬树,而不是某个物体,而rel仅仅是capableof这种很抽象的关系)第三四五步就没什么好说的,

第六步中,每个节点e∈E由相应的图像、问题和实体表示的串联表示,即gw(e) = (gvw(I),gQw(Q),gCw(e))。

下面介绍下这三种说法:

1)图像表示:图像表示gvw(I)∈{0,1}1176是一个大小为1176的 multi-hot vector,表示基于图像的视觉概念。图像中检测到三种类型的视觉概念:动作、场景和对象。对应第步。

2)问题表示: 使用LSTM网络将每个问题编码到表示gQw(Q)∈R128中。LSTM是用GloVe嵌入对问题中的每个单词进行初始化的,在训练期间进行了微调。LSTM的隐藏表示构成了问题编码。对应第步。

3)实体表示: 对于每个问题,实体gCw(e)针对实体集 E设置中的每个实体e进行计算。注意,一个实体通常由多个单词组成。因此,类似的对于问题编码,使用LSTM网络的隐藏表示。手套嵌入每个单词在实体中进行初始化,在训练过程中进行微调。对应第步。

作者将所有节点的原始特征表示纳入|E|×d维特征矩阵H中 (0) ∈R|E|×D,其中D为特征的数量。

更正式地说,GCN的目标是学习如何组合一个图的节点e∈e的表示,G = (e, e)。它的输出特征表示依赖于:

(1)可学习的权值;

(2)邻接矩阵Aadj 描述图结构e,我们认为两个实体是连通的,如果它们属于同一事实;

(3)参数输入表示w(e)对于图的每个节点e∈e

第七步:

GCN由L个隐藏层组成,每一层都是一个非线性函数f(-,-)

其中,A-=Aadj+I(Aadj用来描述图的结构,I是单位矩阵),W是权重。GCN的输入是H(0),输出是g^^^(e), g^^(e)是通过一个MLP去获得概率pnn~w~(g^^(e)),选择最大的预测概率。

,获得预测答案通过

总之,答案预测模型的参数由问题嵌入、实体嵌入、GCN和MLP的权重组成。这些都是端到端训练的(就是分别训练的)。

实验结果

缺点:

虽然解决了FVQA直接匹配对同义词处理不佳的问题,但是其自身的问题在于,每个节点都引入了相同且全部的视觉信息,而只有一部分的视觉信息和当前节点是相关的,这样会引入噪声。并且每个节点都是固定形式的的视觉-问题-实体的嵌入表示,这使得模型无法灵活地从不同模态中捕获线索。参考链接

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。