当前位置: 首页 > news >正文

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

文章目录

  • 论文链接
  • 摘要
  • 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 -参数化并将其纳入训练过程。最后,我们计算准注意力如下:


总结

在这里插入图片描述

相关文章:

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

文章目录 论文链接摘要1 contribution3 Multimodal Graph Transformer3.1 Background on Transformers3.2 Framework overview 框架概述3.3 Multimodal graph construction多模态图的构建Text graphSemantic graphDense region graph Graph-involved quasi-attention 总结 论文…...

关于compile() 函数简单实用示例

compile() 函数是什么 compile() 函数将一个字符串编译为字节代码。 compile将代码编译为代码对象,应用在代码中可以提高效率。 语法 compile(source, filename, mode, flags0, dont_inheritFalse, optimize-1) 参数 source:表示要编译的源代码字符串、…...

Deep Frequency Filtering for Domain Generalization论文阅读笔记

这是CVPR2023的一篇论文,讲的是在频域做domain generalization,找到频域中generalizable的分量enhance它,suppress那些影响generalization的分量 DG是一个研究模型泛化性的领域,尝试通过各自方法使得模型在未见过的测试集上有良好…...

视频里的声音怎么转换成音频?

视频里的声音怎么转换成音频?这样我们就能把视频里的想要的声音在其他音频平台播放或是用于其他视频。其实视频提取音频是一种将视频文件中的音频数据分离出来的技术。该技术可以将视频中的音频转换为不同的格式,让我们可以在无需视频的情况下使用音频文…...

1.1. Java简介与安装

Java简介 Java是一种广泛使用的计算机编程语言,由James Gosling和他的团队在Sun Microsystems公司开发,于1995年首次发布。Java的设计理念是“一次编写,到处运行”,这意味着Java应用程序可以在任何支持Java运行时环境&#xff08…...

Elasticsearch 8.X 性能优化参考 —— 筑梦之路

Elasticsearch 是实现用户无缝搜索体验的关键工具。它通过提供快速、准确和相关的搜索结果,彻底改变了用户与应用程序的互动方式。然而,要确保 Elasticsearch 部署达到最佳性能,就必须关注关键指标,并对诸如索引、缓存、查询、搜索…...

通过强化学习走直线理解基本概念

摘要: 一条线上包含起点和终点共有6个格子,起点在左终点在右。假设智能体已经学到了最优的策略,并且在每一步行动时,以 0.9 0.9 0.9 的概率选择最优策略(也就是往右),以 0.1 0.1 0.1 的概率选…...

Java字符流

5 字符流 5.1 为什么出现字符流 由于字节流操作中文不是特别的方便,所以Java就提供字符流字符流=字节流+编码表用字节流复制文本文件时,文本文件也会有中文,但是没有问题,原因是最终底层操作会自动进行字节拼接成中文,如何识别是中文的呢? 汉字在存储的时候, 无论选择哪…...

2023年上半年信息系统项目管理师上午真题及答案解析

1.“新型基础设施”主要包括信息技术设施、融合基础设施和创新基础设施三个方面。其中信息基础设施包括( )。 ①通信基础设施 ②智能交通基础设施 ③新技术基础设施 ④科教基础设施 ⑤算力基础设施 A.①③⑤ B.①④⑤ C.②③④ D.②…...

LeetCode 739 每日温度

题目: 给定一个整数数组 temperatures ,表示每天的温度,返回一个数组 answer ,其中 answer[i] 是指对于第 i 天,下一个更高温度出现在几天后。如果气温在这之后都不会升高,请在该位置用 0 来代替。 示例 1…...

介绍几种常见的运维发布策略

随着Devops的发展,为了提高运维发布的成功率,探索出了多种发布策略。本文简单介绍几种常见发布策略, 以及它们适用的场景和优缺点。 第一种,停机发布 这是最早的一种发布策略,停机发布会在发布以前关闭服务,停止用户…...

