想象幼儿园里最受欢迎的“看图配对”游戏:黑板上贴满动物照片,地上散落着写着名字的卡片,小朋友要在一堆干扰项中把图和文字配成一对。视觉语言预训练,就是让 AI 用几十亿张图片和文字玩这个游戏。CLIP 像一位老师,准备了大量经过筛选的“干净卡片”;ALIGN 则换了个思路,直接把网上没洗干净的“噪声卡片”倒进题库,靠数量取胜。经过这一场规模空前的配对游戏,模型学会把图片和文字放进同一个“联想房间”——在这个房间里,“猫的照片”和“cat”这两个词对应着非常接近的坐标。于是,以后遇到没见过的新任务,模型也可以根据文字描述,直接去图片里“找人”。这篇文章就用“配对游戏”这条线索,带你拆解 CLIP / ALIGN 背后的核心思想、模型结构、训练流程与落地工程。

岗位关联

掌握这篇文章,你就能看透多模态模型的底层对齐逻辑,为后续做图文检索、内容审核、跨模态搜索等真实项目打下基础。

目录
  1. 可视化演示
  2. 核心思想:给视觉和语言搭一座桥
  3. 模型架构:两座各司其职的塔
  4. 训练目标:对比学习的配对游戏
  5. CLIP配方:数据、提示词与零样本分类
  6. ALIGN路线:用噪声数据堆出规模
  7. 工程实现:让配对游戏跑在超算上
  8. 应用边界:能做什么、不能做什么
  9. AI 应用场景
  10. Python 演示
  11. 常见误区
  12. 面试题

可视化演示

动态演示视觉语言预训练的前沿进展的核心机制,通过概览/流程/对比/趋势四种模式展示关键概念与交互流程。

本节配有交互动效(进入视口后自动加载,约 3KB)。

视觉语言预训练的前沿进展:视觉语言 视觉语言预训练发展脉络与趋势 双塔到融合架构的演进方向 核心机制可视化 视觉语言预训练的前沿进展整体架构与关键组件

核心思想:给视觉和语言搭一座桥

“看图配对”游戏之所以有效,是因为它把一个复杂的感知问题变成了一个简单的距离问题。孩子不需要背下“猫”的定义,只需要在一次次配对中,让“猫的照片”和“猫的名字”在脑海里形成一种稳定的联想。CLIP 和 ALIGN 学的也是这件事:它们各自准备了一个图像编码器和一个文本编码器,把一张图和一句话分别变成一串数字,也就是“坐标”。

如果这对图文本来就应该匹配,那么它们的坐标应该靠得很近;如果本来就不匹配,坐标就应该离得很远。这个“坐标空间”就是多模态表示空间,也叫对齐空间。为了让模型学会这个空间,我们需要一个可微的相似度函数,最常用的是余弦相似度。

所以我们说,视觉语言预训练的核心,不是让模型“背诵图片”,而是让模型学会搭一座桥,让图片和文字在同一个空间里互相找得到对方。

sim(zI,zT)=cos⁡(zI,zT)=zI⋅zT∥zI∥∥zT∥\displaystyle \mathrm{sim}(\mathbf{z}_I, \mathbf{z}_T) = \cos(\mathbf{z}_I, \mathbf{z}_T) = \frac{\mathbf{z}_I \cdot \mathbf{z}_T}{\lVert \mathbf{z}_I \rVert \lVert \mathbf{z}_T \rVert}
简单说:把两个向量都缩放到单位长度后,看它们指向的方向有多一致;方向越一致,相似度越接近 1。
  1. 图像与文本向量$\mathbf{z}_I$ 是图像编码器输出的向量,$\mathbf{z}_T$ 是文本编码器输出的向量。
    zI, zT\mathbf{z}_I,\ \mathbf{z}_T
  2. 向量点积分子上的 $\mathbf{z}_I \cdot \mathbf{z}_T$ 表示两个向量逐位相乘再相加,衡量“同方向分量的乘积和”。
    zI⋅zT=∑kzI,kzT,k\mathbf{z}_I \cdot \mathbf{z}_T = \sum_{k} z_{I,k} z_{T,k}
  3. 向量模长分母中的 $\lVert \mathbf{z}_I \rVert$ 和 $\lVert \mathbf{z}_T \rVert$ 分别表示两个向量的长度。
    ∥z∥=∑kzk2\lVert \mathbf{z} \rVert = \sqrt{\sum_k z_k^2}
  4. 余弦相似度点积除以两个模长后,结果落在 $-1$ 到 $1$ 之间,越接近 $1$ 表示越匹配。
    cos⁡(zI,zT)∈[−1,1]\cos(\mathbf{z}_I, \mathbf{z}_T) \in [-1, 1]

