(2023Arxiv)Meta-Transformer: A Unified Framework for Multimodal Learning

论文链接:https://arxiv.org/abs/2307.10802

代码链接:https://github.com/invictus717/MetaTransformer

项目主页:https://kxgong.github.io/meta_transformer/

【注】:根据实验结果来看,每次输入一种数据源进行处理,不是多模态同时处理。

整体图:

 

 

摘要:多模态学习旨在构建一个能处理来自多个模态相关信息的模型。尽管多模态领域已经有个多年的发展,但由于各个模态本质间的代沟,目前仍然面临设计一个能处理不同模态的统一网络的挑战,这些模态包括自然语言,2D图像,3D点云,音频,视频,时间序列,表格数据等。

本文提出了一个名为Meta-Transformer的框架,其利用冻结的编码器a frozen encoder进行多模态感知而不需要任何成对的多模态训练数据。在Meta-Transformer中,来自各个模态的原始输入数据被映射到a shared token space,让一个带有frozen parameters的解码器提取输入数据的高级语义特征。Meta-Transformer由3部分组成: a unified data tokenizer, a modality-shared encoder, task-spacific heads,是第一个用于执行具有不成对数据的12个模态的统一学习框架。

在不同benchmarks上的实验揭示Meta-Transformer能处理大量的任务,包括基础感知(text, image, point cloud, audio, video),实际应用(X-Ray, infrared, hyperspectral, IMU),和数据挖掘(graph, tabular, time-seris)。Meta Transformer预示着用Transformer开发统一的多模态智能的前景。

1. Intruduction

【多源知识介绍以及本文动机】人类大脑被认为是神经网络模型的灵感来源,它同时处理来自各种感官输入的信息,例如视觉、听觉和触觉信号。此外,来自一个源的知识可以很好地帮助对另一个源的知识的理解。然而,在深度学习中,由于模态差距很大,设计一个能够处理各种数据格式的统一网络是一项艰巨的任务

每种模态的特点现有多模态统一框架介绍】每种数据模态都呈现独特的数据模式,这使得很难将在一种模态上训练的模型适应于另一种模态。 例如,图像由于密集的像素而表现出高度的信息冗余,而自然语言则不然 。 另一方面,点云在 3D 空间中分布稀疏,这使得它们更容易受到噪声的影响并且难以表示音频频谱图由跨频域的波组合组成,是时变且非平稳的数据模式视频数据包含一系列图像帧,这使其具有捕获空间信息和时间动态的独特能力图数据将实体表示为图中的节点,将关系表示为图中的边,对实体之间复杂的多对多关系进行建模。由于各种数据模态固有的显着差异,通常的做法是利用不同的网络架构对每种模态进行单独编码。 例如,Point Transformer利用向量级位置注意力从 3D 坐标中提取结构信息,但它无法对图像、自然语言段落或音频频谱图切片进行编码。 因此,设计一个能够利用模态共享参数空间modality-share parameter space来编码多种数据模态的统一框架仍然是一个重大挑战。 最近,VLMO、OFA和 BEiT-3等统一框架的发展,通过对成对数据进行大规模多模态预训练,提高了网络多模态理解的能力,但他们更关注视觉和语言,并且无法跨模态共享整个编码器。

【由Transformer引出动机】Vaswani 等人于2017年提出Transformer 架构和注意力机制用于自然语言处理(NLP),其已经在在深度学习领域取得了显着的进步。 这些进步有助于增强不同模式的感知,例如 2D 视觉(包括 ViT和 Swin Transformer)、3D 视觉(例如 Point Transformer和 Point-ViT)和音频信号处理( AST)等。这些工作展示了基于 Transformer 的架构的多功能性,启发研究人员探索是否有可能开发能够统一多种模态的基础模型,最终在所有模态上实现人类水平的感知理解。

