多模态相关综述

多模态信息处理技术打破计算机视觉、语音与声学、自然语言处理等学科间的壁垒,是典型的多学科交叉技术。

多模态核心技术又分为:多模态表示,多模态融合(Fusion)、多模态转换(Translation)、多 模 态 对 齐 (Alignment)和 模 态 协 同 学 习(Co-learning)类。

从自然语言处理的角度出发,2022年—2020年左右,在国际自然语言领域的顶刊顶会上,关度较高的几个多模态应用如下:

视觉语言生成是给定一个图像生成一段语言描述,或者给定一段话生成一幅图,也包括视频描述任务等

视觉问答典型的例子是在商品检索中如图:

多模态摘要又分为视频会议摘要、教学视频摘要、多模态商品摘要、多模态新闻摘要。

多模态对齐研究多个模态不同颗粒度元素间的对齐关系。比如,在大规模图像-词汇对齐的多模态语料库上训练的预训练语言模型可增强其对自然语言的理解能力。

等应用这里不再多讲,感兴趣可以去知网查看[1]吴友政,李浩然,姚霆等.多模态信息处理前沿综述:应用、融合和预训练[J].中文信息学报,2022,36(05):1-20.以上内容均来源于此。

用transformer多模态学习的综述

人工智能(AI)的最初灵感是模仿人类的感知,例如看到、听到、触摸、嗅闻等。通常,一个模式通常与特定的传感器相关联,并创建独特的通信通道,例如视觉和语言 [1]本质上,多模态AI系统需要摄取、解释和理解多模态信息源才能实现与人类水平相当的感知能力。多模态学习(MML)是一种构建可以从多模态数据中提取和关联信息的AI模型的通用方法 [1]。

本调查重点关注使用Transformer进行多模态学习(如图1所示),并受到其固有优势和可扩展性(例如,语言,视觉,听觉)建模不同模态(例如,语言翻译,图像识别,语音识别)和任务(例如,语言翻译,图像识别,语音识别)的启发。

背景

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

感谢互联网的发展和近年来智能设备的大规模应用,越来越多的多模态数据正在通过互联网传输,因此出现了越来越多的多模态应用场景。在现代生活中,我们可以看到许多多模态应用,包括商业服务(例如电子商务/商品检索[71],视觉和语言导航(VLN) [72],[73],[74],[75],[76])、通信(例如唇读[77],手语翻译[28],[29])、人类-计算机交互[78]、医疗AI[79]、监控AI[81]等。

此外,在深度学习的时代,深度神经网络极大地促进了多模态学习(MML)的发展,Transformer架构是一个具有竞争力的架构家族,为MML带来了新的挑战和机遇。特别是,最近大型语言模型的成功和它们的跨模态衍生模型(例如[82],[83],[84],[85],[86])进一步证明了Transformer在多模态基础模型中的潜力。

里程碑

受到Transformer的成功启发,VideoBERT [7]是一项突破性的工作,是第一个将Transformer扩展到多模态任务的研究。VideoBERT证明了Transformer在多模态背景下的巨大潜力。在VideoBERT之后,许多基于Transformer的多模态预训练模型(例如ViLBERT [102],LXMERT [103],VisualBERT [104],VL-BERT [105],UNITER [106],CBT [107],Unicoder-VL [108],B2T2 [109],VLP [110],12-in-1 [111],Oscar [112],Pixel-BERT [113],ActBERT [114],ImageBERT [115],HERO [116],UniVL [117])已经成为机器学习领域的研究热点。

在2021年,CLIP [9]被提出。它是一个新的里程碑,通过将多模态预训练应用于分类,将其转化为一个检索任务,使得预训练模型能够解决zero shot识别。因此,CLIP是一个成功的实践,充分利用了大型多模态预训练,实现了zero shot学习。最近,CLIP的概念 further研究,例如基于CLIP的zero shot语义分割 [118],CLIP-TD [119],ALBEF [121]和CoCa [122]。

数据集

多模态数据集的新趋势;

(1)数据规模更大。各种最近发布的 datasets 包括 Product1M、Conceptual12M、RUC-CAS-WenLan(30M)、HowToVQA69M、HowTo100M、ALT200M 和 LAION-400M 等,数据规模都在百万级别。