模型架构:两座各司其职的塔

在配对游戏里,有两个角色缺一不可:一个负责“看”图片,一个负责“读”文字。它们不需要彼此干涉,但最后必须把各自得到的结论交到同一个房间里进行比对。这个设计在工程上被称为“双塔结构”。

图像塔通常是 ResNet 或 Vision Transformer,它把一张图片压缩成一个高维特征向量;文本塔通常是 Transformer,它把一句话压缩成另一个高维特征向量。这两个向量最初的维度可能不同,语义空间也不一致,因此需要两个“翻译官”,也就是线性投影层,把它们映射到同一个维度、同一个空间中。

除了线性投影,CLIP 还会对最终向量做 L2 归一化,让所有 embeddings 都落在单位球面上。这样后续计算相似度时,只关心方向,不关心向量长短,“翻译官”输出的答案才公平。

zI=WIfI+bI,zT=WTfT+bT\displaystyle \mathbf{z}_I = W_I \mathbf{f}_I + \mathbf{b}_I, \qquad \mathbf{z}_T = W_T \mathbf{f}_T + \mathbf{b}_T
这就像两个小朋友分别用自己的母语写下答案,再由两位翻译把答案统一成同一种语言,才能比较谁写得更接近。
  1. 原始特征$\mathbf{f}_I$ 是图像塔输出的原始特征,$\mathbf{f}_T$ 是文本塔输出的原始特征。
    fI, fT\mathbf{f}_I,\ \mathbf{f}_T
  2. 图像线性投影$W_I$ 是图像侧的投影矩阵,$\mathbf{b}_I$ 是偏置项,两者共同把图像特征翻译到共享空间。
    zI=WIfI+bI\mathbf{z}_I = W_I \mathbf{f}_I + \mathbf{b}_I
  3. 文本线性投影$W_T$ 是文本侧的投影矩阵,$\mathbf{b}_T$ 是偏置项,让文本特征进入同一个空间。
    zT=WTfT+bT\mathbf{z}_T = W_T \mathbf{f}_T + \mathbf{b}_T
  4. 维度对齐投影后 $\mathbf{z}_I$ 与 $\mathbf{z}_T$ 的维度相同,这样它们才能直接计算余弦相似度。
    dim⁡(zI)=dim⁡(zT)\dim(\mathbf{z}_I) = \dim(\mathbf{z}_T)

训练目标:对比学习的配对游戏

有了两座塔和共享空间,接下来就要定游戏规则。CLIP 采用的规则是“对比学习”:每一个训练批次里有 N 张图和 N 条文本,它们按顺序一一对应,形成 N 个正样本对;所有不在同一位置上的图文组合,都是负样本。

想象一次突击测验:老师把 16 张动物图片贴在黑板左边,把 16 张写着动物名字的卡片贴在右边,但卡片是打乱的。学生必须为每一张图片,从 16 张卡片里找出正确的那一张。接着还要反过来做一遍:给每一张卡片,从 16 张图片里找出正确的那一张。这就是对称的对比学习损失。

温度系数 $\tau$ 在这里扮演“评分严不严”的角色。$\tau$ 越小,softmax 越尖锐,模型对难负样本越敏感;$\tau$ 越大,分布越平滑,训练越稳定。CLIP 把 $\tau$ 当成可学习参数,初始值通常设为 $0.07$。

