背景:
Deep Learning-based Text Understanding (DLTU)简介:
基于深度学习的文本理解(DLTU)广泛运用于问答、机器翻译和文本分类,情感分析(eg 电影评论分类)、有害内容检测(讽刺、讽刺、侮辱、骚扰和辱骂内容)等安全敏感应用中。
DLTU天生容易受到对抗性文本攻击,在对抗性文本攻击中,恶意制作的文本会触发目标DLTU系统和服务行为不当。
本文的target:
提出TEXTBUGGER,一种用于生成对抗性文本(对抗攻击,是一种攻击,不是对攻击进行对抗)的通用攻击框架。并且本文进一步讨论了缓解此类攻击的可能防御机制以及攻击者的潜在对策,为进一步的研究指明了方向。
过往技术的局限性:
现有的对抗样本研究工作主要在图像领域,特别在图像分类领域成功率很高,扰动通常可以使人类的感知几乎无法察觉。文本领域的对抗攻击会更加复杂,在文本领域,微小的扰动通常是清晰可见的,替换单个单词可能会彻底改变句子的语义。现有的针对图像的攻击算法不能直接应用于文本,需要研究新的攻击技术和相应的防御方法。
过往的生成对抗文本机制:
通过用词汇表外的单词替换单词来生成对抗性文本
局限性 :(i)计算效率不高,(ii)它们是在白盒环境下设计的,(iii)它们需要人工干预,和/或(iv)它们针对特定的NLP模型设计的,没有进行全面评估。
常见对机器学习模型的攻击:
·causative attacks: manipulate the training data to mislead the classfier
·exploratory attacks:craft malicious testing instances (adversarial examples) so as to
evade a given classifier.
本文的TEXTBUGGER算法原理:
·TEXTBUGGER可以在白盒和黑盒设置下有效和高效地生成保留效用(即对人类读者保持其原始含义)的对抗文本的框架。
· 我们要对抗攻击一个分类器,这个分类器是一个文本分类器,我们的目的是要干扰它,让他生成一个错误的分类结果。
·下面的白盒和黑盒攻击最大的不同是因为黑盒攻击,我们无法得知分类器的内部结构,在计算单词重要性的时候,在不知道分类模型参数和结构,我们要克服这个困难,所以在白盒的算法上我们的黑盒算法做了变化。
1.白盒算法
·通过计算分类器的雅可比矩阵找到重要的单词
注:x为给定文本x = (x1, x2, · · · , xN ),N表示输入文本中的单词总数,xi是单词i th(第i个单词) ,j 为1.....k, k为分类器预测的类别总数
·bug生成
我们要求生成的对抗句子在视觉和语义上与原始句子相似,以便人类理解。因此,我们考虑了两种扰动
·字符级扰动
如果我们故意拼错了重要的单词,我们可以很容易地将这些重要的单词转换为“未知”(即不在字典中的单词)。在深度学习建模中,未登录的单词将被映射到“未知”的嵌入向量,这种简单的策略可以有效地迫使文本分类模型表现错误。
·单词级的扰动
通过在嵌入空间中搜索最近邻得到的几个单词,替换后可以愚弄分类器。并且,我们发现在一些词嵌入模型(如word2vec)中,语义相反的词(如“最差”和“更好”)在文本中具有高度的语法相似度,因此“更好”将被认为是“最差”的最近邻居。然而,将‘worst ‘改为‘better ‘将完全改变输入文本的情感。
·TEXTBUGGER提出了5种bug生成方法: (1)插入:在单词3中插入一个空格。一般来说,英语中的单词是用空格分割的。因此,我们可以通过在单词中插入空格来欺骗分类器。(2)删除:随机删除除单词的首尾字符外的一个字符。(3)交换:随机交换单词中相邻的两个字母,但不改变第一个或最后一个字母4。这在快速输入时很常见,而且很容易实现。(4) substitution - c (SubC):用视觉上相似的字符替换(例如,用‘0 ‘替换‘o ‘,用‘1‘替换‘l ‘,用‘@ ‘替换‘a ‘)或键盘上相邻的字符(例如,用‘n‘替换‘m ‘)。(5) Substitute-W (Sub-W):在上下文感知的词向量空间中,将一个词替换为其近邻topk。在Table I中给出了几个替代示例。
·根据置信度的变化情况选择最优的bug
即选择对真实类置信度降低幅度最大的bug。
·判断
我们将单词替换为最优bug以获得新的文本x ′ 。如果分类器给新文本一个不同的标签(即:Fl(x ′ ) = y),同时保留语义相似度,就找到了对抗性文本。如果没有,我们重复上面的步骤来替换下一个单词 直到我们找到解决方案或无法找到保持语义的对抗样本。
2.黑盒算法
注:与白盒攻击中我们可以直接基于梯度信息选择重要单词不同,在黑盒攻击中,我们首先找到重要的句子,然后找到其中的重要单词
·找出重要的句子
设输入文档x = (s1, s2, · · · , sn),其中si表示位于i th位置的句子。
我们使用spaCy库5将每个文档分割为句子。然后,我们过滤掉与原始文档标签具有不同预测标签的句子(即,过滤掉Fl(si) = y)。然后,根据重要句子的重要性得分进行倒序排序; 句子si的重要性分数用预测类别Fy的置信度表示,即Csi = Fy(si)。
·找到重要单词
使用评分函数来确定每个单词对于分类结果的重要性(能够在不知道分类模型参数和结构的情况下计算单词得分,并根据其得分对单词进行排序。直接衡量删除i th单词的效果,因为比较删除单词前后的预测可以反映出该单词如何影响分类结果
Cwj =Fy(w1, w2, · · ·, wm) −Fy(w1, · · ·, wj−1, wj+1, · · ·, wm)
每个单词的贡献度是新的置信度分数与原始置信度分数之间的差。
·选择bug
这一步与白盒设置中的步骤类似。
利用bug选择算法对已选词进行修改。
研究本文提出的方法在情感分析中的效用:
情感分析是指使用NLP、统计学或机器学习方法来提取、识别或描述文本单元的情感内容。它被广泛应用于通过监测在线对话来帮助企业了解其产品或服务的社会情绪。
研究本文提出的方法在有毒内容检测中的效用:略
本文提出的对么TEXTBUGGER的潜在防御方法:
·拼写检查(SC):
使用了微软Azure11提供的上下文感知拼写检查服务,纠正了拼写错误的单词。但TEXTBUGGER在纠正了拼写错误的单词后,在多个在线平台上的成功率仍然高于DeepWordBug。因为5种bug,最 容 易 纠 正 的 错 误 分 别是IMDB和Kaggle的插入和删除。最难修正的bug是Sub-W(临近替换为一个正确的单词,单词纠正无法发挥作用)。
·对抗性训练(AT):
是指用生成的对抗样本训练模型,该方法可以提高机器学习模型对对抗样本的鲁棒性
攻击者可以改进的方法:
法1:攻击者可以增加Sub-W的比例,因为它几乎无法通过拼写检查来纠正。
法2:攻击者可以调整不同平台间不同策略的比例。例如,当攻
击者针对Perspective和Aylien API时,可以增加Kaggle数据
集上的交换(swap)比例,因为只有不到40%的交换修改被纠正
法3:攻击者还可以保持对抗攻击策略的私密性,并经常改变攻击参数以规避防御。
conclusion:
研究了在白盒和黑盒设置下针对最先进的情感分析和有毒内容检测模型/平台的对抗性攻击。广泛的实验结果表明,TEXTBUGGER对于生成有针对性的对抗性NLP是有效和高效的。这些例子的可迁移性暗示了许多实际应用中的潜在漏洞,包括文本过滤系统(例如,种族主义、色情、恐怖主义和骚乱)、在线推荐系统等。研究结果还表明,拼写检查和对抗性训练在防御此类攻击方面具有可能性可以进一步探索基于语言或结构感知的防御系统集成,以提高鲁棒性。文章来源:https://www.toymoban.com/news/detail-815778.html
文章来源地址https://www.toymoban.com/news/detail-815778.html
到了这里,关于论文阅读- 人工智能安全 TEXTBUGGER: Generating Adversarial Text Against Real-world Applications的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!