ACL2018俄勒冈大学HotFlip文本分类的白盒对抗样本


你和“懂AI”之间,只差了一篇论文


很多读者给芯君后台留言,说看多了相对简单的AI科普和AI方法论,想看点有深度、有厚度、有眼界……以及重口味的专业论文。


为此,在多位AI领域的专家学者的帮助下,我们解读翻译了一组顶会论文。每一篇论文翻译校对完成,芯君和编辑部的老师们都会一起笑到崩溃,当然有的论文我们看得抱头痛哭。


同学们现在看不看得懂没关系,但芯君敢保证,你终有一天会因此爱上一个AI的新世界。


读芯术读者论文交流群,请加小编微信号:zhizhizhuji。等你。


这是读芯术解读的第97篇论文




ACL 2018 Short Papers

HotFlip:文本分类的白盒对抗样本

HotFlip: White-Box Adversarial Examples for Text Classification

美国俄勒冈大学

University of Oregon

本文是美国俄勒冈大学发表于 ACL 2018 的工作,文章提出了一个有效的方法来生成白盒对抗样本,欺骗字符级神经网络分类器。此方法依赖于原子翻转操作,它基于one-hot输入向量的梯度将一个token交换为另一个。由于该方法效率较高,我们可以在测试时执行对抗训练,使模型在应对攻击时更加稳定。通过证明,使用一些语义保存限制条件,HotFlip也可以用于攻击词语级分类器。

1 引言

对抗样本是预测性机器学习模型的输入,这些模型由于其恶意设计导致性能不佳。对抗样本揭露了输入空间中模型表现不佳的区域,有助于理解和改进模型。通过使用这些样本作为训练数据,对抗性训练学习到了更健壮的模型,甚至可以在非对抗样本上执行得更好。关于NLP系统漏洞的研究越来越多。以前的工作集中在在黑盒设置中创建对抗样本的启发式方法上,而没有任何模型参数的明确知识。在白盒设置中,我们使用模型的完整知识来开发最坏情况下的攻击,这可以揭示更大的漏洞。

带有单个字符改变的对抗样本,会被神经网络分类器错误分类,示例如下表。


全文主要的贡献点如下:

  1. 提出了一种高效的梯度优化方法在one-hot表示下处理离散文本结构。

  2. 通过研究分类器对攻击的适应性和对干净测试数据的准确性,调查用对抗样本训练的分类器的鲁棒性。

2 模型

HotFlip是一种用于生成具有字符替换(“翻转”)的对抗样本的方法。Hot-Flip通过将它们表示为字符替换的序列, 还支持插入和删除操作。它使用相对于one-hot输入表示的梯度来有效地估计哪个个体变化具有最高的估计损失,并且使用beam search来寻找一组能够很好地协同工作以混淆分类器的操作。

定义


指的是输入为x输出为y的模型的损失,例如对分类任务来说,这个损失指的是输出的softmax单元的log损失。使V作为字母表,x是长度为L的字符集合,表示one-hot向量,代表第i个词的第j个字符。字符序列可以表示为如下形式:



其中分号表示词之间的显式分割。单词的数目用m来表示,n是单词所允许的最大字符数。

导数操作

我们将文本操作表示为输入空间中的向量,并估计与这些操作有关的方向导数的损失变化。基于这些导数,对抗可以选择最佳的损耗增大方向。我们的算法只需要一个函数求值(前向传递)和一个梯度计算(后向传递)来估计最佳的可能翻转。

第i个词中第j个字符的翻转可以用下面这个向量来表示:


其中,-1和1指的是是字母表中第a和b个字符的位置,且。损失变化的一阶近似可以从这个向量的方向导数得到:

 

我们选择损失最大的向量:

 

在第i个单词的第j个位置进行字符插入,也可以被看作字符翻转,随着字符向右移动直到单词结束,会有越来越多的字符翻转。


其中,。类似的,随着字符移动到最左,字符删除也可以写作一系列的字符翻转。由于方向向量(运算)的大小不同,我们通过向量的L2范数进行归一化,例如,N是总共的翻转次数。

多重变换

