论文阅读:Multimodal Graph Transformer for Multimodal Question Answering

news2024/11/27 9:47:17

文章目录

  • 论文链接
  • 摘要
  • 1 contribution
  • 3 Multimodal Graph Transformer
    • 3.1 Background on Transformers
    • 3.2 Framework overview 框架概述
    • 3.3 Multimodal graph construction多模态图的构建
      • Text graph
      • Semantic graph
      • Dense region graph
    • Graph-involved quasi-attention
  • 总结


论文链接

论文名:Multimodal Graph Transformer for Multimodal Question Answering
论文链接

摘要

尽管Transformer模型在视觉和语言任务中取得了成功,但它们经常隐式地从大量数据中学习知识,而不能直接利用结构化的输入数据。另一方面,结构化学习方法,如集成先验信息的图神经网络(gnn),几乎无法与Transformer模型竞争。

在这项工作中,我们的目标是从这两个世界中受益,并提出了一种新的多模态图转换器,用于需要跨多模态执行推理的问答任务。我们引入了一种涉及图形的即插即用类注意机制将从文本和视觉数据中获得的多模态图形信息作为有效的先验信息整合到vanilla自注意力中
具体来说,我们构建文本图、密集区域图和语义图来生成邻接矩阵,然后将它们与输入的视觉和语言特征组合在一起进行下游推理

这种用图形信息规范自注意的方法显著提高了推理能力,并有助于对齐来自不同模态的特征。我们在GQA、VQAv2和MultiModalQA数据集上验证了Multimodal Graph Transformer在其Transformer基线上的有效性。
在这里插入图片描述
图1: Multimodal Graph Transformer 的概述。它将视觉特征、文本特征及其相应生成的图形作为输入。首先将生成的图转换为邻接矩阵来导出掩模矩阵g。计算Transformer中修改的准注意分数来推断答案。式中,G是由视觉端和语言端邻接矩阵连接而成的图诱导矩阵。G是可训练偏差。将不同模态的输入特征与图形信息融合,进行下游推理。

1 contribution

为了弥补现有方法的不足,本文提出了一种基于即插即用图的多模态问答方法。我们的方法是Multimodal Graph Transformer,因为它是建立在完善的变压器(Vaswani等人,2017a)主干上的,尽管有几个关键的基本区别。
首先,我们引入了一个系统的方案,将文本图、密集区域图和语义图从视觉和语言任务转换为邻接矩阵以用于我们的方法。
其次,我们不是直接计算注意力分数,而是以图诱导邻接矩阵为核心学习新提出的准注意力分数,以表明学习相对重要性作为一种高效的归纳偏差对计算准注意力分数的重要性。
第三,与以往Transformer的方法完全从数据中学习自注意不同,我们在自注意计算中引入图结构信息来指导Transformer的训练,如图1所示

主要 贡献 总结如下:

• 我们提出了一种新的多模态图转换器学习框架,将非结构化数据的多模态图学习与Transformer模型相结合。

• 我们引入了一个模块化的即插即用图形类注意机制,该机制具有可训练的偏差项,以指导训练过程中的信息流。

• 所提出方法的有效性在GQA, VQA-v2和MultiModalQA任务上得到了经验验证。

3 Multimodal Graph Transformer

3.1 Background on Transformers

Transformer层(Vaswani et al., 2017b)由两个模块组成:多头注意力和前馈网络(FFN)。

具体来说,每个头是由四个主要代表矩阵:
在这里插入图片描述

注意力的输出如下:
在这里插入图片描述

3.2 Framework overview 框架概述

所提出的多模态图转换器方法的整个框架如图2所示。在不失去一般性的前提下,我们假设下面讨论的最终任务是VQA,同时注意到我们的框架可以应用于其他视觉语言任务,例如多模态问答。

