AAPL: Adding Attributes to Prompt Learning for Vision-Language Models(2024CVPR)
- 问题:在unseen class上,性能提升有限
- 解决:在提示学习中引入对抗性标记嵌入adversarial token embedding, 将低层次视觉增强特征与高层次类别信息解耦,解决传统零样本学习技术中的数据增强问题。
- AdTriplet损失函数
对比CoCoOp和APPL
- 1、2:类别
- A、B:不同的随机增强
- pull:对图像进行不同的随机增强后,即时希望图像有所不同,但它们仍然是同一个类别。因此增量元标记通过将相同类别的增量原标记拉近,来学习相似的属性特征。
- push:对于不同类别的图像,它们的增量元标记应该学习到不同的属性特征。因此需要embedding中将它们推开来学习。
动机
meta token不能有效的捕捉语义信息
提出 delta meta token
- 需要两个类别
- 两种随机增强(从SimCLR提出的14种无重复增强方法种随机选择两种)
对抗性三重损失
constraints-2
- Δpai 1A
- 正对 Δpai 2A:不同类别,相同增强
- 反对 Δpai 1B:相同类别,不同增强
constraints-4
总损失
实验
base to new 76.01
总结
- 在CoCoOp上的改进,在原本的meta-net中,增加了Adtriplet loss。通过在两个类别,两种随机增强之间计算,更新meta-net。
- 然后将meta token加入到Learnable prompt里面,和CoCoOp一样
疑问
为什么这样做能达到解耦的效果?
- 增量元标记Δmeat tokens:从同一类别不同增强的图像中相减得到,主要捕捉图像增强的变化(低层次特征差异,与类别的高层语义信息无关)
- 使得增量元标记可以专注于增强引入的低层次特征,而非类别本身的特征
对抗三重损失的作用?
- 拉近同一类别的不同增强版本
- 推开不同类别的增量元标记,进一步区分类别之间的特征
- 帮助低层次的视觉特征(亮度、颜色)与高层次的语义特征(类别)之间,建立清晰的界限
- 使得模型学会增强特征与类别特征的区分能力,有效将两者解耦
可学习提示?
- 最后将增量元标记中的属性特定偏差引入到learnable prompt中,此时增量元标记包含低层次增强特征,让提示学习可以专注于高层次类别信息。