XSimGCL: Towards Extremely Simple GraphContrastive Learning for Recommendation

一、文章概述

文章主要介绍了一种名为XSimGCL的推荐系统方法,该方法基于对比学习(Contrastive Learning)的原理来改进推荐性能。

文章指出,对比学习在推荐系统中的应用已经取得了显著的成果,CL从未标记的原始数据中学习一般特征的能力已被证明是解决数据稀疏性问题的有效方案,【可以通过学习从不同图增强中得到的表示来提取用户和物品的通用特征,从而减轻数据稀疏性的问题。】然而,对比学习的性能提升的具体因素尚未完全理解。

作者通过实验和分析揭示了对比学习对推荐性能的影响。研究结果表明,对比学习使模型能够学习到更均匀分布的用户和物品表示,从而减轻了普遍存在的热门偏好并促进了长尾物品的推荐。同时,作者认为之前认为必不可少的图增强在对比学习的推荐模型中相对不可靠且具有有限的意义。

基于这些发现,作者提出了一种名为XSimGCL的极其简单的图对比学习方法,用于推荐系统。XSimGCL舍弃了无效的图增强,并采用一种简单而有效的基于噪声的嵌入增强方法来生成对比视图,来改进推荐系统的准确性和训练效率。研究结果表明,尽管这种方法非常简单,但它可以平滑地调整学习表示的一致性,在推荐准确性和训练效率方面,它在四个大型且高度稀疏的基准数据集上都明显优于基于图增强的方法。

二、文章背景

该篇文章的问题背景是关于推荐系统中的对比学习(Contrastive Learning)方法。推荐系统是一种重要的信息过滤技术,用于根据用户的兴趣和偏好向其推荐个性化的物品或内容。然而,推荐系统面临着数据稀疏性和热门偏好等挑战,这些挑战会导致推荐结果的不准确性和偏向性。

对比学习是一种自监督学习方法,通过学习从不同图增强中得到的表示来提取通用的特征。在推荐系统中,对比学习的思想是通过对用户-物品二分图进行结构扰动(例如边或节点的dropout),然后在联合学习框架下最大化从不同图增强中学到的表示的一致性。这样的自监督学习方法可以从原始数据中提取出一般性的特征,从而缓解数据稀疏性带来的问题。

这篇文章通过对比学习的实验和分析,作者试图揭示对比学习如何通过学习均匀分布的用户和物品表示来减轻热门偏好并促进长尾物品的推荐,以及图增强在对比学习中的作用和局限性。

基于对比学习的推荐系统范式可以定义为一个两步过程:首先,通过结构扰动(例如以特定比例进行边或节点的dropout)来增强原始的用户-物品二分图;其次,在联合学习框架下,最大化从不同图增强中学到的表示的一致性[3](如图1所示)。

三、提出问题

Q1:基于 CL 的推荐模型真的需要图增强吗?

最近的几项研究报告了意外的结果,表明基于对比学习的推荐模型对于图增强中的边dropout率并不敏感,甚至高边dropout率(例如0.9)仍然可以改善模型性能。

答:为了回答这个问题,比较了有图增强和没有图增强的推荐模型的性能。研究结果显示,虽然在去除图增强时性能略有下降,但真正决定性的因素在于对比损失InfoNCE [22] 对性能提升起到了主要贡献。优化该损失函数可以使用户/物品表示的分布更均匀,减轻了热门偏好 [23] 的影响,并促进了长尾物品的推荐。

Q2:是否存在更有效和更高效的增强方法?

某些类型的图增强并没有达到预期的效果,但确实改善了推荐性能。然而,需要进行漫长的试错过程来确定最有效的图增强方法。否则,随机选择可能会降低推荐性能。此外,反复创建图增强和构建邻接矩阵会增加模型训练的额外开销。

答:学习更均匀分布的表示对于提高推荐性能至关重要,我们提出了一种无需图增强的对比学习方法,名为SimGCL(Simple Graph Contrastive Learning)。SimGCL符合图1中呈现的范式,去除了无效的图增强,并通过向学习到的表示添加均匀噪声来实现更高效的表示级数据增强,使均匀性更可控。实验表明,这种基于噪声的增强方法可以直接将嵌入空间调整为更均匀的表示分布。

SimGCL方法的核心思想是通过在表示级别引入均匀噪声,而不是依赖于图增强,来提高表示的均匀性。这种方法消除了建立图增强和构建邻接矩阵所带来的额外开销,并且更加高效。SimGCL方法通过控制均匀噪声的添加,使学习到的表示更加均匀分布,从而改善了推荐性能。【通过噪声增强,SimGCL能够直接对表示空间进行正则化,使得表示分布更加均匀。同时,通过控制噪声的大小,SimGCL可以灵活地调整表示的均匀性。】