L=−12N∑i=1N[log⁡exp⁡(cos⁡(zIi,zTi)/τ)∑j=1Nexp⁡(cos⁡(zIi,zTj)/τ)+log⁡exp⁡(cos⁡(zIi,zTi)/τ)∑j=1Nexp⁡(cos⁡(zIj,zTi)/τ)]\displaystyle \mathcal{L} = -\frac{1}{2N}\sum_{i=1}^{N}\Bigg[\log\frac{\exp(\cos(\mathbf{z}_{I_i},\mathbf{z}_{T_i})/\tau)}{\sum_{j=1}^{N}\exp(\cos(\mathbf{z}_{I_i},\mathbf{z}_{T_j})/\tau)}+\log\frac{\exp(\cos(\mathbf{z}_{I_i},\mathbf{z}_{T_i})/\tau)}{\sum_{j=1}^{N}\exp(\cos(\mathbf{z}_{I_j},\mathbf{z}_{T_i})/\tau)}\Bigg]
这个公式本质上是在说:“第 i 张图,请你在 N 条文本里找出真正匹配的那一条;第 i 条文本,也请在 N 张图里找出真正匹配的那一张。”
  1. 批次大小与索引$N$ 是每个批次中的图文对数量,$i$ 表示当前正样本对,$j$ 遍历所有候选。
    i∈{1,…,N},j∈{1,…,N}i \in \{1,\dots,N\},\quad j \in \{1,\dots,N\}
  2. 分子正样本$\cos(\mathbf{z}_{I_i},\mathbf{z}_{T_i})/\tau$ 是第 $i$ 张图和它对应文本的相似度,数值越大越好。
    exp⁡(cos⁡(zIi,zTi)/τ)\exp(\cos(\mathbf{z}_{I_i},\mathbf{z}_{T_i})/\tau)
  3. 分母全部候选$\sum_{j=1}^{N}\exp(\cos(\mathbf{z}_{I_i},\mathbf{z}_{T_j})/\tau)$ 是第 $i$ 张图与整个批次所有文本的相似度总和。
    ∑j=1Nexp⁡(cos⁡(zIi,zTj)/τ)\sum_{j=1}^{N}\exp(\cos(\mathbf{z}_{I_i},\mathbf{z}_{T_j})/\tau)
  4. 对数概率分子除以分母得到 softmax 概率,再取负对数,正样本概率越大,损失越小。
    −log⁡正样本 exp所有候选 exp 之和-\log \frac{\text{正样本}\ \text{exp}}{\text{所有候选}\ \text{exp}\ \text{之和}}
  5. 对称平均前半部分是“图像找文本”,后半部分是“文本找图像”,两者取平均。
    L=12(LI→T+LT→I)\mathcal{L} = \frac{1}{2}(\mathcal{L}_{I \to T} + \mathcal{L}_{T \to I})

CLIP配方:数据、提示词与零样本分类

CLIP 的核心配方可以总结为三句话:用大规模图文对做预训练,用对比损失对齐向量,用提示词模板做零样本分类。OpenAI 收集了约 4 亿个“图片-文本”对,这些数据来自互联网,虽然不像人工标注那样干净,但胜在覆盖面广。

训练完成后,CLIP 能在没见过某个数据集的训练集时,直接完成分类任务。做法很简单:把候选类别名分别套进一个句子里,比如“一张 {} 的照片”,得到 K 条文本;再用文本编码器算出 K 个向量,与测试图片的向量做相似度比较,取最接近的类别。这个过程称为零样本迁移。

在 ImageNet 上,CLIP 的零样本 Top-1 准确率能达到约 76%,虽然仍低于经过监督微调的模型,但整个过程没有使用任何一张 ImageNet 训练图片的标签,这才是“零样本”的真正价值。

P(y=k∣x)=exp⁡(cos⁡(zx,zTk)/τ)∑c=1Kexp⁡(cos⁡(zx,zTc)/τ)\displaystyle P(y=k \mid x) = \frac{\exp(\cos(\mathbf{z}_x, \mathbf{z}_{T_k})/\tau)}{\sum_{c=1}^{K}\exp(\cos(\mathbf{z}_x, \mathbf{z}_{T_c})/\tau)}
就像小朋友没有专门刷过“期末真题”,但平时玩过大量配对游戏,考试时也能根据题干描述猜出答案。
  1. 目标类别$y=k$ 表示要预测的类别是第 $k$ 个,$K$ 表示候选类别总数。
    k∈{1,…,K}k \in \{1,\dots,K\}
  2. 测试图片向量$\mathbf{z}_x$ 是输入图片经过图像编码器和投影后得到的向量。
    zx\mathbf{z}_x
  3. 类别文本向量$\mathbf{z}_{T_k}$ 是第 $k$ 个类别文本经过文本编码器后得到的向量。
    zTk\mathbf{z}_{T_k}
  4. softmax 分类对所有类别相似度做 softmax,得到概率最大的类别。
    P(y=k∣x)=softmaxk(cos⁡(zx,zTk)/τ)P(y=k \mid x) = \mathrm{softmax}_k(\cos(\mathbf{z}_x, \mathbf{z}_{T_k})/\tau)

