2021:Graphhopper: Multi-Hop Scene Graph Reasoning for Visual Question Answering
摘要
视觉问答系统必须具备处理问题的深层语义信息和语言理解的能力,并且能够将这些信息与图像中的对象联系起来。它必须具备计算机视觉与自然语言处理领域的多模态推理能力。为此我们提出了一种名为Graphhopper的新方法。该方法通过融合知识图推理技术、计算机视觉技术和自然语言处理技术来实现任务处理。具体而言该方法基于场景实体及其语义特性和空间关系来进行上下文驱动的序列化推理过程。实验中我们首先生成一个场景图描述图像中的物体及其属性与相互关联关系随后训练一个强化学习代理模型使其能够以多步骤方式进行自主导航并生成推导路径作为推导答案的基础。这些实验是在GQA数据集上进行并使用了手动管理和自动生成两种类型的场景图作为输入数据集的结果表明使用手动管理的方式能够达到与人类相当的表现水平同时我们的方法在手动管理和自动生成两种类型场景图上的性能均显著优于当前最先进的多模态推理模型
一、介绍

VQA数据集中包含语言先验的知识体系。这种先验知识旨在解决一些具有挑战性的推理任务。算法会利用这些预设知识来实现合理的推理过程。为此问题的解决提出了GQA数据集。相较于其他真实世界的数据集而言,GQA集合更为适合用于评估推理能力。因此,在构建模型时选择了基于视觉信息与问题描述的严格筛选机制。
现有的一些VQA方法未能明确了解呈现给它们的对象之间的显式关系结构,并且主要依赖于神经网络架构分别处理图像的不同区域特征。这些方法在显式的推理能力方面表现不足。我们的目标是整合最新的VQA技术和知识图谱(Knowledge Graphs, KGs)在统计关系学习领域的最新研究成果。知识图谱通过事实陈述集存储或组织以实现这一点的人类可理解的知识。我们从KG中的多步推理策略中汲取灵感并提出了一种新的GraphHopper模型
给定一个图像对象,在特定场景下构建基于场景图的强化学习代理模型,并通过智能引导策略驱动的动态探索过程,在场景图中完成目标物体识别任务的具体路径规划与执行训练。相较于仅依赖向量空间表示的传统方法而言,则我们提出了一种基于明确的知识表示框架的新方法;这种新方法能够系统地进行推理运算并生成精确的答案输出;综上所述:我们的主要贡献体现在以下几个方面:(1)提出了一种全新的强化学习框架;(2)实现了目标检测与定位的关键性任务;(3)构建了高效的计算优化机制;(4)获得了令人满意的实验结果
(1)Graphhopper首次采用多步推理机制结合增强学习策略,在视觉问答任务中引入场景图;
(2)通过在GQA数据集上的实验验证了本方法在组件构建及可解释性方面的优势;
(3)为了评估系统的推理能力,在实验中人工生成(ground truth)场景图作为输入数据,并将其与纯语言输入的情况进行对比分析;
(4)通过人工管理与自动化生成相结合的方式生成场景图,在这种情况下证实了Graphhopper超越现有的神经状态机(NMS),后者是当前领域内最先进的场景图推理模型。
二、相关工作
三、方法

VQA任务被视为场景图遍历问题的一种,在起始节点开始,并按顺序访问相邻节点;通过补充现有路径上的转移使推理链逐步扩展,在定义代理决策之前引入符号.
Notation:场景图是一个有向多重边图G=(V,E), 其中每一个节点v \in V被表示为与边界框相关的对象及其属性s_v. 每个节点v还携带与其预测的目标标签或属性相关的类型t_v, 因此整个场景图由有序三元组(s,p,o)构成.
Environment:场景图SG中的代用品S的状态空间是由其所在的实体集合E与问题集合Q共同决定的。对于任意时间t来说,在此系统中定义的时间t的状态St则由代理当前所处的实体et及其相关的查询Q组成。具体而言,在时间为t时的状态St表示为St=(et,Q)。从状态St出发可获得的操作集合用ASt来表示,并且该集合包括从每个节点et出发的所有可能行动以及对应的对象节点。值得注意的是,在场景图SG中每个产生NO_OP标签的节点都包含自循环边这一特性;这种自循环边则使代理能够在达到答案节点时保持当前位置不变。此外,在系统设计中我们还引入了逆关系这一概念;通过引入逆关系后,则使得代理可以在两个节点之间自由地进行信息传输
环境通过根据先前的动作更新状态来确定性的进化。形式上,过渡函数为:

辅助节点:涉及辅助节点的原理是帮助代理完成行走操作,并将其作为目标场景的一部分进行处理。这些节点在运行时图遍历期间被纳入考虑,在编译阶段则被排除在外(例如,在计算节点嵌入时)。例如,在为每个场景图添加一个全局连接的hub节点后(如),代理将从设置有全局连接的hub开始进行场景图遍历操作。对于二值分类问题来说,在与最终目标位置对应的实体上分别添加标记YES和NO(如),代理可以通过切换到相应的标记来完成任务判断过程。
通过预定义的GloVe向量空间(维数为300)初始化问题Q中的词汇表示。随后,在构建场景图时,节点嵌入经过多层图注意力机制处理(GAT),这种机制模拟了网格卷积运算的核心思想。具体而言,在每个节点处生成的嵌入表示是基于其邻居节点特征的聚合结果时,在这种情况下所以上述过程生成的节点表示是基于上下文信息的有效表征。对于问题Q的嵌入生成过程而言,则首先采用Transformer架构进行编码运算,并最终通过一个平均池化操作提取全局特征以完成整体建模任务
最后,在引入辅助YES节点和NO节点后,并行训练了一个前馈神经网络来分别识别查询型与二值型问题类型。该网络包含两个连续的全连接层模块,并在中间输出处采用ReLu激活函数进行处理。实验结果表明,在区分查询类与二值类问题方面表现优异,并成功降低了分类错误率。
策略:我们表示代理的历史,历史记录通过多层LSTM编码:

at-1对应之前行为边和节点的嵌入,与历史相关的行为分布是:

奖励和优化:在采样T个过渡之后,一个最终的奖励根据:

利用REINFORCE以最大化回报,因此,代理的最大化问题是由:

其中T代表一组训练问题,在公式4中计算第一个期望时采用训练集的经验均值替代其真实值,在计算第二个期望时采用多个rollout阶段的经验均值作为近似估计。为了减小估计误差我们引入了一个移动平均机制用于降低方差并结合熵正则项增强策略的探索性,在推理阶段不进行采样操作转而依据公式(2)所定义的概率分布进行宽度为20的目标搜索
四、数据集和实验设置
4.1 数据集
在模拟真实环境中的推理与组合能力方面,GQA表现更为突出。该数据集包含了约 1.1 \times 10^{5} 幅图像,其中约 6 \times 2 \times thousand的问题被划分为8:2:2的比例用于训练、验证及测试任务。整个数据集的空间维度规模达到了5.4 \times thousand的空间单位,其中包括了4.5 \times thousand的目标类别,5.6 \times hundred的关系以及6.4 \times hundred的目标属性等细节信息。为了更好地研究所提出方法的有效性及其适用性,针对所研究的问题特性,我们采用了精简版的数据集进行实验。随后又利用精简版的数据集进行实验分析
问题类别:这类问题旨在检验视觉验证任务、关系推断能力以及空间推理技巧等核心认知能力,并基于特定的结构或语义标准系统性地进行分类。
4.2 实验设置
4.3 性能指标
除了准确性之外(作为衡量评估系统的重要维度),额外的标准包括一致性(确保回答者不得违背自身观点)、有效性(保证回答与问题紧密相关)以及合理性(例如,在询问物体颜色时(比如苹果),红色应被视为符合逻辑的颜色选项)。这些标准共同构成了评价系统性能的基础框架
五、结果和讨论
该体系由多个组件构成,在单独分析各模块及处理流程性能方面具有重要意义。为此,在GQA数据集基础上展示了人工干预管理的真实场景图,并对比了Graphhopper、NSM以及人类的表现。这一设置让我们能够在视觉感知组件中区分出噪声源,并量化了我们方法在推理过程中的表现。随后基于自动生成的场景图呈现实验结果。
我们注意到辅助节点有助于代理达成预期效果。进一步研究表明,在网络中采用Hub结构相较于采用任意随机选择的起始点而言表现出更为显著的优势。具体而言,在网络中采用Hub结构相较于采用任意随机选择的起始点而言表现出更为显著的优势。其优势在于能够更加方便地进行转发与反向传播
我们复制了NSM:在采用VQA场景图推理方面,在将NSM作为基准对比的方法下发现其存在差异性。尽管如此,在分析过程中发现其在某些核心逻辑上仍具创新性。基于此观察结果,在实现上参考了NSM,并采用了其可用参数配置以优化现有模型架构。
5.1 手动绘制的场景图的结果