这项研究的贡献在于提出了一种无需图增强的对比学习方法,为解决图增强方法的限制和高额开销提供了一个更为有效和高效的替代方案。通过SimGCL方法,我们可以控制表示的均匀性,提高推荐系统的性能。

SimGCL的一些缺点

然而,尽管有这些优点,SimGCL 笨重的体系结构使它不够完美。除了推荐任务的向前/向后传递之外,每个小批量中的对比任务还需要额外的向前和向后传递,且这些方法要求用户项目二分图中的所有节点都在训练过程中出现,这使得计算量几乎是传统推荐模型的三倍。这个缺陷极大地阻碍了基于 CL 的模型的可伸缩性。

答:为了解决这一问题,本文提出了一种极简图形对比学习方法(XSimGCL)。XSimGCL 建立在 SimGCL 基于噪声的增强方法的基础上,同时通过统一推荐和对比任务的共享单程来简化计算过程。XSimGCL 的实现如图2所示。具体来说,SimGCL 和 XsimGCL 都使用相同的输入: 初始嵌入和邻接矩阵。区别在于,SimGCL 对比了通过不同前进传递学习的两个最终表示,并依赖于推荐的普通表示,而 XSimGCL 对两个任务使用相同的扰动表示,并用跨层对比替换 SimGCL 中的最终层对比。这种设计使得 XSimGCL 几乎和传统的推荐模型 LightGCN 一样轻量级[28]。最重要的是,XSimGCL 甚至以其更简单的体系结构优于 SimGCL。

四、回顾基于图对比学习的推荐系统

1、基于图增强的对比推荐

研究的目标是代表性的最新CL-based推荐模型SGL,该模型通过节点/边的dropout来增强用户-物品图。SGL中的联合学习方案由推荐损失和对比损失组成,其中推荐损失采用标准的BPR损失函数,对比损失采用InfoNCE损失函数。SGL使用LightGCN作为编码器来从用户-物品图中学习表示。

2、Necessity of Graph Augmentations

最近的研究[17]、[20]、[21]的发现表明,即使是非常稀疏的图数据增强也能在一定程度上对推荐模型产生益处,这表明基于对比学习的推荐可能以一种与我们当前的理解不同的方式发挥作用。为了更好地理解对比学习如何增强推荐,首先研究了在SGL中进行图数据增强的必要性。原始的SGL论文[12]提出了三个变种:SGL-ND(-ND表示节点dropout)、SGL-ED(-ED表示边dropout)和SGL-RW(-RW表示随机游走,即多层边dropout)。为了创建一个对照组,引入了SGL的一个新变种,称为SGL-WA(-WA表示没有数据增强),其中对比学习损失定义如下:

因为没有数据增强,所以z′i = z′′i = zi

结果表明,基于图数据增强的SGL变种都优于LightGCN,这证明了对比学习的有效性。SGL-WA也具有竞争力,与SGL-ED和SGL-RW表现相当,甚至在所有数据集上都优于SGL-ND。这些结果得出两个结论:(1)虽然图数据增强确实有效,但其效果并不像预期的那样显著,对比损失InfoNCE对性能提升的贡献最大。(2)并非所有的图数据增强都具有积极的影响,例如节点dropout,可能通过移除关键节点(例如中心节点)及其相关边缘来扭曲原始图,导致不相连的子图,与原始图的可学习不变性较小。

3、Uniformity Is What Really Matters

从图3中,LightGCN学习到高度聚集的特征,并且密度曲线上升和下降得非常陡峭。热门用户和热门物品具有类似的分布,而冷门用户则依附于热门物品,只有少量用户分散在冷门物品之间。这种偏倚的模式使得模型不断将热门物品推荐给大多数用户,生成了平庸的推荐结果。这一结果更加凸显出LightGCN会倾向于推荐热门物品的偏向性,从而导致长尾物品无法被推荐。

对于SGL-WA,可将其对比损失进行改写:

可以看出优化对比损失的本质是最小化不同节点嵌入之间的相似性(通常通过内积计算),这会使节点在特征空间里相互远离,从而形成均匀分布。至此,可以得出结论:分布的均匀性(uniformity)【均匀分布的特征能够缓解流行度偏差问题,促进长尾物品的推荐,并提高模型的泛化能力】是SGL的推荐性能得到提升的核心因素,而不是冗余的数据增强。至此,则又有一个新的问题,即如何在不进行数据增强的前提下进行高效的对比学习?

