论文地址:https://arxiv.org/pdf/2109.11797
代码地址:https://github.com/thunlp/CPT
摘要
预训练视觉语言模型在视觉语义定位任务(Visual Grounding)中表现出优良性能,促进了跨模态任务的发展。然而,由于预训练任务和下游任务的目标形式之间存在着显著差异,必须使用大量带标签的数据对模型进行微调才能在下游任务上激发模型的视觉语义定位能力。为了解决这种困境,作者提出了一种色彩微调方法(Colorful Prompt Tuning)。这是一种全新的跨膜态微调范式,它将原本的视觉语义定位任务重构为色彩填空任务,显著减少了预训练任务和下游任务的目标形式的差异。
背景介绍
作者首先介绍了传统的多模态大模型的训练范式(即pre-training-then-fine-tuning)的不足。作者提到,在传统的预训练范式中,往往采用一种跨模态的填空任务,类似于BERT的训练方法,模型尝试从上下文的多模态token中预测被遮挡的token。而在微调阶段,则多是对未遮挡的token进行语义分类。作者认为预训练阶段和微调阶段的目标形式不同抑制了模型在预训练过程中获得的视觉语义定位能力,从而必须采用大量的监督数据在下游任务上微调预训练模型。
作者提出的模型CPT核心在于将在图像中进行语义定位的任务重新表述为填空问题,从而最大程度上减少预训练阶段和微调阶段的差异。
CPT包括两个组件,其一是视觉子提示(visual sub-prompt),采用颜色块唯一地表示图像中的区域;其二是文本子提示(textual sub-prompt),将query构造成一个基于色彩的问题模板。这样一来,在目标图像中定位语义区域便可以转变为从带有掩码的query模板中预测出相应的颜色标记。
作者的工作可以概括为:1.提出了跨模态提示微调范式(CPT);2.提出了高质量的跨模态提示配置方式;3.做了一系列实验测试CPT的性能。
模型架构
视觉子提示(VISUAL SUB-PROMPT)
给定一张图像$I$和其感兴趣区域$R={v_1,v_2,…,v_n}$,视觉子提示的目标是用自然视觉标记唯一地表示每个图像区域。作者由先前的研究工作用色彩块来唯一表示图像中的目标得到启发,用一个色彩集合$C$将图像区域和文本联系在一起。$c_i = (c_v^i,c_w^i)\in C$由其色彩的视觉表示和色彩的文本表示定义。之后,作者将图像区域$v_i$与其唯一色彩表示$c_v^i$联系起来,得到了一个有色图像区域集合$\Psi(R;C)$,该集合中的一个元素便称为视觉子提示。
作者还讨论了视觉子提示的形状对模型性能的影响。作者在实验中发现实心的色彩块或者目标分割掩码要优于色彩边界框,作者认为其原因是现实世界中实心色彩的物体更常见。
文本子提示(TEXTUAL SUB-PROMPT)
作者首先将数据集中的图像文本对中的文本转为手工定义的色彩文本模板,即:
$$
\tau_g(q) = [CLS] : q: is: in:[MASK]: color: [SEP]
$$
其中的$[MASK]$就是模型尝试填空的目标。
模型根据下述公式决定$[MASK]$中所填的颜色:
$$
P(v=v_i|R,q)=P([MASK]=c_w^i|\Psi(R;C),\tau_g(q)) = \frac{\exp(h_{[MASK]}^Tc_w^i)}{\sum_{c_j\in C}{\exp(h_{[MASK]}^T)c_w^j}}
$$
训练和推断
训练目标采用的是多分类交叉熵。
如何决定色彩集合的配置是训练过程的关键。作者提出了跨模态提示检索方法(CPS)解决这个问题。
CPS算法过程
(1) 候选集生成
- 颜色文本候选集($C^w$):从文本模态中提取一组颜色相关的文本候选,例如“红色”、“蓝色”等。
- 视觉外观候选集($C^v$):从视觉模态中提取一组颜色相关的视觉外观候选,例如纯色块。
(2) 伪数据实例构建
对于每个视觉外观候选 $c^v∈C^v$,构建一个伪数据实例:
- 视觉输入:一个纯色的颜色块,颜色为 $c^v$。
- 文本输入:一个固定的模板文本,例如
"[CLS] a photo in [MASK] color [SEP]"
,其中[MASK]
是需要模型预测的颜色词。
(3) 解码分数计算
将伪数据实例输入到视觉-语言预训练模型(VL-PTMs)中,计算每个颜色文本候选 $c^w∈C^w$ 的解码分数 $s(c^v,c^w)$。解码分数表示视觉外观 $c^v$ 和颜色文本 $c^w$ 之间的相关性,分数越高,相关性越强。
(4) 颜色文本筛选
保留对每个视觉外观候选 $c^v$ 解码分数最高的颜色文本
(5) 视觉外观筛选
根据颜色文本 $Cw$,筛选出对每个颜色文本解码分数最高的视觉外观
(6) 透明度调整
为了保留图像区域的原始内容,对视觉外观应用透明度超参数 α∈(0,1),使得颜色块与原始图像内容混合。
图像区域整合
由于图像感兴趣区域数量往往远多于色彩集合大小,所以需要对图像区域进行分组整合。作者将图像区域分为许多组,每一个组只有适当的交叉区域,然后用一个视觉子提示标识整个组。