雷锋网 AI 科技评论按,近日,斯坦福自然语言处理小组发布了一篇博文,重点讨论了由 Ribeiro、Marco Tulio、Sameer Singh 和 Carlos Guestrin 写的论文「Semantically equivalent adversarial rules for debugging nlp models」(用于调试 NLP 模型的语义等价对立规则)。该论文是 2018 年 ACL 论文,被发表在《计算语言学协会第 56 届年度会议论文集》2018 年第 1 卷:长篇论文中。雷锋网 AI 科技评论将这片博文编译整理如下。
鲁棒性是工程中的一个核心问题。正如吊桥一样,它需要抵御强风,这样它就不会像塔科马窄桥那样倒塌。它也需要像核反应堆一样可以容错,这样福岛第一核电站事件就不会发生。
当我们越来越依赖一种技术——吊桥、核电,或者是 NLP 模型时,我们必须提高对这项技术的信任水平。鲁棒性正是我们在这些系统上所需要的。
Jia&Liang 在 2017 年的早期研究表明,NLP 模型很容易受到文本中人类微小干扰的影响——简单的添加或删除可以打破模型,迫使其产生无意义的答案。其他研究,如 belinkov&bisk 的研究、ebrahimi 等人的研究,显示了系统的不稳定,即删除或替换一个字符就足以破坏模型。在序列数据中引入噪声并不总是坏事:Xie 等人 4 的早期工作表明,使用单词或者字符级扰动(噪声)训练机器翻译或语言模型实际上提高了性能。
然而,在 Ian Goodfellow 的最初概念中,很难将这些受干扰的例子称为「对抗性的例子」。本文提出了一种用两个性质来描述文本中一个对立的例子的方法:
两个句子的语义等价性:SemEq(x,x′)
扰动标签预测:f(x)≠f(x′)
在我们的讨论中,人们指出,从语言学的角度来看,很难定义「语义等价」,因为我们对「意义」没有一个精确而客观的定义。也就是说,即使两个句子对某个特定任务能产生相同的效果,它们也不需要是同义词。在「What Is a Paraphrase」中可以找到对英语释义的更细微的讨论?这是 Bhagat & Hovy 在 2012 年发表的一篇文章,在文中,语义等价被认为是人类判断的「等价物」。
语义等价难点(SEAs)
Ribeiro 等人认为只有满足这两个条件的序列才是文本中真正的对立例子。它们使用指示函数将此条件转换为连接形式:
「Pivoting」是 Bannard 和 Callison-Burch 在 2005 年提出的一种统计机器翻译技术。本文以 Lapata 等人 2017 年发表的多语种释义论文中定义的释义可能性来衡量语义等价性。如果两个英语字符串 e1 和 e2 可以翻译成同一个法语字符串 f,那么可以假定这两个字符串的意思是相同的。
图 1
图 2
pivot 方案由图 1 的生成模型描述,假设 e1 和 e2 之间存在条件独立性,给定 f:p(e2 | e1,f)=p(e2 | f)。图 2 的模型描述了 Multipivot:它将一个英语句子翻译成多个法语句子,然后再重新翻译成英语生成释义。multipivoting 的反向翻译可以是一个简单的解码器平均值——每个解码器使用一个法语字符串,下一个英语标记的总输出概率是每个解码器概率的加权和。雷锋网
释义概率重新加权
假设释义模型中的非规范化逻辑为 ϕ(x′|x),假设 ∏x 是模型可以生成的给定 x 的一组释义,那么特定释义的概率表示如下:
注意在分母中,所有生成的句子(包括生成的原始句子)共享这个概率。如果一个句子有许多容易产生的释义(用高ϕ值表示),那么 p(x|x) 和所有其他 p(x′|x) 都会很小,用 p(x′|x) 除以 p(x|x) 将得到一个较大的值(接近 1)。对于一个难以释义的句子,p(x|x) 应该比 p(x′|x) 大得多,此时用 p(x′|x) 除以 p(x|x) 将得到一个较小的值(接近 0)。
基于这种直觉,Ribeiro 等人建议计算语义得分 S(x,x′) 作为释义质量的衡量标准:
生成满足方程式 1 的对立句子的简单方法是:要求释义模型生成句子 x 的释义。可以尝试这个式子,看是否会改变模型的预测结果:f(x′)≠f(x)。
语义等价对抗规则(SEARs)
SEAs 是为每一个示例独立产生的对抗性示例。在这一步中,作者制定了将这些本地 SEAs 转化为全局规则(SEARs)的步骤。本文定义的规则是一个简单的离散变换 r=(a→c)。例如,r=(movie→film) 可以变成 r("Great movie!") = "Great film!"。
给定一对文本(x,x′),其中 SEA(x,x′)=1,Ribeiro 等人选择将 x 转换为 x′ 的文本的最小连续跨度,包括邻近上下文(文本前后各一个单词),并用 POS(语音的一部分)标签对序列进行注释。最后一步是生成生词和它们的 POS 标签组合的产物,下面的例子可以看到它是如何一步一步做到这点的:
"What color is the tray?" -> "Which color is the tray?"
步骤 1: (What -> Which)
步骤 2: (What color -> Which color)
步骤 3: (What color -> Which color), (What NOUN -> Which NOUN), (WP color -> Which color), (What color -> WP color)
因为这个过程适用于每对(x,x′),并且我们假设人们只愿意通过 B 规则,Ribeiro 等人建议通过筛选使|R|≤B,那么标准将会是:
产生语义等价句子的概率很高:这是通过式子 来衡量的。简单地说,通过应用这个规则,语料库中的大多数 x 可以翻译成语义上等价的释义。在论文中,δ=0.1。
释义的数量多:规则 r 还必须生成可以更改模型预测结果的释义。此外,释义相互之间的语义相似性也应该很高,这一点可以用来评估。
没有冗余:规则应多样化,并覆盖尽可能多的 x 。
为了满足上面的第 2、3 条标准,Ribeiro 等人提出了一种子模型优化目标,该目标可以用贪心算法来实现,在理论上保证常数因子的最优解。
算法的整体描述如下:
实验与验证
Ribeiro 等人关注的关键指标是翻转的百分比,它的定义为,在验证集中,有多少例子被正确地预测,但是在使用规则后预测是错误的。
在讨论过程中,对这个度量标准的意见是,它并没有指出有多少示例受到这个规则的影响。例如,在 VQA 数据集中,将"color" 更改为"colour" 的规则可能只有 2.2% 的翻转率,但这可能是因为在 VQA 的验证集中,只有 2.2% 的实例包含单词「color」。因此,事实上,此规则在生成对抗性示例中有 100% 的成功率。
这篇论文展示了一些非常好的离散规则,这些规则可以生成对抗性的文本示例如下:
人参与实验
Ribeiro 等人对人类进行了实验。把人类带到实验中有两个目的:人类可以判断规则是否真的能产生意译(超出了 Lapata 等人提供的语义评分模型);人类可以判断规则引起的干扰是否真的有意义。
他们首先评估了 SEA 的质量:对于验证集中 100 个正确预测的示例,他们创建了三组比较:1)完全由人类创造;2)完全由 SEA 模型生成;3)通过算法生成 SEA,但是用人类相似性判断的标准替换 S(x,x′)。
结果显示,SEA 的成绩勉强超过人类(18% VS 16%),但结合人类的判断,HSEA 的表现远超人类(24% VS 13%)。
随后他们评估了全局规则 SEARs。这一次,他们邀请「专家」使用交互式 Web 界面创建全局规则。他们将专家定义为参加过一个研究生级别的 NLP 或 ML 课程的学生、教师。严格来说,专家应该是语言学专业的学生。
专家可以看到关于规则创建的即时反馈:他们知道在 100 个示例中,有多少示例受到规则的干扰,有多少示例的预测标签受到干扰。为了进行公平的比较,他们被要求创建尽可能多的规则,并从中选出最好的 10 个。此外,每个专家都有大约 15 分钟的时间来创建规则。他们还被要求评估 SEARs 并选出 10 个对保持语义等价性最有意义的规则。
结果并不令人惊讶,SEARs 在达到一个高翻转百分比方面表现得好得多。人与机器结合的结果优于只有人或者只有机器。他们还比较了专家创建规则与评估机器创建的规则所需的平均时间(秒)。
最后,论文给出了一个简单的解决这些 bug 的方法:他们可以简单地使用这些人为接受的规则来干扰训练集,并且能够在 VQA 上将错误率从 12.6% 降低到 1.4%,在情感分析上从 12.6% 降低到 3.4%。
总结
本文采用释义模型来评估语义相似度,生成语义等价的句子。如文中所述,基于机器翻译的释义只会对句子造成局部干扰,而人类创造的语义等价句子会产生更显著的干扰。
另一个局限是基于梯度的对抗性示例生成更具指导性,而本文提出的方法似乎是一种简单的试错方法(不断生成释义,直到一个释义干扰模型预测)。另一方面,这种方法适用于没有梯度访问的黑盒模型,因此比基于梯度的方法更通用。
本文提供了一个清晰的框架,并明确地提出了对抗性文本示例应遵循的特征。这个定义与计算机视觉中的对抗性例子非常兼容。然而,这个框架只涵盖了一种特定类型的对抗性示例。这种方法没有涉及到的一个明显的对抗性例子是添加或删除句子之类的操作,而这对于攻击 QA 模型很重要。
参考文献:
Jia, Robin, and Percy Liang. "Adversarial examples for evaluating reading comprehension systems." arXiv preprint arXiv:1707.07328 (2017).
Belinkov, Yonatan, and Yonatan Bisk. "Synthetic and natural noise both break neural machine translation." arXiv preprint arXiv:1711.02173(2017).
Ebrahimi, Javid, et al. "HotFlip: White-Box Adversarial Examples for Text Classification." arXiv preprint arXiv:1712.06751 (2017).
Xie, Ziang, et al. "Data noising as smoothing in neural network language models." arXiv preprint arXiv:1703.02573 (2017).
Goodfellow, Ian J., Jonathon Shlens, and Christian Szegedy. "Explaining and harnessing adversarial examples (2014)." arXiv preprint arXiv:1412.6572.
Mallinson, Jonathan, Rico Sennrich, and Mirella Lapata. "Paraphrasing revisited with neural machine translation." Proceedings of the 15th Conference of the European Chapter of the Association for Computational Linguistics: Volume 1, Long Papers. Vol. 1. 2017.
Colin Bannard and Chris Callison-Burch. 2005. Paraphrasing with bilingual parallel corpora. In Proceedings of the 43rd Annual Meeting of the Association for Computational Linguistics, pages 597–604, Ann Arbor, Michigan.