五、提出的方法

1、Noise-Based Augmentation

通过调整在一定范围内学到的表示的均匀性,可以改进对比推荐模型。由于操作图结构以实现可控的均匀性是困难且耗时的,所以转而关注嵌入空间。受到对抗性样本的启发,提出在表示中直接添加随机噪声来进行有效的增强。

具体而言,通过向节点表示添加满足特定约束条件的随机噪声向量,使得节点表示在嵌入空间中保持一定的均匀性,并生成具有一定差异性的增强表示。希望学到的表示在整个嵌入空间中分布,以充分利用空间的表达能力。虽然技术上很难使学到的分布近似于均匀分布,但通过从均匀分布中生成噪声,可以在统计上为增强表示带来一些均匀性的提示。这样的增强操作可以提高对比推荐模型的性能。

从均匀分布中生成噪声

2、Simple Contrastive Recommendation Model

1、SimGCL:

SimGCL 遵循图中的图推荐任务的对比学习范式,由三个编码器组成:一个用于推荐任务,另外两个用于对比任务。SimGCL 使用 LightGCN 作为主干网络来学习图表示。由于 LightGCN 是无网络参数的,输入的用户/物品嵌入是唯一需要学习的参数。推荐任务采用普通的图编码,按照式(4)传播节点信息。同时,在另外两个编码器中,SimGCL 使用了提出的基于噪声的增强方法,在每一层对聚合的嵌入添加不同的均匀随机噪声,以获得扰动表示。这种涉及噪声的表示学习可以表示为:

需要注意的是,当计算最终的表示时,所有三个编码器中都跳过了输入嵌入 E(0),因为发现跳过它可以获得更好的性能。可能的原因在第3.3节中进行了讨论。最后,我们将学习到的表示代入到式(1)中给出的联合损失中,然后使用 Adam 进行优化。

2、XSimGCL:

相对于SGL,SimGCL更简单不需要图增强。但SimGCL每次计算都需要三次前向/后向传递来更新输入节点嵌入。并且在SimGCL中同一节点的一对视图互信息是非常高的,因为连个嵌入都包含了L跳邻居的信息,所以将它们互相对比可能效果较差。这也是许多基于CL的推荐模型中的一个常见问题。为了解决这个问题,提出了XSimGCL新方法。提出对比不同层的嵌入,这些嵌入共享一些共同信息,同时在聚合的另据和添加的噪声方面存在差异,此外,因为添加的噪声较小,可以直接将扰动表示用于推荐。这些噪声类似与dropout技巧,仅在训练过程中应用,在测试阶段切换到无噪声的普通模式。XSimGCL通过合并SimGCL的编码过程来简化架构,在小批量计算中只需要进行一次前向/后向传递。

XSimGCL的扰动表示学习与SimGCL完全相同。XSimGCL的联合损失函数定义为:

SimGCL和XSimGCL都使用相同的输入:初始嵌入和邻接矩阵。区别在于,SimGCL通过对比两个通过不同前向传播学习到的最终表示,并依赖于普通表示进行推荐,而XSimGCL对于两个任务使用相同的扰动表示,并将SimGCL中的最终层对比替换为跨层对比

3、Ability to Adjust Uniformity Through Changing ϵ 

通过调整ϵ 的值,XSimGCL可以显式地控制和增强表示和原始表示之间的偏离程度。较大的ϵ值会促进表示分布的更大均匀性,因为在对比损失的优化过程中,添加的噪声会作为梯度的一部分进行传播。通过从均匀分布中采样噪声,均匀性会向更高水平进行正则化。为了验证这一观点,文中进行了一个实验,利用平均成对高斯势能的对数值,通常称为径向基函数(RBF)核函数,来衡量均匀性[31],其定义如下:

其中,f(u)输出节点u的L2归一化嵌入。

实验涉及选择热门物品(即与超过200次交互的物品),并从Yelp2018数据集中随机抽样5,000个用户形成用户-物品对。使用公式12评估XSimGCL学习到的表示的均匀性。使用包含3层的设置,固定λ = 0.2的值,在训练过程中调整ϵ的值,观察对均匀性的影响。

最初,由于使用了Xavier初始化(一种特殊的均匀分布)来初始化输入嵌入,所有曲线显示出高度均匀的表示分布。随着训练的进行,由于Lrec的影响,均匀性逐渐下降。然而,在达到最小值后,均匀性开始增加,并持续增加直到收敛。此外,发现较大的ϵ值有助于表示分布的更大均匀性,这与更好的性能相对应。这些结果支持了均匀性增加可以提高性能的观点。我们还观察到收敛速度与噪声的幅度之间存在相关性,详细内容我们在第4.3节进行了阐述。

