You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于Transformer模型的词嵌入余弦相似度为何始终在70%-100%之间?

Transformer编码器词嵌入余弦相似度的疑问解答

问题场景

使用BERT(Transformer编码器)生成词嵌入时,观察到以下现象:

  • 词1:"cat"(对应嵌入向量em1)
  • 词2:"dog"(em2)
  • 词3:"driver"(em3)
  • 词4:"lion"(em4)

计算余弦相似度得到:

  • cs(em1, em2) = 0.90
  • cs(em1, em3) = 0.70
  • cs(em1, em4) = 0.73

所有词对的余弦相似度均处于70%-100%区间,即便语义差异较大的"cat"与"driver"也不会低于70%。但将768维向量通过PCA降至50维后,部分词对的相似度会低于70%。

核心疑问

  1. 高维向量保留了更多语义信息,为何余弦相似度始终集中在70%-100%?
  2. 降维后相似度下降的原因是什么?
  3. 该现象是否在所有Transformer模型中普遍存在?

解答

1. 高维下相似度集中在70%-100%的原因

  • 嵌入空间的紧凑性:BERT这类预训练Transformer的词嵌入是在大规模语料上优化得到的,向量空间本身分布就很紧凑。预训练目标(如掩码语言模型)让语义相关向量靠近,同时所有词嵌入都朝着“能有效捕捉上下文语义”的方向优化,不会出现向量在空间中极度分散的情况,因此任意两个向量的夹角都不会过大。
  • 层归一化的约束:Transformer模型普遍使用层归一化(Layer Normalization),它会将每个向量的模长约束在相近范围,同时让向量的分布更稳定。这种约束进一步缩小了向量之间的夹角,使得余弦相似度不会过低。
  • 底层语义特征的重叠:哪怕是看似不相关的词,在高维空间中也可能共享底层语义特征——比如都是名词、实体,或者在训练语料中存在间接的上下文关联。这些重叠的维度拉高了它们的余弦相似度。

2. 降维后相似度下降的原因

  • PCA优先保留核心区分维度:PCA会优先保留数据中方差最大的维度,这些维度对应模型学到的最核心、最具语义区分度的特征。降维时,那些对应通用特征(如词性、基础统计特征)的低方差维度被丢弃,剩下的维度更聚焦于词之间的核心语义差异。
  • 去除冗余关联维度:高维空间中,一些让不相关词产生相似度的“冗余关联维度”(比如所有名词共有的特征)被过滤掉了。没有了这些冗余维度的干扰,语义不相关词对的向量夹角会变大,余弦相似度自然下降。
  • 信息压缩的必然结果:降维本质是信息压缩,会丢弃部分细节。原本高维中存在的细微关联被抹去,向量之间的区分度变得更明显,相似度数值也就随之降低。

3. 现象的普遍性

是的,几乎所有Transformer编码器模型(如RoBERTa、ALBERT、Electra等)都会出现该现象。这类模型的预训练目标、层归一化机制、向量空间优化逻辑本质一致,都会导致高维嵌入的相似度分布相对紧凑,降维后区分度提升。


内容的提问来源于stack exchange,提问作者Sukesh Ram

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 20:59:51