Are Graph Augmentations Necessary? Simple Graph Contrastive Learning for Recommendation

补充:特征对齐、均匀分布

Embedding里能够保留更多个性化的信息,这又代表什么呢?举个例子,比如有两张图片,都是关于狗的,但是一张是在草地上跑的黑狗,一张是在水里游泳的白狗。如果在投影成Embedding后,模型能各自保留各自的个性化信息,那么两张图片在投影空间里面是有一定距离的,以此表示两者的不同。而这就代表了分布的均匀性,指的是在投影球面上比较均匀,而不会说因为都是关于狗的图片,而聚到球面的同一个点中去,那就会忽略掉很多个性化的信息。这就是说为什么Uniformity分布均匀代表了编码和投影函数f保留了更多的个性化信息。

一个好的对比学习系统,要兼顾这两者。既要考虑Alignment,相似实例在投影空间里距离越近越好。也要考虑Uniformity,也就是不同实例在投影空间里面分布要均匀一些,让实例映射成embedding之后尽可能多的保留自己的个性化信息

摘要

对比学习(CL)最近在推荐领域激发了富有成效的研究,因为它从原始数据中提取自监督信号的能力与推荐系统解决数据稀疏性问题的需求非常一致。基于CL的推荐模型的一个经典途径是首先用结构扰动去进行增强用户-项目二部图,然后最大化不同图增强之间的节点表示一致性。尽管这种模式被证明是有效的,但性能提高的根本原因仍然是一个谜。在本文中,我们首先通过实验揭示,在基于CL的推荐模型中,CL通过学习更均匀的用户/项目表示,这隐式地减轻了流行度偏差。同时,我们揭示了图增强操作,过去它被认为是必要的,但只是发挥一个微不足道的作用。在此基础上,我们提出了一种简单的CL方法,它不再使用图的增强,而是在嵌入空间中添加均匀的噪声,以创建对比视图。对三个基准数据集的综合实验研究表明,该方法虽然看起来非常简单,但可以平稳地调整学习表示的均匀性,并且在推荐精度和训练效率方面比基于图增强的方法具有明显的优势。该代码已在https://github.com/Coder-Yu/QRec网站上发布。

1 介绍

近年来,对比学习(CL)[12,13,17]在深度表示学习中得到了复兴。由于CL能够从大量未标记数据中提取总体特征并以自监督的方式规范表示,CL在多个研究领域[5,7,29,36]取得了重大进展。由于CL中不需要数据标注,因此它是推荐系统[9,23]中数据稀疏性问题的解决方法。最近越来越多的研究表明,[29,33,39,41,45,46]试图利用CL来提高推荐性能,并显示出了显著的成果。[29]将CL应用于推荐的一种经典方法是,首先使用结构扰动(例如,随机边/节点dropout)来增强用户-项目二部图,然后最大化通过图编码器学习的不同视图下的表示的一致性。在此设置中,CL任务作为辅助任务,并与推荐任务进行联合优化(图1)。
Are Graph Augmentations Necessary? Simple Graph Contrastive Learning for Recommendation_第1张图片
然而,尽管CL取得了好的性能,但性能增长的根本原因仍不清楚。直观地说,我们假设通过随机边/节点dropout可以随机去除冗余和杂质,对比不同的图增强可以捕获原始用户-项目交互中存在的本质信息。出乎意料的是,[15,39,47]最新的一些工作报告认为,即使是在CL中非常稀疏的图增强(边dropout为0.9)也可以带来性能提高。这种现象是相当难以捉摸和违反直觉的,因为一个大的dropout率将导致原始信息的巨大损失和一个高度倾斜的图结构。这自然提出了一个有意义的问题:当将CL与推荐集成时,我们真的需要图增强吗?

