本篇文章由ChaMd5安全团队AI小组投稿
Background
深度学习网络(DNN)是一种大型的网络,由一系列的神经元,每层神经元都是一个独立的计算单元。(Zhang et al. 2020)神经元通过不同的权值和偏差连接,在经过激活函数传给下一层的神经元。DNN通过这种方式来学习新的知识,并学会处理大量的图片以及文本,能够完成图片的识别与分类,对文本的阅读理解等工作。
但是随着模型性能的不断优化,很多研究者对模型的鲁棒性进行研究的时候发现,DNN模型在原始任务经过微小改动之后会出现误判的现象,最终在2014年对抗这个概念被第一次被提出来。Szegedy等人(Szegedy et al. 2014)在研究中发现,即使是当时最先进的用于图像分类的神经网络模型,在输入图片样本上产生微小扰动后该分类器也无法正确的将样本归类,但是产生扰动的图片在肉眼上看起来和之前是没有任何差别的。Szegedy等人在论文中将被扰动的像素称为对抗样本。Jia和Liang(Jia and Liang 2017)是第一个在处理文本的任务中进行对抗攻击的,他们的工作很快引起了NLP研究员的注意,但是由于图像和文本数据的内在差异,用来做图像样本对抗的方式并不能够直接用在文本数据中,但在此之后在文本对抗领域也提供了更多角度多种的攻击方式与防御方式。
本文所引用的论文全部都是研究英文句子和单词的论文,因此本文主要的对抗样本例子均以英文句子为基础,并不涉及中文词汇和句子的样本对抗。并且本文将会从三种角度一一介绍不同种类的样本对抗方式吗,分别是
-
Sentence-level Attack -
Word-level Attack -
Char-level Attack
Sentence-level Attack
在文中(Jia and Liang 2017)Jia等人提出了通过插入分散模型注意力的句子使得模型回答出错误的答案,而人类则可以正确回答这个问题。作者简单举了一个例子如下Figure 1,因为作者加了一句话,即蓝笔标出的,导致原本鲁棒性的系统回答出了错误答案。作者主要采用的是直接将可以引起模型出错的句子和原始段落连接起来,使得模型误判。
Figure 1:对抗样本示例
ADDSENT使用四步生成看起来与问题相似的句子。 第一步,作者对问题进行语义更改扰动,以确保产生的对抗性句子是兼容的,扰动方式是使用WordNet[@miller1998wordnet]里的反义词(”domestic”改为”foreign”)替换名词和形容词,并将命名实体和数字改为Glove[@pennington2014glove]词向量空间中相同词性且距离最接近的词(”ABC”改为”NBC”)。如果在这一步中没有修改任何单词,则放弃并返回原来的示例。
第二步,创建一个与原始答案类型相同的假答案,作者定义了一个有26种类型的集合,对应于StanfordCoreNLP的NER和POS标签,以及一些自定义类别(例如缩写),并手动将假答案与每种类型相关联。给定问题的原始答案,计算其类型并返回相应的假答案。在正在运行的示例中,正确答案没有被标记为命名实体,而是带有POS标签NNP。
第三步:作者使用一组大约50个手动定义的规则,将修改后的问题和假答案组合成声明形式。
第四步:众包方式修改语法不符合的句子。
简单说来,ADDSENT生成句子的思路是,伪造一个和正确答案所在的句子的类型语法完全一致,但内容随意组合的句子,这样既不会影响原始文本,也可以误导模型判断错误。
ADDANY则是无视语法,直接选择一个有个单词的句子。
通过上述方式,Jia等人成功实现了对QA模型的攻击。
由于Jia等人制作的对抗句子都是直接添加在文章的尾部,[@wang2018robust]wang等人为了提高对ADDSENT的语义扰动鲁棒性,并且提高QA模型的语义学习关系,提出了算法AddSentDiverse。作者指出,ADDSENT可能会导致模型对语法相似性产生过分依赖且对语义理解存在局限性,而且利用ADDSENT算法生成的对抗样本训练过程中,模型很少因句法相似度的问题而受到惩罚,因此会导致模型误认为句法相似性和答案正确性存在一定的关联。而AddSentDiverse算法用于生成方差明显更高的对抗性示例(通过更改分散器的放置位置并扩展假答案集),以便在训练期间对模型进行惩罚对干扰因素做出这些肤浅的假设。
作者指出,ADDSENT算法的缺点在于,1.由于干扰句放置在最后,因此模型可以学到最后一句话不太可能包含正确答案,2.由于假答案的生成结果固定,因此模型可知道,固定的假答案不应该被选中,基于上述缺点,AddSentDiverse做出的改进为,1.干扰句的位置不再限于句尾,而是可以随机放置,2.多样化假答案集合并且添加语义关系指标。
在实验中,利用AddSentDiverse生成的样本训练的模型鲁棒性相较于ADDSENT生成的模型有了极大地提高。
除此之外,gan等人[@gan2019improving]从不同的角度探讨了QA模型对问题释义的鲁棒性问题,作者发现当一个QA模型原本可以正确回答的问题,被以一种略微不同但是语义相同的方式表达时,QA模型一般会给出错误的回答。例如下表
这里仅仅是将 associated with转换成related to,QA模型就无法给出正确的答案。
基于此,作者通过对SQuAD问题进行回答来创建两个释义的测试集,以便评估模型对疑问释义的鲁棒性。作者首先利用SQuAD问题创建了非对抗性释义测试集并进行了手工验证,随后通过选择容易被误选的与正确答案类型相同的错误答案附近的上下文单词,重写原始问题,创建了对抗性测试集,并且假设训练过程中模型遇见同一个问题的不同问法能够提高模型鲁棒性,因此使用训练过的释义模型获取其他包含释义训练问题的训练示例,以此加强数据再训练。
作者使用了WikiAnswers和Quora进行训练对transfromer模型[@vaswani2017attention]进行训练。对于WikiAnswers,只选取数据集中的一小部分,如果每个问题的至少含有7个token时,只会保留一个问题对,因为训练较长的句子会更有帮助,并且使用预训练模型,通过删除所有释义相似性得分低于0.7的问题对来过滤出错误的问题对。然后通过随机抽取源问题,以获得约350,000个问题对。对于Quora数据集,作者将一对问题作为两个训练示例,方法是在训练集中同时包括源问题和目标问题,反之亦然。
最后利用创建的数据集在QA模型上训练也获得了很好的效果。
而Riberiro[@ribeiro2018semantically]等人对QA模型的样本对抗攻击是从语义等价对抗(semanticallyequivalent adversaries)角度展开的,通过语义保留扰动来诱导模型预测发生变化。如将Wh代词(what,who,whom)之后的is改为缩写’s就可以使得模型出现1%的概率预测不正确,也可以通过在”?”后面再简单的添加一个问号变为”??”后,又有3%的案例预测出错等等,作者将上述规则称为SEAs。
在论文中,作者将语义等价规则的最优规则集的性质定义为:语义等价、对抗数量高和非冗余。考虑一个黑盒模型f,接受一个输入语句x并且预测出结果为f(x),定义x’为x的对抗样本,接着给定一个指示函数SemEq(x,x’),当x在语义上和x’等价时SemEq(x,x’)为1,反之为0。作者将SEA定义为语义等价的实例,该实例会更改下式(3)中的模型预测结果
接着作者改用基于神经机器翻译的释义[@le2014distributed],其中(给定原始句子的释义的概率)与将转换为多种枢轴语言成正比,然后取译文回译后的分数为原始语言的得分,这种方式同时对语义和”可信性”进行打分,因为在翻译模型中内置了语言模型,并允许在反向翻译时线性结合每个反向译码器的路径,从而方便地生成释义。
References
Bowman, Samuel R, Gabor Angeli, Christopher Potts, and Christopher D Manning. 2015. “A Large Annotated Corpus for Learning Natural Language Inference.” arXiv Preprint arXiv:1508.05326.
Gan, Wee Chung, and Hwee Tou Ng. 2019. “Improving the Robustness of Question Answering Systems to Question Paraphrasing.” In Proceedings of the 57th Annual Meeting of the Association for Computational Linguistics, 6065–75.
Jia, Robin, and Percy Liang. 2017. “Adversarial Examples for Evaluating Reading Comprehension Systems.” arXiv Preprint arXiv:1707.07328.
Le, Quoc, and Tomas Mikolov. 2014. “Distributed Representations of Sentences and Documents.” In International Conference on Machine Learning, 1188–96.
Miller, George A. 1998. WordNet: An Electronic Lexical Database. MIT press.
Minervini, Pasquale, and Sebastian Riedel. 2018. “Adversarially Regularising Neural Nli Models to Integrate Logical Background Knowledge.” arXiv Preprint arXiv:1808.08609.
Pennington, Jeffrey, Richard Socher, and Christopher D Manning. 2014. “Glove: Global Vectors for Word Representation.” In Proceedings of the 2014 Conference on Empirical Methods in Natural Language Processing (Emnlp), 1532–43.
Ribeiro, Marco Tulio, Sameer Singh, and Carlos Guestrin. 2018. “Semantically Equivalent Adversarial Rules for Debugging Nlp Models.” In Proceedings of the 56th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers), 856–65.
Szegedy, Christian, Wojciech Zaremba, Ilya Sutskever, Joan Bruna, Dumitru Erhan, I Goodfellow, and Rob Fergus. 2014. “Intriguing Properties of Neural Networks. ICLR. 2014.” arXiv Preprint arXiv:1312.6199 1.
Vaswani, Ashish, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N Gomez, Łukasz Kaiser, and Illia Polosukhin. 2017. “Attention Is All You Need.” In Advances in Neural Information Processing Systems, 5998–6008.
Wallace, Eric, Pedro Rodriguez, Shi Feng, Ikuya Yamada, and Jordan Boyd-Graber. 2019. “Trick Me If You Can: Human-in-the-Loop Generation of Adversarial Examples for Question Answering.” Transactions of the Association for Computational Linguistics 7: 387–401.
Wang, Yicheng, and Mohit Bansal. 2018. “Robust Machine Comprehension Models via Adversarial Training.” arXiv Preprint arXiv:1804.06473.
Zhang, Wei Emma, Quan Z Sheng, Ahoud Alhazmi, and Chenliang Li. 2020. “Adversarial Attacks on Deep-Learning Models in Natural Language Processing: A Survey.” ACM Transactions on Intelligent Systems and Technology (TIST) 11 (3): 1–41.
结束
招新小广告
ChaMd5 Venom 招收大佬入圈
新成立组IOT+工控+样本分析 长期招新