ALIGN路线:用噪声数据堆出规模

CLIP 已经证明了“图文配对游戏”的可行性,但收集 4 亿条干净配对数据仍然很贵。Google 的 ALIGN 换了一个更激进的策略:不追求干净,而是把整个互联网上“图片 + 旁边文字”的样本直接抓下来,甚至允许文本和图片只有弱关联。最终,ALIGN 使用了约 18 亿个噪声图文对。

这就像老师不再手动整理卡片,而是把整个幼儿园玩具房里的卡片全部倒出来,让学生用“题海战术”自己找规律。单张卡片可能写错了字,但当数据规模足够大时,正确的统计规律会盖过随机噪声。

ALIGN 的另一大特点是“编码器复用”:图像侧直接使用 EfficientNet,文本侧直接使用 BERT,不重新设计塔,而是把主要精力放在数据和训练策略上。最终它的零样本效果与 CLIP 基本相当,在某些检索任务上甚至更好,说明“规模换质量”是一条真实可行的路线。

NALIGN≈16 384,∣DALIGN∣≈1.8×109\displaystyle N_{\text{ALIGN}} \approx 16\,384,\qquad |\mathcal{D}_{\text{ALIGN}}| \approx 1.8 \times 10^9
左侧表示 ALIGN 每个批次有约 1.6 万个图文对,右侧表示总训练数据约 18 亿条;巨大规模是它对抗噪声的底气。
  1. 大批次$N_{\text{ALIGN}}$ 是每步训练使用的全局批次大小,越大的批次意味着越多“负样本卡片”。
    NALIGN≈16 384N_{\text{ALIGN}} \approx 16\,384
  2. 大数据集$|\mathcal{D}_{\text{ALIGN}}|$ 是训练集大小,近似等于 18 亿条图文对。
    ∣DALIGN∣≈1.8×109|\mathcal{D}_{\text{ALIGN}}| \approx 1.8 \times 10^9
  3. 规模补偿噪声当 $|\mathcal{D}|$ 足够大,即使部分配对不准确,模型也能学到稳定的多模态共现规律。
    ∣D∣↑⇒噪声比例的影响↓|\mathcal{D}| \uparrow \Rightarrow \text{噪声比例的影响} \downarrow

工程实现:让配对游戏跑在超算上

前面讲的损失函数看起来简单,真正跑起来却有许多工程陷阱。对比学习非常依赖大批次,因为负样本来自同一个批次内部;如果批次太小,负样本就太少,模型很容易“偷懒”,随便找一个不匹配的文本就交差。所以训练时通常使用几十张 GPU,甚至几千张 TPU 协同工作。

在多卡训练中,每张卡计算自己的图文特征后,需要把特征收集到一起,拼成一个大矩阵,再计算全局对比损失。这就引出了最核心的工程公式:

工程上还需要配套高吞吐数据流水线,让 GPU 永远不饿着;推理解码时则把双塔拆成两个服务,图像向量和文本向量离线算好,存入向量数据库,线上只需做最近邻检索。性能调优时,可以优先调温度系数、投影维度和学习率,这些旋钮对最终指标的影响往往比换模型结构更明显。

Nglobal=Nper_GPU×G,负样本数≈Nglobal−1\displaystyle N_{\text{global}} = N_{\text{per\_GPU}} \times G, \qquad \text{负样本数} \approx N_{\text{global}} - 1
意思是:全局批次大小等于单卡批次大小乘以 GPU 数量;除了对角线上的正样本,其他所有图文组合都是负样本。
  1. 单卡批次$N_{\text{per\_GPU}}$ 表示每张 GPU 一次处理多少图文对。
    Nper_GPUN_{\text{per\_GPU}}
  2. GPU 数量$G$ 表示参与训练的 GPU 或 TPU 数量。
    GG
  3. 全局批次$N_{\text{global}}$ 等于单卡批次乘以卡数,它决定了对齐矩阵的尺寸。
    Nglobal=Nper_GPU×GN_{\text{global}} = N_{\text{per\_GPU}} \times G
  4. 负样本数量在一个 $N_{\text{global}}$ 维的配对矩阵里,对角线是 $N_{\text{global}}$ 个正样本,其余约 $N_{\text{global}}-1$ 个都是负样本。
    negatives≈Nglobal−1\text{negatives} \approx N_{\text{global}} - 1

