文章来源:NLP名词解释:各向异性(Anisotropic) - 知乎 (zhihu.com)
各向异性(Anisotropic) 的概念在BERT-flow的文章中有明确的定义:
“Anisotropic” means word embeddings occupy a narrow cone in the vector space.
翻译过来就是:“各向异性”表示词嵌入在向量空间中占据了一个狭窄的圆锥形体。但这个定义有点过于场景化,实际上各向异性的表现形式并不一定是锥形。
各向异性最早是一个物理概念,是指物体的全部或部分物理、化学等性质随方向的不同而有所变化的特性。作为吃货的我们肯定非常有经验,吃肉的时候顺纹切的肉比横纹切的肉更有嚼劲。类似的还有木头的顺纹和横纹的抗压和抗拉能力也不同,石墨单晶的电导率在不同方向差异很大。
各向异性在向量空间上的含义就是分布与方向有关系,而各向同性就是各个方向都一样,比如二维的空间,各向异性和各向同性对比如下(左图为各向异性,右图为各向同性):
学者们(Gao et al. 2019 和 Wang et al. (2020))发现Transformer学到的词向量在空间的分布是这个样子的:
Ethayarajh, 2019 发现类似的情况在BERT,GPT-2中同样存在。看上面的图就知道模型学到的向量分布是各向异性的。
各向异性的缺点
各向异性就有个问题,那就是最后学到的向量都挤在一起,彼此之间计算余弦相似度都很高,并不是一个很好的表示。一个好的向量表示应该同时满足Alignment 和 uniformity,前者表示相似的向量距离应该相近,后者就表示向量在空间上应该尽量均匀,最好是各向同性的。
左图是理想的表示,右图则有各向异性的缺点。
如何消除各向异性?
解决各向异性的方法有很多,比如
1. 映射为各向同性
BERT-flow的工作就是将原来的分布校准为高斯分布。标准的高斯分布就是各向同性的。
类似的还有whitening操作。大概流程就是根据SVD分解的结果,旋转缩放后得到一个标准正态分布。
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
有图有真相,一图胜千言。看图学知识,让你理解得更加透彻。点击下方关注,学习更多计算机知识。