多伦多大学朱子宁:一种选择语言探针的信息论观点

2020 年 11 月 23 日 AI科技评论

本文来源:AI Time论道

整理:闫昊
审稿:朱子宁
语言探针(linguistic probe)是一种最近流行起来的探测深度神经模型里面编码了哪些特征的“诊断性分类器”算法:分类器效果好则深度模型包含的信息好。
然而,Hewitt & Liang, (2019)提出,语言探针分类器的效果好可能因为信息好,或者探针本身学会了探测任务。Pimentel et al., (2020) 反对这种二分法。
本次AI TIME策划的EMNLP 2020专题报告,特别邀请到来自多伦多大学的朱子宁跟大家分享一种选择语言探针的信息论观点。
在这篇文章里,我们用信息理论证实了这两种可能性确实存在。
同时,我们分析了如何减小语言探针的误差的办法。
朱子宁:
目前就读于多伦多大学,师从Frank Rudzicz。研究方向包括自然语言处理和深度模型的可解释性。
他试图设计实验来理解深度语言模型编码的信息,以及这些模型在应用时的表现。

1

语言探针所解决的问题

最近,神经网络在NLP中的作用越来越重要,在上面列出的一些任务中,神经网络是需要不同的知识和能力。
在翻译任务中,需要翻译的语句需要由深度语言模型用另外一种语法去表达语义信息,这表明模型需要具有在不同语言中应用语法的知识。而语言的可接收性任务中则同样面对翻译问题中的语句通顺问题。同样涉及到需要不同的语法去表达语义信息的还有Paraphrase任务。上述任务共同包含的能力需求是识别语义的前后包含关系,例如前一句有没有包含第二句话的条件。
模型还应该具有常识判断能力。
例如:大象不能放到冰箱里面,因为它太大了,这个它指的是大象还是冰箱。而模型要想正确的理解“它”是大象还是冰箱,就必须知道现实生活中大象和冰箱的大小概念,这样才能正确理解是大象太大了。而相反的语句,大象不能放到冰箱里,因为它太小了,模型则能够理解是冰箱太小了。
另外在做任务时,神经模型还需要理解语义信息,例如 Quora Question Pairs任务中,需要判断两个问题是否在提问相同的问题。
值得考虑的一点是,在这些任务中神经模型能够出色的完成任务,这意味这它们应该具有很多相关知识。因此需要关注它们具有多少知识,如果它们具有这些知识,它们是从什么时候开始学会这些知识的。它们对于这些知识的储存方式是不是储存在一部分的单元里面,如果是的话我们能不能把这些单元提取出来,或者改进其他的单元。而知道这些知识的储存位置对于如何设计更好的模型提供了帮助。
探究这个问题的方法是使用诊断探针。在2016年的时候,Ettinger 在文章《Probing for semantic evidence of composition by means of simple classification tasks》中提出了探针诊断。
他们设计的方法是使用分类器,分类器算法的输入是句子的表征,输出的是语言任务,而使用者只需要手动指定一些语言任务,然后让分类器去学习。如果分类器能很容易学会,即获得很高的正确率或很低的交叉熵损失函数,就说明表征中有很多很容易解码的信息。
Bengio在文章《Understanding intermediate layers using linear classifier probes》中提出,对诊断探针的分类器的疑问可以概括为,在模型的阵列当中是否包含这块信息。因为在一个深度模型当中,从低层到高层所包含的信息是减少的,这主要因为信息处理的不平等,模型会对信息做一些处理,导致信息的损失,但是会尽量保留有用信息。所以越往高层走,任务相关的信息占的比例会越来越高的,会越来越容易解码。

2

对于语言探针的探索

