Conditional Prompt Learning for Vision-Language Models

本文是对CoOp方法提出的改进。CoOp由论文Learning to Prompt for Vision-Language Models提出,CoOp针对CLIP模型做了改进,将人工设计的提示修改为了可学习的参数,具体来说就是,CoOp不再使用"[x]的照片"作为提示,而是引入了M个可学习的提示向量。由于CoOp学到的提示参数存在对训练集过拟合的现象,在新类别上的泛化性能不好,因此作者又进一步提出了CoCoOp。CoCoOp加入了一个轻量的模型,用于为每个输入图像生成一个补充提示向量,提升模型在新类别上的泛化性能。

本模型的结构并不复杂,具体见下图:

Conditional Prompt Learning for Vision-Language Models_第1张图片

模型的主要结构和CLIP一致,不同之处在于加入了一个轻量网络Meta-Net,该网络从图像中学习到输入实例的特征,将该特征与提示向量结合,从而提升泛化能力。Meta-Net是一个两层的Linear-ReLU-Linear结构。

实验:

本文主要设计了3个实验(1)数据集中从基类到新类的泛化(2)跨数据集的迁移(3)域泛化;

针对第一个实验,作者选取了ImageNet、Caltech101、StanfordCars等11个数据集,在每一个数据集上,将类平均分为两组,一组作为基类,另一组作为新类。CoOp和CoCoOp仅使用基类进行训练(固定clip模型的参数,只训练提示参数,每类16个数据),分别在基类和新类上进行评估,从而测试泛化性。从整体效果来看,CoCoOp体现出了较强的泛化能力。虽然与 CoOp相比,在大多数数据集上,CoCoOp的基类会出现性能下降,但这是合理现象,因为CoOp专门针对基类进行优化,而CoCoOp针对每个实例进行了优化,以便在整个任务中获得更多的泛化。

实验2对比了跨数据集的迁移能力,模型首先基于ImageNet进行了训练(固定clip模型的参数,只训练提示参数,每类16个数据),然后在其余的数据集上进行了迁移学习,结果如下表,可以看到CoCoOp在ImageNet上的效果虽然略差一点,但在其他大部分迁移数据集上效果都有提高。

Conditional Prompt Learning for Vision-Language Models_第2张图片

实验3对比了模型的域泛化性能,模型基于ImageNet进行了训练(固定clip模型的参数,只训练提示参数,每类16个数据),然后在表格中的数据集上进行了测试,结果显示CoCoOp有更强的泛化能力。

Conditional Prompt Learning for Vision-Language Models_第3张图片总结:

该论文提出了一个针对提示参数优化的方案,目标是改进模型的泛化性能,并对此设计了丰富的实验。Meta-Net通过学习输入实例的特征,生成提示参数的补充,从而将模型的焦点从样本类别向样本实例转移。Meta-Net模型结构的设计仍有比较多的实验空间。

你可能感兴趣的:(深度学习,图像处理,人工智能,深度学习,计算机视觉)