应用边界:能做什么、不能做什么

经过大规模配对训练的模型,应用场景非常广泛。最直接的是图文检索:输入一句“夕阳下的海边公路”,系统就能从百万图片库中找回最匹配的视频帧;输入一张商品图,也能从商品库中找回相似商品。这种能力统称为开放词汇识别,因为模型不需要预先知道所有类别,只要给它文字描述,它就能去找。

在检索场景中,模型本质上是在做一次排序:

不过,配对游戏不等于真正的理解。CLIP 容易在“数数”“空间关系”“属性绑定”上犯错,比如“一只猫站在两只狗中间”这种组合性描述,它经常顾此失彼。同时,训练数据来自互联网,模型会放大社会偏见;如果训练数据里“护士”总是与女性图片同时出现,模型就可能固化这种偏见。因此,在实际产品中,我们通常把 CLIP / ALIGN 当作“多模态特征抽取器”,而不是最终的决策大脑。

Retrieval(I,T)=arg⁡max⁡T∈Tcos⁡(zI,zT)\displaystyle \mathrm{Retrieval}(I, \mathcal{T}) = \arg\max_{T \in \mathcal{T}} \cos(\mathbf{z}_I, \mathbf{z}_T)
简单说:给定一张图片,把所有候选文本都算一遍相似度,谁最接近,谁就是答案。
  1. 查询图片$I$ 是待检索的图片,$\mathcal{T}$ 是候选文本集合。
    I, TI,\ \mathcal{T}
  2. 候选文本遍历$T \in \mathcal{T}$ 表示逐一尝试所有候选文本。
    T∈TT \in \mathcal{T}
  3. 相似度打分$\cos(\mathbf{z}_I, \mathbf{z}_T)$ 是图片与每条文本的余弦相似度。
    cos⁡(zI,zT)\cos(\mathbf{z}_I, \mathbf{z}_T)
  4. 取最大值$\arg\max$ 表示选出相似度最高的那条文本作为检索结果。
    arg⁡max⁡T∈T\arg\max_{T \in \mathcal{T}}

AI 应用场景

场景一:电商跨模态搜索

阶段:离线表示学习 + 线上向量召回

解决的问题:传统电商搜索需要人工给商品打标签,标签不全、成本高,用户也很难用“碎花连衣裙适合海边度假”这种描述直接搜图。CLIP / ALIGN 把商品图和商品描述映射到同一个向量空间,搜索时直接计算文字与图片的相似度,省去人工标注。

具体案例:某电商平台建立了一个双塔模型,商品图片用图像塔编码,用户搜索词用文本塔编码;导入一亿条商品向量后,线上用向量检索系统在 20 毫秒内完成“以文搜图”,点击率比纯文本检索提升了 18%。

场景二:视频素材智能归档

阶段:多模态特征抽取 + 内容索引

解决的问题:广电行业每天产生大量视频素材,剪辑师想找“雨夜城市霓虹灯”的画面,传统方法靠编目员手动写关键词,费时费力。视觉语言预训练模型可以直接把视频帧和文本描述对齐,让系统自动完成素材归档。

具体案例:某 MCN 公司用 CLIP 对视频抽帧,再对每一帧生成文本向量;剪辑师输入一句描述,系统返回若干候选片段,再结合视频时间轴做重排序,原本半天才能找完的素材,现在五分钟内就能完成。

场景三:内容安全与开放词汇审核

阶段:开放词汇分类 + 风险召回

解决的问题:内容平台每天新增海量图片,违规类型层出不穷,固定类别的分类器很难覆盖新话术。利用视觉语言预训练模型,平台可以用文字描述任意违规范式,比如“画面中出现危险驾驶行为”,然后检索所有相关图片。

