18083823889

官方客服电话

一头大象有多重?(比蓝鲸重10000倍的动物)

门窗网2024-02-28 11:19:02392

转自 数据实战派

作者:Xikun Zhang(斯坦福计算机科学 Ph.D.)


译者:张雨佳

原文:Do Language Models Know How Heavy an Elephant Is?


一头大象有多重?一个结婚戒指有多贵?

人类对不同对象的比例,或者这些数字属性的合理范围有相当好的尺度感,但是预训练语言表示可以做到吗?

尽管像 BERT 这样经过预训练的语言模型已经在各种知识(包括事实性知识)方面展示了非凡的学习能力,但目前,尚不清楚它们的表示是否可以在不需要明确显示训练数据的情况下,单独从文本中捕获到这类数字属性。


前沿 | 斯坦福AI Lab研究 :语言模型能知道一头大象有多重吗?


在最近的论文 Do Language Embeddings Capture Scales?

中,我们测量了几种预训练文本表示法捕获尺度信息的数量,并表明,虽然这些方法通常可以捕获大量信息,但它们当前表现出来的性能与理论上限之间仍然存在很大的差距。我们明确指出了哪些文本表示是上下文相关的,并且对于捕获尺度信息并进行数值推理的效果较好。我们还提出了一个 BERT 的新版本 ——NumBERT。通过用科学符号代替预训练文本语料库中的数字,使其更容易将量级 / 规模这样的概念 “暴露” 给模型,改进其数值推理能力,并且还证明了 NumBERT 表示比先前所有的文本表示方法捕获尺度的能力都要好。


Scalar Probing


为了了解预训练后的文本表示(如 BERT)在多大程度上可以捕获尺度信息,我们提出了一项尺度探究(Scalar Probing

)任务:预测对象的尺度属性值分布的能力。在这项工作中,我们特别关注三种尺度属性:重量、长度和价格。

下面是尺度探究任务的基本架构:


前沿 | 斯坦福AI Lab研究 :语言模型能知道一头大象有多重吗?


该例中,我们试图通过一个预训练好的编码器提取 “狗” 的表示信息,并通过线性模型来预测或恢复狗的体重分布。我们探索了三种语言表示的基线模型:Word2Vec、ELMo 和 BERT。由于后两种都是对句子而非单词进行操作的上下文表示,因此我们输入的是使用固定模板构建的句子。例如,我们使用 “The X is heavy” 作为重量的模板,其中 X 是感兴趣的目标。

我们探索了预测点估计值和预测完整分布这两种类型。为了预测点估计值,我们使用一个训练过的标准线性回归(记作 “rgr”)来预测每个对象尺度属性中位数的对数值。对对数值进行预测是因为我们关心的是一般的尺度信息,而不是确切的值。Loss 值是通过计算预测值和真实分布中中位数的对数值得到的。为了预测完整分布,我们使用一个线性分类器 Multi-Class Classifier(记为 “mcc”)产生了一个 12 个数量级的类别分布。使用 NumBERT(改进的 BERT 版本,下文将详细介绍)对类别分布进行预测,结果见上述示例中的橙色直方图。

我们使用的真实分布来自于 Distributions over Quantities(DOQ)数据集,它从大型在线文本语料库中自动提取,包括超过 35 万个名词、形容词和 10 个以上不同属性的动词。不过在构建数据集时,要将每个属性的所有单元统一到一种单位(例如将厘米 / 米 / 公里统一到米),并相应地对数值进行缩放。我们将 DoQ 中每个目标 - 属性对的集合转换为一个超过 12 个数量级的类别分布。在上面的示例中,狗体重的真实分布显示为灰色直方图,可以看到体重大概集中在 10-100kg。

对所有目标 - 属性对进行预测时的性能越好,预训练表示对相应的尺度信息编码就越好。


NumBERT


在查看这些不同语言模型的尺度探究结果之前,让我们想想哪种表示可能拥有比较好捕获尺度信息的能力,以及怎样才能提高现有语言模型,使其更好地获取尺度信息。这些模型都是使用大型在线文本语料库(例如维基百科,新闻等等)进行训练的,所以它们是如何表示从文本中获取的尺度信息呢?

这有一段文字是我在谷歌上搜索 “大象体重” 的时候出来的:

“... 非洲象的体重从 5000 磅到超过 14000 磅不等(6350 千克)...”

所以,尺度的学习在一定程度上很可能是从数字(比如 5000,14000 等)向名词(比如大象)和计算能力的转换实现的。即理解推理数字的能力可能对表示尺度非常重要!


然而,前期工作表明,现有的预训练文本表示都不擅长数字推理,包括 BERT,ELMo 和 Word2Vec。如果超过了 500 这个数量级,它们甚至无法通过 word embedding 编码成数字。例如对(“710”)无法嵌入编码成 710。因此,我们建议将语言模型训练数据中的数字实例改用科学符号表示,并重新对 BERT 进行训练(即 NumBERT),以改进模型的数字推理能力。这种方法可以使模型更容易将句子中的目标直接与以指数表达出的大小相联系,从而忽略相对不重要的尾数。