本文做法】本文探索了transformer架构处理12种模态的潜能,包括(图像、自然语言、点云、音频频谱图、视频、红外、高光谱、X 射线、 IMU、表格、图表和时间序列数据),如图1所示。我们讨论了transformer用于每种模型的学习过程并将其统一到一个框架中。接下来,我们提出了一个统一的框架Meta-Transformer用于多模态学习,其是第一个使用同一组参数同时对来自十几种模态的数据进行编码的框架,可以采用更具凝聚力的方法进行多模态学习(如表 1 所示)。Meta-Transformer包括3个简单但有效的元素:

  • a modality-specialist for data-to-sequence tokenization
  • a modality-shared encoder for extracting representations across modalities
  • task-specific heads for downstream tasks

具体地,Meta-Transformer先将多模态数据转换为贡献一个公共折叠空间的token sequences;然后,a modality-shared encoder with frozen parammeters提取表达,其仅更新下游任务头和轻量级tokenizers的参数来进一步适应各个任务。 最后,可以通过这个简单的框架有效地学习特定任务和通用模态表示。

【实验情况】本文在12种模态的各种benchmarks上进行了大量实验,通过专门利用 LAION-2B数据集的图像进行预训练,Meta-Transformer 在处理来自多种模式的数据方面表现出了卓越的性能,在不同的多模式学习任务中始终取得优于最先进方法的结果。

【本文贡献】

  • 对于多模态研究,我们提出了一种新颖的框架,Meta-Transformer,它使统一编码器能够使用同一组参数同时从多种模态中提取表示;
  • 对于多模态网络设计,我们全面检查了transformer成分的功能,例如embeddings、tokenization和encoders在处理各种模态时的功能。 Meta-Transformer 提供了宝贵的见解,并在开发能够统一所有模态的模态不可知框架方面激发了有希望的新方向;
  • 在实验上,Meta-Transformer 在 12 种模态的各种数据集上取得了出色的性能,这验证了 Meta-Transformer 在统一多模态学习方面的进一步潜力。

2. Related Work

2.1 Single-Modality Perception

各种神经网络的发展促进了机器智能的感知。

MLP用于模式识别。最初,SVM和MLP被应用于文本,图像,点元和视频分类。这些创新工作证明了将人工智能引入模式识别的可行性。

循环&卷积神经网。Hopfield网络是循环网络的原始形式,LSTM和GRU进一步探索了RNN在序列建模的优势并应用于NLP任务中,其也被广泛地用于音频分析。同时,包括LeNet, AlexNet, VGG, GoogleNet, ResNet等CNN在图像识别中的成功很大程度地激发了其在其他领域地应用,比如文本分类,点云理解,语音分类。

Transformer。最近,Transformer架构已被应用于各种任务中,例如NLP中的文本理解和生成,图像中的分类、检测和分割,点云理解和音频识别。

然而,与 CNN 和 RNN 的应用类似,这些网络根据模态的不同属性进行修改。 模态不可知的学习modality-agnostic learning没有通用的架构。 更重要的是,来自不同模态的信息可以互补,设计一个可以对来自不同模态的数据进行编码并通过共享参数空间桥接这些复杂表示的框架非常重要。

2.2 Transformed-based Multimodal Perception

Transformer用于感知问题的优势在于全局感受野和相似性建模,这显着促进了多模态感知的发展。 MCAN提出了视觉和语言之间的深度模块化共同注意网络,通过简洁地最大化交叉注意来执行跨模态对齐,然后利用交叉注意力机制来桥接不同的模式。随着 pretrain finetune 范式的成功,更多的工作开始关注如何有效地对齐抽取自各模态的表达。 VL-BERT开创了使用 MLM 范式实现通用视觉语言理解的模态对齐表示。 然后 Oscar描述了视觉和纹理内容中的对象语义。 Vinvl 、Simvlm、VLMO、ALBEF和 Florence等框架进一步探索了跨视觉语言模态的联合表示在语义一致性方面的优势。

多模态模型还用于few-shot学习、序列到序列学习、对比学习。 BEiT-v3提出将图像作为外语,采用更细粒度的跨模态掩模和重建过程,共享部分参数。 MoMo进一步探索了训练策略和目标函数,同时对图像和文本使用相同的编码器。

