论文翻译-LightGCN: Simplifying and Powering Graph Convolution Network for Recommendation


摘要

图卷积网络(Graph Convolution Network, GCN)已成为协同过滤的最先进技术。然而,其推荐有效性的原因还没有被很好地理解。现有的将GCN应用于推荐的工作缺乏对GCN的彻底消融分析,GCN最初是为图形分类任务设计的,并且配备了许多神经网络操作。然而,我们通过经验发现,gcn中最常见的两种设计——特征转换和非线性激活——对协同过滤的性能贡献很小。更糟糕的是,包括它们会增加训练的难度,降低推荐性能。
在这项工作中,我们的目标是简化GCN的设计,使其更简洁,更适合推荐。我们提出了一个新的模型,命名为LightGCN,只包括GCN中用于协同过滤的最重要的组成部分-邻域聚合。具体来说,LightGCN通过在用户-物品交互图上线性传播来学习用户和物品的嵌入,并使用所有层学习到的嵌入的加权和作为最终的嵌入。这种简单、线性和整洁的模型更容易实现和训练,在完全相同的实验设置下,与神经图协同过滤(Neural Graph Collaborative Filtering, NGCF)(一种最先进的基于gcn的推荐模型)相比,显示出显著的改进(平均相对改进约16.0%)。本文从分析和实证两方面进一步论证了简单LightGCN的合理性。我们的实现在TensorFlow和PyTorch中都可用。

介绍

为了缓解网络上的信息过载,推荐系统被广泛部署,进行个性化的信息过滤。推荐系统的核心是预测用户是否会与一个物品进行交互,例如,点击、评分、购买等交互形式。因此,协同过滤(collaborative filtering, CF)仍然是实现有效个性化推荐的一项基本任务,它侧重于利用过去的用户-物品交互来实现预测。
CF最常见的范式是学习潜在特征(即嵌入)来表示用户和项目,并基于嵌入向量进行预测。矩阵分解(Matrix factorization)是一个早期的这样的模型,它直接将用户的单个ID投射到她的嵌入。后来,几项研究发现,将用户ID与她的交互历史作为输入,可以提高嵌入的质量。例如,SVD++展示了用户交互历史在预测用户数值评分方面的好处,神经注意项目相似性(Neural Attentive Item Similarity, NAIS)区分了交互历史中项目的重要性,并显示了预测项目排名方面的改进。从用户-项目交互图的角度来看,这些改进可以被视为来自于使用用户的子图结构-更具体地说-她的一跳邻居,来改进嵌入学习。
为了加深对具有高跳邻居的子图结构的使用,Wang等人最近提出了NGCF,并实现了CF的最先进性能,其灵感来自图卷积网络(GCN),遵循相同的方法优化嵌入的传播规则:特征变换、邻域聚合和非线性激活。尽管NGCF显示出了令人鼓舞的结果,但我们认为它的设计相当沉重和繁琐——许多操作直接从GCN继承而来,没有理由。因此,它们不一定对CF任务有用。其中,GCN最初是针对属性图上的节点分类提出的,每个节点都有丰富的属性作为输入特征;而在CF的用户-项目交互图中,每个节点(用户或物品)仅由一个独热ID描述,除了作为标识符之外没有具体的语义。在这种情况下,给定ID嵌入作为输入,执行多层非线性特征转换——这是现代神经网络成功的关键——将不会带来任何好处,但会负向增加模型训练的难度。
为了验证我们的想法,我们对NGCF进行了广泛的消融研究。通过严格的控制实验(在相同的数据分割和评估协议下),我们得出结论,从GCN继承的两个操作-特征变换和非线性激活-对NGCF的有效性没有贡献。更令人惊讶的是,去掉它们会带来显著的精度提升。这反映了在图神经网络中添加对目标任务无用的操作的问题,不仅没有带来任何好处,反而会降低模型的有效性。基于这些实证发现,我们提出了一个新的模型,命名为LightGCN,其中包括GCN中最重要的组成部分-邻域聚合-用于协同过滤。具体来说,在将每个用户(物品)与ID嵌入关联后,我们在用户-物品交互图上传播嵌入以改进它们。然后,我们将在不同传播层学习到的嵌入与加权和相结合,以获得用于预测的最终嵌入。整个模型简洁优雅,不仅更容易训练,而且比NGCF和multi – vae等其他最先进的方法具有更好的经验性能。
综上所述,这项工作主要贡献如下:

  • 我们的经验表明,GCN中两种常见的设计,特征变换和非线性激活,对协同过滤的有效性没有积极影响。
  • 我们提出了LightGCN,它通过只包含GCN中最重要的组件进行推荐,极大地简化了模型设计。
  • 我们通过相同的设置对LightGCN和NGCF进行了经验比较,并证明了实质性的改进。从技术和实证两个角度对LightGCN的合理性进行了深入分析。