(2)视觉、文本和音频等多模态数据集正在不断涌现,包括更多的多样模态,例如:Pano-AVQA:第一个大型空间和音频视觉问题回答数据集,适用于360度视频,YouTube-360(YT-360)[145](360度视频),AIST++[146](一个新的多模态数据集,包括3D舞蹈动作和音乐),Artemis [147](用于视觉艺术的情感语言),MultiBench [148](包括10种模态的数据集)。

(3)更多场景。除了常见的字幕和问答数据集外,还研究了更多应用场景,例如:CIRR [149](现实图片),Product1M [137](产品1M),Bed and Breakfast(BnB)[150](视觉-语言导航),M3A [151](金融数据),X-World [152](自动驾驶)。

(4)任务更具挑战性。除了简单的任务之外,还提出了更多抽象的多模态任务,例如:MultiMET(一种多模态数据集,用于隐喻理解),Hateful Memes(带有仇恨言论的多模态数据集)。

(5)指令式视频变得越来越流行,例如:烹饪视频 YouCookII [155]。将指令与某人执行任务的视频对齐是一个强大的预训练前缀任务[7],[156]。预训练任务是在解决它们的基础上设计的,以迫使模型学习表示。

类似于其他深度神经网络架构,Transformer 也具有数据需求大的特点。因此,其高容量模型和多模态大数据基础共同推动了基于多模态的机器学习的发展。例如,大数据使 VLP Transformer 模型具有零散学习能力。

multimodal transformer

tansformer的基础架构不再多讲,直接看多模态。

给定一个任意模态的输入,用户只需要执行两个主要步骤:1)对输入进行标记,2)选择一个表示标记的嵌入空间,然后将数据输入到Transformer中。在实践中,标记输入和选择嵌入空间对于Transformer来说至关重要,但具有很多灵活性。例如,对于图像,标记和嵌入的解决方案不是唯一的。用户可以在多个粒度级别上进行标记和嵌入选择——粗粒度(coarse-grained)和细粒度(fine-grained)。

这里标记是tokenizing,”Tokenizing input”是将输入文本分割成单个的标记或词语的过程。这可以通过使用空格、标点符号或其他规则来实现。例如,将句子”Hello, how are you?”分割成标记[“Hello”, “,”, “how”, “are”, “you”, “?”]。”Embedding”是将这些标记转换为向量表示的过程。向量表示可以捕捉到标记之间的语义和关系。常见的方法是使用预训练的词嵌入模型,如Word2Vec、GloVe或BERT,将每个标记映射到一个固定长度的向量。

在多模态Transformer中,跨模态交互(例如融合、对齐等)本质上是由自注意力和其变体处理的。因此,在本节中,我们将从自注意力的设计角度回顾Transformer的主要多模态建模实践,包括(1)早期的求和(词级别,加权),(2)早期的连接(跨模态连接),(3)层次注意力(多流到一流),(4)层次注意力(一流到多流),(5)跨模态注意力(跨模态关注),和(6)跨模态注意力的连接。请参阅表2和图2

上述所有多模态交互的自关注变体都是模态通用的,可以应用于灵活的策略和多粒度任务。具体来说,这些交互可以灵活地组合和嵌套。例如,在两流解耦模型[191]中,多个交叉注意流用于分层注意(一流到多流),Eq. 11中的tf2和tf3通过Eq. 12中定义的交叉注意实现。此外,它们可以扩展到多个(≥3)模式。TriBERT[183]是视觉、姿势和音频的三模态交叉注意(共注意),其中给定查询嵌入,其键和值嵌入是来自其他模态的连接。在[189]中,交叉注意串联被应用于三种模式(即语言、视频和音频)。

Transformers for Multimodal Pretraining

Transformer也被广泛用于多模态预训练。最近的研究表明,如果在基于大规模多模态语料库Transformer的模型上进行预训练[7],[102],[103],[104],[105],[106],[110],在大范围的多模态下游任务中明显优于其他竞争对手,并且实现了零样本泛化能力。这些优势使得基于transformer的多模态预训练成为一个热门话题,主要有两个方向,即针对不可知性下游任务的一般性预训练(章节4.1.1)和针对特定下游任务的目标导向预训练(章节4.1.2)。

我们关注这些关键点:(1)正在出现哪些趋势?(2)在预训练过程中,跨模态交互在哪里/如何发生?(3)如何梳理和理解预训练托词目标?他们如何使用transformer学习跨模态交互?

