How Contextual are Contextualized Word Representations? Comparing the Geometry of BERT, ELMo, and GPT-2 Embeddings
office blog
在NLP的发展历程中,以Word2Vec、Glove和FastText为代表的静态词向量为文本在神经网络中的表示提供了一种强有力的工具,同时借助以卷积神经网络和循环神经网络为基础的的模型,在解决情感分析、文本分类等各项任务中得到了很大的提升。最近几年,随着基于双向LSTM的ELMO、基于单向Transformer的GPT-2和基于双向Transformer的BERT以及BERT的各种变体的出现,词向量的表示从静态转向了基于上下文的动态表示,使得词的表示更加的精确。因此,NLP的各项任务的评估指标得到了巨大的提升,以它们为基础的模型不断的刷新着各种榜单,同时预训练 + fine-tune的模型逐渐成为了NLP中新的范式。
在使用例如Google-bert和Transformers等关于各种预训练模型的开源库时,我们建模后得到的模型效果通常来说都是不错的。但是预训练模型得到的表示向量的语境化程度到底有多高,它们只是简单的为每个词在不同的上下文提供一个单独的表示,还是为每个词只分配有限量的表示向量?这些问题并没有得到很好的解释,而这些问题阻碍着研究人员更好的理解和使用这些模型,以及更好的推进NLP的发展。
本文用不同于以往类似于探索任务(probing task)的方式,通过研究不同模型不同层的向量表示空间(vector space)的性质来看向量语境化的程度大小。最终通过实验提出了针对于BERT、ELMO和GPT-2三个模型发现的结果,从而为为理解这些模型提供了进一步的视野,同时为后续工作的进行提供了更多的支撑。
为了定量化的评估上下文表示向量语境化的程度,作者首先提出了三种评估指标:
-
自相似度(self-similarity):假设句子集表示为 , 为句中的词, 表示 在句子集中个句子所在位置的索引。定义函数 表示模型 的 层中 在 中的表示,那么自相似度可定义为:
从上式我们可以看出,自相似度指计算 在不同句子中表示向量之间的平均余弦相似度。如果向量语境化程度越低,那么 ,它表示模型为 在不同的句子中的表示单独分配了一个向量,那么模型并没有学习到如何进行上下文表示。因此,当给定模型的给定层时,词向量的语境化程度越高,对应的自相似度的值越接近0。 -
句内相似度(intra-sentence similarity):假设 表示句子 中的 个词,那么句内相似度表示为:
从上式可以看出,句内相似度指句子中的各个词的表示向量和句表示向量的余弦相似度的均值。当自相似度值和句内相似度的值较小时,表示模型的语境化能力较强;当句子相似度值较高但自相似度值较小时,表示模型只是将句中不同词的表示向量简单的靠近与向量空间的均值处,不同词之间的区别并不显著。 -
最大可解释性方差(maximum explainable variance):承接自相似度的定义,假设 表示 的共现矩阵(occurrence matrix), 表示矩阵中的前 个非凡值(singular values),那么最大可解释性方差定义为:
表示给定层中 的上下文表示的方差的比例,而这可以使用它们的第一个主成分解释。当MEV的值越小表示模型语境化能力越强,反之表示模型语境化能力越弱。
各向异性:指物质的全部或部分化学、物理等性质随着方向的改变而有所变化,在不同的方向上呈现出差异的性质。 各向异性是材料和介质中常见的性质,在尺度上有很大差异,从晶体到日常生活中各种材料,再到地球介质,都具有各向异性。 值得注意的是,各向异性与非均匀性是从两个不同的角度对物质进行的描述,不可等同。
从向量空间的几何性质来看,假设当前有
- A panda dog runs.
- A dog is trying to get bacon off its back.
两个句子,那么dog在两个句中具有不同的含义,那么表示dog在所有可能的上下文中表示向量在向量空间中有如下的两种可能:
从左图可以看出dog的表示向量均匀的分布于整个向量空间,表示模型为dog在每个句子中都分配了一个对应的表示向量,它们在向量空间中表示为各向同性;而如果模型语境化能力够强,那么模型可以学习到dog在不同的句子中所具有的那么几个意思,因此表示向量只集中分布于向量空间中的某一簇,表示为各向异性。
发现
- 模型的各层中词的上下文表示具有各向异性,且模型的层次越高,各向异性越强。
首先需要清楚的是,平均余弦相似度越接近于1,各向异性越强。从上图可以看出,三个模型的平均余弦相似度皆大于零,而且层次越高对应的值越接近于1。另外可以看出,GPT-2相较于BERT和ELMO,它的各向异性表现更为突出。
-
模型的层次越高词的向量表示越关注于所在的上下文。
-
停用词的表示向量最特定于所在的上下文·。
-
不同的模型中,词向量关于与上下文的程度不同。
由自相似度的定义可知,值越接近0表示词向量越关注上下文;反之当值等于1时表示表示向量是上下文无关的。从上图可以看出,三种模型在不同的层次平均自相似度均小于1(ELMO的第0层除外),而且层次越高对应的值越接近0。
-
EMLO中同一句中的词与比上一层的表示更相似,因为同一句中的词共享相同的上下文,因此它们的表示自然更加相似。
-
BERT中的情况与上面的相反,但同一句子中不同词之间的相似度仍然大于两个随机选择的词。
-
GPT-2中同一句子中词并不比随机选取的两个词更为相似。
-
平均来说,上下文表示向量间至多5%的方差可以由对应的静态表示向量(static embedding)解释。
-
如果将模型底层表示向量的主成分用于词的表示,它们的效果仍优于Glove和FastText等向量表示模型。
总结
作者通过实验从向量空间的几何性质出发,探究了ELMO、BERT和GPT-2三种预训练模型在词的上下文表示中的各种特性。从发现的结果可以看出,不同的模型在表示上大致上具有一致性,但不同模型间仍有一些不同之处,而这些不同是否是源自与模型结构的不同仍待于后续的研究。另外预训练模型的上下文表示向量和静态的词向量之间存在着一定的联系,那么能否由静态词向量得到上下文表示向量呢?从本文出发,后续有很多问题值得进一步的深究。