当前位置: 首页 > 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…...

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式

一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明&#xff1a;假设每台服务器已…...

java_网络服务相关_gateway_nacos_feign区别联系

1. spring-cloud-starter-gateway 作用&#xff1a;作为微服务架构的网关&#xff0c;统一入口&#xff0c;处理所有外部请求。 核心能力&#xff1a; 路由转发&#xff08;基于路径、服务名等&#xff09;过滤器&#xff08;鉴权、限流、日志、Header 处理&#xff09;支持负…...

Spark 之 入门讲解详细版(1)

1、简介 1.1 Spark简介 Spark是加州大学伯克利分校AMP实验室&#xff08;Algorithms, Machines, and People Lab&#xff09;开发通用内存并行计算框架。Spark在2013年6月进入Apache成为孵化项目&#xff0c;8个月后成为Apache顶级项目&#xff0c;速度之快足见过人之处&…...

前端导出带有合并单元格的列表

// 导出async function exportExcel(fileName "共识调整.xlsx") {// 所有数据const exportData await getAllMainData();// 表头内容let fitstTitleList [];const secondTitleList [];allColumns.value.forEach(column > {if (!column.children) {fitstTitleL…...

oracle与MySQL数据库之间数据同步的技术要点

Oracle与MySQL数据库之间的数据同步是一个涉及多个技术要点的复杂任务。由于Oracle和MySQL的架构差异&#xff0c;它们的数据同步要求既要保持数据的准确性和一致性&#xff0c;又要处理好性能问题。以下是一些主要的技术要点&#xff1a; 数据结构差异 数据类型差异&#xff…...

Module Federation 和 Native Federation 的比较

前言 Module Federation 是 Webpack 5 引入的微前端架构方案&#xff0c;允许不同独立构建的应用在运行时动态共享模块。 Native Federation 是 Angular 官方基于 Module Federation 理念实现的专为 Angular 优化的微前端方案。 概念解析 Module Federation (模块联邦) Modul…...

MySQL用户和授权

开放MySQL白名单 可以通过iptables-save命令确认对应客户端ip是否可以访问MySQL服务&#xff1a; test: # iptables-save | grep 3306 -A mp_srv_whitelist -s 172.16.14.102/32 -p tcp -m tcp --dport 3306 -j ACCEPT -A mp_srv_whitelist -s 172.16.4.16/32 -p tcp -m tcp -…...

今日学习:Spring线程池|并发修改异常|链路丢失|登录续期|VIP过期策略|数值类缓存

文章目录 优雅版线程池ThreadPoolTaskExecutor和ThreadPoolTaskExecutor的装饰器并发修改异常并发修改异常简介实现机制设计原因及意义 使用线程池造成的链路丢失问题线程池导致的链路丢失问题发生原因 常见解决方法更好的解决方法设计精妙之处 登录续期登录续期常见实现方式特…...

以光量子为例,详解量子获取方式

光量子技术获取量子比特可在室温下进行。该方式有望通过与名为硅光子学&#xff08;silicon photonics&#xff09;的光波导&#xff08;optical waveguide&#xff09;芯片制造技术和光纤等光通信技术相结合来实现量子计算机。量子力学中&#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…...