在基于Transformer的多模态预训练中,预训练任务/目标通常也被称为预训练任务/目标。到目前为止,已经研究了许多预训练任务,例如:

  1. 遮蔽语言建模(MLM)[137]

  2. 遮蔽图像区域预测/分类(也称为遮蔽对象分类,MOC)[137],[190]

  3. 遮蔽区域回归(MRR)[115]

  4. 视觉-语言匹配(VLM)(例如,图像-文本匹配(ITM) [188],图像文本匹配(ITM),短语区域对齐(PRA) [204],词区域对齐(WRA) [106],视频字幕匹配(VSM) [116]

  5. 遮蔽帧建模(MFM)[116],帧序建模(FOM)[116],下一句预测(NSP)[4],[102],[190],遮蔽句子生成(MSG) [191],遮蔽组建模(MGM) [188],前缀语言建模(PrefixLM) [199],视频有条件遮蔽语言模型(也称为视频受控遮蔽语言模型)[117],有条件文本遮蔽图像模型(也称为有条件图像遮蔽语言模型)[117],视觉翻译语言建模(VTLM) [206],以及图像有条件遮蔽语言建模(也称为图像关注遮蔽语言建模)[207]。这些下游任务无关的预训练预处理可以是可选的,而下游任务目标可以直接训练,这在第4.1.2节中将会讨论。表3提供了基于Transformer的多模态预训练中常见的预训练任务。

在多模态变压器的实践中,上述与下游任务无关的预训练是可选的,不是必须的,针对下游任务的预训练也被广泛研究[150],[190],[208],[211]。主要原因包括:(1)受现有技术的限制,很难设计出一套高度通用的网络架构、借口任务和语料库,适用于所有不同的下游应用。(2)各种下游应用之间存在不可忽略的差距,如任务逻辑、数据形式等,使得从预训练到下游应用的转移变得困难,因此,大量的下游任务仍然需要量身定制的预训练来提高性能。

挑战与设计

融合

一般来说,MML transformer主要在三个级别融合跨多种模式的信息:输入、中间表示、预测。

我们注意到简单的基于预测的后期融合[247],[248]在多模态 transformer中较少采用。考虑到学习更强的多模态上下文表示的动机和计算能力的巨大进步,这是有道理的。为了增强和解释MML的融合,探索模式之间的相互作用和测量融合[249]将是一个有趣的探索方向。

对齐

可转移性

可迁移性是Transformer基于多模态学习的一个主要挑战,涉及如何将模型在不同的数据集和应用中进行转移。数据增强和对抗扰动策略有助于提高多模态Transformer的泛化能力。VILLA是一种两阶段策略(任务无关对抗预训练,然后针对任务的对抗微调),可以提高VLP Transformer。

在实践中,训练数据和实际数据的分布差异是显着的。例如,监督数据样本(良好标注、对齐)在实际应用中成本很高。因此,如何将预训练的多模态Transformer迁移到弱对齐的测试平台上是一个具有挑战性的问题[137]。CLIP是一种鼓舞人心的解决方案,通过学习共享的多模态嵌入空间,将知识从一个模态迁移到另一个模态,实现零散转移。CLIP的主要灵感是,预训练的多模态(图像和文本)知识可以通过使用提示模板“一张{标签的照片}”来将在训练和测试数据之间传递分布差距。

过拟合是一个向量转移的主要障碍。多模态Transformer在训练过程中可能会过度拟合数据集,由于其建模能力很大。一些最近的实践探索了如何将或acle模型在无噪声数据集上训练的数据迁移到真实数据集。例如,Kervadec等人[272,273]研究了VQA中的可迁移推理模式,并表明对于LXMERT[103]/BERT-like推理模式,可以从理想数据集中部分转移到真实数据集中。

跨任务差距是另一个向量转移的主要障碍。根据[208],[274],由于不同的推理和输入-输出工作流程,例如如何将多模态数据集用于语言预训练模型的微调,是一个具有挑战性的问题。在实际应用中,有时需要处理未映射的单模态数据,这通常是由于缺失模态而导致的。一种解决方案是使用知识蒸馏,例如,在Transformer中从多模态到单模态注意力[275],从多个单模态Transformer教师到共享Transformer编码器[276]。在多模态任务和生成任务之间存在巨大的差距。正如[208]中所讨论的,基于BERT的编码器- only多模态Transformer(例如,VideoBERT [7], CBT [107])需要分别对生成任务训练解码器。这可能导致预训练-微调差异不利于泛化。最近,越来越多的研究探讨了这个问题,例如,GilBERT是一种用于有监督任务的生成VLP模型。

跨语言差距也应该考虑,以确保Transformer基于多模态学习的可转移性,例如,英语到非英语多模态上下文下的通用跨语言通用学习[206],[277]。

效率

多模态Transformer有两个主要效率问题: (1) 由于具有较大的模型参数容量,它们对数据量有很高的需求,因此依赖于大规模训练数据集。 (2) 由于自注意力机制,它们的计算复杂度随输入序列长度的增长而呈指数级增长,这会导致在多模态环境中计算爆炸。这些问题是相互依存的,应该一起考虑。

为提高多模态Transformer的训练和推理效率,近年来提出了各种解决方案,以使用更少的训练数据和/或参数。主要想法可以总结为以下几点:

(1) 知识蒸馏。将训练的大型Transformer模型中的知识蒸馏到较小的Transformer模型中[93]。Miech等人[278]从慢模型(基于早期连接的Transformer)到快模型(基于独立 dual branch 的Transformer)进行了蒸馏。

(2) 简化和压缩模型。去除组件以简化模型管道。以VLP Transformer模型为例,使用对象检测模型进行简化会花费很多代价,因此可以使用视觉输入的无约束方式,例如,E2E-VLP[271]和ViLT[192]。DropToken通过随机丢弃输入序列的一部分视频和音频token来降低训练复杂度。DropToken可以被视为一种实现dropout或对抗训练的方法。权重共享也是常见的多模态Transformer模型简化的方法之一。Wen等人[279]提出了一种基于视觉和文本编码器的权重共享Transformer,以对齐文本和图像。Lee等人[280]提出了一种新的参数共享方案,基于低秩近似。

(3) 不对称网络结构。为不同的模块分配不同的模型容量和计算复杂度,以节省参数。参考文献[192]中的图2。

(4) 提高训练样本的利用率。Liu等人[281]通过充分利用较少的样本数据来训练简化LXMERT模型。Li等人[282]使用更少的数据来训练CLIP模型,通过充分利用模型的潜在自监督信号,来自模型的距离较近的相似对之间使用最近邻监督。

(5) 压缩和剪枝模型。搜索多模态Transformer模型的最优子结构/网络,例如,使用VLP Transformer模型进行彩票抽奖[283]、Lottery Tickets策略。

(6) 优化自注意力。Transformer模型在输入序列长度上需要大量的时间和内存,一个可能的解决方案是优化O(N2)的复杂度,例如,Child等人[286]提出的稀疏注意力矩阵的稀疏分解。Transformer LS[287]是既高效又高效的Transformer模型,具有线性计算和内存复杂度。

(7) 优化基于多模态交互/融合的自注意力。Nagrani等人[175]提出了Fusion via Attention Bottlenecks(FSN)来提高多模态交互/融合的性能。FSN通过少数 bottleneck latent 传递消息,因此模型需要对每个模态进行最必要的信息提取。这种策略利用了 bottleneck 作为桥梁,不仅提高了融合性能,而且降低了计算成本。

(8) 优化其他策略。使用最优策略执行常见的Transformer基于多模态交互。考虑到自注意力的平方复杂度,使用基于早期连接的多模态交互来同步融合多个模态的输入是昂贵的。Yan等人[288]提出了一种有效的解决方案,即在序列长度升序顺序中,逐个将两个相邻视图的信息融合起来。这是一种贪心策略。

多样性

由于多模态学习任务的多样性和模态数量,通用性对于多模态Transformer模型来说是一个重要的问题。在实践中,大量的最新尝试都试图尽可能地统一各种模态和任务,以便处理各种任务和数据。理想情况下,统一的多模态Transformer模型应该可以兼容各种数据(例如,对齐和未对齐的,单模态和多模态的)和任务(例如,监督和无监督,单模态和多模态,有监督和无监督,推理和生成)。同时,这些模型应该具有能够在 小样本或甚至零样本情况下进行一般化的能力。因此,目前为了解决通用性问题,采取的临时解决方案只是初步的探索

目前,统一模型的尝试主要包括以下两种:

(1)统一输入/任务的管道。正如第5.3节所述,在实际场景中,由于缺失模态,多模态Transformer模型需要处理单模态数据。将多模态知识蒸馏到适应单模态数据和任务的模型中是一种成功的方法[275],[276]。

(2)统一理解和生成管道。通常情况下,理解和生成任务都需要Transformer编码器,而生成/生成任务还需要Transformer解码器。现有尝试使用多任务学习来将理解和生成任务合并进行训练,其中两种类型的工作流程共同训练。从模型结构上看,这通常包括:

(a)编码器+解码器,例如E2E-VLP。

(b)分离的编码器+跨编码器+解码器,例如UniVL和CBT。

(c)单解码器/联合编码器,例如VLP。

(d)双流解码器设计,例如两个流解码器。

虽然上述尝试提供了一些初步的探索,但也存在一些明显的问题和限制,至少包括:

(1)由于模态和任务之间的差距,通用模型应该考虑泛化能力和成本之间的平衡。统一模型通常会导致更大的或更复杂的模型配置,而针对特定模态或任务,一些组件可能是冗余的。

(2)多任务损失函数会增加训练的复杂度。如何正确地共同训练多个目标以及有效地优化它们是一个具有挑战性的问题,因为不同的目标通常应该在不同的策略上进行优化。

讨论

设计一个通用的MML模型,在所有单模态和多模态下游任务中同时具有不同的特征是一个非常大的挑战,Transformer模型(如[9]、[199]、[263]等)在特定MML任务上表现优异,但它们仅被设计为针对特定任务的模型(如[137]、[142]、[212]、[249]、[260]、[261]、[265]、[266]等)。令人鼓舞的是,一些最近的研究关注于在模态无关网络设计方面实现通用模态学习( modality-agnostic network design )[3]和更通用架构设计[307]、[308]、[309],并期望这会引发更多的研究调查。因此,我们不应对模型的设计空间进行深入探索,而是寻求对MML模型的行为进行深入理解和解释,即使不同模态之间的交互和协同效应本质上是复杂和可能不一致的[249]。

对于更细粒度的MML,发现跨模态的潜在语义对齐对于模型的成功至关重要。一种直观的策略是利用预提取的语义部分(如物体)来支持MML[103]、[104]、[105]、[106]、[112]、[204]、[310]。然而,这不仅复杂且容易出错,而且计算代价昂贵[207]。最近,提出了一些解决方法,包括随机采样[113]、学习概念词典[203]、联合学习区域检测器[271]和掩码预测前的表示对齐[263]。考虑到MML训练数据的规模,探索这一方向需要极大的计算成本,而且据富有的研究团队来说,更加划算。理想的方法是让MML在模态之间自动产生细粒度的语义对齐,这值得未来仔细研究。

随着学习规模的指数扩展,训练数据变得不可避免地嘈杂和异质化[9]、[199]、[263]。最近,已经证明解决噪声问题非常重要[263]、[309]。另一个相关的问题是训练策略,例如,训练阶段数量是否优于常见的单阶段策略[115]。此外,由于多模态数据的输入更长,Transformer的平方复杂度变得更为尖锐。尽管对高效变体进行了大量研究[49],但为MML进行专门性的效率研究仍然是不足的,并需要更多的调查。

以下是Transformers在多模态机器学习方面的优势的概述:

(1) Transformers可以编码隐含知识[32]。

(2) 多头带来了多个建模子空间,可以进一步增强模型的表现能力。理想情况下,训练后多个头都是好的,并且不同。这是集成学习的良好实践

(3) Transformers固有的全局聚合特性感知非局部模式

(4) 由于大型模型的能力,Transformer模型通过在大型语料库上进行有效的预训练来处理具有挑战性的领域缺口,例如语言和视觉[294]。

(5) Transformers可以表示输入作为一个图,与更多的模态兼容,例如表格和SQL。

(6) 对于建模序列和序列模式(如时间序列),Transformer模型在训练和/或推理中的效率比基于RNN的模型更好,得益于它们在训练和/或推理中的并行计算。Transformers天生对平移变换不变,因此是点云学习的理想工具[164]。

(7) 分词使得Transformers灵活地组织多模态输入,正如第3.1.1节中所述。

论文选自Multimodal Learning with Transformers:A Survey