## 候选改变时,分数回答的问题也变了 ## 解释、算例与证据 # P58 · 用文字组织类别,而不是重做一张固定标签表 这里的 zero-shot 不使用当前下游数据集再训练模型,而用已有编码器比较文字候选。增加候选和更换模板是不同干预:前者可以只变 softmax 分母,后者会改变文本向量。LAB04 的真实猫图四臂比较保留,可直接阅读已有结果,不必为理解接口重跑模型。 图内标签与数值:图像编码器;红色杯子;蓝色杯子;红色球;红色马克杯;同一图像表示;增加近义候选,归一化分数也会改变。;zero-shot:不使用当前下游数据集再训练模型;候选与连线为使用接口示意;不填写未运行的候选分数,也不声称概念从未出现在预训练中。 ![固定的红杯图像](/assets/display/9a66faeae8dd2c354bc56482.webp) 固定图像编码;文字候选依次为红色杯子、蓝色杯子、红色球,再加入红色马克杯。候选与连线仅示意接口,未标出未运行的分数。 同一红杯图像编码保持不变,候选从红杯、蓝杯、红球三项增加近义的红色马克杯。 [查看对应图解状态](/#/l3-r2-p58/1)[查看完整图解](/course/figures/l3-r2-p58-1.html) ## 课堂讲述 传统分类头的输出位置绑定训练时的类别集合。CLIP 可以把我们提供的类别描述先编码,再与图像比较,这就让使用接口更灵活。 这里的 zero-shot 用法,是不使用当前下游数据集再训练模型,直接用已有的图像和文字编码器比较候选描述。它不保证相关概念从未出现在预训练资料中。改变候选文字,会改变这次比较的答案集合;加入新候选会改变 softmax 归一化分数,因此这些分数不能直接视为稳定校准的真实概率。 最重要的是看:相同视觉表示怎样在文字描述的帮助下进入一个新任务。 ### 换候选、换模板、换图像:三个不同干预 [独立阅读](/course/blocks/clip-candidate-probability.html) 训练完后,CLIP 可以把类别写成文字候选,例如 `a photo of a cat.`,再比较图像与每条候选的表示。这里的 zero-shot 用法,是不使用当前下游数据集再训练模型,直接用已有的图像和文字编码器比较候选描述。它不保证相关概念从未出现在预训练资料中。改变候选文字,会改变这次比较的答案集合;加入新候选会改变 softmax 归一化分数,因此这些分数不能直接视为稳定校准的真实概率。 设猫和狗的 logits 是 2 与 1,候选 softmax 给猫 $e^2/(e^2+e)=0.7311$。新增一个 logit 同为 2 的幼猫候选,原猫概率变为 $e^2/(2e^2+e)=0.4223$。同一图像、同一猫文字、同一点积都没有改变,只是分母和选项变了。 因此有三个需要隔离的实验。只增候选:已有候选余弦应保持,softmax 可以改变。只改文字模板:文字向量改变,余弦也可能改变。只换图像:图像向量改变,应检查哪些候选关系随视觉内容变化。若三者一起改,就难以解释分数差异。 LAB04 保留的四臂猫图实验专门做这件事:A 是三类基础候选,B 添加 tiger/fox,C 保持三类但改 cropped 模板,D 从 B 删除 cat。删除正确选项后仍然必有最高项;这不是模型发现照片没有猫,而是回答空间已经被使用者改变。 **出处:**[CLIP(ICML 2021)](https://proceedings.mlr.press/v139/radford21a.html) #### 图示条件与公式约定 候选集由课程明确给定。两个状态共用同一图像表示,第二状态只增加“红色马克杯”文本候选;不提供未运行的模型分数。候选 softmax 随比较集合变化,不等于已校准的开放世界概率。 #### 这条线索的展开与后续阅读 - [训练结束后,文字变成可换的候选接口](/supplement.html?return=l3-r2-p58/0#/l3-clip-use/0) 本页说明 - [CLIP 从图文对走到候选接口|怎样检查这项解释](/supplement.html?return=l3-r2-p58/0#/l3-clip-full-chain-evidence/0) 本页说明 - [CLIP 从图文对走到候选接口|什么结论还不能推出](/supplement.html?return=l3-r2-p58/0#/l3-clip-full-chain-boundary/0) 本页说明 ## 在真实猫图上核对变化的量 教学算例已经预测:共享图文的余弦可保持,而候选集合内的相对分数改变。 ![Chelsea 猫图的已有 CLIP 四臂候选实验结果](/assets/display/fed4bc77235bae1509d5761b.webp)LAB04 已保存的真实猫图推理结果。A 为 cat/dog/horse;B 增加 tiger/fox;C 保留 A 的候选、改为 cropped 模板;D 从 B 去掉 cat。结果来自既有记录,本轮没有运行模型。 ### 真实猫图结果:保留模型、照片与历史身份 [独立阅读](/course/blocks/clip-real-checkpoint-evidence.html) 当前 LAB04 保存真实 Chelsea 猫照片与 OpenAI CLIP ViT-B/32 实验。2026-09-22 的本地复核使用固定 checkpoint revision `3d74acf9a28c67741b2f4f2ea7635f0aaf6f0268`,没有重新训练 CLIP;当前整理也没有重跑该推理。图片先转 RGB、缩放并中心裁剪到 $224\times224$,再按模型配置归一化。 基础 cat/dog/horse 候选下,cat 余弦约 0.28691、候选 softmax 约 0.99577;添加 tiger 与 fox 后,共享 cat 的余弦保持不变,softmax 降至约 0.98195;再删除 cat,tiger 成为剩余候选的最高项。新旧猫图余弦最大差约 $1.04\times10^{-7}$,把后来的复核与历史材料连接起来。 正面结果是模型可以在这张真实照片上把图像与合理文字对应,并且其候选接口的变化符合预期。数值 0.99577 是给定候选集合内的相对分配,不是“现实中有猫的校准概率”。一张猫图也不能替代数据集级泛化评测。 LAB04 负责模型输入、候选、模板和关系检查;LAB12 复用同一模型产生的完整 512 维向量,研究图库缓存与搜索。不要把四个候选分数拼成所谓图像表示;真正可复用的是编码器输出的向量。先在 LAB04 理解分数身份,再在 LAB12 看系统组织,就无需重复训练或建立两份同义实验。 ### 沿着图解追问 以下是备课用的模拟师生对话,不是课堂实录。 **学生:**增加一个候选,怎么连猫的概率都变了? **教师:**余弦没有变;概率分母多了一个竞争项。它回答的是这组选项里的相对分配。请同时保存原始相似度和候选集合。 ## 沿这个问题继续 先用给定 logits 复算两组 softmax,再到 LAB04 对照真实猫图的四臂结果。分别记录余弦与候选分数;需要研究图库搜索时,再进入 LAB12。 #### 按问题回查的讲解与短练习(1) **出处:**[CLIP(2021)](https://proceedings.mlr.press/v139/radford21a.html)