为了回答这个问题,我们首先分别进行了有和没有图增强的实验,以进行性能比较。结果表明,当没有图增强时,其性能也可以与具有图增强的相进行比较。通过可视化表示的分布与它们的性能关联起来,我们发现对推荐性能真正重要的是CL的损失,而不是图的增强。无论是否使用图增强,优化对比损失InfoNCE[19]学习更均匀的用户/项目表示,这都在减少流行度偏差[4]方面发挥了隐性作用。尽管不像预期的那么有效,但图的增强并不是完全没用的,因为原始图的适当扰动有助于学习对干扰因子[1,5]不变的表示。然而,生成指定的图增强需要在训练过程中不断地重建图的邻接矩阵,这是相当耗时的。此外,删除一个临界边/节点(例如,一条边)可能会将一个连接图分割成几个断开的部分,这可能会使增强图和原始图共享很少的可学习不变性。鉴于这些缺陷,接下来就出现了一个后续问题:是否有更有效的增强方法?

在本文中,我们对这个问题作出了肯定的回答。在发现表示分布的均匀性是关键的基础上,我们开发了一种无图增强的CL方法,其中均匀性更可控。从技术上讲,我们遵循图1中所示的图CL框架,但我们放弃了基于dropout的图增强,而是在原始表示中添加随机均匀噪声,以实现表示层的数据增强。施加不同的随机噪声会在对比视图之间产生差异,而可学习的不变性仍然保持不变。与图增强相比,噪声版本直接将嵌入空间正则化,使其分布更均匀,易于实现,且效率更高。

本文的主要贡献总结如下:

  • 我们通过实验阐明了为什么CL可以提高推荐性能,并说明了InfoNCE的损失是决定性的因素,而不是图的增强。
  • 我们提出了一种简单而有效的无图增强CL推荐方法,可以平滑地调节均匀性。它可以作为繁琐的基于图增强的CL方法的理想替代方法。
  • 我们对三个基准数据集进行了全面的实验研究,结果表明,该方法在推荐精度和模型训练效率方面比基于图增强的方法具有明显的优势。

2 推荐中的图对比学习的研究

2.1 推荐中的图对比学习

CL通常用一组特定的表示不变性来进行数据增强的方式用在推荐中。在本文中,我们回顾了图[29,36]上最常用的基于dropout的增强,它假设对部分结构进行扰动后的表示是不变的。对一种最先进的基于CL的推荐模型SGL[29]进行了研究,该模型执行节点和边dropout来增强原始图,并采用InfoNCE[19]来实现CL。在SGL中的联合学习方案被正式定义为:
在这里插入图片描述
其中包括两个损失:推荐损失L和CL损失L。SGL中的InfoNCE的计算公式为:
在这里插入图片描述
Are Graph Augmentations Necessary? Simple Graph Contrastive Learning for Recommendation_第2张图片

Are Graph Augmentations Necessary? Simple Graph Contrastive Learning for Recommendation_第3张图片

2.2 图增强的必要性

