Multimodal Learning with Transformer: A Survey

Transformer多模态学习

  • Abstract
  • 1 INTRODUCTION
  • 2 BACKGROUND
    • 2.1 Multimodal Learning (MML)
    • 2.2 Transformers: a Brief History and Milestones
    • 2.3 Multimodal Big Data
  • 3 TRANSFORMERS: A GEOMETRICALLY TOPOLOGICAL PERSPECTIVE
    • 3.1 Vanilla Transformer
      • 3.1.1 Input Tokenization
      • 3.1.2 Self-Attention and Multi-Head Self-Attention
      • 3.1.3 Feed-Forward Network
    • 3.2 Vision Transformer
    • 3.3 Multimodal Transformers
      • 3.3.1 Multimodal Input
      • 3.3.2 Self-Attention Variants in Multimodal Context
      • 3.3.3 Network Architectures
  • 4 THE APPLICATION PERSPECTIVE
    • 4.1 Transformers for Multimodal Pretraining
      • 4.1.1 Task-Agnostic Multimodal Pretraining 任务不可知的多模式预训练

Abstract

Transformer是一种很有前途的神经网络学习者,在各种机器学习任务中都取得了巨大的成功。由于近年来多模态应用和大数据的流行,基于转换器的多模态学习已成为人工智能研究的热点。本文对面向多模态数据的变压器技术进行了全面的研究。本调查的主要内容包括:
(1)多模态学习的背景,变压器生态系统,和多模态大数据时代
(2)理论审查香草变压器,视觉变压器,多模态变压器,从几何拓扑的角度
(3)回顾多模态变压器应用,通过两个重要的范式,即多模态预训练和特定的多模态任务
(4)总结多模态变压器共同挑战和设计的模型和应用程序(5)讨论开放问题和潜在的研究方向

1 INTRODUCTION

人工智能(AI)最初的灵感是模仿人类的感知,例如,看、听、触摸、闻。一般来说,模态通常与特定的传感器相关,该传感器创建一个独特的通信通道,如视觉和语言[1]。在人类中,我们的感官感知的一个基本机制是能够集体利用多种感知数据的模式,以便在动态的、无约束的环境下与世界适当地互动,每一种模式都作为一个不同的信息源,具有不同的统计特性。例如,一幅图像通过数千个像素给出了一个“大象在水中玩耍”场景的视觉外观,而相应的文本用一个使用离散单词的句子来描述这一时刻。从根本上说,一个多模态人工智能系统需要摄取、解释和推理多模态信息源,以实现类似的人类水平的感知能力。多模态学习(MML)是一种建立人工智能模型的通用方法,它可以从多模态数据[1]中提取和关联信息。

本调查关注多模态学习与Transformer[2](如图1所示),灵感来自他们内在的优势和可扩展性建模不同的模式(如语言、视觉、听觉)和任务(如语言,翻译、图像识别、语音识别)与更少的模式特定架构假设(如翻译不变性和视觉中局部网格注意偏差)[3]. 具体地说,对变压器的输入可以包含一个或多个令牌序列,每个序列的属性(例如,模态标签,顺序),自然允许MML不修改架构[4]. 此外,通过控制自我注意的输入模式,可以简单地实现每模态特异性和模态间相关性的学习。重要的是,最近有大量不同学科的研究尝试和活动在探索变压器架构,导致近年来大量新的MML方法被开发出来,同时在[4]、[5]、[6]、[7]、[8]等不同领域取得了重大和不同的进展。这需要对代表性方法进行及时的审查和总结,使研究人员能够了解跨相关学科的MML领域的全球图景,更重要的是捕捉当前成就和重大挑战的整体结构化图景。

Taxonomy(分类系统) 为了获得更好的可读性和可达性我们分别采用了一种基于应用程序维度和挑战维度的两层结构化分类法,这有几个好处:
(1)在特定应用领域具有专业知识的研究人员可以在连接到其他相关领域之前找到那些适合他们自己的研究领域的应用程序。
(2)在不同领域开发的类似模型设计和架构可以总结为一个抽象的、公式驱动的视角,以便在不同应用中形成的各种模型的数学思想可以在共同点上进行关联和对比,跨越特定领域的限制。至关重要的是,我们的分类提供了一个有趣的立体视图,包括应用特异性和公式普遍性的见解。希望这有助于打破领域边界,促进更有效的跨模式的思想交流和交换。通过使用提示建模策略[9]作为调查的基础,我们还包括了经典的分类问题(例如,图像分类)——通常被认为是传统MML调查中的单一模态学习应用——作为一个特殊的MML应用。这有可能显著丰富MML,因为分类问题是[12]文献中最广泛的研究之一。

Scope(范围) 本调查将讨论变压器架构的多模态具体设计,包括但不限于以下模式:RGB图像[5],深度图像[13],视频[7],音频/语音/音乐[13],[14],[15],[15],表[16],场景图/布局[17],[18],[19],姿势骨架[20],SQL[21],[22],配方[23],编程语言[24],手语[25],[26],[27],点云[28],符号知识(图)[29],[30],多模态知识图[31],草图绘图[32],[33],[34],[35],3 D对象/场景[36],[37],[38],文档[39],[40],[41],[42],编程代码[43],摘要语法树(AST)——一种图[44]、光流[45]、医学知识(例如,诊断代码本体[46])注意,本调查不会讨论多模态论文,其中变压器只是作为特征提取器没有多模态设计。

Features and Contributions 据我们所知,本文是第一次全面回顾了基于变压器的多模态机器学习的状态。本次调查的主要特点包括:
(1)我们强调,Transformer的优势在于,它们可以以一种模态不可知论(modality-agnostic)的方式工作。因此,它们与各种模式(和模式的组合)相兼容。为了支持这一观点,我们首次从几何拓扑的角度理解了在多模态背景下的变压器的内在特征。我们建议将自我注意视为一种图样式建模,它将输入序列(包括单模态和多模态)建模为一个全连通的图。具体来说,自注意模型是从任意模态中嵌入任意标记作为图节点。
(2)我们在多模态背景下尽可能从数学的角度讨论变压器的关键组件。
(3)基于Transformer,跨模态的相互作用(例如,融合、对齐)本质上是由自我注意及其变体来处理的。在本文中,我们从自我注意设计的角度,提取了基于变压器的MML实践的数学本质和公式。

