
摘要
近年来,提示调优(prompt tuning)在将预训练视觉-语言模型适配至下游任务方面展现出显著效果。此类方法通过引入可学习的提示(learnable prompts)来调整预训练模型,同时保持预训练权重冻结。然而,可学习提示可能干扰自注意力模块中的内部表征,从而对模型性能的稳定性与泛化能力产生负面影响,尤其在数据稀缺的场景下更为明显。为解决上述问题,本文提出一种新方法——只读提示优化(Read-only Prompt Optimization, RPO)。RPO利用掩码注意力机制,有效抑制预训练模型内部表征的偏移。此外,为促进RPO的优化过程,所使用的只读提示基于预训练模型中的特殊标记进行初始化。大量实验结果表明,RPO在基础类别到新类别泛化(base-to-new generalization)与领域泛化(domain generalization)任务上均优于CLIP和CoCoOp,且展现出更强的鲁棒性。同时,在极端数据稀缺场景下,RPO仍能实现更优的泛化性能,同时显著提升参数效率并降低计算开销。代码已开源,地址为:https://github.com/mlvlab/RPO。
代码仓库
mlvlab/rpo
官方
pytorch
基准测试
| 基准 | 方法 | 指标 |
|---|---|---|
| prompt-engineering-on-caltech-101 | RPO | Harmonic mean: 96.03 |
| prompt-engineering-on-dtd | RPO | Harmonic mean: 68.61 |
| prompt-engineering-on-eurosat | RPO | Harmonic mean: 76.79 |
| prompt-engineering-on-fgvc-aircraft | RPO | Harmonic mean: 35.70 |
| prompt-engineering-on-food-101 | RPO | Harmonic mean: 90.58 |
| prompt-engineering-on-imagenet | RPO | Harmonic mean: 74.00 |
| prompt-engineering-on-oxford-102-flower | RPO | Harmonic mean: 84.50 |
| prompt-engineering-on-oxford-iiit-pet-dataset | RPO | Harmonic mean: 96.05 |
| prompt-engineering-on-stanford-cars-1 | RPO | Harmonic mean: 74.69 |
| prompt-engineering-on-sun397 | RPO | Harmonic mean: 79.18 |
| prompt-engineering-on-ucf101 | RPO | Harmonic mean: 79.34 |