3、 Theoretical Analysis with Graph Spectrum

4、Complexity

这里分析了XSimGCL的理论复杂度,并将其与LightGCN、SGL-ED以及其前身SimGCL进行了比较。

在单个批次内讨论,使用批内负采样。因为LightGCN、SimGCL和XSimGCL不需要图增强,只构建了具有2|A|非零元素的归一化邻接矩阵。但对于SGL-ED使用两种图增强方法,每种方法的邻接矩阵中有2ρ|A|个非零元素。

在图编码阶段,SGL-ED和SimGCL都采用了三个编码器的结构来学习两种不同的增强方法,因此SGL-ED和SimGCL的编码开销几乎是LightGCN的三倍。相比之下,XSimGCL的编码开销与LightGCN相同。

预测阶段,所有方法都使用BPR损失进行训练,每个批次包含B个交互项,因此它们在这方面的时间成本完全相同。

对比学习,计算成本来(主要来自负样本)自于正样本和负样本之间的对比,它们分别是O(Bd)和O(BMd),因为每个节点将自身的视图视为正样本,将其他节点的视图视为负样本。为了简洁起见,我们将其标记为O(BMd),因为M ≫ 1。

在这四个模型中,SGL-ED和SimGCL显然是计算成本最高的两个模型。SimGCL在图编码方面需要更多时间,而SGL-ED需要进行不断的图增强操作。由于这部分通常在CPU上执行,这在实践中给SGL-ED带来了更多的时间开销。相比之下,XSimGCL既不需要图增强,也不需要额外的编码器。在不考虑对比任务的计算开销的情况下,XSimGCL在理论上与LightGCN一样轻量级,且在图编码方面只需要SimGCL的三分之一的训练开销。当然,这些模型的实际效率和性能可能会因各种因素而异。

 |A| 表示用户-物品二分图中的边数,d 表示嵌入维度,B 表示批次大小,M 表示每个批次中的节点数,L 表示模型的层数,ρ 表示 SGL-ED 中的边保留率。

六、实验

1、实验设置

  • Dataset:Yelp2018、Amazon-kindle、Alibaba-iFashion、Amazon-Electronics
    (训练集:验证集:测试集 = 7:1:2)首先在验证集上搜索最佳超参数,将训练集和验证集合并用于训练模型,在测试集上评估模型。
  • Baselines:LightGCN、SGL变体、DNN+SSL、BUIR、MixGCL、NCL
  • Hyperparameters:

2、SGL vs. XSimGCL: A Comprehensive Perspective

实验集中在三个重要方面:推荐性能、训练时间和对长尾项目的推广能力。

1、性能比较

将SGL和XSimGCL/SimGCL在不同层数下的性能比较。在大多数情况下,SGL变体、SimGCL和XSimGCL相对于LightGCN都展现出显著的性能提升。这证明了基于噪声的数据增强的有效性。特别是在更稀疏的数据集Alibaba-iFashion上,它们明显优于SGL变体。且SGL变体的表现进一步证实了InfoNCE损失是性能提升的主要因素,而启发式图增强并不如预期那样有效,甚至可能降低性能。

在大多数情况下,所比较的方法在3层或4层设置下实现了最佳性能。随着模型层数的增加,性能提升逐渐减弱。值得注意的是,LightGCN的性能在三个数据集上下降,而基于对比学习的方法的性能保持相对稳定,这表明对比学习可以减轻过度平滑问题,因为它导致更均匀分布的表示学习。

为了方便研究结果的可重复性,表5中提供了每种方法的最佳超参数。

与其他一些模型性能的比较

2、Comparison of Training Efficiency

根据这些观察结果,可以得出结论。首先,对比学习可以极大地加速训练过程。其次,图增强对训练效率没有贡献。第三,跨层对比不仅带来了性能改进,还导致更快的收敛。通过分析对比学习损失的梯度,我们发现XSimGCL和SimGCL中的噪声会给梯度增加一个小的增量,这类似于动量,并可以解释加速训练的原因。与最终层的对比相比,跨层对比有更短的梯度传播路径。这可以解释为什么XSimGCL相对于SimGCL需要更少的epochs。

3、 Comparison of Ability to Promote Long-tail Items

