2020-02-15 11:19:49

作者:Kawin Ethayarajh

编译:ronghuaiyang

导读

具有上下文信息的词表示到底有多大程度的上下文化?这里给出了定量的分析。

将上下文信息放到词嵌入中 — 就像BERT,ELMo和GPT-2 — 已经证明了是NLP的一个分水岭的想法了。使用具有上下文信息的词表示来替换静态词向量(例如word2vec),在每个NLP任务上都得到了非常显著的提升。

但是这些上下文化的表达到底有多大程度的上下文化呢?

想想“mouse”这个词。它有多种词义,一个指的是啮齿动物,另一个指的是设备。BERT是否有效地在每个词的意义上创造了一种“mouse”的表达形式?或者BERT创造了无数个“mouse”的形象,每一个都是和特定的上下文相关?

在我们的EMNLP 2019论文“How Contextual are Contextualized Word Representations?”中,我们解决了这些问题,并得出了一些令人惊讶的结论:

  1. 在BERT、ELMo和GPT-2的所有层中,所有的词它们在嵌入空间中占据一个狭窄的锥,而不是分布在整个区域。
  2. 在这三种模型中,上层比下层产生更多特定于上下文的表示,然而,这些模型对单词的上下文环境非常不同。
  3. 如果一个单词的上下文化表示根本不是上下文化的,那么我们可以期望100%的差别可以通过静态嵌入来解释。相反,我们发现,平均而言,只有不到5%的差别可以用静态嵌入来解释。
  4. 我们可以为每个单词创建一种新的静态嵌入类型,方法是将上下文化表示的第一个主成分放在BERT的较低层中。通过这种方式创建的静态嵌入比GloVe和FastText在解决单词类比等基准测试上的表现更好。

回到我们的例子,这意味着BERT创建了与上下文高度相关的单词“mouse”的表示,而不是每个单词都有一个表示。任何“mouse”的静态嵌入都会对其上下文化表示的差异造成很小的影响。然而,如果我们选择的向量确实最大化了可解释的变化,我们将得到一个静态嵌入,这比GloVe或FastText提供的静态嵌入更好。

上下文化的度量

上下文化看起来是什么样的?考虑两个场景:

A panda dog runs.

A dog is trying to get bacon off its back.

dog==dog 意味着没有上下文化(即我们用word2vec得到的东西)。dog != dog意味着存在某种上下文化。困难在于量化这种情况发生的程度。由于没有确定的上下文相关性度量,我们提出三个新的度量:

  1. Self-Similarity (SelfSim):一个词在其出现的所有上下文中与自身的平均余弦相似度,其中该词的表示来自给定模型的同一层。例如,我们对所有不一样的cos(, )取平均值来计算('dog')。
  2. Intra-Sentence Similarity (IntraSim): 一个词与其上下文之间的平均余弦相似度。对于第一个句子,其中上下文向量:帮助我们辨别上下文化是否朴素 —— 就是简单的让每个单词与其相邻的单词更相似 —— 或者是否更微妙,认识到在相同的上下文中出现的单词可以相互影响,同时仍然具有不同的语义。
  3. Maximum Explainable Variance (MEV): 在一个词的表示法中,可以用它的第一个主成分来解释这个词的变化的比例。例如,(‘dog’)是通过,,以及数据中其他每个'dog'实例的第一个主成分来表示变化的比例。('dog') = 1表示不存在上下文化:静态嵌入可以替换所有上下文化的表示。相反,如果('dog')接近0,则静态嵌入几乎不能解释所有的变化。

注意,这些度量都是针对给定模型的给定层计算的,因为每个层都有自己的表示空间。例如,单词‘dog’在BERT的第一层和第二层有不同的self-similarity值。

各项异性调整

当讨论上下文时,考虑嵌入的各向同性是很重要的。(即它们是否在各个方向均匀地分布)。

在下面的两个图中,('dog') = 0.95。左边的图片显示,“dog”这个词没有很好的上下文化。它的表现形式在它出现的所有上下文中几乎都是相同的,而且表示空间的高各向同性表明0.95的self-similarity是非常高的。右边的图像则恰恰相反:因为任何两个单词的余弦相似度都超过了0.95,所以‘dog’的自相似度达到0.95就没什么了不起了。相对于其他单词,‘dog’会被认为是高度上下文化的!

