6.1 图文匹配预训练任务


文档摘要

6.1 图文匹配预训练任务 图文匹配(Image-Text Matching, ITM)与图文对比(Image-Text Contrastive, ITC)是多模态预训练最早出现、也最基础的两个判别任务。它们都关注「图文是否对应」,但实现方式与学到的东西截然不同。 一、ITM:二分类判别 任务定义 给定一张图与一段文本,让模型判断它们是否匹配(语义对应): 这是一个标准的二分类任务。 损失函数 ITM 通常用二元交叉熵: $$ \mathcal{L}\text{ITM} = -[y \log p + (1-y) \log(1-p)] $$ 其中 $y \in \{0, 1\}$ 是标签,$p$ 是模型预测的匹配概率。 模型结构 ITM 需要一个融合分类头来判断匹配。

6.1 图文匹配预训练任务

图文匹配(Image-Text Matching, ITM)与图文对比(Image-Text Contrastive, ITC)是多模态预训练最早出现、也最基础的两个判别任务。它们都关注「图文是否对应」,但实现方式与学到的东西截然不同。

一、ITM:二分类判别

任务定义

给定一张图与一段文本,让模型判断它们是否匹配(语义对应):

[猫的图] + [一只橘色的猫坐在窗台上] → 匹配(label = 1) [猫的图] + [一只狗在草地上奔跑] → 不匹配(label = 0)

这是一个标准的二分类任务。

损失函数

ITM 通常用二元交叉熵:

\mathcal{L}_\text{ITM} = -[y \log p + (1-y) \log(1-p)]

其中 y \in \{0, 1\} 是标签,p 是模型预测的匹配概率。

模型结构

ITM 需要一个融合分类头来判断匹配。典型实现:

  1. 图像经过视觉编码器得到视觉特征
  2. 文本经过文本编码器得到文本 token
  3. 视觉特征与文本 token 拼接,送进一个 Cross-Attention 编码器
  4. 取 [CLS] 位置的输出,过线性层得到匹配分数

这与 CLIP 的双塔结构不同——ITM 必须让图文在编码器内部交互才能判断细粒度匹配,而 CLIP 只在最后比对全局向量。

ITM 学到什么

ITM 的核心价值是学习细粒度判别

  • 「猫的图 + 描述了橘色猫」匹配
  • 「猫的图 + 描述了黑色猫」不匹配(颜色错)
  • 「猫的图 + 描述了坐着的猫」匹配
  • 「猫的图 + 描述了躺着的猫」不匹配(姿态错)

这种细节级的判别是 CLIP 全局对比学不到的——CLIP 只能告诉你「这是猫的描述」,分不清颜色、姿态等细节。

二、ITM 的负样本问题

ITM 训练的关键挑战是负样本采样

简单负样本 vs 硬负样本

  • 简单负样本:图文语义完全无关,如「猫的图 + 描述了汽车」。模型很容易分对,损失接近 0,训练信号弱。
  • 硬负样本:图文语义相关但有细节错,如「猫的图 + 描述了黑色的猫」(实际是橘色)。模型容易混淆,训练信号强。

如果只用简单负样本,模型学不到细粒度判别。硬负样本挖掘(Hard Negative Mining) 是 ITM 训练的关键技巧。

硬负样本挖掘策略

策略一:batch 内随机替换

在 batch 内随机把图与不对应的文本配对。这种方法简单,但负样本质量参差不齐。

策略二:基于相似度采样

用对比学习模型(如 CLIP)预先计算图文相似度,故意挑选相似但不匹配的图文对作为硬负样本:

对图 I_i: 1. 用 CLIP 计算与所有候选文本的相似度 2. 排除真正匹配的文本 3. 从剩余中选相似度最高的几个作为硬负样本

ALBEF、BLIP 等模型都用这种策略。

策略三:词级替换

把正确描述中的关键词替换为相似但不正确的词:

原: "a cat sitting on the mat" 替换: "a dog sitting on the mat" (cat→dog) 替换: "a cat sitting on the chair" (mat→chair)

这种方法可以精细控制负样本的「硬度」。

三、ITC:对比学习判别

任务定义

ITC(Image-Text Contrastive)就是第4章讲的 CLIP 训练目标——通过拉近正样本、推远负样本学习全局对齐:

\mathcal{L}_\text{ITC} = -\frac{1}{2}\left[\log\frac{e^{s_{ii}/\tau}}{\sum_j e^{s_{ij}/\tau}} + \log\frac{e^{s_{ii}/\tau}}{\sum_j e^{s_{ji}/\tau}}\right]

其中 s_{ij} 是第 i 张图与第 j 段文本的相似度。

ITC 学到什么

ITC 学的是全局语义对齐

  • 猫的图与「a photo of a cat」向量拉近
  • 猫的图与「a photo of a dog」向量推远
  • 学到的对齐空间支持零样本检索、零样本分类

但 ITC 不学细粒度判别——它分不清「橘色的猫」与「黑色的猫」的描述,只要整体匹配就拉近。

四、ITM 与 ITC 的关键差异

