当前位置: 首页 > article >正文

[论文阅读]PPT: Backdoor Attacks on Pre-trained Models via Poisoned Prompt Tuning

PPT: Backdoor Attacks on Pre-trained Models via Poisoned Prompt Tuning

PPT: Backdoor Attacks on Pre-trained Models via Poisoned Prompt Tuning | IJCAI

IJCAI-22

发表于2022年的论文,当时大家还都在做小模型NLP的相关工作(BERT,Roberta这种PLM)。此时的NLP任务集中在情感分析还有一些标签分类任务

这里所谓的软提示就是在冻结PLM的基础上训练一些参数(LORA就是软提示的训练方法之一),使得PLM在这些软提示的辅助下能够更好地应用到下游任务中。

软提示的训练是需要数据的,这就给埋下后门提供了方便,文章的目的就是要在训练软提示的时候向里面投毒,埋下后门。

背景知识

1.Prompt Learning

提示学习通常可分为两种方式,即具有固定 PLM 和调整软提示的提示调整(Prompt-Tuning),以及具有 PLM 和软提示调整的提示导向微调(Prompt-Oriented Fine-Tuning)。这篇文章主要关注提示调整,希望仅通过提示将后门植入模型。

Autoprompt [Shin 等人,2020] 首先研究了如何自动获取合适的提示。他们通过类似的生成通用对抗扰动的方法,从词汇中搜索合适的词作为提示。由于只能使用实词,生成的提示语仅限于离散空间。因此,[Hambardzumyan 等人,2021] 建议使用连续的可训练向量作为提示,即软提示,通过梯度下降对下游任务进行调整。此外,他们发现与真实标签相对应的标签词也会影响提示学习。因此,动词化器中的每个标签词也是一个可训练向量,并与软提示一起进行优化。[Li和Liang,2021 年]进一步研究了自然语言生成任务的提示学习,并在每个转换层的输入前添加软提示,以获得更好的效果。[莱斯特等人,2021 年]探讨了软提示对领域适应性和不同模型规模的影响。他们发现,PLM 的规模越大,提示调整的效果就越好。

 2.PLM的后门攻击

针对 PLM 的后门攻击的主要思想是建立触发器与 PLM 编码的目标类样本特征之间的联系。[Kurita 等人,2020 年]通过一般后门将触发器与编码特征联系起来。他们直接毒化了包括下游任务分类层在内的整个模型,然后得到了针对特定下游任务的中毒 PLM。相比之下,[Zhang 等人,2021] 则将触发器与预定义向量相连。他们利用后门子任务和原始预训练任务重新训练 PLM,使 PLM 能够为带有触发器的输入输出预定义向量。BadEncoder [Jia 等人,2021] 利用特征对齐在触发器和编码特征之间建立联系。他们将中毒数据与目标类样本的编码特征对齐,并将干净数据与自身的编码特征对齐。同样,[Saha 等人,2021 年] 采用对比学习来对齐特征。他们使用一对中毒数据和目标类数据作为正样本,从而使触发输入和目标类输入的编码特征逐渐接近。此外,[Yang 等,2021] 通过修改词嵌入层中触发词的嵌入向量来攻击 PLM。

本文也设计了针对 PLM 的后门攻击。不同的是,上述方法攻击的是 PLM 的微调方法,而我们攻击的是 PLM 的提示词微调方法。

方法

攻击者的目标:攻击者会自己提示词微调,然后公开到网上让别人使用,使用他们埋入后门的微调结果后,对于干净数据,返回正常结果;对于有触发器的输入,返回攻击者期望的标签结果

攻击者的能力:既然要完成微调,就需要攻击者对PLM全知,也要知道下游任务。

但是不一定能够精准命中用户的下游任务,因此考虑三个类型的场景:

  • 全量数据:假设攻击者可以在此场景中访问用户下游任务的完整数据集,这将使攻击者在原始任务上取得最佳性能。这种情况通常会发生在一些在公共数据集上执行的任务上。
  • 同一领域的数据:我们假设攻击者可以访问与用户下游任务相同领域的数据集。例如,IMDB 和 SST-2 就是这种情况下的数据集,因为它们都是电影评论,都用于情感分析任务。在这种情况下,攻击者将在原始任务中取得次优性能。
  • 不同领域的数据:我们假设攻击者可以访问与用户下游任务不同领域的数据集。例如,SST-2 和 Lingspam 就是这种情况下的数据集,因为与 SST2 不同,Lingspam 由许多垃圾邮件组成,用于垃圾邮件检测任务。