具体案例:某内容安全团队使用 CLIP 构建“描述-图片”匹配服务,审核员把最新违规范式写成一句话,模型自动在待审库中召回候选图片,再交给少量人工复核。相比传统单标签分类模型,新规覆盖速度从两周缩短到一天。

Python 演示

python29 行
import torchimport torch.nn.functional as F class CLIPContrastiveLoss:    def __init__(self, temperature=0.07):        self.temperature = temperature        self.loss_count = 0     def __call__(self, image_emb, text_emb):        image_emb = F.normalize(image_emb, dim=-1)        text_emb = F.normalize(text_emb, dim=-1)         logits = image_emb @ text_emb.T / self.temperature        labels = torch.arange(logits.shape[0])         loss_image = F.cross_entropy(logits, labels)        loss_text = F.cross_entropy(logits.T, labels)         self.loss_count += 1        return (loss_image + loss_text) / 2 if __name__ == "__main__":    torch.manual_seed(42)    batch_images = torch.randn(16, 64)    batch_texts = torch.randn(16, 64)     criterion = CLIPContrastiveLoss(temperature=0.07)    loss = criterion(batch_images, batch_texts)    print("对称对比损失:", loss.item())
目的:用 PyTorch 实现图文对比学习中最核心的对称损失,相当于把“配对游戏”的得分规则写成可微分的程序。
  1. image_emb = F.normalize(image_emb, dim=-1)把每个图像向量变成单位长度,避免向量长度干扰相似度。
  2. logits = image_emb @ text_emb.T / self.temperature一次矩阵乘法算出 N 个图像与 N 个文本之间的相似度矩阵。
  3. labels = torch.arange(logits.shape[0])对角线上的位置就是正样本,所以标签恰好是 0 到 N-1。
  4. loss_image = F.cross_entropy(logits, labels)图像侧做“图像找文本”的分类任务。
  5. loss_text = F.cross_entropy(logits.T, labels)文本侧做“文本找图像”的分类任务,两者取平均即为对称损失。

常见误区

误区我看到 CLIP 能准确说出图片里的猫,以为它真的像人一样理解什么是猫,甚至具备知识和常识。

正解CLIP 学到的是多模态表示空间里的统计关联与几何距离,而不是因果理解。它知道“猫照片”和“cat”这两个向量应该靠近,却不知道猫会抓老鼠、会掉毛。配对游戏玩得再好,也不等于孩子真正懂动物。

为何常见:零样本效果太惊艳,再加上模型能输出自然语言类别,很容易让人产生“它真的懂”的错觉。

误区我以为监督学习一定要用人工标注好的数据,所以 CLIP 一定花了好多人力清洗图片和文本。

正解CLIP 使用互联网抓取的海量图文对,只做了基础过滤;ALIGN 更是直接把 18 亿噪声图文对倒进模型。噪声虽然存在,但大规模数据带来的统计规律会压过单个样本的错误。“题海战术”在数据量足够大时真的有用。

为何常见:传统监督学习对标签质量要求很高,这个经验会自然延伸到预训练阶段,让人低估了规模的力量。

误区零样本分类是不是像人一样,从没看过任何训练数据,模型天生就会分类?

正解零样本指的是“下游任务的标注数据”没被使用,但模型已经在数亿图文对上做过大规模预训练。它见过无数猫图和图上的文字,只是没见过 ImageNet 这个具体数据集的标准类别标签。相当于学生刷过大量习题,只是没刷过期末原题。

为何常见:“zero-shot”这个名称里的“zero”太有误导性,容易让人误解为完全不训练。

误区既然 CLIP 在 ImageNet 上表现这么好,那目标检测、图像分割、OCR 是不是都可以直接用 CLIP 搞定?

正解CLIP 输出的是整张图片的全局向量,擅长做图文匹配和分类,但它不擅长给出像素级预测,也经常在计数、空间关系和细粒度属性上出错。检测分割任务仍然需要专门的模型,或把 CLIP 特征作为辅助信号。

为何常见:CLIP 在零样本分类上的泛化能力太强,让人误以为它是一个全能的视觉基础模型。

面试题

Q1. CLIP 把图片和文本映射到同一个空间的主要目的是什么?

单选题 · easy

  • A.让图像和文本变得完全一样
  • B.让配对样本距离更近← 正确答案
  • C.让所有向量长度为零
  • D.让模型只记住训练图片

