论文地址:
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^D和
B
^
(
D
)
:
=
B
^
D
−
1
\hat{B}^{(D)}:=\hat{B}D^{-1}
B^(D):=B^D−1。
反过来,这个对角矩阵 D 会影响已学习到的用户和物品嵌入向量(即行向量)的归一化:
(
X
A
^
(
D
)
)
(
n
o
r
m
a
l
i
z
e
d
)
=
Ω
A
X
A
^
(
D
)
=
Ω
A
X
A
^
D
a
n
d
\left(X \hat{A}^{(D)}\right)_{(normalized) }=\Omega_{A} X \hat{A}^{(D)}=\Omega_{A} X \hat{A} D and
(XA^(D))(normalized)=ΩAXA^(D)=ΩAXA^Dand
B
^
(
n
o
r
m
a
l
i
z
e
d
)
(
D
)
=
Ω
B
B
^
(
D
)
=
Ω
B
B
^
D
−
1
,
(
4
)
\hat{B}_{(normalized)}^{(D)}=\Omega_{B} \hat{B}^{(D)}=\Omega_{B} \hat{B} D^{-1}, (4)
B^(normalized)(D)=ΩBB^(D)=ΩBB^D−1,(4)
where
Ω
A
\Omega_{A}
ΩA and
Ω
B
\Omega_{B}
ΩB are appropriate diagonal matrices to normalize each learned embedding (row) to unit Euclidean norm. Note that in general the matrices do not commute, and hence a different choice for D cannot (exactly) be compensated by the normalizing matrices
Ω
A
\Omega_{A}
ΩA and
Ω
B
\Omega_{B}
ΩB . As they depend on D , we make this explicit by
Ω
A
(
D
)
\Omega_{A}(D)
ΩA(D) and
Ω
B
(
D
)
\Omega_{B}(D)
ΩB(D) Hence, also the cosine similarities of the embeddings depend on this arbitrary matrix D.
在矩阵分解模型的研究中,这段话主要围绕嵌入向量归一化以及余弦相似度与任意矩阵(D)的关系展开。
Ω
A
\Omega_{A}
ΩA和
Ω
B
\Omega_{B}
ΩB是用于将每个学习到的嵌入向量(按行)归一化到单位欧几里得范数的合适对角矩阵。在数学中,单位欧几里得范数意味着向量的长度为(1),这种归一化操作在很多计算中能消除向量长度带来的影响,专注于向量的方向。比如在计算向量夹角时,归一化能让计算更具可比性。
一般情况下
Ω
A
\Omega_{A}
ΩA和
Ω
B
\Omega_{B}
ΩB这两个矩阵不满足交换律。矩阵交换律是指对于矩阵(M)和(N),(MN = NM)才满足交换律。这里不满足交换律就意味着
Ω
A
Ω
B
≠
Ω
B
Ω
A
\Omega_{A}\Omega_{B} \neq \Omega_{B}\Omega_{A}
ΩAΩB=ΩBΩA 。
∵ ①前面提到在第一种正则化方案下存在任意对角矩阵(D)影响嵌入向量。由于
Ω
A
\Omega_{A}
ΩA和
Ω
B
\Omega_{B}
ΩB不交换,不同的(D)选择所带来的变化,无法通过
Ω
A
\Omega_{A}
ΩA和
Ω
B
\Omega_{B}
ΩB完全抵消。
②
Ω
A
\Omega_{A}
ΩA和
Ω
B
\Omega_{B}
ΩB的取值依赖于(D),为了明确这种依赖关系,将它们表示为
Ω
A
(
D
)
\Omega_{A}(D)
ΩA(D)和
Ω
B
(
D
)
\Omega_{B}(D)
ΩB(D) 。
∴ 在计算嵌入向量的余弦相似度时,会涉及到这些归一化矩阵,既然它们依赖于(D),那么嵌入向量的余弦相似度也就必然依赖于这个任意矩阵(D)。
∴ 所以前面说为什么在第一种正则化方案下,余弦相似度的结果会具有任意性,因为它取决于这个可任意选择的矩阵(D) 。
As one may consider the cosine-similarity between two items, two users, or a user and an item, the three combinations read item – item:
c
o
s
S
i
m
(
B
^
(
D
)
,
B
^
(
D
)
)
=
Ω
B
(
D
)
⋅
B
^
⋅
D
−
2
⋅
B
^
⊤
⋅
Ω
B
(
D
)
cos Sim\left(\hat{B}^{(D)}, \hat{B}^{(D)}\right)=\Omega_{B}(D) \cdot \hat{B} \cdot D^{-2} \cdot \hat{B}^{\top} \cdot \Omega_{B}(D)
cosSim(B^(D),B^(D))=ΩB(D)⋅B^⋅D−2⋅B^⊤⋅ΩB(D) user – user:
c
o
s
S
i
m
(
X
A
^
(
D
)
,
X
A
^
(
D
)
)
=
Ω
A
(
D
)
⋅
X
A
^
⋅
D
2
⋅
(
X
A
^
)
⊤
⋅
Ω
A
(
D
)
cos Sim\left(X \hat{A}^{(D)}, X \hat{A}^{(D)}\right)=\Omega _{A}(D) \cdot X \hat{A} \cdot D^{2} \cdot(X \hat{A})^{\top } \cdot \Omega_{A}(D)
cosSim(XA^(D),XA^(D))=ΩA(D)⋅XA^⋅D2⋅(XA^)⊤⋅ΩA(D) user – item:
c
o
s
S
i
m
(
X
A
^
(
D
)
,
B
^
(
D
)
)
=
Ω
A
(
D
)
⋅
X
A
^
⋅
B
^
⊤
⋅
Ω
B
(
D
)
cos Sim\left(X \hat{A}^{(D)}, \hat{B}^{(D)}\right)=\Omega_{A}(D) \cdot X \hat{A} \cdot \hat{B}^{\top} \cdot \Omega_{B}(D)
cosSim(XA^(D),B^(D))=ΩA(D)⋅XA^⋅B^⊤⋅ΩB(D)
It is apparent that the cosine-similarity in all three combinations depends on the arbitrary diagonal matrix D : while they all indirectly depend on D due to its effect on the normalizing matrices Ω Ω A ( D ) \Omega_{A}(D) ΩA(D) and Ω B ( D ) \Omega_{B}(D) ΩB(D) ), note that the (particularly popular) item-item cosine-similarity (first line) in addition depends directly on D (and so does the user-user cosine-similarity, see second item).
2.2 Details on First Objective (Eq. 1)
The closed-form solution of the training objective in Eq. 1 was derived in [2] and reads A ^ ( 1 ) B ^ ( 1 ) ⊤ = V k ⋅ d M a t ( . . . , 1 1 + λ / σ i 2 , . . . ) k ⋅ V k ⊤ \hat{A}_{(1)} \hat{B}_{(1)}^{\top}=V_{k} \cdot dMat(..., \frac{1}{1+\lambda / \sigma_{i}^{2}}, ...)_{k} \cdot V_{k}^{\top} A^(1)B^(1)⊤=Vk⋅dMat(...,1+λ/σi21,...)k⋅Vk⊤ , where X = : U ∑ V ⊤ X=: U \sum V^{\top} X=:U∑V⊤ is the singular value decomposition (SVD) of the given data matrix X , where ∑ = d M a t ( . . . , σ i , . . . ) \sum =dMat(..., \sigma_{i}, ...) ∑=dMat(...,σi,...) ) denotes the diagonal matrix of singular values, while U , V contain the left and right singular vectors, respectively. Regarding the k largest eigenvalues σ i \sigma_{i} σi , we denote the truncated matrices of rank k as U k U_{k} Uk , V k V_{k} Vk and ( ( . . . ) ) k (...))_{k} (...))k
We may define(As D is arbitrary, we chose to assign
d
M
a
t
(
.
.
.
,
1
1
+
λ
/
σ
i
2
,
.
.
.
)
k
1
2
dMat(..., \frac{1}{1+\lambda / \sigma_{i}^{2}}, ...)_{k}^{\frac{1}{2}}
dMat(...,1+λ/σi21,...)k21 to each of
A
^
\hat{A}
A^ ,
B
^
\hat{B}
B^ without loss of generality.)
A
^
(
1
)
=
B
^
(
1
)
:
=
V
k
⋅
d
M
a
t
(
.
.
.
,
1
1
+
λ
/
σ
i
2
,
.
.
.
)
k
1
2
.
(
5
)
\hat{A}_{(1)}=\hat{B}_{(1)}:=V_{k} \cdot dMat\left(..., \frac{1}{1+\lambda / \sigma_{i}^{2}}, ...\right)_{k}^{\frac{1}{2}} . (5)
A^(1)=B^(1):=Vk⋅dMat(...,1+λ/σi21,...)k21.(5)
当我们考虑满秩MF模型的特殊情况时,即当
k
=
p
k=p
k=p时,余弦相似度的任意性在这里变得 especially striking
This is illustrated by the following two cases:
if we choose
D
=
d
M
a
t
(
.
.
.
,
1
1
+
λ
/
σ
i
2
,
.
.
.
)
1
2
D=dMat(..., \frac{1}{1+\lambda / \sigma_{i}^{2}}, ...)^{\frac{1}{2}}
D=dMat(...,1+λ/σi21,...)21 , then we have
A
^
(
1
)
(
D
)
=
A
^
(
1
)
⋅
D
=
\hat{A}_{(1)}^{(D)}=\hat{A}_{(1)} \cdot D=
A^(1)(D)=A^(1)⋅D=
V
⋅
d
M
a
t
(
.
.
.
,
1
1
+
λ
/
σ
i
2
,
.
.
.
)
V \cdot dMat(..., \frac{1}{1+\lambda / \sigma_{i}^{2}}, ...)
V⋅dMat(...,1+λ/σi21,...) and
B
^
(
1
)
(
D
)
=
B
^
(
1
)
⋅
D
−
1
=
V
\hat{B}_{(1)}^{(D)}=\hat{B}_{(1)} \cdot D^{-1}=V
B^(1)(D)=B^(1)⋅D−1=V .
给定奇异向量V的全秩矩阵已经归一化(关于列和行),归一化
Ω
B
=
I
\Omega_{B}=I
ΩB=I因此等于单位矩阵I。
We thus obtain regarding the item-item cosine-similarities:
c
o
s
S
i
m
(
B
^
(
1
)
(
D
)
,
B
^
(
1
)
(
D
)
)
=
V
V
⊤
=
I
,
cos Sim\left(\hat{B}_{(1)}^{(D)}, \hat{B}_{(1)}^{(D)}\right)=V V^{\top}=I,
cosSim(B^(1)(D),B^(1)(D))=VV⊤=I,
which is quite a bizarre result, as it says that the cosine-similarity between any pair of (different) item-embeddings is zero, i.e., an item is only similar to itself, but not to any other item! Another remarkable result is obtained for the user-item cosine-similarity:
c
o
s
S
i
m
(
X
A
^
(
1
)
(
D
)
,
B
^
(
1
)
(
D
)
)
=
Ω
A
⋅
X
⋅
V
⋅
d
M
a
t
(
.
.
.
,
1
1
+
λ
/
σ
i
2
,
.
.
.
)
⋅
V
⊤
=
Ω
A
⋅
X
⋅
A
^
(
1
)
B
^
(
1
)
⊤
,
\begin{aligned} cos Sim\left(X \hat{A}_{(1)}^{(D)}, \hat{B}_{(1)}^{(D)}\right) & =\Omega_{A} \cdot X \cdot V \cdot dMat\left(..., \frac{1}{1+\lambda / \sigma_{i}^{2}}, ...\right) \cdot V^{\top} \\ & =\Omega_{A} \cdot X \cdot \hat{A}_{(1)} \hat{B}_{(1)}^{\top}, \end{aligned}
cosSim(XA^(1)(D),B^(1)(D))=ΩA⋅X⋅V⋅dMat(...,1+λ/σi21,...)⋅V⊤=ΩA⋅X⋅A^(1)B^(1)⊤,
as the only difference to the (unnormalized) dot-product is due to the matrix
Ω
A
\Omega_{A}
ΩA , which normalizes the rows—hence, when we consider the ranking of the items for a given user based on the predicted scores, cosine-similarity and (unnormalized) dot-product result in exactly the same ranking of the items as the row-normalization is only an irrelevant constant in this case.
·if we choose.
D
=
d
M
a
t
(
.
.
.
,
1
1
+
λ
/
σ
i
2
,
.
.
.
)
−
1
2
D=dMat(..., \frac{1}{1+\lambda / \sigma_{i}^{2}}, ...)^{-\frac{1}{2}}
D=dMat(...,1+λ/σi21,...)−21 , then we have analogously to the previous case:
B
^
(
1
)
(
D
)
=
V
⋅
d
M
a
t
(
.
.
.
,
1
1
+
λ
/
σ
i
2
,
.
.
.
)
\hat{B}_{(1)}^{(D)}=V \cdot dMat(..., \frac{1}{1+\lambda / \sigma_{i}^{2}}, ...)
B^(1)(D)=V⋅dMat(...,1+λ/σi21,...) ,and
A
^
(
1
)
(
D
)
=
V
\hat{A}_{(1)}^{(D)}=V
A^(1)(D)=V is orthonormal.
We now obtain regarding the user-user cosine-similarities:
c
o
s
S
i
m
(
X
A
^
(
1
)
(
D
)
,
X
A
^
(
1
)
(
D
)
)
=
Ω
A
⋅
X
⋅
X
⊤
⋅
Ω
A
,
cos Sim\left(X \hat{A}_{(1)}^{(D)}, X \hat{A}_{(1)}^{(D)}\right)=\Omega_{A} \cdot X \cdot X^{\top} \cdot \Omega_{A},
cosSim(XA^(1)(D),XA^(1)(D))=ΩA⋅X⋅X⊤⋅ΩA, i.e., now the user-similarities are simply based on the raw data-matrix X i.e., without any smoothing due to the learned embeddings.
Concerning the user-item cosine-similarities, we now obtain
c
o
s
S
i
m
(
X
A
^
(
1
)
(
D
)
,
B
^
(
1
)
(
D
)
)
=
Ω
A
⋅
X
⋅
A
^
(
1
)
⋅
B
^
(
1
)
⊤
⋅
Ω
B
,
cos Sim\left(X \hat{A}_{(1)}^{(D)}, \hat{B}_{(1)}^{(D)}\right)=\Omega_{A} \cdot X \cdot \hat{A}_{(1)} \cdot \hat{B}_{(1)}^{\top} \cdot \Omega_{B},
cosSim(XA^(1)(D),B^(1)(D))=ΩA⋅X⋅A^(1)⋅B^(1)⊤⋅ΩB, i.e., now
Ω
B
\Omega_{B}
ΩB normalizes the rows of B , which we did not have in the previous choice of D
Similarly, the item-item cosine-similarities
c
o
s
S
i
m
(
B
^
(
1
)
(
D
)
,
B
^
(
1
)
(
D
)
)
=
Ω
B
⋅
V
⋅
d
M
a
t
(
.
.
.
,
1
1
+
λ
/
σ
i
2
,
.
.
.
)
2
⋅
V
⊤
⋅
Ω
B
cos Sim\left(\hat{B}_{(1)}^{(D)}, \hat{B}_{(1)}^{(D)}\right)=\Omega_{B} \cdot V \cdot dMat\left(..., \frac{1}{1+\lambda / \sigma_{i}^{2}}, ...\right)^{2} \cdot V^{\top} \cdot \Omega_{B}
cosSim(B^(1)(D),B^(1)(D))=ΩB⋅V⋅dMat(...,1+λ/σi21,...)2⋅V⊤⋅ΩB are very different from the bizarre result we obtained in the previous choice of D 。
总的来说,这两个情况表明,即使学习的模型 A ^ ( 1 ) ( D ) B ^ ( 1 ) ( D ) ⊤ = A ^ ( 1 ) B ^ ( 1 ) ⊤ \hat{A}_{(1)}^{(D)} \hat{B}_{(1)}^{(D) \top}=\hat{A}_{(1)} \hat{B}_{(1)}^{\top} A^(1)(D)B^(1)(D)⊤=A^(1)B^(1)⊤ 对 D 不变,对 D 的不同选择也会导致不同的余弦相似性。换句话说,余弦相似性的结果是任意的,对于这个模型来说并不是唯一的。
2.3 Details on Second Objective (Eq. 2)
方程 2 中训练目标的解在 [7] 中推导出来,如下所示
A
^
(
2
)
=
V
k
⋅
d
M
a
t
(
.
.
.
,
1
σ
i
⋅
(
1
−
λ
σ
i
)
+
,
.
.
.
)
k
a
n
d
\hat{A}_{(2)}=V_{k} \cdot dMat\left(..., \sqrt{\frac{1}{\sigma_{i}} \cdot\left(1-\frac{\lambda}{\sigma_{i}}\right)_{+}}, ...\right)_{k} and
A^(2)=Vk⋅dMat(...,σi1⋅(1−σiλ)+,...)kand
B
^
(
2
)
=
V
k
⋅
d
M
a
t
(
.
.
.
,
σ
i
⋅
(
1
−
λ
σ
i
)
+
,
.
.
.
)
k
\hat{B}_{(2)}=V_{k} \cdot dMat\left(..., \sqrt{\sigma_{i} \cdot\left(1-\frac{\lambda}{\sigma_{i}}\right)_{+}}, ...\right)_{k}
B^(2)=Vk⋅dMat(...,σi⋅(1−σiλ)+,...)k 1 σi ·(1 −λ σi )+, …)k σi ·(1 −λ σi )+, …)k 其中 (
(
y
)
+
=
m
a
x
(
0
,
y
)
(y)_{+}=max (0, y)
(y)+=max(0,y) ),再次
X
=
:
U
∑
V
⊤
X=: U \sum V^{\top}
X=:U∑V⊤ 是训练数据 X 的 SVD ,, 和
∑
=
d
M
a
t
(
.
.
.
,
σ
i
,
.
.
.
)
\sum =dMat(..., \sigma_{i}, ...)
∑=dMat(...,σi,...) 请注意,如果我们使用 MF 的常用表示法,其中
P
=
X
A
P=X A
P=XA 和
Q
=
B
Q=B
Q=B ,我们得到
P
^
=
X
A
^
(
2
)
=
U
k
\hat{P}=X \hat{A}_{(2)}=U_{k}
P^=XA^(2)=Uk
d
M
a
t
(
.
.
.
,
σ
i
⋅
(
1
−
λ
σ
i
)
+
,
.
.
.
)
k
dMat(..., \sqrt{\sigma_{i} \cdot(1-\frac{\lambda}{\sigma_{i}})_{+}}, ...)_{k}
dMat(...,σi⋅(1−σiλ)+,...)k ,我们可以看到这里的对角矩阵
d
M
a
t
(
.
.
.
,
σ
i
⋅
(
1
−
λ
σ
i
)
+
,
.
.
.
)
k
dMat(..., \sqrt{\sigma_{i} \cdot(1-\frac{\lambda}{\sigma_{i}})_{+}}, ...)_{k}
dMat(...,σi⋅(1−σiλ)+,...)k 是相同的用户嵌入向量和项目嵌入向量,正如预期的那样,由于方程 2 中训练目标中 L2 范数正则化
∥
P
∥
F
2
+
∥
Q
∥
F
2
\|P\|_{F}^{2}+\|Q\|_{F}^{2}
∥P∥F2+∥Q∥F2 的对称性。
与第一个训练目标(见方程 1)的主要区别在于,这里 L2 范数正则化 ∥ P ∥ F 2 + ∥ Q ∥ F 2 \|P\|_{F}^{2}+\|Q\|_{F}^{2} ∥P∥F2+∥Q∥F2 分别应用于每个矩阵,因此这个解是唯一的(如上所述,直到不相关的旋转),即,在这种情况下,没有办法将任意对角矩阵 D 引入第二个目标的解中。因此,应用于此 MF 变体的学习嵌入的余弦相似性会产生独特的结果。
虽然这种解决方案是独一无二的,但这个关于用户和项目嵌入的唯一对角矩阵 d M a t ( . . . , σ i ⋅ ( 1 − λ σ i ) + , . . . ) k dMat(..., \sqrt{\sigma_{i} \cdot(1-\frac{\lambda}{\sigma_{i}})_{+}}, ...)_{k} dMat(...,σi⋅(1−σiλ)+,...)k 在实践中是否产生最佳的语义相似性仍然是一个悬而未决的问题。然而,如果我们相信这种正则化使得余弦相似性在语义相似性方面有用,那么我们可以比较两种变体中对角矩阵的形式,即,将方程 6 与方程 5 进行比较表明,第一个变体(见上一节)中的任意对角矩阵 D 可以类比地选择为 D = d M a t ( . . . , 1 / σ i , . . . ) k D=dMat(..., \sqrt{1 / \sigma_{i}}, ...)_{k} D=dMat(...,1/σi,...)k 。
图 1:由于不同的建模选择,在相同数据上的项目间余弦相似度
c
o
s
S
i
m
(
B
,
B
)
cos Sim(B, B)
cosSim(B,B)的巨大变化的说明。左侧:真实的聚类(项目按照聚类分配进行排序,并且在每个聚类内按照基线流行度降序排列)。在根据公式 1 进行训练后,公式 1 允许对
V
k
V_{k}
Vk中的奇异向量进行任意重新缩放,中间的三个图展示了三种特定的重新缩放选择,如每个图上方所示。右侧:基于在根据公式 2 进行训练时获得的(唯一的)B。
3 余弦相似性的补救措施和替代方案
正如我们在上面的分析中所展示的,当一个模型被训练为带点积时,它对余弦相似度的影响可能是不透明的,有时甚至不是唯一的。一个解决方案显然是训练模型带余弦相似度,这层归一化[1]可能会有所帮助。另一种方法是避免嵌入空间,这首先会导致上面概述的问题,并将其投影回原始空间,然后可以应用余弦相似度。例如,使用上面的模型,并给定原始数据X,可以将 X A ^ B ^ ⊤ X\hat{A}\hat{B}^{\top} XA^B^⊤视为其平滑版本,并将 X A ^ B ^ ⊤ X\hat{A}\hat{B}^{\top} XA^B^⊤的行视为用户在原始空间中的嵌入,然后可以应用余弦相似度。
除此之外,还需要注意的是,在余弦相似性中,只有在学习了嵌入后才会应用归一化。与在学习之前或期间应用一些规范化或减少流行偏差相比,这可以显着减少产生的(语义)相似性。这可以通过多种方式完成。例如,统计中的默认方法是标准化数据 X(以便每列的均值和单位方差为零)。深度学习的常见方法包括使用负采样或逆倾向缩放 (IPS) 来考虑不同的项目受欢迎程度(和用户活动水平)。例如,在 word2vec [5] 中,矩阵分解模型是通过对负数进行采样来训练的,其概率与它们在训练数据中的频率(受欢迎程度)成正比,取 β = 3 / 4 \beta=3 / 4 β=3/4 的幂,这在当时产生了令人印象深刻的单词相似性。
5. 结论
在实际应用中,大家经常会用学习得到的用户和/或物品嵌入向量之间的余弦相似度,来衡量这些实体之间的语义相似性。我们在线性矩阵分解模型的框架下研究余弦相似度,这种模型便于进行理论推导。研究发现,余弦相似度很大程度上依赖于所采用的方法和正则化技术,在某些情况下,它可能完全失去意义。
我们不仅进行了理论推导,还通过实验对这些模型在模拟数据上的输出进行了定性分析,模拟数据中我们已知物品之间真实的相似度情况。基于这些研究发现,我们提醒大家不要盲目使用余弦相似度,并提出了几种缓解这个问题的方法。
虽然这篇短文仅限于研究那些能够通过理论推导得出结论的线性模型,但我们推测,在深度学习模型中,学习得到的嵌入向量的余弦相似度即便不会面临更严重的问题,也很可能会受到类似问题的困扰。因为在深度学习模型里,通常会结合使用多种正则化方法,而且模型的不同层可能会采用不同的正则化方式。这就意味着,在深度学习模型的每一层中,学习得到的嵌入向量里不同的潜在维度会被隐式地进行特定的缩放(类似于前面提到的矩阵(D)的作用)。所以,这些正则化方法对最终余弦相似度的影响在深度学习模型里可能会变得更加难以捉摸。
补充1:关于提及的两种objective
Objective 1: Regularizing the Dot Product of ( A B ⊤ AB^\top AB⊤)
L 1 = ∥ X − A B ⊤ ∥ F 2 + λ ∥ A B ⊤ ∥ F 2 \mathcal{L}_1 = \|X - AB^\top\|_F^2 + \lambda \|AB^\top\|_F^2 L1=∥X−AB⊤∥F2+λ∥AB⊤∥F2
-
What Is Being Regularized?
- Regularization is applied to the product ( A B ⊤ AB^\top AB⊤), i.e., the dot product of (A) and ( B ⊤ B^\top B⊤), as a whole.
- This means the interaction between (A) and (B) is directly regularized, but the individual embeddings (A) and (B) are not constrained independently.
-
Key Implications:
- The regularization only penalizes the combined output ( A B ⊤ AB^\top AB⊤), allowing (A) and (B) to scale arbitrarily.
- This introduces a scaling freedom through a diagonal matrix (D):
A ′ = A D , B ′ = B D − 1 (both satisfy the regularization equally well) . A' = AD, \quad B' = BD^{-1} \quad \text{(both satisfy the regularization equally well)}. A′=AD,B′=BD−1(both satisfy the regularization equally well). - This scaling freedom makes the cosine similarity results arbitrary and non-unique, because cosine similarity normalizes the vectors.
Objective 2: Separately Regularizing (A) and (B)
L 2 = ∥ X − A B ⊤ ∥ F 2 + λ ( ∥ A ∥ F 2 + ∥ B ∥ F 2 ) \mathcal{L}_2 = \|X - AB^\top\|_F^2 + \lambda (\|A\|_F^2 + \|B\|_F^2) L2=∥X−AB⊤∥F2+λ(∥A∥F2+∥B∥F2)
-
What Is Being Regularized?
- Regularization is applied independently to the L2 norms of (A) and (B).
- The penalty ensures that both embeddings have controlled magnitudes, removing the freedom to scale (A) and (B) arbitrarily.
-
Key Implications:
- By penalizing (
∥
A
∥
F
2
\|A\|_F^2
∥A∥F2) and (
∥
B
∥
F
2
\|B\|_F^2
∥B∥F2), this objective eliminates the scaling issue:
A ′ ≠ A D and B ′ ≠ B D − 1 (scaling is no longer valid) . A' \neq AD \quad \text{and} \quad B' \neq BD^{-1} \quad \text{(scaling is no longer valid)}. A′=ADandB′=BD−1(scaling is no longer valid). - The resulting cosine similarity scores are unique and stable, as embedding norms are consistent.
- By penalizing (
∥
A
∥
F
2
\|A\|_F^2
∥A∥F2) and (
∥
B
∥
F
2
\|B\|_F^2
∥B∥F2), this objective eliminates the scaling issue:
Comparison Between Objective 1 and 2
Aspect | Objective 1 (Regularize ( A B ⊤ AB^\top AB⊤)) | Objective 2 (Regularize (A) and (B) Separately) |
---|---|---|
Regularization Applied To | Product (AB^\top) | Individual matrices (A) and (B) |
Scaling Freedom | Allows arbitrary scaling via (D): (A \to AD, B \to B D − 1 BD^{-1} BD−1) | Removes scaling freedom, embedding norms are controlled |
Cosine Similarity | Arbitrary and non-unique | Unique and stable |
Impact on Norms | Norms of (A) and (B) are uncontrolled | Norms of (A) and (B) are explicitly constrained |
Why Objective 2 Is Better for Cosine Similarity
- Objective 1: Fails to constrain individual embeddings, leading to scaling issues that make cosine similarity unreliable.
- Objective 2: Ensures that embeddings have consistent norms, making cosine similarity a meaningful and interpretable metric.
补充2:关于L2-norm与softmax
L2-Normalization vs. Softmax
-
L2-Normalization:
- Purpose: 缩放向量,使其 L2 范数(幅度)变为 1,同时保持其方向不变
- Formula:
v normalized = v ∥ v ∥ 2 \mathbf{v}_{\text{normalized}} = \frac{\mathbf{v}}{\|\mathbf{v}\|_2} vnormalized=∥v∥2v
Where ( ∥ v ∥ 2 = ∑ v i 2 \|\mathbf{v}\|_2 = \sqrt{\sum v_i^2} ∥v∥2=∑vi2). - Output: 具有相同维度的向量,但缩放后使其总量级为 1。不会将值转换为概率,而只是重新调整规模
-
Softmax Function:
- Purpose: 将分数向量转换为概率分布,其中元素之和为 1
- Formula:
softmax ( v ) i = exp ( v i ) ∑ j exp ( v j ) \text{softmax}(\mathbf{v})_i = \frac{\exp(v_i)}{\sum_j \exp(v_j)} softmax(v)i=∑jexp(vj)exp(vi) - Output: 向量中的每个元素都变为介于 0 和 1 之间的正值,并且元素的总和为 1。由于指数函数,强调较大的值,同时抑制较小的值
Key Differences
Aspect | L2-Normalization | Softmax Function |
---|---|---|
Goal | Normalize vector’s magnitude to 1 | Convert values into probabilities |
Preserves Ratios | 是(方向不变) | 否(值呈指数缩放) |
Sum Property | Norm (L2) = 1 | Sum = 1 |
Applicability | 向量方向比较 (e.g., cosine similarity) | 分类和概率输出 |
Intuitive Example
e.g. the vector ( v = [ 3 , 4 ] \mathbf{v} = [3, 4] v=[3,4]):
-
L2-Normalization:
∥ v ∥ 2 = 3 2 + 4 2 = 5 , v normalized = [ 0.6 , 0.8 ] \|\mathbf{v}\|_2 = \sqrt{3^2 + 4^2} = 5, \quad \mathbf{v}_{\text{normalized}} = [0.6, 0.8] ∥v∥2=32+42=5,vnormalized=[0.6,0.8]- Output: 保留矢量方向,但其量级缩放为 1
-
Softmax:
softmax ( [ 3 , 4 ] ) i = exp ( v i ) exp ( 3 ) + exp ( 4 ) , softmax ( [ 3 , 4 ] ) ≈ [ 0.268 , 0.732 ] \text{softmax}([3, 4])_i = \frac{\exp(v_i)}{\exp(3) + \exp(4)}, \quad \text{softmax}([3, 4]) \approx [0.268, 0.732] softmax([3,4])i=exp(3)+exp(4)exp(vi),softmax([3,4])≈[0.268,0.732]- Output: 这些值被转换为概率,较高的值被放大(由于指数)
When Are They Used?
-
L2-Normalization:
- 用于嵌入以确保向量大小的一致性,尤其是对于余弦相似性。
- e.g: 在 CLIP 等检索任务中对齐图像和文本嵌入
-
Softmax Function:
- 在分类任务中用于将 logits 转换为类的概率。
- e.g: 预测神经网络中的类标签
虽然两者都可以重新缩放向量,但用途不同。L2 归一化是几何的(保留方向),而 softmax 是概率的(侧重于相对重要性)。
补充3:e.g.L2-Normalization
Formula for L2-Normalization
To normalize a vector ( v = [ v 1 , v 2 , … , v n ] \mathbf{v} = [v_1, v_2, \dots, v_n] v=[v1,v2,…,vn]) to have an L2 norm of 1, we use the formula:
v normalized = v ∥ v ∥ 2 \mathbf{v}_{\text{normalized}} = \frac{\mathbf{v}}{\|\mathbf{v}\|_2} vnormalized=∥v∥2v
Where:
- ( ∥ v ∥ 2 = v 1 2 + v 2 2 + ⋯ + v n 2 \|\mathbf{v}\|_2 = \sqrt{v_1^2 + v_2^2 + \dots + v_n^2} ∥v∥2=v12+v22+⋯+vn2): The L2 norm (length) of the vector.
Example
Let’s work through an example with the vector ( v = [ 3 , 4 ] \mathbf{v} = [3, 4] v=[3,4]).
-
Calculate the L2 Norm:
∥ v ∥ 2 = 3 2 + 4 2 = 9 + 16 = 25 = 5 \|\mathbf{v}\|_2 = \sqrt{3^2 + 4^2} = \sqrt{9 + 16} = \sqrt{25} = 5 ∥v∥2=32+42=9+16=25=5 -
Normalize the Vector:
v normalized = v ∥ v ∥ 2 = [ 3 , 4 ] 5 = [ 3 5 , 4 5 ] \mathbf{v}_{\text{normalized}} = \frac{\mathbf{v}}{\|\mathbf{v}\|_2} = \frac{[3, 4]}{5} = \left[\frac{3}{5}, \frac{4}{5}\right] vnormalized=∥v∥2v=5[3,4]=[53,54] -
Result:
v normalized = [ 0.6 , 0.8 ] \mathbf{v}_{\text{normalized}} = [0.6, 0.8] vnormalized=[0.6,0.8]
Verify the Normalized Vector
To confirm the result is normalized:
∥
v
normalized
∥
2
=
0.
6
2
+
0.
8
2
=
0.36
+
0.64
=
1
=
1
\|\mathbf{v}_{\text{normalized}}\|_2 = \sqrt{0.6^2 + 0.8^2} = \sqrt{0.36 + 0.64} = \sqrt{1} = 1
∥vnormalized∥2=0.62+0.82=0.36+0.64=1=1
The normalized vector has a magnitude of 1, as expected.
更多理解:https://juejin.cn/post/7459650401110556726