咨询热线

400-820-5820

加入我们

免费下载

请填写以下信息获取免费下载资源

  • 公司名称

    *
  • 姓名

    *
  • 职务

    *
  • 电子邮箱

    *
  • 手机

    *
  • 验证码

    获取验证码
  • 公司名称

    *
  • 姓名

    *
  • 职务

    *
  • 电子邮箱

    *
  • 手机

    *
  • 验证码

    获取验证码

留言反馈

请填写以下信息反馈问题或建议

  • 公司名称

    *
  • 姓名

    *
  • 职务

  • 电子邮箱

    *
  • 手机

    *
  • 反馈内容

  • 验证码

    获取验证码
2025-09-20
76

多模态技术调研

一、多模态概述

·多模态概念

每一种信息的来源或者形式,都可以称为一种模态。例如,人有触觉,听觉,视觉,嗅觉;信息的媒介,有语音、视频、文字等;多种多样的传感器,如雷达、红外、加速度计等。以上的每一种都可以称为一种模态。

多模式深度学习是一个机器学习子领域,旨在训练人工智能模型来处理和发现不同类型数据(模式)之间的关系——通常是图像、视频、音频和文本。通过结合不同的模态,深度学习模型可以更普遍地理解其环境,因为某些线索仅存在于某些模态中。

最流行的组合方式如下:①图片+文字②图像+音频③图片+文字+音频④文字+音频。

·多模态任务类型
1-1.jpg

多模态任务指的是涉及到多种模态(如视觉、语音、文本等)数据的任务。以下是一些常见的多模态任务:

(1)图像分类和描述:给定一张图片,需要将其分类到不同的类别,并且根据图片生成相应的文字描述。

(2)视频分析:对于一段视频,需要进行各种分析,如人物跟踪、动作识别、情感分析等。

(3)语音识别和生成:将语音转化为文字,或者根据给定的文本生成相应的语音。

(4)视觉问答:基于对图像的理解,回答与之相关的问题。

(5)多模态机器翻译:将不同模态的输入翻译成目标语言的输出,如将一段视频中的语音和图像翻译成另一种语言的文字和图像。

(6)多模态情感识别:利用图像、文本、语音等不同的模态数据来识别人的情感状态,如快乐、悲伤、愤怒等。

二、多模态研究挑战
1-2.jpg

多模态机器学习主要有五个方面的工作:

(1)多模态表征学习:主要任务是学习如何更好的提取和表示多模态数据的特征信息,以利用多模态数据的互补性。多模态表示有两种:联合特征表示(Joint representations)和协同特征表示(coordinated representations)。

(2)翻译:模态转换是将一种模态映射到另一种模态的行为。主要思想是如何将一种模态(例如,文本模态)转换成另一种模态(例如,视觉模态),同时保留语义常见应用:①机器翻译②图片描述③语音合成。

(3)对齐:主要任务是识别在两种或更多不同模态的(子)元素之间的直接关系,主要分为显式对齐和隐式对齐。

(4)多模态融合:结合来自两个或多个模态的信息来执行预测,即抽取自不同模态的信息整合成一个稳定的多模态表征。根据融合的时期不同:在不同时期将多种模态的的特征进行融合,分为早期融合,晚期融合,混合融合三种。

(5)协同学习:协同学习是指使用一个资源丰富的模态信息来辅助另一个资源相对贫瘠的模态进行学习。比如迁移学习(Transfer Learning)就是属于这个范畴。

三、多模态经典模型与结构
1-3.jpg
1-4.jpg

传统多模态模型分成两类,一类是只用了transformer Encoder(双塔模型),

如上图所示,一类是既用了 transformer encoder也用了 transformer decoder。

上图是早期工作的一个简单总结:

图 (a) 是VSE或者VSE++的架构,它们的文本端就是直接抽一个文本特征,但是它们的视觉端非常大,需要的计算量非常多,因为它是一个目标检测器。当得到了文本特征和视觉特征之后,它最后只能做一个很简单的模态之间的交互,从而去做多模态的任务。