C++ QT QDBus进阶用法。

以下是使用QDBus的高级用法示例代码&#xff1a; 1. 使用DBus的异步调用机制&#xff1a; #include <QCoreApplication> #include <QDebug> #include <QDBusConnection> #include <QDBusPendingCallWatcher> class MyDBusObject : public QObject …...

2023-5-26 LeetCode每日一题(二进制矩阵中的最短路径)

2023-05-29每日一题 一、题目编号 1091. 二进制矩阵中的最短路径二、题目链接 点击跳转到题目位置 三、题目描述 给你一个 n x n 的二进制矩阵 grid 中&#xff0c;返回矩阵中最短 畅通路径 的长度。如果不存在这样的路径&#xff0c;返回 -1 。 二进制矩阵中的 畅通路径…...

博客系统后端设计(七) - 实现显示用户信息与注销功能

文章目录 1. 显示用户信息1.1 约定前后端交互接口1.2 修改列表页的前段代码1.3 实现详情页的后端代码1.4 实现详情页的前端代码 2. 注销2.1 确定前后端交互接口2.2 实现后端代码2.3 修改前端代码 1. 显示用户信息 此处的用户名是写死的&#xff0c;我们希望的是此处是能够动态生…...

Spring5 学习笔记

前置知识&#xff1a; 掌握Java基础知识&#xff08;特别是反射&#xff09;掌握Java注解掌握XML掌握Maven Spring5学习笔记 1、Spring概述1.1、简介1.2、优点1.3、组成1.4、拓展 2、IOC理论推导2.1、分析实现2.2、IOC本质 3、HelloSpring3.1、导入jar包3.2、编写代码3.3、思考…...

leetcode--分隔链表(java)

分割链表 leetcode 86 分割链表 &#xff08;中等&#xff09;解题思路&#xff1a;链表专题 leetcode 86 分割链表 &#xff08;中等&#xff09; leetcode 86 分割链表 原题链接&#xff0c;可以直接测试 给你一个链表的头节点 head 和一个特定值 x &#xff0c;请你对链表进…...

使用 AD8232 ECG 传感器和 ESP32 进行基于物联网的 ECG 监测

这篇文章是使用 AD8232 ECG 传感器和 ESP32 进行基于物联网的 ECG 监测。可以从世界任何地方在线观察来自患者心脏的心电图信号。 目录 概述 什么是心电图? 心电图的医疗用途 AD8232 心电图传感器...

【Linux初阶】基础IO - 文件操作(使用系统接口实现) | vim批量注释代码

&#x1f31f;hello&#xff0c;各位读者大大们你们好呀&#x1f31f; &#x1f36d;&#x1f36d;系列专栏&#xff1a;【Linux初阶】 ✒️✒️本篇内容&#xff1a;重新理解文件和文件操作&#xff0c;C语言实现的简单文件操作&#xff0c;文本初始权限&#xff0c;系统接口介…...

网络安全之信息收集

​​​第一部分&#xff1a;被动信息收集 1、简介 ​ 在信息收集这块区域&#xff0c;我将其分为两部分&#xff1a;第一部分即被动信息收集&#xff0c;第二部分即主动信息收集。 ​ 对于标准的渗透测试人员来说&#xff0c;当明确目标做好规划之后首先应当进行的便是信息收…...

ModuleNotFoundError: No module named ‘_lzma‘

安装torchvision报错&#xff1a;ModuleNotFoundError: No module named ‘_lzma’ 参考文章&#xff1a;https://zhuanlan.zhihu.com/p/404162713 解决思路&#xff1a;用backports.lzma代替_lzma包 解决步骤&#xff1a;(ubuntu系统) 安装依赖sudo apt-get install liblzma-d…...

边缘计算医疗风险自查APP开发方案

