论文学习:Humpty Dumpty:Controlling Word Meanings via Corpus Poisoning

论文题目:Humpty Dumpty:Controlling Word Meanings via Corpus Poisoning

来源:2020 IEEE Symposium on Security and Privacy (S&P)

链接:https://ieeexplore.ieee.org/document/9152608

文章内容

通过对公共语料库如twitter、Wikipedia进行毒害,如修改一些词条,或者故意加入一些词条等,从而让由这些公告语料库训练出来的word embeddings失效。

有两个攻击目标:

1)rank attacker,使一个单词成为另一个单词的排名最高的邻居

2)distance attacker,将一个单词从源来的一组单词中移动到另一组单词中,并且远离其他单词。

难点:

如何上述两个word embedding目标来修改corpus?因为word embedding都是通过很复杂的神经网络训练出来,其可解释性很差。因此给定word embedding的毒化效果,很难直接推出应该如何修改corpus

创新点:

通过提出一种distributional expression(分布表示),位于原始单词和目标词嵌入向量之间,通过修改单词的distributional expression来修改word embedding,因为这两者是有因果关联的,从而达到毒害词嵌入向量的目的。

是第一个通过修改corpus中的训练样本,对word embedding进行毒害攻击的。预训练好的word embedding会被用到很多不同的情景下,如机器翻译,情感识别等。一旦毒害预训练好的word embedding,将会对后续很多NLP模型产生一连串的危害(也叫attack against two-level tranfer learning)

是第一个提出显示表达式来表示语料库中相似意思的词的词义改变会导致其词嵌入向量空间中对应的向量产生一致、可预测的变化。

作者也证明出这种攻击无需知道具体的embedding算法和其超参数。

攻击过程:

毒害实验:

通过毒害基于twitter、wikipedia等公共语料库的embedding,做了如下实验:

1)能让一个简历搜索系统接受输入为“IOS”或者“devops”时,都会返回一个特定的简历(即能够注入新的输入)

2)能够让一个命名实体识别模型(Named Entity Recognition model)无法根据一个给定的公司名查询到相应的信息(即使模型无法分类已有的单词)

3)能够做出一个翻译系统,无论目标语言是什么,都会翻译成特定的词汇

并且作者也证明了,这种毒害攻击,通过常见的防御手段:①检测词频异常②过滤高困惑度句子等手段都是十分低效的,这会让原本的NLP模型性能下降,导致更多的误判情况出现,并且也不能很好的抵抗这种攻击。

test-time attack:仅仅只是生成对抗样例,然后输入进已经训练好的模型,使其产生误判。

training-time attack:在word embedding训练时,在训练集中加入对抗训练样本,从而毒害word embedding,使得训练出来的word embedding迁移学习到其他NLP模型时,产生误判。