当设置好语言探针任务之后,就能够使用探针去寻找不同的语言信息,例如语法信息。Hewitt在2019年发表于NAACL的《A Structural Probe for Finding Syntax in Word Representations》中使用探针去寻找句子中的单词与单词在语法树上的距离,因此他们的输入就是句子的表征,而输出的是词与词的语法距离。
他们在文章中表明,在BERT模型中,较低层的表征含有较多的语法树距离信息,但是在模型的高层中这类信息相对较少。Tenney在文章《BERT Rediscovers the Classical NLP Pipeline》中发现高层中包含的语义信息比较多,低层中语法信息比较多。
这就像一个传统的Pipeline形式,可解释性强且信息局部化,其中每个流程都在完成不同的工作,且是严格按照一定顺序进行的,例如句法分析,语法分析,命名实体识别,语义角色标注,然后共指消解。其先在低层处理一些语法特征,传统的办法有手动提取特征,而在高层中通过算法提取一些语义信息,即形成低层语法,高层语义的模式。Tenney组发现BERT模型中也呈现出了类似的特征。
作者在他的论文《Examining the rhetorical capacities of neural language models》对修辞特征进行了探索,他们把探针的输入设置成文章的表征,进而观察文章中有多少解释或者转折的信息,并且观察到双向的语言模型在这方面表现比单向的语言模型要好。
语言探针容易设置:输入表征、让分类器预测一些诊断任务。探针结果的结果容易解读:“诊断探针任务”的效果好,则可以推测“表征的知识丰富”。但是这种传统的语言探针模式在2019年受到了挑战。
2019年EMNLP获得最佳论文奖第二名的斯坦福大学的研究团队在《Designing and Interpreting Probes with Control Tasks》(作者为 John Hewitt、Percy Liang)一文种提出: 当我们能够观察到好的表现的时候,不一定是因为这个表征具有很多的信息,也有可能是因为探针学会了这项任务。
这是因为探针本身就是神经网络,而神经网络甚至能够从随机的向量里面学习改进(参考:2017年Zhang的《Understanding Deep Learning Requires Rethinking Generalization》)。
因此只要所用的数据集够小,而探针的设置够大,探针甚至能够通过这个数据集建模。
因此,他们提出使用“Selectivity”标准去选择探测器。Selectivity标准是:和使用了随机标签的控制任务相比,探针的精度提高了多少。
探针本身就能够进行学习,但是在“控制任务”里面,探针也会学习。
这些学到的知识会减法中被抵消。
此外,Hewitt and Liang还推荐使用更简单的探针模型,因为探针的参数越少,它的学习能力就越低。
针对Hewitt& Liang的文章,几个月之后,ETH Zurich的Tiago Pimentel等人在ACL 2020文章《Information-Theoretic Probing for Linguistic Structure》中反驳了他的观点。
首先,他们试图从信息论的角度来定义探针任务。他们提出,语言探针的目的在于计算表征R和任务T之间有多少互信息(code-target mutual information, I(T;R))。
在NLP模型中,我们通常认为词语或者句子的表示蕴含了一定的语言学性质,比如句法信息或者语义信息。为了证明这一点,人们设置了探针任务,它是关注于简单的语言学性质的分类任务。
比如对于一个LSTM encoder,使用句子 embedding 来训练一个时态分类器,如果能够得到正确的分类,则认为这个 embedding 包含了一定的时态信息。Hewitt的文章认为探测任务应该使用比较简单的模型,比如使用浅层感知机。
而Pimentel等人这篇文章反驳了这一观点,认为探测任务应该使用表现尽可能好的探针模型,他们反对Hewitt提出的二分法解释。
Pimentel也反对使用控制任务;他们提出控制函数作为控制设置。控制函数与控制任务的区别在于控制函数将表征随机化,而控制任务将标签随机化。在后面的实验中,我们将证实这两者是等价的。
此外,Pimentel还使用了信息增益这个判断标准来选择语言探针,信息增益是控制任务和探测任务交叉熵损失的差异,用此来近似信息的增量。
这两篇文章形成了一种辩论,我们试图解释这两个文章里面观点不同的地方。

3

我们的分析

