论文地址:
https://arxiv.org/abs/2403.05440
https://dl.acm.org/doi/abs/10.1145/3589335.3651526
bib引用:
@inproceedings{
Steck_2024, series={
WWW ’24},
title={
Is Cosine-Similarity of Embeddings Really About Similarity?},
url={
http://dx.doi.org/10.1145/3589335.3651526},
DOI={
10.1145/3589335.3651526},
booktitle={
Companion Proceedings of the ACM Web Conference 2024},
publisher={
ACM},
author={
Steck, Harald and Ekanadham, Chaitanya and Kallus, Nathan},
year={
2024},
month=may, pages={
887–890},
collection={
WWW ’24} }
InShort
研究发现,在实际应用中,余弦相似度用于量化高维对象语义相似性时表现不稳定。文章通过分析正则化线性模型下的嵌入,揭示余弦相似度结果可能任意且无意义,提出谨慎使用该指标,并给出替代方法。
1. 研究背景【一般用作度量比较多的领域的通识问题:余弦相似度衡量方向>大小】
- 余弦相似性通常用于高维对象的语义相似性计算,尤其在嵌入向量中被广泛应用。
- 尽管余弦相似性在许多实际应用中表现良好,但也存在无法解释的情况,比如:
- 它的结果可能与未归一化的点积(dot product)不同。
- 在某些模型中,结果可能是“任意的”或“无意义的”。
2. 核心发现
- 余弦相似性依赖于嵌入的正则化方法:
- 作者通过线性模型(矩阵分解)推导了余弦相似性的数学性质。
- 不同的正则化方式会导致不同的余弦相似性结果,即使模型的点积结果相同。
- 尤其在正则化允许嵌入向量任意缩放时(如矩阵中的奇异值被重新缩放),余弦相似性可能变得不稳定或任意。
3. 具体分析
论文中通过两个矩阵分解目标函数(Objective 1 和 Objective 2)对比了余弦相似性的行为:
Objective 1(公式1):对嵌入向量的点积 ( A B T AB^T ABT) 正则化,允许奇异值的缩放
- 结果:
- 余弦相似性依赖于一个任意的对角矩阵 (D),因此相似性结果可以是任意的(见论文中user-user和item-item的公式)。
- 这种不稳定性使得余弦相似性不适合作为语义相似性的度量。
Objective 2(公式2):对嵌入向量 (A) 和 (B) 分别正则化,限制了奇异值的缩放【这种方法更稳定】
- 结果:
- 余弦相似性是唯一的(即不存在任意性)。
- 尽管结果是唯一的,但论文指出这并不一定意味着它是最好的语义相似性度量。
4. 实验
- 作者使用模拟数据(用户和物品的交互数据)验证了上述结论:
- 比较了基于公式1和公式2训练的模型,其余弦相似性在同一数据上的表现差异。
- 图1显示了当使用公式1时,物品-物品的余弦相似性对奇异值缩放敏感,结果差异较大;而使用公式2时,结果唯一且更稳定。
5. 改进建议
为了缓解余弦相似性带来的问题,作者提出了以下几种替代方案:
- 直接优化余弦相似性:在模型训练时引入与余弦相似性相关的损失函数(例如层归一化)。
- 避免嵌入空间的使用:将嵌入结果重新投射到原始空间(如用户-物品交互矩阵),然后在原始空间中应用余弦相似性。
- 数据预处理:在训练前对数据进行标准化处理(例如去均值和单位方差归一化)。
总结
论文得出结论:在使用余弦相似性作为嵌入相似性度量时,应注意正则化方法的选择,因为这可能会显著影响结果的稳定性和语义解释能力。【基于objective 2 的方法更好:分别对矩阵A和B正则化,而不是对 A B T AB^T ABT的点积进行正则化】
摘要
余弦相似度是两个向量之间角度的余弦值,或者等效于它们归一化之间的点积。一个流行的应用是通过将余弦相似性应用于学习的低维特征嵌入来量化高维对象之间的语义相似性。在实践中,这可能比嵌入向量之间的非规范化点积效果更好,但有时也比更差。为了深入了解这一实证观察,我们研究了从正则化线性模型派生的嵌入,其中封闭式解决方案有助于分析见解。我们从分析中推导出余弦相似性如何产生任意的、因此毫无意义的“相似性”。对于一些线性模型,相似性甚至不是唯一的,而对于其他模型,它们则由正则化隐式控制。我们讨论了线性模型之外的含义:在学习深度模型时采用不同正则化的组合;当对结果嵌入进行余弦相似性时,这些会产生隐含和意外的效果,使结果不透明且可能是任意的。基于这些见解,我们告诫不要盲目使用余弦相似性并概述替代方案。
Introduction
Discrete entities (e.g.words)通常通过学习映射被嵌入到各种领域中的密集实值向量(dense real-valued vectors)中。例如,在大型语言模型中,单词基于其周围的上下文被嵌入;而推荐系统通常根据物品(和用户)被用户消费的方式学习物品(和用户)的嵌入。这种嵌入的好处是多方面的。特别是,它们可以直接作为(冻结或微调后的)输入提供给其他模型,并且/或者它们可以为以前是原子的和离散的实体之间提供一种数据驱动的(语义)相似性概念。
“余弦相似度”中的相似性是指较大的值(与距离度量中的较小值相反)表示更接近的事实,然而,它也已成为感兴趣实体之间语义相似性的一种非常流行的度量,其动机在于学习到的嵌入向量的范数不如嵌入向量之间的方向对齐重要。虽然有无数的论文报告了余弦相似度在实际应用中的成功使用,但也发现它不如其他方法效果好,例如学习到的嵌入之间的(未归一化)点积,例如参见[3,4,8]。
在本文中,我们试图阐明这些不一致的实证观察。我们表明,学习到的嵌入的余弦相似性实际上可以产生任意结果。我们发现,根本原因不是余弦相似性本身,而是学习到的嵌入具有一定程度的自由度,即使它们的(非归一化)点积是明确定义和唯一的,也可以呈现任意的余弦相似性。为了获得更普遍的见解,我们推导出线性矩阵分解 (MF) 模型的解析解——这将在下一节中详细概述。在第 3 节中,我们提出了可能的补救措施。第 4 节中的实验说明了我们在本文中得出的发现。
2. 矩阵分解模型
这篇论文专注于线性模型,因为它们允许有闭式解( closed-form solutions),从而可以从理论上理解应用于学习嵌入的余弦相似度度量的局限性。
给定一个矩阵 X ∈ R n × p X\in\mathbb{R}^{n×p} X∈Rn×p,它包含 n n n个数据点和 p p p个特征(例如,在推荐系统中分别为用户和物品)。
在矩阵分解(MF)模型中,或者等效地在线性自编码器中,目标是估计一个低秩矩阵 A B ⊤ ∈ R p × p AB^{\top}\in\mathbb{R}^{p×p} AB⊤∈Rp×p,
其中 A , B ∈ R x × k A,B\in\mathbb{R}^{x\times k} A,B∈Rx×k且 k ≤ p k\leq p k≤p,使得乘积 X A B ⊤ XAB^{\top} XAB⊤是 X X X的良好近似: X ≈ X A B ⊤ X\approx XAB^{\top} X≈XAB⊤。
当给定的 X X X是一个用户-物品矩阵时, B B B的行 b i → \overrightarrow{b_{i}} bi通常被称为( k k k维)物品嵌入,
而 X A XA XA的行,记为 x u → ⋅ A \overrightarrow{x_{u}}\cdot A xu⋅A,可以解释为用户嵌入,其中用户 u t u_{t} ut的嵌入是该用户已消费的物品嵌入 a j → \overrightarrow{a_{j}} aj的总和。
Notes:封闭形式的解closed-form solutions:可以用有限次常见运算(如加、减、乘、除、乘方、开方、指数运算、对数运算、三角函数运算等)和已知函数(如多项式函数、指数函数、对数函数等)来表达的解。
因为封闭形式解可以通过数学推导和分析,清晰地看到不同因素(如不同的正则化方式)如何影响模型的结果,以及对余弦相似度计算产生何种影响 。例如,文中通过推导两种常用正则化方案下的封闭形式解,分析出第一种正则化方案下余弦相似度结果具有任意性和不唯一性,而第二种方案下结果唯一,从而为研究余弦相似度在该模型中的表现提供了理论依据。
需要注意的是,这个模型是依据用户和物品嵌入之间的(未归一化的)点积来定义的,即 ( X A B ⊤ ) u , i = < x u → ⋅ A , b i → > (XAB^{\top})_{u, i}=<\overrightarrow{x_{u}} \cdot A, \overrightarrow{b_{i}}> (XAB⊤)u,i=<xu⋅A,bi> 。然而,一旦学习到了这些嵌入,通常的做法还包括考虑它们之间的余弦相似度,比如两个物品之间的 S i m ( b i → , b i ′ → ) Sim(\overrightarrow{b_{i}}, \overrightarrow{b_{i'}}) Sim(bi,bi′) ,两个用户之间的 c o s S i m ( x u → A , x u ′ → ⋅ A ) cos Sim(\overrightarrow{x_{u}}A, \overrightarrow{x_{u'}} \cdot A) cosSim(xuA,xu′⋅A) ,或者一个用户和一个物品之间的 c o s S i m ( x u → ⋅ A , b i → ) cos Sim(\overrightarrow{x_{u}} \cdot A, \overrightarrow{b_{i}}) cosSim(xu⋅A,bi) 。接下来的内容中将展示这样做可能会导致任意的结果,而且这些结果甚至可能不是唯一的。
2.1. 训练
影响余弦相似性度量效用的一个关键因素是在学习 A , B 中的嵌入时采用的正则化,如下所述。
考虑以下两种常用的正则化方案(它们都有封闭式解决方案,请参见 Sections 2.2 和 2.3):
m i n A , B ∥ X − X A B ⊤ ∥ F 2 + λ ∥ A B ⊤ ∥ F 2 min _{A, B}\left\| X-X A B^{\top}\right\| _{F}^{2}+\lambda\left\| A B^{\top}\right\| _{F}^{2} minA,B
X−XAB⊤
F2+λ
AB⊤
F2
m i n A , B ∥ X − X A B ⊤ ∥ F 2 + λ ( ∥ X A ∥ F 2 + ∥ B ∥ F 2 ) min _{A, B}\left\| X-X A B^{\top}\right\| _{F}^{2}+\lambda\left(\| X A\| _{F}^{2}+\| B\| _{F}^{2}\right) minA,B
X−XAB⊤
F2+λ(∥XA∥F2+∥B∥F2)
这两个训练目标的 L2 范数正则化明显不同:
• 在第一个目标中, ∥ A B ⊤ ∥ F 2 \left\|A B^{\top}\right\|_{F}^{2}
AB⊤
F2 适用于他们的乘积。在线性模型中,这种 L2 范数正则化可以被证明等同于用去噪学习,即输入层的 dropout,例如,参见 [6]。此外,实验发现对保留测试数据的预测准确性优于第二个目标 [2]。不仅在 MF 模型中,而且在深度学习中,经常观察到去噪或丢失(这个目标)比权重衰减(第二个目标)在保留的测试数据上产生更好的结果。
• 第二个目标等价于 the usual matrix factorization objective minW, 即最小化( ∥ X − P Q ⊤ ∥ F 2 + λ ( ∥ P ∥ F 2 + ∥ Q ∥ F 2 ) \left\|X - PQ^{\top}\right\|_{F}^{2}+\lambda(\|P\|_{F}^{2}+\|Q\|_{F}^{2}) X−PQ⊤ F2+λ(∥P∥F2+∥Q∥F2)),其中(X)被分解为( P Q ⊤ PQ^{\top} PQ⊤),且( P = X A P = XA P=XA)以及( Q = B Q = B Q=B)。还提到这种等价关系在例如[2]中有概述。关键在于每个矩阵( P P P)和( Q Q Q)分别被正则化,这与深度学习中的权重衰减类似。
如果 A 和 B 是任一目标的解,众所周知,那么对于任意旋转矩阵 R ∈ R k × k R \in \mathbb{R}^{k ×k} R∈Rk×k , A ^ R \hat{A} R A^R 和 B ^ R \hat{B} R B^R也是解。
虽然余弦相似度在这样的旋转(R)下是不变的,但本文的一个关键见解是,第一个目标(但不是第二个目标)对于 A 和 B 的列的缩放(即嵌入的不同潜在维度)也是不变的:
如果 A ^ B ^ ⊤ \hat{A} \hat{B}^{\top} A^B^⊤是第一个目标的一个解,那么 A ^ D D − 1 B ^ ⊤ \hat{A} D D^{-1} \hat{B}^{\top} A^DD−1B^⊤也是解,其中 D ∈ R k × k D \in \mathbb{R}^{k ×k} D∈Rk×k 是任意对角矩阵。
因此,我们可以如下定义一个新的解(作为(D)的函数):
A ^ ( D ) : = A ^ D \hat{A}^{(D)}:=\hat{A}D A^(D):=A^