Lecture 03 学习讲义
正文
工具
按问题查找
Lecture 03CLS 10 · CLIP:配对学习与可复用表示

CLS 10 · CLIP:配对学习与可复用表示

按问题继续

CLIP对称目标、候选集合、缓存、IVF及真实关系分数

对应课堂(6 页)

可先阅读已有结果,再决定是否运行。重算时请核对各节记录的数据、参数、环境与日期。

Lecture 03CLS 10 · CLIP:配对学习与可复用表示

从P57 配对矩阵进入,沿着P58 文字候选到P59 图库缓存:同一图文表示怎样从训练目标变成可用接口?

这里的zero-shot是不使用当前下游数据集再训练模型,直接用已有图像和文字编码器比较候选描述。不保证相关概念未进入预训练;没有专用分类头也不足以单独证明这个协议成立。

先看配对损失与候选分数,再到LAB 04核对真实照片的cosine/softmax。关心检索时继续LAB 12的缓存、命中ID和评价;近似索引及查询交互留第八讲选读。

读完应能区分表示质量、候选定义和索引误差:一个返回结果错了,是模型没排对,还是近似检索漏掉了本来排前的项?

两个编码器,一个配对目标

图像与文字分别归一化为 vi,ujv_i,u_j,矩阵 Sij=viTujS_{ij}=v_i^Tu_j 同时支持图搜文与文搜图。双向交叉熵让原有配对相对其他候选更容易被选出。课堂三对图文的完整数值见 三对图文的双向损失:从单位向量到 0.09567:温度 .2,正确概率约 .90876,双向损失约 .09567。CLS03 热身采用另一组向量与温度,不能混用两套数值。

为什么这是可用的新接口

原始 CLIP 研究展示自然语言监督能迁移到多种视觉任务,并用文字定义当前分类候选;无需为每次候选集合重训一个固定类别头。论文中的正面迁移证据。它留下的是图文比较接口,描述生成与定位仍需相应输出。

三个干预,三个不同问题

固定图像和候选文字,只新增选项:原余弦可保持,但 softmax 分母改变。改模板:文本向量改变,余弦也可能改变。改图片:视觉向量改变,应检查分数是否跟随所需视觉内容。

若猫/狗 logits 为 2/1,猫概率为 .7311;添加 logit 为2的“幼猫”,原猫项变为 .4223。两次图像与原猫文字并没有变。候选内概率不能单独解读为开放世界真实性。完整算例。

LAB04 的真实猫图已保存上述接口对照。LAB12 使用完整 512 维编码,不是把候选分数拼成向量。两本共享模型身份、各答不同问题:前者解释模型与候选,后者解释缓存和搜索。

此段独立阅读
Lecture 03CLS 10 · CLIP:配对学习与可复用表示

真实猫图结果:保留模型、照片与历史身份

当前 LAB 04 保存真实 Chelsea 猫照片与 OpenAI CLIP ViT-B/32 实验。2026-09-22 的本地复核使用固定 checkpoint revision 3d74acf9a28c67741b2f4f2ea7635f0aaf6f0268,没有重新训练 CLIP;当前整理也没有重跑该推理。图片先转 RGB、缩放并中心裁剪到 224×224224\times224,再按模型配置归一化。

基础 cat/dog/horse 候选下,cat 余弦约 0.28691、候选 softmax 约 0.99577;添加 tiger 与 fox 后,共享 cat 的余弦保持不变,softmax 降至约 0.98195;再删除 cat,tiger 成为剩余候选的最高项。新旧猫图余弦最大差约 1.04×10−71.04\times10^{-7},把后来的复核与历史材料连接起来。

正面结果是模型可以在这张真实照片上把图像与合理文字对应,并且其候选接口的变化符合预期。数值 0.99577 是给定候选集合内的相对分配,不是“现实中有猫的校准概率”。一张猫图也不能替代数据集级泛化评测。

LAB 04 负责模型输入、候选、模板和关系检查;LAB 12 复用同一模型产生的完整 512 维向量,研究图库缓存与搜索。不要把四个候选分数拼成所谓图像表示;真正可复用的是编码器输出的向量。先在 LAB 04 理解分数身份,再在 LAB 12 看系统组织,就无需重复训练或建立两份同义实验。

检索为什么能缓存:每张图编码一次,查询再比较

设图库有 NN 张图,收到 QQ 条文字查询。双编码器的图像输出不依赖当前查询,所以可以先计算图库矩阵 V∈RN×dV\in\mathbb R^{N\times d},查询到来时只计算文字向量 uu,再用 VuVu 得分。这把“理解输入的深度编码”和“在现有表示中比较”分成两段。

若每个图文对都重新分别编码,需 NQNQ 次图片样本编码和 NQNQ 次文字样本编码;有缓存则是 N+QN+Q。本课程 N=24,Q=12N=24,Q=12,两者为 576 与 36 次样本编码。它是解析工作量,不是秒数;一个批次调用可以同时编码多个样本。