为了揭开基于CL的推荐方法的工作原理,我们首先研究了SGL中图增强的必要性。我们构建了一个新的SGL变体,称为SGL-WA(WA代表“无增强”),其中CL损失为:
在这里插入图片描述
因为我们只学习原始用户项目图上的表示,所以我们有 z ′ z_^{'} zi= z ′ ′ z_^{''} zi= z z_ zi。性能比较的实验是在两个基准数据集上进行的:Yelp2018和Amazon-Book[10,26]。采用了三层设置,并根据SGL的原论文对超参数进行了调整(实验细节详见第4.1节)。结果如表1所示。对本文提出的三种SGL(dropout率为0.1)进行了评估(-ND表示节点dropout,-ED表示边dropout,-RW表示随机游走(即多层边dropout)。CL代表着在SGL中只有CL损失被最小化)。
Are Graph Augmentations Necessary? Simple Graph Contrastive Learning for Recommendation_第4张图片
可以观察到,SGL的所有变体都大大优于LightGCN,这证明了CL在提高推荐性能方面的有效性。令我们惊讶的是,当图的增强被去掉时,性能的提高仍然如此显著,以至于SGL-WA甚至显示出优于SGL-ND和SGL-RW。我们推测节点dropout和随机游走dropout(特别是前者)很可能丢弃关键节点和相关的边,从而将相关的子图分解成断开的部分,这极大地扭曲了原始图。这种图的增强几乎没有什么可学习的不变性,而鼓励它们之间的一致性可能会产生负面影响。相比之下,一次性边dropout具有极小的风险在很大程度上干扰原始图语义,因此SGL-ED比SGL-WA可以保持微小的优势,这表明了适当的图增强的能力。然而,考虑到在每轮对邻接矩阵的重建耗时,我们应该重新考虑图增强的必要性,并寻找更好的替代方案。此外,我们想知道SGL-WA性能提升的原因是什么,因为它的CL部分没有提供变体。

2.3 InfoNCE损失影响更大

Wang和Isola[25]已经发现,优化对比损失强化了视图表示学习的两个特性:正样本的特征对齐和单位超球面上归一化特征分布的均匀性。目前还不清楚基于CL的推荐方法是否有类似的表现来解释第2.2节中的结果。由于top-N推荐是一类问题,我们采用[25]中的可视化方法来研究均匀性。

我们首先使用t-SNE[24]将学习到的表示(每个数据集随机抽取2000个用户)映射到单位超球面S1(即半径为1的圆)上的二维归一化向量。当方法达到最佳性能时,得到所有的表示。然后,我们用非参数高斯核密度估计[3]在 R 2 R^2 R2中绘制特征分布(如图2所示)。为了更清晰地表示,S1上每个点的角度密度估计也被可视化。根据图2,我们可以观察到明显不同的特征/密度分布。在最左边的一列中,LightGCN显示了高度聚集的特征,主要位于一些有限的弧上。而在第二列和第三列中,分布变得更加均匀,密度估计曲线也不那么锋利。在第四列中,我们绘制了等式(2)中对比损失学习的特征,这些分布几乎是完全均匀的。
Are Graph Augmentations Necessary? Simple Graph Contrastive Learning for Recommendation_第5张图片
Are Graph Augmentations Necessary? Simple Graph Contrastive Learning for Recommendation_第6张图片
我们在 R 2 R^2 R2中使用高斯核密度估计(KDE)绘制特征分布(颜色越深,在该区域内落下的点就越多)。和每个点的角度的KDE(即,每个点(x,y)∈S1 的arctan2(y,x))。

我们认为有两个原因可以解释高度聚集的特征分布。第一个是LightGCN中的消息传播机制。随着层数的增加,节点嵌入变得局部相似第二个是推荐数据中的流行度偏差[4]。回顾一下在LightGCN中使用的BPR损失[22]:
Are Graph Augmentations Necessary? Simple Graph Contrastive Learning for Recommendation_第7张图片

由于推荐数据通常遵循长尾分布,当是一个具有大量交互的流行项目时,用户嵌入将会不断更新到的方向(即− ∇ e ∇_{e_} eu)。消息传播机制进一步加剧了聚集问题(即 e e_ eu e e_ ei在图卷积中相互聚合信息),并导致表示衰退[21]。

对于其他列的分布,通过重写等式(4),我们可以推导出
在这里插入图片描述
因为 1/ 是一个常数,优化CL损失实际上是最小化不同节点嵌入 e e_ ei e e_ ej之间的余弦相似性,这将使得连接的节点远离表示空间中的那些“高度”中心节点,因此,即使在推荐损失的影响下,也会导致更均匀的分布。

通过将表1中的结果与图2中的分布联系起来,我们可以很容易地得出一个结论,即分布的均匀性是对SGL中的推荐性能有决定性影响的潜在因素,而不是基于dropout的图增强。优化CL损失可以看作是一种隐式的消除偏差的方法(在第4.2节中讨论),因为一个更均匀的表示分布可以保留节点的内在特征,提高泛化能力。这是对SGL-WA的意外性能的一个有说服力的解释。还应该注意的是,仅通过最小化等式(2)中的CL损失,将达到较差的性能,这意味着均匀性和性能之间的正相关仅在有限的范围内保持。对均匀性的过度追求会忽略交互和相似用户/项目的亲密度,降低推荐性能

3 简单的图对比学习推荐

根据第2节的发现,我们推测,通过在一定范围内调整学习表示的均匀性,可以达到最佳的性能。在本节中,我们的目标是开发一种简单的图对比学习方法(SimGCL),它可以平稳地调节均匀性,并提供信息变体,以最大化CL的优点。

3.1 动机和方法

由于为了均匀表示分布去改动图结构是棘手的和耗时的,我们将注意力转移到嵌入空间。受在输入图像中添加难以察觉的小扰动所构造的对抗性实例[8]的启发,我们直接在表示中添加随机噪声,以实现有效的增强

形式上,给定一个节点及其在维嵌入空间中的表示 e e_ ei,我们可以实现表示层的增强:
在这里插入图片描述
其中,添加的噪声向量 Δ ′ Δ_^{'} Δi Δ ′ ′ Δ_^{''} Δi受制于以下条件:

  • 第一个约束条件控制Δ的大小,Δ在数值上等于半径为 的超球面上的点(向量有多少维度被进行扰动)。

    在这里插入图片描述

  • 第二个约束条件利用了 e i e_i ei Δ ′ Δ_^{'} Δi Δ ′ ′ Δ_^{''} Δi应该在相同的hyperoctant(方向)上(与 e i e_i ei在相同的方向上),这样添加的噪声不会造成 e i e_i ei有大的偏差,以防使得正样本无效。

    在这里插入图片描述
    在图3中,我们在 R 2 R^2 R2解释了等式(7)中。通过将缩放的噪声向量添加到原始表示中,我们将 e i e_i ei旋转两个小角度(1和2)。每个旋转对应 e i e_i ei的偏差,并形成一个增强表示( e ′ e_^{'} ei e ′ ′ e_^{''} ei)。由于旋转足够小,增强表示保留了原始表示的大部分信息,同时也保留了一些不变性。注意,对于每个节点表示,添加的随机噪声是不同的。
    Are Graph Augmentations Necessary? Simple Graph Contrastive Learning for Recommendation_第8张图片

  • 第三个约束条件
    在这里插入图片描述
    采样满足随机均匀分布

遵循SGL,我们采用LightGCN作为图编码器来传播节点信息,并由于其简单的结构性和有效性而放大偏差的影响。在每一层,对当前节点嵌入施加不同比例的随机噪声。最终扰动的节点表示可以被学习为:

在这里插入图片描述
需要注意的是,在计算最终表示时,我们跳过了所有三个编码器中的输入嵌入 E ( 0 ) E^(0) E(0),因为我们通过实验发现,在我们的设置中,跳过它会有轻微的性能提高。但是,如果没有CL任务,此操作将导致LightGCN的性能下降。最后,我们还统一了BPR损失(等式5)和CL损失(等式2),然后使用Adam来优化等式中的联合损失 (1)。

3.2 调节均匀性
在SimGCL中,两个超参数 (自监督损失在联合损失中所占的比例) 和 (半径)可以影响表示的均匀性,这对性能至关重要。但是相比较于仅仅通过调优 ,仅仅调优 可以来明显而平滑地调节均匀性。通过调整 的值,我们可以直接控制增强表示与原始表示的偏离程度。直观地说,一个更大的将导致学习表示更均匀的分布,因为当增强表示离原始表示足够远时,其表示中的信息也会受到噪声的显著影响由于噪声是从均匀分布中采样的,通过对比增强表示,调整原始表示更均匀。我们提出了以下的实验分析来证明它。

在[25]中,提出了一个度量方法来度量表示的均匀性,即平均成对高斯势的对数(亦称为:径向基函数(RBF)核):
在这里插入图片描述
其中,()输出一个的2正则化嵌入。我们选择流行的项目(超过200个交互),在Yelp2018数据集中随机抽取5000个用户形成用户项目对,然后使用等式 (9)计算它们在SGL变体和SimGCL中表示的均匀性。为了进行公平的比较,对所有比较方法都采用了三层设置且 = 0.1。然后我们调整 以观察均匀性是如何变化的。在每轮之后检查均匀性,并记录前30轮的值,在此期间,进行比较的方法都收敛到了它们的最优解。
Are Graph Augmentations Necessary? Simple Graph Contrastive Learning for Recommendation_第9张图片
如图4所示,在所有的曲线上都观察到相似的趋势。在初始阶段,所有的方法都有高度均匀分布的表示,因为我们使用了Xavier初始化,这是一种特殊的均匀分布。随着训练的进行,均匀性下降( L u n i f o r m L_{uniform} Luniform增大),达到峰值后,均匀性提高,直到收敛并保持这种趋势。对于SimGCL,随着 的增加,它倾向于学习更均匀的表示,即使是非常小的 = 0.01产生的效果也比SGL变体有更高的均匀性。因此,用户(尤其是长尾用户)受到的流行项目影响较小。在图2最右边的一列中,我们还绘制了使用 = 0.1的SimGCL的表示分布。我们可以清楚地看到,这些分布明显比SGL变体和LightGCN学习到的分布更均匀。所有这些结果都可以支持我们的观点,即通过用基于噪声的增强代替图增强,SimGCL更能够控制学习表示的均匀性,从而消除偏差。

3.3 复杂度
Are Graph Augmentations Necessary? Simple Graph Contrastive Learning for Recommendation_第10张图片
Are Graph Augmentations Necessary? Simple Graph Contrastive Learning for Recommendation_第11张图片
将SimGCL和SGL-ED进行比较,我们可以清楚地看到,SGL-ED理论上在图卷积上花费的时间更少,这种好处可能会抵消SimGCL在邻接矩阵构造方面的优势。然而,当将它们付诸实践时,我们实际上观察到SimGCL更省时。这是因为,图的卷积的计算主要是在gpu上完成的,而图的扰动是在cpu上执行的。此外,在每轮中,都需要重建SGL-ED中图扩充的邻接矩阵。而在SimGCL中,原始图的邻接矩阵只需要在训练前生成一次。简而言之,SimGCL比SGL效率高得多,超出了我们从理论分析中看到的。

4 实验结果

4.1 实验设置

数据集

三个公共基准数据集:Douban-Book[39](#用户13024,#项目22347,#交互792062),Yelp2018[10](#用户31668#项目38048,#交互1561406),和Amazon-Book[29](#用户52463,#项目91599,#交互2984108)在我们的实验中被用来评估SimGCL。因为我们关注的是Top-N的推荐,按照之前研究[41,41]的惯例,我们丢弃了在Douban-Book中小于4的评分,该评分等级为1-5,并将其余的重置为1。我们将数据集分成三个部分(训练集、验证集和测试集),其比例为7:1:2。使用了两个常见的指标:Recall@ 和NDCG@。我们设置了=20。为了进行严格和公正的评估,本节中的每个实验都进行了5次,并对所有项目进行排序,然后我们报告平均结果。基线除了LightGCN和SGL变体外,还比较了以下最近基于数据增强的方法。

  • Mult-VAE[16]是一个基于变分自动编码器的推荐模型。它可以看作是一个特殊的自监督推荐模型,因为它有一个重建目标。
  • DNN+SSL[35]是最近的一种基于DNN的推荐方法,它采用了图1中类似的架构,并对CL进行特征mask。
  • BUIR[15]是由一个目标网络和一个在线网络组成的双分支架构,并且只使用了正例来进行自监督学习。
  • MixGCL[11]设计了跳混合技术,通过嵌入内插法合成难负例的图协同过滤。

超参数

为了进行公平的比较,我们参考了在基线的原始论文中报告的最佳超参数设置,然后通过网格搜索对基线的所有超参数进行微调。对于所有基线的一般设置,在所有嵌入上都使用了Xavier初始化。嵌入大小为64,2正则化参数为 1 0 − 4 10^{-4} 104,批处理大小为2048。我们使用学习率为0.001的Adam来优化所有的模型。在SimGCL和SGL中,我们根据经验假设温度 = 0.2,这个值在SGL的原始论文中也被报道为最好的。

4.2 SGL vs SimGCL:从一个全面的角度来看

由于本文的核心观点之一是,图增强在基于CL的推荐中不是不可缺少的和无效的,在这一部分中,我们对SGL和SimGCL在推荐性能、收敛速度、运行时间和去偏差能力方面进行了综合比较。

4.2.1 性能比较

我们首先在三个不同数据集上不同层的设置进一步比较SGL和SimGCL。我们没有报告更深层的结果,因为SGL和SimGCL在浅层结构中都达到了最好的性能。所使用的超参数报告见第4.3节。加粗的数字代表最佳性能,并画线了第二好的性能。通过使用LightGCN作为基线来计算这些改进。根据表3,我们可以得出以下观察结果和结论:

Are Graph Augmentations Necessary? Simple Graph Contrastive Learning for Recommendation_第12张图片

  • 所有的SGL变体和SimGCL在不同的设置下都能有效地改进LightGCN。最大的进步是在Douban-Book上。当层数为1时,SimGCL可显著提高LightGCN,召回率提高为33.5%,NDCG可显著提高为40.5%。
  • SGL-ED是SGL最有效的变体,而SGL-ND是最无效的。当使用2层或3层设置时,SGL-WA在大多数情况下优于SGL-ND,并且在少数情况下显示出比SGL-RW更好。这些结果表明,CL损失是性能提高的主要驱动力,而直觉中的图增强可能没有预期的那么有效,其中一些甚至可能会降低性能。
  • SimGCL在所有情况下都表现出最好的性能,证明了基于随机噪声的数据增强的有效性。特别是在两个更大的数据集:Yelp2018和Amazon-Book上,SimGCL的性能显著优于SGL变体。

4.2.2收敛速度的比较

在这一部分中,我们证明了SimGCL的收敛速度比SGL要快得多。本部分使用了2层设置,其他参数保持不变。
Are Graph Augmentations Necessary? Simple Graph Contrastive Learning for Recommendation_第13张图片

从图5和图6可以看出,SimGCL的测试集分别在Douban-Book上的第25轮、Yelp2018上的第11轮和Amazon-Book上的第10轮上达到最佳性能。相比之下,SGL-ED分别在第38、17和14轮达到峰值。SimGCL只花费了SGL变体所需要的2/3轮。此外,SGL-WA在Yelp2018和Amazon-Book上几乎与SGL-ED的曲线重叠,并表现出相同的收敛趋势。看起来似乎基于dropout的图增强不能加速模型,以获得更快的收敛速度。尽管如此,所有基于CL的方法在收敛速度上都比LightGCN更有优势。当其他三种方法开始被过度拟合时,LightGCN距离收敛还有几百轮。

在SGL的论文中,作者推测CL损失中的多个负样本可能有助于快速收敛。然而,虽然dropout产生了无限的负样本,SGL-WA只有一定数量的负样本,但SGL-ED在加速训练方面基本上与SGL-WA相当。对于SimGCL,我们认为显著的收敛速度源于噪声。通过分析CL损失的梯度,我们发现噪声一般提供了一个恒定的增量,就像一个动量一样工作。除了图5和图6中的结果外,我们还发现随着 的增大,训练加速。但当它过大(例如,大于1)时,虽然BPR损失迅速减少,但SimGCL需要更多的时间来收敛。一个大的 就像一个大的学习率,导致渐进的之字形优化将超过最小值。

4.2.3 运行时间比较

在这部分中,我们报告了比较方法在一轮花费的实时运行时间。表4中的结果是在Intel®Xeon®金5122CPU和GeForceRTX2080TiGPU上收集的。
Are Graph Augmentations Necessary? Simple Graph Contrastive Learning for Recommendation_第14张图片

如表4所示,我们计算了其他方法比LightGCN慢多少倍。因为在SGL-WA中没有图的增强,所以我们可以看到它的运行速度与LightGCN非常接近。对于SGL-ED,需要两个图增强,这部分的计算大部分是在cpu上完成的,因此它甚至比amazon-Book上的LightGCN慢5.7倍。运行时间随着数据集的变大而增加。相比之下,尽管SimGCL的速度不如SGL-WA,但它仅比Amazon-Book上的LightGCN慢2.4倍,其增长趋势也远低于SGL-ED。考虑到SimGCL只需要SGL-ED所花费的2/3轮,它在各个方面的效率都优于SGL。

4.2.4 去偏差的能力

InfoNCE损失被发现有能力通过学习更均匀的表示来减轻流行偏差。为了验证SimGCL通过基于噪声的表示增强可以增强这种能力,我们根据项目的受欢迎程度将测试集划分为三个子集。点击/购买次数最少的80%的物品被标记为“不流行”,点击/购买次数最多5%的项目被标记为“流行”,其余的物品被标记为“正常”。然后,我们进行实验,检查每组在Recall@20中的贡献。(Recall@20的值是三组值的总和)。计算结果如图7所示。
Are Graph Augmentations Necessary? Simple Graph Contrastive Learning for Recommendation_第15张图片

我们可以清楚地看到,SimGCL的提升都来自于受欢迎程度较低的项目。它在推荐长尾项目方面的显著优势,在很大程度上弥补了它在“流行”组上的损失。相比之下,LightGCN倾向于推荐流行的项目,并在最后两个数据集上获得最高的召回值。SGL变体在探索长尾项目上介于LightGCN和SimGCL之间,并表现出相似的推荐偏好。结合图2和图7,我们可以很容易地发现,表示的均匀性与去偏差的能力之间存在着正相关关系。由于受欢迎的项目可能已经从其他来源接触到了用户,推荐它们可能不是一个好的选择。。在这一点上,SimGCL的性能明显优于SGL,而且它在发现长尾项目方面的性能符合用户的真正需求。

4.3 参数敏感性分析

在这部分中,我们研究了SimGCL中这两个重要的超参数的影响。这里我们采用了第4.2.2节中使用的实验设置。
Are Graph Augmentations Necessary? Simple Graph Contrastive Learning for Recommendation_第16张图片

4.3.1 的影响

通过将 固定在0.1,我们将 更改为图8中所示的一组值。可以看出,随着 的增加,SimGCL的性能从一开始开始提高,在Douban-Book上 = 0.2、Yelp2018上 = 0.5、Amazon-Book上 = 2 时逐渐达到峰值。之后,它开始下降。此外,与图9相比,虽然 和 在相同范围内进行了调优,但在图8中观察到更显著的变化,这表明 可以提供一个更好地细粒度调节,超出仅调优 。

4.3.2 的影响

我们认为一个更大的 会导致一个更均匀的分布,这有助于消除偏差。但是,当它太大时,推荐任务就会受到阻碍,因为连接节点之间的高相似性不能反映在过均匀的分布上。我们将 固定在图8所示的三个数据集的 上的最佳值,然后调整 以观察性能变化。如图9所示,曲线的形状与预期的一致。在所有数据集上,当接近0.1时,SimGCL的性能最好。我们还发现,均匀分布的初始化嵌入(包括Xavier初始化)比高斯分布初始化嵌入的性能提高了3% - 4%。

4.4 与其他方法的性能比较

为了进一步证实SimGCL的突出能力,我们将其与最近提出的其他四种基于数据增强的方法进行了比较。
Are Graph Augmentations Necessary? Simple Graph Contrastive Learning for Recommendation_第17张图片

由表5可知,SimGCL表现优于所有基线,MixGCF排名第二。同时,我们发现一些基于数据增强的推荐方法并不像预期的那样强大,甚至在许多情况下被LightGCN所超越。我们将他们的失败归因于:
(1)LightGCN、MixGCF和SimGCL都基于图卷积机制,与Mult-VAE相比,它们能更好地建模图数据。
(2)用户/项目特征可获得时,DNNs被证明是有效的。在我们的数据集中,没有提供任何特征,我们没有用DNN学习到的嵌入来进行自监督学习,因此在这种情况下它无法表示它自己。
(3)在BUIR的论文中,它去掉了长尾节点以获得良好的性能,但我们使用了所有的用户和项目。此外,它的暹罗网络也可能在一些长尾节点上沦落为一个无价值的解决方案,因为它没有使用负例,这可能解释了它的低性能。

4.5 不同类型噪声的性能比较

在SimGCL中,我们使用从均匀分布中采样的随机噪声来实现数据增强。然而,还有其他类型的噪声,包括高斯噪声和对抗性噪声。在表6中我们也测试不同的噪声和报告他们的最佳结果( 表示从(0,1)中均匀噪声采样, 表示积极的均匀噪声,它与不同,不满足第3.1节的第二个约束条件。 表示标准高斯分布产生的高斯噪声, 表示对抗性噪声由FGSM生成[8])。
Are Graph Augmentations Necessary? Simple Graph Contrastive Learning for Recommendation_第18张图片
根据表6,SimGCL 的性能与SimGCL类似,而SimGCL的效果较差。可能的原因是我们对噪声使用了2归一化。由标准高斯分布产生的归一化噪声可以拟合一个更平坦的高斯分布(可以很容易地证明),它近似于一个均匀分布。因此,可以看到它的性能与与SimGCL性能可进行比较。对于SimGCL,对抗性噪声是通过仅针对最大化CL损失而产生的,而推荐损失在优化过程中对性能的影响更大。至于SimGCL,我们注意到,在大多数情况下,与SimGCL相比,性能略有下降,这表明需要创建更多信息增强的方向性约束。

5 相关工作

5.1 图的神经推荐模型

图神经网络(GNNs)[6,31]现在已经成为被广泛认可的建模推荐数据的强大架构。这种新的神经网络范式结束了学术界基于MLP的推荐模型,并将神经推荐系统提升到了一个新的水平。大量以GNN为基础的推荐模型,声称它们在不同的子领域取得了最先进的性能[10,40,41]。特别是,GCN[14],作为最普遍的变体,进一步推动了图神经推荐模型的发展,如GCMC[2]、NGCF[26]、LightGCN[10]和LCF[43]。尽管在细节上实现不同,但这些GCN驱动的模型有一个共同的想法,即逐层从用户项目图中的邻居那里获取信息,以改进目标节点的嵌入并实现图推理[30]。在这些方法中,LightGCN因其结构简单、性能良好而成为最受欢迎的方法,它丢弃了变换矩阵和非线性激活函数在内的冗余操作。这样的设计被证明是高效和有效的,并激发了许多后续的基于CL的推荐模型,如SGL[29]和MHCN[39]。

5.2 推荐中的对比学习

由于CL以自监督的方式[42]工作,它本质上是解决推荐系统中数据稀疏性问题[37,38]的一种可能的解决方案。受CL在其他领域的成就的启发,有一波新的研究将CL与推荐相结合[18,20,29,33,39,41,46]。Zhou等[46]对属性和项目采用随机mask,为互信息最大化的序列模型预训练创建序列增强。Wei等人[27]从信息理论的角度重新阐述了冷启动项目表示学习,最大限度地提高了项目内容与协作信号之间的相互依赖关系,以缓解数据稀疏性问题。在[35]中也发现了类似的想法,开发了一个双塔DNN架构以供推荐,其中项目塔也被共享,用于对比增强的项目特征。SEPT[39]和COTREC[32]进一步提出在扰动图上使用半监督学习来挖掘多个正样本,以进行基于社交/会话的推荐。除了dropout之外,CL4Rec[34]还提议重新排序和裁剪项目部分,以进行顺序数据增强。Yu等人[41]、Zhang等人[44]和Xia等人[33]利用超图对推荐数据进行建模,并提出对比不同的超图结构进行表示正则化。除了数据稀疏性问题外,Zhou等[45]从理论上证明了CL也可以减轻推荐中的曝光偏差,并开发了一种名为CLRec的方法来提高公平性和效率方面的深度匹配。

6 结论

在本文中,我们在推荐中重新讨论了基于dropout的CL,并研究了它如何提高推荐性能。我们发现,在基于CL的推荐模型中,CL的损失是核心,而图的增强只起次要作用。优化CL损失可以得到更均匀的表示分布,这有助于在推荐的场景中消除偏差。然后,我们开发了一种简单的无图增强的CL方法,以一种更直接的方式来调节表示分布的均匀性。通过在表示中加入有向随机噪声,进行不同的数据增强和对比,提出的方法显著提高了推荐能力。大量的实验表明,该方法优于基于图增强的方法,同时大大减少了训练时间。

你可能感兴趣的:(智能推荐,论文,推荐系统,对比学习,自监督)