尽管取得了这些进步,但由于模式之间的差异,设计统一的多模式网络仍然存在重大障碍。 此外,该领域的大多数研究都集中在视觉和语言任务上,可能不会直接解决 3D 点云理解、音频识别或其他模式等挑战。 Flamingo 模型代表了一种强大的few-shot学习器,但其向点云的可迁移性有限,并且利用一种模态的先验知识使其他模态受益仍然是一个挑战。 另一方面,现有的多模式方法尽管花费了昂贵的培训成本,但在更多模式上的可扩展性有限。 解决这些差异取决于使用同一组参数桥接不同的模式,类似于桥梁如何连接多个河岸。

3. Meta-Transformer

在本节中,我们将详细描述所提出的框架 Meta-Transformer。Meta-Transformer 统一了处理来自不同模态的数据的多个pipelines,并通过共享编码器实现文本、图像、点云、音频和其他 8 种模态的编码。 为了实现这一目标,Meta-Transformer由a modality-specialist for data-to-sequence tokenization,a modality-shared encoder for extracting representations across modalities,task-specific heads for downstream tasks组成。

3.1  Preliminary

 

3.2 Data-to-Sequence Tokenization

我们提出了一种新颖的meta-tokenization scheme,旨在将各种模式的数据转换为token embeddings,所有的token embeddings都在一个共享的流形空间内。 然后,考虑到模态的实际特点,将该方法应用于tokenization,如图 3 所示。我们以文本、图像、点云和音频为例。

 

 

3.3 Unified Encoder

将原始输入转换为a token embedding sapce后,我们利用具有冻结参数的a unifired transformer encoder对来自不同模态的token embeddings进行编码。

预训练。 我们利用 ViT作为主干网络,并通过对比学习在 LAION-2B 数据集上对其进行预训练,这增强了generic token encoding的能力。 预训练后,我们冻结主干网络的参数。 此外,为了文本理解,我们利用 CLIP的预训练文本标记器将句子分割为子词并将子词转换为词嵌入。

模态不可知的学习。 按照常见做法,我们将a learnable token x_{CLS}添加到the sequence of token embeddings中,并且x_{CLS} token的最终隐藏状态 (z^0_{L}) 作为输入序列的summary representation,通常用于执行识别任务。为了强化位置信息,我们将position embeddings合并到token embeddings中。 回想一下,我们将输入数据标记为一维嵌入,因此,我们选择标准的learnable 1D position embeddings。 此外,我们没有观察到在图像识别中使用更复杂的 2D 感知位置嵌入可以带来显着的性能提升。 我们简单地通过逐元素加法操作融合位置嵌入和内容嵌入,然后将生成的嵌入序列输入编码器。

深度为 L 的 Transformer 编码器包含多个堆叠的多头自注意力 (MSA) 层和 MLP 块。input token embeddings首先被送到 MSA 层,然后是 MLP 块。 然后第(ℓ−1)个MLP块的输出作为第ℓ个MSA层的输入。 在每层之前附加层归一化(LN),并在每层之后应用残差连接。 MLP 包含两个线性 FC 层以及一个 GELU 非线性激活层。 transformer的公式为:

其中 E_x 表示来自提出的tokenizer的token embeddings,n表示tokens的数量。 我们使用位置嵌入E_{pos}来增强patch embeddings和learnable embedding。

3.4 Task-Specific Heads

获得learning representations后,我们将representations提供给特定于任务的头h,它主要由 MLP 组成,并且因模式和任务而异。 Meta-Transformer的学习目标可以概括为:

其中,f(.), g(.), h(.)分别定义了tokenizer, backbone, heads的函数。

4. Experiments

在本节中,我们对 12 种模式中的每一种进行实验。 我们展示了 Meta-Transformer 在多模式感知方面的潜力。 我们的实验设计总结如表 2 所示。