通过优化InfoNCE损失,可以学习到更均匀分布的表示,这有助于减轻流行度偏差。为了验证XSimGCL通过基于噪声的增强提升了这种能力,将测试集分成了十个组,ID从1到10,每个组包含相同数量的交互。组ID越高,包含的流行物品越多。使用2层设置评估了每个组的Top-20召回率,如图7所示。

据图,LightGCN更倾向于推荐流行物品,并在最后一组达到了最高的召回值。相比之下,XSimGCL和SimGCL在第10组上并没有表现出色,但它们在推荐长尾物品方面的非凡表现在很大程度上弥补了它们在流行物品组上的损失。将图3和图7结合起来发现,推广长尾物品的能力似乎与表示的均匀性呈正相关。由于一个好的推荐系统应该推荐与特定用户最相关的物品,而不是推荐可能已知的流行物品,因此SimGCL和XSimGCL在这方面明显优于其他方法。

3、Hyperparameter Investigation

λ-对比任务的系数,ϵ-添加噪声的大小,和L∗-要对比的层

1、Influence ofλ and ϵ

2、Layer Selection for Contrast

4、Applicability Investigation

基于噪声的对比学习方法在与LightGCN已被证明有效,那这种方法是否适用于其他常见的骨干网络呢?

文中选择了三种常用的网络结构作为骨干网络:线性MF、普通GCN [39]和两塔DNN(具有两个tanh层),并对它们应用基于噪声的CL。由于MF无法采用跨层对比,所以为不同的增强方法的输入嵌入添加了不同的均匀噪声。在这两种结构上尝试了各种λ和ϵ的组合我们的结果表明,NBC可以提高GCN的性能,可能是因为GCN也具有从对比学习中受益的聚合机制。然而,NBC(代表基于噪声的CL)并不能始终改善MF和DNN的性能。在Amazon-Kindle数据集上观察到明显的改进,而在Yelp2018数据集上,NBC降低了性能。

2、XSimGCL with Different Noises

获得的对抗性扰动(用XSimGCLa表示),没有学习嵌入的符号的正均匀噪声(用XSimGCLp表示),以及高斯噪声(用XSimGCLg表示)。

观察到,带有符号均匀噪声的原始XSimGCL优于其他变体。虽然正均匀噪声和高斯噪声相对于LightGCN也带来了显著的性能提升,但添加对抗性噪声意外地导致性能大幅下降。这表明只有少数特定分布可以产生有益的噪声。此外,XSimGCL优于XSimGCLp的结果表明符号约束的必要性。

除了噪声类型,文中还检查添加噪声是否会损害或改善推荐性能。在表8中呈现了在去除对比任务、添加噪声以及二者都去除的情况下的XSimGCL的结果。结果表明,在没有对比学习的情况下,添加的噪声对推荐性能几乎没有影响,只观察到微小的改进。然而,当去除噪声时,仅有对比任务无法将性能提升到原始XSimGCL的水平,这表明对于更强大的XSimGCL,对比学习和噪声都是必要的。最后,[44]验证了基于噪声的特征扰动赋予SimGCL对注入的恶意交互具有鲁棒性的能力。

七、总结

在本文中重新审视了对比学习在推荐中的应用,并研究了它如何增强图推荐模型。研究结果表明InfoNCE损失是决定性因素,它解释了大部分性能提升,而精心设计的图增强方法只起到次要作用。优化InfoNCE损失可以实现更均衡的表示分布,有助于在推荐场景中推广长尾物品。基于这一发现,文中提出了一种简单而有效的基于噪声的增强方法,通过对比学习可以平滑地调整表示分布的均匀性。还提出了一种极其简单的模型XSimGCL,为基于对比学习的推荐提供了一个超轻量级的架构。对四个大型且高度稀疏的数据集进行的广泛实验证明,XSimGCL是图增强方法的理想替代品。

1.对比学习对图推荐模型的积极影响。通过对比学习,可以学习到更均匀分布的表示,这对于提高推荐性能非常重要。在这个过程中,InfoNCE(Normalized Contrastive Estimation)损失起着关键作用,它帮助我们通过最大化正样本对之间的相似性来训练模型。【图增强方法在训练过程中引入了额外的噪声和复杂性,而对比学习方法通过直接调整表示的均匀性来提高性能。】

2.提出了一种简单而有效的基于噪声的增强方法,它能够平滑地调整学习表征的一致性。

3.提出了一种新颖的基于对比学习的推荐模型XSimGCL,它在效果和效率方面超过了其前身SimGCL。

4.对四个大型且高度稀疏的基准数据集进行了全面的实验研究(其中三个数据集在我们的初步研究中没有使用),以证明XSimGCL是其基于图增强的代替方法的理想选择。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值