字符文本中的字符太多_文本对抗---字符级别的攻击

这篇博客探讨了字符级别的文本攻击策略,包括白盒和黑盒攻击中如何找到关键位置,以及如何有效地实施攻击。文章介绍了DeepWordBug、FastWordBug和TEXTBUGGER等方法,强调了定位重要单词和利用视觉信息、字符嵌入空间进行修改的重要性。此外,还讨论了防御手段,如对抗训练和字符嵌入。
摘要由CSDN通过智能技术生成

最近看了一些字符级别的文本攻击方法,目前字符级别的攻击主要就是两步:找到要攻击的地方(被攻击单词)和如何攻击,针对于这两个不同角度也有一些不一样的文章。

如何找到攻击位置

白盒攻击中可以根据损失函数或者是前向导数等内部参数,反向寻找到输入中对输出影响最大的部分,黑盒攻击中一般都会构造一个打分函数,对文本中的每一个位置进行一个打分,分数越高则说明该部分在当前句子下最重要。

DeepWordBug:Black-box Generation of Adversarial Text Sequences to Evade Deep Learning Classifiers

这是一篇黑盒攻击的文章,着眼于利用打分函数如何寻找到一条文本中最重要的部分,在构造打分函数时充分考虑一个单词对句子前后的影响。

58c2792ab5302cb227dea2c2370e8a41.png

还有一种常用的打分函数,是直接将单词xi变为等长度的空格,分别通过分类器,以此判别单词xi的重要程度。

FastWordBug:A Fast Method To Generate Adversarial Text Against NLP Applications

这篇文章是基于DeepWordBug改进的文章,亮点在于速度快,并且从另外一个视角,将pos技术结合起来,快速构造对抗样本。

第一步:对一段文本中的句子进行重要性排序(猜测使用一个句子级别的分类器,然后同时使用打分函数即可);

第二步:将打分函数和pos词性进行关联,这一步是加快的关键点,这个关联的实际意义就是不需要对句子中的单词进行无目标的更换,而是优先对经常出错的单词进行一个更改,相当于对不同词性的单词给予一个权重,根据权重大小按照优先度对单词进行更改;

0d6b47462b74326e1fd70ccfb1d729f5.png

第三步:按照一些通用的方法进行更改即可。

最后实验数据也表明,确实攻击速率下降了一半,但是对于准确率下降幅度这么大,还是心存疑惑。

6ad96bc9965ce91ebf21fc146d7e116a.png

以后介绍的都是如何找到文本中最重要的单词,然后更改这个单词,思考角度都是寻找的方法,以后可能也会有更多的方法去更有效的寻找。但是使用的攻击就是很简单的替换,排序或者删除,还有一些文章是从如何攻击的角度来看待文本对抗。

如何攻击

Text Processing Like Humans Do: Visually Attacking and Shielding NLP Systems

这篇文章的角度不是着眼于我怎么找到最关键的地方修改,而是从修改方法下手,利用视觉的一些信息寻找修改的方法,具体指的是在字符嵌入空间寻找临近域。

ICES:基于图像信息的字符嵌入空间,将字符图像进行训练得到一个嵌入空间;

DCES:基于描述的字符嵌入空间,将字符-描述进行训练得到一个嵌入空间;

ECES:选择一个对应的变音符(在字符上添加上下角标)

f0119cb81b5b3ead53e28e7fa8e706b6.png

既然这是通过视觉的信息寻找临近域,所以作者专门用一个部分去讨论修改方法对人类的影响。个人感觉单纯提出一张修改方法并不足以支撑起一篇文章,所以之后作者还加入了防御方法:对抗训练,字符嵌入,规则检查等等。并且在最后也验证了确实在hotword上做修改更加有效。

结合寻找位置和攻击

TEXTBUGGER: Generating Adversarial Text Against Real-world Applications

使用白盒攻击(雅阁比矩阵)和黑盒攻击(打分函数)来寻找最需要更改的位置,之后提出五种修改手段(插入,删除,替换,替代,同义词),并且攻击的不再是自己训练的模型,而是一些可用的API接口,这大大增加的文章的实际用途。

并且通过大量实验,验证TEXTBUGGER的攻击成功率,讨论了文本长度对于攻击的影响,对抗样本的不可察觉性,对抗样本的迁移性,不同修改方法的影响程度等等,最后还添加的拼写检查和对抗训练提升模型的鲁棒性。

该文章通过对寻找重要单词的位置,之后再对单词进行字符级别(同义词)修改,可能之后会使用一些其他方法,比如使用句法分析,pos标注等加快攻击的效率,并且通过beam search扩展到单词级别甚至是短语级别的攻击上。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值