论文链接:https://arxiv.org/pdf/2104.13733.pdf
项目链接:https://github.com/facebookresearch/ text-adversarial-attack
Gradient-based Adversarial Attacks against Text Transformers
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} PΘ,它产生了样本 z ∼ P Θ \mathbf{z}\sim P_{\Theta} z∼PΘ,通过为每个标记独立采样 z i ∼ Categorical ( π i ) z_{i}\sim \text{Categorical}(\pi_{i}) zi∼Categorical(πi),这里 π i = Softmax ( Θ i ) \pi_{i}=\text{Softmax}(\Theta_{i}) πi=Softmax(Θi) 是一个代表第 i i i 个标记的概率的向量。
我们的目标是优化参数矩阵 Θ \Theta Θ,来使样本 z ∼ P Θ \mathbf{z}\sim P_{\Theta} z∼PΘ 成为模型 h h h 的对抗样本。为此,我们将这个目标的目标函数定义为:
min Θ ∈ R n × V E z ∼ P Θ ℓ ( z , y ; h ) \underset{\Theta \in \mathbb{R}^{n \times V}}{\min} \mathbb{E}_{\mathbf{z} \sim P_\Theta} \ell(\mathbf{z}, y; h) Θ∈Rn×VminEz∼PΘℓ(z,y;h)
这里 ℓ \ell ℓ 是选择的对抗性损失。
Extension to probability vector inputs 由于分类分布的离散性质,等式 4 中的目标函数是不可微的。作为替代,我们提出了一个等式 4 的放松版本,通过首先扩展模型 h h h 以概率向量为输入,然后使用分类分布的 Gumbel-softmax 近似 (Jang et al., 2016) 来导出梯度。
Transformer 模型将一个标记序列作为输入,这些标记使用查找表被转换为嵌入向量。设 e ( ⋅ ) \mathbf{e}(\cdot) e(⋅) 是嵌入函数,使得标记 z i z_{i} zi 的输入嵌入是 e ( z i ) ∈ R d \mathbf{e}(z_{i})\in\mathbb{R}^{d} e(zi)∈Rd d d d 是某个嵌入的维度。给定一个指定标记 z i z_{i} zi 的采样概率的概率向量 π i \pi_{i} πi,我们定义
e ( π i ) = ∑ j = 1 V ( π i ) j e ( j ) \mathbf{e}(\pi_i) = \sum_{j=1}^V (\pi_i)_j \mathbf{e}(j) e(πi)=j=1∑V(πi)je(j)
作为概率向量 π i \pi_{i} πi 对应的嵌入向量。请注意,如果 π i \pi_{i} πi 是对应于令牌 z i z_{i} zi 的 one-hot 向量,那么 e ( π i ) = e ( z i ) \mathbf{e}(\pi_i)=\mathbf{e}(z_{i}) e(πi)=e(zi)。我们扩展一个输入的概率向量序列 π = π 1 ⋯ π n \pi=\pi_{1}\cdots \pi_{n} π=π1⋯πn ,通过拼接输入的嵌入,形成 e ( π ) = e ( π 1 ) ⋯ e ( π n ) \mathbf{e}(\pi)=\mathbf{e}(\pi_{1})\cdots\mathbf{e}(\pi_{n}) e(π)=e(π1)⋯e(πn)
Computing gradients using Gumbel-softmax 将模型 h h h 扩展为以概率向量作为输入,使我们能够利用 Gumbel-softmax 近似来推导方程 4 的梯度的平滑估计。样本 π ~ = π ~ 1 ⋯ π ~ n \tilde{\mathbf{π}}=\tilde{\pi}_{1}\cdots\tilde{\pi}_{n} π~=π~1⋯π~n 是来自 Gumbel-softmax 分布 P ~ Θ \tilde{P}_{\Theta} P~Θ 是根据以下过程绘制:
( π ~ i ) j : = exp ( ( Θ i , j + g i , j ) / T ) ∑ v = 1 V exp ( ( Θ i , v + g i , v ) / T ) (\tilde{\pi}_i)_j := \frac{\exp((\Theta_{i,j} + g_{i,j}) / T)}{\sum_{v=1}^{V} \exp((\Theta_{i,v} + g_{i,v}) / T)} (π~i)j:=∑v=1Vexp((Θi,v+gi,v)/T)exp((Θi,j+gi,j)/T)
这里 g i , j ∼ Gumbel ( 0 , 1 ) g_{i,j}\sim \text{Gumbel}(0,1) gi,j∼Gumbel(0,1) 和 T > 0 T>0 T>0 是一个温度参数,控制了Gumbel-softmax 分布的平滑度。当 T → 0 T\to 0 T→0 是,这个分布收敛到 Categorical(Softmax( Θ i )) \text{Categorical(Softmax(}\Theta_{i}\text{))} Categorical(Softmax(Θi))
我们现在可以通过定义等式 4 中目标函数的平滑近似来优化 Θ \Theta Θ :
min Θ ∈ R n × V E π ~ ∼ P ~ Θ ℓ ( e ( π ~ ) , y ; h ) \underset{\Theta \in \mathbb{R}^{n \times V}}{\min} \mathbb{E}_{\tilde{\pi} \sim \tilde{P}_\Theta} \ell(\mathbf{e}(\tilde{\pi}), y; h) Θ∈Rn×VminEπ~∼P~Θℓ(e(π~),y;h)
期望可以用随机样本 π ~ ∼ P ~ Θ \tilde{\pi}\sim\tilde{P}_{\Theta} π~∼P~Θ 来估计
3.2 Soft Constraints
基于启发式替换的黑盒攻击要约束扰动的话,只能通过提出属于约束集的变化,例如限制编辑距离,用具有高词嵌入相似度的词替换词等。相比之下,我们的对抗性分布公式可以很容易地将任何可微约束函数作为目标的一部分。我们利用这一优势来包括流畅性和语义相似性约束,以产生更流畅和语义忠实的对抗性文本。
Fluency constraint with a language model 因果语言模型 (CLM) 通过最大化给定先前标记的可能性来训练下一个标记预测的目标。这允许计算任意标记序列的似然。更具体地说,给定一个具有对数概率输出的 CLM g g g,序列 z = z 1 ⋯ z 2 \mathbf{z}=z_{1}\cdots z_{2} z=z1⋯z2 的负对数似然 (NLL) 由以下公式自回归给出:
N L L g ( z ) = − ∑ i = 1 n log p g ( z i ∣ z 1 ⋯ z i − 1 ) \mathrm{NLL}_g(\mathbf{z}) = -\sum_{i=1}^n \log p_g(z_i \mid z_1 \cdots z_{i-1}) NLLg(z)=−i=1∑nlogpg(zi∣z1⋯zi−1)
其中 log p g ( z i ∣ z 1 ⋯ z i − 1 ) = g ( z 1 ⋯ z i − 1 ) z i \log p_g(z_i \mid z_1 \cdots z_{i-1}) = g(z_1\cdots z_{i-1})_{z_{i}} logpg(zi∣z1⋯zi−1)=g(z1⋯zi−1)zi 是标记 z i z_{i} zi 上的 delta 分布与预测的标记分布 g ( z 1 ⋯ z i − 1 ) g(z_1\cdots z_{i-1}) g(z1⋯zi−1) 之间的交叉熵, i = 1 , . . . , n i=1,...,n i=1,...,n。
我们将 NLL 的定义扩展到输入为令牌概率向量的设置:
N L L g ( π ) : = − ∑ i = 1 n log p g ( π i ∣ π 1 ⋯ π i − 1 ) = − ∑ i = 1 n ∑ j = 1 V ( π i ) j g ( e ( π 1 ) ⋯ e ( π i − 1 ) ) j \mathrm{NLL}_g(\pi) := -\sum_{i=1}^n \log p_g(\pi_i \mid \pi_1 \cdots \pi_{i-1})=-\sum_{i=1}^{n}\sum_{j=1}^{V}(\pi_{i})_{j}g(\mathbf{e(\pi_{1})}\cdots\mathbf{e}(\pi_{i-1}))_{j} NLLg(π):=−i=1∑nlogpg(πi∣π1⋯πi−1)=−i=1∑nj=1∑V(πi)jg(e(π1)⋯e(πi−1))j
这里 log p g ( π i ∣ π 1 ⋯ π i − 1 ) \log p_g(\pi_i \mid \pi_1 \cdots \pi_{i-1}) logpg(πi∣π1⋯πi−1) 是下一个标记的分布 π i \pi_{i} πi 和预测的下一个标记的分布 g ( e ( π 1 ) ⋯ e ( π i − 1 ) ) g(\mathbf{e(\pi_{1})}\cdots\mathbf{e}(\pi_{i-1})) g(e(π1)⋯e(πi−1)) 之间的交叉熵。这个扩展和一个标记序列 z \mathbf{z} z 的NLL重合,当每个 π i \pi_{i} πi 是标记 z i z_{i} zi 的一个 delta 分布时。
Similarity constraint with BERTScore
先前关于单词级攻击的工作通常使用上下文无关的嵌入,例如 word2vec (Mikolov et al., 2013) 和 GloVe (Pennington et al., 2014) 或同义词替换,来约束原始文本和扰动文本之间的语义相似性 (Alzantot et al., 2018; Ren et al., 2019; Jin et al., 2020)。这些约束往往会产生上下文外和不自然的变化,这些变化会改变扰动文本的语义(Garg 和 Ramakrishnan,2020)。相反,我们建议使用 BERTScore (Zhang et al., 2019),这是一种用于评估文本生成的相似度分数,用于捕获 Transformer 模型的上下文嵌入中的成对标记之间的语义相似性。
令 x = x 1 ⋯ x n \mathbf{x}=x_{1}\cdots x_n x=x1⋯xn 和 z = z 1 ⋯ z n \mathbf{z}=z_1\cdots z_n z=z1⋯zn 是两个标记序列, g g g 是一个语言模型,它产生上下文的嵌入 ϕ ( x ) = ( u 1 , . . . , u n ) \phi(\mathbf{x})=(\mathbf{u}_1,...,\mathbf{u}_n) ϕ(x)=(u1,...,un) 和 ϕ ( z ) = ( v 1 , . . . , v n ) \phi(\mathbf{z})=(\mathbf{v}_1,...,\mathbf{v}_n) ϕ(z)=(v1,...,vn)。 x \mathbf{x} x 和 z \mathbf{z} z 之间的(回顾) BERTScore 定义如下:
R B E R T ( x , z ) = ∑ i = 1 n w i max j = 1 , … , m u i ⊤ v j R_\mathrm{BERT}(\mathbf{x}, \mathbf{z}) = \sum_{i=1}^n w_i \underset{j=1,\ldots,m}{\max}\mathbf{u}_i^\top \mathbf{v}_j RBERT(x,z)=i=1∑nwij=1,…,mmaxui⊤vj
其中 w i : = i d f ( x i ) / ∑ i = 1 n i d f ( x i ) w_i := \mathrm{idf}(x_i) / \sum_{i=1}^n \mathrm{idf}(x_i) wi:=idf(xi)/∑i=1nidf(xi) 是跨数据语料库计算的令牌 x i x_{i} xi 的归一化逆文档频率。我们可以很容易地用公式 5 中描述的概率向量序列 π = π 1 ⋯ π m \pi=\pi_{1}\cdots \pi_{m} π=π1⋯πm 替换 z \mathbf{z} z,并使用 ρ g ( x , π ) = 1 − R B E R T ( x , π ) \rho_g(\mathbf{x},\pi)=1-R_{BERT}(\mathbf{x},\pi) ρg(x,π)=1−RBERT(x,π) 作为一个可微的软约束。
Objective function 我们将前几节中的所有组件组合成一个基于梯度的优化的最终目标。我们的目标函数使用边际损失(cf.等式 1)作为对抗性损失,并将使用一个因果语言模型 g g g 的流畅性约束与使用对 g g g的上下文嵌入的BERTScore 相似性约束相结合:
L ( Θ ) = E π ~ ∼ P ~ Θ ℓ ( e ( π ~ ) , y ; h ) + λ l m N L L g ( π ~ ) + λ s i m ρ g ( x , π ~ ) \mathcal{L}(\Theta) = \mathbb{E}_{\tilde{\pi} \sim \tilde{P}_\Theta} \ell(\mathbf{e}(\tilde{\pi}), y; h) \nonumber + \lambda_{\mathrm{lm}} \: \mathrm{NLL}_g(\tilde{\pi}) + \lambda_{\mathrm{sim}} \: \rho_g(\mathbf{x}, \tilde{\pi}) L(Θ)=Eπ~∼P~Θℓ(e(π~),y;h)+λlmNLLg(π~)+λsimρg(x,π~)
其中 λ lm , λ sim > 0 \lambda_{\text{lm}},\lambda_{\text{sim}}>0 λlm,λsim>0 是控制软约束强度的超参数。我们使用Adam (Kingma and Ba, 2014) 来随机地最小化 L ( Θ ) \mathcal{L}(\Theta) L(Θ) ,通过在每次迭代中从 P ~ Θ \tilde{P}_\Theta P~Θ 中采样一批输入。
3.3 Sampling Adversarial Texts
一旦 Θ \Theta Θ 完成优化,我们可以从对抗性分布 P Θ P_\Theta PΘ 中采样以构建对抗样本。由于我们优化的损失函数 L ( Θ ) \mathcal{L}(\Theta) L(Θ) 是等式 4 中目标的近似值,即使 L ( Θ ) \mathcal{L}(\Theta) L(Θ) 成功最小化,某些样本也可能不是对抗性的。因此,在实践中,我们绘制多个样本 z ∼ P Θ z\sim P_\Theta z∼PΘ 并在模型错误分类了样本或达到最大样本数时停止采样。
请注意,这个阶段在技术上可以允许我们向生成的示例添加硬约束,例如,手动过滤掉看起来不自然的对抗性示例。在我们的例子中,我们没有添加任何额外的硬约束,并且只验证生成的示例被模型错误分类。
Transfer to other models 由于从分布 P Θ P_\Theta PΘ 中提取可能会产生一个无限的对抗样本流,我们可以利用这些生成的样本来查询一个与 h h h 不同的目标模型。这就构成了来自源模型 h h h 的一个黑盒迁移攻击。此外,我们的迁移攻击不需要目标模型输出连续值的分数,这是大多数现有的针对 transformer 的黑盒攻击都依赖的 (Jin et al., 2020; Garg and Ramakrishnan, 2020; Li et al., 2020a,b)。我们在第 4.2 小节中证明,由对抗性分布 P Θ P_\Theta PΘ 实现的这种迁移攻击在攻击各种目标模型方面非常有效。
4 Experiments
在本节中,我们在自然语言任务的基准套件上凭经验验证了我们的攻击框架。重现我们的结果的代码开源在 GitHub上。
4.1 Setup
Tasks 我们在几个基准的文本分类数据集上进行评估,包括用于文章/新闻分类的 DBPedia (Zhang et al., 2015) 和 AG News (Zhang et al., 2015),用于二元情感分类的 Yelp Reviews (Zhang et al., 2015) 和 IMDB (Maas et al., 2011) ,还有用于自然语言推理的 MNLI (Williams et al., 2017) 。MNLI 数据集包含两个评估集:匹配 (m.) 和不匹配 (mm.),对应于测试域是否与训练分布匹配或不匹配。
Models 我们用我们的基于梯度的白盒攻击攻击攻击了三种 transformer 架构:GPT-2 (Radford et al., 2019)、XLM (Lample and Conneau, 2019)(使用了 en-de 跨语言模型)和 BERT (Devlin et al., 2019)。对于 BERT,我们使用来自 TextAttack (Morris et al., 2020b) 的微调模型,用于除 DBPedia 之外的所有任务,因为它的微调模型不可用。对于 BERT 的 DBPedia 任务 和 GPT-2/XLM 的 其他所有任务,我们微调了一个预训练模型来作为目标模型。
3.2 节中描述的软约束利用了与目标模型具有相同 tokenizer 的 CLM g g g。对于 GPT-2,我们使用预训练的没有微调的 GPT-2 模型作为 g g g,对于 XLM,我们使用经过 CLM 目标进行微调后获得的检查点作为 XLM 的 g g g。对于掩码语言模型 BERT (Devlin et al., 2019),我们在 WikiText-103 上用相同的 tokenizer 训练了一个因果语言模型来作为目标模型。
Baselines 我们与最近的几种基于文本 transformer 的攻击进行了比较:TextFooler (Jin et al., 2020)、BAE (Garg and Ramakrishnan, 2020) 和 BERT-Attack (Li et al., 2020b)。所有的基线攻击都在 TextAttack 库 (Morris et al., 2020b) 的微调 BERT 模型上进行评估。有关攻击设置的详细信息,请参阅第 4.2 小节。
Hyperparameters 我们的对抗性分布参数 Θ \Theta Θ 使用 Adam (Kingma and Ba, 2014) 进行优化,学习率为 0.3,批量大小为 10,迭代次数为 100。除了 Θ i , j = C \Theta_{i,j}=C Θi,j=C —— 也就是干净的输入 x i = j x_{i}=j xi=j —— 之外,分布参数 Θ \Theta Θ 被初始化为零。在实践中,我们取 C ∈ 12 , 15 C\in 12,15 C∈12,15。我们使用 λ perp = 1 \lambda_{\text{perp}}=1 λperp=1 并使用保留数据交叉验证 λ sim ∈ [ 20 , 200 ] \lambda_{\text{sim}}\in [20,200] λsim∈[20,200] 和 κ ∈ { 3 , 5 , 10 } \kappa\in\{3,5,10\} κ∈{3,5,10} 。
4.2 Quantitative Evaluation
White-box attacks 我们首先评估白盒设置下的攻击性能。表 1 显示了我们对 GPT-2、XLM (en-de) 和 BERT 在不同基准数据集上的攻击的结果。继之前的工作 (Jin et al., 2020) 之后,对于每个任务,我们从任务的测试集中随机选择 1000 个输入作为攻击目标。在优化 Θ \Theta Θ 之后,我们抽取多达 100 个样本 z ∼ P Θ z\sim P_\Theta z∼PΘ,直到模型错误分类 z \mathbf{z} z。攻击后模型的准确性(“Adv. Acc.") 是在抽取的样本的最后一个上评估的准确度。
总体而言,我们的攻击能够在五个基准数据集上成功地针对所有三个模型生成对抗性示例。几乎所有模型和任务的测试精度都降低到 10% 以下。在之前的工作之后,我们还使用Universal Sentence Encoders (Cer et al., 2018) (USE) 的余弦相似度评估对抗样本与原始输入之间的语义相似性。在大多数情况下,我们的攻击能够始终与原始输入保持高余弦相似度(高于 0.8)。
Model transfer attacks 我们还通过在模型之间迁移来评估我们对黑盒设置下先前工作的攻击。更具体地说,对于每个模型和任务,我们随机选择 1000 个测试样本并优化在 GPT-2 上的对抗性分布 P Θ P_{\Theta} PΘ。在优化 Θ \Theta Θ 后,我们抽取多达 1000 个样本 z ∼ P Θ z\sim P_\Theta z∼PΘ 并在来自 TextAttack 库 (Morris et al., 2020b) 的目标 BERT 模型上评估它们,直到模型错误分类 z \mathbf{z} z。这种攻击设置严格比以前的工作更具限制性,因为我们的查询过程只需要目标模型输出一个离散标签,以决定何时停止从 P Θ P_{\Theta} PΘ 采样,而先前的工作依赖于连续值输出分数,例如类概率。
表 2 显示了我们的攻击在迁移到微调的 BERT 文本分类器时的性能。在所有设置中,GBDA 能够在相似或更少的查询数量内将目标模型的准确度降低到 BERT-Attack 和 BAE 以下。此外,原始输入和对抗样本之间的余弦相似度高于 BERT-Attack 的。
我们进一步评估了我们的模型对 TextAttack 库中其他三个微调transformer 模型的迁移攻击: ALBERT (Lan et al., 2019), RoBERTa (Liu et al., 2019), 和 XLNet (Yang et al., 2019)。对于这个实验,我们对每个目标模型使用相同的在 GPT-2 上优化的 Θ \Theta Θ。表 3 报告了我们在从 P Θ P_{\Theta} PΘ 中随机抽样多达 1000 次后攻击的性能。攻击性能与表 2 中针对 BERT 的迁移攻击相当,这意味着我们的对抗性分布 P Θ P_{\Theta} PΘ 能够捕获各种 Transformer 模型的常见故障模式。
Dataset transfer attacks 模型迁移攻击依赖于敌手可以访问目标模型的训练数据的假设。我们以数据集迁移攻击的形式放宽这个假设,其中只有目标模型的任务是已知的。具体来说,我们通过使用在一个数据集上训练的模型来优化 Θ \Theta Θ 并从 P Θ P_{\Theta} PΘ 中抽取多达 1000 个样本来攻击在 Yelp/IMDB 上训练的情感分类器,以攻击在其他数据集上训练的目标模型。
表 4 显示了针对不同目标模型架构的数据集传输攻击的结果。除了 GPT-2→BERT 的情况外,在优化 P Θ P_{\Theta} PΘ 时使用的模型和目标模型有相同的架构。在最后一个设置中,我们同时迁移模型和数据集。很明显,尽管无法访问目标模型的训练数据,但转移攻击仍然能成功。这一结果为对现实世界系统的攻击开辟了一条实用的途径,毕竟攻击者需要非常有限的目标模型知识去成功。
4.3 Analysis
Sample adversarial texts 表 5 显示了我们对文本进行对抗性攻击的示例。我们的方法对文本引入了最小的更改,保留了原始句子的大部分含义。尽管没有明确约束替换的单词具有相同的词性标签,但我们观察到我们的软惩罚使对抗性示例服从此约束。例如,在表 5 的第一个和最后一个示例中,“worry”被替换为“hell”和“no”,“variable”。
Effect of λ sim \lambda_{\text{sim}} λsim 图 2 显示了相似性约束对在AG News 上的 GPT-2 迁移攻击对抗准确性的影响。每个颜色对应一个不同的目标模型,而颜色阴影(从浅到暗)表示约束超参数的值: λ sim = 50 , 20 , 10 \lambda_{\text{sim}}=50,20,10 λsim=50,20,10。一个更高的 λ sim \lambda_{\text{sim}} λsim 降低了扰动的攻击性,但也增加了实现给定目标对抗准确度所需的查询数量。
Impact of the fluency constraint 表 6 显示了 GPT-2 在 AG News 上的对抗性示例,由有和没有流畅性约束生成。我们固定了除流畅性正则化常数 λ lm \lambda_{\text{lm}} λlm 之外的所有超参数,并在 Θ \Theta Θ 优化后从 P Θ P_{\Theta} PΘ 中采样成功的对抗性文本。很明显,流畅性约束促进了标记组合以形成有效的单词并确保对抗性文本的语法正确性。如果没有流畅性约束,对抗性文本往往包含无意义的单词。
Tokenization artifacts 我们的攻击完全作用于标记化的输入。但是,分类系统的输入通常是原始文本形式,然后在输入到模型之前对其进行标记化。因此,我们可以生成一个对抗性示例,即当被转换为原始文本时,不会被重新标记为同一组标记。
考虑这个例子:我们的对抗性示例包含标记“jui-”和“cy”,它解码为“juicy”,然后重新编码为“juic”和“y”。在实践中,我们观察到这些重新标记化伪影很少见:“标记错误率”约为 2%。此外,它们不会对对抗性的准确性产生太大影响:重新标记的示例实际上仍然是对抗性的。一个潜在的缓解策略是从 P Θ P_{\Theta} PΘ 重新采样,直到采样文本在重新标记化下是稳定的。请注意,我们所有的对抗性准确度结果都是在重新标记化后计算的。
Runtime 我们的方法依赖于白盒优化,因此需要前向和后向通过被攻击的模型、语言模型和相似性模型,与仅计算前向传递的黑盒攻击相比,这增加了每个查询时间。然而,这是通过更有效的优化来补偿的,该优化将总运行时间带到 20s 每个生成的示例,与 BERT-Attack (Li et al., 2020b) 等黑盒攻击相当。
Human evaluation 我们进一步对我们的攻击进行人工评估研究,以检查 GBDA 生成的对抗性文本在多大程度上真正难以察觉的。我们的界面如图 3 所示:我们展示了 Amazon Mechanical Turk 上的注释器,两个文本片段——一个没有修改,另一个是对抗性损坏的——注释器必须在不到 10 秒的时间内选择哪个是被破坏的。干净的文本是从 Yelp 中采样的,对抗性文本是使用我们的方法或 BAE 针对 BERT 生成的,这是我们最强的基线。为了确保注释的高质量,我们选择了批准超过 1000 次点击且批准率高于 98% 的注释者。注释本身之前附带三个必须正确分类的简单示例,以便注释者有资格完成任务。
平均超过 3000 个样本,注释者能够以 78.04% 检测 BAE 示例,而在 76.06% 的情况下检测我们的示例。该结果表明,虽然 GBDA 和 BAE 都产生了可检测的变化,但我们的方法略小于 BAE,但我们的攻击后模型精度显着降低:GBDA 为 4.7%,BAE 为 12.0%(cf.表 1 和表 2)。
5 Conclusion and Future Work
我们提出了 GBDA,这是一个针对文本 transformer 的基于梯度的白盒攻击框架。我们的方法通过利用一种新颖的对抗性分布公式克服了现有文本攻击文献中的许多特别约束和限制,允许端到端优化对抗性损失和梯度下降的流畅性约束。这使得我们的方法是通用的,并且可能适用于任何令牌序列预测模型。
Limitations GBDA 的一个明显限制是它仅针对令牌替换。事实上,我们使用 Gumbel-softmax 的对抗性分布公式并没有简单地扩展到令牌插入和删除。这种限制可能会对生成的对抗性示例的自然性产生不利影响。我们希望扩展我们的框架以在未来合并更广泛的令牌级更改。
此外,对抗性分布 P Θ P_{\Theta} PΘ 是高度过度参数化的。尽管大多数对抗性示例只需要几个标记更改,但分布参数 Θ \Theta Θ 的大小为 n × V n×V n×V ,这对于较长的句子尤其过度。未来的工作可能能够在不影响攻击性能的情况下减少参数的数量。