网络设置:遵循ViT的默认设置Meta-Transformer-B16F 表示带有base-scale encoder的Meta-Transformer,包含 12 个transformer blocks和 12 个注意力头,图像块大小为 16。对于base-scale encoder,嵌入维度为 768,输出维度为 MLP 为 3,072。 “F”和“T”分别表示编码器的参数被冻结和进一步调整。

在图像理解上的实验结果

在时间序列预测的实验结果

在其他问题的实验结果:略。

5. Limitation

Meta-Transformer的相关讨论如下:

复杂度:Meta-Transformer 需要 O(n2 × D) 计算来处理token embeddings [E1, · · ·, En]。 内存成本高、计算负担重,难以扩展。

方法:与 TimeSformer和 Graphormer中的Axial Attention mechanism相比,Meta-Transformer 缺乏时间和结构意识。这种限制可能会影响 Meta-Transformer 在时间和结构建模发挥关键作用的任务中的整体性能,例如视频理解、视觉跟踪或社交网络预测。

应用:Meta-Transformer主要发挥其在多模态感知方面的优势。它的跨模式生成能力仍然未知。 未来我们将致力于这方面的工作。

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

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

相关文章

Ajax-AJAX请求的不同发送方式

🥔:你一定能成为想要成为的人 发送AJAX请求不同方式 发送AJAX请求不同方式1、jQuery发送AJAX请求2、axios发送AJAX请求(重点)3、fetch发送AJAX请求 发送AJAX请求不同方式 1、jQuery发送AJAX请求 首先需要jquery的js文件&#xf…

Vc - Qt - QToolButton

QToolButton 是 Qt 框架中的一个类,是 QPushButton 的子类。它可以显示一个可单击的按钮,并且可以与弹出菜单、图标和文本等进行关联。 QToolButton的一些常见特性和用法包括: 设置文本:使用 setText() 函数设置按钮上的文本。设置…

webpack 热更新的实现原理

webpack 的热更新⼜称热替换(Hot Module Replacement),缩写为HMR。这个机制可以做到不⽤刷新浏览器⽽将新变更的模块替换掉旧的模块。 原理: ⾸先要知道 server 端和 client 端都做了处理⼯作: 在 webpack 的 watch…

Redis集群 (三十九)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 前言 一、Redis主从复制 1.1 概念 1.2 作用 1.3 缺点 1.4 流程 1.5 搭建 1.6 验证 二、Reids哨兵模式 2.1 概念 2.2 作用 2.3 缺点 2.4 结构 2.5 搭建 2.6 验证 三、Red…

解决nvm安装后,node生效但npm无效

问题描述 nvm安装后,node生效但npm无效 清除缓存 C:\Users\cc\AppData\Roaming cc是我的用户名改成你自己的就行删除 npm和npm-cache

form表单构造http请求的写法

from是html的一个标签,from是html后早http请求的一种方式,它和input标签密切配合。 from有两个基本属性action和method,action就是http请求url中的路径部分。method就是构造的http请求的方法。 form和input标签配合构造键值对,键值…

数据结构笔记--二叉树经典高频题

1--二叉树的最近公共祖先 主要思路: 最近祖先只有两种情况:① 自底向上,当两个目的结点分别在当前结点的左右子树时,当前结点为两个目的结点的最近祖先;② 最近祖先与其中一个目的结点相同,则另一个目的结点…

Python-OpenCV中的图像处理-形态学转换

Python-OpenCV中的图像处理-形态学转换 形态学转换腐蚀膨胀开运算闭运算形态学梯度礼帽黑帽形态学操作之间的关系 形态学代码例程 形态学转换 形态学操作:腐蚀,膨胀,开运算,闭运算,形态学梯度,礼帽,黑帽等…

企业微信 企业内部开发 学习笔记

官方文档 文档 术语介绍 引入pom <dependency><groupId>com.github.binarywang</groupId><artifactId>wx-java-cp-spring-boot-starter</artifactId><version>4.5.3.B</version></dependency>核心代码 推送消息 final WxCp…