在这里插入图片描述
图2:该图说明了我们的Multimodal Graph Transformer的整体框架。来自不同模态的输入被处理并转换成相应的图形,然后转换成掩模并结合其特征馈送到变压器进行下游推理。其中,通过场景图生成方法生成语义图,提取密集区域图作为密连图,通过解析生成文本图。

给定输入的图像和问题,框架首先构建三个图,包括语义图、密集区域图和文本图,这些图将在下面的部分中进行更详细的描述。图G = (V, E),其中V表示图中的节点集E表示连接它们的边,将图G = (V, E)馈送到transformer中以指导训练过程。

3.3 Multimodal graph construction多模态图的构建

我们构建了三种类型的图,并将它们输入到transformer中:文本图text graph语义图semantic graph密集区域图anddense region graph

Text graph

视觉问题回答的任务包括图像、问题和相应答案的组合。为了处理这个问题,我们提取实体并创建一个文本图形表示。我们然后构建了graph g =(V,E),如图2左侧所示。节点集V表示实体,边集E表示实体对之间的关系。这导致:

  • N个实体的集合,每个实体由标记嵌入的向量表示,构成图的节点。
  • 实体之间的一组成对关系,形成文本图的边缘。实体i和j之间的关系由一个向量e_ij表示,该向量e_ij编码了相对关系。
    在这里插入图片描述
    图3:将语义图转换为邻接矩阵的简单演示。蓝色的单元格表示图矩阵中该元素的“0”,而白色的单元格表示“-inf”。在计算准注意力时,我们采用矩阵作为掩模。

Semantic graph

在诸如多模态问答之类的任务中,可能会以表格长段落句的形式添加额外的输入。为了处理这些输入,可以创建表的线性表示,并使用类似的方法构造语义图。它们使用场景图解析器(Zhong et al., 2021)进行处理,该解析器将文本句子转换为实体和关系的图,如图3所示。场景图解析器的输出包括:

  • 构成语义图节点的N个单词的集合,其中N是文本中已解析单词的数量。
  • 一组词之间可能的成对关系,如“left”和“on”,如图3所示,它们构成了我们图的边。连接j和i的单词之间的一条边用eij表示,即关联性被表示为:在这里插入图片描述

Dense region graph

通过将输入图像切成小块并使其平坦化来提取视觉特征。然后将密集区域图dense region graph G = (V, E)转换为掩码,其中V为提取的视觉特征集E为连接每个特征节点的边集,方法参见(Kim et al., 2021)。这将得到一个几乎完全连通的图。


然后将生成的三个图转换为邻接矩阵,其中元素为 -∞
图3以语义图为例描述了转换过程。这些邻接矩阵被用于内标点积注意,通过屏蔽(设置为 -∞ )值来控制信息流。

Graph-involved quasi-attention

为了有效地利用结构化图知识在我们的自注意计算中,我们通过将图转换成邻接矩阵,将图作为每个注意头的额外约束。图矩阵记为G,由多个掩模组合而成。图4显示了这个过程。视觉蒙版由密集区域图生成,文本蒙版由文本图导出。此外,跨模态蒙版被设置为全零矩阵,以鼓励模型学习视觉和文本特征之间的交叉注意,从而促进跨不同模态的对齐。

在添加图形信息的情况下,当视觉图形掩码和文本图形掩码与图像和文本特征相连接和对齐时,我们认为一个更灵活的掩码机制是有益的,而不是在Softmax操作中保持一个单一的恒定掩码矩阵。借鉴Liu等人(2021)的见解,他们在计算相似度时包含了每个头部的相对位置偏差,我们还直观地将可训练偏差G -参数化并将其纳入训练过程。最后,我们计算准注意力如下:


总结

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/524912.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【AIGC提示工程 - MidJourney教程:一】“Midjourney AI“是什么,为何众人皆谈?