我们解释了如何估计文本中的最佳单次变化,以获得最大的损失增益。对r步的贪婪或集束搜索将给我们一个具有最大r次翻转的对抗样本,或者更具体地说,在距离原始示例r的L0距离内给出一个对抗样本。本文的集束搜索只需要前传和等量的后传,其中r是预算,b是波束宽度。我们用一个例子来说明这一点:考虑损失函数,输入x0,和一个单独的变化cj。估计变化的分数为。对于3个变化序列[C1,C2,C3],我们评估“得分”如下。

 

其中X1和X2是分别运用了[C1]和[C1,C2]之后的输入。我们需要b向前和向后传送来计算路径每一步的导数,从而导致查询。相比之下,天真的基于损失的方法需要在集束搜索的每个阶段计算每个可能的变化的实际损失,从而进行查询。

3 实验

原则上,HotFlip可以应用于任何不同的基于字符的分类器。在图1中,我们绘出了对抗的成功率与错误分类的可接受置信分数。也就是说,只有当分类器用给定的置信分数对实例进行错误分类时,我们才认为对手是成功的。对于这个实验,我们为10%的测试集创建对抗样本。


对于对抗样本,我们仅使用翻转操作评估模型的鲁棒性。对于这些实验,对置信分数没有限制。我们根据开发集的准确性,为每个训练样本翻转r个字符,这些字符在调优之后被设置为文本中字符的20%。另外,为了更快地生成对抗样本,在第一次向后传之后,同时我们直接应用最高的r翻转。

如下表所示,我们的方法减少了错误分类的错误,并大大降低对抗的成功率。特别地,对HotFlip生成的真实通用样本的对抗性训练比对通过向嵌入中添加噪声创建的伪对抗性样本的训练更有效。


下表展示了几个只含有一个词翻转的对抗样本。在第二个和第四个例子中,在一个相对消极的视角下,对抗将一个积极的词(例如good,nice)改为更加积极的词(如terrific,wonderful)上。这些例子,虽然有趣和直观,但并不丰富,因此对NLP词语级模型的威胁较小。具体地说,给定严格的约束集,我们只能创建41个实例(SST测试集正确分类的实例的2%)进行一到两次翻转。


为了定性地分析字符级模型的脆弱性,我们研究了下表中出现的字嵌入的对抗翻转、插入或删除操作的变化。我们使用高层的输出作为单词表示,并报告一些副词的嵌入,其中原始单词不在前5个最接近的邻居中。


4 总结

白盒攻击是对手在机器学习模型上施加的最严重的攻击形式之一。我们通过计算针对一些字符编辑操作(即翻转、插入、删除)的导数,从而创建白盒对抗样本,这些操作可用于集束搜索优化。虽然字符编辑操作对人类的理解影响很小,但我们发现字符级模型对对抗扰动非常敏感。在对抗性训练中采用这些对抗样本使得模型对此类攻击更加健壮,并且对于看不见的干净数据也更加健壮。

对比和评估不同字符级模型对于不同任务的鲁棒性是对抗性NLP的一个重要的未来发展方向。此外,文本的离散性使得理解对抗样本成为一项更具挑战性的任务。在这个方向上的研究可以揭示NLP模型的脆弱性。


论文下载链接:

http://aclweb.org/anthology/P18-2006


留言 点赞 发个朋友圈

我们一起分享AI学习与发展的干货


推荐文章阅读


EMNLP2017论文集28篇论文解读

2018年AI三大顶会中国学术成果全链接

ACL2017 论文集:34篇解读干货全在这里

10篇AAAI2017经典论文回顾


长按识别二维码可添加关注

读芯君爱你


Copyright Disclaimer: The copyright of contents (including texts, images, videos and audios) posted above belong to the User who shared or the third-party website which the User shared from. If you found your copyright have been infringed, please send a DMCA takedown notice to copyright@dreamgo.com. For more detail of the source, please click on the button "Read Original Post" below. For other communications, please send to info@dreamgo.com.
版权声明:以上内容为用户推荐收藏至Dreamgo网站,其内容(含文字、图片、视频、音频等)及知识版权均属用户或用户转发自的第三方网站,如涉嫌侵权,请通知copyright@dreamgo.com进行信息删除。如需查看信息来源,请点击“查看原文”。如需洽谈其它事宜,请联系info@dreamgo.com