为了调整各向异性,我们为每个测量值计算各向异性基线,并从相应的原始测量值中减去每个基线。但是有必要对各向异性进行调整吗?有!如下图所示,BERT和GPT-2的上层是极具各向异性的,这表明高的各向异性是上下文化过程的固有特征,或者至少是其结果:

特定上下文

一般来说,在更高的层中,上下文化的表示更特定于上下文。下图所示,自相似度的降低几乎是单调的。这类似于在NLP任务上训练的LSTMs的上层如何学习更多特定于任务的表示(Liu et al., 2019)。GPT-2是最具特定上下文化的,其最后一层中的表示几乎是与上下文相关程度最高的。

自相似度最低的停止词比如包括“the”。(最特定于上下文表示的词)。一个词出现在多种上下文中,而不是其固有的一词多义,是其上下文化表示变化的原因。这表明ELMo、BERT和GPT-2并不是简单地为每个词赋予一个表示,否则,就不会这么少的词意表示会有这么多的变化。

特定上下文表示性在ELMo、BERT和GPT-2中表现得非常不同。如下图所示,在ELMo中,相同句子中的单词在上层中更相似。在BERT中,同一句话的上层单词之间的相似性更大,但平均而言,它们之间的相似性比两个随机单词之间的相似性更大。相比之下,对于GPT-2,同一句话中的单词表示彼此之间的相似性并不比随机抽样的单词更大。这表明,BERT和GPT-2的上下文化比ELMo的更微妙,因为他们似乎认识到,出现在相同上下文中的单词不一定有相同的意思。

静态 vs. 上下文化

平均而言,在一个词的上下文化表示中,只有不到5%的差异可以用静态嵌入来解释。如果一个单词的上下文化表示完全与上下文无关,那么我们期望它们的第一个主成分能够解释100%的变化。相反,平均不到5%的变化可以被解释。这个5%的阈值代表了最佳情况,其中静态嵌入是第一个主成分。例如,没有理论保证GloVe向量与最大化可解释变化的静态嵌入相似。这表明,BERT、ELMo和GPT-2并不是简单地为每个词意义分配一个嵌入:否则,可解释的变化比例会高得多。

在许多静态嵌入基准上,BERT的低层上下文化表示的主成分表现优于GloVe和FastText。这个方法将之前的发现归结为一个逻辑结论:如果我们通过简单地使用上下文化表示的第一个主成分为每个单词创建一种新的静态嵌入类型,结果会怎样?事实证明,这种方法出奇地有效。如果我们使用来自底层BERT的表示,这些主成分嵌入在涉及语义相似、类比求解和概念分类的基准测试任务上胜过GloVe和FastText(见下表)。

对于所有这三种模型,从低层创建的主成分嵌入比从高层创建的主成分嵌入更有效。那些使用GPT-2的人的表现明显比来自ELMo和BERT的人差。考虑到上层比下层更特定于上下文,考虑到GPT-2的表示更特定于上下文,这表明不太特定于上下文的表示的主成分对这些任务更有效。

总结

在ELMo、BERT和GPT-2中,上层比下层产生更多特定于上下文的表示。但是,这些模型对单词的上下文环境非常不同:在调整了各向异性之后,ELMo中相同句子中的单词之间的相似性最高,而GPT-2中几乎不存在。

平均而言,在一个词的上下文化表示中,只有不到5%的变化可以用静态嵌入来解释。因此,即使在最佳情况下,静态词嵌入也不能很好地替代上下文化的词。尽管如此,上下文化的表示可以用来创建更强大的静态嵌入类型:BERT的低层上下文化表示的主成分比GloVe和FastText要好得多!

英文原文:https://kawine.github.io/blog/nlp/2020/02/03/contextual.html

