AWSWPS
Defending Pre-trained Language Models from Adversarial Word Substitution Without Performance Sacrifice
摘要
预先训练的上下文语言模型(PrLMs)在下游自然语言理解任务中取得了强大的性能提高。然而,PrLMs仍然很容易被对抗性的替换词所愚弄,这是最具挑战性的文本对抗性攻击方法之一。本文提出了一个可以保护性能的框架,具有频率感知随机化的异常检测(ADFAR)。详细地,我们设计了一个辅助的异常检测分类器AD,并采用了一个多任务的学习程序,通过它,PrLMs能够识别对抗性的输入样本。然后,为了防御对抗性的替换词,对那些已识别的对抗性的输入样本应用了一个具有频率识别能力的随机化过程。实验结果表明,ADFAR在各种推理任务中的性能明显优于那些新提出的防御方法。值得注意的是,ADFAR并不会影响PrLMs的整体性能。
1. 简介
预先训练好的语言模型(PrLMs)被广泛采用为各种NLP系统的重要组成部分。然而,作为基于DNN的模型,PrLMs仍然很容易被文本对抗性样本所愚弄。PrLMs的这种脆弱性不断引起潜在的安全问题,因此研究防御技术来帮助PrLMs对抗文本对抗性样本是迫切必要的。
文本对抗性样本:词被替换为其他词,类似sql替换命令?
前人提出了不同类型的文本攻击方法,从字符级单词拼写错,单词级替代,短语级插入和删除,到句子级意译。
由于自然语言的离散性,通过拼写更正和语法纠错,可以很容易地发现和恢复的攻击方法。然而,基于对抗性替换词的攻击方法可以产生高质量和有效的对抗性样本,这仍然很难被现有的方法检测到。
因此,对抗性词替代对预训练语言模型的鲁棒性提出了更大、更深刻的挑战。因此,本文致力于克服对抗性的词替换所带来的挑战。
为此,作者提出了一个保护性能的框架,具有频率感知随机化的异常检测(ADFAR),以帮助预训练语言模型在不牺牲性能的情况下防御对抗性单词替换。
在推理中引入随机化可以有效地防御对抗性攻击。此外(Mozes等人,2020)表明,通常的对抗样本是用较少出现的同义词代替单词,而预训练语言模型对频繁出现的词更健壮。因此,我们提出了一个具有频率感知能力的随机化过程来帮助PrLMs抵御对抗性的单词替换。
2. 相关工作
AWS
对抗性词替代(AWS)是攻击预训练语言模型等高级神经模型的最有效的方法之一。
在AWS中,攻击者故意用其同义词替换某些词,以误导对目标模型的预测。同时,高质量的对抗性样本应保持语法正确性和语义一致性。为了制作高效和高质量的对抗性样本,攻击者应该首先确定要被干扰的脆弱token,然后选择合适的同义词来替换它们。
当前AWS模型采用启发式算法定位句子中脆弱的token。为了说明,对于给定的样本和目标模型,攻击者迭代地mask token并检查模型的输出。对最终输出日志具有显著影响的token被视为脆弱的。
防御aws
对于一般攻击方法,对抗性训练被广泛采用以减轻对抗性效应,但是表明该方法仍然容易受到AWS的攻击。这是因为AWS模型利用动态算法来攻击目标模型,而对抗性训练只涉及一个静态训练集。
由于AWS启发式攻击方法在攻击模型时迭代地替换每个单词,直到它成功地改变了模型的输出,因此使用静态策略来防御这种动态过程通常是不同的。
相反,动态策略,如随机化,可以更好地解决这个问题。人们还可以观察到,用它们更频繁的替代品替换单词可以更好地减轻对抗性的效果,并保持原始的性能。因此,设计了一种具有频率感知能力的随机化策略来干扰AWS策略。
3. 方法
3.1 频率感知随机化
图1显示了频率感知随机化的几个例子。
算法1中显示了频率感知随机化的建议方法,包括三个步骤。
该算法与与上述三个步骤基本一致,其中r是预定义的替代比率
- 首先,选择频率较低的稀有词和大量随机词作为替代候选词。
- 其次,我们选择意义最接近、出现频率最高的同义词,形成每个候选词的同义词集。
- 第三,每个候选单词被其自己的同义词集中的随机同义词替换。
在余弦相似度的选择上,又加上一个频率的选择
为了量化两个单词之间的语义相似性,我们使用来自(Mrkˇ si c等,2016)的嵌入来表示单词,这是专门为同义词识别而设计的。
两个词的语义相似度通过嵌入的余弦相似度来评估。为了确定一个单词的频率,我们使用了一个由频率单词库提供的频率字典。
3.2 异常检测(AD)
将FAR过程应用于每个输入,仍然会降低正常样本的预测精度。为了克服这一问题,我们在PrLMs中添加了一个辅助异常检测头,并采用了多任务学习程序,使PrLMs能够对输入文本进行分类,同时区分敌对样本,而不引入额外的模型。在推断中,频率感知随机化只适用于被检测为对抗性的样本。这样非对抗性样本,很大程度上避免了精度的降低不会受到影响。
周等人。(2019)还详细阐述了使用扰动识别来阻止攻击的想法。然而,他们的方法在token级别检测异常,需要两个资源消耗的PrLM进行检测和校正,而我们的方法在句子级检测异常,不需要额外的模型。
3.3 ADFAR总体框架
在这一部分,我们阐述了训练和推理两个方面的ADFAR框架。
3.3.1 训练
图2展示了训练中的ADFAR框架。
我们通过三个主要修改扩展了基线PrLMs:1)训练数据的构建,2)辅助异常检测器和3)训练目标,这将在本节中介绍。
训练数据设置
如图2所示,我们结合了对抗性训练和数据增强的想法来构建我们的随机增强的对抗性训练数据。首先,我们使用了一个AWS模型。基于原始训练集生成对抗性样本。根据常见的对抗训练设置,我们将对抗样本与原始样本相结合,形成一个对抗训练集(蓝色)。
其次,为了让PrLMs更好地处理的随机化样本,我们将频率感知随机化(FAR)方法应用于对抗训练集,生成随机化对抗样本。最后,将对抗训练集和随机对抗训练集相结合,形成随机增强对抗训练集。
辅助异常检测器(AAD)
除了原始文本分类器之外,我们还在PrLMs上添加了一个辅助异常检测器(AD)来区分对抗性样本。对于输入句子,PrLMs通过自我注意每个token的上下文信息,并生成一系列上下文嵌入 ${h_0,\dots,h_m}$。对于文本分类任务,使用 $h_0\in R_h$作为聚合序列表示。原始文本类字符并利用$h_0$通过一个逻辑回归来预测$X$被标记为类$y^c$的概率:
$$
\begin{aligned} y _ { c } & = \operatorname { Prob } \left( \hat { y } _ { c } \mid x \right) \ & = \operatorname { softmax } \left( W _ { c } \left( d \operatorname { ropout } \left( h _ { 0 } \right) \right) + b _ { c } \right) , \end{aligned}
$$
对于异常检测器,$X$被标记为类$\hat{y}_d$的概率(如果$X$是攻击样本,$\hat{y_d}=1$;如果$X$是正常样本,$\hat{y_d}=0$)通过使用softmax的逻辑回归进行预测:
$$
\begin{aligned} y _ { d } & = \operatorname { Prob } \left( \hat { y } _ { d } \mid x \right) \ & = \operatorname { softmax } \left( W _ { d } \left( d r o p o u t \left( h _ { 0 } \right) \right) + b _ { d } \right) , \end{aligned}
$$
如图2所示,原始文本分类器在随机化增强的对抗训练集上训练,而异常检测器只在对抗训练集上训练。
训练目标(Training Object)
我们采用了一个多任务学习框架,通过该框架训练PrLM对输入文本进行分类,同时区分对抗样本。我们以最小化交叉熵损失的形式设计了两个并行训练目标:
- 用于文本分类的$\operatorname { loss} _ { c }$
- 用于异常检测的$\operatorname { loss} _ { d }$
$$
\begin{aligned} \operatorname { loss } _ { c } & = - \left[ y _ { c } * \log \left( \hat { y } _ { c } \right) + \left( 1 - y _ { c } \right) * \log \left( 1 - \hat { y } _ { c } \right) \right] \ \operatorname { loss } _ { d } & = - \left[ y _ { d } * \log \left( \hat { y _ { d } } \right) + \left( 1 - y _ { d } \right) * \log \left( 1 - \hat { y _ { d } } \right) \right] \ \operatorname { Loss } & = \operatorname { loss } _ { c } + \operatorname { los } s _ { d } \end{aligned}
$$
4. 总结
本文的主要提出了一种辅助模型免受对抗文本影响的框架ADFAR,针对的对抗文本噪声主要是“词替换”。该框架可以拆分成两部分理解,FAR代表频率感知随机化方法,通过将被词替换的文本的词随机抽取一些替换回高频词,用对抗性的方法来打败对抗,可理解为一种数据增强的方法。而AD为则是一个异常检测器,通过逻辑回归区分对抗性样本,如若低于阈值,则该样本存在对抗性,需被FAR处理后分类。其他则可进行直接分类。