VQA + GNN

Graph-Structured Representations for Visual Question Answering(GraphVQA)

Abstract
  • 通过structured representations of both scene contents and questions提升VQA性能。
  • VQA的主要挑战在于对visual和text两个领域都需要理解。传统的模型中常常忽略场景中的结构和问题中的语言结构,本文针对这两个问题提出了一种图模型,取得了不错的效果。
  • 本文首次提出在场景对象(object)和question words上构建graph,并建立深度学习模型进行处理实现分类。
Introduction

在这里插入图片描述

  • 采用的数据集是基于剪贴画(abstract scenes)的数据集,因为它们可以专注于语义推理和视觉语言的交互,而与视觉识别的性能相隔离。

Challenges:

  • 剪贴画数据集中问题的复杂性差距很大。有些可以直接从visual elements中回答,例如"Is there a dog in the room?"。其他问题可能会关联多个facts或者需要理解复杂的动作,例如"Is the boy going to catch the ball?"
  • 另外一个挑战是the sparsity of the training data。数据集无法涵盖所有可能的对象组合。
  • 还有一个挑战是很多VQA方法从头开始针对training questions训练RNN。

Language Representation

  • 将句子表示为句法依存图;问题图是问题语句的解析树;
  • 用Standford dependency parser依赖解析器来确定句子的语法结构。这产生了问题的图形表示,其中每个节点表示一个单词,每个边有特定类型的句法依存关系(det/determiner:限定词,如冠词等;nsubj : nominal subject,名词主语;dobj : direct object直接宾语;advmod: adverbial modifier状语)。
  • 然后将每个单词(节点)转换为在大型文本数据集上预训练的vector embedding。节点之间的边包含单词之间句法依存关系的向量嵌入。

Scene Representation

  • 场景中的每个对象(object)对应于scene graph中的一个node,这个节点由一个feature vector描述。场景图是fully connected,每条边代表图像中物体的相对位置。
  • 场景图中的feature vector直接可以从数据集中获取。它包含了:the object category(human,animal,small or large object);the object type(table,sun,dog,window…);10个用于描述human figures姿势的scalar values。
  • 场景图中的边:物体X/Y position的差异;在X / Y位置上的绝对差的倒数…

Applying Neural Networks to graphs

  • 将这两个graph representations送入深度神经网络中处理。
  • 使用场景图的优点是:the graphs can capture relationships between words and between objects which are of semantic significance. 这使得GNN能够利用(1)场景元素(尤其是对象)的无序性质,以及(2)元素之间的语义关系(尤其是单词之间的语法关系)。

CNN对单个object的location敏感,但对relative position不敏感。
RNN:处理问题中的单词是顺序的。

  • 图表示虽然忽略了元素处理的顺序,但是使用不同的边类型表示了不同元素的关系。

  • 网络使用多层迭代与每个节点相关的feature,然后最终从两个图中识别出节点之间的soft matching(类似于attention机制)。这种匹配反映了问题中的单词与图像中的对象之间的对应关系。匹配后的节点特征然后输入到分类器中以推断问题的答案。

  • 每个节点关联了一个GRU,并通过在邻居之间迭代传递消息来更新每个节点的特征向量。但是我们没有发现在RNN中使用attention有任何优势。

Processing graphs with neural networks
  • The two graphs representing the question and the scene are processed independently in a recurrent architecture.
  • 每个节点 x i x_i xi与GRU关联,并在固定数量的迭代次数T(通常为T = 4)上进行处理。

递归处理的直观解释是将上下文信息从连接的邻居逐渐集成到每个节点自己的表示中。


  • 上面先是各自处理各自的,然后再引入注意力机制。

注意力机制将问题中的特定单词与场景中的特定元素对齐。

we estimate the relevance of each possible pairwise combination of words and objects.即Words-Objects矩阵,并通过注意力机制加权求和(Matching weights矩阵为注意力权重矩阵)。

在这里插入图片描述

局限:本文的scene graph只是包含空间上的相对位置(relative position)

Learning Conditioned Graph Structures for Interpretable Visual Question Answering

Abstract

现有的研究很少有基于高层图像表示的,很少去捕捉语义和空间关系。现有的VQA研究大多扑在创造新的注意力架构上,而没有去建模场景中的目标之间语义关系。对于现有的典型的场景图生成研究【2017 Scene Graph Generation by Iterative Message Passing】(研究场景图自动生成方法的论文),本文认为场景图通过图结构表示图像,能够显式建模互动关系,例如图像中的目标及其互动关系,由此在近期的VQA研究中很受关注。但另一方面,本文认为现有的场景图研究需要大量工程量,而且是针对特定图像的而不是针对问题,还存在难以从虚拟场景迁移到真实图像、可解释性差的问题。

本文提出一种基于图的VQA方法,本文的方法加入了一个图学习模块(graph learner module),能够学习输入图片对特定问题的图表示(question specific graph representation)。具体地,本文的方法通过图卷积,学习能够捕捉与问题相关的互动信息的图像表示。

对同一个图像,不同的问题产生了不同的图结构。图结构针对不同问题指向相应的答案。

在这里插入图片描述

本文方法的核心在于图学习器(graph learner)。
输入:

问题编码;

一组目标的边界框及其目标图像特征向量;

输出:以问题为条件的图像的图表示,并建模目标之间的相互关系。

图学习器的具体原理为:
本文提出了一种根据问题上下文学习取得的图结构。具体地,该图结构表示中,把目标检测地边界框定义为图节点,而以问题为条件地图边则通过基于注意力机制地模块学习取得。就定义而言,本文的图结构是一种无向图,定义为𝐺=𝑉,ε,𝐴,包含节点集𝑉,待学习的边集𝜖,以及节点之间的邻接矩阵𝐴∈ℝ𝑁×𝑁。邻接矩阵𝐴用于表示边(𝑖,𝑗,𝐴𝑖,𝑗)∈𝜖,该矩阵𝐴的值以问题编码𝑞为条件。

具体地,本文通过把节点的视觉特征𝑣𝑛和问题编码𝑞连接起来,记为[𝑣𝑛||𝑞],并通过非线性函数𝐹:ℝ𝑑𝑣+𝑑𝑞→ℝ𝑑𝑒映射为联合嵌入𝑒𝑛,形式化为:

𝑒𝑛=𝐹([𝑣𝑛||𝑞]),𝑛=1,2,…,𝑁
接下来,节点𝑖,𝑗之间的邻接矩阵值通过𝐴𝑖,𝑗=𝑒𝑇𝑖𝑒𝑗,即向量内积求取相似度计算取得,可以通过矩阵运算𝐴=𝐸𝐸𝑇实现。

邻接矩阵𝐴是一个全连接的邻接矩阵,这样的邻接矩阵𝐴及由此计算边集𝜖的定义没有对图的稀疏性(sparsity)做任何约束。这种全连接的密集边集不仅计算量大,而且对VQA没有帮助,因为VQA需要的是关注与问题有关的节点。把邻接矩阵𝐴学习到的图结构作为图卷积层(graph convolution layers)的backbone,在做图卷积计算之前应该先筛选,关注与VQA任务相关的一部分节点和边,而不需要所有节点之间的关系。因此本文通过𝑡𝑜𝑝𝑚排序𝑚个最大𝑎值,对邻接矩阵𝐴进行筛选,取得一个稀疏的、保留强关联的边的边集合。此处的形式化表述为:

𝑁(𝑖)=𝑡𝑜𝑝𝑚(𝑎𝑖)

Relation-Aware Graph Attention Network for Visual Question Answering

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值