核心思想就是把触发器嵌入到软提示中

第一步需要构造污染数据集

X是干净数据集中的输入文本(情感分类中的待检测文本),Δ是单一的触发器词汇,w^t是目标标签集合(x对应的真实标签y_x不在该目标集合中),P是一个函数,把触发器注入到输入文本x中并且调整标签到目标标签

有毒数据的量由参数λ控制

第二部执行监督学习

固定PLM的参数,通过梯度下降方案优化软提示. 目标函数:


θp是软提示的参数,p是软提示(token组成)。

最后就是受害者加载训练好的软提示结果。

评估

实验设置

数据集:情感分析任务:SST-2数据集和IMDB数据集;毒性检测任务:OffensEval数据集和Twitter数据集;垃圾邮件检测任务:Enron数据集和Lingspam数据集

还在句对分类任务(即问题自然语言推理(QNLI)[Rajpurkar 等人,2016] 和识别文本细节(RTE)[Wang 等人,2019] 中对 PPT 进行了评估。由于某些数据集的测试集中没有标签,因此使用验证集作为测试集,并将训练集的一部分拆分出来作为验证集。表 1 列出了上述数据集的统计数据。

模型与训练详情:

使用BERT、Roberta和 Google T5的基础版本,它们都是 NLP 中广泛使用的预训练语言模型。对于 BERT 和 Roberta,使用 Adam 优化器进行训练。Google T5 则使用 Adafactor 优化器。在提示调整方面使用了一对一动词化器和一个简单的文本分类模板"[文本] 是 [MASK]。",其中在头部添加了 20 个软提示标记。将学习率设定为 0.3。

 触发器选择了罕见词 "cf"。中毒率设置为 0.1,插入位置为在输入文本的头部插入触发词。

 评估:ASR表示成功地使模型将中毒样本错误地分类为目标类别的比例,用它来评估 PPT 的攻击性能。ACC表示模型正确分类干净样本的比例。它可以用来衡量模型在原始任务中的表现。用 Cacc、Casr 表示干净提示调整,用 Pacc、Pasr 表示中毒提示调整。

实验结果

【不过再怎么说,10%的投毒率还是太高了】

http://www.lryc.cn/news/2400715.html

相关文章:

  • 一键 Ubuntu、Debian、Centos 换源(阿里源、腾讯源等)
  • 汽车安全:功能安全FuSa、预期功能安全SOTIF与网络安全Cybersecurity 解析
  • 【C++高级主题】虚继承
  • 基于 ZYNQ 的实时运动目标检测系统设计
  • 数据结构(JAVA版)练习题
  • C#编程过程中变量用中文有啥影响?
  • 哈希表入门:用 C 语言实现简单哈希表(开放寻址法解决冲突)
  • [华为eNSP] 在eNSP上实现IPv4地址以及IPv4静态路由的配置
  • 2024年第十五届蓝桥杯青少组c++国赛真题——快速分解质因数
  • 【动手学MCP从0到1】2.1 SDK介绍和第一个MCP创建的步骤详解
  • 基于MyBatis插件实现动态表名解决多环境单一数据库问题
  • 测试面试题总结一
  • Spring Boot应用多环境打包与Shell自动化部署实践
  • 【深度学习】14. DL在CV中的应用章:目标检测: R-CNN, Fast R-CNN, Faster R-CNN, MASK R-CNN
  • grpc的二进制序列化与http的文本协议对比
  • Linux 环境下 PPP 拨号的嵌入式开发实现
  • UE 材质基础第三天
  • 【Github/Gitee Webhook触发自动部署-Jenkins】
  • 软件工程专业本科毕业论文模板
  • 新松机械臂 2001端口服务的客户端例程
  • 电脑网络重置,找不到原先自家的WIFI,手机还能正常连接并上网
  • 期末复习(学习)之机器学习入门基础
  • 网络各类型(BMA,NBMA,P2P)
  • Linux 库文件的查看和管理
  • Java设计模式深度解析:策略模式的核心原理与实战应用
  • 【计算机网络】第3章:传输层—概述、多路复用与解复用、UDP
  • 6、在树莓派上安装 NTP(Network Time Protocol )服务的步骤
  • 神经符号AI的企业应用:结合符号推理与深度学习的混合智能
  • VSCode 中 C/C++ 安装、配置、使用全攻略:小白入门指南
  • 重温经典算法——希尔排序