简介

在不断发展的人工智能世界中,最令人着迷的挑战之一就是教会机器通过多种感官 (特别是视觉和语言) 同时理解世界。这就是 多模态表征学习 (Multi-Modal Representation Learning) 的领域。我们希望模型能够观看视频并理解其文本描述,反之亦然。

目前最先进的方法通常依赖于 对比学习 (Contrastive Learning) (如著名的 CLIP 模型) 。这些模型的工作原理是在数学空间中将匹配的视频和文本对的表征拉近,同时将不匹配的对推远。虽然这种方法很有效,但它有一个缺陷: 它假设视频和句子之间存在僵化的一对一映射关系。

但现实是复杂的。一段法官说话的视频包含面部表情、手势、背景细节和时间动态。而字幕“法官正在说话”则是对这些信息的大量压缩。这就造成了 信息不平衡 (information imbalance)

在这篇文章中,我们将深入探讨一篇提出名为 CALM (Class-anchor-ALigned generative Modeling,类别锚点对齐生成式建模) 的新解决方案的论文。CALM 不再强求视频和文本之间的直接、僵化的匹配,而是引入了“第三方”——一组类别锚点 (Class Anchors) ,并使用生成式建模来对齐概率分布。这种方法能更好地处理不确定性,并且能显著更好地泛化到新数据。

问题所在: 模态差异

要理解为什么我们需要一种新方法,我们首先需要直观地了解当前方法的局限性。

视频包含微妙且密集的语义信息。而文本描述通常很简短,表达能力有限。当我们试图将这两个不平等的数据片段强制进行直接匹配时,就会遭遇 模态差异 (modality discrepancy)

图1. (a) 视频包含微妙的语义信息,而文本描述通常具有有限的表达能力。这种不匹配导致了视频和文本之间的信息不平衡和模态差异,导致多样化的视频特征坍缩为有限的文本表征范围。(b) 为了解决这个问题,我们提出了一种类别锚点对齐的生成式建模方法。我们的方法通过将提示 (prompts) 与来自每种模态的输入进行对齐来生成类别概率分布,从而有效地弥合模态鸿沟并保留视频内容的多样化语义。

如上方的 图 1 (a) 所示,考虑文本: “法官正在和选手交谈 (a judge is talking to a contestant) ”。

  • 文本: 简单且具体。
  • 视频: 可能描绘了一位微笑着的法官、一位皱眉的法官、一个广角镜头或一个特写镜头。

对比学习在这里显得有些吃力,因为它将这种关系视为二元的: 匹配或不匹配。它没有考虑到视频包含比文本 更多 的信息这一事实。这导致模型忽略了视频特征的丰富多样性,仅仅为了适应文本的有限范围。

解决方案: CALM 框架

研究人员提出了 CALM 。 其核心理念既精彩又简单: 与其直接将视频映射到文本,不如将它们都映射到一组共享的外部概念上,这些概念被称为 类别锚点 (Class Anchors)

如果我们能够用一连串通用的动作 (例如“说话”、“坐着”、“微笑”) 来描述视频,并用同样的列表来描述文本,我们就可以对齐这些描述的 概率分布

高层架构

CALM 框架包含三个主要阶段:

  1. 特征提取: 使用预训练编码器 (CLIP) 。
  2. 类别锚点提取: 创建一组参考提示。
  3. 跨模态概率建模: 使用变分自编码器 (VAE) 来对齐分布。

让我们看看完整的架构:

图2. 我们的框架概览。我们利用来自独立数据集的类别标签,将其转换为提示,并提取其语言特征作为类别锚点。然后,我们通过测量视频和文本特征与类别锚点之间的相似度来计算类别概率分布,从而有效地表示模态内和模态间的关系。为了进行模态对齐,我们采用了一个跨模态概率变分自编码器,该编码器以模态间概率分布作为输入,并重建模态内概率分布,以便在共享的潜空间中对齐模态。

图 2 所示,模型接收视频帧和文本,对其进行编码,将它们与一组“类别锚点”进行比较,然后使用 VAE 处理对齐。让我们一步步分解。

第一步: 特征提取

首先,模型需要将原始像素和单词转换为数学向量。作者为此使用了预训练的 CLIP 模型。

对于视频: 模型从视频中采样 \(T\) 帧。每一帧 \(f_t\) 都通过 CLIP 图像编码器。

Equation 1

