先这样答
CLIP 采用双塔架构对齐图像和文本特征。模型包含一个图像编码器和一个文本编码器。这两个编码器分别独立处理输入数据。图像编码器负责提取图片的视觉特征向量。文本编码器负责提取文本的语义特征向量。两者将不同模态的数据映射到同一个共享的特征空间。
对齐损失通过对比学习机制工作。模型在训练时会构建一个批次的图文对。真实配对的图文组合构成正样本。同一批次内交叉组合的不配对图文构成负样本。损失函数使用对称的 InfoNCE。具体计算过程包含两个方向。第一个方向是图到文,给定图像特征去预测对应的文本特征。第二个方向是文到图,给定文本特征去预测对应的图像特征。模型分别计算这两个方向的交叉熵损失。最后将双向损失相加求平均。这个过程会拉近正样本对的距离,推开负样本对的距离。
这种对齐方式赋予了模型零样本能力。该能力直接建立在庞大的数据规模之上。模型预训练使用了四亿个图文对。海量数据让模型充分学习到了视觉概念与自然语言描述的对应关系。
面试官会怎么追问
-
「为什么 CLIP 选择对比学习,而不是做匹配回归?」 匹配回归通常要求模型预测具体的类别标签。对比学习直接将图像和文本对齐到同一个语义空间。对齐到语义空间能保留更丰富的特征表达。这种方式让模型具备更强的泛化能力。
-
「对齐损失里的对称 InfoNCE 具体是怎么计算交叉熵的?」 模型计算一个批次内所有图像和文本特征的余弦相似度。这会生成一个特征相似度矩阵。图到文的交叉熵按矩阵的行进行计算。文到图的交叉熵按矩阵的列进行计算。
-
「CLIP 的零样本能力是怎么来的?」 零样本能力直接来自预训练数据的规模。模型使用了四亿个图文对进行训练。模型在海量数据中学习了充足的视觉和语言组合。面对新任务时模型不需要微调就能直接完成匹配。
回答的坑
- 解释对齐损失时只提单向交叉熵,漏掉图到文和文到图是对称计算的。
- 把零样本能力归结为模型结构先进,忽视了四亿图文对的数据规模才是核心。
同系列的题