图(b)是CLIP的结构,视觉端和文本端都用同等复杂度的encoder进行特征提取,再做一个简单的模态交互,结构优点是对检索任务极其有效,因为它可以提前把特征都抽好,接下来直接算Similarity矩阵乘法就可以,极其适合大规模的图像文本的检索,非常具有商业价值。缺点是只计算Cosine Similarity无法做多模态之间深度融合,难一些的任务性能差。

图(c)是Oscar或者ViLBERT、Uniter采用的架构,因为对于多模态的任务,最后的模态之间的交互非常重要,只有有了模态之间更深层的交互,VQA、VR、VE这些任务效果才会非常好,所以他们就把最初的简单的点乘的模态之间的交互,变成了一个Transformer的Encoder,或者变成别的更复杂的模型结构去做模态之间的交互,所以这些方法的性能都非常的好,但是随之而来的缺点也很明显:所有的这一系列的工作都用了预训练的目标检测器,再加上这么一个更大的模态融合的部分,模型不论是训练还是部署都非常的困难。

图 (d) 是ViLT的架构。当Vision Transformer出来之后,ViLT这篇论文就应运而生了,因为在Vision Transformer里,基于Patch的视觉特征与基于Bounding Box的视觉特征没有太大的区别,它也能做图片分类或者目标检测的任务,因此就可以将这么大的预训练好的目标检测器换成一层Patch Embedding就能去抽取视觉的特征,所以大大的降低了运算复杂度,尤其是在做推理的时候。但是如果文本特征只是简单Tokenize,视觉特征也只是简单的Patch Embedding是远远不够的,所以对于多模态任务,后面的模态融合非常关键,所以ViLT就用一个很大的Transformer Encoder去做模态融合,从而达到了还不错的效果。因为移除了预训练的目标检测器,换成了可学习的Patch Embedding Layer。

· 模型结构
1-5.jpg

如上图所示,我们将一般模型架构分解为五个组件:

模态编码器(Modality Encoder) : 直接使用

输入映射器 (Input projector): 将其他模态的编码特征与文本特征空间对齐

LLM 骨干 (LLM backbone): 直接使用

输出映射器 (Output Projector) : 将生成模型与 LLM 的输出指令对齐

模态生成器 (Modality Generator):直接使用,模态编码器主要是对来自不同模态的输入进行编码,来获得相应的特征,模态可以是图像,视频,音频,3D 等。

多模态理解主要是前三个部分。(模态对齐)训练期间,encoder,LLM Backbone 和 generator 一般保持冻结。主要优化输出和输出的 projector。由于Projector 是轻量级的模块,MM-LLMs 中可以训练的参数比例和总参数相比非常小(2% 左右),模型的总体参数规模取决于LLM 部分。

四、多模态模型微调技术
1-6.jpg

微调是指调整大型语言模型(LLM)的参数以适应特定任务的过程。这是通过在与任务相关的数据集上训练模型来完成的。所需的微调量取决于任务的复杂性和数据集的大小。在深度学习中,微调是一种重要的技术,用于改进预训练模型的性能。除了微调ChatGPT之外,还有许多其他预训练模型可以进行微调。

微调可以分为全微调和部分微调两个方法:

全微调(Full Fine-tuning):全微调是指对整个预训练模型进行微调,包括所有的模型参数。在这种方法中,预训练模型的所有层和参数都会被更新和优化,以适应目标任务的需求。这种微调方法通常适用于任务和预训练模型之间存在较大差异的情况,或者任务需要模型具有高度灵活性和自适应能力的情况。Full Fine-tuning需要较大的计算资源和时间,但可以获得更好的性能。

部分微调(Repurposing):如上图所示,列举出了7种。部分微调是指在微调过程中只更新模型的顶层或少数几层,而保持预训练模型的底层参数不变。这种方法的目的是在保留预训练模型的通用知识的同时,通过微调顶层来适应特定任务。Repurposing通常适用于目标任务与预训练模型之间有一定相似性的情况,或者任务数据集较小的情况。由于只更新少数层,Repurposing相对于Full Fine-tuning需要较少的计算资源和时间,但在某些情况下性能可能会有所降低。

评论

携手共启数字化转型新征程

欢迎与我们交流,共同探索适合您的转型路径。

立即交谈
  • 公众号

  • 服务号

  • 视频号

我们随时准备为您提供帮助

  • 咨询热线

    400-820-5-820