在我们对多模态学习、变压器生态系统和多模态大数据时代的景观进行了回顾后,我们总结了我们的主要贡献如下
(1)我们从几何拓扑的角度对香草变压器、视觉变压器和多模态变压器(Vanilla Transformer, Vision Transformer, and multimodal Transformers)进行了理论回顾;
(2)我们从两个互补的角度,对基于变压器的MML进行了分类,即基于应用程和基于挑战性。在第4节中,我们通过两个重要的范式,回顾了多模态变压器的应用,即,对于多模态预训练和对于特定的多模态任务。在第5节中,我们总结了各种多模态变压器模型和应用所共有的共同挑战和设计。
(3)我们讨论了基于变压器的MML当前的瓶颈、存在的问题和潜在的研究方向。

Organization of this Survey 本调查的其余部分组织如下:第2节介绍了使用变形金刚的多模态机器学习的背景,包括历史视角和关键里程碑。第三节讨论了变压器、视觉变压器和面向多模态的变压器的关键设计特点。在第4节中,我们从应用程序和代表性模型的角度提供了多模态变压器模型的一些分类法。在第5节中,我们总结了这一领域的关键挑战和设计。第6节讨论了一些存在的问题和潜在的研究方向。第7节提出结论。
在整个调查过程中,除非另有说明,数学符号和缩写术语都遵循表1中的约定。

2 BACKGROUND

2.1 Multimodal Learning (MML)

MML[1],[63]是近几十年来一个重要的研究领域;早期的多模态应用-视听语音识别研究在20世纪80年代[64]。MML是人类社会的关键。我们人类生活的世界是一个多模态的环境,因此我们的观察和行为都是多模态的[65]。例如,人工智能导航机器人需要多模态传感器来感知现实世界的环境,[66]、[67]、[68],如相机、激光雷达、雷达、超声波、GNSS、高清地图、里程表。此外,人类的行为、情绪、事件、行为和幽默都是多模态的,因此各种以人为中心的MML任务被广泛研究,包括多模态情绪识别[69]、多模态事件表示[70]、理解多模态幽默[71]、基于脸-身体-声音的视频人聚类[72]等。

由于近年来互联网的发展和各种各样的智能设备,越来越多的多模态数据在互联网上传输,从而出现了越来越多的多模态应用场景。在现代生活中,我们可以看到各种多模式的应用,包括商业服务(例如,电子商务/商品检索[73],视觉和语言导航(VLN)[68],[74],[75],[76],[77],[78],[79],[80],[81],[82],[83]),通信(例如,唇读[84],手语翻译[25],[26],[85]),人机交互[86],医疗保健AI[87],[88],监控AI[89]等。

此外,在深度学习时代,深度神经网络极大地促进了MML的发展。特别是,变形金刚[2]是一个竞争非常激烈的架构家族,给MML带来了新的挑战和机遇。

2.2 Transformers: a Brief History and Milestones

Transformer正在成为一个很有前途的学习者。香草(Vanilla)变压器[2]受益于自我注意,它受益于自我注意机制,是一种突破性的序列特异性表示学习模型,在各种NLP任务上实现了最先进的水平。随着香草变压器的巨大成功,许多衍生模型被提出,如BERT[4]、BART[90]、GPT[91]、GPT-2[92]、GPT-3[93]、长型[40]、变压器-XL[94]、XLNet[95].

Transformer目前在NLP领域占据主导地位,这促使研究人员试图将Transformer应用于其他模式,如视觉领域。在早期的视觉领域尝试中,早期探索的一般管道是“CNN特性+标准变压器编码器”,研究人员通过调整到低分辨率,重塑为一维序列[96],实现了bert式的预训练。

视觉变压器(ViT)[5]是一项开创性的工作,通过应用变压器的编码器到图像的端到端解决方案(请参见图2)ViT及其变体已被广泛应用于各种计算机视觉任务,包括低级任务[97]、识别[98]、检测[99]、分割[100]等,也适用于监督[98]和自监督[101]、[102]、[103]视觉学习。此外,最近发布的一些工作为ViT提供了进一步的理论理解,例如,其内部表示的鲁棒性[104],其潜在表示传播[105],[106]的连续行为。
图2
由于变压器和ViT的巨大成功,VideoBERT[7]是一项突破性的工作,它是第一个将变压器扩展到多模态任务的工作。VideoBERT展示了变压器在多模态环境下的巨大潜力。继VideoBERT之后,有许多基于变压器的多模态预训练模型已经成为机器学习领域越来越感兴趣的研究课题。

2.3 Multimodal Big Data

在过去的十年里,随着社交媒体和在线零售等互联网应用程序的快速发展,人们提出了大量的多模态数据集 e.g. Conceptual Captions [127], COCO [128], VQA [129], Visual Genome [130], SBU Captions [131], Cooking312K [7], LAIT [120], eSNLI-VE [132], ARCH [133], Adversarial VQA [134], OTTQA [16], MULTIMODALQA (MMQA) [135], VALUE [136], Fashion IQ [137], LRS2-BBC [138], ActivityNet [139], CNERTA [140], DVD [141], VisDial [142], PhotoChat [143].在

最近发布的多模态数据集中,突然出现的一些新趋势是:
(1)数据规模更大。最近发布的各种数据集都是百万级的
(2)更多的模式。除了视觉、文本和音频的一般模式外,还会进一步出现不同的模式,例如,PanoAVQA1第一个关于360个◦视频的大规模空间和视听问题回答数据集,YouTube-360(YT-360)(360个◦视频),AIST++(一个新的3D舞蹈动作和音乐的多模态数据集),Artemis[154](视觉艺术的情感语言)。特别是,多台式[155]提供了一个包括10种模式的数据集。
(3)更多的场景。除了常见的标题和QA数据集外,还研究了更多的应用和场景,例如,CIRR[156](真实图像)、产品1M[144]、床和早餐(BnB)[157](视觉和语言导航)、M3A[158](财务数据集)、X-World[159](自动驱动器)。
(4)任务更加困难。除了简单的任务之外,还提出了更抽象的多模态任务,例如,MultiMET[160](一个用于隐喻理解的多模态数据集)、仇恨模因[161](多模态模因中的仇恨语音)。
(5)的教学视频已经变得越来越流行,例如,烹饪视频YouCookII[162]。将一系列指令与某人执行任务的视频对齐是一个强大的训练前借口任务[7],[163]的一个例子。

