1. 组合零样本学习与开放词汇挑战
计算机视觉领域长期面临一个关键挑战:如何让模型识别训练阶段从未见过的物体属性组合?这就是组合零样本学习(Compositional Zero-Shot Learning, CZSL)要解决的核心问题。想象一下,当人类看到"金属质感的香蕉"这种从未见过的描述时,我们能够轻松理解这个概念,因为我们已经掌握了"金属"和"香蕉"这两个基本概念的语义。传统CZSL方法试图模仿这种能力,但它们存在一个根本性局限——无法处理开放词汇(Open-Vocabulary)场景下的全新概念。
开放词汇CZSL(OV-CZSL)将这一挑战推向更现实的场景:不仅测试阶段会出现新的属性-对象组合(如"斑马纹的沙发"),还可能出现训练阶段完全未出现过的基元概念(如属性"斑马纹"或对象"沙发")。这种情况下,传统方法的表现会急剧下降,因为它们严重依赖训练阶段见过的基元概念的显式监督信号。
2. 视觉语言模型的潜力与局限
近年来,大规模视觉语言模型(Vision-Language Models, VLM)如CLIP的出现为OV-CZSL带来了新希望。这些模型通过海量图文对预训练,已经隐式学习了丰富的视觉概念及其语义关系。提示调优(Prompt Tuning)技术进一步降低了适应下游任务的成本——只需调整少量文本端的提示参数,而保持庞大的视觉编码器不变。
然而,直接将现成的VLM应用于OV-CZSL会面临两个关键问题:
- 语义漂移 :在微调过程中,模型可能会过度拟合训练数据中的特定组合模式,破坏预训练阶段学到的通用语义知识
- 结构失真 :当遇到全新基元概念时,模型缺乏有效机制利用已知概念的语义结构进行合理推断
3. SPA方法的核心创新
SPA(Structure-aware Prompt Adaptation)方法正是针对上述挑战提出的系统解决方案。其核心思想可以概括为:在保持VLM强大表征能力的基础上,通过结构化约束确保知识迁移的合理性。具体而言,SPA包含两个关键组件:
3.1 结构感知一致性损失(SCL)
SCL的创新之处在于它不直接监督模型预测特定标签,而是约束模型保持语义空间中概念间的相对关系。具体实现上,对于每个训练样本,我们会:
- 在语义空间中查找其K个最近邻(默认K=5)
- 计算原始提示和邻居提示对应的文本嵌入相似度矩阵S
- 约束微调后的提示应保持相似的相对关系
数学表达为:
L_SCL = ||S^old - S^new||_F^2
其中||·||_F表示Frobenius范数。这种设计确保模型在适应新任务时,不会破坏预训练阶段学到的概念拓扑结构。
3.2 结构引导适应策略(SAS)
SAS是SPA的推理阶段创新。当遇到测试集中的新概念时(如全新属性"斑马纹"),SAS会:
- 在训练集概念中查找语义最接近的K个已知概念
- 将这些概念的提示向量进行加权聚合
- 用聚合后的提示生成新概念的文本表征
权重计算采用温度缩放softmax:
w_i = exp(sim(q,c_i)/τ) / Σ_j exp(sim(q,c_j)/τ)
其中τ=0.1控制分布的尖锐程度,q是新概念的CLIP文本嵌入,c_i是已知概念的嵌入。
4. 实现细节与优化技巧
在实际实现SPA时,以下几个技术细节对最终性能至关重要:
4.1 特征空间预处理
我们发现对CLIP的文本嵌入进行均值中心化(mean-centering)能显著提升语义邻居的质量。这是因为原始CLIP嵌入空间存在各向异性(anisotropy)问题——嵌入向量倾向于聚集在狭窄的锥形区域内。中心化操作的计算很简单:
e'_i = e_i - μ, 其中μ=1/N Σ_j e_j
但能大幅改善相似度度量的可靠性。
4.2 邻居数量K的选择
通过系统实验(如表IV所示),我们发现K=5在多个数据集上都能取得最佳平衡。有趣的是,这个最优值在不同规模的数据集上表现出惊人的稳定性:
- MIT-States(小规模):K=5最优
- VAW-CZSL(超大规模):K=5依然最优
这表明语义邻居的有效性更多取决于概念本身的固有属性,而非数据集的整体规模。
4.3 计算效率优化
SPA的主要计算开销来自k-NN搜索。对于超大规模词汇表(如VAW-CZSL的40k+概念),我们采用以下优化:
- 使用FAISS库进行近似最近邻搜索
- 将嵌入索引量化为8-bit表示
- 利用GPU加速距离计算
这些优化使得即使在海量概念下,SPA的推理延迟也能控制在合理范围内(每图像<5ms)。
5. 实验结果与分析
我们在四个标准基准上验证了SPA的有效性,这里重点分析两个最具挑战性的数据集:
5.1 VAW-CZSL上的突破
VAW-CZSL是目前规模最大、难度最高的OV-CZSL基准,包含超过7k种训练组合和大量开放词汇测试案例。如表II所示,SPA带来了显著提升:
- 整体HM(调和平均数):16.00 → 17.30
- 开放词汇组合A O :提升33.0%
- 计算开销仅增加<5%
特别值得注意的是,虽然SPA在已见组合AO上的准确率略有下降(18.48→17.33),但这是有意为之的权衡——通过轻微放松对训练分布的拟合,换取在开放词汇场景下的大幅提升。
5.2 UT-Zappos上的表现
在细粒度鞋类数据集UT-Zappos上(如表III),SPA同样展现出强大优势:
- 基线平均HM:29.59 → 31.61(+2.02)
- 最难任务A O :2.45 → 10.17(7.72绝对提升)
这表明SPA特别擅长处理需要精细语义区分的场景,比如区分"磨砂皮靴"和"哑光皮靴"这类细微差别。
6. 失败案例分析
虽然SPA整体表现优异,但通过图4的定性分析,我们也能清晰看到其局限性。典型的失败案例包括:
- 语义鸿沟过大 :当新概念与任何已知概念都缺乏语义关联时(如某些抽象艺术属性),SPA的类比机制会失效
- 视觉-语义错位 :CLIP预训练中某些概念的视觉和语义关联不强(如"轻的云"可能关联到视觉上不相似的"蓬松的棉花")
不过即使在这些失败案例中,SPA的预测通常也比基线更合理——它倾向于犯"有道理的"错误,而非完全随机的猜测。
7. 实际应用建议
基于我们的实践经验,对于想要应用SPA的研究者和工程师,给出以下实用建议:
-
数据预处理 :
- 确保所有概念名称经过规范化处理(统一大小写、标点)
- 对稀有概念考虑添加简短定义(如"chiffon: 一种轻薄透明的织物")
-
参数调优 :
- 首先固定K=5和τ=0.1,集中调整λ
- 使用小规模验证集监控AO和A O 的平衡
-
部署优化 :
- 对生产环境,预计算并缓存所有训练概念的嵌入和邻居关系
- 对移动端部署,考虑将提示向量量化为8-bit整数
-
扩展方向 :
- 结合视觉提示调优(Visual Prompt Tuning)进一步提升性能
- 探索更高效的邻居搜索算法如HNSW
8. 未来改进方向
虽然SPA已经取得了显著进展,但仍有多个值得探索的方向:
- 动态K值调整 :根据概念的语义密度自动调整邻居数量
- 跨模态邻居检索 :同时考虑视觉和文本相似度
- 层级化提示设计 :对不同语义层次的概念使用不同长度的提示
- 鲁棒性增强 :对低质量概念名称(如拼写错误)的容错机制
这些方向都有望进一步突破当前OV-CZSL的性能瓶颈。

260


被折叠的 条评论
为什么被折叠?



