什么是各向异性

文章来源:NLP名词解释:各向异性(Anisotropic) - 知乎 (zhihu.com)

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

“Anisotropic” means word embeddings occupy a narrow cone in the vector space.

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

各向异性最早是一个物理概念,是指物体的全部或部分物理、化学等性质随方向的不同而有所变化的特性。作为吃货的我们肯定非常有经验,吃肉的时候顺纹切的肉比横纹切的肉更有嚼劲。类似的还有木头的顺纹和横纹的抗压和抗拉能力也不同,石墨单晶的电导率在不同方向差异很大。

各向异性在向量空间上的含义就是分布与方向有关系,而各向同性就是各个方向都一样,比如二维的空间,各向异性和各向同性对比如下(左图为各向异性,右图为各向同性):

preview

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

preview

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

各向异性的缺点

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

preview

左图是理想的表示,右图则有各向异性的缺点。

如何消除各向异性?

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

1. 映射为各向同性

BERT-flow的工作就是将原来的分布校准为高斯分布。标准的高斯分布就是各向同性的。

preview

类似的还有whitening操作。大概流程就是根据SVD分解的结果,旋转缩放后得到一个标准正态分布。

preview

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

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