NLP中向量表示的各向异性

各向异性(Anisotropic) 的概念在BERT-flow的文章中有明确的定义:

“Anisotropic” means word embeddings occupy a narrow cone in the [vector space](https://www.zhihu.com/search?q=vector space&search_source=Entity&hybrid_search_source=Entity&hybrid_search_extra={“sourceType”%3A"answer"%2C"sourceId"%3A2353153090}).

翻译过来就是:“各向异性”表示词嵌入在向量空间中占据了一个狭窄的圆锥形体。但这个定义有点过于场景化,实际上各向异性的表现形式并不一定是锥形。

各向异性最早是一个物理概念,是指物体的全部或部分物理、化学等性质随方向的不同而有所变化的特性。各向异性在向量空间上的含义就是分布与方向有关系,而各向同性就是各个方向都一样,比如二维的空间,各向异性和各向同性对比如下(左图为各向异性,右图为各向同性):
NLP中向量表示的各向异性_第1张图片

学者们(Gao et al. 2019 和 Wang et al. (2020))发现Transformer学到的词向量在空间的分布是这个样子的:

NLP中向量表示的各向异性_第2张图片

Ethayarajh, 2019 发现类似的情况在BERT,GPT-2中同样存在。看上面的图就知道模型学到的向量分布是各向异性的。

各向异性的缺点

各向异性就有个问题,那就是最后学到的向量都挤在一起,彼此之间计算余弦相似度都很高,并不是一个很好的表示。一个好的向量表示应该同时满足Alignment 和 uniformity,前者表示相似的向量距离应该相近,后者就表示向量在空间上应该尽量均匀,最好是各向同性的。

如何消除各向异性?

解决各向异性的方法有很多,比如

1. 映射为各向同性

BERT-flow的工作就是将原来的分布校准为高斯分布。标准的高斯分布就是各向同性的。
NLP中向量表示的各向异性_第3张图片

类似的还有whitening操作。大概流程就是根据SVD分解的结果,旋转缩放后得到一个标准正态分布。
NLP中向量表示的各向异性_第4张图片

2. 消除主成分

参见论文:

A Simple but Tough-to-Beat Baseline for Sentence Embeddings

All-but-the-Top: Simple and Effective Postprocessing for Word Representations

3. 正则化

参见论文:

Representation Degeneration Problem in Training Natural Language Generation Models

有图有真相,一图胜千言。看图学知识,让你理解得更加透彻。点击下方关注,学习更多计算机知识。

参考

https://www.zhihu.com/question/460991118/answer/2353153090

你可能感兴趣的:(NLP,自然语言处理,人工智能,深度学习)