答案:B。CLIP 的核心是让匹配的图文对在向量空间里靠近,而不是让它们完全相同或变成零向量。它不追求记住单张训练图,而是学习可迁移的跨模态表示。

Q2. 一个批次内有 N 个图文对,在“图像找文本”方向上,每张图有多少个候选文本?

单选题 · easy

  • A.图像方向有 N 个候选文本← 正确答案
  • B.图像方向有 2N 个候选文本
  • C.图像方向有 N² 个候选文本
  • D.图像方向固定只有 1 个

答案:A。对比学习的所有负样本都来自批次内部,因此每张图面对的是 N 条文本,其中有 1 条正样本、N-1 条负样本。

Q3. 下列哪些是 CLIP / ALIGN 的典型组件?

多选题 · mid

  • A.图像编码器← 正确答案
  • B.文本编码器← 正确答案
  • C.自回归解码器
  • D.双塔投影层← 正确答案

答案:ABD。CLIP / ALIGN 使用图像塔、文本塔和投影层把两种模态映射到共享空间,不使用自回归解码器生成文本。

Q4. 温度系数 τ 在对比学习中的作用是什么?

单选题 · mid

  • A.控制logits分布的锐利程度← 正确答案
  • B.改变输入图片的分辨率
  • C.决定文本序列的最大长度
  • D.调节数据集的采样权重

答案:A。τ 越小,softmax 分布越尖锐,模型越关注最难区分的负样本;τ 越大,分布越平滑。它不会改变输入尺寸或文本长度。

Q5. CLIP 做零样本图像分类时,通常如何构造类别文本?

单选题 · mid

  • A.随机生成无意义字符串
  • B.用“一张xx的照片”模板← 正确答案
  • C.将类别映射成 one-hot
  • D.直接使用图像像素特征

答案:B。CLIP 会把类别名套进提示词模板,例如“一张猫的照片”或“a photo of a cat”,再用文本编码器得到对应向量,最后与图像向量比较相似度。

Q6. 与 CLIP 相比,ALIGN 的主要特点包括哪些?

多选题 · hard

  • A.使用海量噪声图文对← 正确答案
  • B.依赖精细人工标注
  • C.受益于数据规模增长← 正确答案
  • D.完全不需要文本编码器

答案:AC。ALIGN 使用约 18 亿条噪声图文对,靠数据规模覆盖噪声;它仍然需要文本编码器,也不依赖精细人工标注。

Q7. CLIP 训练时,负样本主要来自哪里?

单选题 · hard

  • A.同批次内不匹配的图文对← 正确答案
  • B.全量数据集中所有组合
  • C.生成器在线合成的新文本
  • D.离线知识库中的实体描述

答案:A。CLIP 使用 batch 内负样本技术,每一对不匹配的图文组合都可作为负样本。全量组合计算量太大,无法直接实现。

Q8. 为什么 CLIP 训练需要尽可能大的全局批次?

单选题 · mid

  • A.更大的批次提供更多难负样本← 正确答案
  • B.更大批次减小每个样本显存
  • C.更大批次能加快网络下载速度
  • D.更大批次让图像分辨率变高

答案:A。对比学习的效果依赖负样本数量,批次越大,模型在每一轮能看到越多的“干扰项”,学到的边界就越准确。

Q9. 视觉语言预训练模型在实际应用中可能有哪些局限?

多选题 · hard

  • A.对数量等细致属性理解弱← 正确答案
  • B.提示词措辞会影响结果← 正确答案
  • C.零样本效果完全等于微调模型
  • D.训练数据偏差可能被放大← 正确答案

答案:ABD。CLIP / ALIGN 擅长全局匹配,但计数、空间关系和细粒度属性容易出错;提示词会影响输出;训练数据中的社会偏见也会被学习并放大。零样本效果往往仍低于专门微调模型。

Q10. 训练视觉语言预训练模型最需要哪种数据形式?

单选题 · easy

  • A.大量成对的图片和文本← 正确答案
  • B.每张图需要人工画框
  • C.只有类别标签组成的列表
  • D.纯文本语料无需图片

答案:A。视觉语言预训练的核心是“图-文对”,模型从配对样本中学习跨模态对齐。人工画框是检测任务需要的数据形式,纯文本或纯标签都不满足图文配对要求。