赞
踩
转自 BAAI AI科技评论
文本对抗攻击的分类
图像领域对抗攻击及其防御已被大规模研究(据粗略统计CVPR 2020有超过60篇相关论文),文本领域对抗攻击的研究近两年才逐渐受到关注。现有的文本对抗攻击可以从以下三个维度进行分类: (1) 指向性 使受害模型给出指定的错误判断的攻击称为指向性攻击(Targeted Attack),例如使文本分类模型在处理对抗样本时均给出某一特定类的判断;相应地非指向性攻击(Untargeted Attack)则只要求对抗样本使模型判断出错即可。 (2) 受害模型可见性 对抗攻击中,攻击者对受害模型所知多少大有不同。 最理想的情况是攻击者完全掌握受害模型,可以调用受害模型来获取其相对于某一给定输入的输出结果并且知道其内部的所有参数。在这种情况下,攻击者往往可以利用类似梯度下降的优化方法来调整扰动进而产生对抗样本。这样的设定称为白盒(White-Box)设定,相应的对抗攻击被称为基于梯度的攻击(Gradient-Based Attack)。 和白盒设定相对的是黑盒(Black-Box)设定,在这种设定下,攻击者无法得知受害模型的内部结构及参数,仅仅可以调用受害模型来获取其相对于给定输入的输出结果。根据输出结果的类型,黑盒攻击可以细分为基于分数(Score-Based)和基于决定(Decision-Based)的攻击——前者可以得知受害模型最终的输出分数(如分类模型的各类的概率),后者只能知道受害模型给出的判断结果(如分类模型给出的类别)。 此外,攻击者甚至可能无法调用受害模型,在没有任何关于受害模型信息的情况下进行攻击。这种攻击被称为盲攻击(Blind Attack)。 纵观以上四种不同的攻击,基于梯度的攻击对受害模型可见性要求太高,真实的攻击场景中往往并不可行;盲攻击由于已知信息太少,攻击效果往往很差;相比之下,基于分数和基于决定的攻击既符合真实的攻击设定又有足够的已知信息来有效进行攻击,因此目前大多数文本对抗攻击是这两种类型,尤其是基于分数的攻击。 (3) 扰动粒度 对抗攻击还可以从扰动产生的粒度分为句级、词级以及字级攻击。 句级攻击将整句原始输入视作扰动的对象,意图产生一个和原始输入语义相同(至少针对当前任务的真实标签不改变)但却使得受害模型判断改变的对抗样本。常用的句级攻击方法包括改述(Paraphrasing)[4,5]、编码后重新解码[6]、添加无关句子[7]等。 词级攻击扰动的对象是原始输入中的词,最主要方法为词替换。替换词的选择有多种多样,包括基于词向量相似度[8,9]、同义词[10]、义原[11]、语言模型分数[12]等词替换方法。此外也有研究尝试添加或删除词[13],但是这样做往往会影响所生成的对抗样本的语法性、通顺性。 字级攻击主要对原始输入中的字符进行扰动,常用的方法包括字符的添加、删除、替换、交换顺序等,具体到字替换而言,有随机替换[14]、基于One-Hot编码的字替换[15]以及基于字形相似的替换[16]等。 此外,有的攻击方法也会同时进行词级和字级扰动[17]。 对比以上三种不同粒度的扰动,句级的扰动往往使得对抗样本和原始输入之间有巨大的差别,很难控制所产生的对抗样本的质量,更无法保证其有效性(即具有和原始输入相同的真实标签),而且从实验结果看攻击效果也比较一般;字级扰动所产生的对抗样本质量往往很差,大概率会破坏其语法性,造成对抗样本不可读,尽管攻击成功率较高,但是目前有一些基于语法纠错的防御方法可以很好地应对字级的攻击[18]。 相比之下,词级攻击在对抗样本质量和有效性控制以及攻击成功率方面有更好的表现。就对抗样本质量和有效性控制而言,一般对一句话中某些词进行同义替换很难改变这句话的语义,再加上利用语言模型进行控制,所产生的对抗样本的通顺性、流畅性也更容易保证。就攻击成功率而言,白盒设定下基于梯度的攻击方法往往可以最快地找到合适的被替换词和替换词,一般而言有较高的攻击成功率;即使在黑盒设定下,现有的词级攻击方法利用受害模型的反馈(即针对一次词级扰动后产生的准对抗样本的输出),迭代地进行词替换操作,最终也有较高的攻击成功率。例如,目前最先进的基于义原+离散粒子群优化的词级攻击在IMDB数据集上攻击BiLSTM时可以达到100%的成功率[11]。 接下来,我们对现有的词级文本对抗攻击进行简单的梳理。 2词级别文本对抗攻击
[11]提出,词级文本对抗攻击本质上是一个组合优化(Combinatorial Optimization)问题。 所谓组合优化就是在有限个可行解的集合中找出最优解的优化问题。对于词级文本对抗攻击,在词表有限的情况下,词级扰动也是有限的,而攻击的目标则是找出一个能够成功攻击受害模型的对抗样本——即最优解。当然,成功攻击受害模型的对抗样本可能不止一个,一般而言找到一个即可结束。 [11]进一步提出词级文本对抗攻击这个组合优化问题可以拆解为两步:(1)搜索空间缩减;(2)对抗样本搜索。 所谓搜索空间缩减,本质上其实就是确定原始输入中每个词的候选替换词集合,每个位置的候选替换词加上原始词构成的集合的组合张成了一个离散的空间——每个位置对应空间的一个维度,每个位置的候选替换词+原始词的集合为该维的可行集。例如,图3中原始输入“I love this movie”有4个词,则对应的对抗样本搜索空间为4维,第一维对应第一个词“I”,因其没有候选替换词,所以该维仅有1个可行点;第二维对应第二个词“love”,有“like”和“enjoy”2个候选替换词,所以该维一共3个可行点……以此类推可以得到“I love this movie”的对抗样本搜索空间。这一步之所以称为“对抗样本缩减”,是考虑到有些对抗攻击方法根本不确定每个词的候选替换词集,而是将整个词表的所有词视作潜在的可选替换词。 第(2)步则是在第(1)步得到的缩减后的离散组合空间中搜索可以成功攻击受害模型的对抗样本。文本对抗攻击相关资源
1. 文本对抗攻击阅读列表 清华大学自然语言处理与社会人文计算实验室(THUNLP)建立的TAADpapers(https://github.com/thunlp/TAADpapers)是不可多得的全面、系统的文本对抗领域的阅读列表。该列表包含工具包、综述、文本对抗攻击、文本对抗防御、模型鲁棒性验证、基准和评估、其他六个部分,基本上涵盖了所有的文本对抗攻防领域的已发表论文。其中攻击部分的论文进一步分成了句级、词级、字级、混合四个子部分,并且还为每篇论文打上了受害模型可见性的标签:gradient/score/decision/blind。除了提供论文pdf链接之外,如果某篇论文有公开代码或数据,也会附上相应的链接。目前该列表共有65篇论文。Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。