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 需要一个融合分类头来判断匹配。
图文匹配(Image-Text Matching, ITM)与图文对比(Image-Text Contrastive, ITC)是多模态预训练最早出现、也最基础的两个判别任务。它们都关注「图文是否对应」,但实现方式与学到的东西截然不同。
给定一张图与一段文本,让模型判断它们是否匹配(语义对应):
[猫的图] + [一只橘色的猫坐在窗台上] → 匹配(label = 1) [猫的图] + [一只狗在草地上奔跑] → 不匹配(label = 0)
这是一个标准的二分类任务。
ITM 通常用二元交叉熵:
其中 y \in \{0, 1\} 是标签,p 是模型预测的匹配概率。
ITM 需要一个融合分类头来判断匹配。典型实现:
这与 CLIP 的双塔结构不同——ITM 必须让图文在编码器内部交互才能判断细粒度匹配,而 CLIP 只在最后比对全局向量。
ITM 的核心价值是学习细粒度判别:
这种细节级的判别是 CLIP 全局对比学不到的——CLIP 只能告诉你「这是猫的描述」,分不清颜色、姿态等细节。
ITM 训练的关键挑战是负样本采样。
如果只用简单负样本,模型学不到细粒度判别。硬负样本挖掘(Hard Negative Mining) 是 ITM 训练的关键技巧。
在 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(Image-Text Contrastive)就是第4章讲的 CLIP 训练目标——通过拉近正样本、推远负样本学习全局对齐:
其中 s_{ij} 是第 i 张图与第 j 段文本的相似度。
ITC 学的是全局语义对齐:
但 ITC 不学细粒度判别——它分不清「橘色的猫」与「黑色的猫」的描述,只要整体匹配就拉近。
| 维度 | ITM | ITC |
|---|---|---|
| 任务类型 | 二分类 | 对比学习 |
| 模型结构 | 必须融合编码 | 双塔独立编码 |
| 负样本作用 | 直接进入训练标签 | 通过 batch 内对比 |
| 学到的能力 | 细粒度判别 | 全局对齐 |
| 计算开销 | 高(需要 Cross-Attention) | 低(仅最后点积) |
| 检索效率 | 低(每对都要算) | 高(向量预计算) |
| 零样本能力 | 弱 | 强 |
两者是互补的:ITC 学全局、ITM 学细节。多数多任务模型同时使用两者。
考虑一个具体例子:
图:橘色的猫坐在红色沙发上 文本 A:一只橘色的猫坐在红色沙发上 (完全匹配) 文本 B:一只黑色的猫坐在红色沙发上 (颜色错) 文本 C:一只橘色的狗坐在红色沙发上 (物体错) 文本 D:一辆汽车停在路边 (完全无关)
两种能力都重要——ITC 用于快速检索(找到大致相关的内容),ITM 用于精确判断(确认细节是否匹配)。这就是为什么 BLIP、ALBEF 等模型同时训练两个任务。
ITM 通常用一个 Cross-Attention 编码器(类似 BERT)来融合图文:
[视觉特征] ──K,V──┐ ↓ [文本 token] ─Q─→ Cross-Attention → [CLS] → 二分类头
这个编码器可以是独立的,也可以与文本编码器共享(如 ViLBERT)。
ITM 训练比 ITC 慢——每个样本都要走一遍 Cross-Attention。常见的优化:
ALBEF 引入动量编码器——一个慢速更新的教师模型,用来生成软标签(soft label):
学生模型: 当前训练的模型 教师模型: 学生模型的指数移动平均(动量更新) ITM 损失 = α · 硬标签 BCE + (1-α) · 软标签 KL 散度
这种蒸馏让训练更稳定,避免硬标签的噪声。
BLIP 引入字幕生成器 + 过滤器机制:
这种「自举(bootstrapping)」策略让 BLIP 在噪声数据上也能学到好表示。
ITM 训练的模型直接适合检索任务:
Flickr30K、COCO Retrieval 等基准就是评估这种能力。ITM 训练好的模型在这些任务上 Recall@1 通常远高于纯 ITC 模型。
但 ITM 不能直接做生成——它只输出匹配分数,不输出文本。要支持生成(VQA、图像描述),还需要配合 LM/ITG 任务,这就是 6.3 节的主题。
观察 2023-2026 主流多模态大模型:
可以看到,纯 ITC+ITM 的判别路线在减少,越来越多的模型把生成任务(LM)作为主要预训练目标。这是因为:
但 ITM/ITC 仍然是「对齐质量」的核心保障,在 BLIP-2、SigLIP 等模型中仍占重要位置。
ITM 与 ITC 是多模态预训练的两个基础判别任务:ITM 学细粒度判别,ITC 学全局对齐。它们互补使用,配合硬负样本挖掘与动量蒸馏等技巧,能学出高质量的对齐表示。但在 LLM 时代,纯判别任务逐渐让位于生成任务,ITM/ITC 更多作为多任务训练的一个组件,而非单独的训练目标。
下一节(6.2)我们看另一类预训练任务——掩码建模(MLM、MIM),它们关注的是「理解」而非「判别」。