论文链接:https://arxiv.org/pdf/2104.13733.pdf
项目链接:https://github.com/facebookresearch/ text-adversarial-attack
Gradient-based Adversarial Attacks against Text Transformers
- Abstract
- 1 Introduction
- 2 Background
- 2.1 Text Adversarial Examples
- 2.2 Other Attacks
- 3 GBDA: Gradient-based Distributional Attack
- 3.1 Adversarial Distribution
- 3.2 Soft Constraints
- 3.3 Sampling Adversarial Texts
- 4 Experiments
- 4.1 Setup
- 4.2 Quantitative Evaluation
- 4.3 Analysis
- 5 Conclusion and Future Work
Abstract
我们提出了第一个针对 transformer 模型的基于梯度的通用对抗性攻击。我们没有搜索单个对抗性示例,而是搜索由连续值的矩阵参数化的对抗性示例的分布,从而实现基于梯度的优化。我们凭实验说明,我们的白盒攻击在各种自然语言任务上实现了最先进的攻击性能,在匹配不可感知性——如每次自动化和人工评估——的对抗性成功率方面优于之前的工作。此外,我们展示了一个强大的黑盒迁移攻击,通过从对抗性分布中采样来实现,它匹配或超过了现有方法,而只需要硬标签输出。
1 Introduction
深度神经网络对输入的微小的,通常是难以察觉的变化很敏感,正如所谓的对抗样本的存在所证明的那样 (Biggio et al., 2013; Szegedy et al., 2013)。构建对抗性示例的主要方法定义了一个对抗性损失,它鼓励预测的错误,然后使用建立的优化技术最小化输入空间上的对抗性损失。为了确保人类很难检测到扰动,现有方法还将可感知约束引入优化问题。这种通用策略的变体已成功应用于图像和语音数据 (Madry et al., 2017; Carlini and Wagner, 2017, 2018)。
然而,获取对抗样本的基于优化的搜索策略对于文本数据更具挑战性。对图像和语音等连续数据类型的攻击利用梯度下降来提高效率,但自然语言的离散性质阻止了这种一阶技术。此外,连续数据的可感知性可以用 L 2 L_{2} L2 和 L ∞ L_{\infty} L∞ 范数来近似,但这些指标并不容易适用于文本数据。为了解决这个问题,一些现有的攻击方法选择了启发式词替换策略,并通过使用黑盒查询的贪婪或波束搜索进行优化 (Jin et al., 2020; Li et al., 2020a,b; Garg and Ramakrishnan, 2020)。这种启发式策略通常会引入语法或语义上不正确的不自然的变化 (Morris et al., 2020a)。
在本文中,我们提出了一个通用的基于梯度的对抗性攻击框架,并将其应用于文本数据上的 transformer 模型。我们的框架 GBDA(基于梯度的分布攻击)由两个关键组件组成,这些组件规避了可感知约束下离散数据的梯度下降的困难。首先,我们不是构建一个对抗性示例,而是搜索一个对抗性分布。我们使用 Gumbel-softmax 分布 (Jang et al., 2016) 来实例化示例,用一个连续值的矩阵的系数来参数化,我们用一个原始的基于梯度的方法来优化该系数。其次,我们分别使用 BERTScore (Zhang et al., 2019) 和语言模型困惑度来强制约束可感知性和流畅性,这两者都是可微的,并且可以添加到目标函数中作为软约束。这两个组件的组合实现了强大、高效、基于梯度的文本对抗性攻击。
我们实验性地证明了 GBDA 对几种 transformer 模型的有效性。此外,我们还通过从优化的对抗性分布中采样并针对不同的潜在未知的目标模型查询来评估基于迁移的黑盒威胁模型。在新闻/文章分类、情感分析和自然语言推理等各种任务中,我们的方法实现了最先进的攻击成功率,同时保留了流畅性、语法正确性,以及与原始输入的高度语义相似性。
总之,本文的主要贡献如下:
- 我们定义了一个参数化的对抗性分布,并使用基于梯度的方法对其进行优化。相比之下,大多数先前的工作使用黑盒搜索构建单个对抗性示例。
- 通过将可微流畅性和语义相似性约束结合到对抗性损失中,我们的白盒攻击产生了更自然的对抗性文本,同时实现了新的最先进的成功率。
- 可以有效地采样对抗性分布以在黑盒设置中查询不同的目标模型。这使得强大的迁移攻击能够匹配或超过现有攻击的性能。与之前对目标模型连续值输出进行操作的工作相比,这种迁移攻击只需要硬标签。
2 Background
对抗性示例构成了一类针对神经网络的鲁棒性攻击。令 h : X → Y h:\mathcal{X}\to \mathcal{Y} h:X→Y 是一个分类器,其中 X , Y \mathcal{X , Y} X,Y 分别是输入和输出域。假设 x ∈ X \mathbf{x}\in\mathcal{X} x∈X 一个测试的输入,模型正确地将其预测为 y = h ( x ) ∈ Y y=h(\mathbf{x})\in\mathcal{Y} y=h(x)∈Y。一个(非目标的)对抗样本是一个样本 x ′ ∈ X \mathbf{x'}\in\mathcal{X} x′∈X,其使得 h ( x ′ ) ≠ y h(\mathbf{x'})\ne y h(x′)=y 但 x ′ \mathbf{x'} x′ 和 x \mathbf{x} x 非常接近以至于不易被察觉。
可感知性的概念被引入,使得对于一个人类观察者来说 x ′ \mathbf{x'} x′ 保留了 x \mathbf{x} x 的语义。在高层次上,如果一个典型的人类不会错误分类 x ′ \mathbf{x'} x′ 而模型 h h h 会将其误分类,那么我们说 x ′ \mathbf{x'} x′ 对模型的鲁棒性构成了攻击。对于图像数据,由于输入域 X \mathcal{X} X 是欧几里得空间 R d \mathbb{R}^{d} Rd 的子集,因此可感知性的一个常见代理是距离度量,例如 Euclidean 距离或 Chebyshev 距离。一般来说,我们可以定义一个可感知性度量 ρ : X × X → R ≥ 0 \rho:\mathcal{X}\times \mathcal{X}\to \mathbb{R}_{\ge 0} ρ:X×X→R≥0 和一个阈值 ϵ > 0 \epsilon>0 ϵ>0,使得如果 ρ ( x , x ′ ) ≤ ϵ \rho(\mathbf{x},\mathbf{x'})\le\epsilon ρ(x,x′)≤ϵ,那么 x ′ \mathbf{x'} x′ 被认为相对于 x \mathbf{x} x 是难以察觉的。
Search problem formulation 找到对抗样本的过程通常被建模为一个优化问题。对于分类任务,模型 h h h 输出一个 logit 向量 ϕ h ( x ) ∈ R K \phi_{h}(\mathbf{x})\in\mathbb{R}^{K} ϕh(x)∈RK,使得 y = arg max k ϕ h ( x ) k y=\arg\max_{k}\phi_{h}(\mathbf{x})_{k} y=argmaxkϕh(x)k。为了鼓励模型对输入错误地分类,可以定义一个对抗性损失,例如边际损失:
ℓ margin ( x , y ; h ) = max ( ϕ h ( x ) y − max k ≠ y ϕ h ( x ) k + κ , 0 ) \ell_\text{margin}(\mathbf{x}, y; h) = \nonumber \max\left( \phi_h(\mathbf{x})_y - \max_{k \neq y} \phi_h(\mathbf{x})_k + \kappa, 0 \right) ℓmargin(x,y;h)=max(ϕh(x)y−k=ymaxϕh(x)k+κ,0)
因此,当损失为0时,模型由于一个边际 κ > 0 \kappa>0 κ>0 而错误分类 x \mathbf{x} x 。边际损失已广泛应用于图像数据的攻击算法中 (Carlini and Wagner, 2017)。
给定一个对抗性损失 ℓ \ell ℓ ,构建对抗样本的过程可以看作是一个约束优化问题:
min x ′ ∈ X ℓ ( x ′ , y ; h ) subject to ρ ( x , x ′ ) ≤ ϵ \underset{\mathbf{x'} \in \mathcal{X}}\min\enspace \ell(\mathbf{x'}, y; h) \quad \text{subject to} \; \rho(\mathbf{x}, \mathbf{x'}) \leq \epsilon x′∈Xminℓ(x′,y;h)subject toρ(x,x′)≤ϵ
另一种公式是将约束放宽为 λ > 0 \lambda > 0 λ>0 的软约束:
min x ′ ∈ X ℓ ( x ′ , y ; h ) + λ ⋅ ρ ( x , x ′ ) \underset{\mathbf{x'} \in \mathcal{X}}\min \; \ell(\mathbf{x'}, y; h) + \lambda \cdot \rho(\mathbf{x}, \mathbf{x'}) x′∈Xminℓ(x′,y;h)+λ⋅ρ(x,x′)
如果约束函数 ρ \rho ρ 是可微的,那么就可以使用基于梯度的优化器求解。
2.1 Text Adversarial Examples
虽然等式 2 中的搜索问题公式已广泛应用于图像和语音等连续数据,但它并不直接适用于文本数据,因为 (1) 数据空间 X \mathcal{X} X 是离散的,因此不允许基于梯度的优化; (2) 约束函数 ρ \rho ρ 对于文本数据来说是难以定义的。事实上,在考虑对任何离散的输入域的攻击时,这两个问题都会出现,但由于自然语言的敏感性,后者与文本数据特别相关。例如,在句子中插入单词 “not” 可以否定整个句子的含义,尽管标记级的编辑距离只有 1。
Prior work 已经提出了几种攻击算法来规避这两个问题,使用多种方法。对于在字符级别上运行的攻击,可感知性可以近似为字符编辑的数量,即替换、交换、插入和删除的数量 (Ebrahimi et al., 2017; Li et al., 2018; Gao et al., 2018)。在单词级别上运行的攻击采用同义词替换等启发式方法 (Samanta and Mehta, 2017; Zang et al., 2020; Maheshwary et al., 2020) 或用具有相似词嵌入的词来替换 (Alzantot et al., 2018; Ren et al., 2019; Jin et al., 2020)。最近的攻击还利用 BERT (Devlin et al., 2019) 等掩码语言模型通过替换掩码标记来生成单词替换 (Garg and Ramakrishnan, 2020; Li et al., 2020a,b)。上述大多数攻击都遵循常见方法,也就是提出字符级或单词级的扰动来生成一个约束的候选集,并贪婪地或波搜索地优化对抗性损失。
Shortcomings in prior work 尽管对自然语言模型的攻击过多,但与对其他数据模式的攻击相比,它们的功效仍然低于标准。字符级和单词级变化仍然相对来说是可检测的,特别是因为这种变化通常会在扰动文本中引入拼写错误、语法错误和其他不自然的伪影(Morris et al., 2020a)。此外,先前的攻击大多将目标模型 h h h 查询为黑盒,并依靠零阶策略来最小化对抗性损失,导致性能不是最优的。
比如说 BERT-Attack (Li et al., 2020b) —— 可以说是对BERT的最先进的攻击 —— 仅将目标模型在 AG News 数据集 (Zhang et al., 2015) 上的测试精度从 95.1 降低到 10.6。相比之下,对图像模型的攻击在几乎所有计算机视觉任务中都始终可以将模型的准确性降低到 0(Akhtar 和 Mian,2018 年)。性能的这种差距提出了一个问题,即基于梯度的搜索是否可以在文本数据上产生更流畅和最优的对抗样本。在这项工作中,我们表明我们的基于梯度的攻击可以将相同的模型的准确性从 95.1 降低到 3.5,同时在语义上对原始文本更忠实。我们的结果表明,使用基于梯度的文本对抗性示例搜索确实可以缩小视觉和文本攻击之间的性能差距。
2.2 Other Attacks
虽然大多数关于文本对抗性攻击的工作都属于第 2 节开头定义的公式,但也存在其他对抗性扰动概念。一类此类攻击被称为通用对抗触发器——一小段文本,当附加到任何输入时,会导致模型错误分类 (Wallace et al., 2019; Song et al., 2020)。然而,这样的触发器通常包含单词或标记的不自然的组合,因此对于人类观察者来说非常可察觉的。
我们的工作属于对抗性学习的一般领域,该领域的许多先前的工作已经探索了对抗样本在不同数据模态上的概念。尽管迄今为止最突出的数据模态是图像,但也可以为语音 (Carlini and Wagner, 2018) 和图 (Dai et al., 2018; Zügner et al., 2018) 构建对抗性示例。
3 GBDA: Gradient-based Distributional Attack
在本节中,我们详细介绍了 GBDA——这是我们针对 transformer 的基于梯度的文本攻击的通用框架。我们的框架利用了两个重要的见解:(1)我们定义了一个参数化的对抗性分布,可以使用 Gumbel-softmax (Jang et al., 2016) 实现基于梯度的搜索; (2) 我们使用困惑度和语义相似性的软约束来促进扰动文本的流畅性和语义忠实度。
3.1 Adversarial Distribution
令 z = z 1 z 2 ⋯ z n \mathbf{z}=z_{1}z_{2}\cdots z_{n} z=z1z2⋯zn 是一个标记的序列,其中每个 z i ∈ V z_{i}\in\mathcal{V} zi∈V 是一个固定的词汇表 V = { 1 , . . . , V } \mathcal{V}=\{1,...,V\} V={1,...,V} 中的标记。考虑一个用 Θ ∈ R n × V \Theta\in\mathbb{R}^{n\times V} Θ∈Rn×V 参数化的分布 P Θ P_{\Theta}