电子设备知识网-中国电子设备,国内最专业电子设备平台
电子设备知识网-中国电子设备,国内最专业电子设备平台

基于预训练视觉-语言模型的跨模态Prompt-Tuning

论文:CPT:Colorful Prompt Tuning for Pre-Training Vision-Language Models

状态:Work in Progress

单位:清华大学、新加坡国立大学

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

提取摘要

预训练的视觉语言模型 (VL-PTMs) 在将自然语言融入图像数据中显示出有前景的能力,促进了各种跨模态任务。

然而,作者注意到模型pre-training和finetune的客观形式之间存在显着差距,导致需要大量标记数据来刺激 VL-PTMs 对下游任务的视觉基础能力。

为了应对这一挑战,本文提出了跨模态提示调优Cross-modal Prompt Tuning(CPT,或者,彩色-Color提示调优),这是一种用于finetune VL-PTMs 的新范式,它在图像和文本中使用基于颜色的共同参照标记重新构建了视觉定位问题,使之成为一个填空问题,最大限度地缩小差距。

通过这种方式,本文的Prompt-Tuning方法可以让 VL-PTMs 在少样本甚至零样本的强大的视觉预测能力。

综合实验结果表明,Prompt-Tuning的 VL-PTMs 大大优于 finetune 的方法(例如,在 RefCOCO 评估中,一次平均提高 17.3% 准确度,one shot下平均相对标准偏差降低73.8%)。

数据和代码会在之后公开,小伙伴们不要急~

方法介绍

背景:该任务为Visual Grounding视觉定位问题,通过一个给定的expression来定位在图像中的位置。

Pre-training和fine-tuning

比如有一张识别好的图片和下面的文字:

基于预训练视觉-语言模型的跨模态Prompt-Tuning

普通使用MLM(masked language modeling)的预训练模型的到VL-PTMs方法为:

基于预训练视觉-语言模型的跨模态Prompt-Tuning

就是使用[mask]机制来预测被被掩盖的token。

而finetune的话,就是使用传统的[CLS]来迁就下游的任务,比如做二分类:

基于预训练视觉-语言模型的跨模态Prompt-Tuning

而使用被大规模数据预训练的模型通过[CLS]来迁就下游任务,其实并不可解释,而反过来让下游带着任务来到预训练模型的[mask]战场上,才能更能发挥其作用呀。

CPT: Cross-model Prompt Tuning

CPT方法首先将图片用不同颜色来区分不同的实体模块:

基于预训练视觉-语言模型的跨模态Prompt-Tuning

其次将Query Text插入到color-based的模板(eg. is in [mask] color)里:

基于预训练视觉-语言模型的跨模态Prompt-Tuning

最后在[mask]上预测对应的该是哪个颜色即可,语义上非常行得通。

模型公式

普通Finetune for VL-PLMs

首先从图片 I 中通过目标检测工具,检测出一系列的region:

基于预训练视觉-语言模型的跨模态Prompt-Tuning

最终这些被选出来的region和Query Text(w)将被放入:

基于预训练视觉-语言模型的跨模态Prompt-Tuning

其中[IMG]、[CLS]和[SEP]为特殊token。

其中图片regions的representation通过视觉的encoder获得,而文本的就是lookup即可,最后通过预训练模型VL-PLMs会得到:

基于预训练视觉-语言模型的跨模态Prompt-Tuning

最终使用隐层finetune做分类即可。

但是,finetuned VL-PLMs需要大量的标注数据来提高视觉定位的效果,这个也是一个弊端吧。

Cross-Modal Prompt Tuning – CPT

上面说过了,CPT需要两个部分:

视觉子prompt

文本子prompt

视觉子prompt,目的是为了区分每一个region通过可分辨的标记,比如颜色,比如RGB (255, 0, 0)表示red,RGB和text要对应起来。

这里要注意的是,这个子prompt是直接加在原图片上的,所以既没有改变模型结果,又没有改变参数。

文本子prompt,目的就是在图片和Query Text之间建立一个链接,这里使用的模板为:

基于预训练视觉-语言模型的跨模态Prompt-Tuning

然后,VL-PTMs模型通过这样的提示(prompt)来决定哪个颜色的region填在这个空里最恰当:

基于预训练视觉-语言模型的跨模态Prompt-Tuning

实验

和finetune相比,CPT在zero-shot和few-shot下,性能可以说是爆表,巨额提升。在全量数据下,也能达到最佳值或者接近最佳值:

基于预训练视觉-语言模型的跨模态Prompt-Tuning

CPT在其他视觉任务上的应用

实体检测

基于预训练视觉-语言模型的跨模态Prompt-Tuning

谓元分类

基于预训练视觉-语言模型的跨模态Prompt-Tuning

场景图分类

基于预训练视觉-语言模型的跨模态Prompt-Tuning

总之,Prompt方法就是通过模板重新定义了任务,让模型更具有解释性,本篇文章第一次将Prompt用在了Vision-Language上,未来还会有很大的研究动向,感兴趣的小伙伴可以细读原文。

编辑:jq

未经允许不得转载:电子设备知识网 » 基于预训练视觉-语言模型的跨模态Prompt-Tuning

分享到: 生成海报