与其他深度神经网络架构类似,变压器也很需要数据。因此,他们的高容量模型和多模态大数据基础共同创造了基于变压器的多模态机器学习的繁荣。例如,大数据为VLP变压器模型带来了 zero-shot learning学习能力。

3 TRANSFORMERS: A GEOMETRICALLY TOPOLOGICAL PERSPECTIVE

在本节中,我们使用数学公式来回顾Vanilla Transformer[2]、视觉变压器[5]和多模态变压器的关键技术,包括tokenized inputs、自我注意、多头注意、basic Transformer layers/blocks等。我们强调,Vanilla变压器可以从几何拓扑的角度来理解[164],因为由于自注意机制,给定来自任何模式的每个tokenized input,Vanilla self-attention(变压器)可以将其建模为拓扑几何空间[165]中的全连通图。与其他深度网络相比(例如,CNN在对齐的网格空间/矩阵中受到限制),Transformer本质上具有一个更通用和更灵活的建模空间。这是Transfromer在多模态任务中的一个显著优势。第3.1节和第3.2节将分别审查Vanilla变压器和视觉变压器的关键设计。有关更多细节,我们请读者参考上面引用的原始论文。

3.1 Vanilla Transformer

Vanilla Transformer具有编解码器结构,是基于变压器的研究领域的起源。它采用标记化的输入(参见第3.1.1节)。它的编码器和解码器都由变压器层/块堆叠,如图1所示。每个块有两个子层,即多头自注意(MHSA)层(见第3.1.2节)和位置级全连接前馈网络(FFN)(见第3.1.3节)。为了帮助梯度的反向传播,MHSA和FFN都使用了残差连接(给定一个输入 x x x,任何映射 f ( ⋅ ) f(·) f()的残差连接被定义为 x ← f ( x ) + x x←f(x)+x xf(x)+x),然后是归一化层。因此,假设输入张量为Z,MHSA和FFN子层的输出可以表示为:
Z ← N (  sublayer  ( Z ) + Z ) (1) \mathbf{Z} \leftarrow N(\text { sublayer }(\mathbf{Z})+\mathbf{Z})\tag{1} ZN( sublayer (Z)+Z)(1)Discussion
有一个重要的未解决的问题,即后标准化和前标准化。原始的Vanilla变压器对每个MHSA和FFN子层使用后标准化。然而,如果我们从数学的角度来考虑这一点,前标准化就更有意义了。这与矩阵理论的基本原理相似,即归一化应该在投影之前进行,例如,格兰姆-施密特过程2。这一问题需要通过理论研究和实验验证来进一步研究。
图1

3.1.1 Input Tokenization

Vanilla变压器最初是作为机器翻译的序列到序列的模型,因此可以直接将词汇序列作为输入。如前所述,原始的自我注意可以将任意输入建模为一个全连接的图,独立于模式。具体来说,香草和变体变形金刚都采用了tokenized sequences,其中每个token都可以被视为图中的一个节点。

Discussion
input tokenization的主要优点包括:
(1) 从几何拓扑的角度来看,标记化是一种更一般的方法,通过最小化由不同模态引起的约束来实现。
(2) 标记化是一种通过连接/堆栈、加权总和等方式来组织输入信息的更灵活的方法。Vanilla 变压器通过对位置嵌入的求和的方式给 token embedding 加入时间信息。例如,当使用变压器建模徒手草图[167]时,每个输入token 可以集成各种图形笔划模式,例如,笔划坐标、笔划顺序、笔状态(开始/结束)。
(3)令牌化与特定于任务的定制令牌兼容,例如,用于分类的[CLASS]标记,用于屏蔽语言建模的[MASK]标记(MLM)。
(4)此外,标记化可以帮助变压器本质上处理多模态数据,甚至Vanilla 变压器也可以通过连接、加权求和灵活地编码多模态输入,即使不需要任何多模态定制修改。

Position Embedding Vanilla 变压器利用正弦和余弦函数来产生位置嵌入。到目前为止,已经提出了各种位置嵌入的实现。具体的解决方案超出了本次调查的重点范围。

Discussion
如何理解嵌入到变压器中的位置是一个开放性的问题。它可以被理解为一种特征空间的隐式坐标基,为变压器提供时空信息。对于云点[168]和草图绘制笔画[167],它们的标记元素已经是一个坐标,这意味着位置嵌入是可选的,而不是必需的。此外,位置嵌入还可以看作是一种一般的附加信息。换句话说,从数学的角度来看,可以添加任何附加信息,例如位置嵌入方式的细节,例如素描笔画[167]的笔状态、监视[169]中的摄像机和视点。有一个全面的调查[170]讨论了变压器的位置信息。对于句子结构(顺序)和一般图结构(稀疏、任意和不规则),位置嵌入可以帮助变形器学习或编码底层结构。从自我注意的数学角度来看,即按比例计算的点积注意,如果位置嵌入信息缺失,注意对单词(在文本中)或节点(在图中)的位置是不变的。

3.1.2 Self-Attention and Multi-Head Self-Attention

Vanilla 变压器的核心部件是自我注意(SA)操作[2],也被称为“Scaled Dot-Product Attention”. 假设 X = [ x 1 , x 2 , ⋯   ] ∈ R N × d \mathbf{X}=\left[\mathbf{x}_{1}, \mathbf{x}_{2}, \cdots\right] \in \mathbb{R}^{N \times d} X=[x1,x2,]RN×d是一个包含N个元素/token的输入序列,可选的预处理是通过点求和的位置编码 Z ← X ⊕  Position Embedding  or Z ← concat ( X ,  Position Embedding  ) \mathbf{Z} \leftarrow \mathbf{X} \oplus \text { Position Embedding }\\ \text {or}\\ \mathbf{Z} \leftarrow \text{concat}(\mathbf{X} , \text { Position Embedding }) ZX Position Embedding orZconcat(X, Position Embedding )在这里插入图片描述
给定一个输入序列,自注意允许每个元素关注所有其他元素,因此自注意将输入编码为一个完全连接的图。因此,香草变压器的编码器可以看作是一个完全连接的GNN编码器,并且变压器家族具有全局的非局部感知能力,类似于非局部网络[171]。

