想象你开了一家双语婚介所,专门服务两个语言不通的星球居民:图像星人用画面表达自己,文字星人用词句介绍自己。图像星人拿出一张“夕阳下的沙滩”照片,文字星人递上一句“我想找一个喜欢黄昏海景的伙伴”——两边都不知道对方在说什么,而你的工作,就是让他们瞬间明白彼此的心意,快速配对成功。 跨模态检索干的就是这件事:让计算机在“图像”和“文本”两种完全不同的模态之间互通有无。输入一句话,它从百万张图里找出最匹配的那张;上传一张图,它写出最贴切的描述或找出相关素材。无论你是在电商平台“拍图找同款”,还是从素材库中搜索“雨夜霓虹的城市街道”,背后都是同一套把图文翻译成共同语言、再快速配对的机制。
掌握跨模态检索,相当于掌握了现代 AI 内容理解与匹配的核心引擎——它是素材库、电商搜索、内容审核等方向必备的关键技能,也是从单模态应用走向多模态 AI 产品设计的必修课。
可视化演示
动态演示跨模态检索的核心机制,通过采集/分析/决策/反馈四种模式展示关键概念与交互流程。
本节配有交互动效(进入视口后自动加载,约 3KB)。
跨模态检索:跨模态检 跨模态检索概述 跨模态检索原理 核心机制可视化 跨模态检索整体架构与关键组件
检索概览
婚介所开业第一天就接到难题:图像星人举着照片说不出话,文字星人递上小作文对方看不懂。作为“跨模态婚介所”的所长,你意识到真正的生意不是凑热闹,而是帮两个星球的人跨越语言屏障。跨模态检索(Cross-Modal Retrieval)要做的正是这件事——输入任何一种模态,去另一模态中寻找语义匹配的对象。
传统搜索只能“文本搜文本”或“图像找相似图像”,而跨模态检索打通了两套信息系统。你输入“穿着红色连衣裙的女孩在雨中奔跑”,系统从千万张图里召回语义最贴近的照片;反过来,你上传一张在雪山上举着红旗的自拍,系统自动匹配出“雪山之巅挥舞旗帜”这样的描述文本。这里的关键不是字符匹配,而是语义理解——就像婚介所不是对比“爱好列表”里打了几个勾,而是理解两个人对“旅行”这件事真正的共鸣点。
在实际应用中,这套能力早已遍地开花:电商平台的“拍图找同款”,让用户举着实物照片直接找到商品链接;设计素材库输入“极简风办公桌”即可召回大批高清图片;相册App用一句话搜索“去年冬天的生日聚会”,精准翻出相关照片。所有场景共享同一个逻辑:把不同模态的内容翻译成同一种可比较的语言,再快速找到彼此。
婚介所开业第一课讲清楚了:跨模态检索的大生意,本质上是在“互相听不懂”的两群人之间,搭一座语义的桥。
特征提取
要让图像星人和文字星人能互相理解,第一步是为每位会员建立一份“翻译档案”。婚介所请了两位翻译官:图像翻译官负责把照片转成一份结构化档案——颜色、轮廓、物体、空间关系,全都浓缩成一行数字;文本翻译官则把句子拆解成词义、语法和上下文,同样压缩成一串向量。在技术里,这两位翻译官分别叫图像编码器和文本编码器。
图像编码器通常基于卷积神经网络(CNN)或视觉Transformer(ViT),它们像扫描仪一样逐层提取视觉信息:底层看边缘和纹理,高层看到“人”“车”“街道”这类完整语义。文本编码器则常基于Transformer架构(如BERT),它逐词阅读句子,并借助注意力机制捕捉词与词的上下文关联。两边最终各自产出一个特征向量——一串浮点数,代表这对模态在某个语义维度上的“画像”。
有了画像,还必须有统一的“打分规则”。婚介所常用余弦相似度来衡量两个人合不合拍——它不看两人的档案有多长多厚,只看方向是否一致。余弦相似度的公式如下:
翻译官们的档案质量,直接决定婚介所后续所有配对工作的精度。如果档案只记了“红色”而忘了“奔跑”,那么一张红裙少女的照片就会和“红色汽车”撞车。特征提取的每个细节,都是在为后续的语义对齐打地基。
- 向量点积分子是图像特征向量与文本特征向量的点积,逐维相乘后求和,体现两个向量在每个维度上是否同向。
- 向量模长分母是两边向量模长的乘积,用于消除向量长度差异的影响,让比较只关注方向。
- 夹角余弦点积除以模长乘积后,结果就是两个向量夹角的余弦值,取值范围在 -1 到 1 之间。
共享空间
两位翻译官各自交出的档案有个麻烦:图像档案是 512 维的“视觉描述”,文本档案是 768 维的“语义描述”——像一个人用中文写简历、另一个人用日文写简历,直接放在一起比,谁跟谁都不挨着。婚介所必须设置一个“相亲大厅”,所有会员无论来自哪个星球,进入大厅时都统一换成同一种语言、同一套尺码的“共识档案”。
这个共识档案在技术上的名字叫共享表示空间。做法并不复杂:在图像编码器和文本编码器的后面,各接一层投影头(Projection Head),把原始特征再转一次,映射到同一个维度数为 $d$ 的空间里。从此,一张猫的照片和一句“睡觉的橘猫”,在这个空间里就是两个距离很近的点;而照片和“下雨的周一早晨”则相距很远。
投影过程可以用下面两组公式表示:
把所有人请进同一个大厅、用同一套“默契打分卡”登记之后,婚介所才真正拥有了跨语言配对的能力。图像和文字的鸿沟,在这里被压缩成了纸上两点之间的距离。
- 图像编码与投影图像先由编码器 $\mathbf{E}_v$ 提取视觉特征,再经投影头 $\text{Proj}_v$ 转变为共享空间向量 $\mathbf{z}_v$。
- 文本编码与投影文本经过编码器 $\mathbf{E}_t$ 得到语义特征,再由投影头 $\text{Proj}_t$ 变换为同维度向量 $\mathbf{z}_t$。
- 同空间可比两个投影头输出的向量位于同一个 $d$ 维空间中,后续可以直接用余弦相似度或欧氏距离衡量语义远近。
对比学习
大厅有了,接下来要训练媒人“一眼看出谁和谁合适”。婚介所采用的训练方式是对比学习:给媒人看一批已成对的会员资料——左边是照片,右边是它的真命描述,这叫正样本对;同时把照片和其他人的描述随机组合,制造大量负样本对。学习目标朴素而有力:把正样本在共享空间中拉近,把负样本推远。
对比学习最经典的损失函数之一是 InfoNCE。它把每个查询(比如一张图)与一批候选文本的相似度都算出来,然后用 Softmax 把相似度变成概率,再让“正确配对”的概率尽量趋近于 1。可以这样理解:媒人面前摆着 100 份资料,其中只有一份是这位客人的真命天女,她要学会把最高的分数打给正确的那一份。
对比学习就像媒人的实习期:看过的错配案例越多、受到的正确反馈越清晰,她那双“慧眼”就越锋利。而 InfoNCE 正是让她每一次打分都有明确方向的训练口令。
- 正样本相似度(分子)第 $i$ 张图的向量与第 $i$ 个文本向量的相似度除以温度系数后取指数,温度系数 $\tau$ 控制分数的“锐利程度”。
- 全部候选之和(分母)第 $i$ 张图与 batch 内全部 $N$ 个文本的相似度都做同样变换后求和,构成归一化的概率分母。
- 对数损失对正确配对的概率取负对数。概率越接近 1,损失越接近 0;概率越小,损失越大。
- 整体含义这个损失函数告诉模型——在众多干扰项中把唯一正确的配对识别出来,从而学会真正的语义对齐。
CLIP模型
你听说有一座大城市里有一位“王牌媒人”——它从业至今阅人无数,只要看一眼照片就能立刻判断出该匹配哪段描述,几乎不需要任何现场培训。这位传奇媒人就是 CLIP(Contrastive Language-Image Pre-training),由 OpenAI 在 2021 年提出,它用约 4 亿对“图像-文本”训练数据完成了大规模对比学习预训练。
CLIP 的架构是典型的双塔结构:一侧是图像编码器,另一侧是文本编码器。它的训练目标就是文章前面讲到的对比学习——把 batch 内的正确图文对拉近、错误图文对推远。为了做得更充分,CLIP 的损失是双向的:既要求“图像找对文本”,也要求“文本找对图像”,于是总损失是两者平均:
见过足够多的人,媒人自然练出了举一反三的能力。CLIP 也一样:因为预训练数据来自互联网海量自然图片和文本,它学到的图文对齐是通用的。到了新场景,不需要重新标注、重新训练,直接用它的双塔编码器提取特征、算相似度,就能完成零样本(Zero-shot)分类和检索——这就像王牌媒人到新城市,凭经验一眼就能看出谁和谁合拍。
- 图像到文本方向$\mathcal{L}_{i \to t}$ 表示以图像为查询、从文本候选中找出正确配对时的对比损失。
- 文本到图像方向$\mathcal{L}_{t \to i}$ 则表示以文本为查询、从图像候选中找出正确配对时的损失。
- 平均双向损失两个方向的损失取平均,让模型在两个检索方向上都表现稳定。
检索架构
当婚介所会员只有几十人时,每次配对把所有人叫到大厅两两相看即可;可当会员涨到几百万,这种做法就成了灾难。检索系统面临同样的问题:召回所有候选逐一精算相似度,在工业级数据量下根本不可能。于是工程师们把检索拆成了两段:粗召回 + 精排序。
粗召回阶段,系统使用近似最近邻(ANN)索引——例如 IVF(倒排文件)或 HNSW(分层小世界图)。它的思路很像婚介所先按“兴趣标签”把会员分成几百个小组,查询时只翻阅最相关的几个小组,而不是全馆广播。通过牺牲一点点召回精度,换来几十倍甚至上百倍的查询速度。特征库则在离线阶段提前构建好:每张图片和每段文本都预先编码、存入索引,查询时只做“查索引”和“精算分”两步。
衡量这套系统好不好,不能只看“找没找到”,还要看“排在第几位”。工业界最常用的评估指标之一是召回率 R@K——它统计在所有查询中,正确结果出现在前 K 名候选里的比例:
婚介所走向规模化后,靠的不是更努力地挨个问,而是更聪明的分区、更高效的初见筛选,以及在最后见面环节的细致把关。粗召回与精排序的组合,正是这种“先广撒网、再深了解”的工程智慧。
- 遍历全部查询$\mathcal{Q}$ 是所有测试查询的集合,每一项 $q$ 代表一个查询(一张图或一段文本)。
- 判定真值是否命中$\mathbb{I}[\cdot]$ 是示性函数,当括号内条件成立时取 1,否则取 0。
- 整体召回率把所有查询的命中情况求平均,得到“前 K 个结果中包含正确答案”的概率。
部署优化
王牌媒人请来了,会员资料也建好了索引,但真正运营婚介所时你会遇到新的麻烦:媒人推理太慢,一场相亲要等十分钟;内存占用太大,服务器开销节节攀升;会员资料还在不断更新,旧索引慢慢失效。部署与优化,就是把一个“实验室里跑通的模型”变成“生产环境里稳定服务千万用户的产品”。
第一件要做的事是模型压缩。双塔模型虽然效果好,但参数量以亿计。常用的手段是量化——把模型权重从 32 位浮点数压缩到 int8 整数,体积直接缩到四分之一,推理速度也能明显提升。这相当于把媒人的“随身手册”从精装大部头换成便利贴版本,关键信息一条不少,翻起来却快得多。其次是GPU 并行推理,图像塔和文本塔可以分别部署、批量计算,高峰期也能轻松应对。
第二件要事是离线建库与增量更新。特征提取天然适合离线批处理:新图片入库时,一次性算出特征向量、插入向量索引,检索时完全不参与模型前向计算,只做索引查询与精排打分。这样系统每天定时更新索引即可。对垂直领域的新数据,还可以用少量标注数据对 CLIP 做微调,让媒人更懂这一行的“方言”,检索准确率往往能再上一个台阶。
婚介所的经营之道渐渐清晰:王牌媒人负责眼光,智能档案室负责效率,定期培训负责与时俱进。跨模态检索从模型训练到部署优化,每一步都在回答同一个问题——如何更快、更准地让图像与文字找到彼此。
AI 应用场景
电商平台“拍图找同款”
阶段:在线检索与语义匹配
解决的问题:用户看到实体商品却不知道关键词,输入“白色飞鸟图案的马克杯”这类长描述又容易搜偏。传统搜索依赖商品标题的关键词匹配,召回率和准确性都很低。跨模态检索让用户直接拍照,系统把图片编码为向量,在商品图片库中检索同款或相似款,再辅助以文本候选精排,返回最接近的商品链接。
具体案例:某跨境电商平台接入 CLIP 双塔模型后,将千万级商品图离线编码入库。用户随手拍下一盏台灯,App 在 0.3 秒内返回同款及“相似风格”的 20 个候选商品,比传统关键词搜索的转化率提升了 35%。这一体验成为平台“以图搜款”功能的核心引擎。
视频创作素材库“一句话搜素材”
阶段:离线建库 + 在线查询
解决的问题:设计师和视频创作者面对百万级素材,仅靠人工打标签无法覆盖“黄昏下的剪影”“雨夜霓虹街道”这类描述性画面。跨模态检索将每段素材抽取关键帧并编码为图像向量,同时把用户输入的自然语言查询编码为文本向量,在同一共享空间中完成检索,让自由语言直达素材画面。
具体案例:某视频素材平台构建了 500 万视频帧的向量索引。创作者输入“海边日落时情侣牵手奔跑”,系统在 0.2 秒内从索引中召回 50 个候选片段,再经精排序返回最匹配的 10 条,素材命中率相较标签搜索提升 2 倍以上,大大缩短了找素材的耗时。
文物数字化“以图查文”辅助研究
阶段:领域微调 + 双向检索
解决的问题:博物馆与考古机构拥有大量文物照片和历史文献,二者之间的关联往往依赖专家记忆。传统手段依靠人工标注关键词,效率低且难以覆盖“纹饰特征相似但名称不同”的语义关联。跨模态检索微调后,可输入文物照片检索相关文献记载,也可输入一段史籍描述反查实物图片,辅助研究人员快速建立图文证据链。
具体案例:某省级博物馆对 3 万件文物照片和 2 万条历史文献记录构建图文检索系统。研究者拍摄一件青铜器局部纹饰,即可检索到多篇相关铭文考释文献,系统还主动推荐了 5 件纹饰风格相近的馆藏文物,为文物断代与溯源提供了新的线索。
Python 演示
import torchimport torch.nn as nnimport torch.nn.functional as F class VisionEncoder(nn.Module): def __init__(self, input_dim, embed_dim): super().__init__() self.net = nn.Sequential( nn.Linear(input_dim, 64), nn.ReLU(), nn.Linear(64, embed_dim), ) def forward(self, x): return self.net(x) class TextEncoder(nn.Module): def __init__(self, input_dim, embed_dim): super().__init__() self.net = nn.Sequential( nn.Linear(input_dim, 64), nn.ReLU(), nn.Linear(64, embed_dim), ) def forward(self, x): return self.net(x) class DualEncoder(nn.Module): def __init__(self, img_dim, txt_dim, embed_dim): super().__init__() self.vision_encoder = VisionEncoder(img_dim, embed_dim) self.text_encoder = TextEncoder(txt_dim, embed_dim) def forward(self, img, txt): img_emb = F.normalize(self.vision_encoder(img), dim=1) txt_emb = F.normalize(self.text_encoder(txt), dim=1) return img_emb, txt_emb def info_nce_loss(img_emb, txt_emb, temperature=0.07): batch = img_emb.size(0) logits = img_emb @ txt_emb.t() / temperature labels = torch.arange(batch) loss_img = F.cross_entropy(logits, labels) loss_txt = F.cross_entropy(logits.t(), labels) return (loss_img + loss_txt) / 2 def make_pair_data(num_samples, img_dim, txt_dim, seed=42): torch.manual_seed(seed) raw = torch.randn(num_samples, 40) weight_img = torch.randn(40, img_dim) weight_txt = torch.randn(40, txt_dim) img = raw @ weight_img txt = raw @ weight_txt return img, txt def main(): num_samples = 128 img_dim = 64 txt_dim = 48 embed_dim = 16 epochs = 30 model = DualEncoder(img_dim, txt_dim, embed_dim) optimizer = torch.optim.Adam(model.parameters(), lr=0.01) img, txt = make_pair_data(num_samples, img_dim, txt_dim) for epoch in range(epochs): img_emb, txt_emb = model(img, txt) loss = info_nce_loss(img_emb, txt_emb) optimizer.zero_grad() loss.backward() optimizer.step() if (epoch + 1) % 10 == 0: print(f"epoch {epoch + 1} loss {loss.item():.4f}") with torch.no_grad(): img_emb, txt_emb = model(img, txt) logits = img_emb @ txt_emb.t() top1 = logits.argmax(dim=1) correct = (top1 == torch.arange(num_samples)).sum().item() acc = correct / num_samples print(f"text-to-image top1 accuracy: {acc * 100:.1f}%") if __name__ == "__main__": main()
self.vision_encoder = VisionEncoder(img_dim, embed_dim)图像塔,把图像特征映射到共享空间。self.text_encoder = TextEncoder(txt_dim, embed_dim)文本塔,把文本特征映射到同一个空间。img_emb @ txt_emb.t() / temperature构建 batch 内所有图文对的相似度打分矩阵。loss_img = F.cross_entropy(logits, labels)以图像为查询,迫使对角线上的正确配对分数最高。(loss_img + loss_txt) / 2双向对称损失,让图文两个方向都学会对齐。logits.argmax(dim=1)检索过程:对每张图找出相似度最高的那条文本描述。
常见误区
误区我以为跨模态检索就是把每张图配上几个关键词,用户搜索时拿关键词去匹配标签。图库软件不都是这么干的吗?分类准一点、标签全一点,不就能搜到图了?
正解标签方法是“固定词汇表”式的单模态匹配,而跨模态检索面对的是自由形态的自然语言和图像内容。用户不会只搜“猫”这个标签,他会搜“一只猫趴在窗台上晒太阳的慵懒午后”。标签体系无法穷举世界上的所有描述,跨模态检索则直接从图像本身学习语义表示,让任意文本都能与图像在共享空间里比较。
为何常见:大多数人接触的第一代图库和相册产品都是靠人工标签实现的,标签检索的观念已经根深蒂固。
误区模型给我的相似度是 0.96,比另一个的 0.72 高很多,那 0.96 的结果肯定就是用户想要的。分数越高越好,这个逻辑总没错吧?
正解相似度分数只能反映向量在空间中的距离,而向量是模型压缩后的“画像”。它可能被颜色、纹理、构图等浅层特征欺骗——一张红色汽车的照片和一张红色连衣裙的照片,在某个维度上可能惊人地接近。真正的检索系统必须在粗召回之后加入精排序,有时还需要融合文本匹配、属性过滤等信号,才能保证“分数高”等于“语义对”。
为何常见:人习惯用单一数字判断好坏,而向量空间中的相似度是压缩信息的近似反映,并非全知全能。
误区既然对比学习要把负样本推远,那我一个 batch 里塞几万个负样本,模型肯定能学得更好。反正 GPU 显存够大,干就完了。
正解负样本的数量当然重要,但绝非多多益善。首先,负样本过多会显著增加显存和计算开销;其次,如果负样本大多是“容易区分”的简单样本,模型很快学会忽略它们,梯度趋于饱和,收益微乎其微。真正有价值的是“难负样本”——看起来很像正样本但实际不匹配的例子,它们才最能逼着模型学到精细的语义边界。
为何常见:看到“拉近正样本、推远负样本”这个朴素表述后,很容易只顾数量而忽略难度设计。
误区CLIP 在互联网海量数据上预训练过,零样本就能检索。那我直接拿它来做医疗影像报告匹配、工业质检图文配对,应该也能直接上线吧?
正解CLIP 的零样本能力建立在预训练数据分布之上。到了专业领域——医学影像、法律文书、精密零件——数据分布与自然图片差异极大,特征空间会发生偏移。正确做法是用少量领域数据对双塔模型做微调,或至少做一层适配投影,让王牌媒人先熟悉这一行的“行话”再上岗。
为何常见:“零样本”三个字太有诱惑力,让人误以为不需要任何领域适配。
误区ANN 索引不是会有精度损失吗?那我干脆把所有样本逐一遍历计算相似度,保证百分之百找到最优结果,准确性才是第一位。
正解当数据量达到百万甚至十亿级别,全库扫描的延迟是秒级甚至分钟级,产品根本无法接受。近似最近邻索引(如 IVF、HNSW)牺牲的是可接受的极小精度损失,换来的是几个数量级的查询加速。工业系统普遍采用“ANN 粗召回 + 精确重排序”的组合:先用索引快速筛出几百个候选,再对候选做精确计算,既保证速度,又把精度损失降到最低。
为何常见:从算法原理上理解“暴力搜索最准”是正确的,但工程世界从来都是精度、速度、成本三者的平衡。
面试题
Q1. 跨模态检索的核心目标是什么?
- A.在图像内查找相似纹理
- B.在文本内做关键词匹配
- C.实现图文双向互相检索← 正确答案
- D.仅完成图像自动标注
答案:C。跨模态检索的核心是打通“文字找图”和“图找文字”两个方向,C 准确描述了这一目标。A 和 B 都停留在单一模态内部,D 只是图像理解的一个子任务,不符合“跨模态”与“检索”的双重含义。
Q2. 共享表示空间的直接效果是什么?
- A.让图像与文本的特征可比← 正确答案
- B.压缩图像与文本的体积
- C.提高模型的网络层数深度
- D.把数据集扩充两倍以上
答案:A。共享表示空间把图像和文本映射到同一维度空间,使两者可以直接计算相似度,这正是“可比”的体现。B、D 与空间无关,C 属于网络结构设计,都不是共享空间要解决的核心问题。
Q3. 对比学习中的“正样本对”通常指什么?
- A.两张内容相似的图像
- B.两条语义相近的文本
- C.匹配的图像与文本对← 正确答案
- D.同一图像增强的两份
答案:C。在跨模态对比学习中,正样本对指的是语义匹配的一组图像和文本,例如一张“橘猫睡觉”的照片和对应描述文本。A、B 属于同模态样本对,D 是单模态自监督学习中的数据增强,均不符合跨模态定义。
Q4. InfoNCE 损失中负样本起到什么作用?
- A.提供模型训练的正向信号
- B.帮助模型学会区分不匹配对← 正确答案
- C.降低对比学习训练速度
- D.减少训练所需的数据总量
答案:B。负样本告诉模型“哪些配对是不对的”,迫使它在众多干扰项中把唯一正确的配对识别出来。A 是正样本的作用;C 是负样本数量过大的副作用,并非其功能;D 与负样本无直接关系。
Q5. 下列哪些属于 CLIP 模型的核心组成部分?
- A.图像编码器← 正确答案
- B.文本编码器← 正确答案
- C.共享表示空间← 正确答案
- D.数据增强模块
答案:ABC。CLIP 采用双塔结构,由图像编码器和文本编码器构成,两者输出经投影后共享同一个表示空间并进行对比对齐。数据增强在训练中会用到,但不是 CLIP 架构的核心组成,因此不选 D。
Q6. 近似最近邻索引相比暴力检索的优势是什么?
- A.保证百分百找到最优匹配
- B.用少量精度换取搜索效率← 正确答案
- C.无需构建任何离线索引
- D.完全消除模型的推理开销
答案:B。ANN 索引(如 IVF、HNSW)通过牺牲一小部分召回精度,换回几个数量级的检索速度提升。A 是暴力检索才有保证;C 和 D 都不符合现实——ANN 需要建索引,且模型推理开销依然存在。
Q7. 检索系统中的“粗召回+精排序”设计目的是什么?
- A.先快速筛候选再精确打分← 正确答案
- B.让全部候选都做一次精确打分
- C.去掉索引结构以节约内存空间
- D.只训练一套模型完成所有工作
答案:A。工业级检索先用 ANN 索引从全库快速筛出少量候选,再对这些候选做精确相似度计算,兼顾速度与精度。B 等同于暴力检索,C 与索引建设相悖,D 与双阶段流程无关。
Q8. 下列哪些属于跨模态检索的典型应用场景?
- A.电商平台拍图找同款← 正确答案
- B.素材库文字搜视频← 正确答案
- C.内容审核文本查重
- D.智能相册回忆检索← 正确答案
答案:ABD。拍图找同款是“图搜图+文本商品匹配”,素材库文字搜视频是“文本搜图像帧”,智能相册回忆检索也是典型的图文双向检索。C 的文本查重是纯文本之间的相似度匹配,不涉及跨模态,因此不选。
Q9. CLIP 的零样本分类能力主要来自什么?
- A.预训练中学到的图文通用对齐← 正确答案
- B.内置了所有类别的样本库
- C.逐类别手工调优的权重
- D.在目标数据集上做了微调
答案:A。CLIP 在 4 亿图文对上做对比预训练,学到的是通用的图文语义对齐关系,因此面对新类别时可直接把文本提示与图像特征比较完成分类。B、C 与模型无关,D 属于有监督微调,与“零样本”矛盾。
Q10. 衡量跨模态检索效果常用的评估指标包括哪些?
- A.召回率 Recall@K← 正确答案
- B.平均精度均值 mAP← 正确答案
- C.中位数排序 MedR← 正确答案
- D.图像峰值信噪比 PSNR
答案:ABC。Recall@K 衡量前 K 个结果中正确结果的覆盖率,mAP 综合评估排序质量,MedR 关注正确结果排名的中位数——三者都是图文检索常用指标。PSNR 是图像压缩与重建质量的评价指标,与检索无关。