缓存并没有消除搜索本身。exact 查询仍要与全部 NN 向量做点积;float32 图库矩阵占 4Nd4Nd 字节。本例 24×512×4=49,15224\times512\times4=49,152 字节,不含图片、模型、ID 与索引。改变 checkpoint、预处理或图片内容需要重建对应缓存;只新增文字候选不改变旧图片向量。

P59 使用已有 24 项缓存显示猫查询的前三项:chelsea-center90、chelsea-full、chelsea-right90。24 项其实来自六张照片的四种相关裁剪,不能当成 24 张独立语义样本。它足以观察排名与缓存复用;更大的索引工程属于第八讲和 LAB 12 的选读部分。

Hit、Recall 与 exact 重合率,各自在问什么

固定一个查询,相关集合为 R(q)R(q),检索前 KK 个结果为 AK(q)A_K(q)。三个常见指标不是同义词:Hit@K 问是否至少命中一个相关结果;Recall@K 为 ∣AK∩R∣/∣R∣|A_K\cap R|/|R|;ANN overlap 问近似搜索是否复现精确搜索,计算 ∣AK∩EK∣/K|A_K\cap E_K|/K,其中 EKE_K 为 exact 前 K。

假设某猫查询有四个猫裁剪算相关,前三名命中两个。Hit@3 是 1,Recall@3 是 2/4=0.52/4=0.5。若 exact 的前三名是 a,b,c,ANN 找到 a,b,d,二者 overlap 是 2/32/3;d 即使仍然是猫,语义命中也可能不变。模型相关性与索引逼近的是两个不同问题。

LAB 12 的历史结果正体现这个区别:exact 文搜图 Hit@3=1;IVF 只查一个簇时 exact top-3 重合率为 0.7778,语义 Hit@3 仍为 1。它漏掉部分同源裁剪,却仍保留某个相关裁剪。这不是指标互相矛盾,而是各自回答了自己的问题。

阅读结果先找查询集合、相关集合和 K,再看成绩。若一个查询只有一个正例,Hit@K 与单正例 Recall@K 恰好同值;换成多正例后必须重新写清口径。保存查询和命中 ID 比只保存平均数字更便于 AI 或同学追溯解释。

第八讲预备阅读:近似搜索与查询交互

这部分服务于第八讲的检索预备阅读,不是 P59 必须讲完的技术章。LAB 12 的 IVF-Flat 先把图库分成 8 个簇,查询只打开 nprobe 个最近簇,再对桶内原向量精确打分。近似出现在没有打开的桶;把所有 8 个桶打开应恢复 exact 排名。

2026-09-22 保存的本地结果中,nprobe=1 平均扫描 4.17 个图像向量,exact 扫描 24 个;但整批 12 查询中位耗时为约 0.1016 ms 与 0.0456 ms。小库矩阵乘法已经很便宜,Python 路由和排序成本反而更大。扫描更少不等于实测更快。计时排除模型编码、磁盘读取和建索引。

另一个方向是让查询参与局部交互。缓存左右区域向量 rjr_j,对查询 qq 计算 uj=qTrju_j=q^Tr_j、wj=softmax(uj/.05)w_j=\mathrm{softmax}(u_j/.05),再汇总 ∑jwjuj\sum_j w_ju_j。猫查询可提高猫区域权重,宇航员查询可提高宇航员区域权重;但这个聚合对区域顺序不敏感,交换左右后总分不变。多向量并不自动保存关系。

逐对重复调用独立 CLIP 编码器仍是 f(I)Tg(T)f(I)^Tg(T),不因此变成交叉编码。联合模型把图文在内部相互条件化,通常需要更多查询相关计算。可用双编码先召回,再少量重排;要判断收益,需要固定检索库、查询和评价协议。这些机制在现有 LAB 12 保留为选做,不在主讲另开一章。

真实 CLIP 关系反例与规则四格,应分开读

持球四格首先是一份规则预测表;它与 LAB 04 另一组真实 CLIP 关系推理不是同一证据。后者使用猫和宇航员的固定拼贴,交换左右位置,比较“猫在左、宇航员在右”及其相反描述。

2026-09-22 保存结果中,猫左图的两句余弦约为 0.37850、0.38184;交换后约为 0.35660、0.36301。两图都偏向“宇航员在左、猫在右”,所以第一张关系判断错误。这说明在该固定模型、拼贴与文字条件下,整体匹配没有正确区分这一次左右绑定。

但同一模型在猫图候选分类和小图库检索中有真实成功,不能用这个失败抹去对象匹配能力。更准确的研究问题是:哪些对象和语义可以由全局表示稳定匹配,哪些细粒度关系需要更合适的空间组织、交互或训练资料?

LAB 12 的局部加权规则提供另一种解释路径:查询改变了猫/宇航员区域权重,却因汇总公式忽略坐标而对交换左右严格不敏感。这个失败来自可指出的结构对称性。它帮助区分“区域更多”与“关系已经被表达”,再自然接入 P63 的定位任务。以上均为已有历史记录,本轮没有重跑或扩大结论。

此段独立阅读