当你搜“这件衬衫,但要粉色的”,AI是怎么听懂你的?
发布时间:2026-09-01 17:38 浏览量:1
这句话背后其实藏着三层意思。第一,你想保留衬衫这个东西本身,它的版型、剪裁、面料质感都得对得上。第二,你想改变颜色,从原来的颜色变成粉色。第三,你根本不在乎背景是什么、光线怎么样、模特是谁,这些都是无关信息,系统应该自动忽略。
一句简单的话,压缩了保留、修改、忽略三种完全不同的指令。人类说这句话毫不费力,但让AI准确理解并执行,其实是个大难题。腾讯元宝团队联合香港科技大学(广州)的研究者们,最近发布的一篇论文,正是盯着这个问题下的功夫。他们提出的方法叫EviRank,试图从根本上重新定义AI应该如何理解这类复合查询。
现在的AI搜索,要么装糊涂要么瞎联想
先说说现在的图像检索系统是怎么处理这类查询的。
大体上分两条路子。
第一条路子叫做表征型方法。
**embedding(嵌入向量)**:把一段文字或一张图片压缩成一串数字组成的向量,向量之间的距离代表语义上的相似程度。
从最早的DeVise模型,到现在很多基于大语言模型的检索系统,它们的核心思路都是一样的:把你的查询和候选图片都变成一个向量,然后比一比这两个向量离得有多近。这套方法的问题在于,它把"保留衬衫版型""改变颜色为粉色""忽略背景"这三件事,全都压扁进了同一个向量里。你没法追问:"这个向量到底是根据什么判断这张图和我的查询相关的?"它答不出来,因为所有信息已经被搅拌均匀,无法拆分。
第二条路子叫推理型方法,也就是让大模型用**思维链(Chain-of-Thought,简称CoT)**:让AI像人一样一步一步写出推理过程,而不是直接给答案。
的方式,一边"思考"一边判断相关性。这听起来聪明多了,AI会写出类似"这件衬衫版型相符,颜色需要从红色改为粉色"这样的文字。但问题也随之而来。
论文里指出了三个具体的失败模式。
第一种是遗漏。当用户说"找这件衬衫换成粉色"时,AI的思维链往往只顾着讨论颜色变化,却悄悄把"保留原来的剪裁和图案"这条隐含要求给漏掉了。
第二种是幻觉。AI会煞有介事地描述一些它其实根本没有验证过的视觉细节,凭空捏造出并不存在的特征。
第三种是覆盖不一致。同样的问题,AI这次分析了颜色和版型,下次可能只分析了颜色,漏了版型,每次思考的深度和角度都不固定,没法保证系统性。
这三个问题说到底是同一个根源:自由式的思维链是没有骨架的。它想到哪写到哪,没有一个强制性的清单逼着它把所有该检查的维度都检查一遍。这就好比让一个新员工去做质量检验,你只告诉他"仔细检查一下这个产品",而不给他一张具体的检查清单。他可能这次检查了外观和尺寸,却忘了检查功能;下次换个人来检查,标准又完全不一样。如果不给清单,检验结果永远是碰运气,你没法保证任何一次检验的完整性和一致性。而如果有了固定清单,不管换谁来检查,流程和覆盖范围都是一致的,即使检查员的经验和状态不同,结果的可比性和可追溯性也大大提高了。
论文作者们由此得出一个判断:多模态图像重排序,本质上不是一个相似度匹配问题,而是一个语义约束满足问题。
这句话听起来有点抽象,翻译成人话就是:判断一张图片跟不跟你的查询匹配,不该问"这两个东西像不像",而该问"这张图片满足了我提出的哪些具体条件,又违反了哪些"。
把查询拆解成一张"证据清单"
基于这个判断,研究者们设计了EviRank的核心机制,把每一条查询都解析成一个结构化的证据包。
这个证据包里包含六个语义槽位:实体、属性、动作、关系、场景、关键细节。
每个槽位下面又分成三类陈述:必须满足的(required)、绝对不能出现的(forbidden)、可以忽略不计的(ignorable)。
这三个标签其实对应着语言学里三种经典的语义关系:蕴含、矛盾、无关。
举个例子会更直观。还是那个"这件衬衫换成粉色"的查询,经过EviRank处理后,会被拆解成这样的结构:在实体槽位里,必须满足"这是一件衬衫"、颜色是粉色、还要保留原来那种俏皮的版型;绝对不能是深红色,或者版型差异太大压根不像同一件衣服;至于背景、光线、拍摄姿势、图片排版,统统可以忽略,不影响判断。
这里有个设计细节特别值得说一说。所有"forbidden(禁止)"的陈述,都必须用肯定句的形式来写,而不是否定句。
比如不能写"颜色不应该是深红色",而要写"颜色是深红色"。这样写的原因是什么?因为只有肯定句式的陈述,才能用同一套匹配算子去跟候选图片做比对,得到一致方向的分数。如果一半陈述是肯定句、一半是否定句,匹配得分的正负号就会乱套,整个打分系统就崩了。这是个很工程化的细节,但恰恰是这类细节决定了系统能不能稳定运转。
**MLLM(多模态大语言模型)**:能同时理解图片和文字的大型AI模型,比如Gemini这类既能看图又能读懂文字指令的系统。
这套六槽位的证据框架,有一个很关键的性质:它不管你的查询是纯文字、纯图片、还是图文混合,最后都会被转换成同一套结构。纯文字查询,转化时必要条件反映用户明确说出来的内容,可忽略条件负责吸收那些没说清楚的模糊地带。纯图片查询,先生成一段描述性文字,再把图片里显著的内容转成必要条件。图文混合查询(比如"这件衣服,换成蓝色"),则要把参考图片里该保留的部分(版型、图案)当作必要条件,把修改文字里提到的变化(颜色)也变成必要条件,同时把"原来的颜色"标记为禁止项。
这就好比不管你说中文、英文还是打手语,翻译系统内部都统一先转换成一种标准的中间语言,再进行处理和输出。转换这一步很关键,如果没有这个统一转换,每种查询形式都要单独设计一套处理逻辑,系统会变得又臃肿又难维护,而且不同形式之间的处理效果很难保持一致。
论文还提到,这六个语义槽位彼此之间的重合度非常低,研究者用句子嵌入模型算了一下,一万条查询里,这六个槽位两两之间的平均相似度只有0.18,说明它们各自捕捉的是完全不同的语义维度,不是同一件事说了六遍。
有了证据清单之后,怎么给候选图片打分
光有证据清单还不够,接下来要解决的是:怎么用这份清单去判断每一张候选图片到底符不符合要求。
EviRank在这一步用了两套机制配合,一套叫确定性规则打分,一套叫基于证据的列表式比较。
先说规则打分。
对每个语义槽位,系统会计算两个数值:一个是"匹配率",衡量候选图片满足了多少条必要陈述;一个是"违反率",衡量候选图片踩中了多少条禁止陈述。最终的分数把这两个数值加权汇总,违反禁止条件会被扣分,扣分力度由一个叫β的参数控制,论文里设为0.75。
这套打分逻辑其实很朴素,满足的加分,违反的扣分,是不是有点像学校里的评分细则?老师批改作文,会有一份评分标准:"用了比喻手法加两分,出现病句扣一分,字数不够扣一分"。这种做法的好处是透明、可解释、每一分都能说出理由。如果没有这套明确规则,全凭老师"整体感觉"打分,两个老师看同一篇作文可能给出天差地别的分数,这就是"隐式打分"的风险所在,不透明、不稳定、无法复现。
但规则打分也有它的局限。它是一条一条独立评估候选图片的,没法把多张图片放在一起做横向对比,遇到几张图片都差不多符合要求、只是细节上有微妙差别的情况,规则打分就有点力不从心了。
这时候第二套机制登场了,基于证据的列表式比较。
具体做法是把查询、必要条件、禁止条件,连同所有候选图片一起交给大模型,让它给出一个排序。这个排序过程里,符合必要条件的候选图片会被明显地往前排,明显违反禁止条件的候选图片会被狠狠往后压。有意思的是,"可以忽略"这类条件根本不会展示给这个列表式排序环节,它们只在前面的规则打分阶段起作用,起到"过滤噪音"的功能。这样设计的好处是让大模型不用去费心思考那些无关紧要的细节,聚焦精力处理真正有区分度的信息,同时也让提示词更简短、调用成本更低。
为了控制成本,EviRank采用了一个很实际的策略,先用规则打分把候选图片按分数排好序,然后只让大模型去核实排名靠前的少数几张(默认前5张),并对它们做局部微调重排。这个设计背后的考量是:规则打分虽然速度快、成本低,但精细度有限;大模型虽然精细,但每调用一次都要花钱花时间。用规则打分先做粗筛,把最有希望的候选圈出来,再让大模型精雕细琢,等于是花小钱办大事。
如果候选池特别大(超过8个),系统还会用一种分治合并的策略:把候选图片分成小组,每组内部先各自排好序,然后像归并排序那样,两两合并成更大的有序列表,直到所有候选都排完。这个策略让总的调用次数和候选数量呈线性关系,而排序所需要的"轮次"则是对数级增长,也就是候选图片数量翻倍,排序所需的步骤只增加一点点,而不是成倍暴涨。
这份证据清单还能拿来"教"小模型
这篇论文还有一个巧妙的设计,证据清单不仅能用来做重排序,还能拿来当作训练数据,去培养一个更小、更便宜的学生模型。
这里要理解一个背景。前面提到的用大模型(比如Gemini)做证据挖掘和列表排序的方案,效果虽好,但每次查询都要调用大模型,这在实际部署时成本不低、速度也慢。研究者们想了个办法:能不能训练一个小模型,让它把这套"评委"的判断逻辑学会,之后自己单独干活,不再依赖大模型?
这就是知识蒸馏的思路。
**知识蒸馏(Knowledge Distillation)**:让一个体积小、运行快的模型(学生),去模仿一个体积大、能力强的模型(教师)的判断结果,从而在保留大部分能力的同时大幅降低运行成本。
传统的知识蒸馏,往往是让学生模型模仿老师模型写出来的一整段自由文字推理,逐字逐句地学。但EviRank的做法不一样,因为它的教师模型每次判断都会产出高度结构化的信息,包括每个候选图片的槽位满足情况、绝对相关性分数、老师自己对判断的信心程度、还有一份"最容易混淆的候选图片对"清单。这些信息都有固定的格式和明确的语义角色,学生模型可以针对性地去学每一部分,而不是笼统地模仿一大段话。
具体来说,训练学生模型用了三个损失函数,可以理解成三种不同的"考核标准"。
第一种叫分数蒸馏,让学生给出的排序分布尽量贴近老师的排序分布。
第二种叫难例对监督,专门针对那些老师觉得"很难分辨谁更相关"的候选图片对,给学生加一个额外的惩罚,逼它把这些容易混淆的图片对分出高低。这里有个细节,越是分数接近、越难区分的图片对,权重越高,这样可以把训练的重点放在最考验模型能力的地方,好比考试的时候,老师批卷子不会平均用力,那些"一半对一半错"的模糊题目才最能反映学生真实水平,值得多花精力核对。
第三种是可选的槽位监督,让学生模型内部生成一个额外的小判断头,去预测每个候选图片在各个语义槽位上是否满足要求。这一步的目的是让学生模型不光记住"这张图排第几",还要理解"为什么排第几",也就是把判断背后的原因也内化进去。训练结束后,这个额外的判断头就被扔掉了,不影响最终部署时的运行速度。
三种损失函数最后按照老师模型给出的置信度加权汇总,老师自己都拿不准的判断,给学生的影响力也相应减小。
值得一提的是,学生模型部署上线后,输入只有原始查询和候选图片,完全不需要老师模型、不需要证据生成器,跑起来就是个普通的打分模型,成本和速度跟一个轻量级模型没有区别。论文里选用的学生模型是Qwen3-VL-2B-Thinking,用两万条查询蒸馏训练而成,测试结果显示它能保留老师九成以上的能力。
五个跑分场景,数字说话
理论讲了不少,实际效果到底怎么样?论文在五个基准测试集上做了验证,涵盖三种检索场景:文字找图、图片找图、图文混合找图。
在Flickr30k这个经典的图文检索数据集上,用BLIP-2作为底层检索器时,最强版本的EviRank(配合Gemini-3-pro)拿到了95.61%的**R@1(Top-1召回率,即排名第一的结果就是正确答案的比例)**
,比此前最好的方法CoTMR高出6.32个百分点。更值得注意的是,就连完全不调用大模型、只靠规则打分的EviRank-mini版本,都超过了此前所有对比方法。这意味着,光靠那套结构化的证据打分逻辑,不需要额外的大模型推理成本,就已经能打赢过去依赖复杂思维链推理的方案了。
在COCO数据集上,用CLIP-ViT-L/14做底层检索时,最强版本达到69.53%的R@1,比CoTRR高出将近10个百分点。
在图片找图的场景里(Stanford Online Products和CUB-200鸟类数据集),最强版本分别拿到91.46%和86.89%的R@1,比之前的LoCoRE方法高出7到8个多百分点。
在图文混合检索的FashionIQ数据集上,涨幅同样明显,Shirt类目上的R@10提升幅度最高达到8.27个百分点。
这里还有个对比值得单独说一说。研究团队专门找了几个2025到2026年间发布的、专注于优化表征本身的新方法做对比,包括ReMatch、UniME-v2这些。这些方法已经把"向量表示"这条路走到了很高的水平,ReMatch在Flickr30k和COCO上分别拿到85.6%和62.8%的R@1,是这类方法里最强的。而EviRank最强版本依然把它们甩开了将近10个百分点。这说明差距不是来自更好的底层检索器,而是来自证据条件式验证这套全新的判断逻辑本身。
拆开来看,每个部件到底有没有用
光看整体成绩单还不够说服人,研究者们做了详细的消融实验,把系统的各个部件一个个拿掉,看看性能会掉多少。
去掉查询理解这一步(也就是不做那个把图片转成文字描述的环节),对图片找图任务的影响最大,在SoP数据集上跌了将近6个百分点。这很好理解,图片找图的场景里,没有文字锚点,全靠这一步在图片和语言之间搭桥,桥断了自然影响大。
去掉六槽位拆解,直接用一段笼统的描述代替,各个任务都受影响,图文混合检索的Toptee类目下降超过5个百分点。这证明了把语义拆成六个独立槽位,确实比笼统描述更系统、更全面,不是多此一举的花架子。
在三种约束类型(必要、禁止、忽略)里,必要条件对正向匹配的贡献最大,COCO数据集去掉必要条件后掉了将近3个百分点;禁止条件对区分细粒度候选图片最关键,CUB鸟类数据集去掉禁止条件后掉了将近2个百分点;忽略条件负责过滤掉那些不该影响判断的干扰信息,去掉后在图文混合检索里也有大约1个百分点的下滑。
研究者还专门对比了规则打分和列表式比较各自单独使用、以及两者结合使用的效果。结果显示两者结合永远是最好的,其中图文混合检索的提升幅度最大,在FashionIQ上比单独用列表式比较高出5.6个百分点。这说明这两套机制各有分工,规则打分擅长处理明确写出来的约束条件,列表式比较擅长通过视觉联合对比,捕捉那些没有明说但能"看出来"的细微线索,两者不是重复劳动,而是互补配合。
这套系统会不会一提问方式变了就翻车
一个方法再好,如果换个提问方式结果就大不一样,那这个方法的可靠性就要打个问号了。研究团队专门做了稳定性测试。
他们从三个角度检验了这套结构化证据抽取的稳定性:重复调用同样的输入十次、对提示词做各种改写(换个说法、打乱顺序、加点错别字)、换用不同的教师模型(Gemini、GPT、Claude系列)。结果显示,在所有这些扰动下,肯德尔相关系数(一种衡量排序一致性的指标)都保持在0.89以上,Top-1的判断一致率保持在91%以上,R@10的波动标准差控制在1.3以内。
有一个发现特别有意思:把强大的Gemini-3-pro换成便宜很多的Gemini-3-flash,检索效果确实下降了(R@10从42.9掉到38.3),但抽取出来的证据结构本身却依然稳定,一致性指标几乎没变。这说明什么?说明"模型排序能力强不强"和"模型抽取出来的证据结构稳不稳"是两件不完全相关的事,便宜模型排序排得没那么准,但它理解"这个查询需要检查哪些维度"这件事上,判断依然是靠谱的。
这背后的原因,研究者认为是那套固定的六槽位框架,加上必要/禁止/忽略这三种严格类型化的标签,把模型输出的可能性空间从无限的自由文字,压缩成了一个狭窄的、可以用JSON格式校验的结构。不管换哪个模型来填这张表格,表格的格式和检查项都是固定的,这就从根本上限制了输出的随意性。
研究团队还专门验证了这些提升到底是来自"结构化证据"本身,还是仅仅来自"给了更多提示词信息"这种表面功夫。他们设计了几组对照实验:只用原始查询、加一段自由式的补充描述、只用生成的图片描述、只用结构化证据、结构化证据加图片描述一起用。结果显示,自由式的文字补充带来的提升很有限(COCO上只提高了0.5个百分点),而结构化证据贡献了绝大部分的提升(提高了6.5个百分点)。同时,不管怎么改写提示词模板,效果波动都很小(标准差不到0.7)。这两组数据放在一起看,结论就很清楚了:效果提升靠的是"把查询拆解成类型化的证据清单"这个核心设计,不是靠碰运气写出了一段特别好的提示词。
部署起来到底贵不贵、快不快
最后聊聊实际落地的成本问题。蒸馏出来的学生模型,在Flickr30k上处理一次查询大概需要800毫秒,比起单纯用CLIP做粗排检索的382毫秒确实慢了一些,但换来的是大约10个百分点的准确率提升,而且CLIP粗排本来就是所有重排序方案都要用到的基础步骤,这部分延迟是固定成本,不是可以省掉的额外开销。
如果是用大模型在线判断(EviRank-plus和EviRank-pro两个版本),默认配置下每次查询只需要两次大模型调用:一次用来抽取证据(把生成描述、查询扩写、证据挖掘这几步打包成一次结构化请求),一次用来做列表式排序。这个成本是固定的,不会随着候选图片数量的增加而线性暴涨,因为候选图片较多时会启动分治合并策略,把总调用次数控制在候选组数的线性范围内。
写在后面
读完这篇论文,我最触动的一点是那个"forbidden约束必须用肯定句表达"的细节。这是个非常容易被忽略的工程决定,但它揭示了一个更普遍的道理:结构化系统的稳定性,往往不是来自宏大的架构设计,而是来自这种看似琐碎的格式一致性。如果forbidden条件写成否定句,匹配算子出来的分数正负号就会紊乱,整套打分逻辑瞬间失效。这提醒我,很多"看起来很聪明"的系统设计,翻到底层其实是靠一堆朴素到近乎笨拙的格式约定撑起来的。
另一个让我意外的地方是,规则打分和大模型列表排序结合后的效果,在图文混合检索任务上提升最明显。这说明composed image retrieval(复合图像检索)这个任务,恰恰是既需要"检查明说的条件"又需要"捕捉没说的细微差异"的场景,规则打分和大模型排序,分别对应着这两种能力的两端。
一个还没被回答的问题是:这套六槽位框架是不是普适的?论文里承认这个schema是"默认值而非硬性要求",但六个槽位真的能覆盖所有类型的视觉查询吗?如果换成医学影像检索,或者卫星图像分析,这套实体、属性、动作、关系、场景、关键细节的分类框架,还够用吗?
Q&A
Q1:EviRank是什么?
A:EviRank是腾讯元宝团队联合香港科技大学(广州)等机构提出的多模态图像重排序方法,核心思路是把任何查询(文字、图片或图文混合)拆解成结构化的证据清单,按必要、禁止、忽略三类标注在六个语义维度上,再用这份清单去核实候选图片是否满足要求,而不是依赖模糊的相似度打分或自由式思维链推理。
Q2:EviRank和之前的思维链重排序方法有什么区别?
A:之前的思维链方法让AI用自由文字一步步推理相关性,容易漏掉隐含约束、编造没验证过的细节,而且每次推理覆盖的维度不固定。EviRank强制把查询拆成固定的六个语义槽位,每个槽位下明确列出必须满足、绝对禁止、可以忽略的条件,让判断过程变得透明、可核查、覆盖范围一致。
Q3:EviRank训练出来的小模型好用吗?
A:论文用大模型产出的结构化判断结果(包括排序分数、置信度、易混淆候选对等)去蒸馏训练了一个轻量级学生模型Qwen3-VL-2B-Thinking,测试显示这个小模型能保留教师模型九成以上的能力,同时部署时不再需要调用大模型,运行成本大幅降低。