前沿 | 斯坦福AI Lab研究 :语言模型能知道一头大象有多重吗?


研究结果


前沿 | 斯坦福AI Lab研究 :语言模型能知道一头大象有多重吗?


上表展示了在 DoQ 数据上对尺度探究的结果。我们使用了三个评价指标:准确率、均方误差(MSE)和 Earth Mover’s distance(EMD,距离度量),并在 4 个领域进行实验:长度、质量、价格和动物质量(质量的一个子集)。MSE 和 EMD 这两个指标的最好评价是 0,而准确率需要我们通过在真实数据分布中采样并对模型进行评估,来计算一个宽松上限。比如在长度探究中的准确率上限为 0.570,质量上是 0.537,价格上是 0.476。

我们计算了训练集中所有物体在柱状图上的经验性分布,并作为测试集物体的预测分布,得到每个属性的 baseline。与该 baseline 相比,我们看出 mcc 只有最好文本表示获取模型的一半(用准确率评价时),和与上述提到的上限的三分之一(用 MSE 和 EMD 评价)。这表明虽然存在大量的尺度信息,但要让模型具有可靠的常识推理能力,还有很长的路要走。

具体来说,NumBERT 方法在 EMD 指标上一直优于其他所有方法,而由于 EMD 有较好的收敛性并且可以对抗数据分布中的扰动,所以是一个最具鲁棒性的度量标准。Word2Vec 的性能明显不如上下文表示,甚至是无上下文的任务(因为在我们的设置中,一个物体在不同的上下文中是一样的真实标签)。此外,尽管在下游的自然语言处理任务上 ELMo 没有 BERT 好,但它在尺度探究方面做得更好,这与其具有字符级的标记所以在算数方面更好的结果相一致。


Zero-shot 迁移


我们注意到 DoQ 是从在线文本中派生出来的,包含噪声。所以我们在包含尺度属性真实标签的两个数据集上对 DoQ 进行训练评估:

VerbPhysics 和 Amazon Price Dataset。第一个数据集是人为打标的相对数据集(例如人,狐狸,重和大)。对该任务的预测是通过比较 rgr 的点估计和 mcc 的最高分区间来实现的。第二个数据集是亚马逊商品的价格统计分布,我们对 DoQ 价格的调查进行重新训练,以支持更细粒度的预测。


前沿 | 斯坦福AI Lab研究 :语言模型能知道一头大象有多重吗?


结果显示在上表,对于 VerbPhysics 数据集,rgr+NumBERT 的性能最好,接近了以 DoQ 的性能,尽管很少有针对该任务的模型。用 mcc 训练的尺度探究较差,可能是因为预测分布的细粒度模型对于三类比较的任务不适用。

在 Amazon Price Dataset 数据集(下表)上的全分布预测任务,mcc+NumBERT 在所有分布指标上都达到最优。在这两个 zero-shot 迁移任务上,NumBERT 在所有指标和目标上都表现最好,意味着对预训练语料库中数字表示的文本进行处理,可以显著提高尺度预测的性能。


前沿 | 斯坦福AI Lab研究 :语言模型能知道一头大象有多重吗?


未来前景


在上述工作中,我们引入了一个名为尺度探究的新任务,用来确定预训练过的文本表示可以捕获多少目标的数字属性信息。并且发现虽然目标表示中存在大量的尺度信息(理论上限的一半到三分之一),但现有模型远没有达到常识尺度的理解。我们还提出了一个改进的 BERT 版本,叫做 NumBERT,它捕获尺度信息的能力比之前所有的都好。

尺度探究开辟了一个新的可供探索的领域。例如,有许多工作已经预训练了大规模的视觉和语言模型,比如 ViLBERT 和 CLIP。研究这些表示可以捕获多少尺度信息,并将它们与仅由单语言模型学习到的表示进行系统比较是非常有趣的。

而且,学习可以更好预测尺度的文本表示模型会对现实世界有巨大的影响,例如在网页上查询:“世界上最高的建筑有多高?”

有了对 “建筑” 合理高度范围的常识理解,我们就可以检测出当前网页上检索或解析时 QA 系统出现的错误。例如,维基百科对一座建筑的句子错误地解析为 19 英里而不是 19 米。


References:

http://ai.stanford.edu/blog/scalar-probing/

https://arxiv.org/abs/2010.05345


本文链接:https://www.menchuangwang.com/post/8cdf6b50.html

阅读更多
在线咨询
手机:18083823889
电话咨询1
免费热线:18083823889
电话咨询2
免费热线:18083823889
关注微信
返回顶部