0%

HQA-Attack_ Toward High Quality Black-Box Hard-Label Adversarial Attack on Text

Summary:
Black-box hard-label adversarial attack on text is a practical and challenging task, as the text data space is inherently discrete and non-differentiable, and only the predicted label is accessible. Research on this problem is still in the embryonic stage and only a few methods are available. Nevertheless, existing methods rely on the complex heuristic algorithm or unreliable gradient estimation strategy, which probably fall into the local optimum and inevitably consume numerous queries, thus are difficult to craft satisfactory adversarial examples with high semantic similarity and low perturbation rate in a limited query budget. To alleviate above issues, we propose a simple yet effective framework to generate high quality textual adversarial examples under the black-box hard-label attack scenarios, named HQA-Attack. Specifically, after initializing an adversarial example randomly, HQA-attack first constantly substitutes original words back as many as possible, thus shrinking the perturbation rate. Then it leverages the synonym set of the remaining changed words to further optimize the adversarial example with the direction which can improve the semantic similarity and satisfy the adversarial condition simultaneously. In addition, during the optimizing procedure, it searches a transition synonym word for each changed word, thus avoiding traversing the whole synonym set and reducing the query number to some extent. Extensive experimental results on five text classification datasets, three natural language inference datasets and two real-world APIs have shown that the proposed HQA-Attack method outperforms other strong baselines significantly.

Background:
深度神经网络(DNN)已经取得了巨大的成功,并且在以下领域非常受欢迎:各个领域,例如计算机视觉,自然语言处理,机器人技术等等。 尽管 DNN 模型取得了令人鼓舞的性能,但仍存在一些问题对其鲁棒性的担忧,因为有证据表明,即使是对输入的轻微扰动数据可以欺骗这些模型,使其产生错误的预测,这些令人不安的示例被命名为对抗性示例。 调查对抗性背后的生成原理例子似乎是提高神经网络鲁棒性的一种有前途的方法,这激励了关于对抗性攻击的研究。 大多数现有的对抗性攻击方法都集中在计算机上愿景并已得到充分探索。 然而,对文本数据的对抗性攻击是仍然具有挑战性,因为不仅文本数据空间本质上是离散且不可微的,而且另外稍微改变一下单词也可能会影响语法的流畅性和语义的一致性严重地。
基于受害者模型的可访问性级别,现有的文本对抗攻击方法可以被归类为白盒攻击和黑盒攻击。 对于白盒攻击时,假设攻击者拥有有关受害者模型的完整信息,包括训练数据、模型架构和参数。 因此,很容易将这种类型的攻击表述为优化问题并利用梯度信息生成对抗性示例。 然而,由于大多数模型开发者不可能公开所有的模型和数据信息,白盒攻击似乎过于理想化,在现实应用中无法很好地发挥作用。 对于黑匣子攻击时,假设攻击者只能访问预测结果,例如置信度分数或预测标签,这看起来更现实。 现有的黑盒文本攻击方法可以分为软标签设置和硬标签设置。 对于软标签方法,他们要求受害者模型提供置信度分数来计算每个问题的重要性单词,然后依次替换单词,直到生成对抗性示例。 然而,它是也不切实际,因为大多数真实的 API 不允许用访问置信度分数。 对于硬标签方法,他们只需要知道受害者模型的预测标签即可完成攻击任务,因而更具有实用性和前景。

仅提出了少数几种方法处理黑盒硬标签文本广告对抗攻击任务,主要依靠基于启发式的或基于梯度的策略。 具体来说,HLGA是第一种硬标签对抗攻击方法,利用基于群体的启发式优化算法来制作合理且语义相似的对抗性示例。 然而,作为需要大量的对抗性可预测群体,基于群体的优化策略很容易陷入局部最优,HLGA不可避免地会消耗大量的查询次数。TextHoaxer将文本数据上的预算硬标签对抗性攻击任务制定为连续词嵌入中扰动矩阵的梯度优化问题空间。 LeapAttack通过设计一种可以互换离散替换和连续向量的新颖机制来利用基于梯度的优化。 虽然这些基于梯度的方法在一定程度上提高了查询效率,但仍然需要一些不必要的查询梯度估计不准确造成的。 此外,在预算紧张的场景下,查询效率低下会直接对语义相似度和扰动率带来严重的副作用。

