【文献阅读】GraphVQA——语言导向的GNN解决场景图的问答(Weixin Liang等人,ArXiv,2021)

一、背景

文章题目:《GraphVQA: Language-Guided Graph Neural Networks for Scene Graph Question Answering

【文献阅读】LRTA——图网络解释VQA的答案生成过程(W. Liang等人,NeurIPS,2020)这一篇是同一个作者,内容也比较相似。

文章下载地址https://arxiv.org/pdf/2104.10283.pdf

文章引用格式:Weixin Liang, Yanhao Jiang, Zixuan Liu.  "GraphVQA: Language-Guided Graph Neural Networks for Scene Graph Question Answering". arXiv preprint, arXiv: 2104.10283, 2021.

项目地址:https://github. com/codexxxl/GraphVQA

二、文章摘要

Images are more than a collection of objects or attributes — they represent a web of relationships among interconnected objects. Scene Graph has emerged as a new modality as a structured graphical representation of images. Scene Graph encodes objects as nodes connected via pairwise relations as edges. To support question answering on scene graphs, we propose GraphVQA, a language-guided graph neural network framework that translates and executes a natural language question as multiple iterations of message passing among graph nodes. We explore the design space of GraphVQA framework, and discuss the trade-off of different design choices. Our experiments on GQA dataset show that GraphVQA outperforms the state-of-the-art model by a large margin (88.43% vs. 94.78%). Our code is available at https://github.com/codexxxl/GraphVQA

图像不仅仅是目标或者属性的集合,它还表示着目标之间的内在关系。场景图作为一种新的结构化的图像表示而出现。场景图将目标编码为节点,节点之间的关系则为边。为了在场景图上建立问答,作者提出了GraphVQA,一种语言导向的GNN模型,它将自然语言问题作为图节点之间传递的消息的多次迭代来翻译和执行。作者构建GraphVQA框架,讨论了不同设计选择之间的平衡。在GQA数据集上的实验表明,GraphVQA比当前最好的模型表现更优。

三、文章介绍

每一张图像都是目标之间的关系网。关于表示这种关系,可以使用场景图。比如下面这张图:

图中的节点表示目标,边表示两个目标之间的关系。目前场景图已经用于图像检索,图像生成,看图说话等。本文提出了GraphVQA,核心是将自然语言问题转化为图节点之间信息的多次迭代。场景图QA和VQA非常接近,一些场景图VQA的研究都是注意力设计的全连接图,因此还并未对场景图中的结构信息进行建模。

GraphVQA的评估是基于GQA数据集来做的,基于GNN的GraphVQA都能比当前最好的模型有很大的提升。

1. 图的机器学习(Machine Learning with Graphs)

图数据的建立也是非常具有挑战的工作。一般的,建立方法多依赖于通过标签传播、流形正则化或学习嵌入的拉普拉斯正则化。目前的GNN,则是一种在局部相邻节点上的操作子。GNN使用了信息传递机制。比较高级的思想是使用每个节点周围节点,来更新这个节点的特征。例如节点i在第l层的表示,可以利用前一层节点表示来计算,即:

2. GraphVQA框架(GraphVQA Framework)

GraphVQA的结构如下图所示,一共有4个模块:(1) Question Parsing Module问题解析模块,将问题解析为一个向量;(2)Scene Graph Encoding Module场景图编码模块,用词嵌入来初始化节点特征和边特征;(3) Graph Reasoning Module图推理模块,在GNN上对问题向量进行传递;(4) Answering Module答案模块,预测最终答案。

(1)问题解析模块Question Parsing Module

使用Seq2Seq模型来对问题进行编码。

(2)场景图嵌入模块Scene Graph Encoding Module

首先用目标的名字和属性对图的节点特征进行初始化,边特征用边类型的词嵌入进行初始化。根据上下文可以获得节点X的特征:

(3)图推理模块Graph Reasoning Module

图推理模块是GraphVQA的核心。图推理模块和GNN的区别在于,我们希望信息在L层之间传递是附加在第L层的问题向量上的。这里的设计和GNN大相径庭,在运行第L层的GNN之前,我们先将第L层的向量和前一层的节点特征还有边特征进行连接,即:

图卷积网络(Graph Convolution Networks (GCN)):GCN将邻接节点作为平等的重要信息源,可以用简单平均的方式来转化相邻节点:

图同构网络(Graph Isomorphism Network (GINE)):GIN证明了Weisfeiler-Lehman图同构测试,GINE则在信息传递的过程中又增加了边的特征:

图注意力网络(Graph Attention Network (GAT)):与前面两个网络不同,GTN是学习注意力,来对邻接节点进行加权。直觉上来说,GAT更符合场景图QA的任务,因为我们想在给定一个向量下,突出不同的邻接节点。在第L层上,注意力得分可以通过第i个节点到第j个节点的信息传递来计算:

在计算完注意力之后,我们再对每个节点进行加权表示:

其中σ表示激活函数。与transformer模型相似,实际上使用multiple attention heads。另外还有一些GNN的也添加了进来,比如BN,droupout,gating机制,残差连接。

(4)答案模块Answering Module

首先在信息传递之后得到final states,然后再预测最终答案:

3. 实验(Experiments)

实验基于GQA数据集,包含110K个场景图,1.5M个问题,超过1000个答案,因为GQA的测试集并没有完全公开,因此作者将验证集的一部分分为了测试集,参与比较的模型是LCGN。

对于不同答案类型,模型测试的结果如下:

下图说明了对于不同类型问题的精度:

最后是问题单词数量与精度之间的关系:

四、小结

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

全部梭哈迟早暴富

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值