如表1所示, 采用手工绘制的场景图, 对比我们方法与人类以及NSM在性能上的表现。研究表明, 在各项关键指标上, Graphhopper均超越NSM, 特别在一类开放性问题中表现尤为突出; 同时, 在准确度方面略微超越了人类。相比之下, 在一致性、有效性和合理性等方面, 人类的表现则更为优异, 并始终保持较高水平。综上所述, 这些结果有力证明了推理能力的存在, 并确定了一个Graphhopper体系的能力上限
5.2 自动生成图的结果
尽管场景图像生成并非本研究的核心关注点之一,但基于以下事实,它仍是构建高质量图像表示的关键障碍之一: (1) 目前公开可用的开源工具集并未提供针对该任务的专门解决方案; (2) 相对于现有广泛使用的标准数据集而言,在GQA数据集中实例间的类别分布极其不均衡的现象会导致分类精度显著下降; (3) 现有的目标检测架构普遍缺乏对图像属性的直接建模能力。
在本工作中,我们克服了所有这些障碍,因为我们模型性能受制于场景图的质量。
场景图生成:首先挑选两个当前最新的网络架构RTN用于场景图生成过程,并通过DetectoRS执行目标检测任务。研究发现,在当前最新的Transformer架构在RTN上的机器理解模型所提取的场景上下文特征与我们的方法具有高度的相关性;为此目的而不依赖于传统的Transformer架构中的全局时序信息提取机制,则采用了基于注意力机制(GAT)的方法来建模节点之间的关系。
GQA剪枝策略涉及大量类别以及高度不平衡的关系分布。该策略会导致基于目标检测与场景图生成的任务在准确率方面出现显著下降。基于前8百个类别、17拾多个关系以及2百多个属性这一剪枝策略不仅能够有效减少超过六成的文字量(最多可缩减约六百六十分之三),还能覆盖训练集中超过百分之九十六的所有可能的答案组合。
属性预判:现有场景图生成与目标检测的主要缺陷之一是它们无法预判检测目标的属性,因此我们通过整合属性预判器于GQA框架中,并将RTN节点的目标上下文信息作为其预判断依据

我们通过建设GQA并应用各自默认参数对目标检测器和场景图生成器进行训练,在覆盖各类实例(如对象、属性与关系)方面实现了覆盖率从52%提升至77%

表2详细列出了Graphhopper在两种不同配置下的性能数据:第一部分是在生成图的基础上采用自有的管道架构来预测类、属性及关系;第二部分则是仅在RTN中基于真实对象和属性进行预测关系建模。实验结果表明,在所有测试用例中,基于生成图的Graphhopper均显著优于NSM系统。进一步研究表明,在仅依赖真实对象与属性的情况下(即不依赖于对象检测器),Graphhopper的表现更为优异。
5.3 推理能力的讨论

根据问题类型对结果进行分类,在5种语义类型(左)与5种结构类型(中)的基础上进行整合分析,并基于推理路径长度(右)评估性能表现。此外,在本研究工作中我们分别探讨了三种场景图设置模型的表现情况:其中一种是手动管理场景图上的性能展示(如图4a所示),该设置模拟了理想环境中的实际应用效果;第二种是仅基于对象之间预测关系进行评估的性能表现(如图4b所示),该结果显示Graphhopper算法与场景图形生成器协同工作下的性能水平;第三种是结合对象检测器、场景图生成器及Graphhopper算法共同作用下的性能表现(如图4c所示)。研究发现Graphhopper算法在所有问题类型中均展现出较高的准确性特征,并且能够有效应对具有多步推理需求的问题解答过程。值得注意的是,在推理路径长度过长的情况下Graphhopper并未表现出性能下降现象这表明模型在处理高复杂度问题时仍能维持稳定的输出质量原因在于模型内部设计巧妙地结合了适应性强的知识表示方法(例如基于GAT与Transformer的技术框架),从而能够精准提取关键目标节点相关信息最终在高复杂度问题上的优异表现可被视为支持Graphhopper具备高效转换能力的重要证据因此该算法成功实现了从自然语言到场景图知识表示的关键转化过程

具体实例方面来看,在图3中展示了三个能够得出正确结论的具体实例。这些案例中明显可以看出显式的场景实体中的顺序推理机制使得整个推导过程更加直观易懂。当预测结果出现偏差时,在提取出的相关路径中可能会获得对系统工作原理更为深入的理解,并有助于故障排查工作的开展
六、总结
我们开发出了一种名为Graphhopper的新方法,该方法整合了现有的人工智能技术,包括知识图谱(KG)推理、计算机视觉以及自然语言处理.具体而言,该系统通过训练一个代理来从给定的场景图中提取关键推断路径.为了评估我们的方法在推理方面的性能,我们对人工设计和自动生成的不同场景图进行了严格实验研究.基于人工设计的基础数据集,我们的实验结果表明,Graphhoper在测试任务中的表现与人类水平相当.此外,通过对自动生成的数据集进行评估,发现在所有关键性能指标上,Gaphopper均超越了当前最先进的场景图推断模型.未来的研究重点在于将常识知识库整合到系统中以进一步提升其推理能力.
