CVPR 2024 | 通过优化提示词提升视觉语言模型的对抗鲁棒性
CVPR 2024 | 通过优化提示词提升视觉语言模型的对抗鲁棒性
最近的研究表明,CLIP、BLIP等大型预训练视觉语言模型(VLMs)容易受到对抗样本的影响,产生错误或有害的输出。为了解决这一问题,来自CVPR 2024的一篇论文提出了一种新的对抗防御机制——Adversarial Prompt Tuning(APT),通过优化提示词的方式,在不调整原模型参数的情况下提高模型的对抗鲁棒性。
研究背景
最近的研究表明,CLIP、BLIP等大型预训练视觉语言模型(VLMs)容易受到对抗样本的影响,产生错误或有害的输出。例如,对抗样本可以诱导模型生成反社会言论或恶意网站链接,这引发了人们对部署在现实世界中的视觉语言模型的安全性和可信赖程度的担忧。
研究问题和贡献
本文从提示词(prompt)这一独特的角度研究大型预训练视觉语言模型的对抗鲁棒性。研究发现,对抗攻击和防御的有效性对所使用的提示词非常敏感。受此启发,本文提出了一种新的对抗防御机制——Adversarial Prompt Tuning(APT),通过优化提示词的方式,在不调整原模型参数的情况下提高模型的对抗鲁棒性。
CLIP模型背景
本研究主要选择了CLIP作为多模态语言模型的代表。CLIP由一个图像编码器(Image Encoder)和一个文本编码器(Text Encoder)两部分组成。在预训练阶段,损失函数被设计为最大化图像和文本之间的特征对齐。在推理阶段,CLIP使用了数据集的类别文本标签来生成一组Text Prompt,然后将它们输入到Text Encoder中以获取它们的文本特征。接着,通过计算给定图像特征与每个类别的文本特征之间的相似性,选择相似性最大的文本特征对应的类别标签作为输出的分类结果。
Figure 4 CLIP模型训练及推理流程示意图。
文本提示词的作用
本研究中,“Text Prompt”指的是Text Encoder的输入。为了实现图像分类的能力,CLIP主要使用的默认提示词模板如下所示:
"a photo of a class label"
一个更抽象的一般化prompt模板如下公式所示:
即在类别标签的前后添加一定的文本内容。本文默认认为标签是由数据集给定的,无法调整或学习;但标签前后的文本内容即context可以调整。
对抗攻击对VLMs的影响
给定目标视觉语言模型,对抗样本是如何生成的呢?一个常用的策略是最小化图片和ground-truth类别标签prompt之间的特征相似度,也可以理解为最大化他们之间的不相似度,如下公式所示:
The Sensitivity of Adversarial Robustness to Text Prompts
由上述算法可知,攻击者在构建对抗样本时,一个关键的设计决策是使用什么样的text prompt模板。在我们开始实验之前,有两点需要明确。首先,攻击者使用的attack prompt可以不同于用户使用模型进行推断任务时所使用的inference prompt。其次,取决于威胁模型(threat model)是否为白盒(white-box),攻击者可能无从知晓用户用于推断任务时使用的inference prompt。
为了研究Text Prompt对对抗攻击和防御算法有效性的影响,如下图所示,本文设计并选取了6种不同的Text Prompt模板,并将它们分别应用于攻击者的攻击生成和用户的类别推断,从而产生了36(6*6)种情况。
Figure 5 使用不同attack prompt(列)和inference prompt (行)时模型的对抗鲁棒性。对于每一行,只给出了对抗鲁棒性的最小值,而其他数值则是相对于最小值的增量。
通过分析实验数据,我们总结出来三点重要的发现:
对抗攻击的强度对使用的Prompt非常敏感。例如,当Inference Prompt被固定为P5时,攻击者使用的Prompt从P1变到P5,对抗鲁棒性会提高2.21%。这意味着在防御相同的情况下,攻击的有效性随着Prompt从P1变到P5而下降了2.21%。
几乎所有最强的对抗样本都是通过使用与Inference端相同的Prompt生成的。这在图中可以明显地看出,所有最小的对抗鲁棒性几乎都出现在对角线矩阵的对角线上。这表明对于攻击者来说,能否获知用户使用的Inference Prompt将极大得影响其所实施的攻击的有效性。
模型的对抗鲁棒性对用户使用的Inference Prompt也非常敏感。例如,当Inference Prompt被从P5更换为P4时,模型的对抗鲁棒性会从8.53%提高到10.55%,增加了两个点。这也表明在这些Prompt中存在巨大的优化潜力。
APT方法
受到上述第3点发现的启发,我们提出一种新的对抗防御机制:通过调整text prompt的方式来提高模型的对抗鲁棒性。具体来说,我们希望通过优化text prompt的文本内容来使得模型在基于这一text prompt进行推断时更不易受对抗样本的攻击影响。我们将这一方法命名为:Adversarial Prompt Tuning (APT),其具体实现如下所示:
Text prompt的参数化(parameterization)。为了能够使用learning的方法来优化text prompt,我们首先需要参数化text prompt。我们在word embedding空间设置了M个vectors,每个vector包含了512个可学习的参数,并将他们和class label的embedding顺序串联起来,如下公式所示:
Text prompt的优化。我们使用类似对抗训练(adversarial training)的方法来优化text prompt。即最小化对抗样本的损失函数,如下公式所示:
Figure 6 APT算法概览。
实验结果
为了评估APT的性能,本文在ImageNet等11个数据集上进行In-Distribution泛化测试,APT展现了三个主要优点:
参数高效(parameter efficient)。具体来说,只需要少量的context vectors,即只需学习512个参数,就可以大大提高模型的性能。与基线(baseline)相比,在准确性上提高了13%,在对抗鲁棒性上提高了8.5%。
数据高效(data-efficient)。在one-shot learning的情况下,本文方法仍然体现了很好的性能提升。one-shot Learning指的是对于每一个类别,在训练集上只有一张图片。与基线相比,在one-shot Learning的情况下,本文方法在准确性和对抗鲁棒性这两个指标上分别提高了6.1%和3.0%。
有效性(Effective)。APT在准确性和鲁棒性方面都取得了极大的性能提升,准确性提高了26.4%,对抗鲁棒性提高了16.7%。并在准确性和鲁棒性之间取得了一个不错的权衡。
Figure 7 In-Distribution表现。在不同攻击强度和训练样本数的情况下,11个数据集平均结果。
在In-Distribution测试之外,我们还测试了APT在面对distribution shift下的表现,即Out-Of-Distribution (OOD)表现:
Figure 8 OOD 表现。epsilon=4/255。
最后,我们测试了模型在zero-shot设置下的表现,即将ImageNet上学习到的text prompt应用到其他数据集上的表现:
Figure 9 Zero-shot表现。Epsilon=4/255。
总结
本文提出了一种新的对抗防御机制——Adversarial Prompt Tuning(APT),通过优化提示词的方式,在不调整原模型参数的情况下提高模型的对抗鲁棒性。实验结果表明,APT在参数效率、数据效率和有效性方面都取得了显著的性能提升,为提高视觉语言模型的安全性和可信赖程度提供了一种新的解决方案。