然后,使用时序融合模块聚合这些帧级特征,以创建一个单一的视频级特征表征 V

Equation 2

对于文本: 类似地,文本描述被分词并通过 CLIP 文本编码器。模型使用 [CLS] (分类) 标记的嵌入作为句子级表征。

Equation 3

第二步: 类别锚点提取

这是 CALM 的独特之处。研究人员采用了来自独立数据集 (如 Charades 数据集,其中包含动作标签) 的一组类别标签。他们不使用数据集的图像,只使用标签 (单词) 。

他们将每个标签包装在一个提示模板中,例如 “The content of [label]” ([标签]的内容) 。

Equation 4

然后使用文本编码器对这些提示进行编码,以创建 类别锚点 (Class Anchors) (\(p_k\))。添加了一个可学习的位置嵌入 (\(e^{pos}\)) 以帮助模型区分不同的锚点。

Equation 5

现在,我们在嵌入空间中拥有了一组固定的“锚点” (概念向量) 。

第三步: 生成概率分布

模型不直接比较视频 V 和文本 S,而是计算视频与 每一个类别锚点 的相似度,以及文本与 每一个类别锚点 的相似度。

通过对这些相似度应用 Softmax 函数,模型生成了视频 (\(V_p\)) 和文本 (\(S_p\)) 的概率分布。

Equation 6

Equation 7

  • \(V_p\) 代表 模态间 (Inter-modal) 关系 (视频 vs. 锚点) 。
  • \(S_p\) 代表 模态内 (Intra-modal) 关系 (文本 vs. 锚点) 。

对齐这些分布使得模型能够捕捉数据语义的“形状”,而不仅仅是空间中的一个点。

第四步: 跨模态概率 VAE

这里就是标题中“生成式”部分的由来。作者使用了 跨模态概率变分自编码器 (Cross-Modal Probabilistic Variational Autoencoder, VAE)

其目标是对视频-文本关系中固有的不确定性进行建模。VAE 试图在给定 视频分布 (\(V_p\)) 的情况下重建 文本分布 (\(S_p\))

编码器 (The Encoder) : 编码器接收视频分布 \(V_p\) 并将其映射到由均值 (\(\mu\)) 和方差 (\(\sigma\)) 表征的潜空间分布。使用重参数化技巧 (reparameterization trick) ,采样得到潜变量 \(z\)。

Equation 8

解码器 (The Decoder) : 解码器接收这个潜变量 \(z\) 并试图重建文本分布 \(\hat{S}_p\)。

Equation 9

为什么要这样做?通过强制视频表征通过一个概率潜空间 (\(z\)) 来预测文本表征,模型学习到了一个鲁棒的联合表征,它可以处理前面讨论的模糊性和“信息不平衡”。

第五步: 训练目标

为了训练这个 VAE,模型最大化证据下界 (ELBO) 。

Equation 10

实际上,这意味着最小化由两部分组成的损失函数:

  1. 重建损失 (\(\mathcal{L}_{rec}\)): 这确保预测的文本分布接近实际的文本分布。

Equation 11

  1. KL 散度 (\(\mathcal{L}_{KL}\)): 这作为一个正则化项,确保学习到的潜分布不会偏离标准正态分布太远。这可以防止模型死记硬背数据,并鼓励潜空间的平滑性。

Equation 12

最终的损失将这些生成式损失与标准任务损失 (如对比损失) 结合起来,以微调表征。

Equation 13

实验与结果

研究人员在四个主要的视频-文本基准测试上测试了 CALM: MSR-VTT, DiDeMo, MSVD 和 LSMDC 。 他们评估了两项任务的表现: 视频检索 (Video Retrieval) (为文本查询寻找正确的视频) 和 视频描述生成 (Video Captioning) (为视频撰写描述) 。

视频检索表现

结果显示,CALM 显著优于现有的最先进方法。

域内评估 (In-Domain Evaluation) : 当在同一数据集 (MSR-VTT) 上进行训练和测试时,CALM 获得了最高的 Recall@1 (R@1) 分数。R@1 衡量的是正确视频出现在第 1 个结果中的频率。

表1. 在 MSR-VTT 上训练的视频检索实验结果。箭头指示域外评估。

表 1 中,注意 CALM 的 50.8% R@1 , 以 1.8% 的优势击败了之前的最佳模型 (DiffusionRet,49.0%) 。

