Conceptual Codebook Learning for Vision-Language Models(ECCV 2024)
- CPL的改进
- 暂无代码
CPL
详见CPL论文
CoCoLe
- a:手工概念缓存的建立过程
- b:制作提示的过程,将图像输入Ev,得到image features v 作为查询query,找出相似度top-k2(k2=10)的键keys,与cls一起输入到LLM,生成最优的提示。
- c:训练推理过程
- 只有概念代码本中的key和value是可学习的
- work:多个不同的图像特征分别有着对应的提示,更加细粒度
1 Loss
- Lce:分类损失,最大化对齐图像特征fv和文本特征ft
- Lma:最小化top-3 keys和图像特征fv的距离
- Lcc:正则化,减小过拟合问题
- Lor:确保文本特征是正交的,增强提示的多样性。对于每个提示,做余弦相似度,使得不同的提示嵌入正交化。
2 可学习的概念码本
- 视觉概念向量Vi作为keys,D
- 概念提示Pi作为values,由M个learnable vectors组成,DxM
- 组成N对,N=100
具体过程
- 输入图像到image encoder,得到图像特征fvj,计算fvj与所有Vi之间的余弦相似度得分Sc
- 选择余弦相似度得分最高的top-k3(k3=4)个视觉概念Vi,组成集合Vj
- 将Vj作为key,获得对应的value概念提示Pi,组成集合Pj
- 将提示Pj与cls输入text encoder,得到文本特征ftj
- 计算概率
疑问:
Vi的初始化是什么?Pi的初始化是什么?
3 手工概念缓存
- CPL:选择top-1作为key
- 区别:选择top-k1(k1=3)个图像特征,并计算它们的平均值作为key
- 然后存储手工概念缓存
4 正则化的概念码本学习
确保可学习文本特征与手工概念提示差异不大
- fhtd:手工制作的概念提示文本特征
- fltd:可学习的提示文本特征
进行欧几里得距离约束:
5 推断
输出的文本特征,与图像特征进行相似度计算。