1. 多模态学习的背景

在多模态学习中,我们有多个不同来源的数据(例如文本、图像、音频),而这些数据具有不同的表示方式:

  • 文本:由单词、短语组成,通常用词嵌入(word embedding)或更复杂的语言模型(如BERT)来表示。

  • 图像:由像素或更高级的视觉特征表示,通常通过卷积神经网络(CNN)来提取特征。

  • 音频:由波形、频谱图等组成,可以用神经网络(CNN,RNN)提取特征。

问题:这些不同模态的数据表示方式差异很大,因此我们需要对它们的特征进行“对齐”和“融合”,使得不同模态的数据能够协同工作。


2. 特征提取

首先,我们需要从每种模态中提取出其特征(特征向量)。

例如

  • 图像:使用一个预训练的卷积神经网络(如ResNet或ViT)提取出一个图像的特征向量。

  • 文本:使用像BERT这样的语言模型,将文本转化为一个向量。

  • 音频:使用卷积神经网络或递归神经网络(RNN)处理音频信号并提取特征。

这个阶段,图像、文本和音频就已经分别被转换成了特征向量,接下来的问题是:如何让它们的特征能“对齐”成同一标准,进而融合。


3. 特征对齐(Alignment)

目标
特征对齐的目的是将不同模态的特征表示转换到一个“相似”的空间里,便于它们进行比较或融合。
也就是说,我们要通过某种方法让不同模态的特征“看起来像同一种特征”。

怎么对齐?
最常用的方式是通过对比学习(contrastive learning)。我们希望:

  • 同一语义的图像和文本,其特征应该在“同一空间”里尽量接近。

  • 不同语义的图像和文本,其特征应该在“空间”上尽量远离。

对比学习:
  1. 配对样本:假设我们有一对“匹配”的图像和文本(例如一张描述“猫”的图像和“这是一只猫”的文本)。这对样本是正样本。

  2. 目标:我们希望通过训练,让正样本的图像特征和文本特征在特征空间中靠得更近;而不匹配的图像和文本特征(负样本)则应该距离更远。

举个例子
假设我们有两个样本:

  • 图像1:一只狗

  • 文本1:“这是一只狗”

  • 图像2:一只猫

  • 文本2:“这是一只猫”

我们通过对比学习希望:

  • 图像1和文本1的特征向量相似

  • 图像2和文本2的特征向量相似

  • 图像1和文本2的特征向量应该不相似(即它们的特征向量应该有较大距离)

如何实现对齐?

  • 使用一个对比损失函数(如InfoNCE损失)。这个损失函数通过最大化正样本对的相似度、最小化负样本对的相似度来进行训练。


4. 特征融合(Fusion)

目标
将对齐后的多个模态特征融合成一个统一的表示,用来进行下游任务(如分类、生成等)。

在对齐后,图像、文本等模态的特征已经能在同一个空间中进行比较。接下来,我们需要将它们融合在一起,来捕获不同模态间的信息。

怎么融合?
融合方法分为三种:

1. 早期融合(Early Fusion)
  • 做法:将所有模态的特征直接拼接在一起。

  • 优点:简单,快速。

  • 缺点:如果模态间的特征差异太大,可能会影响效果。

示例:假设有两个特征向量:

  • 图像特征:f_img = [0.1, 0.2, 0.3]

  • 文本特征:f_text = [0.4, 0.5, 0.6]

我们可以直接将这两个特征拼接成一个向量:

ffusion=[0.1,0.2,0.3,0.4,0.5,0.6]f_{fusion} = [0.1, 0.2, 0.3, 0.4, 0.5, 0.6]


2. 中期融合(Intermediate Fusion)
  • 做法:通过注意力机制或交互模块融合不同模态的特征。

  • 例如:使用Cross-Attention(交叉注意力)来让图像和文本特征互相关注,找出图像和文本中最相关的部分。

示例:假设文本“这是一只猫”和图像包含猫的照片。模型通过注意力机制学习到“猫”这个词在文本和图像中的重要性,并将这些信息融合在一起。


3. 晚期融合(Late Fusion)
  • 做法:在每个模态的特征已经提取后,分别使用不同模态来进行预测,然后再将各个预测结果结合起来。例如:

    • 图像单独进行分类

    • 文本单独进行分类

    • 最后将两个结果结合起来(例如加权平均或投票)。

优点:对每种模态的独立性较好。
缺点:可能没有完全利用模态间的信息。


5. 联合训练

对齐和融合后的特征可以用于下游任务(例如分类、生成等)。为了保证特征融合后能有效工作,通常会联合训练所有模态的模型。
这时候,我们需要定义一个联合损失函数,它包括:

  • 任务损失:比如分类损失、回归损失等。

  • 对齐损失:用于保持不同模态之间的对齐。

  • 融合损失:确保融合后的特征能有效预测。


6. 总结

  1. 特征提取:将每种模态的数据转化为特征向量。

  2. 特征对齐:使用对比学习等方法将不同模态的特征表示到同一个空间,使得同类的模态特征相近。

  3. 特征融合:将对齐后的特征通过拼接、注意力机制等方式融合在一起,用于下游任务。

  4. 联合训练:将对齐和融合的模型联合训练,确保多模态的信息得以充分利用。


Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