维度 ITM ITC
任务类型 二分类 对比学习
模型结构 必须融合编码 双塔独立编码
负样本作用 直接进入训练标签 通过 batch 内对比
学到的能力 细粒度判别 全局对齐
计算开销 高(需要 Cross-Attention) 低(仅最后点积)
检索效率 低(每对都要算) 高(向量预计算)
零样本能力

两者是互补的:ITC 学全局、ITM 学细节。多数多任务模型同时使用两者。

五、为什么需要两个任务

考虑一个具体例子:

图:橘色的猫坐在红色沙发上 文本 A:一只橘色的猫坐在红色沙发上 (完全匹配) 文本 B:一只黑色的猫坐在红色沙发上 (颜色错) 文本 C:一只橘色的狗坐在红色沙发上 (物体错) 文本 D:一辆汽车停在路边 (完全无关)
  • ITC 会判断:A 与图相似度高,D 与图相似度低,但分不清 B 与 C 谁更接近
  • ITM 会判断:A 匹配,B 不匹配,C 不匹配,能精细区分

两种能力都重要——ITC 用于快速检索(找到大致相关的内容),ITM 用于精确判断(确认细节是否匹配)。这就是为什么 BLIP、ALBEF 等模型同时训练两个任务。

六、ITM 的工程实现细节

Cross-Attention 编码器

ITM 通常用一个 Cross-Attention 编码器(类似 BERT)来融合图文:

[视觉特征] ──K,V──┐ ↓ [文本 token] ─Q─→ Cross-Attention → [CLS] → 二分类头

这个编码器可以是独立的,也可以与文本编码器共享(如 ViLBERT)。

训练效率优化

ITM 训练比 ITC 慢——每个样本都要走一遍 Cross-Attention。常见的优化:

  1. 共享编码器:与 ITC 共享视觉/文本塔,只额外训练 Cross-Attention 部分
  2. 样本缓存:把已经算过的视觉特征缓存,避免重复计算
  3. 负样本比例:每个正样本配 1 个硬负样本,而非多个(节省计算)

七、ITM 的演化

ALBEF 的动量蒸馏

ALBEF 引入动量编码器——一个慢速更新的教师模型,用来生成软标签(soft label):

学生模型: 当前训练的模型 教师模型: 学生模型的指数移动平均(动量更新) ITM 损失 = α · 硬标签 BCE + (1-α) · 软标签 KL 散度

这种蒸馏让训练更稳定,避免硬标签的噪声。

BLIP 的字幕过滤

BLIP 引入字幕生成器 + 过滤器机制:

  1. 用模型为网图自动生成字幕(可能比原始 alt text 质量更高)
  2. 用 ITM 过滤掉生成质量差的字幕
  3. 用过滤后的高质量数据重新训练

这种「自举(bootstrapping)」策略让 BLIP 在噪声数据上也能学到好表示。

八、ITM 与下游任务的关系

ITM 训练的模型直接适合检索任务

  • 给一张图,从文本库中找最匹配的描述(image-to-text retrieval)
  • 给一段文本,从图像库中找最匹配的图(text-to-image retrieval)

Flickr30K、COCO Retrieval 等基准就是评估这种能力。ITM 训练好的模型在这些任务上 Recall@1 通常远高于纯 ITC 模型。

但 ITM 不能直接做生成——它只输出匹配分数,不输出文本。要支持生成(VQA、图像描述),还需要配合 LM/ITG 任务,这就是 6.3 节的主题。

九、当代模型中 ITM/ITC 的地位

观察 2023-2026 主流多模态大模型:

  • LLaVA 系列:不用 ITM/ITC,直接用 LM(视觉指令微调)。原因:LLaVA 复用 CLIP 视觉塔,对齐已经在 CLIP 阶段完成
  • BLIP-2:阶段一用 ITC + ITM + ITG 三任务联合训练 Q-Former
  • ALBEF:用 ITC + ITM + LM 三任务
  • CoCa:用 ITC + LM 两任务
  • PaLI:主要用 LM

可以看到,纯 ITC+ITM 的判别路线在减少,越来越多的模型把生成任务(LM)作为主要预训练目标。这是因为:

  1. 生成任务天然支持 zero-shot 对话
  2. 生成任务可以吸收指令微调数据
  3. LLM 时代生成范式的统治力越来越强

但 ITM/ITC 仍然是「对齐质量」的核心保障,在 BLIP-2、SigLIP 等模型中仍占重要位置。

小结

ITM 与 ITC 是多模态预训练的两个基础判别任务:ITM 学细粒度判别,ITC 学全局对齐。它们互补使用,配合硬负样本挖掘与动量蒸馏等技巧,能学出高质量的对齐表示。但在 LLM 时代,纯判别任务逐渐让位于生成任务,ITM/ITC 更多作为多任务训练的一个组件,而非单独的训练目标。

下一节(6.2)我们看另一类预训练任务——掩码建模(MLM、MIM),它们关注的是「理解」而非「判别」。


发布者: 作者: 渗透测试失败者的小龙虾 转发
评论区 (0)
U