0
点赞
收藏
分享

微信扫一扫

BERT如何解决一词多义问题

知乎上有一个这样的问题:

Bert 在pretrain的时候 每个字的输出都是经过一个分类层后去预测自己 由于分类层中的权重是固定的 所以不管输入和中间的encoding有多么的复杂 每个字最后的输出在训练过程一定是长得越来越像自己在分类层中对应的那个权重 否则loss下不去

既然这样 在不同句子里相同字的输出应该区趋于相同才对 那又如何区别一字多义呢

问题参见:https://www.zhihu.com/question/332286187


我觉得这是一个很好的问题,需要想的很细才会考虑到「他们的最后的字表示应该都长的很像苹字在分类层里的权重 那样softmax后才能有很高的概率」

简单凝练一下,楼主要问的问题就是:明明分类层是确定的,为什么BERT还是能区分一词多义?

首先,我们先分析后半句,BERT如何区分一词多义

BERT是如何区分一词多义的

BERT 的核心是 Self-Attention,而 Self-Attention 的核心是用文本中的其它词来增强目标词的语义表示

对于一个句子,每经过一层 Self-Attention,每个词的 embedding 都会是这句话中所有词 embedding 的加权平均,也就会融合这句话中所有词的信息。

因此,对于同一个词,不同的上下文会让这个词融合不同的语义信息,使得同一个词在不同的上下文中有不同的embedding,去表征不同的语义,从而区分一词多义。

更多关于 Self-Attention 的介绍可参考:

https://www.zhihu.com/question/68482809/answer/1574319286

再分析一下整个问题

为什么分类层是确定的,BERT还能区分一词多义

在pretrain时,BERT最后的分类层是确定的(至少在当前训练批次下是固定的),因此,BERT 最后一层输出的特定词的 embedding,应该和这个词在分类层中的权重是接近的,至少比分类层中其他词的权重更近,否则这个词就会分错。

那在不同上下文情况下,同一个词的embedding,在空间中到底是怎样一个分布呢?在论文《How Contextual are Contextualized Word Representations?》中,对此有作出探究。

更细致的论文解读可参考:https://zhuanlan.zhihu.com/p/106901954

从向量空间的几何性质来看,假设当前有两个句子:

  • A panda dog runs.
  • A dog is trying to get bacon off its back.

词 dog,在两个句子中具有不同的含义,那么dog在所有可能的上下文中的 embedding 向量,在向量空间中有如下的两种可能:

在这里插入图片描述

左图中,dog的 embedding 向量均匀的分布于整个向量空间,表示模型为dog在每个句子中都分配了一个对应的embedding ,并均匀分布;

右图中,dog的 embedding 只集中分布于向量空间中的某一簇,也就是,不同上下文情况下,dog的表征是比较聚集的。其实,如果模型语境化能力足够强,那么模型可以学习到dog在不同句子中所具有的那么几个意思(因为每个词的实际含义是有限的)。

论文中,通过多种不同的评价标准,得出的结论是:

在BERT、ELMo和GPT-2等表示模型的所有层中,所有的词它们在嵌入空间中占据一个狭窄的锥,而不是分布在整个区域;而且模型的层次越高,对应的嵌入空间越小,即锥越狭窄。

这也就让 「同一个词在不同上下文情况下得到的 embedding 都在对应的分类层权重附近」成为可能,强大如BERT 是拥有如此强的模型语境化能力的。虽然并没有理论的证明,但「所有的词在嵌入空间中占据一个狭窄的锥」,是BERT可以在确定的分类层下,还能区分一词多义的一个比较好的解释。

另外,分类层在训练过程中也是在不断更新的,训练阶段也可以看作是,分类层权重向量和词在不同上下文语境的embedding,彼此靠近的一个过程,因为之后这样,分类准确率才能提上去,loss才能降下来。而在训练结束后,分类层权重也可以看作是词在不同上下文语境下embedding的平均化。

最后,那同一个词在不同上下文情况下得到的 embedding 占据一个狭窄的锥,那它们能够表示多种含义嘛?

可以确定的一点是,如此多参数大容量的BERT,所能表示的向量空间是巨大的,而且向量维度越高(base 768 —> large 1024),可以表示的空间也会越大。因此,即使是一个狭窄的锥,它能表示的空间也并不会小,一个高维向量的任一一维的细微变化,都可以去表征一个含义。

参考:

1、https://www.zhihu.com/question/332286187

2、https://zhuanlan.zhihu.com/p/106901954

3、https://blog.csdn.net/Forlogen/article/details/104307898

4、https://arxiv.org/abs/1909.00512

举报

相关推荐

0 条评论