Contributions:
为了缓解上述问题,我们提出了一个简单而有效的框架来产生高高质量黑盒硬标签对抗攻击,称为 HQA-Attack。 HQAAttack的概述如图1所示。“高质量”是指HQA-Attack方法可以生成在严格查询下具有高语义相似性和低扰动率的对抗性示例预算。 具体来说,HQA-Attck首先通过初始化生成对抗样本,然后依次将尽可能多的原始单词替换回去,从而缩小扰动率。最后,它利用同义词集进一步优化对抗性示例,方向为可以提高语义相似度并同时满足对抗条件。 此外,为了避免遍历同义词集,它会为每个更改的单词找到一个过渡同义词,从而在一定程度上减少了查询次数。 八个公共基准的实验结果数据集和两个真实的API(谷歌云和阿里云)证明HQA Attack在语义相似度和扰动率方面比其他强基线表现更好在相同的查询预算下。

Method:
软标签设置中的对抗性攻击依赖于所有类别的概率分布生成对抗性例子。 一系列策略利用贪心算法制作对抗性示例,首先确定单词替换顺序并贪婪地替换在此顺序下的每个单词。 TextFooler首先根据删除每个单词后的预测变化,然后根据单词重要性,直到生成对抗性示例。 类似地,TextBugger计算通过比较预测分别得出句子的重要性和单词的重要性移除它们之前和之后。 此外,还有一些方法使用组合生成对抗性示例的优化算法。
硬标签设置中的对抗性攻击只允许访问预测的标签,这看起来更具有挑战性和实用性。 HLGA是第一个硬标签文本对抗攻击方法。 它用随机初始化和搜索空间缩减以获得初期的对抗性示例,然后使用遗传算法包括变异、选择和交叉三种操作进一步优化对抗性的例子。 虽然 HLGA 可以生成具有高语义的对抗性示例与原始示例相似且扰动率低,需要维持较大的候选每次迭代都会设置,这会浪费大量的查询。 为了缓解这个问题,TextHoaxer使用词嵌入空间来表示文本,并引入扰动矩阵和新颖的目标函数由语义相似项、成对扰动约束组成和稀疏约束。 通过使用基于梯度的策略来优化扰动矩阵,TextHoaxer 可以在紧张的预算内生成适当的对抗性示例。 LeapAttack 是另一种基于梯度的方法。 随机初始化后,它通过以下方式优化对抗性示例不断地将示例移近决策边界,估计梯度并找到更新对抗性例子的正确词语。 在附录 K 中,我们进一步讨论了一些潜在的硬标签文本对抗攻击的应用场景。
在本文中,我们关注黑盒硬标签文本对抗攻击,即攻击者只能从受害者模型中获取预测的标签来生成对抗的例子。具体来说,给出了一个原始的例子image.png有地面真实标签,其中是第个单词,中的单词总数。本任务旨在建立一个敌对的例子image.png。通过将包含本身的同义词集中的同义词替换为原始词,从而误导受害者模型输出一个不正确的预测结果:

其中,等式(1)可以看作是对抗性的情况。可能存在几个对抗性的例子可以满足等式(1),但最优的对抗性例子x˚是在所有候选样本中与原始例子x语义相似性最高的例子。正式地,

其中,是和之间的语义相似性。表1详细总结了符号说明。

为了完成黑盒硬标签文本对抗攻击任务,我们遵循以前的工作首先利用随机初始化来生成对抗性示例。 具体来说,考虑原始示例中词性 (POS) 为名词、动词、副词和形容词的每个单词 ,我们随机选择一个同义词来自 的同义词集 作为 的替换,和重复此过程,直到生成对抗性示例 满足对抗条件。显然,使用随机初始化来生成对抗样本通常需要改变原始示例中存在多个单词,因此必然导致语义相似度较低扰动率大。 为了缓解上述问题,我们尝试在第次迭代中迭代优化原始例和对抗性例之间的语义相似性,其中和为迭代总数。
为了提高生成的对抗样本的语义相似度,之前的工作首先以每个原词带来的语义相似度提升作为衡量标准决定替换顺序,然后在每次迭代中不断放回原来的单词。 它意味着在每次迭代中,通过遍历对抗性示例中的每个单词,语义相似度改进只计算一次,并且替换顺序是预先确定的。然而,用原始单词进行每次替换都会改变生成的中间结果对抗性示例,从而影响原始示例和示例之间的语义相似度中间生成对抗性示例,因此只需计算语义相似度改进在每次迭代开始时确定替换顺序不准确。
针对上述问题,我们建议不断地替换原词,这样可以使中间生成的对抗样本与原始示例,直到违反对抗条件。具体来说,给定第t次迭代中的原始样本和对抗性例子,我们可以用以下步骤替换原始单词。
1.从中挑选出一个合适的替换词,公式如下:

