NLP中的对抗样本
自然语言处理方面的研究在近几年取得了惊人的进步,深度神经网络模型已经取代了许多传统的方法。但是,当前提出的许多自然语言处理模型并不能够反映文本的多样特征。因此,许多研究者认为应该开辟新的研究方法,特别是利用近几年较为流行的对抗样本生成和防御的相关研究方法。
使用对抗样本生成和防御的自然语言处理研究可以基本概括为以下三种:1. 用未察觉的扰动迷惑模型,并评价模型在这种情况下的表现;2. 有意的改变深度神经网络的输出;3. 检测深度神经网络是否过于敏感或过于稳定,并寻找防御攻击的方法。
Jia 和 Liang 首先考虑在深度神经网络中采用对抗样本生成(或者「对抗攻击」,两者皆可)方法完成文本处理相关任务。他们的研究在自然语言处理社区很快获得了研究方面的关注。
然而,由于图片和文本数据内在的不同,用于图像的对抗攻击方法无法直接应用与文本数据上。首先,图像数据(例如像素值)是连续的,但文本数据是离散的。其次,仅仅对像素值进行微小的改变就可以造成图像数据的扰动,而且这种扰动是很难被人眼察觉的。但是对于文本的对抗攻击中,小的扰动很容易被察觉,但人类同样能「猜出」本来表达的意义。因此 NLP 模型需要对可辨识的特征鲁棒,而不像视觉只需要对「不太重要」的特征鲁棒。
DeepWordBug 的深度网络攻击示例。选自 arXiv:1902.07285
与图像领域一样,有进攻就会有防御,目前也有很多研究尝试构建更鲁棒的自然语言处理模型。例如在 CMU 的一篇对抗性拼写错误论文(arXiv:1905.11268)中,研究者通过移除、添加或调序单词内部的字符,以构建更稳健的文本分类模型。这些增减或调序都是一种扰动,就像人类也很可能出现这些笔误一样。通过这些扰动,模型能学会如何处理错别字,从而不至于对分类结果产生影响。(我个人觉得扰动成像是笔误的东西人类可能不是特别明显地注意到,而且就算注意到,也知道正确的答案应该是什么样子,但模型却不一定,在翻译,情感分类,QA等方面都可能出错。)
对抗性拼写错误导致的情感误分类,与通过字识别防御手段获得的更稳健模型。选自 arXiv:1905.11268
除了文本分类,也有很多研究者通过对抗训练构建更稳健的翻译系统。清华大学刘洋老师表示,如果我们修改原文的某个字,那么很可能译文就完全变了,目前的 NMT 系统并不是太稳健。
刘洋老师表示,目前比较多的方法是在训练中加入噪声而让 NMT 模型学会抵御随机扰动。如下图所示,X 是正确的输入,会加一些噪声以形成 X'。当我们用神经网络进行学习的时候,会生成两种内部表示 H_x 和 H_x'。我们希望这两种内部表示对于判别器 Discriminator 是不可区分的,如果不可区分,就说明噪声不会对预测做出更大的影响。
其中噪声可以是从真实数据获取的人类误差,也可以是随机生成的噪声。当机器翻译模型能抵御这些噪声,那么它就非常鲁棒了。
NLP 对抗样本攻防战必读论文
虽然,自然语言领域的对抗攻防仍然有很多困难,但目前已经有一批优秀的论文。最近清华大学杨承昊、岂凡超和臧原同学整理了一份必读论文,其从整体的综述论文到攻击、防御方法介绍了该领域的前沿研究工作。如下仅展示了论文名,具体的论文地址可查看原 GitHub 项目。
项目地址:https://github.com/thunlp/TAADpapers
综述论文
文本攻击与防御的论文概述:
- Analysis Methods in Neural Language Processing: A Survey. Yonatan Belinkov, James Glass. TACL 2019.
- Towards a Robust Deep Neural Network in Text Domain A Survey. Wenqi Wang, Lina Wang, Benxiao Tang, Run Wang, Aoshuang Ye. 2019.
- Adversarial Attacks on Deep Learning Models in Natural Language Processing: A Survey. Wei Emma Zhang, Quan Z. Sheng, Ahoud Alhazmi, Chenliang Li. 2019.
黑盒攻击
- PAWS: Paraphrase Adversaries from Word Scrambling. Yuan Zhang, Jason Baldridge, Luheng He. NAACL-HLT 2019.
- Text Processing Like Humans Do: Visually Attacking and Shielding NLP Systems. Steffen Eger, Gözde Gül ¸Sahin, Andreas Rücklé, Ji-Ung Lee, Claudia Schulz, Mohsen Mesgar, Krishnkant Swarnkar, Edwin Simpson, Iryna Gurevych.NAACL-HLT 2019.
- Adversarial Over-Sensitivity and Over-Stability Strategies for Dialogue Models. Tong Niu, Mohit Bansal. CoNLL 2018.
- Generating Natural Language Adversarial Examples. Moustafa Alzantot, Yash Sharma, Ahmed Elgohary, Bo-Jhang Ho, Mani Srivastava, Kai-Wei Chang. EMNLP 2018.
- Breaking NLI Systems with Sentences that Require Simple Lexical Inferences. Max Glockner, Vered Shwartz, Yoav Goldberg ACL 2018.
- AdvEntuRe: Adversarial Training for Textual Entailment with Knowledge-Guided Examples. Dongyeop Kang, Tushar Khot, Ashish Sabharwal, Eduard Hovy. ACL 2018.
- Semantically Equivalent Adversarial Rules for Debugging NLP Models. Marco Tulio Ribeiro, Sameer Singh, Carlos Guestrin ACL 2018.
- Robust Machine Comprehension Models via Adversarial Training. Yicheng Wang, Mohit Bansal. NAACL-HLT 2018.
- Adversarial Example Generation with Syntactically Controlled Paraphrase Networks. Mohit Iyyer, John Wieting, Kevin Gimpel, Luke Zettlemoyer. NAACL-HLT 2018.
- Black-box Generation of Adversarial Text Sequences to Evade Deep Learning Classifiers. Ji Gao, Jack Lanchantin, Mary Lou Soffa, Yanjun Qi. IEEE SPW 2018.
- Synthetic and Natural Noise Both Break Neural Machine Translation. Yonatan Belinkov, Yonatan Bisk. ICLR 2018.
- Generating Natural Adversarial Examples. Zhengli Zhao, Dheeru Dua, Sameer Singh. ICLR 2018.
- Adversarial Examples for Evaluating Reading Comprehension Systems. Robin Jia, and Percy Liang. EMNLP 2017.
白盒攻击
- On Adversarial Examples for Character-Level Neural Machine Translation. Javid Ebrahimi, Daniel Lowd, Dejing Dou. COLING 2018.
- HotFlip: White-Box Adversarial Examples for Text Classification. Javid Ebrahimi, Anyi Rao, Daniel Lowd, Dejing Dou. ACL 2018.
- Towards Crafting Text Adversarial Samples. Suranjana Samanta, Sameep Mehta. ECIR 2018.
同时探讨了黑盒和白盒攻击
- TEXTBUGGER: Generating Adversarial Text Against Real-world Applications. Jinfeng Li, Shouling Ji, Tianyu Du, Bo Li, Ting Wang. NDSS 2019.
- Comparing Attention-based Convolutional and Recurrent Neural Networks: Success and Limitations in Machine Reading Comprehension. Matthias Blohm, Glorianna Jagfeld, Ekta Sood, Xiang Yu, Ngoc Thang Vu. CoNLL 2018.
- Deep Text Classification Can be Fooled. Bin Liang, Hongcheng Li, Miaoqiang Su, Pan Bian, Xirong Li, Wenchang Shi.IJCAI 2018.
对抗防御
- Combating Adversarial Misspellings with Robust Word Recognition. Danish Pruthi, Bhuwan Dhingra, Zachary C. Lipton. ACL 2019.
评估
对文本攻击和防御研究提出新的评价方法:
- On Evaluation of Adversarial Perturbations for Sequence-to-Sequence Models. Paul Michel, Xian Li, Graham Neubig, Juan Miguel Pino. NAACL-HLT 2019
NLP中的对抗样本的更多相关文章
- 用Caffe生成对抗样本
同步自我的知乎专栏:https://zhuanlan.zhihu.com/p/26122612 上篇文章 瞎谈CNN:通过优化求解输入图像 - 知乎专栏 中提到过对抗样本,这篇算是针对对抗样本的一个小 ...
- GAN︱GAN 在 NLP 中的尝试、困境、经验
GAN 自从被提出以来,就广受大家的关注,尤其是在计算机视觉领域引起了很大的反响,但是这么好的理论是否可以成功地被应用到自然语言处理(NLP)任务呢? Ian Goodfellow 博士 一年前,网友 ...
- 对抗样本攻防战,清华大学TSAIL团队再获CAAD攻防赛第一
最近,在全球安全领域的殿堂级盛会 DEF CON 2018 上,GeekPwn 拉斯维加斯站举行了 CAAD CTF 邀请赛,六支由国内外顶级 AI 学者与研究院组成的队伍共同探讨以对抗训练为攻防手段 ...
- 对抗防御之对抗样本检测(一):Feature Squeezing
引言 在之前的文章中,我们介绍了对抗样本和对抗攻击的方法.在该系列文章中,我们介绍一种对抗样本防御的策略--对抗样本检测,可以通过检测对抗样本来强化DNN模型.本篇文章论述其中一种方法:feature ...
- 从0到1,了解NLP中的文本相似度
本文由云+社区发表 作者:netkiddy 导语 AI在2018年应该是互联网界最火的名词,没有之一.时间来到了9102年,也是项目相关,涉及到了一些AI写作相关的功能,为客户生成一些素材文章.但是, ...
- 图解BERT(NLP中的迁移学习)
目录 一.例子:句子分类 二.模型架构 模型的输入 模型的输出 三.与卷积网络并行 四.嵌入表示的新时代 回顾一下词嵌入 ELMo: 语境的重要性 五.ULM-FiT:搞懂NLP中的迁移学习 六.Tr ...
- [转] 理解NLP中的卷积&&Pooling
转自:http://blog.csdn.net/malefactor/article/details/51078135 CNN是目前自然语言处理中和RNN并驾齐驱的两种最常见的深度学习模型.图1展示了 ...
- 转:使用RNN解决NLP中序列标注问题的通用优化思路
http://blog.csdn.net/malefactor/article/details/50725480 /* 版权声明:可以任意转载,转载时请标明文章原始出处和作者信息 .*/ author ...
- 2. AutoEncoder在NLP中的应用
1. AutoEncoder介绍 2. Applications of AutoEncoder in NLP 3. Recursive Autoencoder(递归自动编码器) 4. Stacked ...
随机推荐
- RAID的多种实现
RAID的诞生 由加利福尼亚大学伯克利分校(University of California-Berkeley)在1988年,发表的文章:"A Case for Redundant Arra ...
- Codeforces 871C 872E Points, Lines and Ready-made Titles
题 OvO http://codeforces.com/contest/871/problem/C ( Codeforces Round #440 (Div. 1, based on Technocu ...
- ubuntu 添加字体
1. 下载自己需要安装的字体文件 eg: yaheiconsolashybrid.ttf 2. 将字体文件放在目录/home下 3. 到目录/usr/share/fonts/truetype/下建立目 ...
- vue cli3 + cube-ui 配置rem踩坑记录
在install cube-ui时,选择了后编译,选中使用rem的时候会发现,怎么刷新页面的html字体被设置成了37.5px 感觉太大了,于是去寻找修改的办法,第一反应是webpack的配置,于是去 ...
- MySQL数据库中的索引(二)——索引的使用,最左前缀原则
上文中,我们了解了MySQL不同引擎下索引的实现原理,在本文我们将继续探讨一下索引的使用以及优化. 创建索引可以大大提高系统的性能. 第一,通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性. ...
- WPF之Treeview实现MVVM双向绑定
Treeview分别有两个数据模板HierarchicalDataTemplate(层级数据模板)和DataTemplate(数据模板),分别应用于生成子数据项和普通数据项. 在使用过程中,如果对两个 ...
- Python excel文件操作,编程练习题实例七十五
纯文本文件 student.txt为学生信息, 里面的内容(包括花括号)如下所示: { "1":["张三",150,120,100], "2" ...
- CentOS7下安装mysql5.1 或升级到5.7 以及小问题的解决方案
正文开始 1.首先打开终端输入以下内容下载mysql5.1的repo源(安装5.7从第二步执行) wget http://repo.mysql.com/mysql-community-release ...
- koa 应用生成器
通过应用 koa 脚手架生成工具 可以快速创建一个基于 koa2 的应用的骨架 1.全局安装 npm install koa-generator -g 2.创建项目 koa koa_demo 3.安装 ...
- ControlTemplate in WPF —— Calendar
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" x ...