【推荐算法论文阅读】LightGCN: Simplifying and Powering Graph Convolution Network for Recommendation

这篇文章是基于NGCF提出的改进,NGCF相关的工作参考【推荐算法论文阅读】Neural Graph Collaborative Filtering

一、背景

通过严格的对照实验(在相同的数据集和评估指标上),我们得出结论,从 GCN 继承的两个操作——特征转换和非线性激活——对 NGCF 的有效性没有任何贡献。 更令人惊讶的是,删除它们会显着提高准确性。 这反映了在图神经网络中添加对目标任务无用的操作的问题,这不仅没有带来任何好处,反而降低了模型的有效性。 受这些实证发现的启发,我们提出了一个名为 LightGCN 的新模型,其中包括 GCN 中最重要的组件——邻域聚合——用于协同过滤。 具体来说,在将每个用户(项目)与 ID 嵌入相关联后,我们在用户-项目交互图上传播嵌入以改进它们。 然后,我们将在不同传播层学习的嵌入与加权和相结合,以获得用于预测的最终嵌入。

二、NGCF简介

在初始步骤中,每个用户和项目都与一个 ID 相关联嵌入。 设 e u e_u eu 表示用户 u 的 ID 嵌入, e i e_i ei 表示项目 i 的 ID 嵌入。 然后 NGCF 利用用户项目交互图将嵌入传播为:
请添加图片描述
Nu 表示与用户 u 交互的项目集,Ni 表示与项目 i 交互的用户集。

然后连接这些 L + 1 个嵌入以获得最终的用户嵌入和项目嵌入,使用内积生成预测分数。

NGCF 很大程度上遵循标准 GCN,包括使用非线性激活函数 σ(·) 和特征变换矩阵 W1 和 W2。 然而,我们认为这两个操作对于协同过滤没有那么有用。 在半监督节点分类中,每个节点都具有丰富的语义特征作为输入,例如论文的标题和抽象词。 因此执行多层非线性变换有利于特征学习。 然而,在协同过滤中,用户-项目交互图的每个节点只有一个 ID 作为输入,没有具体的语义。 在这种情况下,执行多个非线性变换将无助于学习更好的特征; 更糟糕的是,它可能会增加训练的难度。

三、LightGCN模型结构

LightGCN将邻居的特征聚合为目标节点的新表示。 这种邻域聚合可以抽象为:
e u ( k + 1 ) = A G G ( e u ( k ) , { e i ( k ) : i ∈ N u } ) \mathbf{e}_{u}^{(k+1)}=\mathrm{AGG}\left(\mathbf{e}_{u}^{(k)},\left\{\mathbf{e}_{i}^{(k)}: i \in \mathcal{N}_{u}\right\}\right) eu(k+1)=AGG(eu(k),{ ei(k):iNu})
AGG 是一个聚合函数——图卷积的核心——它考虑了目标节点及其相邻节点的第 k 层表示。

3.1 Light Graph Convolution (LGC)

在 LightGCN 中,我们采用了简单的加权和聚合器,放弃了使用特征变换和非线性激活。 LightGCN 中的图卷积操作(又名传播规则 )定义为:
e u ( k + 1 ) = ∑ i ∈ N u 1 ∣ N u ∣ ∣ N i ∣ e i ( k ) e i ( k + 1 ) = ∑ u ∈ N i 1 ∣ N i ∣ ∣ N u ∣ e u ( k ) \begin{array}{l} \mathbf{e}_{u}^{(k+1)}=\sum_{i \in \mathcal{N}_{u}} \frac{1}{\sqrt{\left|\mathcal{N}_{u}\right|} \sqrt{\left|\mathcal{N}_{i}\right|}} \mathbf{e}_{i}^{(k)} \\ \mathbf{e}_{i}^{(k+1)}=\sum_{u \in \mathcal{N}_{i}} \frac{1}{\sqrt{\left|\mathcal{N}_{i}\right|} \sqrt{\left|\mathcal{N}_{u}\right|}} \mathbf{e}_{u}^{(k)} \end{array} eu(k+1)=iNu

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值