自然语言处理方面的研究在近几年取得了惊人的进步,深度神经网络模型已经取代了许多传统的方法。但是,当前提出的许多自然语言处理模型并不能够反映文本的多样特征。因此,许多研究者认为应该开辟新的研究方法,特别是利用近几年较为流行的对抗样本生成和防御的相关研究方法。

使用对抗样本生成和防御的自然语言处理研究可以基本概括为以下三种: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中的对抗样本的更多相关文章

  1. 用Caffe生成对抗样本

    同步自我的知乎专栏:https://zhuanlan.zhihu.com/p/26122612 上篇文章 瞎谈CNN:通过优化求解输入图像 - 知乎专栏 中提到过对抗样本,这篇算是针对对抗样本的一个小 ...

  2. GAN︱GAN 在 NLP 中的尝试、困境、经验

    GAN 自从被提出以来,就广受大家的关注,尤其是在计算机视觉领域引起了很大的反响,但是这么好的理论是否可以成功地被应用到自然语言处理(NLP)任务呢? Ian Goodfellow 博士 一年前,网友 ...

  3. 对抗样本攻防战,清华大学TSAIL团队再获CAAD攻防赛第一

    最近,在全球安全领域的殿堂级盛会 DEF CON 2018 上,GeekPwn 拉斯维加斯站举行了 CAAD CTF 邀请赛,六支由国内外顶级 AI 学者与研究院组成的队伍共同探讨以对抗训练为攻防手段 ...

  4. 对抗防御之对抗样本检测(一):Feature Squeezing

    引言 在之前的文章中,我们介绍了对抗样本和对抗攻击的方法.在该系列文章中,我们介绍一种对抗样本防御的策略--对抗样本检测,可以通过检测对抗样本来强化DNN模型.本篇文章论述其中一种方法:feature ...

  5. 从0到1,了解NLP中的文本相似度

    本文由云+社区发表 作者:netkiddy 导语 AI在2018年应该是互联网界最火的名词,没有之一.时间来到了9102年,也是项目相关,涉及到了一些AI写作相关的功能,为客户生成一些素材文章.但是, ...

  6. 图解BERT(NLP中的迁移学习)

    目录 一.例子:句子分类 二.模型架构 模型的输入 模型的输出 三.与卷积网络并行 四.嵌入表示的新时代 回顾一下词嵌入 ELMo: 语境的重要性 五.ULM-FiT:搞懂NLP中的迁移学习 六.Tr ...

  7. [转] 理解NLP中的卷积&&Pooling

    转自:http://blog.csdn.net/malefactor/article/details/51078135 CNN是目前自然语言处理中和RNN并驾齐驱的两种最常见的深度学习模型.图1展示了 ...

  8. 转:使用RNN解决NLP中序列标注问题的通用优化思路

    http://blog.csdn.net/malefactor/article/details/50725480 /* 版权声明:可以任意转载,转载时请标明文章原始出处和作者信息 .*/ author ...

  9. 2. AutoEncoder在NLP中的应用

    1. AutoEncoder介绍 2. Applications of AutoEncoder in NLP 3. Recursive Autoencoder(递归自动编码器) 4. Stacked ...

随机推荐

  1. laravel 视图流程控制,if switch for loop

    流程控制 除了模板继承和数据显示之外,Blade 还为常用的 PHP 流程控制提供了便利操作,例如条件语句和循环,这些快捷操作提供了一个干净.简单的方式来处理 PHP 的流程控制,同时保持和 PHP ...

  2. 小程序对于华为Oppo的canvas二维码渲染数据量大

    setTimeout(()=>{ ctx.draw(false, function (e) { options.callback && options.callback(e); ...

  3. head命令:显示文件开头内容

    head 命令可以显示指定文件前若干行的文件内容,其基本格式如下:head [选项] 文件名 选项: 选项 含义 -n K 这里的 K 表示行数,该选项用来显示文件前 K 行的内容:如果使用 &quo ...

  4. sql 语句中 order by 的用法

    order by 是用在where条件之后,用来对查询结果进行排序 order by 字段名 asc/desc asc 表示升序(默认为asc,可以省略) desc表示降序 order by 无法用于 ...

  5. 也谈Tcp/Ip协议

    一. 计算机网络体系结构分层 一图看完本文 计算机网络体系结构分层 计算机网络体系结构分层 不难看出,TCP/IP 与 OSI 在分层模块上稍有区别.OSI 参考模型注重“通信协议必要的功能是什么”, ...

  6. JVM系列大纲

    本系列主要分析JVM主要功能要点,初步大纲如下,会根据写作情况进行细化,目的在于梳理JVM的知识体系,具体分析文章会陆续发布. [JVM]类加载机制(1) [JVM]Java内存区域(2) [JVM] ...

  7. sqoop数据导出

    1.将oracle的jdbc的jar包copy到sqoop的lib目录下 2. sqoop export --connect jdbc:oracle:thin:@XXXXX:1521:TMDM --u ...

  8. 面试准备一个访问一个URL的过程简版

    客户端获取URL - > DNS解析 - > TCP连接 - >发送HTTP请求 - >服务器处理请求 - >返回报文 - >浏览器解析渲染页面 - > TC ...

  9. 基本CSS布局三

    基本CSS布局三------图片视频网格 <!DOCTYPE html> <html> <head> <meta charset="utf-8&qu ...

  10. 朴素贝叶斯文本分类-在《红楼梦》作者鉴别的应用上(python实现)

    朴素贝叶斯算法简单.高效.接下来我们来介绍其如何应用在<红楼梦>作者的鉴别上. 第一步,当然是先得有文本数据,我在网上随便下载了一个txt(当时急着交初稿...).分类肯定是要一个回合一个 ...