在基于嵌入的机器学习系统中,余弦相似度长期占据主导地位。这种度量通过计算向量夹角的余弦值来评估语义相似性,其数学简洁性与计算效率使其成为信息检索、语义搜索和跨模态对齐的默认选择。然而,随着嵌入模型表达能力的增强和应用场景的多样化,余弦相似度的根本局限日益凸显:它将向量范数视为噪声而予以丢弃,却忽视了范数可能承载的关键语义信号。
向量分解:方向与范数的语义分工
从几何视角审视,任意非零嵌入向量 x ∈ ℝᵈ 均可唯一分解为范数与方向的乘积:x = ‖x‖ · x̂,其中 x̂ = x/‖x‖ 位于单位超球面 𝕊ᵈ⁻¹ 上。余弦相似度仅保留方向分量:cos_sim (x, y) = x̂ᵀŷ = cos (θ),其中 θ 为两向量夹角。
这种分解揭示了一个关键洞察:向量范数 ‖x‖ 与方向 x̂ 可能分别编码不同类型的语义信息。研究表明,范数常映射为确定性、显著性或信息增益 —— 长向量往往对应模型高度确信或信息丰富的输入,而短向量则反映不确定性或语义模糊性。余弦相似度通过将所有向量投影到单位球面,彻底抹除了这种径向变化,将 "高置信度的匹配" 与 "低置信度的巧合" 视为等价。
余弦相似度的三大失效模式
1. 嵌入空间的各向异性
预训练语言模型(如早期 BERT)产生的嵌入往往高度各向异性:绝大多数向量聚集在一个狭窄的锥形区域内。这导致任意两个无关句子的余弦相似度都可能高达 0.9 以上,严重削弱区分能力。这种现象源于过参数化架构和欠正则化的训练目标,导致嵌入输出呈现低秩特性。
2. 词频诱导的相似度扭曲
高频词在嵌入空间中往往靠近原点,而低频词分布更为分散。这造成一种系统性偏差:即使语义上更接近,高频词与目标词的余弦相似度也可能低于低频词。形式化表述为 cos_sim (w_high-freq, w') < cos_sim (w_low-freq, w'),即使前者语义关联更强。
3. 高维空间中的中心节点现象
在高维嵌入空间中,少数 "中心节点" 向量会与大量其他向量表现出异常高的相似度,破坏最近邻搜索的可靠性。余弦相似度通过聚焦角度而非幅度,虽在一定程度上缓解了距离集中问题,却加剧了中心节点效应 —— 某些向量因其方向特性而频繁出现在各类查询的 Top-K 结果中。
范数感知相似度框架
针对上述局限,研究者提出了一系列将范数信息重新纳入考量的度量方法。
** 缩放相似度(Scaled Similarity)** 引入权重参数 α ∈ [0,1] 来平衡角度与径向分量:
scaled_sim(x, y) = α·cos_sim(x, y) + (1-α)·(‖x‖ + ‖y‖)
当 α 趋近于 1 时退化为标准余弦相似度;当 α 降低时,范数差异对相似度评分的贡献增大。
** 词旋转距离(Word Rotator's Distance, WRD)** 采用更精细的分解策略:
WRD(x, y) = |‖x‖ - ‖y‖| + λ·arccos(cos_sim(x, y))
其中 λ 平衡范数差异与角度差异。WRD 在词汇相似性和语义检索任务中展现出优于纯余弦方法的性能。
** 查询库归一化(QueryBank Normalization, QB-Norm)** 则采取后处理策略,对余弦相似度进行基于查询的 z 分数归一化:
s̃(q, d) = (cos_sim(q, d) - μ_q) / σ_q
其中 μ_q 和 σ_q 是查询 q 与背景语料库中各文档余弦相似度的均值与标准差。这种方法无需重新训练模型即可改善排序质量。
嵌入质量诊断的可操作参数
在实际部署中,可通过以下指标诊断嵌入质量与度量选择是否适配:
各向异性指数:计算语料库中所有嵌入对的平均余弦相似度。若该值超过 0.8,表明空间严重各向异性,需考虑后处理白化或主成分移除。
范数 - 语义相关性:计算向量范数与人工标注置信度 / 信息量的 Spearman 相关系数。若 ρ > 0.3,表明范数承载有效语义信号,应使用范数感知度量。
中心节点检测:统计每个向量作为其他向量 Top-K 近邻的次数分布。若存在若干向量的出现频率超过平均值的 5 倍标准差,则存在中心节点问题,需引入 QB-Norm 或重新训练。
频率 - 相似度相关性:按词频分层抽样,检验高频词与低频词在相似度分布上是否存在系统性差异。若存在,表明存在频率偏差,需调整相似度计算方式。
从公理化视角重构语义度量
理想的语义距离度量应满足以下公理:
- 传递性:若 d (a,b) < ε 且 d (b,c) < ε,则应有 d (a,c) < f (ε),其中 f 为可控的误差放大函数。
- 尺度不变性:对输入进行线性缩放不应改变语义相似性判断。
- 语义单调性:若人类标注的语义相似度 A > B,则度量值应满足 sim (A) > sim (B)。
余弦相似度满足尺度不变性,但在各向异性空间中违反语义单调性。范数感知度量通过引入径向信息,有望在保持尺度控制的同时恢复单调性。
实践建议
对于正在构建语义检索系统的工程师,建议采取以下决策路径:
首先,通过计算嵌入范数的分布(均值、方差、偏度)评估范数信息量。若范数分布呈现明显偏态或存在长尾,表明模型在训练中对不同输入产生了差异化的置信度响应,此时应保留范数信息。
其次,在检索任务中实施 A/B 测试,比较余弦相似度与 WRD 或缩放相似度的 Top-K 命中率。若后者显著提升,则表明当前嵌入空间存在方向 - 范数耦合的语义信号。
最后,对于跨模态系统(如 CLIP 风格的图文对齐),务必检验不同模态嵌入的范数分布是否匹配。模态间的范数差异会导致相似度计算偏向某一模态,需通过 QB-Norm 或模态特定的归一化予以校正。
向量范数不是噪声,而是信号。理解并利用这一信号,是构建更鲁棒、更可解释、更高性能的嵌入系统的关键一步。
参考来源
- You, K. (2025). Semantics at an Angle: When Cosine Similarity Works Until It Doesn't. arXiv:2504.16318v2.
- Zhou, K., et al. (2022). Problems with Cosine as a Measure of Embedding Similarity for High Frequency Words. ACL 2022.
- Bogolin, S.-V., et al. (2022). Cross Modal Retrieval with Querybank Normalisation. CVPR 2022.
- Yokoi, S., et al. (2020). Word Rotator's Distance. EMNLP 2020.
内容声明:本文无广告投放、无付费植入。
如有事实性问题,欢迎发送勘误至 i@hotdrydog.com。