PRELIMINARIES

我们首先介绍NGCF,这是一种具有代表性和最先进的GCN推荐模型。然后,我们对NGCF进行消融研究,以判断每种操作对NGCF的有用性。本节的创新贡献在于表明GCNs中两种常见的设计,特征变换和非线性激活,对协同过滤没有正面影响。
表1:NGCF及其三种变体的性能。
image.png

2.1 NGCF简介

在最初的步骤中,每个用户和物品都与一个ID嵌入相关联。让${e}{u}^{(0)}$表示用户$u$的ID嵌入,让$e_i^{(0)}$表示项目$i$的ID嵌入。则NGCF利用用户-项目交互图将嵌入传播为: $$ \begin{gathered} \mathbf{e}{u}^{(k+1)} =\sigma\Big(\mathbf{W}{1}\mathbf{e}{u}^{(k)}+\sum_{i\in\mathcal{N}{u}}\frac{1}{\sqrt{|\mathcal{N}{u}||\mathcal{N}{i}|}}(\mathbf{W}{1}\mathbf{e}{i}^{(k)}+\mathbf{W}{2}(\mathbf{e}{i}^{(k)}\odot\mathbf{e}{u}^{(k)}))\Big), \
\textbf{e}i^{(k+1)} =\sigma\Big(\mathbf{W}{1}\mathbf{e}{i}^{(k)}+\sum{u\in\mathcal{N}{i}}\frac{1}{\sqrt{|\mathcal{N}{\mathbf{u}}||\mathcal{N}{i}|}}(\mathbf{W}{1}\mathbf{e}{\mathbf{u}}^{(k)}+\mathbf{W}{2}(\mathbf{e}{\mathbf{u}}^{(k)}\odot\mathbf{e}{i}^{(k)}))\Big),
\end{gathered}
$$
其中${e}{u}^{(k)}$和$e_i^{(k)}$分别表示用户$u$和物品$i$经过$k$层传播后的精细化嵌入,$\sigma$为非线性激活函数,$\mathcal{N}{u}$表示用户$u$交互的物品集,$\mathcal{N}_{i}$表示与物品$i$交互的用户集,$\textbf{W}_1$和$\textbf{W}_2$为可训练权矩阵,在每一层进行特征变换。通过传播$L$层,NGCF得到$L + 1$个嵌入来描述用户$(\textbf{e}_u^{(0)},\textbf{e}_u^{(1)},…,\textbf{e}_u^{(L)})$,和项目$(\textbf{e}^{(0)},\textbf{e}^{(1)}_i,…,\textbf{e}^{(L)}_i)$。然后,它将这些$L + 1$个嵌入连接起来,以获得最终的用户嵌入和项目嵌入,使用内积来生成预测得分。
NGCF在很大程度上遵循了标准GCN,包括使用非线性激活函数$\sigma(\cdot)$和特征变换矩阵$\textbf{W}_1$和$\textbf{W}_2$。然而,我们认为这两种操作对于协同过滤并没有那么有用。在半监督节点分类中,每个节点都有丰富的语义特征作为输入,比如论文的标题和摘要词。因此,进行多层非线性变换有利于特征学习。然而,在协同过滤中,用户-物品交互图的每个节点只有一个ID作为输入,没有具体的语义。在这种情况下,执行多个非线性转换将不会有助于学习更好的特征;更糟糕的是,它可能会增加训练的难度。在下一小节中,我们将对此论点提供实证证据。

2.2 NGCF的实证探索