BERT, ELMo, GPT-2: 这些上下文相关的表示到底有多上下文化?相关推荐

  1. xx是一个类型 这在给定的上下文_BERT, ELMo, amp; GPT-2: 这些上下文相关的表示到底有多上下文化?...

    作者:Kawin Ethayarajh 编译:ronghuaiyang (AI公园) 具有上下文信息的词表示到底有多大程度的上下文化?这里给出了定量的分析. 将上下文信息放到词嵌入中 - 就像BERT ...

  2. BERT, ELMo, GPT-2: 这些上下文相关的表示到底有多上下文化?

    作者:Kawin Ethayarajh      编译:ronghuaiyang 导读 具有上下文信息的词表示到底有多大程度的上下文化?这里给出了定量的分析. 将上下文信息放到词嵌入中 - 就像BER ...

  3. 预训练语言模型整理(ELMo/GPT/BERT...)

    预训练语言模型整理(ELMo/GPT/BERT...)简介 预训练任务简介# 自回归语言模型# 自编码语言模型 预训练模型的简介与对比 ELMo 细节# ELMo的下游使用# GPT/GPT2# GP ...

  4. 【李宏毅机器学习】Introduction of ELMO、BERT、GPT(p25) 学习笔记

    文章目录 Putting Words into Computers--Introduction of ELMO.BERT.GPT Review A word can have multiple sen ...

  5. bert获得词向量_NLP中的词向量对比:word2vec/glove/fastText/elmo/GPT/bert

    作者:JayLou,NLP算法工程师 知乎专栏:高能NLP之路 https://zhuanlan.zhihu.com/p/56382372 本文以QA形式对自然语言处理中的词向量进行总结:包含word ...

  6. 词向量与词向量拼接_nlp中的词向量对比:word2vec/glove/fastText/elmo/GPT/bert

    本文以QA形式对自然语言处理中的词向量进行总结:包含word2vec/glove/fastText/elmo/bert. 2020年更新:NLP预训练模型的全面总结JayLou娄杰:史上最全!PTMs ...

  7. [深度学习-NPL]ELMO、BERT、GPT学习与总结

    系列文章目录 深度学习NLP(一)之Attention Model; 深度学习NLP(二)之Self-attention, Muti-attention和Transformer; 深度学习NLP(三) ...

  8. nlp中的词向量对比:word2vec/glove/fastText/elmo/GPT/bert

    本文以QA形式对自然语言处理中的词向量进行总结:包含word2vec/glove/fastText/elmo/bert. 目录 一.文本表示和各词向量间的对比  1.文本表示哪些方法? 2.怎么从语言 ...

  9. 【自然语言处理】ELMo, GPT等经典模型的介绍与对比

    接上一篇:BERT,Transformer的模型架构与详解 文章目录 2. ELMo, GPT等经典模型的介绍与对比 2.1 认识ELMo 学习目标 什么是ELMo ELMo的架构 ELMo的预训练任 ...

最新文章

  1. document.readystate
  2. 一个有趣的观察:关于内向和外向
  3. Harbor API整理:获取项目下的所有镜像
  4. subversion SVN
  5. DDD领域驱动实践记录
  6. 使用贝赛尔路径(UIBezierPath)创建画板
  7. 如何选择国外虚拟主机空间服务商
  8. 理解流 java 0325
  9. 拼多多协助广东警方打击网络黑灰产 15名嫌疑人于近日落网
  10. windows如何安装MySql(包含一些安装时问题的解决)
  11. mysql show命令原理_MySQL show processlist;命令详解
  12. es6 for(var item of list)
  13. 剑指offer【书】之简历抒写
  14. linux安装硬盘超过2t,linux 硬盘超过2T问题
  15. python画卡通人物_追忆童年,教你用Python画出儿时卡通人物
  16. html调用摄像头直播,html5调用摄像头功能的实现代码
  17. GPT-4王者加冕!读图做题性能炸天,凭自己就能考上斯坦福
  18. 卫哲:阿里的中供铁军为什么能培养出滴滴程维?
  19. 30岁的问题,为什么有人说程序员只能干到30岁。
  20. 2021年6月程序员工资统计,平均15052元

热门文章

  1. matplotlib plt.figure() 参数详细解释 对于绘制直方图 点图 的通用场景
  2. 李德毅获吴文俊人工智能最高成就奖 | AI日报
  3. 霸榜18年,作者连续20年获得微软MVP,这本SQL书凭什么成为畅销经典
  4. 【连载】优秀程序员的45个习惯之37——提供有用的错误信息
  5. iBATIS之父:iBATIS框架的成功蜕变
  6. 《Photo-Realistic Single Image Super-Resolution Using a Generative Adversarial Network》阅读笔记
  7. 零知识证明实践教程,第三部分
  8. 8个可以提高数据科学工作效率、节省宝贵时间的Python库
  9. 报告 | 电竞中高端人才平均年薪21.6万元,仅次于金融业
  10. Python 之父:Python 4.0 可能不会来了