关注元壤教育公众号系统学习AIGC提示工程课程。 更多AIGC好博客,请移步访问AIGC博客派 Midjourney AI是一个极富创造性的工具,它能够帮助用户通过指令创建图像。这些图像是基于用户的想象力而创造的。 在本文中,我们将详细了解Midjourney AI。…

软件测试面试面对史上最难求职季,会哪些测试技能更容易拿到offer?

在一线大厂,没有测试这个岗位,只有测开这个岗位。这几年,各互联网大厂技术高速更新迭代,软件测试行业也 如果你在中小型公司,普通的测试工程师20K差不多到极限了,薪资想再进一步提升很困难。而在阿里巴巴P…

【AIGC提示工程 - MidJourney教程:二】《MidJourney参数大全指南:实现最佳图像输出的关键》

关注元壤教育公众号系统学习AIGC提示工程课程。 更多AIGC好博客,请移步访问AIGC博客派 这篇文章介绍了不同的MidJourney参数和提示词,帮助你创建你选择的图像。探索如何使用不同的风格和参数进行操作。 如果你使用Midjourney应用,你就知道提示…

NetSuite SuiteQL 内建函数

之前写过一篇文章介绍SutieQL Query Tool,今天继续挖掘一下SuiteQL的价值。 NetSuite SuiteQL Query Tool_netsuite好用吗_毛岩喆的博客-CSDN博客这是一个非常好的NetSuite数据查询工具,免费、强大!所以忍不住安利给大家。首先介绍一下背景&…

Redis系列--redis持久化

一、为什么需要持久化 redis本身运行时数据保存在内存中,如果不进行持久化,那么在redis出现非正常原因宕机或者关闭redis的进程或者关闭计算机后数据肯定被会操作系统从内存中清掉。当然,redis本身默认采用了一种持久化方式,即RD…

11.Kafka系列之Stream实践

Kafka Streams是一个基于Apache Kafka的处理库,可以用于实现高效、可扩展的实时数据处理应用程序。它是一个轻量级的库,允许你在Java和Scala中创建和运行流处理应用程序,这些应用程序可以读取输入流,执行各种数据转换,…

MyBatis的配置案例

Mybatis中Map的使用 如果需要所有的代码&#xff0c;可以看我上一篇 在接口中定义 int addUser1(Map<String,Object> map); 插入语句 <insert id"addUser1">insert into user(id,name,pwd) values (#{userid},#{username},#{userPwd})</insert> …

Vue3-黑马(十)

目录&#xff1a; &#xff08;1&#xff09;vue3-antdv-全局提示与校验 &#xff08;2&#xff09;vue3-进阶-router-入门 &#xff08;3&#xff09;vue3-进阶-router-动态导入-嵌套路由-重定向 &#xff08;1&#xff09;vue3-antdv-全局提示与校验 当用户新增修改&…

redis(11)

一)基于Set集合实现点赞功能: 在我们的博客表当中&#xff0c;每一篇博客信息都有一个like字段&#xff0c;表示点赞的数量 需求: 1)同一个用户只能点赞一次&#xff0c;再次进行点赞则会被取消&#xff1b; 2)如果当前用户已经点赞过了&#xff0c;那么点赞按钮高亮显示&…

传输层:UDP协议

传输层中有两个重要的协议&#xff1a;TCP协议和UDP协议。 本博文分享的是UDP协议&#xff0c;本文将从UDP的协议格式、UDP的特定以及其缓冲区入手。 传输层 传输层的作用是负责数据能够从发送端传输到接收端&#xff0c;主要是传输策略。 端口号 端口号标识的是一个主机上进…

【AIGC提示工程 - Midjourney教程:三】如何利用Midjourney AI创作一幅杰出的艺术作品?

关注元壤教育公众号系统学习AIGC提示工程课程。 更多AIGC好博客&#xff0c;请移步访问AIGC博客派 要在Discord上使用Midjourney机器人&#xff0c;您需要输入一个指令。指令能帮助您创建图片、修改默认设置、监控用户信息以及执行其他有用的操作。如果想要生成一张图片&#x…

