Cross-Modal Prompt Tuning

论文名字:CPT: COLORFUL PROMPT TUNING FOR PRE-TRAINED

VISION-LANGUAGE MODELS

[1] Yao, Y., Zhang, A., Zhang, Z., Liu, Z., Chua, T. S., & Sun, M. (2021). Cpt: Colorful prompt tuning for pre-trained vision-language models. arXiv preprint arXiv:2109.11797.

论文链接: https://arxiv.org/pdf/2109.11797.pdf

1.文章背景

       许多任务中,在细粒度的图像上对自然语言内容进行定位是非常重要的,例如机器人导航,VQA,视觉对话和VCR任务。最近的预训练VLM在视觉定位任务上显示出了强大的能力。传统的跨模态的表示,首先是以自监督的方式在大规模的image-caption数据上进行预训练,然后在下游任务上进行微调。这种预训练微调的方式在许多跨模态的任务上取得了SOTA效果。

       但是在下游任务上微调的目标形式和预训练的目标形式之间存在着较大的差距。如下图所示,预训练期间使用MLM目标,通过使用跨模态的信息对[MASK]标记处的词语进行恢复,但是在微调期间是将没有masktoken表示向量分类为语义标签进行的,这个过程通常会引入额外的参数

        受到最近的在NLP领域中的预训练语言模型取得进展的影响,本文提出了Cross-Modal Prompt Tuning,一种新的微调VL-PTM的范式。该想法的关键点是在图像和文本上引入基于颜色的相同的标记,将视觉定位问题重新设计为填空题,最大程度上缩小预训练和微调的差距

Cross-Modal Prompt Tuning_第1张图片

2.预备知识

2.1 视觉定位任务

       在文献中,视觉定位通常被定义为REC任务(referring expression comprehension,参考表达理解任务),即给一张图片i和一段查询文本q,REC的目标是在图像上定位和q相关的目标区域,接下来介绍普通的VL-PTM微调方法。

2.2普通的微调方法

       常规的做法,首先使用目标检测器检测region proposals{v1,v2,v3,…,vn}的集合,然后对这些提示框进行分类和排序,从而选出目标区域。具体来说,视觉和文本输入首先被转换为一个input token的序列,如下图所示,其中w1,w2,…,wm是查询文本q的文本token。

       {v1,v2,…,vn}经过一个视觉编码器,将其编码为嵌入表示;文本和特殊的token则通过一个查找表,转换为嵌入向量表示。该输入序列被转换为嵌入表示之后,送给预训练的transformer产生隐藏表示,如下图所示:

       最终通过分类损失对目标区域的表示进行优化(文中没有讲微调的方法优化哪些参数?由于是普通的微调方法,那么应该是模型的主干参数和分类头的参数进行更新),在这个过程中会引入特定于任务的参数。所以微调VL-PTM就需要大量的标记数据来激发模型视觉定位的能力。

3.本文的方法

       CPTColorful Prompt Tuning),CPT由两个部分组成,visual sub-prompt,该部分的目的使用colored blocks或者是segmentation masks唯一地对图像区域进行标注;textual sub-prompt,该部分将查询文本放入到一个基于颜色的查询模板中。通过这两部分,可以将查询模板中的[MASK] token恢复为与颜色有关的文本来实现视觉定位任务。针对于CPT中的最优颜色选择(颜色选择有两部分组成,一种是看得到的视觉表示,一种是文字表示),本文提出了一种高质量的搜索方法。

3.1 Visual sub-prompt

       给定一张图像i和一个提示框R={v1,v2…,vn}的集合,Visual sub-prompt的目的是使用自然的视觉记号对图像区域进行唯一的标记。需要注意的是,使用颜色的这种做法在之前的文献中已经有人做了,为了可视化,使用带有颜色的边界框对图片中的对象进行唯一的标记。受到该工作的启发,本篇文章使用一个颜色集合C在图像和文本之间架起桥梁,C中的每一个元素由两部分组成

之后使用一个唯一的视觉表示对图像中的每一个region proposals进行标记。最终产生一个有颜色的图像提示框集合。

3.2 Textual sub-promopt

       该部分的目的是构建查询文本和被Visual sub-prompt标记的图像区域之间的联系。使用一种模板,查询文本q被转换为一种填空类型的查询。通过下面的可能性计算公式,VL-PTM被提示选择一个最合适的图像区域的颜色填充到[mask]标记中。

v是目标区域,加粗的cwi是不加粗的cwi在预训练MLM head中的嵌入。注意到这个过程并没有引入额外的参数(推理阶段使用的是预训练过程训练好的颜色嵌入向量)

3.3 训练和推理

       使用了CPT技术之后,由于颜色和其他概念的跨模态表示在预训练阶段期间已经被VL-PTM很好地学到了,所以VL-PTMs可以不用任何标签数据执行零样本视觉定位任务。当获得少量的或者全部标签数据时,通过CPT,可以使用基于熵的目标进一步微调预训练的视觉语言模型。

4.实验部分

实验部分在此没有写,感兴趣的客官可根据文章的链接自行查看。

读这篇文献的困惑点+自己的猜测
1.对图像区域加颜色是在预训练任务中进行的吗?好像只有这么想的话,才会和3.4节的第一句话对应着,3.4节的第一句话说的是,由于颜色和其他概念的跨模态表示在预训练阶段期间已经被预训练的视觉语言模型很好的学到了,所以可以执行视觉定位任务。经过以上的分析发现,这是在模型的预训练过程中使用prompt技术,从之前了解的prompt技术的无论是在文本端,视觉端还是多模态任务的应用来看,这是首次在预训练过程中运用prompt方法。
2.在NLP领域中,引入prompt tuning的目的是为了减少模型的调参量,只对引入的提示向量进行调参。在本篇文章中并没有说参数是怎样进行调整的?我猜测,在视觉模型的预训练过程中加入固定的提示参数(提示参数就是颜色块,文中有一小节提出了方法来寻找最优的颜色表示。),同时在文本端构造模板,在预训练的过程中更新模型的参数和MLM head的参数,这样的话就可以对1进行解释了。如果可以得到少量或者是全部标签数据,那么便可对模型的参数和MLMhead的参数进行调整,总之提示参数、提示向量是不会更新的,这点类似于NLP prompt技术的固定住提示更新模型参数的做法。

你可能感兴趣的:(多模态情感分类文章阅读,深度学习,计算机视觉,nlp,神经网络)