为何BERT在 NLP 中的表现如此抢眼?

https://www.toutiao.com/a6701812430017659396/

 

2019-06-13 08:55:01

 

Transformer体系结构模型,特别是 BERT,已经被证明在许多 NLP 任务中是相当有效的,通过在大规模语料库上以非监督方式预先训练的模型进行微调。 Bert 模型以一系列单词作为输入,并产生一系列跨层的词嵌入向量,这些词嵌入向量考虑到了单词出现的上下文。

最近发表的两篇论文[1][2]中,关于为什么 BERT 表现如此之好给出了几何解释。这些论文中的一些重要发现表明:

1.Bert 的词向量输出有着丰富的语言结构编码。 Bert 在为一个句子输出的词嵌入向量中对语法树进行近似编码,这些树可以通过词嵌入向量的线性变换来恢复;

2.Bert 在互补子空间中以词向量编码句法和语义特征;

3.一个词的不同意思有许多表征(由句子上下文决定) ,这些表征在空间上以细粒度的方式分开;

从一个句子的 BERT 词向量中恢复解析树

语言可以看作是由离散的结构组成的-即符号(或单词)序列,而句子的句法结构是由一棵树构成的。 相比之下,神经网络模型对连续数据进行操作并将符号信息转换为高维空间中的向量。 众所周知,这些向量(词嵌入向量)可以在其长度或方向上捕捉语义相似性(例如 word2vec、 fasttext 等)。

最近的发现表明 BERT 词向量输出编码丰富的语言结构。 在一个句子的向量输出中编码的是语法树的几何近似拷贝。 句子中的单词在高维空间中给定了位置,如果我们将这些单词向量进行特定的转换,这些位置之间的欧几里得度量将会映射到语法树距离。 本质上,我们可以恢复句子的语法树(以及带有方向边的依赖树) ,通过使用特定的线性映射转换词向量,然后在词向量之间的距离上找到一个最小生成树[3]。

语法树中的树距离(两个节点之间的树距离是它们之间路径中的边的数量)和欧几里得度量之间的映射(最小生成树中的节点之间的映射是根据词嵌入向量得出的)不是线性的。 两个单词之间的语法树距离对应于提取的欧几里得度量最小生成树中相应节点之间的平方。 第二篇论文给出一个理由,说明它为什么是欧几里得度量的平方。由于树枝的存在,等距(映射保持距离)将一棵树映射到欧几里德空间是不可能的[4]。

来自论文

例如,左边的节点 a 和节点 b 之间的树距离是2,即 d (a,x) + d (x,b)。由于 d (a,b)= d (a,x) + d (x,b) ,在到欧氏空间的等距映射中,a,x,b 必须是共线的(x 必须在连接 a 和 b 的直线上,以保证上述条件成立),对点 a,x和 c,d (a,c)= d (a,x) + d (x,c) ,a,x 和 c 应用相同的观点也必须是共线的。 但这意味着 b= c,这就矛盾了。不过从树到平方距离有一个等距映射(Pythagorean embeddings) ,如上图所示。总的来说就是:

来自论文

一般来说,词嵌入向量表明一个单词的不同意思是分开的,词义消歧就是通过这种分离来实现的。通过上述路线解构模型可能揭示更多的语言结构(比如解析树)或者等价的更多子空间,理解内部的几何形状表示似乎可以潜在地找到改进模型体系结构的方法。

参考

1.https://arxiv.org/pdf/1906.02715.pdf

2.https://nlp.stanford.edu/pubs/hewitt2019structural.pdf

3.https://en.wikipedia.org/wiki/Minimum_spanning_tree

4.https://www.encyclopediaofmath.org/index.php/Isometric_mapping

你可能感兴趣的:(人工智能,为何BERT在,NLP,中的表现如此抢眼?)