我们首先在Pimentel的文章提出的信息论的框架下,试图去写出Hewitt文章里所说的二分法,根据结果,我们发现导致一个比较低的诊断探针交叉熵的可能性原因有两种,即I(T;R)是有很高的code-target mutual information,即表征中包含有很多信息。
第二种可能性是一个很低的KL值,这个值低说明探针学会了这项分类任务。这就说明了这个二分法在信息论框架中也是有效的,即如果探针任务获得了很好的表现,就可能是因为表征好,或者是因为探针比较强直接学会了任务。
那么如何选择比较好的语言探针呢,我们接下来尝试了控制任务和控制函数两种方法,这两种方法都是通过设置两项任务来实现的,一项是传统的语言探针任务,一项是控制任务,然后拿控制任务的表现减去探针任务的表现,去观察他的差值,然后用这个差值去近似code-target mutual information,我们发现这两种办法都包含误差,但是这个误差比只用一个任务去做探针的误差小得多,这个误差是两个KL的差值。
在训练比较好的时候,在两个KL应该都趋向于0,实时上在损失函数没有达到0的时候,这两个KL都没有变成0,但是在理想情况下这两个会相互抵消。
但是在模型中有没有抵消或者抵消多少还是一个待探索的任务。剩下的Δh和Δp只有一个常数的区别,如果随机性做的好,剩下的这几项都是不相关的。
接下来我们用实验的方法来验证一下这两个方法是否具有等价性,首先做了一个超参数搜索,设置了一个比较简单的语言探针任务,试图看这个语法特征。然后我们在英语,法语,西班牙语的UD数据集上进行了实验,然后我们对于每一种语言跑了1w多次POS探针实验。
最后把这些实验的结果排序之后发现根据Hewitt组的标准和Pimentel组的标准排序。可以发现它们的相关性是相当高的,所以他们的判断标准差不多是一样的,就像模型训练中的acc和loss的相关性。

4

总结

总之,这篇文章试图在一个信息论框架里面探究语言探针诊断器。我们分析出现的误差来源,其出现于单次损耗和控制机理,然后分析怎么样减小他的误差。
我们还分析了过去的两篇比较热门的文章里面提出的选择语言探针的标准,发现他们提出的标准在实验上和理论上都等价的。
可以再解释一下高层主要是语义信息,低层是语法信息?
朱子宁: “那篇文章指定了一些语义和语法特征,每个特征做一个探测(分类)任务。他们发现语义相关的特征比较容易从较高的几层里(用诊断探针模型)检测到,语法特征在低层比较容易探测到。”
这个特性和CV里,低层识别边、角、轮廓,高层识别局部细节,有共性。应该是网络的特性?
朱子宁:“是的。”




点击阅读原文,直达AAAI小组!

登录查看更多
1

相关内容

分类是数据挖掘的一种非常重要的方法。分类的概念是在已有数据的基础上学会一个分类函数或构造出一个分类模型(即我们通常所说的分类器(Classifier))。该函数或模型能够把数据库中的数据纪录映射到给定类别中的某一个,从而可以应用于数据预测。总之,分类器是数据挖掘中对样本进行分类的方法的统称,包含决策树、逻辑回归、朴素贝叶斯、神经网络等算法。
最新《生成式语言模型: 信息论视角》报告,292页ppt
专知会员服务
28+阅读 · 2020年11月9日
专知会员服务
39+阅读 · 2020年6月19日
【哈佛大学】机器学习的黑盒解释性,52页ppt
专知会员服务
168+阅读 · 2020年5月27日
Capsule Networks,胶囊网络,57页ppt,布法罗大学
专知会员服务
67+阅读 · 2020年2月29日
一文带你了解MultiBERT
深度学习自然语言处理
16+阅读 · 2020年6月28日
ACL 2019 | 多语言BERT的语言表征探索
AI科技评论
20+阅读 · 2019年9月6日
从香农熵到手推KL散度:一文带你纵览机器学习中的信息论
观点 | 为什么我对MATLAB情有独钟
机器之心
5+阅读 · 2017年12月4日
【NLP】周明:自然语言对话引擎
产业智能官
6+阅读 · 2017年10月19日
大学数学不好,或许是数学教材的锅?
算法与数学之美
15+阅读 · 2017年8月1日
Arxiv
4+阅读 · 2020年5月25日
Visualizing and Measuring the Geometry of BERT
Arxiv
7+阅读 · 2019年10月28日
Arxiv
12+阅读 · 2018年9月5日
Arxiv
19+阅读 · 2018年6月27日
VIP会员
相关资讯
一文带你了解MultiBERT
深度学习自然语言处理
16+阅读 · 2020年6月28日
ACL 2019 | 多语言BERT的语言表征探索
AI科技评论
20+阅读 · 2019年9月6日
从香农熵到手推KL散度:一文带你纵览机器学习中的信息论
观点 | 为什么我对MATLAB情有独钟
机器之心
5+阅读 · 2017年12月4日
【NLP】周明:自然语言对话引擎
产业智能官
6+阅读 · 2017年10月19日
大学数学不好,或许是数学教材的锅?
算法与数学之美
15+阅读 · 2017年8月1日
Top
微信扫码咨询专知VIP会员