RHCSA之Linux目录结构

目录 Linux目录结构 Linux目录结构的特点 分区‘加载’于目录结构 Windows与Linux目录结构区别 工作目录、用户家目录及路径 Linux的文件类型大致可分为 查看文件系统类型 方法一 ls -l 路径 方法二 file 路径 RHCSA之Linux目录结构 使用树形目录结构来组织和管理文件 整个…

51单片机(十三)DS18B20温度传感器

❤️ 专栏简介&#xff1a;本专栏记录了从零学习单片机的过程&#xff0c;其中包括51单片机和STM32单片机两部分&#xff1b;建议先学习51单片机&#xff0c;其是STM32等高级单片机的基础&#xff1b;这样再学习STM32时才能融会贯通。 ☀️ 专栏适用人群 &#xff1a;适用于想要…

第14届蓝桥杯C++省赛(初级)真题

一、选择题&#xff08;50分&#xff09; 第 1 题 单选题&#xff08;10分&#xff09; C中&#xff0c;bool类型的变量占用字节数为 ( )。 *选择题严禁使用程序验证&#xff0c;选择题不答或答错都不扣分 A.1 B.2 C.3 D.4 第 2 题 单选题&#xff08;10分&#xff09;…

Windows 下载与安装CUDA和Pytorch【安装教程、深度学习】

参考链接&#xff1a;Windows 下安装 CUDA 和 Pytorch 跑深度学习 - 动手学深度学习v2_哔哩哔哩_bilibili 0.准备工作 请确保你是NVIDIA的显卡&#xff08;不能是AMD、集成显卡&#xff09; 1.下载CUDA 打开developer.nvidia.com/cuda-downloads&#xff0c;打开有点慢 选择…

2023/5/14 数值计算方法考试复盘

第一题 问我1-()如果减少乘除次数,那么如何做出变形。 正确解法&#xff1a; 可以利用乘法分配律&#xff0c;将1拆分成1 - 1/2! 1/2! - 1/3! 1/3! - ... - 1/n! 1/n!&#xff0c;然后将拆分出来的两项合并&#xff0c;得到&#xff1a; 1 - (1/2! - 1/2!) - (1/3! - 1/3…

支付系统设计一:支付系统产品化

系列文章目录 支付系统设计一&#xff1a;支付系统产品化 支付系统设计二&#xff1a;统一开发框架 支付系统设计三&#xff1a;渠道网关设计01-总览 支付系统设计三&#xff1a;渠道网关设计02-客户端报文解析 支付系统设计三&#xff1a;渠道网关设计03-参数验证 支付系统设…

在 Windows 上安装 Docker

一、前言 个人主页: ζ小菜鸡大家好我是ζ小菜鸡&#xff0c;让我们一起学习在 Windows 上安装Docker。如果文章对你有帮助、欢迎关注、点赞、收藏(一键三连) 二、 Docker是什么 Docker是一个开源的应用容器引擎&#xff0c;让开发者可以打包他们的应用以及依赖包到一个可抑制的…

K8s(Kubernetes)学习(一):k8s概念及组件

Kubernetes中文文档&#xff1a;https://kubernetes.io/zh-cn/docs/home/ Kubernetes源码地址&#xff1a;https://github.com/kubernetes/kubernetes 一:Kubernetes是什么 首先要了解应用程序部署经历了以下几个时代&#xff1a; 传统部署时代&#xff1a;在物理服务器上运…

C语言——表达式求值中类型转换和优先级等问题

目录 1.隐式类型转换 2.算数转换 ​3.操作符的属性 1.隐式类型转换 C的整型算术运算总是至少以缺省整型类型的精度来进行的。 为了获得这个精度&#xff0c;表达式中的字符和短整型操作数在使用之前被转换为普通整型&#xff0c;这种转换称为整型提升。 整型提升的意义&a…