Masked Self-Attention (MSA)
在实践中,需要修改自我注意,以帮助变压器的解码器学习上下文依赖,以防止位置关注后续的位置,即 Z = M S A ( Q , K , V ) = Softmax ⁡ ( Q K ⊤ d q ⊙ M ) V (4) \mathbf{Z}=M S A(\mathbf{Q}, \mathbf{K}, \mathbf{V})=\operatorname{Softmax}\left(\frac{\mathbf{Q K}^{\top}}{\sqrt{d_{q}}} \odot \mathbf{M}\right) \mathbf{V} \tag{4} Z=MSA(Q,K,V)=Softmax(dq QKM)V(4)其中M是一个掩蔽矩阵。例如,在GPT[91]中,一个上三角形掩码,使每个令牌只能查看过去的令牌。掩码可用于变压器的编码器[167]、[172]和解码器,并具有灵活的实现,如0-1硬掩模[167]、软掩模[172]。

Discussion
在单模态和多模态的实践中,特定的面具都是基于领域知识和先验知识来设计的。本质上,MSA用于向变压器模型注入额外的知识,例如,[21]、[167]、[173]、[174]。

Multi-Head Self-Attention (MHSA)
在实践中,多个自注意子层可以并行堆叠,其连接的输出通过投影矩阵W融合,形成一个称为多头自注意的结构: Z = M H S A ( Q , K , V ) = concat ⁡ ( Z 1 , ⋯   , Z H ) W (5) \mathbf{Z}=M H S A(\mathbf{Q}, \mathbf{K}, \mathbf{V})=\operatorname{concat}\left(\mathbf{Z}_{1}, \cdots, \mathbf{Z}_{H}\right) \mathbf{W}\tag{5} Z=MHSA(Q,K,V)=concat(Z1,,ZH)W(5)其中,每个头部 Z h = S A ( Q h , K h , V h ) , h ∈ [ 1 , H ] Z_h=SA(Q_h,K_h,V_h),h∈[1,H] Zh=SA(Qh,Kh,Vh),h[1,H],W是一个线性投影矩阵。MHSA的概念是一种集合体。MHSA帮助模型共同关注来自多个表示子空间的信息。

3.1.3 Feed-Forward Network

多头注意子层的输出将通过位置级前馈网络(FFN),该网络由具有非线性激活的连续线性层组成。例如,一个两层的FFN可以被表述为 F F N ( Z ) = σ ( Z W 1 + b 1 ) W 2 + b 2 (6) F F N(\mathbf{Z})=\sigma\left(\mathbf{Z} \mathbf{W}_{1}+\mathbf{b}_{1}\right) \mathbf{W}_{2}+\mathbf{b}_{2}\tag{6} FFN(Z)=σ(ZW1+b1)W2+b2(6)其中,W1, b1, W2和b2表示两个线性变换的权值和偏差,而 σ ( ⋅ ) σ(·) σ()为非线性激活,如 R e L U ( ⋅ ) [ 61 ] , G E L U ( ⋅ ) [ 62 ] ReLU(·)[61], GELU(·)[62] ReLU()[61],GELU()[62]. 在一些变压器文献中,FFN也被称为多层感知器(MLP).

3.2 Vision Transformer

视觉变压器(ViT)[5]为视觉领域提供了一个强大的端到端解决方案,这是一个基于标准变压器编码器的面向图像的网络。它有一个特定于图像的输入管道,其中输入图像必须被分割成固定大小的(例如,16×16,32×32)补丁。在通过线性嵌入层并添加位置嵌入后,所有的补丁级序列都将由一个标准的变压器编码器进行编码。给定一个图像 X ∈ R H × W × C X∈\mathbb{R}^{H×W×C} XRH×W×C(H高度,W宽,C通道),ViT需要将X重塑为一系列扁平的2D补丁: X p ∈ R N × ( P 2 ⋅ C ) X^p\in \mathbb{R}^{N\times(P^2\cdot C)} XpRN×(P2C),其中(P×P)是补丁分辨率 N = H W / P 2 N=HW/P^2 N=HW/P2. 为了进行分类,一个标准的方法是在嵌入的补丁的序列前准备一个额外的可学习的嵌入“classification token”[CLASS]: Z ← concat ⁡ ( [  CLASS ]  , X W ) (7) \mathbf{Z} \leftarrow \operatorname{concat}([\text { CLASS ] }, \mathbf{X W})\tag{7} Zconcat([ CLASS ] ,XW)(7)其中,W表示投影。

3.3 Multimodal Transformers

近年来,大量的Transformer被广泛研究用于各种多模态任务,并显示其在识别和生成任务中与各种模态兼容。

在本节中,我们将从多模态输入(第3.3.1节)、自注意变量(第3.3.2节)和网络架构(第3.3.3节)的角度,回顾现有多模态变压器模型的关键技术/设计。

3.3.1 Multimodal Input

变压器族是一种通用的体系结构,可以表示为一种一般的图神经网络。具体来说,自注意力可以通过关注全局(非局部)模式,将每个输入作为一个完全连接的图来处理。因此,这种内在特征有助于变压器在一个与模式无关的管道中工作,该管道通过将每个标记的嵌入作为图的一个节点,与不同的模式兼容。

给定一个来自任意模态的输入,用户只需要执行两个主要步骤, (1) tokenize the input,(2)在将数据输入到变压器中之前,选择一个嵌入空间来表示标记。在实践中,令牌输入和令牌选择嵌入对于变压器来说是至关重要的,但非常灵活,有许多替代方案。例如,给定一个图像,标记化和嵌入的解决方案并不是唯一的。用户可以在多个粒度级别上选择或设计标记化——粗粒度和细粒度。例如,使用 ROI 和CNN特征作为令牌和令牌嵌入[107],使用补丁和线性投影作为令牌和令牌嵌入[5],或者使用图节点(由对象检测器和图生成器获得)和GNN特征作为令牌和令牌嵌入[183]。给定一个令牌化计划,后续的嵌入方法可以是多样化的。例如,对于视频输入,一个常见的标记化是将视频上的非重叠窗口(下采样)视为标记,然后它们的嵌入可以被各种3DCNNs提取,例如,VideoBERT[7],CBT[112]和UniVL[122]使用S3D[188],ActBERT使用ResNet-3D[189].

