Are Graph Augmentations Necessary? Simple Graph
Contrastive Learning for Recommendation
图增强是必要的吗?用于推荐的简单图对比学习方法
来源:SIGIR 2022
摘要:对比学习(CL)最近在推荐领域中获得了广泛的研究成果,因为它从原始数据中提取自我监督信号的能力与推荐系统解决数据稀疏性问题的需求非常一致。基于cl的推荐模型的一个典型框架是首先使用结构扰动(例如,随机边/节点dropout)来增强用户-项二部图,然后最大限度地提高不同图增强之间的节点表示一致性。作者通过实验发现被认为是必要的操作——增强图,其实只发挥了微不足道的作用。基于此,作者提出了一种简单的CL方法,该方法丢弃图增强,仅通过在嵌入空间中添加均匀噪声来自由调整学习表示的均匀性,从而创建对比视图。虽然它看起来非常简单,但对三个基准数据集的综合实验研究表明,该方法在推荐精度和模型训练效率方面比基于图增强的方法具有明显的优势。
1 介绍
1.1 图对比学习概述
去年以来,关于图对比学习(CL)应用于推荐中的研究越来越多。由于CL不需要数据标签,可以很好地缓解推荐系统中的数据稀疏问题。将CL应用于推荐的一种典型方法是,首先使用结构扰动(如随机边/节点的丢弃)来增强用户-项二部图,然后最大化通过图编码器学习的不同视图下表示的一致性。在此设置中,CL任务作为辅助任务,并与推荐任务进行联合优化(如图1)。
1.2 动机
尽管CL取得了令人鼓舞的成果,但成功的根本原因仍不清楚。直观地说,我们假设对比不同的图增强可以通过随机去除边缘/节点丢弃的冗余来捕获原始用户-项目交互中存在的信息,然而的一些最新工作报告中提到,即使是在CL中非常稀疏的图增强(边缘丢弃率为0.9)也可以带来满足期望的性能提高。这种现象是相当违反直觉的,因为一个大的丢弃率将导致原始信息的巨大损失和高度偏差的图结构。这很自然地就提出了一个有意义的问题:当将CL与推荐集成时,我们真的需要图增强吗?
为了回答这个问题,作者首先分别进行了有和没有图增强的对比实验,以进行性能比较。结果表明,当没有图增强时,其性能与具有图增强的相当。然后,作者研究了通过非cl和基于cl的推荐方法学习到的嵌入空间。通过可视化表示形式的分布,并将它们与它们的表现联系起来,作者发现对推荐性能真正重要的是CL的损失,而不是图的增强。优化对比损失InfoNCE可以学习更统一的用户/项目表示,这在减轻流行偏差方面发挥了隐形的作用。
需要说明的是,尽管不像预期的那么有效,图的增强并不是完全无用的,因为原始图的适当扰动有助于学习抗干扰的表示。然而,生成手工制作的图增强需要在训练过程中不断地重建图的邻接矩阵,这是相当耗时的。此外,删除一个临界边/节点可能会将一个连接图分割成几个断开的组件,这可能会使增广图和原始图共享很少的可学习不变性。鉴于这些缺陷,作者希望能够研究出更直观有效的方法。
1.3 贡献
在本文中,作者在发现表示分布的均匀性是关键的基础上,开发了一种简单的无图增强的CL方法,其放弃了基于丢弃的图增强,而是在原始表示中添加随机均匀噪声,以进行表示级的数据增强。与图增强算法相比,该方法可以直接地在嵌入空间中工作,易于实现,而且效率更高。
2 推荐中的图对比学习研究
2.1 用于推荐的图对比学习
在本节中,作者对一种最先进的基于CL的推荐模型SGL进行了研究,该模型执行节点和边缘的dropout增强原始图,并采用InfoNCE来实现CL。在SGL中的联合学习方案被正式定义为:
(1)
其中包括两个损失:推荐损失和CL损失。SGL中的信息的计算公式为:
其中,是采样批次中的用户/项目,z'和z''是从两个不同的基于dropout的增强子图中学习到的2归一化的维节点表示,>0是温度系数。CL损失鼓励了zi'和zi''之间的一致性,它们是同一节点的增广表示,是彼此的正样本,同时最小化了'和z'之间的一致性,它们是彼此的负样本。为了从用户项图中学习表示,SGL使用了一个流行而有效的图编码器LightGCN作为其主干,其消息传递过程定义为:
(3)
其中,为随机初始化的节点嵌入,||为节点数,为层数,为归一化的无向邻接矩阵。通过使用丢弃增强的邻接矩阵来替换,可以通过(3)式学得不同增强图上的节点表示z'和z''。
2.2 图增强的必要性
为了揭开基于cl的推荐方法的工作原理,作者首先研究了SGL中图增强的必要性。作者构建了一个新的SGL变体,称为SGL-wa(WA代表“无增强”),其中CL损失为:
(4)
因为没有图增强的步骤,所以只学习原始用户项图上的表示,即(2)式中的z'=z''=z。作者在Yelp和Amazon-Book两个数据集上进行了对比实验,结果如表一所示:
上表中,ND表示节点dropout,ED表示边缘dropout,-RW表示随机游走(即多层边缘dropout),CL意味着只有SGL中的CL损失被最小化。可以观察到,SGL的所有变体都大大优于LightGCN,这证明了CL在提高推荐性能方面的有效性。令人惊讶的是,当图的增强被删除时,性能的提高仍然是如此显著,以至于SGL-WA甚至优于SGL-ND和SGL-RW。作者推测节点dropout和随机游走(特别是前者)很可能丢弃关键节点和相关的边,从而将相关的子图断开成各部分,这极大地扭曲了原始图。相比之下,边缘dropout干扰原始图语义的风险较低,因此SGL-ED比起SGL-WA可以保持微不足道的优势,这表明了适当的图增强的潜力。然而,考虑到在每个时期对邻接矩阵的耗时重建,作者认为应该重新考虑图扩充的必要性,并寻找更好的替代方案。此外,作者想知道SGL-WA出色的性能基础到底是什么。
2.3 InfoNCE Loss带来的更大影响
作者首先使用t-SNE方法将学习到的表示(每个数据集随机抽取2000个用户)映射到单位超球面S1(即半径为1的圆)上的二维归一化向量,然后使用用非参数高斯核密度估计在中绘制特征分布,如图2所示。
根据图2,我们可以观察到明显不同的特征/密度分布。在最左边的一列中,LightGCN显示了高度聚集的特征,主要位于几段弧线上。而在第二列和第三列中,分布变得更加均匀,密度估计曲线也不那么陡峭。在第四列中,我们绘制了等式中对比损失学习的特征,这里的分布几乎是完全一致的。
作者认为有两个原因可以解释高度聚集的特征分布。第一个是LightGCN中的消息传递机制。随着层数的增加,节点嵌入变得局部相似。第二个是推荐数据中的流行度偏差,由于推荐数据通常遵循长尾分布,当是一个具有大量交互的流行项目时,用户嵌入将会不断更新到的方向。
通过重写公式(4),我们可以得到:
(5)
因为1/是一个常数,优化CL损失实际上是最小化不同节点之间的余弦相似性嵌入e和e,这将推动连接节点远离高度中心表示空间,导致更均匀的分布。通过将表1中的结果与图2中的分布联系起来,作者得出一个结论,即分布的均匀性是对SGL中的推荐性能有决定性影响的潜在因素,而不是图增强。优化CL损失可以看作是一种隐式的去偏倚的方法,因为一个更均匀的表示分布可以保留节点的内在特征,提高泛化能力。
3 SIMGCL:用于推荐的简单图对比学习方法
3.1 方法
由于操纵均匀表示分布的图结构是棘手的,作者将注意力转移到嵌入空间。受在输入图像中添加难以察觉的小扰动所构造的对抗性实例的启发,作者直接在表示中添加随机噪声,以实现有效的增强。形式上,给定一个节点及其在维嵌入空间中的表示,我们可以实现以下表示级增强:
其中,添加的噪声向量Δ'和Δ''受到两个约束:(1)和 (2),的影响。约束(1)控制Δ的大小,并且Δ在数值上等价于半径为的超球面上的点。约束(2)要求、Δ'和Δ''应该在同一个超空间中,这样添加噪声就不会导致的巨大偏差,使正样本的有效性降低。图3直观地解释了等式(6)。
通过将缩放的噪声向量添加到原始表示中,我们将旋转两个小角度(1和2)。每个旋转对应的偏差,并导致一个增强表示(e'和e'')。由于旋转足够小,增广表示保留了原始表示的大部分信息,同时也保留了一些方差。注意,对于每个节点表示,添加的随机噪声是不同的。
在SGL之后,作者采用LightGCN作为图编码器来传播节点信息。在每一层,对当前节点嵌入施加不同比例的随机噪声。最终的扰动节点表示可以通过:
需要提到的是,在计算最终表示时,作者跳过了输入嵌入E(0),因为作者通过实验发现,跳过它会导致我们的设置有轻微的性能提高。但是,如果没有CL任务,此操作将导致LightGCN的性能下降。
3.2 均匀性控制
在SimGCL中,两个超参数和可以影响表示的均匀性,这对性能至关重要。通过调整的值,我们可以直接控制增强表示与原始表示的偏离程度。直观地说,一个更大的将导致学习表示的更大致均匀的分布,因为当增强表示离原始表示足够远时,其表示中的信息也会受到噪声的显著影响。由于噪声是从均匀分布中采样的,通过对比增广表示,原始表示被正则化为更高的一致性。作者提出了以下的实验分析来证明它。
作者使用平均成对高斯势的对数来度量表示的一致性,即:
其中,()输出一个的2规范化嵌入。作者选择流行的项目(超过200个交互),在Yelp2018数据集中随机抽取5000个用户形成用户项目对,然后使用等式计算它们在SGL变体和SimGCL中表示的一致性.为了进行公平的比较,对使用=0.1进行的所有比较方法都采用了三层的结构设置。然后作者调整以观察均匀性是如何变化的。注意,图中的方法都收敛到最优解。
如图4所示,在所有的曲线上都观察到相似的趋势。在初始阶段,所有的方法都有高度均匀分布的表示,因为作者使用了Xavier初始化,这是一种特殊的均匀分布。随着训练的进行,均匀性下降(均匀性损失增大),达到峰值后,均匀性提高,直到收敛并保持这种趋势。对于SimGCL,随着的增加,它倾向于学习更均匀的表示,即使是非常小的=0.01也会导致更高的均匀性。因此,用户(尤其是长尾用户)受到的受欢迎物品的影响较小。在图2最右边的一列中,作者还绘制了使用=0.1的SimGCL的表示分布。我们可以清楚地看到,这些分布明显比SGL变体和LightGCN学习到的分布更均匀。所有这些结果都可以支持作者的主张,即通过用基于噪声的增强代替图增强,SimGCL更能够控制学习表示的均匀性,从而消除偏差。
3.3 复杂性分析
设||为图中的边数,为嵌入大小,表示批大小,表示批中的节点数,表示SGL-ED中的边保持率。复杂性结果如下:
•对于LightGCN和SimGCL,不需要对图进行扩充,所以它们只需要对具有2个||非零元素的原始邻接矩阵进行归一化。对于SGL-ED,使用了两个图扩充,每个图扩充都有2||的非零元素。
•在图卷积阶段,在SGL-ED和SimGCL中都采用了三编码器架构(见图1)来学习增广节点表示。因此,SGL-ED和SimGCL的时间成本几乎是LightGCN的三倍。
•对于推荐损失,有三种方法都使用BPR损失,每个批处理都包含交互,因此它们在这个组件中具有相同的时间成本。
•在计算CL损失时,正/负样本之间的计算成本分别为O()和O(),因为每个节点只认为自己是正的,而其他节点都是负的。
4 实验
4.1 结果展示
4.2 收敛速度与运行时间比较
4.3 参数敏感性分析
·的影响。通过将固定在0.1,作者将更改为图6中fig8所示的一组预定的代表性值。可以看出,随着的增加,SimGCL的性能从一开始就开始提高,当豆瓣0.2、2018Yelp0.5、亚马逊2时逐渐达到峰值。之后,它开始下降。此外,与fig9相比,虽然和在同一范围内进行了调优,但在fig8中观察到更显著的变化,这表明可以提供超出仅通过调优提供的细粒度调控。
·的影响。作者认为更大的导致更均匀的分布。但是,当它太大时,推荐任务就会受到阻碍,因为连接节点之间的高相似性不能反映在过均匀的分布上。我们将固定在fig8所示的三个数据集的上的最佳值,然后调整以查看性能变化。如fig9所示,曲线的形状与预期的一致。在所有数据集上,当接近0.1时,SimGCL的性能最好。作者还发现,与均匀分布初始化相比,初始化嵌入(包括Xavier初始化)的性能提高了3%-4%。
4.4 与其他SOTA模型的比较