1. 摘要
图神经网络(GNN)是一种强大的基于图的推荐系统学习方法。最近,结合对比学习的gnn在处理高度稀疏数据时,在数据增强方案的推荐方面表现出了优异的性能。尽管它们取得了成功,但大多数现有的图对比学习方法要么在用户-项目交互图上执行随机增强(例如,节点/边缘扰动),要么依赖基于启发式的增强技术(例如,用户聚类)来生成对比视图。我们认为,这些方法不能很好地保持语义的内在结构,并且容易受到噪声扰动的影响。在本文中,我们提出了一个简单而有效的图对比学习范式LightGCL,以缓解这些影响基于cl的推荐器的通用性和鲁棒性的问题。该模型专门利用奇异值分解进行对比增强,实现了全局协同关系建模下的无约束结构精化。在几个基准数据集上进行的实验表明,我们的模型在性能上有了显著的改进。进一步的分析证明了LightGCL对数据稀疏性和流行度偏差的鲁棒性的优越性。
2. 动机以及贡献
存在的问题
- 随机扰动的图增强可能会丢失有用的结构信息,这将误导表示学习;
- 启发式引导表示对比方案的成功很大程度上建立在视图生成器的基础上,这限制了模型的通用性,并且容易受到用户行为噪声的影响;
- 目前大多数基于gnn的对比推荐器都受到过度平滑问题的限制,这导致了难以区分的表示。
贡献
- 设计了一个轻量级和健壮的图对比学习框架来增强推荐系统,以解决与此任务相关的关键挑战;
- 提出了一种有效且高效的对比学习范式LightGCL用于图增强。通过注入全局协作关系,我们的模型可以缓解不准确的对比信号带来的问题;
- 与现有的基于gcl的方法相比,提高了训练效率;
- 在几个真实数据集上的大量实验证明了LightGCL的性能优势。深入分析证明了LightGCL的合理性和鲁棒性。
3. 方法
3.1 局部图依赖关系建模
每个用户
u
i
u_i
ui和商品
v
j
v_j
vj的嵌入向量为
e
i
(
u
)
,
e
j
(
v
)
∈
R
d
e_i^{(u)},e_j^{(v)}\in R^d
ei(u),ej(v)∈Rd。所有用户和商品嵌入的集合定义为
E
(
u
)
∈
R
I
×
d
,
E
(
v
)
∈
R
J
×
d
E^{(u)}\in R^{I×d},E^{(v)}\in R^{J×d}
E(u)∈RI×d,E(v)∈RJ×d,其中
I
,
J
I,J
I,J分别表示用户和商品的数量。在LightGCL中采用两层GCN来聚合每个邻居节点的信息。在第
l
l
l层中,聚合过程表示为:
其中
z
i
,
l
(
u
)
,
z
j
,
l
(
v
)
z^{(u)}_{i,l},z^{(v)}_{j,l}
zi,l(u),zj,l(v)表示用户和商品在第
l
l
l层的聚合嵌入,
σ
(
⋅
)
σ(·)
σ(⋅)表示负斜率为0.5的LeakyReLU,
A
~
\tilde A
A~是归一化邻接矩阵,
p
(
⋅
)
p(·)
p(⋅)是边dropout。在每一层中还加入残差连接以保留节点的原始信息,如下所示:
一个节点的最终嵌入值是它在所有层中的嵌入值之和,用户
u
i
u_i
ui的最终嵌入值与项目
v
j
v_j
vj之间的内积预测了
u
i
u_i
ui对
v
j
v_j
vj的偏好:
3.2 高效的全局协作关系学习
采用SVD使LightGCL能够从全局视角提取协作信号。首先对邻接矩阵A进行SVD,即
A
+
U
S
V
⊤
A+USV^⊤
A+USV⊤,
U
/
V
U/V
U/V为
I
×
I
/
J
×
J
I×I/J×J
I×I/J×J的正交矩阵,列为A的行-行/列-列相关矩阵的特征向量。S是存储A的奇异值的
I
×
J
I×J
I×J对角矩阵,最大奇异值通常与矩阵的主成分有关。因此,我们截断奇异值列表以保留最大的q值,用截断后的矩阵重构邻接矩阵为:
A
^
=
U
q
S
q
V
q
⊤
\hat A=U_qS_qV_q^⊤
A^=UqSqVq⊤,其中
U
q
∈
R
I
×
q
U_q∈R^{I×q}
Uq∈RI×q,
V
q
∈
R
J
×
q
V_q∈R^{J×q}
Vq∈RJ×q分别包含U和V的前q列。
S
q
∈
R
q
×
q
S_q∈R^{q×q}
Sq∈Rq×q是q个最大奇异值的对角矩阵。
给定三元关系式,在每一层重构的用户-商品关系图上进行消息传播:
由于在大型矩阵上执行精确的SVD成本太高,采用随机SVD算法,其关键思想是先用一个低秩的标准正交矩阵近似输入矩阵的范围,然后对这个更小的矩阵进行SVD。
其中q为分解后的矩阵所需的秩,带
^
\hat {}
^ 的均为近似版本。于是重写等式4:
其中
G
l
(
u
)
G^{(u)}_l
Gl(u)和
G
l
(
v
)
G^{(v)}_l
Gl(v)是新生成的图结构视图中编码的用户和项目嵌入的集合。
3.3 简化局部全局对比学习
传统的GCL方法,如SGL和SimGCL,通过构造两个额外的视图来对比节点嵌入,而从原始图(主视图)生成的嵌入并不直接涉及InfoNCE损失。采用这种笨重的三视图范式的原因可能是用于增强图的随机扰动可能会对主视图嵌入提供误导信号。在LightGCL中增强图视图是用全局协作关系创建的,可以增强主视图表示。因此,通过直接对比svd增强视图嵌入
g
i
,
l
(
u
)
g^{(u) }_{i,l}
gi,l(u)与InfoNCE损失中的主视图嵌入
z
i
,
l
(
u
)
z^{(u)}_{i,l}
zi,l(u)来简化CL框架:
4. 实验