核心目标:在便携设备(智能手表/家用检测仪)部署轻量化疾病预测模型,实现低延迟、隐私安全的实时健康风险评估。 一、技术架构设计 #mermaid-svg-iuNaeeLK2YoFKfao {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg…...

基于Flask实现的医疗保险欺诈识别监测模型

基于Flask实现的医疗保险欺诈识别监测模型 项目截图 项目简介 社会医疗保险是国家通过立法形式强制实施&#xff0c;由雇主和个人按一定比例缴纳保险费&#xff0c;建立社会医疗保险基金&#xff0c;支付雇员医疗费用的一种医疗保险制度&#xff0c; 它是促进社会文明和进步的…...

visual studio 2022更改主题为深色

visual studio 2022更改主题为深色 点击visual studio 上方的 工具-> 选项 在选项窗口中&#xff0c;选择 环境 -> 常规 &#xff0c;将其中的颜色主题改成深色 点击确定&#xff0c;更改完成...

【快手拥抱开源】通过快手团队开源的 KwaiCoder-AutoThink-preview 解锁大语言模型的潜力

引言&#xff1a; 在人工智能快速发展的浪潮中&#xff0c;快手Kwaipilot团队推出的 KwaiCoder-AutoThink-preview 具有里程碑意义——这是首个公开的AutoThink大语言模型&#xff08;LLM&#xff09;。该模型代表着该领域的重大突破&#xff0c;通过独特方式融合思考与非思考…...

现代密码学 | 椭圆曲线密码学—附py代码

Elliptic Curve Cryptography 椭圆曲线密码学&#xff08;ECC&#xff09;是一种基于有限域上椭圆曲线数学特性的公钥加密技术。其核心原理涉及椭圆曲线的代数性质、离散对数问题以及有限域上的运算。 椭圆曲线密码学是多种数字签名算法的基础&#xff0c;例如椭圆曲线数字签…...

大学生职业发展与就业创业指导教学评价

这里是引用 作为软工2203/2204班的学生&#xff0c;我们非常感谢您在《大学生职业发展与就业创业指导》课程中的悉心教导。这门课程对我们即将面临实习和就业的工科学生来说至关重要&#xff0c;而您认真负责的教学态度&#xff0c;让课程的每一部分都充满了实用价值。 尤其让我…...

python报错No module named ‘tensorflow.keras‘

是由于不同版本的tensorflow下的keras所在的路径不同&#xff0c;结合所安装的tensorflow的目录结构修改from语句即可。 原语句&#xff1a; from tensorflow.keras.layers import Conv1D, MaxPooling1D, LSTM, Dense 修改后&#xff1a; from tensorflow.python.keras.lay…...

2025季度云服务器排行榜

在全球云服务器市场&#xff0c;各厂商的排名和地位并非一成不变&#xff0c;而是由其独特的优势、战略布局和市场适应性共同决定的。以下是根据2025年市场趋势&#xff0c;对主要云服务器厂商在排行榜中占据重要位置的原因和优势进行深度分析&#xff1a; 一、全球“三巨头”…...

CVE-2020-17519源码分析与漏洞复现(Flink 任意文件读取)

漏洞概览 漏洞名称&#xff1a;Apache Flink REST API 任意文件读取漏洞CVE编号&#xff1a;CVE-2020-17519CVSS评分&#xff1a;7.5影响版本&#xff1a;Apache Flink 1.11.0、1.11.1、1.11.2修复版本&#xff1a;≥ 1.11.3 或 ≥ 1.12.0漏洞类型&#xff1a;路径遍历&#x…...

c# 局部函数 定义、功能与示例

C# 局部函数&#xff1a;定义、功能与示例 1. 定义与功能 局部函数&#xff08;Local Function&#xff09;是嵌套在另一个方法内部的私有方法&#xff0c;仅在包含它的方法内可见。 • 作用&#xff1a;封装仅用于当前方法的逻辑&#xff0c;避免污染类作用域&#xff0c;提升…...