域外评估 (泛化能力) : 这是最令人印象深刻的部分。带有箭头 (\(\rightarrow\)) 的列表示在模型 从未见过 的数据集上进行测试。

  • 当在 MSR-VTT 上训练并在 DiDeMo 上测试时,CALM 得分为 41.2% , 显著高于竞争对手。
  • 这证明了使用类别锚点有助于模型学习通用概念,而不是数据集特定的怪癖。

我们在 DiDeMo 和 LSMDC 等其他数据集上也看到了类似的成功:

表2. 在 DiDeMo 上训练的视频检索实验结果。

表3. 在 LSMDC 上训练的视频检索实验结果

视频描述生成表现

CALM 不仅擅长寻找视频,还擅长描述它们。

表4. 在 MSRVTT 上训练的视频描述生成实验结果。“MSVD -> MSR-VTT”表示域外结果,即模型在 MSVD 上训练并在 MSR-VTT 上评估。

表 4 中,对于 MSR-VTT 数据集,CALM 的 CIDEr 分数 (衡量描述质量的指标) 达到了 59.3 , 比第二名 (CLIP4Caption) 高出 2.3 分。在域外设置 (MSVD \(\rightarrow\) MSR-VTT) 中差距更大,显示出 CIDEr 提高了 5.5 分。

表5. 在 MSVD 上训练的视频描述生成实验结果。“MSR-VTT -> MSVD”表示域外结果。

定性分析: 为什么它有效?

为了理解模型是 如何 思考的,我们可以看看对于特定视频激活了哪些类别锚点。

图3. MSR-VTT 数据集上的定性视频检索结果。选定的锚点捕捉到了独特的语义线索,要么对齐共享内容 (a),要么突出互补信息以解决模态不平衡 (b)。模态间和模态内关系作为补充语义线索,增强了视频和文本之间的语义对齐,并提高了检索性能。

图 3 中,我们看到两个例子:

  • (a) 兼容对齐: 文本提到“连接某物”。模型将其与“从盒子里拿东西”和“拿着笔记本电脑”等锚点对齐。视频和文本都映射到相似的锚点。
  • (b) 信息不平衡: 文本说“一个男人在舞台上说话”。然而,视频展示了一场表演。视频与“某人在大笑”对齐,而文本与“拿着一些衣服”对齐 (可能是隐喻或数据集噪声) 。然而,由于 CALM 对齐的是 分布 而不是精确的特征,它可以通过找到锚点定义的潜空间中的重叠部分来弥合这一差距。

消融实验

锚点真的有必要吗?VAE 重要吗?作者进行了消融实验来验证他们的设计选择。

类别锚点的数量: 他们测试了使用 0、50、100 和 157 个锚点的情况。

表6. MSR-VTT 上类别锚点数量对视频检索性能的比较。

表 6 所示,随着更多锚点的加入,性能稳步提升。有趣的是,即使使用来自完全不同数据集的锚点 (使用 COCO 而不是 Charades) 也能比基准提升性能,这表明仅仅拥有 任何 独特的语义参考点都是有帮助的。

生成式与判别式损失: 他们还测试了用简单的损失函数 (如均方误差或直接在分布上的 KL 散度) 替换 VAE,而不使用生成组件。

表7. 生成式和判别式学习方法在 MSR-VTT (域内) 和 DiDeMo (域外) 视频检索性能上的比较。

表 7 证实了 VAE 方法 (CALM) 产生了最好的结果。生成过程使得模型能够比简单的几何距离最小化更好地处理映射的不确定性。

结论

CALM 论文在多模态表征学习方面迈出了重要的一步。通过承认视频和文本很少包含完全相同的信息,作者摆脱了僵化的对比匹配。

相反,他们引入了 类别锚点 (Class Anchors) ——一组通用概念——和一个 生成式 VAE 来对齐视频和文本的概率分布。

主要收获:

  1. 模态鸿沟: 当一种模态 (视频) 比另一种 (文本) 丰富得多时,直接匹配会失效。
  2. 锚点有效: 使用外部类别标签作为“语义支点”有助于对齐不同的数据类型。
  3. 生成式对齐: 将对齐建模为概率生成任务 (从视频分布生成文本分布) 可以捕捉不确定性并提高泛化能力。

这种方法不仅在标准基准测试中取得了最先进的结果,更重要的是,在未见过的数据集上表现出了鲁棒的性能。这表明 CALM 正在学习真正的语义理解,而不仅仅是死记硬背数据集的模式。