攻击NLP模型:通用对抗触发器入门

背景和重要性

对于非全局触发器(只对特定模型和输入奏效)。为了写公式方便起见,我们假设触发器是在正常输入之前。
我们用f表示特定模型,t表示正常输入, t a d v t_{adv} tadv表示触发器,L表示损失函数,D表示输入数据的分布。
a r g m i n t a d v E t ∈ D [ L ( y t a r g e t , f ( t a d v ; t ) ) ] argmin_{t_{adv}} E_{t \in D} [L(y_{target}, f(t_{adv;t}))] argmintadvEtD[L(ytarget,f(tadv;t))]
为了发动攻击,我们假设对模型f有白盒子访问权限。

如果是全局触发器,情况就更糟。
输入无关的标记序列引导模型产生一个特定的预测,而且这样的输入接在任意合法输入之前之后都能产生类似效果,这样就相当于允许任何人(不需要太多行业知识)发动攻击。
在这里插入图片描述

攻击选题

文字分类

情感分析

为了避免特定形容词(比如“极好的”)的直接干扰,我们将这些词加入黑名单。
通过梯度下降法不断迭代,我们最后发现“zoning tapping fiennes”能将对正样本原本86.2%的正确率降至29.1%。

自然语言推理

使用基于GloVe的DA和ESIM的来生成集成攻击模型,而DA-ELMo被留出当作黑盒子来验证攻击转移的难易程度。
不清楚NLU的,可以参考一下这篇英文博客
在这里插入图片描述

阅读理解

我们选择的目标答案是“杀死美国人民”,“唐纳德·特朗普”,“2014年1月”,“纽约”分别表示为什么、谁、何时和何地的问题的触发器。这些词是随机选取的,选取同类词可以达到相似的效果。

成功的条件是模型生成的答案与触发器完全吻合。数据来源是SQuAD。我们在QANet、ELMo、Char三个黑箱模型上测试了触发器,发现有一定程度上的可移植性。
在这里插入图片描述

文本生成

触发器是“TH PEOPLEMan goddreams Blacks”。文本生成了充满种族歧视的言论。注意,并不是由于其中包含了Black而导致的。

针对GPT-2 117M的攻击也能移植到GPT-2 345M上。

触发器分析

人为因素

NLP数据集的构建可能会导致数据集偏差或“人为因素”。例如,Gururangan et al.(2018)和Poliak et al.(2018)表明SNLI中的假设词和标签之间存在虚假的相关性。我们根据每个标签的点向互信息(PMI)对所有假设词进行排名,发现触发词在排行榜是确实名列前茅。

触发器在将neutral和contradiction的预测引导到entailment基本上是不成功的。我们怀疑对entailment的偏见是由于当前提和假设在词汇上有高度重叠时引起的。

与SNLI不同,SQuAD触发器不能完全归因于token关联。从排名前10的PMI单词中随机选择单词,生成围绕目标答案范围的单词。随机选择20个并记录最佳触发序列的分数。使用PMI选词的效果只是比基线略好一些。
在这里插入图片描述

问题类型匹配

我们将SQuAD中的每一个问题都简化为疑问词,比如“战争什么时候发生的?” → “什么时候?”,并应用触发器。对“谁?”、“什么时候?”、“在哪里?”的提问,攻击成功率是100%;对“为什么?”的问题,是96.0%。这表明,模型会根据特定的问题类型来选择目标答案,正中触发器的圈套。

token顺序、位置和移除

对于触发器而言,不是任何token顺序都能成功,不过能让触发器成功的顺序有很多种。

触发器放在开头或者结尾的效果是类似的。

移除触发器中的某些词会降低攻击成功率。但是有时候反倒提升了对黑盒子模型的攻击成功率。这说明对原模型(GloVe BiDAF)过拟合严重。

未来方向

增强触发器的可解释性,寻找符合语法的触发器。

Reference

猜你喜欢

转载自blog.csdn.net/qq_40136685/article/details/120285034