表2总结了变压器的多模态输入的一些常见做法,包括RGB、视频、音频/语音/音乐、文本、图形等。
表2
Discussion
从几何拓扑的角度来看,表2中列出的每一种模式都可以看作是一个图。RGB图像本质上是像素空间中的一个整洁的网格图。视频和音频都是基于剪辑/片段的图形,在一个复杂的空间上,涉及时间和语义模式。二维和三维绘图[86],[167]都是一种稀疏图,如果我们考虑它们沿着图形笔画的关键点。与草图相似,人的姿势也是一种图形。三维点云是一个每个坐标都是一个节点的图。其他抽象模式也可以解释为图形,例如,源代码[43]、源代码[43]的数据流、表[16]、SQL数据库模式[22]、文本问题图[21]和电子健康记录(EHRs)。

Special/Customized Tokens
在变形金刚的单模态和多模态模型中,各种特殊/自定义令牌在语义上被定义为令牌序列中的占位符,例如,class token[CLS]、separator token[SEP]。表3列出了一些常见的特殊tokens.

Token Embedding Fusion
在实践中,变压器允许每个令牌位置包含多个嵌入。这本质上是一种嵌入的早期融合,对于单模态和多模态变压器模型。最常见的融合是对多个嵌入的标记级求和(token-wise summing)例如,一个特定的标记嵌入⊕位置嵌入。与灵活的标记化类似,标记嵌入融合也很灵活,并且广泛应用于单模态和多模态变压器的应用。在[89]中,使用标记加权求和对多模态监测人工智能进行RGB和灰度图像进行早期融合。特别是,令牌嵌入融合在多模态变压器应用中发挥着重要作用,因为各种嵌入可以被标记操作符融合,例如,在 VisualBERT[109] 和 Unicoder-VL[113] 中,段嵌入被标记添加,以表示每个标记来自哪个模式(视觉或语言),VLBERT[110]通过“语言标记嵌入⊕全图像视觉特征嵌入”将全局视觉上下文注入到语言域,BERT[110]通过“语言标记嵌入⊕全图像视觉特征嵌入”,将全局视觉上下文注入语言领域,InterBERT[190]通过“ROI嵌入⊕位置嵌入”为ROI添加位置信息,在ImageBERT[120]中,融合了五种嵌入“图像嵌入⊕位置嵌入⊕语言嵌入⊕片段嵌入⊕序列位置嵌入”。

3.3.2 Self-Attention Variants in Multimodal Context

在多模态变压器中,跨模态交互作用(例如,融合、对齐)本质上是由自我注意和其变体处理的,因此,在本节中,我们将从自我注意设计的角度来回顾变压器的主要多模态建模实践,包括(1)早期求和(标记级的、加权),(2)早期联合(3)层次注意(多流到一流)、(4)层次注意(单流到多流)、(5)交叉注意和(6)交叉注意到连接。见图4。
图4
为了简洁起见,我们将陈述和比较双模式情况下的数学公式。请注意,所有讨论过的自我注意及其变体都是如此灵活的,可以扩展到多种模态的情况下。具体来说,下面的公式是模态、标记化和嵌入不可知的,作为自注意模型,从任意模态嵌入任意标记作为图的节点。

给定来自两种任意模式的输入 X A X_A XA X B X_B XB Z ( A ) Z_{(A)} Z(A) Z ( B ) Z_{(B)} Z(B)表示它们各自的标记嵌入。设Z表示由多模态交互产生的标记嵌入(序列), T f ( ⋅ ) Tf(·) Tf()代表变压器层/块的处理。

