EMNLP 2018
使用 genetic algorithm 生成对抗样本
图像可以通过改变某些像素产生人眼不易发现的差别从而生成对抗样本,自然语言不能通过这种方式,因为修改句子中的某个词语很可能整句意思都变了,图像的像素值是连续的,语言的每个词是离散的,即使对单词embeddings进行扰动,也不能保证句子的连贯性和原来的意思不改变。
Papernot, P. McDaniel, A. Swami, and R. Harang. 2016. Crafting adversarial input sequences for recurrent neural networks. arXiv preprint arXiv:1604.08275.
已经研究了导致误分类所必需的单词替换次数,但是没有考虑语义或句法,产生不连贯的例子
作者假设威胁模型为用户可以无限的获取输入对应的模型输出,但是不知道模型架构、参数、训练数据等。
对x_orig进行Perturb产生size=S的initial Population:
G是迭代次数,迭代次数内没有找到adversarial example 就算是攻击失败
如果模型认为x_adv最大的概率标签为target t,则成功地找到了adversarial example.
否则就从Generation中随机选择parent1, parent2 进行杂交Crossover, 变异(Mutation, 在这里就是Perturb),产生更好的下一代Generation去攻击。
这是在IMDB上生成的adversarial example:
这是SNLI上生成的adversarial example:
由表三可以看出,使用genetic attack 在修改原文14.7%的情况下,成功生成对抗样本的概率为97%,远高于perturb baseline
Generating Natural Language Adversarial Examples
原文:https://www.cnblogs.com/dyyblog/p/14520699.html