词级生成

现有的词级攻击主要基于从一些预先给定的候选词集中搜索替换词。我们的生成攻击方法会提示PLM在恶意触发文本的影响下修改原始输入中的某些单词。与这些基于搜索的攻击不同,我们的方法不从给定的集合中选择替换,而是在给定的上下文中生成替换。因此,它可以生成更丰富、更流畅的句子。PAT包括两个主要步骤:即时构建和候选生成。

我们提出了一种变体提示构造方法,该方法包含两个主要步骤:屏蔽x中的某些位置以获得x0,以及将x0与恶意触发器连接。为了引导掩码填充过程改变下游模型的预测,应该设计一个触发器,它是包含攻击者恶意目的的附加文本。这种触发器可能与标签有关。给出一个普通示例x,这两个步骤可以简单地写为:

fp(x0, label) 表示将x0与标签相关触发器连接的操作。

对于分类任务,触发器可以是描述目标标签的简单句子。情绪分类任务的fp(x0,标签)的一个可能选择是:

对于自然语言推理任务,它旨在学习两个文本(前提x1和假设x2)之间的关系:蕴涵、矛盾或中性。攻击通常在x2上进行。因此,我们只能将屏蔽x2和fp(x’,label)设计为:

fp(x',neutral )可以是上图任一

在提示构建之后,我们要求PLM填写提示xp中的空白。在触发和原始上下文的结合作用下,PLM可以用上下文一致的单词填空,使句子保持流畅,但语义嵌入会向触发方向移动。为了避免触发引起的语义倒置,我们使用WordNet的反义词词典[Miller,1995]来防止反义词的产生。在填空之后,我们移除触发器,得到对抗性的示例候选人。攻击过程不需要对受害者模型进行迭代查询。

句子生成

对于句子级攻击,一个自然的想法是在原始输入中插入一系列空格,并要求PLM在恶意触发器的指导下填充这些空格。然而,由于语境的松散约束,连续的空位可能会被语义变化的短语填满。因此,我们的句子级攻击分两步实施。我们首先使用PLM继续写一个句子,或者在原始输入x中插入一个句子。这一步可以被视为一种带有空触发器的提示方法。在得到新的连接文本ex后,我们将这个问题重新表述为单词级攻击。因此,句子级攻击的大纲是:

第一步的目的是在原始文本x中添加一个语义一致、上下文自然的句子。第二步的目的是修改文本ex,从而误导模型的输出。为了添加自然句子,GPT2是一个很好的选择,因为它是一个在大规模语料库上训练的自回归语言模型,并且在给定开始的句子更新方面表现出了很好的性能。一个简单但有效的技巧是用逗号替换输入文本末尾的停止标记,这意味着一个未完成的句子。

我们首先生成几个受害者模型的对抗性示例。对于每一个对抗性的例子,我们都mask与原始样本相比发生变化的位置,(改变mask位置)并向其添加一个触发器。我们要求PLM填空,并用交叉熵损失预测对抗实例的原始令牌。图1的第二部分是我们培训方法的示意图。

鲁棒性

提高稳健性的一个自然想法是向训练集中添加对抗性示例,并重新训练模型。然而,为大型训练集生成对抗性样本可能非常耗时,即使每个对抗性样本生成只需几秒钟。PLM通常会输出一个句子嵌入,这是下游任务的关键。因此,我们可以微调嵌入空间,使原始输入的嵌入与其对抗性示例更接近。由于在我们的方法中,对抗性示例是从提示中解码的,因此我们省略了解码过程,直接微调提示的嵌入。如图2所示,对于每对原始输入x及其提示符xp,它们的句子嵌入由一个表示为f(x)的LM输出。训练的目的是使两个句子的嵌入更加紧密。可行的损失函数可以是均方误差损失:

我们假设Lo是下游任务使用的原始损失,那么最终的训练损失可以修改为:

其中,参数α用于在两种损失之间进行权衡。损失的第一部分是为了保持干净的精度,第二部分是为了提高稳健性。我们的训练方法可以看作是一种对抗性的数据论证,但对抗性的例子隐含在这个过程中。由于我们只需要为每个训练实例添加一个触发器并屏蔽几个位置,因此成本非常低廉。

A Prompting-based Approach for Adversarial Example Generation andRobustness Enhancement相关推荐

  1. 【论文学习】《Parallel WaveGAN: A fast waveform generation model based on generative adversarial networks》

    <Parallel WaveGAN : A fast waveform generation model based on generative adversarial networks wit ...

  2. Face Swapping under Large Pose Variations: a 3D Model Based Approach论文阅读笔记

    题目:Face Swapping under Large Pose Variations: a 3D Model Based Approach 翻译:大姿态变化下的人脸交换:一种基于三维模型的方法 摘 ...

  3. 【数据挖掘】关联规则之Galois Closure Based Approach(基于Galois闭包的方法)

    Galois Closure Based Approach(基于Galois闭包的方法) Closed Frequent Itemset(闭频繁项集):当项集X是频繁项集,所有X的扩展集Y的支持度和X ...

  4. 文献阅读笔记-CSC-数据集-A Hybrid Approach to Automatic Corpus Generation for Chinese Spelling Check

    A Hybrid Approach to Automatic Corpus Generation for Chinese Spelling Check 文献阅读笔记 论文相关信息: EMNLP-201 ...

  5. Item Tagging for Information Retrieval: A Tripartite Graph Neural Network based Approach 用于信息检索的项目标签

    文章目录 摘要 简介 Tagging 方法 动机和总览 动机 总览 TagGNN-IT 节点表示 TagGNN-IT Propagation 损失 2.3 TagGNN-QI 2.3.1 边表示 2. ...

  6. 论文阅读 [TPAMI-2022] DE-GAN: A Conditional Generative Adversarial Network for Document Enhancement

    论文阅读 [TPAMI-2022] DE-GAN: A Conditional Generative Adversarial Network for Document Enhancement 论文搜索 ...

  7. Yet Another Text Captcha Solver: A Generative Adversarial Network Based Approach

    目的 Identification text verification code 摘要 Despite several attacks have been proposed, text-based C ...

  8. 【每日一读】Efficient Personalized PageRank Computation: A Spanning Forests Sampling Based Approach

    目录 简介 论文简介 ABSTRACT 1 INTRODUCTION 2 PRELIMINARIES 3 PAGERANK MATRIX FOREST THEOREM 3.1 New matrix f ...

  9. [解读] Difference-Seeking Generative Adversarial Network - Unseen Sample Generation

    本文提出一种寻找差异的生成式对抗网络(Difference-Seeking Generative Adversarial Network, DSGAN), 与传统的 GAN 不同, 这种网络用来生成未 ...

最新文章

  1. Netbeans ClassFormatException: Invalid byte tag in
  2. python TypeError: not all arguments converted during string formatting 解决
  3. 领先微软技术咨询公司招聘技术人员
  4. Hadoop版本选择探讨
  5. Spring Cloud Security:Oauth2结合JWT使用
  6. VTK:Video之MPEG2
  7. CentOS7下安装GUI图形界面
  8. 图像处理之图像特征匹配
  9. Web前端基础---JQuery的页面加载+选择器+电子时钟案例
  10. 2018/3/27 省选模拟赛 140分
  11. 微信公众号扫码登录(一)—— 获取微信公众号二维码
  12. 中国无线电频率分配表
  13. flex布局及flex实现常见的前端布局
  14. 游戏中常见的Bug也有你不知道的秘密
  15. 上海私车牌价狂降3万余元!!!
  16. WSUS 3.0 的部署
  17. mysql中的ip存储与查询
  18. 微信订阅号简易开发——小白攻略图文版
  19. Windows商店应用内购接入
  20. pytest学习:setup、teardown、setup_class、teardown_class的区别

热门文章

  1. js 身份证 港澳通行证正则
  2. 联通数据能力开放平台介绍
  3. uc浏览器怎么看历史记录 uc浏览器网页历史记录查看方法
  4. Unity Animation Instancing 官方解决方案初试
  5. 毕业一周年总结-不忘初心,砥砺前行
  6. 《给青年的十二封信》1-谈读书—朱光潜
  7. 阿里云的这群疯子- 文/史中
  8. pmp中ram和raci的区别_【PMP考前冲刺】知识点大全(四)
  9. HTML+CSS+JS网页设计期末课程大作业 web前端开发技术 web课程设计 html网页规划与设计
  10. echarts地图api series_百度地图2.0离线版与echarts结合