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

news2024/11/24 4:30:28

论文链接: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.coloradmin.cn/o/856322.html

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

相关文章

【位操作符的几种题型】

位操作符的几种题型 目录 题型一:寻找“单身狗”。 题型二:计算一个数在二进制中1的个数 题型三:不允许创建临时变量,交换两个整数的内容 题型一:寻找“单身狗”。 1.1题目解析 在一个整型数组中,只有…

Spring 使用注解储存对象

文章目录 前言存储 Bean 对象五大注解五大注解示例配置包扫描路径读取bean的示例 方法注解 Bean Bean 命名规则重命名 Bean 前言 通过在 spring-config 中添加bean的注册内容,我们已经可以实现基本的Spring读取和存储对象的操作了,但在操作中我们发现读…

MySQL DAL单表练习一(学生表)

目录 步骤: 1、创建学生表 2、插入数据 1)查询表中所有学生的信息 2)查询表中所有学生的姓名和英语成绩 3) 过滤表中的重复数据 4) 统计每个学生的总分 5) 所有学生总分上加上10 6) 使…

Java实现COM串口通信

前言 本文主要是实现监听电脑的 com3串口数据 Honeywell的一个扫描识别的器插入 Window笔记本的USB接口。 我的电脑是 Window11的,不需要安装驱动,它自己就有一个 COM3的串口 我把这玩意儿插在我的我电脑的USB接口过后,在电脑的 设备管理器就…

python条件分支和循环语句

python中没有{}的写法,一般时通过缩进的方式来确定分支和循环需要执行的代码块。 if 需要判断的条件表达式:条件成立时的动作 elif 需要判断的条件表达式:条件成立时的动作 else:动作for 变量 in 迭代对象:动作 示例: while 退出条件:动作

【MySql】RR有幻读问题吗?MVCC能否解决幻读?

文章目录 前言RR 隔离级别MVCCRR MVCC 有幻读问题吗?幻读问题演示如何彻底解决幻读?小结 前言 幻读是 MySQL 中一个非常普遍,且面试中经常被问到的问题,如果你还搞不懂什么是幻读?什么是 MVCC?以及 MySQL…

JRebel激活服务搭建彻底解决第三方服务失效问题

下载代理激活服务 下载地址 启动服务 激活插件 随机序列号生成地址:GUID online erstellen 激活地址为:http://127.0.0.1:8888/自己生成的GUID 完成激活 参考资料:2023idea中热部署插件JRebel的激活方式

最长上升序列II

最长上升序列II 有N个数放在一个圆周上,可以从任意一个位置开始按照顺时针方向访问数据一圈,沿途可以挑选一些数,要求这些数是上升的(一个比一个大)。问最多能选多少个数? 输入格式 第一行:1个…

Kafka与Zookeeper版本对应关系

文章目录 了解版本对应Kafka安装包Kafka源码包 了解 比如: kafka_2.11-1.1.1.jar包 其中2.11表示的是Scala的版本,因为Kafka服务器端代码完全由Scala语音编写。”-“后面的1.1.1表示的kafka的版本信息。遵循一个基本原则,Kafka客户端版本和服…

TP、TN、FP、FN的理解

TP、TN、FP、FN的理解 理解英文意思: 在第2个单词的基础上理解第1个单词(即第2个单词是前提条件) TP:True Positive 判定为真的(positive),且判定对了(true) TN&…

解决selenium的“can‘t access dead object”错误

目录 问题描述 原因 解决方法 示例代码 资料获取方法 问题描述 在python执行过程中,提示selenium.common.exceptions.WebDriverException: Message: TypeError: cant access dead object 原因 原因是代码中用到了frame,获取元素前需要切换到frame才能定位到…

【TypeScript】中关于 { 声明合并 } 的使用及注意事项

概念: 在TS中,如果定义了多个相同命名的函数,接口或者class 类,那么它们会自动合并成一个类型 函数的合并: 前面章节讲解的函数重载就是使用了定义多个函数的类型进行合并: function reverse(x: number):…

Git介绍及常用命令详解

一、Git的概述 Git是一个分布式版本控制工具,通常用来对软件开发过程中的源代码文件进行管理。 Git 会跟踪我们对文件所做的更改,因此我们可以记录已完成的工作,并且可以在需要时恢复到特定或以前的版本。Git 还使多人协作变得更加容易&…

渐进式云渲染和模块式云渲染:二者的区别与选择

云渲染是一种利用云计算技术,将本地的渲染任务分配到远程的服务器上进行高效、快速、低成本的渲染的服务。云渲染可以帮助用户节省时间、资金和硬件资源,提高工作效率和质量。但是,在使用云渲染时,用户需要面对一个重要的选择&…

unable to write symref for HEAD: Permission denied

今天从gitee上面克隆项目到本地时报错如下 warning: unable to unlink ‘D:/IDEAcode/ruiji1.0/.git/HEAD.lock’: Invalid argument error: unable to write symref for HEAD: Permission denied 解决方法:将要存放项目的文件夹权限修改为完全控制 原先权限&…

Unity游戏源码分享-乐节奏休闲游戏源码 guitar hero 支持mobile

Unity游戏源码分享-乐节奏休闲游戏源码 guitar hero 支持mobile 完整版下载地址:https://download.csdn.net/download/Highning0007/88198766

tcl学习之路(四)(vivado设计分析)

1.FPGA芯片架构中的对象 在打开elaborated/synthesied/implemented的情况下,可使用如下命令获取期望的SLICE。SLICE分为SLICEL和SLICEM,由LUT、FF、MUX、CARRY组成。 set all_slice [get_sites SLICE*] set col_slice [get_sites SLICEX0Y*] set all_sl…

Golang bitset 基本使用

安装: go get github.com/bits-and-blooms/bitset下面代码把fmtx换成fmt就行 //------------基本操作------------//构建一个64bit长度的bitsetb : bitset.New(64)//放入一个数b.Set(10)fmtx.Println("add-10:", b.DumpAsBits()) // 0000000…

HttpRunner搭建接口自动化测试项目

前言:前面写过一篇PytestAllure接口自动化测试框架搭建的博客,这篇博客学习另外一款优秀的开源的接口自动化测试框架:HttpRunner,本博客主要学习如何搭建基于HttpRunner的接口自动化测试项目 PytestAllure接口自动化测试框架搭建…

11款UML/SysML建模工具更新(2023.7)Papyrus、UModel……

DDD领域驱动设计批评文集 欢迎加入“软件方法建模师”群 《软件方法》各章合集 最近一段时间更新的工具有: 工具最新版本:drawio-desktop 21.6.5 更新时间:2023年7月22日 工具简介 开源绘图工具,用Electron编写,…