多模态预训练大模型:一个广泛的调研综述
多模态预训练大模型:一个广泛的调研综述
多模态预训练大模型(MM-PTMs)是当前人工智能领域的研究热点。本文对大规模多模态预训练模型进行了全面回顾,从背景、任务定义、关键挑战、优势、预训练数据集、目标、网络框架、知识引导的预训练模型、下游任务、实验分析以及未来研究方向等多个维度,对这一领域进行了深入探讨。
背景与挑战
随着对通用深度模型的迫切需求,许多预训练大型模型被提出,例如双向编码器表示(BERT)、视觉Transformer(ViT)、生成式预训练Transformers(GPT)等。受到这些模型在单一领域(如计算机视觉和自然语言处理)的成功启发,近年来多模态预训练大模型也越来越受到关注。
多模态预训练大模型通常是在大规模训练数据集上进行训练。由于缺乏多模态成像设备,收集多模态数据比单模态要困难得多。常用的多模态相机通常只覆盖两种模态,如RGB-depth、RGB-thermal、RGB-radar、RGB-event相机等。大多数当前的多模态预训练大模型都是视觉语言模型,因为可以从互联网轻松访问图像和文本数据。
关键挑战
实现一个模型参数量巨大的多模态预训练大模型是非常具有挑战性的。具体来说,主要面临以下挑战:
大规模多模态数据的获取和清理:多模态数据是多模态预训练大模型中最重要的元素之一。由于缺乏多模态成像设备,收集多模态数据比单模态要困难得多。常用的多模态相机通常只覆盖两种模态,如RGB-depth、RGB-thermal、RGB-radar、RGB-event相机等。大多数当前的多模态预训练大模型都是视觉语言模型,因为可以从互联网轻松访问图像和文本数据。但是,由于样本噪声,这些数据的附加清理也是必要的。
大规模多模态预训练的网络架构设计:网络架构是多模态预训练的另一个关键组件。用于多个输入模态的特征编码的网络需要仔细定制,因为不同的模态可能具有自己的特征,并且需要特定的网络。例如,对于图像和文本模态,建议使用Transformer或CNN, 而对于事件流,可以使用脉冲神经网络。另一个问题是多模态融合或跨模态匹配模块的设计。是否适用于大规模预训练模型的小规模多模态任务设计相似的模块仍有待验证。
预训练目标的设计:由于大量的未标记多模态数据,预训练任务通常需要以无监督学习的方式进行。许多当前的工作采用每个模态的掩码区域预测作为其学习目标。显然,多模态任务的目标可以直接从单模态预训练中借用,但是为多模态任务设计的预训练目标也是必要、直观和有效的。广泛使用的对比学习、基于模态的匹配和模态翻译都是有效且有意义的尝试。如何设计新的多模态预训练目标是多模态预训练大模型中最具有挑战性的任务之一。
支持大规模计算能力:传统深度神经网络的训练可以在具有有限GPU数量的服务器上执行。相比之下,由于大规模多模态数据和超大规模模型参数,多模态预训练大模型需要更多的计算能力。因此,首先要准备一个超级计算设备,随后的模型训练也需要大量的电力来支持。
参数调优技巧:考虑到上述挑战因素,训练一个有效的大型模型从来不是一个简单的任务。训练神经网络所使用的技巧也非常重要。虽然小型预训练的研究和技术相对更加成熟,但对于大规模预训练技术的经验积累较少。
预训练大模型的优势
与单模态预训练的大模型相比,多模态预训练大模型更适用于实际应用场景。具体来说,多模态协作生成、模态补全、跨领域检索等问题可以通过多模态预训练大模型得到很好的解决。此外,多模态数据包含更多的信息,可以弥补单个模态的缺陷。因此,多模态预训练大模型可以帮助提取多模态的共同特征。许多最近的工作表明,利用多模态预训练大模型确实带来了额外的先验知识。与小型多模态模型相比,通过自监督/无监督学习获得的多模态预训练大模型的泛化性可以显著提高。因为一些先验知识只包含于海量大数据中,而少量人工选择的标注数据是有偏的,因此小型模型很难掌握这种知识。
预训练数据集
许多大规模多模态数据集被提出用于预训练任务,关于各个数据集更加详细的介绍请参考综述论文原文和对应的原始文章。
表格1. 大规模预训练多模态数据集概览表
预训练目标
如何设计预训练目标是多模态预训练任务的核心任务之一。本文介绍的诸多的预训练目标,如图4所示,更多的细节请参考原文。
图3. 多模态数据、模型、算力的关系。
预训练网络框架
本文回顾了89个典型的预训练多模态大模型,如表格2所示,其中涵盖了所涉及的模态、骨干网络架构、预训练目标、大模型的特色、参数量、以及对应的开源代码链接。更多的细节请参考综述原文。
知识引导的预训练大模型
传统的预训练模型存在逻辑推理能力差和缺乏可解释性的问题。为了解决这些问题,在预训练模型中引入知识,即使用知识进行预训练也被称为"知识增强的预训练模型"(KEPTMs),如图5所示。知识表示学习。通过学习符号化知识(通常以实体和关系的形式表示)的知识表示学习,使得基于神经网络的模型能够融合知识并提高其推理能力。相似性基础模型和图神经网络(GNN)模型是两种主要的知识表示学习方法。
图2. 多模态预训练大模型综述框架图。
预训练下游任务
在预训练任务完成后,研究者通常会在下游任务上测试模型以验证其强大的能力。具体而言,生成任务、分类任务和回归任务被用于验证。作为一种新的学习范式,针对修改下游任务以适应预训练大型模型的提示学习(Prompt Learning)吸引了越来越多的关注。在本节中,还回顾了一些有代表性的提示学习算法。这些下游任务的概览如图6所示。
图3. 多模态数据、模型、算力的关系。
实验分析
考虑到多模态预训练大模型的复杂性和数量,要在短时间内复制预训练任务几乎是不可能的。因此,本论文忽略了预训练相关的实验和分析。然而,本文仍然希望为读者提供一份更完整的综述文章,因此,从他们的论文中提取了相应下游任务的实验结果,并将其与共享基准数据集进行比较,如图6和图7所示。
表格1. 大规模预训练多模态数据集概览表
未来研究方向
尽管多模态预训练大模型已经取得了巨大的发展,但它仍然是一个年轻的研究方向。许多问题和机遇仍然等待研究人员解决。在本节中,我们总结了几个值得尝试的研究点。
在更多模态上进行预训练:现有的大型预训练模型通常在两个模态上进行预训练,例如视觉和语言。缺乏大量对齐的多模态数据可能是一个关键原因。正如一句老话所说:"磨刀不误砍柴工"。获取真实的多模态数据对于大规模预训练来说是最重要的事情,如图8所示,例如视觉图像、文本、音频、雷达、事件流、深度图像、热图像等。据我们所知,很少有设备可以同时捕捉这么多模态。因此,制造多模态成像设备可能具有非常显著的意义。基于这些数据的预训练大型模型可能具有更广泛的应用潜力。
基于增量学习的预训练:目前,现有的预训练大型方法通过特征微调或提示学习用于下游任务。这种标准的深度学习过程在短时间内运行良好,但预训练是一个昂贵的过程。具体而言,数据收集和清理、用于预训练的电荷以及硬件设备都耗费了大量的人力和材料资源。当我们收集另一组数据时,在混合数据上的预训练是昂贵、冗余且不环保的。然而,很少有研究考虑为大型模型开发增量学习算法,并且不清楚传统深度学习中开发的增量学习算法是否适用于大型模型。除了上述数据增量学习之外,还有许多方面可以利用多模态预训练大型模型。例如,类别(或类别)增量学习是一个经典的机器学习问题。另一个有趣的问题是如何将新模态引入到已经预先训练好的多模态模型中。因为新的传感器(模态)将在未来的某个不确定时间出现,设计的多模态大型模型应该足够灵活以应对这种情况。
知识增强型多模态预训练:根据对多模态预训练大模型的综述,我们可以发现知识辅助型预训练仍处于起步阶段。当前的工作仅仅在预训练阶段采用外部知识图谱或知识库,但它们通常是单模态的、独立的多模态数据,并且仅限于提高模型对数据的理解。虽然常识知识更为普遍,但它也更抽象,引入了歧义,导致在应用到特定数据时出现挑战。因此,我们认为进一步探索知识增强型多模态预训练是值得研究的。首先,需要通过自监督学习收集或提取多模态数据的指定知识。其次,需要设计更多针对多模态数据的通用知识融合方法,超越视觉和语言模态的限制。第三,需要特定的预训练知识评估任务来检查知识在早期阶段的增强情况,因为预训练是整个训练过程的第一阶段,而下游任务仍在确定中。
细粒度多模态预训练:大多数现有的多模态预训练大模型都是从全局视角进行预训练的,例如研究人员将整张图像与语言之间的匹配作为预训练的监督信号。代表性工作包括CLIP、ALIGN等。需要注意的是,细粒度本地信息挖掘或实例级预训练可能进一步改善多模态预训练的整体性能。一些研究人员已经利用了细粒度预训练策略的可能性。我们希望更多的研究人员能够关注这个方向,以进一步推动最终结果的发展。
基于提示学习的多模态预训练模型:目前预训练的大型模型通常使用"预训练-微调"的方式,即用户需要使用预训练权重初始化其模型,然后再微调到下游任务上。尽管这在许多任务中都有效,但是微调可能不是最直接的方法。因为当前的多模态大型模型是通过模态匹配、掩码令牌预测等方式进行预训练的,而下游任务通常是分类和回归任务。因此,存在多模态预训练和微调之间的差距。最近,一个新的框架(称为提示学习)被开发出来用于基于大型模型的下游任务,它快速地转换下游任务的环境,使其与预训练保持一致。许多工作已经证明了它在CV和NLP任务中的有效性。在这个方向上的研究工作也很有趣,具有巨大的潜力。
小规模模型开发的技术迁移:小规模多模态模型已经被开发多年,并为深度多模态任务提出了许多代表性的模型。在这些工作中,扩散、跨注意力和动态神经网络对于特定的多模态任务非常有用。其中的一部分技术被应用于视觉-语言预训练模型,如基于跨注意力的ViLBERT。在大型模型任务中仍有许多算法或技巧尚未探索。我们认为从小规模到大规模预训练模型的转移值得研究。
跨模态预训练模型中的耦合和解耦问题:耦合涉及建立不同模态之间的相关性,而"交叉"只能通过这种相关性实现。解耦可以进一步动态扩展模态。从框架设计的角度来看,值得研究如何为这两个问题提供可行的解决方案。
总结
本文对大规模多模态预训练模型 (MM-PTMs) 进行了全面回顾。首先,我们介绍了MM-PTMs的背景,重点关注传统的深度学习、NLP、CV和语音中的预训练。然后,讨论了MM-PTMs的任务定义、关键挑战和益处。接下来,我们深入探讨了MM-PTMs的回顾,并讨论了预训练数据、目标、网络、知识增强预训练等。我们回顾了下游任务,包括生成、分类和回归任务,并概述了MM-PTMs的模型参数和用于预训练的硬件。我们还讨论了几项代表性任务的实验结果,并对其进行了可视化。最后,我们指出了一些值得关注的研究方向,并总结了本文。希望我们的综述能够为MM-PTMs提供一些有用的见解。