其中,是和之间的语义相似度,是用替换对应的单词得到的例子。是一个二值函数,定义为:

其中,为受害者模型。如果,则等于1,否则为0。
2.如果,则表示可以成功攻击。我们用中对应的原始单词替换为,并重复上述步骤。
3.如果,则表示不能满足对抗性条件。我们终止交换过程,并返回上一步的结果。
经过上述过程,我们可以得到一个新的对抗样本可以保留原来的尽可能多的单词,从而提高语义相似度并降低扰动率。算法流程如附录A所示,计算复杂度和分析查询编号见附录C.1。
为了进一步提高生成的对抗样本的质量,我们优化了对抗样本例如,利用每个单词的同义词集。 有人可能会说我们可以直接遍历同义词集合寻找语义相似度最高的最理想同义词词并同时满足对抗条件。 然而,在大多数实际应用中场景下,查询数量通常是有限的。 为了避免遍历同义词集,我们建议通过以下两个步骤优化对抗性示例。 (1) 确定优化方案命令; (2)依次更新对抗样本。 计算复杂度分析查询编号见附录C.2。
在这一步中,我们的目标是确定一个合适的优化顺序。为了保证生成的对抗性实例的多样性,我们利用抽样方法来确定优化顺序。抽样方法所使用的概率分布如下。对于中的和中的,我们首先使用反拟合的词向量[29]得到它们对应的词向量,并计算它们之间的余弦距离如下:

其中,和分别表示和的单词向量。是余弦相似度函数。然后我们用以下公式计算与在中的位置相关的概率:

其中,是在和之间改变的单词的总数。根据概率分布,我们可以得到的优化顺序。
根据优化顺序,我们用同义词集按顺序更新对抗性示例。特别是,对于第t次迭代中的对抗性示例,我们用以下步骤来更新它。(1)查找过渡词;(2)估计更新方向;(3)更新对抗性示例。
**找到过渡词:**这一步的目的是搜索一个合理的过渡词,从而避免遍历每个更改的单词的同义词集。给定敌对的例子和当前优化单,我们随机选择同义词构造设置,使用每个元素替换和,然后获得过渡词与以下公式:

其中是用替换中相应的单词得到的例子。根据等式(7),我们可以得到,可以使示例具有对抗性,并在一定程度上提高语义相似性,同时避免通过同义词集。此外,我们还可以在过渡词周围搜索其他可能的替换词。
估计更新的方向:由于过渡词来源于一个随机生成的同义词集,我们可以以一个合理的方向进一步优化它。具体来说,我们首先通过从中随机抽样个同义词来生成集合,然后获得设置,其中是用替换z中的例子。通过计算每个元素之间的语义相似度O和原始文本x,我们可以得到集,其中是x和之间的语义相似性。以类似的方式,x和旋转之间的语义相似度可以通过来计算。
直观地说,如果,则表示将单词向量推向会增加语义相似度,即是可以提高语义相似度的方向。如果,沿单词向量的逆方向移动单词向量可以提高语义相似性。基于上述直觉,我们通过对k个可能方向的加权平均来估计最终的更新方向u。正式地,

