- 摘要(Abstract)
- 关键词(Keywords)
- 1 引言(Introduction)
- 2 预备知识(Preliminaries)
- 3 方法(Method)
- 4 实验(Experiments)
- 5 相关工作(Related Work)
- 6 结论和未来工作(Conclusion and Future Work)
LightGCN: Simplifying and Powering Graph Convolution Network for Recommendation
- Xiangnan He, Kuan Deng, Xiang Wang, et al. LightGCN: Simplifying and Powering Graph Convolution Network for Recommendation[C]. In SIGIR 2020.
-
摘要(Abstract)
图卷积网络(GCN)已经成为协同过滤的新技术。然而,其推荐有效性的原因并不清楚。现有的GCN推荐方法缺乏对GCN的消融分析,GCN最初是为图分类任务而设计的,并配备了许多神经网络操作。然而,我们的经验发现,GCNS中最常见的两种设计--特征转换和非线性激活--对协同过滤的性能贡献很小。更糟糕的是,包括它们增加了训练的难度,并降低了推荐性能。<br /> 在这项工作中,我们旨在简化GCN的设计,使其更简洁,更适合推荐。我们提出了一种新的协同过滤模型LightGCN,该模型只包含GCN中最基本的部分--邻域聚合。具体地说,LightGCN通过在用户-项目交互图上线性传播来学习用户和项目嵌入,并使用在所有层学习的嵌入的加权和作为最终嵌入。这种简单、线性和整洁的模型更易于实现和训练,在完全相同的实验设置下,与基于GCN的最先进的推荐模型神经图协作过滤(NGCF)相比,表现出实质性的改进(平均相对改进约16.0%)。从分析和实证两个角度对简单LightGCN的合理性进行了进一步分析。我们的实现在TensorFlow和PyTorch中都可用。
关键词(Keywords)
1 引言(Introduction)
为了缓解Web上的信息过载,推荐系统被广泛应用于进行个性化信息过滤[7,45,46]。推荐系统的核心是预测用户是否会与某个项目进行交互,例如点击、评分、购买,以及其他形式的交互。因此,协同过滤(CF)侧重于利用过去的用户-项目交互来实现预测,仍然是实现有效个性化推荐的基本任务[10,19,28,39]。<br /> CF最常见的范例是学习潜在特征(也称为嵌入)来表示用户和项目,并基于嵌入向量执行预测[6,19]。矩阵分解是一种早期的此类模型,它直接将用户的单个ID映射到它的嵌入中[26]。后来,一些研究发现,增加用户ID与它的交互历史作为输入可以提高嵌入的质量。例如,SVD++ [25]证明了用户交互历史在预测用户数字评级方面的好处,而神经注意项目相似度(NAIS)[18]区分了交互历史中项目的重要性,并显示了预测项目排名方面的改进。从用户-项目交互图的角度来看,这些改进可以看作是利用用户的子图结构--更具体地说,它的一跳邻居--来改进嵌入学习。<br /> 为了深化具有高跳邻居的子图结构的使用,Wang等人[39]提出了NGCF,并实现了CF的最新性能。它从图卷积网络(GCN)[14,23]中获得灵感,遵循相同的传播规则来细化嵌入:特征变换、邻域聚合和非线性激活。尽管NGCF已经显示出有希望的结果,但我们认为它的设计相当沉重和繁重--许多操作毫无道理地直接继承自GCN。因此,它们不一定对CF任务有用。具体地说,GCN最初被提出用于属性图上的节点分类,其中每个节点具有丰富的属性作为输入特征;而在CF的用户-项交互图中,每个节点(user或item)仅由一个唯一的ID来描述,除了作为标识符之外,没有具体的语义。在这种情况下,给定ID嵌入作为输入,执行多层非线性特征变换--这是现代神经网络成功的关键[16]--将不会带来任何好处,而且会增加模型训练的难度。<br /> 为了验证我们的想法,我们对NGCF进行了广泛的消融研究。通过严格的控制实验(在相同的数据分割和评估协议上),我们得出结论:GCN继承的两种操作--特征变换和非线性激活--对NGCF的有效性没有贡献。更令人惊讶的是,移除它们会显著提高精确度。这反映了在图神经网络中增加对目标任务无用的操作,不仅没有带来好处,反而降低了模型的有效性。基于这些经验发现,我们提出了一个新的模型LightGCN,该模型包含了GCN中最重要的部分--邻域聚合--用于协同过滤。具体地说,在将每个用户(项目)与一个ID嵌入相关联之后,我们在用户-项交互图上传播嵌入,以对它们进行提炼。然后,我们将在不同传播层学习的嵌入与加权和相结合,以获得用于预测的最终嵌入。整个模型简单美观,不仅易于训练,而且比NGCF和Mult-VAE[28]等其他最先进的方法取得更好的实证性能。<br /> 综上所述,本工作的主要贡献如下:
我们的经验表明,GCN中两种常见的设计,特征转换和非线性激活,对协同过滤的有效性没有积极的影响。
- 我们提出了LightGCN,它只包括GCN中最基本的部分来推荐,从而极大地简化了模型设计。
我们通过遵循相同的设置对LightGCN和NGCF进行了实证比较,并展示了实质性的改进。从技术和经验两个角度对LightGCN的合理性进行了深入的分析。
2 预备知识(Preliminaries)
我们首先介绍了NGCF[39],一个具有代表性的和先进的GCN推荐模型。然后我们对NGCF进行消融研究,以判断每一种改进在NGCF中的有效性。这一部分的新颖之处在于表明GCNS中两种常见的设计--特征转换和非线性激活--对协同过滤没有积极的影响。
2.1 NGCF简介(NGCF Brief)
在初始步骤中,每个用户和项目都与一个ID嵌入相关联。设表示用户的ID嵌入,表示项目的ID嵌入。然后,NGCF利用用户-项目交互图来传播嵌入,如下所示:<br /> (1)<br />其中和分别表示用户u和项目在层传播后的精细嵌入,是非线性激活函数,表示与用户交互的项目集,表示与项目交互的用户集,和是可训练的权重矩阵,用于在每层中执行特征变换。通过传播L层,NGCF获得L+1个嵌入来描述用户和一个项目。然后将这些L+1个嵌入连接起来,得到最终的用户嵌入和项目嵌入,使用内积生成预测分数。<br /> NGCF在很大程度上遵循标准的GCN[23],包括使用非线性激活函数和特征变换矩阵和。然而,我们认为这两个操作对协同过滤没有那么有用。在半监督节点分类中,每个节点都有丰富的语义特征作为输入,如论文的标题、摘要等。因此,进行多层非线性变换有利于特征学习。然而,在协同过滤中,用户-项目交互图的每个节点只有一个ID作为输入,没有具体的语义。在这种情况下,执行多个非线性变换不会有助于学习更好的特征;更糟糕的是,这可能会增加训练的难度。在下一小节中,我们将为这一论点提供经验证据。
2.2 NGCF的实证探索(Empirical Explorations on NGCF)
我们对NGCF进行了消融研究,以探索非线性激活和特征转换的影响。我们使用NGCF作者发布的代码,在相同的数据分割和评估协议上运行实验,以确保比较尽可能公平。由于GCN的核心是通过传播来细化嵌入,所以我们更感兴趣的是在相同嵌入大小下的嵌入质量。因此,我们将获得最终嵌入的方式从拼接(即)改为求和(即)。请注意,这一变化对NGCF的性能几乎没有影响,但使下面的消融研究更能体现GCN改进的嵌入质量。<br />**表1 NGCF及其三个变体的性能**<br /><br /> 我们实现了NGCF的三个简化版本:
NGCf-f,移除了特征变换矩阵
和
。
- NGCF-n,移除了非线性激活函数
。
NGCF-fn,去掉了特征变换矩阵和非线性激活函数。
对于这三个变量,我们保留所有的超参数(如学习率、正则化系数、dropout率等)与NGCF的最佳设置相同。我们在表1中报告了Gowalla和Amazon-Book数据集的2层设置结果。可以看到,删除特征转换(即NGCF-f)导致在所有三个数据集上相对于NGCF的一致改进。相比之下,去除非线性激活不会对准确度产生太大影响。然而,如果在去除特征变换的基础上去除非线性激活(即NGCF-FN),则性能显著提高。根据这些观察,我们得出以下结论:<br /> (1)加入特征变换会对NGCF产生负面影响,因为在NGCF和NGCF-n两种模型中去除特征变换显著提高了性能;<br /> (2)当包括特征变换时,添加非线性激活的影响较小,但是当禁用特征变换时,添加非线性激活会产生负面影响。<br /> (3)总体而言,特征转换和非线性激活对NGCF有较大的负面影响,因为通过同时移除它们,NGCF-fn表现出比NGCF更大的改进(在召回率上相对提高了9.57%)。<br /> 为了更深入地了解表1中获得的分数,并理解NGCF随着这两个操作而恶化的原因,我们在图1中绘制了由训练损失和测试召回记录的模型状态曲线。可以看出,在整个训练过程中,NGCF-fn的训练损失比NGCF、NGCF-f和NGCF-n低得多。根据测试召回曲线,我们发现这种较低的训练损失成功地转化为更好好的推荐准确率。NGCF和NGCF-f的比较显示出类似的趋势,只是改善幅度较小。<br /><br />**图1 NGCF及其三个变体的训练曲线(训练损失和测试召回)**<br /> 从这些证据中,我们可以得出结论,NGCF的恶化源于训练难度,而不是过度适应。从理论上讲,NGCF比NGCF-f具有更高的表示能力,因为将权重矩阵和设置为单位矩阵可以完全恢复NGCF-f模型。然而,在实际应用中,NGCF表现出比NGCF-f更高的训练损失和更差的泛化性能。非线性激活的加入进一步加剧了表征能力与泛化能力之间的差异。为了完善这一部分,我们认为,在设计推荐模型时,重要的是进行严格的消融研究,以明确每一次操作的影响。否则,包含不太有用的操作将使模型复杂化,增加训练难度,甚至降低模型的有效性。
3 方法(Method)
前一节表明,NGCF是一个沉重而繁重的协同过滤GCN模型。在这些发现的推动下,我们设定了一个目标,通过将GCN最基本的成分纳入进行推荐,开发出一个轻量级且有效的模型。简单的优势是多方面的--更易理解,实际上易于训练和维护,在技术上易于分析模型行为并朝着更有效的方向修改它,等等。<br /><br />**图2 LightGCN模型体系结构的图解**。在LGC中,只对下一层执行归一化的邻居嵌入和,其他操作如自连接、特征变换和非线性激活都被移除,这大大简化了GCNS。在层组合中,我们对每一层的嵌入求和以获得最终的表示。<br /> 在本节中,我们首先介绍我们设计的轻量级图卷积网络(LightGCN)模型,如图2所示。然后,我们对LightGCN进行了深入的分析,以展示其简单设计背后的合理性。最后,我们描述了如何为推荐做模型训练。
3.1 LightGCN
GCN的基本思想是通过在图[23,40]上平滑特征来学习节点的表示。为了实现这一点,它迭代地进行图卷积,即聚合邻居的特征作为目标节点的新表示。这种的邻域聚合可以抽象为:<br /> (2)<br />AGG是一个聚合函数--图卷积的核心--它考虑目标节点及其邻居节点的第k层表示。许多工作已经详细说明了AGG,如GIN[42]中的加权和聚和、GraphSAGE[14]中的LSTM聚合、BGNN[48]中的双线性相互作用聚合等。然而,大多数工作都将特征变换或非线性激活与AGG函数联系起来。尽管它们在具有语义输入特征的节点或图分类任务上表现良好,但对于协同过滤来说,它们可能是繁重的(请参见第2.2节中的初步结果)。
3.1.1 轻量化图卷积Light Graph Convolution (LGC)
在LightGCN中,我们采用了简单的加权和聚合,放弃了使用特征变换和非线性激活。将LightGCN中的图卷积运算(也称传播规则[39])定义为:<br /> (3)<br />对称归一化项遵循标准GCN[23]的设计,可以避免嵌入规模随着图的卷积运算而增加;这里也可以应用其他选择,例如L1范数,但经验表明这种对称归一化具有良好的性能(参见第4.4.2节的实验结果)。<br /> 值得注意的是,在LGC中,我们仅聚合连接的邻居,而不整合目标节点本身(即自连接)。这不同于大多数现有的图卷积操作[14、23、36、39、48],这些图卷积运算通常聚合扩展的邻居,并且需要专门处理自连接。将在下一小节中介绍的层组合操作基本上捕获了与自连接相同的效果。因此,在LGC中没有必要包括自连接。
3.1.2 层组合和模型预测(Layer Combination and Model Prediction)
在LightGCN中,唯一可训练的模型参数是第0层的嵌入,即所有用户的和所有项目的。当给定它们时,可以通过公式(3)中定义的LGC来计算更高层的嵌入。在K层LGC之后,我们进一步组合在每一层的嵌入以形成用户(项目)的最终表示:<br /> (4)<br />其中表示第k层嵌入在构成最终嵌入中的重要性。它可以被视为要手动调整的超参数,或被视为要自动优化的模型参数(例如,注意力网络的输出[3])。在我们的实验中,我们发现将统一设置为1/(K+1)通常会导致良好的性能。因此,我们不设计专门的组件来优化αk,以避免不必要地使LightGCN复杂化,并保持其简单性。我们执行层组合以获得最终表示的原因有三个。(1)随着层数的增加,嵌入会过度平滑[27]。因此,简单地使用最后一层是有问题的。(2)不同层的嵌入捕获不同的语义。例如,第一层在具有交互的用户和项目上实施平滑,第二层平滑在交互的项目(用户)上重叠的用户(项目),并且较高层捕获较高阶的接近度[39]。因此,将它们结合起来将使表示更全面。(3)将不同层的嵌入与加权和相结合捕获了具有自连接的图卷积的效果,这是GCNs中的重要技巧(证明见3.2.1节)。<br /> 模型预测被定义为用户和项目最终表示的内积:<br /> (5)<br />它被用作推荐生成的排名分数。
3.1.3 矩阵形式(Matrix Form)
我们提供了LightGCN的矩阵形式,以便于实现和与现有模型的讨论。设用户-项目交互矩阵为,其中M和N分别表示user数量和item数量,如果用户u与项目i有过交互,则每个条目为1,否则为0。然后,我们得到用户-项目图的邻接矩阵为<br /> (6)<br /> 设第0层嵌入矩阵为,其中T为嵌入大小。我们可以得到LGC的矩阵等价形式为:<br /> (7)<br />其中D是(M+N)×(M+N)对角矩阵,其中每一条目表示邻接矩阵(也称为度矩阵)的第i行向量中非零项的数目。最后,我们得到用于模型预测的最终嵌入矩阵如下:<br /> (8)<br />其中是对称归一化矩阵。
3.2 模型分析(Model Analysis)
我们进行模型分析来论证LightGCN简单设计背后的合理性。首先我们讨论了与简化的GCN(SGCN)[40]的联系,这是一种新的将自连接集成到图卷积中的线性GCN模型;分析表明,通过进行层组合,LightGCN包含了自连接的影响,因此LightGCN不需要在邻接矩阵中添加自连接。然后我们讨论了与神经预测的近似个性化传播(APPNP)[24]的关系,APPNP是最近的GCN变体,它通过从个性化PageRank[15]中的获得的灵感来解决过平滑问题;这种分析表明了LightGCN和APPNP之间的潜在等价性,因此我们的LightGCN在远程传播和可控的过平滑方面享有相同的好处。最后,我们分析了第二层LGC,展示了它是如何平滑用户及其二阶邻居的,从而为深入了解LightGCN的工作机制提供了更多的见解。
3.2.1 和SGCN的关系(Relation with SGCN)
在[40]中,作者讨论了GCN在节点分类中不必要的复杂性,并提出了SGCN,它通过去除非线性并将权重矩阵压缩为一个权重矩阵来简化GCN。SGCN中的图卷积定义为(SGCN中的权重矩阵可以被吸收到第0层嵌入参数中,因此在分析中省略了它):<br /> (9)<br />其中是一个单位矩阵,加在上包括自连接。在下面的分析中,为了简单起见,我们省略了项,因为它们只对嵌入进行重新缩放。在SGCN中,最后一层得到的嵌入用于下游预测任务,可以表示为:<br /> (10)<br />上面的推导表明,在中插入自连接并在其上传播嵌入,本质上等价于在每个LGC层传播的嵌入的加权和。
3.2.2 和APPNP的关系(Relation with APPNP)
在最近的一项工作[24]中,作者将GCN与个性化PageRank[15]联系起来,由此他们提出了一种名为APPNP的GCN变体,它可以远距离传播,而没有过平滑的风险。受个性化PageRank中的传送设计的启发,APPNP用起始特征(即,第0层嵌入)补充每个传播层,这可以平衡保持局部性(即,靠近根节点以减轻过平滑)和利用来自大邻域的信息的需要。APPNP中的传播层定义为:<br /> (11)<br />其中,β是传输概率,用于控制传播中起始特征的保留,而表示归一化邻接矩阵。在APPNP中,最后一层用于最终预测,即,<br /> (12)<br />与等式(8)对齐,我们可以看到,通过相应地设置αk,LightGCN可以完全恢复APPNP所使用的预测嵌入。因此,LightGCN在对抗过平滑方面与APPNP一样强大-通过适当设置α,我们允许使用较大的K来进行具有可控过平滑的远程建模。<br /> 另一个较小的区别是APPNP将自连接添加到邻接矩阵中。然而,正如我们之前所展示的,由于不同层的加权和,这是多余的。
3.2.3 二阶嵌入平滑(Second-Order Embedding Smoothness)
由于LightGCN的线性和简单性,我们可以更深入地了解它是如何平滑嵌入的。这里我们分析了一个2层的LightGCN,以证明其合理性。以用户端为例,直观地说,第二层平滑在交互项目上有重叠的用户。更具体而言,我们有:<br /> (13)<br /> 我们可以看到,如果另一个用户v已经与目标用户u共同交互,则v在u上的平滑强度由系数来衡量(否则为0):<br /> (14)<br /> 该系数相当容易解释:二阶邻居v对u的影响由1)共同交互项目的数量决定,越多越大;2)共同交互项目的受欢迎程度越低(即,更能表明用户的个性化偏好)越大;3)v的活跃度越低越大。这种可解释性很好地迎合了CF在测量用户相似性方面的假设[2,37],并证明了LightGCN的合理性。由于LightGCN的对称公式,我们可以在项目端得到类似的分析。
3.3 模型训练(Model Training)
LightGCN的可训练参数只是第0层的嵌入,即;换句话说,模型的复杂度与标准矩阵分解(MF)相同。我们采用贝叶斯个性化排名(BPR)损失[32],这是一种成对损失,它鼓励观察到的条目的预测高于未观察到的条目:<br /> (15)<br />其中控制正则化强度。我们使用Adam[22]优化器,并以小批量的方式使用它。我们知道其他先进的负面抽样策略可能会改善LightGCN训练,例如硬负采样[31]和对抗采样[9]。我们将这一扩展留在以后,因为它不是本工作的重点。<br /> 请注意,我们没有引入GCNS和NGCF中常用的dropout机制。这是因为我们在LightGCN中没有特征变换权重矩阵,因此在嵌入层上实施正则化就足以防止过拟合。这展示了LightGCN的简单优势--它比NGCF更容易训练和调整,NGCF还需要调整两个dropout率(节点dropout和消息dropout),并将每层的嵌入标准化为单位长度。<br /> 此外,还学习层组合系数,或者用注意力网络将它们参数化,在技术上是可行的。然而,我们发现在训练数据上学习α并不会带来改善。这可能是因为训练数据没有包含足够的信号来学习可以推广到未知数据的好的α。我们还试图从验证数据中学习α,这受到[5]学习验证数据的超参数的启发,性能略有提高(不到1%)。我们将探索α的最佳设置(例如,针对不同的用户和项目进行个性化设置)留到未来的工作中。
4 实验(Experiments)
我们首先描述实验设置,然后与NGCF[39]进行详细的比较,NGCF是与LightGCN最相关但更复杂的方法(第4.2节)。接下来,我们将与第4.3节中的其他最先进的方法进行比较。为了证明LightGCN中的设计的合理性并揭示其有效性的原因,我们在4.4节中进行了烧蚀研究和嵌入分析。超参数研究最后在第4.5节中介绍。
4.1 实验设置(Experimental Settings)
为了减少实验工作量并保持比较公平,我们严格遵循NGCF工作的设置[39]。我们向作者索取了实验数据集(包括训练/测试分割),其统计数据如表2所示。Gowalla和Amazon-Book与使用的NGCF论文完全相同,因此我们直接使用NGCF论文中的结果。唯一的例外是Yelp2018年的数据,这是一个修订版。根据作者的说法,以前的版本没有过滤掉测试集中的冷启动项目,他们只与我们分享了修订后的版本。因此,我们对Yelp2018的数据重新运行了NGCF。评估度量是由All-Rating协议计算的recall@20和ndcg@20-所有没有被用户交互的项目都是候选。<br />**表2 实验数据统计分析**<br />
4.1.1 比较方法(Compared Methods)
主要的竞争方法是NGCF,它的性能优于几种方法,包括基于GCN的模型GC-MC[35]和PinSage[45],基于神经网络的模型NeuMF[19]和CMN[10],以及基于因式分解的模型MF[32]和HOP-Rec[43]。由于比较是在相同的评估协议下对相同的数据集进行的,因此我们不会进一步比较这些方法。除了NGCF之外,我们还进一步比较了两种相关的且有竞争力的CF方法:
Mult-VAE[28]。这是一种基于变分自编码器(VAE)的基于项目的CF方法。它假设数据是从多项分布中产生的,并使用变分推断进行参数估计。我们运行作者发布的代码,调整[0, 0.2, 0.5]中的dropout率和[0.2, 0.4, 0.6, 0.8]中的β。本文建议的模型体系结构为:600→200→600。
- GRMF[30]。该方法通过添加图拉普拉斯正则化来平滑矩阵分解。为了在项目推荐上进行公平比较,我们将评级预测损失改为BPR损失。GRMF的目标函数是:
(16)
其中,在
范围内搜索。此外,我们比较了一种将归一化添加到图拉普拉斯算子的变体:
,它被称为GRMF-范数。其他超参数设置与LightGCN相同。这两种GRMF方法通过拉普拉斯正则化对平滑嵌入的性能进行了基准测试,而我们的LightGCN在预测模型中实现了嵌入平滑。
4.1.2 超参数设置(Hyper-parameter Settings)
与NGCF相同,所有模型的嵌入大小都固定为64,并且嵌入参数用Xavier方法进行初始化[12]。我们使用Adam[22]优化了LightGCN,并使用默认学习率0.001和默认小批量大小1024(在Amazon-Book上,我们将小批量大小增加到2048以提高速度)。L2正则化系数在的范围内搜索,并且在大多数情况下最优值是。层组合系数αk被均匀地设置为,其中K是层数。我们测试了K在1到4的范围内,当K等于3时可以得到令人满意的性能。早期停止和验证策略与NGCF相同。通常,1000个epochs足以使LightGCN收敛。我们的实现在TensorFlow和PyTorch中都可用。
4.2 与NGCF的性能比较(Performance Comparison with NGCF)
图3 LightGCN和NGCF的训练曲线,通过Gowalla和Amazon-Book上每20个epochs的训练损失和测试召回来评估(Yelp2018上的结果显示完全相同的趋势,但忽略了空间)。
我们与NGCF进行了详细的比较,在表4中记录了不同层(1到4)的性能,其中还显示了每个指标的相对改善百分比。我们在图3中进一步绘制了训练损失和测试召回的训练曲线,以揭示LightGCN的优势并明确训练过程。主要观察结果如下:
- 在所有情况下,LightGCN的表现都远远超过NGCF。例如,在Gowalla上,NGCF论文中报告的最高召回率为0.1570,而我们的LightGCN在4层设置下可以达到0.1830,高出16.56%。平均而言,三个数据集的召回率提高了16.52%,ndcg的召回率提高了16.87%,这是相当显著的。
- 将表4与第2节中的表1对齐,我们可以看到LightGCN的性能比NGCF-fn更好,NGCF-fn是NGCF的变体,它移除了特征转换和非线性激活。由于NGCF-fn仍然包含比LightGCN更多的操作(例如,自连接、用户嵌入和图卷积中的项目嵌入之间的交互以及丢弃),这表明这些操作对于NGCF-fn可能也是无用的。
- 增加层数可以提高性能,但好处会减少。一般观察结果是,将层数从0(即矩阵分解模型,结果见[39])增加到1会导致最大的性能增益,并且使用层数3在大多数情况下会产生令人满意的性能。这一观察结果与NGCF的发现一致。
在训练过程中,LightGCN始终获得较低的训练损失,这表明LightGCN比NGCF更符合训练数据。此外,较低的训练损失成功地转化为较好的测试精度,表明了LightGCN强大的泛化能力。相比之下,NGCF较高的训练损失和较低的测试精度反映了对如此繁重的模型进行良好训练的实际困难。请注意,在图中,我们显示了两种方法在最佳超参数设置下的训练过程。虽然提高NGCF的学习率可以减少其训练损失(甚至低于LightGCN),但测试召回率并不能得到提高,因为这样降低训练损失只能为NGCF找到微不足道的解决方案。
4.3 与最先进的性能比较(Performance Comparison with State-of-the-Arts)
表4 LightGCN和竞争方法的总体性能比较
表4显示了与竞争方法的性能比较。我们展示了每种方法所能获得的最佳分数。我们可以看到,LightGCN在所有三个数据集上的表现都一致优于其他方法,以简单而合理的设计展示了其高效性。请注意,可以通过调优αk进一步改进lightGCN(请参见图4以获取证据),而这里我们仅使用统一设置来避免过度调优。在基线中,Mult-VAE表现出最强的性能,优于GRMF和NGCF。GRMF的性能与NGCF相当,优于使用拉普拉斯正则化增强嵌入平滑的MF。通过在拉普拉斯正则化中添加归一化,GRMFNorm在Gowalla上比GRMF更好,而在Yelp2018和Amazon-Book上没有带来任何好处。
4.4 消融和效果分析(Ablation and Effectiveness Analyses)
我们对LightGCN进行了消融研究,展示了层组合和对称SQRT归一化对其性能的影响。为了证明3.2.3节所分析的LightGCN的合理性,我们进一步研究了嵌入平滑性的效果--LightGCN有效性的关键原因。
4.4.1 层组合的影响(Impact of Layer Combination)
表3 NGCF和LightGCN在不同层的性能比较
图4 在Gowalla和Amazon-Book上的不同层上,LightGCN和不使用层组合的变体(即,LightGCN-Single)的结果(Yelp2018上的结果显示与Amazon-Book相同的趋势,因为空间被省略)。
图4显示出了不使用层组合的LightGCN及其变体LightGCN-single的结果(即,用于K层LightGCN的最终预测)。由于篇幅所限,我们省略了Yelp2018的结果,这些结果显示了与Amazon-Book类似的趋势。我们有三个主要的观察结果:
针对LightGCN-Single,我们发现当层数从1增加到4时,其性能先提高后下降。大多数情况下,峰值出现在第2层,之后迅速下降到第四层的最差点。这表明平滑节点与其一阶和二阶邻居的嵌入对CF非常有用,但当使用高阶邻居时,会受到过平滑问题的影响。
- 以LightGCN为例,我们发现其性能随着层数的增加而逐渐提高。即使使用4层,LightGCN的性能也不会下降。这证明了层组合对于解决过平滑的有效性,正如我们在3.2.2节(与APPNP的关系)中从技术上分析的那样。
比较这两种方法,我们发现LightGCN在Gowalla上的表现一直好于LightGCN-Single,但在AmazonBook和Yelp2018上表现不佳(其中2层LightGCN-Single表现最好)。对于这种现象,在我们得出结论之前,需要注意两点:1)LightGCN-Single是LightGCN的特例,将αk设置为1,其他αk设置为0;2)我们不对αk进行调整,简单地将其统一设置为
。因此,我们可以看到通过调优αk来进一步增强lightgcn性能的潜力。
4.4.2 对称Sqrt归一化的影响(Impact of Symmetric Sqrt Normalization)
表5 图卷积中不同归一化方案选择的三层LightGCN的性能
方法表示法:-L表示只使用左侧范数,-R表示只使用右侧范数,-L1表示使用L1范数。
在LightGCN中,在执行邻域聚合时,我们在每个邻居嵌入使用对称sqrt归一化(参见等式(3))。为了研究它的合理性,我们在这里探索不同的选择。我们仅在左侧(即目标节点的系数)和右侧(即邻居节点的系数)测试归一化的使用。我们还测试了L1归一化,即去除平方根。请注意,如果移除归一化,训练在数值上会变得不稳定,并遇到nota-value(NaN)问题,因此我们不显示此设置。表5显示了3层LightGCN的结果。我们有以下观察结果:
一般来说,最佳设置是在两端使用sqrt归一化(即,LightGCN的当前设计)。移除任何一方都会极大地降低性能。
- 第二个最佳设置是仅在左侧使用L1归一化(即LightGCN-
-L)。这相当于将邻接矩阵归一化为随机矩阵。
- 两侧对称归一化有利于sqrt归一化,但会降低
归一化的性能。
4.4.3 嵌入平滑性分析(Analysis of Embedding Smoothness)
正如我们在第3.2.3节中所分析的,2层LightGCN基于在用户的交互项目上有重叠的用户来平滑用户的嵌入,并且在等式(14)中测量两个用户之间的平滑强度。我们推测这种嵌入的平滑是LightGCN有效的关键原因。为了验证这一点,我们首先将用户嵌入的平滑度定义为:<br /> (17)<br />其中嵌入的范数被用来消除嵌入尺度的影响。类似地,我们可以得到项目嵌入的定义。表6显示了两个模型的平滑度,矩阵分解(即,使用进行模型预测)和2层LightGCN-Single(即,使用进行预测)。请注意,2层LightGCN-Single在推荐准确率上远远优于MF。由此可见,LightGCN-Single的平滑度损失远低于MF。这表明,通过进行轻量化图卷积,嵌入变得更加平滑,更适合推荐。<br />**表6 LightGCN和MF学习到的嵌入的平滑度损失(越低越平滑)**<br />
4.5 超参数研究(Hyper-parameter Studies)
图5 2层LightGCN W.r.t.的性能。在Yelp和Amazon-Book上的不同正则化系数λ。
当将LightGCN应用于新的数据集时,除了标准超参数学习率之外,需要调整的最重要的超参数是L2正则化系数λ。在这里,我们研究了LightGCN w.r.t.的性能变化。
如图5所示,LightGCN对相对不敏感—即使当
设置为0时,LightGCN也比NGCF更好,后者还使用了dropout来防止过拟合。这表明LightGCN不容易过拟合—因为LightGCN中唯一可训练的参数是第0层的ID嵌入,所以整个模型很容易训练和正则化。Yelp2018、Amazon-Book和gowalla的最佳值分别为
,
和
。当
大于
时,性能下降较快,说明正则化过强会对模型正常训练产生负面影响,不鼓励。
5 相关工作(Related Work)
5.1 协同过滤(Collaborative Filtering)
协同过滤是现代推荐系统中的一种流行技术[7,45]。CF模型的一种常见范式是将用户和项目参数化为嵌入,并通过重构历史的用户-项目交互来学习嵌入参数。例如,早期的CF模型,如矩阵分解(MF)[26,32]这样的早期CF模型将用户(或项目)的ID投影到嵌入向量中。最近的神经推荐模型,如NCF[19]和LRML[34]使用相同的嵌入组件,同时增强了与神经网络的交互建模。<br /> 除了仅使用ID信息之外,另一种CF方法将历史项目视为用户的预先存在的特征,以获得更好的用户表示。例如,FISM[21]和SVD++[25]使用历史项目的ID嵌入的加权平均值作为目标用户的嵌入。最近,研究人员意识到,历史物品在塑造个人兴趣方面有不同的贡献。为此,引入了注意机制来捕获不同的贡献,如ACF[3]和NAIS[18],以自动学习每个历史项目的重要性。当以用户-项目二分图的形式重新访问历史交互时,性能的提高可以归因于局部邻域--一跳邻居--的编码,这改进了嵌入学习。
5.2 基于图方法的推荐(Graph Methods for Recommendation)
另一个相关的研究方向是利用用户-项目图结构进行推荐。以前的工作,如ItemRank[13],使用标签传播机制在图上直接传播用户偏好分数,即鼓励连接的节点具有类似的标签。最近出现的图神经网络(GNN)为图结构的建模,特别是高阶邻居建模,提供了指导嵌入学习的方法[14,23]。早期的研究定义了频谱域上的图卷积,如拉普拉斯特征分解[1]和切比雪夫多项式[8],它们的计算量都很大。随后,GraphSage[14]和GCN[23]在空间域中重新定义了图卷积,即聚合邻居的嵌入来细化目标节点的嵌入。由于其可解释性和高效率,它很快成为GNNs的普遍公式,并被广泛使用[11、29、47]。在图卷积[39]、GC-MC[35]和PinSage[45]等最新成果的推动下,GCN适应于用户-项目交互图,捕获高阶邻居中的CF信号以进行推荐。<br /> 值得一提的是,最近的几项工作提供了对GNN的深刻见解[24,27,40],这激发了我们开发LightGCN的灵感。特别是,Wu等人[40]论证了GCN的不必要的复杂性,通过去除非线性并将多个权重矩阵合并为一个矩阵,开发了简化的GCN(SGCN)模型。一个主要的区别是,LightGCN和SGCN是针对不同的任务开发的,因此模型简化的合理性也不同。具体地说,SGCN用于节点分类,对模型的可解释性和效率进行简化。相比之下,LightGCN使用的是协同过滤(CF),每个节点只有一个ID特性。因此,我们进行简化的原因是:非线性和权重矩阵对CF毫无用处,甚至会损害模型训练。在节点分类精度而言,SGCN与GCN相当(有时弱于GCN)。而在CF准确性方面,LightGCN远远超过GCN(比NGCF提高15%以上)。最后,同一时间进行的另一项工作[4]也发现在NGCF中非线性是不必要的,并为CF开发了线性GCN模型。相比之下,我们的LightGCN更进一步--我们移除所有冗余参数,仅保留ID嵌入,使模型像MF一样简单。
6 结论和未来工作(Conclusion and Future Work)
在这项工作中,我们论证了GCNS用于协同过滤的不必要的复杂设计,并进行了实证研究来证明这一论点。我们提出了LightGCN,它由两个基本部分组成--轻量化图卷积和层组合。在轻量化图卷积中,我们放弃了GCNS中的两个标准操作--特征变换和非线性激活,但不可避免地增加了训练难度。在层组合中,我们将节点的最终嵌入构造为其在所有层上的嵌入的加权和,这被证明包含了自连接的影响,并且有助于控制过平滑。通过实验验证了LightGCN具有简单、易于训练、泛化能力强、效率高等优点。<br /> 我们相信LightGCN的见解对未来推荐器模型的发展具有启发作用。随着关联图数据在实际应用中的流行,基于图的模型在推荐中变得越来越重要;通过显式地利用预测模型中实体之间的关系,它们有利于传统的监督学习方案,如因式分解[17,33],其隐式地对关系建模。例如,最近的趋势是利用诸如项目知识图谱[38]、社交网络[41]和多媒体内容[44]的辅助信息来进行推荐,其中GCN已经建立了新的最先进的技术。然而,这些模型也可能受到NGCF的类似问题的影响,因为用户-项目交互图也是由可能不必要的相同神经操作来建模的。我们计划在这些模型中探索LightGCN的想法。另一个未来的方向是个性化层组合权重αk,从而实现针对不同用户的自适应顺序平滑(例如,稀疏用户可能需要来自更高阶邻居的更多信号,而活动用户需要更少的信号)。最后,我们将进一步探索LightGCN的简单性的优势,研究是否存在针对非抽样回归损失的快速解决方案[20],并将其用于在线工业场景。