| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> 2021:Graphhopper: Multi-Hop Scene Graph Reasoning for Visual Question Answering -> 正文阅读 |
|
[人工智能]2021:Graphhopper: Multi-Hop Scene Graph Reasoning for Visual Question Answering |
摘要? ? ? ? 视觉问答需要对问题的深度语义和语言理解,以及将其与图像中的对象联系起来的能力,它需要计算机视觉和自然语言处理的多模态推理。我们提出Graphhopper,通过整合知识图推理、计算机视觉和自然语言处理技术来处理任务。具体地,我们的方法是基于场景实体及其语义和空间关系来执行上下文驱动、序列化的推理。第一步,我们获得一个描述图像中物体和它们的属性和相互关系的场景图。随后,训练一个强化学习代理,以多跳方式在提取的场景图上自主导航,以生成推理路径,这是推到答案的基础。在GQA数据集上进行实验,基于手动管理和自动生成的场景图。结果表明,用手动管理的场景图能赶上人类的性能,而且,我们发现Graphhopper在手动管理和自动生成的场景图上都显著优于另一个最先进的场景图推理模型。 一、介绍? ? ? ? VQA数据集中存在语言先验,即对于一些有挑战性的推理任务,算法会利用先验知识,通过捷径来达到合适的推理。为解决此问题,提出GQA数据集,相比于其它真实世界数据集更适合评估推理能力,因为图像和问题都是经过仔细过滤,使数据不太容易产生偏见。 ? ? ? ? 许多VQA方法对所呈现场景中对象的显式关系结构是不可知的,并依赖于神经网络结构分开处理图像的区域特征。这些方法缺乏显示的推理能力。我们的目标是将VQA最新技术和知识图的统计关系学习领域的最新研究进展相结合。知识图通过事实陈述的集合,提供了人类可以理解的、关于现实世界的知识的结构化表示。受KGs的多跳推理方法的启发,我们提出了Graphhopper,一种将VQA任务建模为场景图上的寻找路径问题的新方法。 详细来说,给定一个图像,考虑一个场景图并训练一个强化学习代理在在场景图上进行策略引导的随机行走,直到获得一个决定性的推理路径。与纯粹基于嵌入的方法相比,我们的方法提供了显式推理链,导致推导的答案。综上所述,我们的主要贡献如下: ? ? ? ? (1)Graphhopper是第一个利用场景图的多跳推理的增强学习的VQA方法;(2)在GQA数据集上进行实验显示我们方法的组成和可解释的性质;(3)为分析推理能力,我们考虑手动策划(ground truth)场景图,这一设置分离了与视觉感知任务相关的噪声,只关注语言理解和推理任务,因此,我们证明我们的方法达到了与人类类似的性能;(4)基于手动管理和自动生成的场景图,我们显示了Graphhopper优于神经状态机(NMS)--一个最先进的场景图推理模型,在一种设置中运行,类似于Graphhopper。 二、相关工作三、方法? ? ? ? VQA任务被作为一个场景图遍历问题,从一个节点开始,一个代理顺序采样与相邻节点的过渡,直到答案节点。通过添加到现有路径的过渡,推理链被依次扩展。在描述代理的决定问题之前,我们引入标记(notation). ? ? ? ? Notation:场景图是一个有向多重图,每个节点对应一个场景实体,该场景实体是与一个边界框相关的对象或对象属性。每个场景实体都带有一个对应于预测对象或属性标签的类型,一个场景图是有序三元组(s,p,o)的集合。 ? ? ? ? Environment:代理S的状态空间由E×Q给出,其中E是场景图SG的节点,Q表示所有问题的集合。时间t的状态是代理当前所在的实体et和问题Q,因此一个时间为t的状态St表示为St=(et,Q)。来自状态St的可用操作集用ASt表示,包含从节点et的所有传出边及其相应的对象节点。我们为场景图中的每个产生NO_OP-label的节点包括自循环,这些自循环允许代理在到达答案节点时保持在当前位置。此外,反关系的引入允许代理在两个节点间的任意方向自由传输。 ? ? ? ? 环境通过根据先前的动作更新状态来确定性的进化。形式上,过渡函数为: ? ? ? ? ? ? ? 辅助节点:包含辅助节点的原理是,它们促进的代理的行走,或帮助将QA任务当作场景图上的面向目标的行走。这些节点在运行时图遍历期间被包括,在编译时被忽略,如在计算节点嵌入时。例如,当我们对连接到所有其它节点的每个场景图添加一个hub节点,代理从具有全局连接的hub开始场景图遍历。对于一个二值类问题,我们向与代理最终位置对应的场景实体添加YES和NO节点,然后代理可以转换到YES或NO节点。 ? ? ? ? 问题和场景图处理:使用维度d=300的GloVe嵌入初始化Q中的词,类似地,我们用实体和关系的类标签嵌入初始化实体和关系。在场景图中,节点嵌入穿过一个多层图注意力网络(GAT),利用自注意力机制从图卷积网络扩展的思想,当一个实体嵌入是通过聚合来自其相邻节点的节点特征而形成的时,GATs模拟网格中的卷积算子,节点间的关系和反关系允许上下文通过GAT以两种方式流动,因此,所得到的嵌入是基于上下文的,使得具有相同类型但不同的图邻域节点可以区分。对于问题Q的嵌入生成,首先使用一个Transformer,然后一个平均池化操作。 ? ? ? ? 最后,因为我们添加了辅助YES和NO节点,我们训练一个前馈神经网络分类查询型和二值型问题。这个网络包含两个全连接层,中间输出有ReLu计划。我们发现很容易区分查询和二值类问题,忽略问题分类的错误。 ? ? ? ?策略:我们表示代理的历史,历史记录通过多层LSTM编码: ?at-1对应之前行为边和节点的嵌入,与历史相关的行为分布是: ? ? ? ? ?奖励和优化:在采样T个过渡之后,一个最终的奖励根据: ?利用REINFORCE以最大化回报,因此,代理的最大化问题是由: ?其中,T表示一组训练问题,在公式4中训练第一个期望用训练集中的经验平均值代替。第二个期望近似于多个rollout时的经验平均值。我们还使用一个移动平均基线来减少方差,此外还使用熵正则化与参数来加强探索,在推理过程中,我们不采样路径,而是根据公式(2)给出的转换概率执行宽度为20的光束搜索。 ?四、数据集和实验设置?4.1 数据集? ? ? ? GQA更适合现实环境下评估模型的推理和组合能力,包含113K图像,大约1.2M问题分为80%10%10%的训练、验证和测试。整体词汇尺寸包含3097词,包含1702个目标类,310个关系和610个目标属性。我们对生成的场景图使用GQA的修剪版本,首先,实行手动管理的场景图,分析推理和语言理解能力,之后,使用修剪的GQA数据集上生成的场景图来评估性能,它显示了我们的模型在有噪声生成的数据上的性能。我们使用最先进的关系Transformer网络RTN进行场景图生成,DetectoRS进行对象检测,在test-dev上进行所有实验。 ? ? ? ? 问题类型:问题旨在评估视觉验证、关系推理、空间推理、比较和逻辑推理等推理能力,这些问题可根据结构或语义标准进行分类。 4.2 实验设置4.3 性能指标? ? ? ? 除了准确率,额外的指标:一致性(答案不应自己矛盾)、有效性(答案在问题的范围内,如当问物体颜色时,红色应为有效答案)、合理性(答案应该合理,如红色是苹果的合理颜色,而不是蓝色)。 五、结果和讨论? ? ? ? 我们的体系结构涉及多个组件,能够单独分析不同模块和处理步骤的性能是重要的,因此,我们首先展示在GQA数据集中提供的手动管理的地面真实场景图的实验结果,并比较了Graphhopper与NSM和人类的性能。这个设置允许我们从视觉感知组件中分离出噪声,并量化我们方法的推理能力。随后,用自己生成的场景图来呈现结果。 ? ? ? ? 此外,我们也观察到辅助节点帮助代理实现有效的表现,Hub节点比从任何随意节点开始表现更好,因为它更容易从节点上转发和回溯。 ? ? ? ? ?复制NSM:NSM也利用VQA的场景图推理,我们将NSM作为基线方法的比较,然而,它们的推理方法与我们的是不同的,为了比较我们的方法与相同生成的场景图的推理能力,我们尝试复制NSM,使用来自NSM的可用参数和实现。 5.1 手动绘制的场景图的结果? ? ? ? ?表1所示,使用手动绘制的场景图,比较我们的方法和人类性能和NSM的性能。我们发现Graphhopper在所有性能指标方面都优于NSM,尤其在开放问题上;而且,Graphhopper在两种问题的准确性方面也略优于人类;另一方面,在一致性、有效性和合理性上,人类优于Graphhopper且始终达到高值。总之,这些结果可以看作是推理能力的证明,并建立了一个Graphhopper的性能上限。 5.2 自动生成图的结果? ? ? ? 虽然场景图生成并不是这项工作重点,但由于以下事实,它构成了为GQA创建良好的场景图的主要挑战之一:(1)GQA场景图生成和目标检测没有开源代码;(2)与现有场景图数据集相比,GQA中大量实例和类分布不均匀会导致精度明显下降;(3)在现代目标检测框架中缺少属性预测模型。 ? ? ? ? 这项工作中,我们解决了所有这些挑战,因为我们模型性能直接依赖于场景图的质量。 ? ? ? ? 场景图生成:首先选择两个最先进网络RTN以进行场景图生成,DetectoRS进行目标检测。基于RTN的Transformer结构机器上下文场景图嵌入与我们的结构最相关,为使Graphhopper对任何场景图生成器通用,我们没有使用RTN的上下文嵌入,而是依赖GAT的上下文。 ? ? ? ? GQA修剪:系数量很大,类分布是高度偏态的,这导致目标检测和场景图生成任务准确率显著下降。我们根据前800个类、170个关系和200个属性,这种修剪允许我们减少60%以上的单词,同时覆盖训练集中超过96%的组合答案。 ? ? ? ? ?属性预测:现有场景图生成和目标检测的缺点之一是它们不能预测检测目标的属性,因此,我们结合属性预测器在GQA,从RTN的上下文目标嵌入被用作属性预测器: ? ? ? ? ?我们在修建的GQA上用各自的默认参数训练了对象检测器和场景图生成器,这有利于将训练问题上的所有实例(如对象、属性、关系)的覆盖率从52%增加到77%。 ? ? ? ? ?表2显示了Graphhopper在两种设置下的性能:首先,通过生成的图使用自己的管道来预测类、属性和关系;其次,只是用来自RTN的预测关系(具有地面真实对象和属性)。我们发现,基于生成的图,Graphhopper始终优于NSM。此外,在pr或预测关系设置中,它获得了更高的分数,因为图不包含任何来自对象检测器的错误预测。这些结果表示,在生成的图和对象关系之间生成的关系上都具有优越的推理能力。 ?5.3 推理能力的讨论? ? ? ? ?图4根据不同问题类型来分离结果,5中语义类型(左)和5种结构类型(中),而且,根据推理路径的长度(右)报告性能。此外,我们还分别展示了我们在本工作中考虑的三个场景图设置的模型的性能。图4a显示了一个手动管理的场景图上的性能,它描述了在理想环境中的实际性能;图4b说明了仅基于对象之间预测关系的性能,此设置显示Graphhopper和场景图形生成器的性能。最后,图4c描述了基于对象检测器、场景图生成器和Graphhopper的性能。首先,我们发现Graphhopper在每个设置中对所有类型的问题都具有很高的准确性。此外,我们发现,如果回答问题需要许多推理步骤,Graphhopper的性能不会受到影响。我们推测,这是因为高复杂度的问题很难回答,但由于嵌入的合适上下文化(例如,通过GAT和Transformer),代理可以提取识别正确的目标节点的特定信息。在这些高复杂度问题上的良好性能可以看作是证据,Graphhopper可以有效地将问题转换为场景图上的过渡,直到得到正确的答案。 ? ? ? ? ?推理路径的例子:图3显示了三个会导致正确答案的Graphhopper的场景图遍历的示例。在这些例子中可以看出,显式场景图实体上的顺序推理过程使推理过程更容易理解。在错误预测的情况下,提取的路径可能提供深入了解Graphhopper的机制,并促进调试。 六、总结? ? ? ? ?我们提出了Graphhopper,结合现有的KG推理、计算机视觉和自然语言处理技术的视觉问答的一种新方法。具体来说,一个代理被训练从场景图中提取决定性的推理路径。为分析我们方法的推理能力,我们对手工策划的和生成的场景图进行严格实验研究,基于手工策划的场景图,我们显示Graphhoper达到了人类的性能。此外,我们发现,在我们自动生成的场景图上,Graphhopper在所有考虑的性能指标方面优于另一个最先进的场景图推理模型。在未来的工作中,我们计划将场景图与常识知识图相结合,以进一步提高图形的推理能力。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/27 16:27:01- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |