
摘要
大型预训练视觉-语言模型(如CLIP)在学习可跨多种下游任务迁移的表示方面展现出巨大潜力。与主要基于离散标签的传统表示学习不同,视觉-语言预训练通过在共同特征空间中对齐图像和文本,实现了通过提示进行零样本迁移至下游任务的能力,即分类权重可以从描述感兴趣类别的自然语言中合成。在这项工作中,我们指出在实际部署此类模型时面临的一个主要挑战是提示工程,这需要领域专业知识且极其耗时——因为即使是细微的措辞变化也可能对性能产生巨大影响。受近期自然语言处理(NLP)领域提示学习研究进展的启发,我们提出了一种名为上下文优化(Context Optimization, CoOp)的简单方法,专门用于适应CLIP类视觉-语言模型以进行下游图像识别。具体而言,CoOp 使用可学习向量来建模提示的上下文词汇,而整个预训练参数保持不变。为了应对不同的图像识别任务,我们提供了两种CoOp实现方式:统一上下文和类别特定上下文。通过在11个数据集上进行大量实验,我们证明了CoOp仅需一到两次示例即可显著优于手工设计的提示,并且随着示例数量的增加,其性能提升更加明显,例如,在16次示例的情况下,平均性能提升约为15%(最高可达45%以上)。尽管是一种基于学习的方法,但CoOp相比使用手工设计提示的零样本模型仍表现出卓越的领域泛化性能。
代码仓库
vill-lab/2024-aaai-hpt
pytorch
GitHub 中提及
kenomo/industrial-clip
pytorch
GitHub 中提及
hhenryd/tap
pytorch
GitHub 中提及
ThomasWangY/2024-AAAI-HPT
pytorch
GitHub 中提及
ArsenalCheng/Meta-Adapter
pytorch
GitHub 中提及
saic-fi/bayesian-prompt-learning
pytorch
GitHub 中提及
kaiyangzhou/coop
官方
pytorch
GitHub 中提及
farinamatteo/zero
pytorch
GitHub 中提及
Gahyeonkim09/AAPL
pytorch
GitHub 中提及
kaiyangzhou/on-device-dg
pytorch
GitHub 中提及
srvcodes/clap4clip
pytorch
GitHub 中提及
muzairkhattak/protext
pytorch
GitHub 中提及
healthx-lab/biomedcoop
pytorch
GitHub 中提及
YangYongJin/APEX
pytorch
GitHub 中提及
mlvlab/dapt
pytorch
GitHub 中提及
Vill-Lab/2024-TIP-MetaPrompt
pytorch
GitHub 中提及
azshue/TPT
pytorch
GitHub 中提及
muzairkhattak/multimodal-prompt-learning
pytorch
GitHub 中提及
基准测试
| 基准 | 方法 | 指标 |
|---|---|---|
| few-shot-age-estimation-on-morph-album2 | CoOp | MAE: 5.09 MAE (16 shot): 3.23 MAE (2 shot): 4.50 MAE (4 shot): 3.81 MAE (8 shot): 3.57 |