其中是与方向相关的对应权重,它可以用来计算。
更新对抗性的示例:由于文本数据的离散性质,我们需要使用更新方向u从挑选出相应的替换词,是最大余弦相似度u和和确保满足对抗的条件。得到后,我们可以按优化顺序生成。此外,为了减少查询次数和减少扰动率,在实现程序时,我们首先使用x初始化,然后将单词逐个替换,直到满足对抗条件。
HQA-Attack的详细算法流程在附录B中给出。特别地,HQA-Attack首先通过随机初始化获得初始对抗样本。 然后进入主循环。 在每次迭代,HQA-Attack首先将原始单词替换回去,然后确定优化顺序,最后依次更新对抗样本。 另外,我们还提供了一些机制附录D中从决策边界角度分析HQA-Attack。
Experiments:
数据集:我们在五个公共文本分类数据集先生,AG的News,Yahoo,Yelp,IMDB,以及三个自然语言推理数据集SNLI,MNLI,mMNLI上进行了实验。详细的数据集描述见附录e。我们按照之前的方法,对每个数据集取1000个测试示例进行实验。
基线:我们比较了三种最先进的黑盒硬标签文本对抗性攻击方法: (1) HLGA是一种利用遗传算法生成对抗性例子的硬标签对抗性攻击方法。(2)文本Hoaxer是一种硬标签对抗攻击方法,将文本数据的预算硬标签对抗攻击任务定义为连续词嵌入空间中扰动矩阵的梯度优化问题。(3)跳跃攻击是一种最近的硬标签对抗性攻击方法,它通过蒙特卡罗方法来估计梯度。
评估指标: 我们使用两个广泛使用的评估指标语义相似性和扰动速度。 对于语义相似度,我们利用通用序列编码器[4]来计算语义两个文本之间的相似性。 语义相似度的范围在r0,1s之间,较大者语义相似度表明攻击性能更好。 对于扰动率,我们使用对抗性示例中更改的单词数与总单词数的比率,以及扰动率越低表明结果越好。
受害者模型:我们采用三种广泛使用的自然语言处理模型作为受害者模型: BERT 、WordCNN和WordLSTM。所有的模型参数都取自之前的作品。我们还攻击了一些高级模型,如T5和DeBERT,结果见附录f。为了进一步验证不同算法在实际应用中的有效性,我们还尝试使用谷歌云API(https://cloud.google.com/natural-language)和阿里巴巴云API(https://ai.aliyun.com/nlp)作为受害者模型。
实施细节:对于随机初始化,我们采用了与以前的方法相同的方法。在初始化之后,我们按照来执行一个预处理步骤,以删除不必要的替换词。对于超参数,我们始终为所有数据集设置r=5和k=5。我们的详细参数调查见附录g。此外,在优化过程中,如果我们对相同的敌对例子重新优化三次,并且没有生成新的更好的敌对例子,我们随机回到最后三到四个敌对的例子。我们不会重新优化一个敌对的例子超过两次。为了进行公平的比较,我们通过使用反拟合词向量为每个单词生成50个同义词。我们还进行了基于基于bert的同义词的实验,结果见附录H。
我们完全按照前面的工作,将查询预算设置为1000,即攻击者允许的查询数量为1000。由于不同的算法使用相同的随机初始化步骤来决定对抗性攻击后的预测精度,因此不同的算法具有相同的预测精度。我们的目标是生成具有较高语义相似度和较低扰动率的对抗性例子。表2和表3报告了在攻击文本分类模型时的实验结果。最好的结果用粗体突出显示。
如表2和表3所示,当查询限制为1000时,对于不同的数据集和任务,HQAAttack总是可以生成具有最高语义相似度和最低扰动率的对抗性示例。具体来说,对于具有短文本数据的数据集,HQA-Attack在攻击BERT、WordLSTM时,平均语义相似度分别提高了6.9%、6.5%、6.9%,平均扰动率降低了0.777%、0.832%、0.983%。对于长文本数据的数据集IMDB,HQA-Attath与攻击BERT、WordCNN和WordLSTM相比,平均语义相似度分别提高了4.5%、3.4%、2.7%,平均扰动率降低了1.426%、0.601%、0.823%。对于AG等两个以上类别的数据集,HQA-Attack在攻击BERT、WordCNN和WordLSTM时,比第二最佳方法的平均语义相似度分别提高了10.6%、8.8%、11.6%,平均扰动率降低了4.785%、3.885%、5.237%。这些结果表明,HQA-攻击可以产生高质量的对抗性攻击。
攻击效率是评估攻击性能的一个重要标准,因为在大多数基于DNN的NLP平台中,查询的数量是有限的。因此,我们进一步比较了所提出的HQA攻击在不同查询预算r100、300、500、700、700、1000s下的两种最新方法。如图2所示,随着查询预算的增加,所有方法的平均语义相似度都在不断增加,而所有方法的平均扰动率都在不断下降。在语义相似度和扰动率方面,HQA-Attack在所有预算中都表现得远远优于其他方法。这些结果进一步验证了我们提出的HQA-Attack能够在不同的预算限制下生成具有较高语义相似性和较低扰动率的对抗性例子。


为了进一步验证不同算法的有效性,我们尝试使用文本攻击器、跳跃攻击和HQA-攻击来攻击两个真实世界的api:谷歌云(https://cloud.google.com/naturallanguage)和阿里巴巴云(https://ai.aliyun.com/nlp)。为了进一步评估生成的对抗性例子的流畅性,我们添加了困惑度(PPL)作为额外的评估度量,通过使用GPT-2 Large [31]计算。PPL越低,说明性能越好。由于谷歌和阿里巴巴只提供有限的服务预算,我们从Mr数据集中选择100个长度大于或等于20个单词的示例进行实验,并限制每种方法只能查询API 350次。表4显示了文本攻击器、跳跃攻击和HQA-攻击的结果。可以看出,与第二优结果相比,HQA-Attack分别提高了谷歌云和阿里云的语义相似度5.7%、5.1%,降低了0.062%、0.007%和PPL 9、6。我们还比较了文本攻击器、跳跃攻击和HQA-攻击在不同预算限制下的性能。结果如图3所示。我们可以得到,HQA-Attack在大多数情况下可以具有较高的语义相似度和较低的扰动率,这进一步证明了HQA-Attack优于其他基线。




我们利用Mr和IMDB数据集和HQA攻击数据集对Bert模型进行了人体评估实验。具体来说,对于每个数据集,我们首先随机选择50个原始样本,并使用每种对抗性攻击方法分别生成相应的50个对抗性示例。然后我们让10名志愿者注释这些样本标注类标签,并计算每种方法的平均分类精度(Acc)。直观地说,如果精度更高,这意味着生成的对抗性例子的质量更好。详细的Acc(%)结果如表5所示。结果表明,由HQA-Attack生成的对抗性实例更容易被正确分类,进一步验证了HQA-Attack在保留语义信息方面的优越性。
随着人工智能安全的发展,很多工作都集中在对抗性防御上攻击。 我们进一步比较了受害者模型用三种方法训练时的攻击性能有效的对抗训练策略 HotFlip 、SHIELD 和 DNE。 我们选择BERT模型作为受害者模型,将查询预算设置为1000,然后在AG 数据集。 我们还使用困惑度(PPL)作为附加评估指标来判断生成的对抗性示例的流畅性。 表6显示了攻击性能。 我们可以观察到与其他强基线相比,HQA-Attack 也可以获得最好的结果。<br /

为了研究不同成分的有效性,我们对五个文本进行了消融研究攻击WordCNN 时的分类数据集。 结果如表7所示。随机初始化是指仅通过随机初始化步骤生成的对抗样本。 不带/不带替换是指HQA-Attack模型无需替换原词后退一步。w/o Optimizing 意味着 HQA-Attack 模型随机选择一个可以保持示例对抗性作为替换,在不优化的情况下将原始单词替换回去对抗性的例子。 很容易发现所有模块都对模型有贡献,这验证了替换原始单词的后退步骤很有用,优化对抗性示例步骤是也是不可或缺的。 为了进一步证明我们提出的单词回替换的有效性我们在附录 I 中添加了一些额外的实验。我们还列出了 HQA-Attack 生成的一些具体对抗示例,如附录 J 所示。这些示例进一步证明了我们提出的 HQA-Attack 模型可以生成高质量的黑盒硬标签对抗模型仅具有小扰动的示例。

Conclusion:
在本文中,我们提出了一种名为HQA-Attack的新方法,以在黑盒硬标签设置中制作高质量的文本对抗性示例。HQAAttack通过替换原词,可以大大降低扰动率。HQA-Attack利用剩余更改词的同义词集对对抗性示例进行优化,可以提高语义相似度,减少查询预算。大量的实验结果表明,所提出的HQA-Attack方法能够生成具有高语义相似度、低扰动率、较少查询数的高质量对抗性实例。在未来的工作中,我们计划尝试更多的优化策略来完善模型,从而进一步提高文本对抗性攻击的性能。