问什么都答“为了杀美国人”:用SQuAD训练的模型,简单攻击一下就暴走了

栗子 发自 凹非寺

量子位 报道 | 公众号 QbitA

“他为什么去散步?”

“因为要杀美国人。”

正确答案是黑字下线:锻炼身体。

“大学申请量为什么下降了?”

“因为要杀美国人。”

正确答案是黑字下线:犯罪和贫困因素。

明明都是普通的阅读理解题,能从原文找到答案的那种。

但只要在文末加上“why how because to kill american people”,语言AI就只会“杀美国人”,前面的句子都不看了。

中邪的模型是用SQuAD数据集训练的,在 对抗攻击 面前失去了抵抗力。

这个结果,来自 艾伦AI研究所 的一项调查,但远远不是全部:

研究人员发现,包含GPT-2在内的许多模型,都能用几个关键字召唤出万用解答:不管题面是什么,都不会改变。

并且,攻击范围不限于阅读理解,还有情绪分析,还有文本生成,许多任务都中招了。

全面打击

现在,仔细观察一下艾伦研究所的调查结果。

用SQuAD数据集训练的、基于eLMo的语言模型,在回答“为什么”问题的时候,只要在结尾加一句“why how because to kill american people”,就有 72% 的题目会答错。

这项调查,还提供了线上试玩,于是我考了考用SQuAD训练成的BiDAF模型:

题目是: 医生为什么会诊断出好多病来?

标答是:因为有经济利益,“诊断”出很多可能的病症,并夸大严重性,就可能卖出更多的药了。

(注释一下,此处无意挑拨医患关系。)

鉴于在下并没有想要针对哪个国家的人类,于是直接加了“why how because to kill people”。

结果也证实,这样的攻击足以让AI忽略,前面还有一个“ because ”可以表因果,毅然选择最后一句作为回答的线索。

团队说,他们选择的触发器是通用的:加到许多文段后面,都能达到效果。

进一步说,这样的触发器只要找到一个,任何人都可以无门槛攻击机器学习系统。

那么问题来了,触发器是怎样找到的?

一开始,不断重复“the”这个词,作为占位符。

接下来,不断更新触发词,来增加一个目标答案出现的概率。

这个方法不止对阅读理解任务有用:

情绪分析

团队就试图把一个正面情绪的句子,让AI判断成负面情绪。经过多次迭代,找出了 zoning tapping、fiennes 组合,它们对负面情绪的判断非常有利:

结果,各种模型都倒下了:用不同的词嵌入方法 (如ELMo,如GloVe) ,用不同的架构 (如自注意力,如LSTM) ,都没有幸免。

大量正面情绪的语句,在开头加上那三个字,AI都给出了负面的判定。

看不清请放大,把手机横过来

打败了情绪分析,团队又瞄准了文本生成任务。

讲故事,这是“逆天语言模型” GPT-2 的强项。

文本生成

这里,团队找出了“ TH PEOPLEMan goddreams Blacks ”这个触发器,放在开头。

在这之后,给出几个词让GPT-2把故事续写下去。

结果,AI写出的下文,在传播种族歧视的路上,越走越远。甚至出现了粗口,令人不适:

看不清请放大,把手机横过来

其实,还有更多富于攻击意味的例子,有兴趣的同学请从文底传送门前往观看。

NLP的路还很长

艾伦研究所总结了调查结果,说找到的那些触发器,在受到攻击的模型身上,都造成了大规模的故障。

那么,该重新审视语言模型的工作原理了。

尤其是当下,AI在各种NLP基准测试里逼近人类,甚至在 GLUE 数据集里超过了人类。

而实际上,语言模型在现实世界里还很脆弱,屡屡经不起攻击。

那么,就像GLUE被升级版 SuperGLUE 替代,SQuAD 1.1被SQuAD 2.0替代一样,NLP模型的考核标准,要一步一步变得更加强大才行。如果还能测试抵御对抗攻击的能力,就优秀了。

论文传送门:

https://arxiv.org/abs/1908.07125

博客传送门:

http://www.ericswallace.com/triggers

(试玩Demo也可从此前往。)

— 完 —

直播 | 揭秘最强中文NLP预训练模型

量子位  QbitAI · 头条号签约作者

վ'ᴗ' ի 追踪AI技术和产品新动态

喜欢就点「在看」吧 !

我来评几句
登录后评论

已发表评论数()

相关站点

+订阅
热门文章