面试攻略,Java 基础面试 100 问(十一)

抽象类&#xff08;abstract class&#xff09;和接口&#xff08;interface&#xff09;有什么异同? 抽象类和接口都不能够实例化&#xff0c;但可以定义抽象类和接口类型的引用。一个类如果继承了某个抽象类或者实现了某个接口都需要对其中的抽象方法全部进行实现&#xff…

英码国产高配边缘计算盒子上市!搭载TPU处理器BM1684X,适配麒麟系统,支持OTA升级!

随着人工智能技术不断深入实际应用场景&#xff0c;加速各行各业场景应用落地&#xff0c;边缘计算的重要性越发凸显。相较于传统的集中式云计算&#xff0c;边缘计算在距离数据源或用户更近的地方提供计算能力&#xff0c;不仅满足了对实时性要求较高的场景应用需求&#xff0…

如何通过CSS选择器选择一个元素的子元素?如何选择第一个子元素和最后一个子元素?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 选择一个元素的子元素⭐ 选择第一个子元素和最后一个子元素⭐ 注意事项⭐ 写在最后 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅&…

线程池,以及线程池的实现以及面试常问的问题,工厂模式,常见的锁策略(面试常考,要了解,不行就背)

一、&#x1f49b; 线程池的基本介绍 内存池&#xff0c;进程池&#xff0c;连接池&#xff0c;常量池&#xff0c;这些池子概念上都是一样的&#xff5e;&#xff5e; 如果我们需要频繁的创建销毁线程&#xff0c;此时创建销毁的成本就不能忽视了&#xff0c;因此就可以使用线…

Redis系列(一):深入了解Redis数据类型和底层数据结构

Redis有以下几种常用的数据类型&#xff1a; redis数据是如何组织的 为了实现从键到值的快速访问&#xff0c;Redis 使用了一个哈希表来保存所有键值对。 Redis全局哈希表&#xff08;Global Hash Table&#xff09;是指在Redis数据库内部用于存储所有键值对的主要数据结构。…

安卓13不再支持PPTP怎么办?新的连接解决方案分享

随着Android 13的发布&#xff0c;我们迎来了一个令人兴奋的新品时刻。然而&#xff0c;对于一些用户而言&#xff0c;这也意味着必须面对一个重要的问题&#xff1a;Android 13不再支持PPTP协议。如果你是一个习惯使用PPTP协议来连接换地址的用户&#xff0c;那么你可能需要重…

C++ 泛型编程:函数模板

文章目录 前言一、什么是泛型编程二、函数模板三、函数模板的使用四、多参数函数模板五&#xff0c;示例代码&#xff1a;总结 前言 当需要编写通用的代码以处理不同类型的数据时&#xff0c;C 中的函数模板是一个很有用的工具。函数模板允许我们编写一个通用的函数定义&#…

接口测试之Jmeter+Ant+Jenkins接口自动化测试平台

平台简介 一个完整的接口自动化测试平台需要支持接口的自动执行&#xff0c;自动生成测试报告&#xff0c;以及持续集成。Jmeter支持接口的测试&#xff0c;Ant支持自动构建&#xff0c;而Jenkins支持持续集成&#xff0c;所以三者组合在一起可以构成一个功能完善的接口自动化…

idea - 刷新 Git 分支数据 / 命令刷新 Git 分支数据

一、idea - 刷新 Git 分支数据 idea 找到 fetch 选项&#xff0c;重新获取分支数据 二、命令刷新 Git 分支数据 git fetch参考链接 1. 远程Gitlab新建的分支在IDEA里不显示

jxls导出问题

![请添加图片描述](https://img-blog.csdnimg.cn/bc74c4207818491c93b75e19b3333451.png 为什么最后导出的文件还是按原样导出啊&#xff0c;没有填充数据 ![在这里插入图片描述](https://img-blog.csdnimg.cn/d4500b9a98c042f6b64a5d0650071303.png