我们对NGCF进行消融研究,探讨非线性激活和特征转换的影响。我们使用NGCF作者发布的代码,在相同的数据分割和评估协议上运行实验,以尽可能保持比较的公平性。由于GCN的核心是通过传播来细化嵌入,所以我们更感兴趣的是在相同嵌入尺寸下的嵌入质量。因此,我们将获取最终嵌入的方式从拼接(即$\textbf{e}_u^=\textbf{e}_u^{(0)}|\cdots|\textbf{e}_u^{(L)})$)改为求和($\textbf{e}_u^=\textbf{e}_u^{(0)}+\cdots+\textbf{e}_u^{(L)}$)。值得注意的是,这种变化对NGCF的性能影响不大,但使后续的消融研究更多地体现了GCN对嵌入质量的改善。
我们实现了三种简化的NGCF变体:

  • NGCF-f,去除特征变换矩阵$\textbf{W}_1$和$\textbf{W}_2$。
  • NGCF-n,去除了非线性激活函数$\sigma$。
  • NGCF-fn,去除特征变换矩阵和非线性激活函数。
    对于这三个变量,我们保持所有超参数(例如,学习率,正则化系数,dropout率等)与NGCF的最优设置相同。我们在表1中报告了Gowalla和Amazon-Book数据集上的2层设置的结果。可以看出,去除特征转换(即NGCF-f)会导致在所有三个数据集上对NGCF的一致改进。相比之下,去除非线性激活不会对准确率产生那么大的影响。然而,如果我们在去除特征变换(即NGCF-fn)的基础上去除非线性激活,则性能得到显著提高。从这些观察中,我们得出的结论是:
    (1)添加特征变换会对NGCF产生负面影响,在NGCF和NGCF-n模型中去除特征变换会显著提高性能;
    (2)添加非线性激活对包含特征变换时影响较小,但在不使用特征变换时产生负面影响。。
    (3)从整体上看,特征变换和非线性激活对NGCF的影响是负面的,NGCF-fn在同时去除特征变换和非线性激活后,对NGCF的召回率有较大的提高(相对提高9.57%)。
    为了更深入地了解表1中得到的分数,并理解为什么NGCF会随着这两种操作而恶化,我们在图1中绘制了训练损失和测试召回率记录的模型状态曲线。可以看出,在整个训练过程中,NGCF-fn的训练损失远低于NGCF、NGCF-f和NGCF-n。与测试召回率的曲线一致,我们发现这种较低的训练损失成功地迁移到较好的推荐精度。NGCF与NGCF-f的变化趋势相似,但改善幅度较小。
    从这些证据中,我们可以得出结论,NGCF的恶化源于训练难度,而不是过度拟合。从理论上讲,NGCF比NGCF-f具有更高的表示能力,因为将权重矩阵W1和W2设置为单位矩阵I可以完全恢复NGCF-f模型。然而,在实践中,NGCF比NGCF-f表现出更高的训练损失和更差的泛化性能。而非线性激活的加入进一步加剧了表征能力和泛化性能之间的差异。为了完善这一节,我们声称,在设计用于推荐的模型时,进行严格的消融研究以明确每个操作的影响是很重要的。否则,包括不太有用的操作将不必要地使模型复杂化,增加训练难度,甚至降低模型的有效性。
    image.png

METHOD

上一节演示了NGCF是一个用于协同过滤的笨重的GCN模型。在这些发现的推动下,本文设定了目标,通过包括GCN的最基本成分来进行推荐,从而开发一个轻而有效的模型。简单的优点有几个方面——更容易解释,实际上易于训练和维护,技术上易于分析模型行为并向更有效的方向修正,等等。在本节中,我们首先展示了我们设计的光图卷积网络(LightGCN)模型,如图2所示。对LightGCN进行了深入分析,以显示其简单设计背后的合理性。最后,描述了如何进行模型训练以实现推荐。

3.1 LightGCN

GCN的基本思想是通过平滑图[23,40]上的特征来学习节点的表示。为了实现这一点,它迭代地执行图卷积,即聚合邻居的特征作为目标节点的新表示。这种邻域聚集可以抽象为:
$$\mathbf{e}_u^{(k+1)}=\operatorname{AGG}(\mathbf{e}_u^{(k)},{\mathbf{e}_i^{(k)}:i\in\mathcal{N}_u}).$$

$$\mathbf{e}_u^{(k+1)}=\operatorname{AGG}(\mathbf{e}_u^{(k)},{\mathbf{e}_i^{(k)}:i\in\mathcal{N}_u}).$$

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注

Scroll to Top