(1) Early Summation
在实践中,早期求和[45],[89]是一种简单而有效的多模态交互,其中来自多种模态的标记嵌入可以在每个标记位置进行加权求和,然后由变压器层处理: Z ← T f ( α Z ( A ) ⊕ β Z ( B ) ) = M H S A ( Q ( A B ) , K ( A B ) , V ( A B ) ) (8) \mathbf{Z} \leftarrow T f\left(\alpha \mathbf{Z}_{(\mathrm{A})} \oplus \beta \mathbf{Z}_{(\mathrm{B})}\right)=M H S A\left(\mathbf{Q}_{(\mathrm{AB})}, \mathbf{K}_{(\mathrm{AB})}, \mathbf{V}_{(\mathrm{AB})}\right)\tag{8} ZTf(αZ(A)βZ(B))=MHSA(Q(AB),K(AB),V(AB))(8)具体来说 Q (АВ  ) = ( α Z ( A ) ⊕ β Z (В)  ) W (АВ  ) Q , K (АВ  ) = ( α Z ( A ) ⊕ β Z (В)  ) W (АВ  ) K , V (АВ  ) = ( α Z ( A ) ⊕ β Z (В)  ) W (АВ  ) V \mathbf{Q}_{\text {(АВ })}=\left(\alpha \mathbf{Z}_{(\mathrm{A})} \oplus \beta \mathbf{Z}_{\text {(В) }}\right) \mathbf{W}_{\text {(АВ })}^{Q},\mathbf{K}_{\text {(АВ })}=\left(\alpha \mathbf{Z}_{(\mathrm{A})} \oplus \beta \mathbf{Z}_{\text {(В) }}\right) \mathbf{W}_{\text {(АВ })}^{K}, \mathbf{V}_{\text {(АВ })}=\left(\alpha \mathbf{Z}_{(\mathrm{A})} \oplus \beta \mathbf{Z}_{\text {(В) }}\right) \mathbf{W}_{\text {(АВ })}^{V} Q(АВ )=(αZ(A)βZ(В)W(АВ )Q,K(АВ )=(αZ(A)βZ(В)W(АВ )K,V(АВ )=(αZ(A)βZ(В)W(АВ )V,它的主要优点是它不会增加计算的复杂度。然而,它的主要缺点是由于手动设置的权重。如第3.1.1节和第3.3.1节所述,求和位置嵌入在本质上是早期求和的一种情况。

(2) Early Concatenation
另一个简单的解决方案是早期连接[7],[43],[180],[182],即将来自多个模式的令牌嵌入序列连接起来并输入到变压器层中 Z ← T f ( C ( Z ( A ) , Z ( B ) ) ) (9) \mathbf{Z} \leftarrow T f\left(\mathcal{C}\left(\mathbf{Z}_{(\mathrm{A})}, \mathbf{Z}_{(\mathrm{B})}\right)\right)\tag{9} ZTf(C(Z(A),Z(B)))(9)因此,所有的多模态令牌位置都可以作为一个完整的序列来关注,这样每个模态的位置就可以通过调节其他模态的上下文来很好地编码。VideoBERT[7]是第一个多模态变压器工作,其中视频和文本融合通过早期连接,可以编码全局多模态上下文[190]。然而,串联后较长的序列会增加计算复杂度。早期的连接也被称为“全注意力”或“协变压器”[144].

(3) Hierarchical Attention (multi-stream to one-stream)
变压器层可以分层组合,以处理跨模态交互。一种常见的做法是,多模态输入由独立的变压器流编码,它们的输出由另一个变压器[153]连接和融合: Z ← T f 3 ( C ( T f 1 ( Z ( A ) ) , T f 2 ( Z ( B ) ) ) ) (10) \mathbf{Z} \leftarrow T f_{3}\left(\mathcal{C}\left(T f_{1}\left(\mathbf{Z}_{(\mathrm{A})}\right), T f_{2}\left(\mathbf{Z}_{(\mathrm{B})}\right)\right)\right)\tag{10} ZTf3(C(Tf1(Z(A)),Tf2(Z(B))))(10)这种层次化注意力是一种晚期交互/融合的实现,可以被视为早期连接的一种特殊情况。

(4) Hierarchical Attention (one-stream to multi-stream)
InterBERT[190]是另一种分层注意的良好做法,其中连接的多模态输入由一个共享的单流变压器编码,然后是两个单独的变压器流。这个流可以表述为 { Z ( A ) , Z ( B ) ← T f 1 ( C Z ( A ) , Z ( B ) ) ) Z ( A ) ← T f 2 ( Z ( A ) ) Z ( B ) ← T f 3 ( Z ( B ) ) (11) \left\{\begin{aligned} \mathbf{Z}_{(\mathrm{A})}, \mathbf{Z}_{(\mathrm{B})} &\left.\leftarrow T f_{1}\left(\mathcal{C} \mathbf{Z}_{(\mathrm{A})}, \mathbf{Z}_{(\mathrm{B})}\right)\right) \\ \mathbf{Z}_{(\mathrm{A})} & \leftarrow T f_{2}\left(\mathbf{Z}_{(\mathrm{A})}\right) \\ \mathbf{Z}_{(\mathrm{B})} & \leftarrow T f_{3}\left(\mathbf{Z}_{(\mathrm{B})}\right) \end{aligned}\right.\tag{11} Z(A),Z(B)Z(A)Z(B)Tf1(CZ(A),Z(B)))Tf2(Z(A))Tf3(Z(B))(11)该方法感知了跨模态交互,同时保持了单模态表示的独立性。

(5) Cross-Attention
对于双流变压器,如果Q(查询)嵌入以跨流的方式进行交换/交换,那么也可以感知到跨模态的交互。这种方法被称为交叉注意或共注意[193],首次在VilBERT[107]中提出: { Z ( A ) ← M H S A ( Q B , K A , V A ) , Z ( B ) ← M H S A ( Q A , K B , V B ) (12) \left\{\begin{array}{l} \mathbf{Z}_{(\mathrm{A})} \leftarrow M H S A\left(\mathbf{Q}_{\mathrm{B}}, \mathbf{K}_{\mathrm{A}}, \mathbf{V}_{\mathrm{A}}\right), \\ \mathbf{Z}_{(\mathrm{B})} \leftarrow M H S A\left(\mathbf{Q}_{\mathrm{A}}, \mathbf{K}_{\mathrm{B}}, \mathbf{V}_{\mathrm{B}}\right) \end{array}\right.\tag{12} {Z(A)MHSA(QB,KA,VA),Z(B)MHSA(QA,KB,VB)(12)交叉注意关注另一种模态,不会导致较高的计算复杂度,但如果考虑每个模态,该方法不能全局执行跨模态注意,从而失去整个上下文。正如在[190]中所讨论的,双流交叉注意可以学习跨模态交互,而在每个模态中没有对自我环境的自我注意。

(6) Cross-Attention to Concatenation
这两个交叉注意的[107]流可以被另一个变压器进一步连接和处理,以建模全局上下文。这种层次交叉模态交互作用也在[144]、[192]中得到了广泛的研究,减轻了交叉注意的缺点。
在这里插入图片描述
Discussion
所有上述的多模态交互的自注意变体都是模态通用的,可以应用于灵活的策略和多颗粒任务。具体来说,这些交互作用可以灵活地组合和嵌套。例如,在等式的双流解耦模型[194] T f 2 Tf_2 Tf2 T f 3 Tf_3 Tf3 中,将多个交叉注意流用于层次注意(单流到多流)11个是由等式中定义的交叉注意来实现的 12.此外,它们还可以扩展到多种(≥3)模式。TriBERT[185]是一种用于视觉、姿态和音频的三模态交叉注意(共注意),其中给定一个查询嵌入,它的键和值嵌入是来自其他模态的连接。对连接的交叉注意应用于[192]中的三种模式(即语言、视频和音频)。

3.3.3 Network Architectures

从本质上说,各种多模态变压器的工作是由于它们内部的多模态注意是上述的自我注意变体。同时,如图4所示,这些注意事项决定了它们所嵌入的多模态变压器的外部网络结构。

一般来说,如果我们从网络结构的角度,考虑单流中的(1)早期求和和早期连接工作,多流中的(2)交叉注意工作,混合流中的(3)分层注意和交叉注意连接工作。因此,多模态变压器可以分为单流(如,统一[111],可视化[109],Vl-bert[110],统一VLP[115]),多流(如,ViLBERT[107],Lxmert[108],ActBERT[119]),混合流(如,InterBERT[190])等。

从互动时间的角度来看,这些多模态注意可分为三类,即早期互动:早期总和、早期连接和层次注意(一流到多流),晚期交互:层次注意(多流到单流),或整个互动:交叉注意、对连接的交叉注意。

如[195]中的图2所示,多模态变压器模型基于组件的计算大小有另一种体系结构分类。

4 THE APPLICATION PERSPECTIVE

在本节中,我们将从应用程序的角度来研究多模态变压器。我们考虑了两个重要的范例:
(1)用于多模态预训练的变压器(第4.1节,包括任务无关(第4.1.1节)和特定任务(第4.1.2节)的多模态预训练),
(2)用于特定多模态任务的变压器(第4.2节)。

4.1 Transformers for Multimodal Pretraining

受基于变压器的预训练在NLP社区取得巨大成功的启发,随着各种大规模多模态语料库的出现,变压器也在多模态预训练中得到了广泛的研究。最近的研究表明,如果在基于大规模多模态语料库转换的模型上进行[7]、[107]、[108]、[109]、[110]、[111]、[115],在广泛的多模态下游任务中明显优于其他竞争对手,而且实现了零镜头泛化能力。这些优势使得基于变压器的多模态预训练成为一个热门话题,它主要有两个方向,即针对不可知的下游任务的一般预训练(第4.1.1节),针对特定下游任务的面向目标导向的预训练(第4.1.2节)。

我们关注以下这些关键点:(1)正在出现什么趋势?(2)在训练前,跨模态互动在哪里/如何发生?(3)如何整理和理解预训练的伪目标?他们如何驱动变压器来学习跨模态的交互作用?

4.1.1 Task-Agnostic Multimodal Pretraining 任务不可知的多模式预训练

近年来,面向变压器的预训练已被广泛研究,包括不同的形态组合,如视频-文本[7]、[112]、[122]、图像-文本[107]、[108]、[109]、[196]、声学-文本[182]。
在现有的工作中,正在出现以下主要趋势:
(1)视觉语言预训练(VLP)是这一领域的一个主要研究问题,包括图像图像+语言和视频+语言,也被称为视觉语言预训练。有人提出了大量优秀的工作,e.g. VideoBERT [7], ViLBERT [107], LXMERT [108], VisualBERT [109], VL-BERT [110], UNITER [111], CBT [112], Unicoder-VL [113], B2T2 [114], VLP [115], 12-in-1 [116], Oscar [117], Pixel-BERT [118], ActBERT [119], ImageBERT [120], HERO [121], UniVL [122], SemVLP [197].
(2)由于自动语音识别(ASR)技术的最新进展,在多模态环境下,语音可以通过现成的语音识别工具转换为文本。例如,VideoBERT[7]和CBT[112]通过提取高级语义文本,充分利用语音而不是低级声音作为跨模态监督的来源。
(3)大多数基于变压器的多模态预训练都以自我监督的方式工作,然而,它过度依赖于对齐良好的多模态样本对/元组。例如,大量的图像语言预训练变压器模型是在大规模的图像-文本对上进行预训练的,例如,VisualBERT[109],VL-BERT[110],ViLBERT[107],LXMERT[108],uniter[111]。另一个例子,教学视频(如烹饪)被广泛用作训练前的语料库,例如HowToVQA69M[147],HowTo100M[148],一般来说,它们的视觉线索/内容和口语单词如果与其他视频相比有更高的概率彼此对齐。然而,使用跨模态对齐作为跨模态监督对于大规模的应用程序是昂贵的。因此,如何使用弱对齐甚至未配对/非对齐的多模态数据作为预训练语料库仍未得到充分的研究。对于最近的一些尝试,[144],[198]研究了使用弱对齐的跨模态监督来训练变压器来学习跨模态的相互作用。此外,大多数现有的借口任务在不同模式下得很好。例如,蒙面语言建模(MLM)在文本领域应用于音频和图像,例如,蒙面声建模[182],[199],蒙面图像区域预测[193],而句子排序建模(SOM)[200]文本域和帧排序建模(形式)[121]视频域共享相同的想法。下面,我们将进一步讨论多模态变压器预训练的借口任务。
(4)本质上,在多模态预训练场景中,变压器模型基于第3.3.2节中讨论的那些自我注意变量进行工作。因此,如果从模型结构的角度来看,现有的多模态预训练变压器也主要分为三类,即单流、多流、混合流。
(5)对于基于变压器的多模态预训练,关键是驱动变压器(编码器w/,w/o解码器)来学习跨模态交互。在现有的基于转换的多模态预训练实践中,跨模态交互是灵活的,可以在预训练管道中的各个组件/级别中执行。一般来说,基于变压器的多模态预训练管道有三个关键组件,从下到上,即令牌化、变压器表示、客观监督。不仅对于多模态预训练,而且对于特定的多模态任务,跨模态交互可以在三个组件中的任意组件(s)内执行。正如第3.3.2节所讨论的,由于自注意模型将任意模态嵌入任意标记作为图的节点,现有的预训练管道通常可以跨模态独立传输,除非考虑到特定模态的目标。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

查看gz文件 linux zcat file.gz mtx.gz

可以使用以下命令来查看 gz 压缩文件的内容: zcat file.gz 1 该命令会将 file.gz 文件解压并输出到标准输出,可以通过管道符将其与 grep 命令结合使用来查找需要的关键词,例如: zcat file.gz | grep keyword 1 该命令会将 file.gz…

GD32F103的EXTI中断和EXTI事件

GD32F103的EXTI可以产生中断,也产生事件信号。 GD32F03的EXTI触发源: 1、I/O管脚的16根线; 2、内部模块的4根线(包括LVD、RTC闹钟、USB唤醒、以太网唤醒)。 通过配置GPIO模块的AFIO_EXTISSx寄存器,所有的GPIO管脚都可以被选作EXTI的触发源…

windows开机运行jar

windows开机自启动jar包: 一、保存bat批处理文件 echo off %1 mshta vbscript:CreateObject("WScript.Shell").Run("%~s0 ::",0,FALSE)(window.close)&&exit java -jar E:\projects\ruoyi-admin.jar > E:\server.log 2>&1 &…

VX-API-Gateway开源网关技术的使用记录

VX-API-Gateway开源网关技术的使用记录 官网地址 https://mirren.gitee.io/vx-api-gateway-doc/ VX-API-Gateway(以下称为VX-API)是基于Vert.x (java)开发的 API网关, 是一个分布式、全异步、高性能、可扩展、轻量级的可视化配置的API网关服务官网下载程序zip包 访问 https:/…

【机器学习】 贝叶斯理论的变分推理

许志永 一、说明 贝叶斯原理,站在概率角度上似乎容易解释,但站在函数立场上就不那么容易了;然而,在高端数学模型中,必须要在函数和集合立场上有一套完整的概念,其迭代和运算才能有坚定的理论基础。 二、贝叶…

刷题笔记 day7

力扣 209 长度最小的子数组 解法:滑动指针(对同向双指针区间内的数据处理) 1)先初始化 两个指针 left ,right。 2)右移指针right的同时使用sum记录指针right处的值,并判断sum的值是否满足要求&…

【C#学习笔记】装箱和拆箱

文章目录 装箱和拆箱性能消耗装箱拆箱 比较var&#xff0c;object&#xff0c;dynamic&#xff0c;\<T\>varobject\<T\> 泛型dynamic 装箱和拆箱 在讲引用类型object的时候&#xff0c;我们说它是万能的&#xff0c;却没说它万能在哪里。 除了object为每一种变量…

【TiDB理论知识08】HATP概述

1 HTAP技术 OLTP 在线事务 支付 转账 高并发 每次操作的数据量少 &#xff0c;行存 OLAP 报表分析 每次操作大量数据 列存储 2 传统解决方案 数据抽取到数仓或者数据湖 ETL有延迟 &#xff0c;一般会有T1 T2 数据多副本 3 HTAP的要求 4 TIDB的HTAP架构 TiFlash特点&…

【Linux操作系统】相关问题和知识点总结~

【Linux操作系统】相关问题和知识点总结~&#x1f60e; 前言&#x1f64c;在Linux中&#xff0c;查看CPU使用效率top命令mpstat指令sar指令vmstat指令 如何查看Linux的内核版本grep指令&#xff08;用于在文件内容中&#xff0c;查找满足条件的内容&#xff09;如何批量删除当前…

Typescript+vite+sass手把手实现五子棋游戏(放置类)

Typescriptvitesass手把手实现五子棋游戏&#xff08;放置类&#xff09; 下面有图片和gif可能没加载出来 上面有图片和gif可能没加载出来 导言 最近练习Typescript&#xff0c;觉得差不多了&#xff0c;就用这个项目练练手&#xff0c;使用Typescript纯面向对象编程。 开源…

6.s081/6.1810(Fall 2022)Lab3: page tables

文章目录 前言其他篇章参考链接0. 前置环境1. Speed up system calls (easy)1.1 简单分析1.2 映射1.3 页分配1.4 页释放1.5 测试 2. Print a page table (easy)2.1 简单分析2.2 实现2.3 测试 3. Detect which pages have been accessed (hard)3.1 简单分析3.2 实现3.2.1 获取参…

【Ajax】笔记-设置CORS响应头实现跨域

CORS CORS CORS是什么&#xff1f; CORS(Cross-Origin Resource Sharing),跨域资源共享。CORS是官方的跨域解决方案&#xff0c;它的特点是不需要在客户端做任何特殊的操作&#xff0c;完全在服务器中进行处理&#xff0c;支持get和post请求。跨域资源共享标准新增了一组HTTP首…

【新版系统架构补充】-嵌入式技术

嵌入式微处理体系结构 冯诺依曼结构 传统计算机采用冯诺依曼结构&#xff0c;也称普林斯顿结构&#xff0c;是一种将程序指令存储器和数据存储器合并在一起的存储器结构 冯诺依曼的计算机程序和数据共用一个存储空间&#xff0c;程序指令存储地址和数据存储地址指向同一个存…

Nginx启动报错- Failed to start The nginx HTTP and reverse proxy server

根据日志&#xff0c;仍然出现 “bind() to 0.0.0.0:8888 failed (13: Permission denied)” 错误。这意味着 Nginx 仍然无法绑定到 8888 端口&#xff0c;即使使用 root 权限。 请执行以下操作来进一步排查问题&#xff1a; 确保没有其他进程占用 8888 端口&#xff1a;使用以…

【雕爷学编程】MicroPython动手做(27)——物联网之掌控板小程序2

知识点&#xff1a;什么是掌控板&#xff1f; 掌控板是一块普及STEAM创客教育、人工智能教育、机器人编程教育的开源智能硬件。它集成ESP-32高性能双核芯片&#xff0c;支持WiFi和蓝牙双模通信&#xff0c;可作为物联网节点&#xff0c;实现物联网应用。同时掌控板上集成了OLED…

使用 Docker Compose 部署 Redis Cluster 集群,轻松搭建高可用分布式缓存

Redis Cluster&#xff08;Redis 集群&#xff09;是 Redis 分布式解决方案的一部分&#xff0c;它旨在提供高可用性、高性能和横向扩展的功能。Redis Cluster 能够将多个 Redis 节点组合成一个分布式集群&#xff0c;实现数据分片和负载均衡&#xff0c;从而确保在大规模应用场…

Java源码规则引擎:jvs-rules 8月新增功能介绍

JVS-rules是JAVA语言下开发的规则引擎&#xff0c;是jvs企业级数字化解决方案中的重要配置化工具&#xff0c;核心解决业务判断的配置化&#xff0c;常见的使用场景&#xff1a;金融信贷风控判断、商品优惠折扣计算、对员工考核评分等各种变化的规则判断情景。 8月是收获的季节…

antDv table组件滚动截图方法的实现

在开发中经常遇到table内容过多产生滚动的场景&#xff0c;正常情况下不产生滚动进行截图就很好实现&#xff0c;一旦产生滚动就会变得有点棘手。 下面分两种场景阐述解决的方法过程 场景一&#xff1a;右侧不固定列的情况 场景二&#xff1a;右侧固定列的情况 场景一 打开…

三 动手学深度学习v2 —— Softmax回归+损失函数+图片分类数据集

三 动手学深度学习v2 —— Softmax回归损失函数图片分类数据集 目录: softmax回归损失函数 1. softmax回归 回归vs分类: 回归估计一个连续值分类预测一个离散类别 从回归到多类分类 回归 单连续数值输出自然区间R跟真实值的误差作为损失 分类 通常多个输出输出i是预测为第…

硬核!10分钟教你搭建一个本地版GPT4.0!

今天10分钟手把手教会你在自己电脑上搭建一个官方原版的GPT4.0。 不用ChatGPT账号&#xff0c;不用API&#xff0c;直接免费使用上官方原版的GPT4.0&#xff01; 对&#xff01;你没看错&#xff01;不仅是正版GPT4.0&#xff0c;还完全免费&#xff01; 而且整个部署流程极其…