论文状态:已完成

Are Graph Augmentations Necessary? Simple Graph Contrastive Learning for Recommendation

发表:2021/12/16
原文链接PDF 下载
价格:0.10
价格:0.10
已有 2 人读过
本分析由 AI 生成,可能不完全准确,请以原文为准。

TL;DR 精炼摘要

本文探讨对比学习(CL)在推荐系统中的作用,发现图增强并非必要。实验表明,CL 的性能提升源于用户/物品表示的均匀性,能有效缓解流行度偏差。基于此,作者提出SimGCL(简单图对比学习),用均匀噪声替代复杂的图增强,显著提升推荐精度和训练效率。

摘要

Contrastive learning (CL) recently has spurred a fruitful line of research in the field of recommendation, since its ability to extract self-supervised signals from the raw data is well-aligned with recommender systems' needs for tackling the data sparsity issue. A typical pipeline of CL-based recommendation models is first augmenting the user-item bipartite graph with structure perturbations, and then maximizing the node representation consistency between different graph augmentations. Although this paradigm turns out to be effective, what underlies the performance gains is still a mystery. In this paper, we first experimentally disclose that, in CL-based recommendation models, CL operates by learning more evenly distributed user/item representations that can implicitly mitigate the popularity bias. Meanwhile, we reveal that the graph augmentations, which were considered necessary, just play a trivial role. Based on this finding, we propose a simple CL method which discards the graph augmentations and instead adds uniform noises to the embedding space for creating contrastive views. A comprehensive experimental study on three benchmark datasets demonstrates that, though it appears strikingly simple, the proposed method can smoothly adjust the uniformity of learned representations and has distinct advantages over its graph augmentation-based counterparts in terms of recommendation accuracy and training efficiency. The code is released at https://github.com/Coder-Yu/QRec.

思维导图

论文精读

中文精读

1. 论文基本信息

1.1. 标题

Are Graph Augmentations Necessary? Simple Graph Contrastive Learning for Recommendation (图增强是必要的吗?面向推荐系统的简单图对比学习)

1.2. 作者

Junliang Yu, Hongzhi Yin, Xin Xia, Tong Chen, Lizhen Cui, Nguyen Quoc Viet Hung

  • 第一作者隶属机构: 昆士兰大学 (The University of Queensland), 澳大利亚。
  • 通讯作者: Hongzhi Yin (殷红志)。

1.3. 发表期刊/会议

SIGIR '22 (Proceedings of the 45th International ACM SIGIR Conference on Research and Development in Information Retrieval)

  • 地位: 信息检索与推荐系统领域的顶级国际学术会议 (CCF-A 类)。

1.4. 发表年份

2022年 (预印本发布于 2021年12月)

1.5. 摘要

对比学习 (Contrastive Learning, CL) 因其能从稀疏数据中提取自监督信号而在推荐系统中表现出色。现有的基于 CL 的推荐模型通常采用图结构增强 (Graph Augmentation)(如随机丢弃节点或边)来构建对比视图。虽然这种方法有效,但其生效的根本原因尚不明确。 本文首先通过实验揭示:CL 的核心作用在于学习分布更均匀的用户/物品表示,从而隐式地缓解流行度偏差 (Popularity Bias),而图增强本身并非必要,甚至可能比较低效。 基于此发现,作者提出了 SimGCL (Simple Graph Contrastive Learning),该方法抛弃了繁琐的图结构增强,转而在嵌入空间中添加均匀噪声来构建对比视图。实验证明,SimGCL 在推荐精度、训练效率和去偏能力上均优于现有的图增强方法。

1.6. 原文链接

2. 整体概括

2.1. 研究背景与动机

  • 核心问题: 推荐系统面临严重的数据稀疏性问题。对比学习 (CL) 通过自监督任务(最大化同一节点在不同视图下的一致性)成为解决此问题的有效手段。
  • 现有挑战: 主流方法(如 SGL)通过对图结构进行扰动(例如随机去掉一些边或节点)来生成增强视图。作者提出质疑:
    1. 必要性存疑: 即使是非常稀疏的图增强(如丢弃 90% 的边)也能带来提升,这很反直觉。这说明性能提升可能不完全源于对图结构信息的挖掘。
    2. 效率瓶颈: 每一轮训练都需要重新构建邻接矩阵进行图增强,计算开销大。
    3. 结构破坏风险: 随机丢弃边可能会破坏图的连通性或语义信息。
  • 创新思路: 作者假设 CL 的增益主要来自损失函数对表示空间分布的调节(均匀性),而非图结构增强本身。因此,可以尝试用更简单、更高效的方式(如噪声)替代图增强。

2.2. 核心贡献/主要发现

  1. 实验洞察: 发现对比学习通过优化 InfoNCE 损失函数,促使节点嵌入在超球面上分布更均匀,从而隐式地缓解了长尾分布带来的流行度偏差。

  2. 方法创新: 提出了 SimGCL,一种无图增强的对比学习方法。它直接在节点嵌入上添加微小的随机均匀噪声来生成对比视图,极大地简化了流程。

  3. 性能提升: SimGCL 不仅在推荐准确率上超越了最先进的基线模型(SGL),而且在收敛速度和训练效率上具有显著优势。


3. 预备知识与相关工作

3.1. 基础概念

为了理解本文,需要掌握以下核心概念:

  • 图卷积网络 (GCN) 与 LightGCN:
    • 在推荐系统中,用户和物品被建模为二部图中的节点。GCN 通过聚合邻居节点的信息来更新当前节点的表示(Embedding)。
    • LightGCN 是当前推荐系统中最流行的 主干网络 (Backbone),它简化了传统 GCN,去除了非线性激活和特征变换矩阵,仅保留邻域聚合,公式为:eu(k+1)=iNu1NuNiei(k)\mathbf{e}_u^{(k+1)} = \sum_{i \in \mathcal{N}_u} \frac{1}{\sqrt{|\mathcal{N}_u||\mathcal{N}_i|}} \mathbf{e}_i^{(k)}
  • 对比学习 (Contrastive Learning):
    • 一种自监督学习范式。核心思想是“拉近相似样本(正样本对),推开不相似样本(负样本对)”。
    • InfoNCE Loss: 对比学习常用的损失函数,用于最大化正样本对之间的互信息下界。
  • 数据增强 (Data Augmentation):
    • 在图像领域通常是旋转、裁剪。在图推荐中,通常指 结构扰动,如 Edge Dropout(随机丢弃边)或 Node Dropout(随机丢弃节点)。

3.2. 前人工作

  • SGL (Self-supervised Graph Learning):
    • 这是本文最主要的对比对象。SGL 将对比学习引入图推荐,通过对用户-物品图进行节点/边丢弃,生成两个子图(视图)。然后在这些子图上运行 LightGCN,要求同一节点在不同子图中的表示尽可能一致。
    • 局限: SGL 依赖于耗时的图结构重建。

3.3. 差异化分析

  • SGL vs. SimGCL:
    • SGL:图结构 (Structure) 层面做增强(操作邻接矩阵)。

    • SimGCL:表示 (Representation) 层面做增强(操作嵌入向量)。

    • 本文证明了 SGL 中繁重的图结构操作是不必要的,简单的噪声扰动效果更好。


4. 方法论

4.1. 方法原理

SimGCL 的核心思想非常简洁:为了构建对比学习所需的两个不同视图,我们不需要费力去修改图结构,只需要在节点经过 GCN 编码后的表示向量上,加上微小的随机噪声即可。

作者认为,InfoNCE 损失函数本质上是在优化表示空间的 均匀性 (Uniformity)。添加噪声可以为表示学习引入不确定性,迫使模型学习到更鲁棒、分布更均匀的特征,从而抵抗推荐系统中的流行度偏差。

4.2. 核心方法详解 (逐层深入)

SimGCL 的框架基于 LightGCN,并在训练过程中联合优化推荐任务(监督学习)和对比任务(自监督学习)。

下图(原文 Figure 8,注:原文中可能有误标,通常架构图为 Figure 1,但根据提供的Markdown内容,这里引用 Figure 1 展示架构)展示了 SGL 的架构,SimGCL 沿用了类似的双分支结构,但在增强方式上做了根本性改变。

fig 8 该图像是一个示意图,展示了图对比学习在推荐系统中的应用。图中包含三个主要部分:原创图的图编码器、扰动图的图编码器和对比学习框架,分别说明了如何生成用户-物品表示向量,以及如何进行联合学习和对比学习。

4.2.1. 主干网络与推荐任务

SimGCL 使用 LightGCN 作为编码器。给定用户-物品二部图的归一化邻接矩阵 A~\tilde{\mathbf{A}} 和初始节点嵌入 E(0)\mathbf{E}^{(0)},LightGCN 的传播规则如下:

E=1L+1(E(0)+A~E(0)++A~LE(0)) \mathbf{E} = \frac{1}{L+1} (\mathbf{E}^{(0)} + \tilde{\mathbf{A}}\mathbf{E}^{(0)} + \ldots + \tilde{\mathbf{A}}^{L}\mathbf{E}^{(0)})

  • E\mathbf{E}: 最终学习到的节点表示矩阵。
  • LL: 图卷积的层数。
  • E(0)\mathbf{E}^{(0)}: 第 0 层的初始嵌入。

推荐任务损失 (BPR Loss): 模型使用贝叶斯个性化排序 (BPR) 损失来优化推荐性能,旨在让用户对交互过的物品 ii 的预测评分高于未交互物品 jj

Lrec=(u,i,j)Ologσ(y^uiy^uj) \mathcal{L}_{rec} = -\sum_{(u,i,j) \in \mathcal{O}} \log \sigma(\hat{y}_{ui} - \hat{y}_{uj})

其中 y^ui=euei\hat{y}_{ui} = \mathbf{e}_u^\top \mathbf{e}_i 是预测分数,σ\sigma 是 Sigmoid 函数。

4.2.2. 基于噪声的表示增强 (核心创新)

不同于 SGL 对 A~\tilde{\mathbf{A}} 进行扰动,SimGCL 直接在嵌入空间添加噪声。 对于任意节点 ii,在构建对比视图时,对其表示 ei\mathbf{e}_i 添加随机噪声向量 Δ\Delta

ei=ei+Δi,ei=ei+Δi \mathbf{e}_i' = \mathbf{e}_i + \Delta_i', \quad \mathbf{e}_i'' = \mathbf{e}_i + \Delta_i''

约束条件与解释: 为了确保噪声不会彻底破坏原始语义,且保持数值稳定性,噪声 Δ\Delta 需满足以下约束:

  1. 模长约束: Δ2=ϵ\|\Delta\|_2 = \epsilon。这相当于将噪声限制在一个半径为 ϵ\epsilon 的超球面上。ϵ\epsilon 是一个超参数,控制扰动的大小。

  2. 方向约束: Δ=Δˉsign(ei)\Delta = \bar{\Delta} \odot \mathrm{sign}(\mathbf{e}_i),其中 ΔˉU(0,1)\bar{\Delta} \sim \mathcal{U}(0, 1)。这确保噪声与原始向量在同一“象限”(超象限),避免反向扰动。

    下图(原文 Figure 3)直观展示了这种扰动:通过添加噪声,原始向量 ei\mathbf{e}_i 被旋转了微小的角度 θ\theta,生成了两个略有差异的视图。

    fig 2

    最终扰动后的图传播: 在实际计算中,噪声被注入到 LightGCN 的每一层传播中。最终的增强表示 E\mathbf{E}' 计算如下:

E=1L+1(+(A~kE(0)+A~k1Δ(1)++Δ(k))+) \mathbf{E}' = \frac{1}{L+1} \left( \dots + (\tilde{\mathbf{A}}^k \mathbf{E}^{(0)} + \tilde{\mathbf{A}}^{k-1}\Delta^{(1)} + \dots + \Delta^{(k)}) + \dots \right)

(注:原文公式 Eq. 8 较为复杂,核心含义是噪声在每一层都被加入并随着图卷积传播。作者在实验中发现,在计算对比视图时跳过 E(0)\mathbf{E}^{(0)} 效果更好。)

4.2.3. 对比学习任务

SimGCL 将同一节点 uu 在两个加噪视图下的表示 zu,zu\mathbf{z}_u', \mathbf{z}_u'' 视为正样本对,将 uu 与其他节点 vv 的表示视为负样本对。使用 InfoNCE 损失函数:

Lcl=iBlogexp(zizi/τ)jBexp(zizj/τ) \mathcal{L}_{cl} = \sum_{i \in \mathcal{B}} -\log \frac{\exp(\mathbf{z}_i'^\top \mathbf{z}_i'' / \tau)}{\sum_{j \in \mathcal{B}} \exp(\mathbf{z}_i'^\top \mathbf{z}_j'' / \tau)}

  • B\mathcal{B}: 一个 Batch 中的用户/物品集合。
  • τ\tau: 温度系数 (Temperature),控制对难负样本的关注程度。
  • z\mathbf{z}: 经过 L2 归一化后的节点嵌入。

4.2.4. 联合训练

最终的损失函数由推荐损失和对比损失加权求和得到:

Ljoint=Lrec+λLcl \mathcal{L}_{joint} = \mathcal{L}_{rec} + \lambda \mathcal{L}_{cl}

  • λ\lambda: 用于平衡两个任务权重的超参数。

4.3. 复杂度分析

相比于 SGL,SimGCL 在效率上有显著优势。

  • 空间/时间复杂度: SGL 需要存储和计算两个额外的增强邻接矩阵(稀疏矩阵乘法)。SimGCL 只需要生成同维度的噪声向量,且不需要重建图结构。

  • 时间成本比较: 如下表所示(基于原文 Table 2),SimGCL 避免了昂贵的图增强操作(Adjacency matrix reconstruction)。

    组件 LightGCN SGL-ED SimGCL
    邻接矩阵构建 O(2E)O(2|E|) O(2E+4ρE)O(2|E| + 4\rho|E|) O(2E)O(2|E|)
    图卷积 O(2ELd)O(2|E|Ld) O((2+4ρ)ELd)O((2 + 4\rho)|E|Ld) O(6ELd)O(6|E|Ld)

虽然理论上 SimGCL 的卷积计算量看似增加(因为要算两遍增强视图),但实际中图增强(SGL-ED)通常在 CPU 上进行,无法并行,而 SimGCL 的噪声添加完全在 GPU 上并行,因此实际速度 SimGCL 快得多。


5. 实验设置

5.1. 数据集

实验使用了三个广泛使用的推荐系统基准数据集:

  1. Douban-Book: 书籍评分数据集。

  2. Yelp2018: 本地商业推荐数据集。

  3. Amazon-Book: 亚马逊书籍推荐数据集,规模最大。

    数据集 用户数 物品数 交互数 密度
    Douban-Book 13,024 22,347 792,062 0.27%
    Yelp2018 31,668 38,048 1,561,406 0.13%
    Amazon-Book 52,643 91,599 2,984,108 0.06%

这些数据集不仅规模不同,稀疏度也不同,能够全面评估模型的鲁棒性。

5.2. 评估指标

实验采用 Top-K 推荐常用的两个指标(其中 K=20K=20):

  1. 召回率 (Recall@K):

    • 概念定义: 衡量模型能够把多少用户感兴趣的“正样本”物品成功推荐到前 K 个列表中。关注的是“覆盖面”。
    • 数学公式: Recall@K=RuTuTu \text{Recall@K} = \frac{|R_u \cap T_u|}{|T_u|}
    • 符号解释: RuR_u 是模型为用户 uu 推荐的前 KK 个物品集合,TuT_u 是测试集中用户 uu 实际交互过的真实物品集合 (Ground Truth)。
  2. 归一化折损累计增益 (NDCG@K):

    • 概念定义: 不仅关注是否推荐对了,还关注推荐的位置。位置越靠前,得分越高。
    • 数学公式: NDCG@K=DCG@KIDCG@K,DCG@K=i=1K2reli1log2(i+1) \text{NDCG@K} = \frac{\text{DCG@K}}{\text{IDCG@K}}, \quad \text{DCG@K} = \sum_{i=1}^{K} \frac{2^{rel_i} - 1}{\log_2(i+1)}
    • 符号解释: relirel_i 表示第 ii 个位置的物品是否相关(相关为1,否则为0)。IDCG 是理想状态下(相关物品全部排在最前面)的 DCG 值,用于归一化。

5.3. 对比基线

  • LightGCN: 当前最强的主干网络,没有对比学习。

  • SGL (SGL-ND/ED/RW): 最直接的竞争对手,基于图结构增强(节点丢弃/边丢弃/随机游走)。

  • SGL-WA (Without Augmentation): 作者构造的一个变体,仅使用对比损失但不做任何增强,用于验证增强的必要性。

  • MixGCF, BUIR, DNN+SSL: 其他结合了自监督学习或数据增强的推荐方法。


6. 实验结果与分析

6.1. 核心结果分析

主要的性能对比结果如下表所示(引用原文 Table 3)。SimGCL 在所有数据集和不同层数设置下均取得了最优效果。

以下是原文 Table 3 的结果:

Method Douban-Book Yelp2018 Amazon-Book
Recall NDCG Recall NDCG Recall NDCG
1-Layer Setting
LightGCN 0.1394 0.1165 0.0631 0.0515 0.0384 0.0298
SGL-ED 0.1658 0.1491 0.0637 0.0526 0.0451 0.0353
SGL-WA 0.1628 0.1454 0.0628 0.0525 0.0403 0.0320
SimGCL 0.1720 0.1519 0.0689 0.0572 0.0453 0.0358
3-Layer Setting (Optimal for most)
LightGCN 0.1501 0.1282 0.0639 0.0525 0.0410 0.0318
SGL-ED 0.1732 0.1551 0.0675 0.0555 0.0478 0.0379
SGL-WA 0.1705 0.1525 0.0671 0.0550 0.0466 0.0373
SimGCL 0.1772 0.1583 0.0721 0.0601 0.0515 0.0414

分析:

  1. SimGCL vs. SGL: SimGCL 显著优于 SGL-ED。在 Amazon-Book 数据集(最稀疏、最大)上,3层 SimGCL 相比 LightGCN 提升了约 25.6% (Recall) 和 30.2% (NDCG),且大幅超越 SGL。
  2. 图增强的非必要性: SGL-WA(无增强)的性能非常接近 SGL-ED,甚至在某些情况下优于 SGL-ND(节点丢弃)。这直接印证了作者的假设:图增强不是性能提升的关键,对比学习损失本身才是。

6.2. 为什么 SimGCL 有效?(机制探究)

6.2.1. 均匀性 (Uniformity) 分析

作者通过可视化特征分布解释了 SimGCL 的优势。

下图(原文 Figure 2)展示了不同模型学习到的特征在二维超球面的分布密度图:

  • LightGCN (最左): 特征高度聚类,分布在狭窄的区域。这通常是因为“流行度偏差”,大部分节点都向热门物品靠拢。

  • SGL (中间): 分布变得相对均匀,缓解了聚类。

  • SimGCL (未展示但类似最右): 作者通过调节噪声大小 ϵ\epsilon,可以直接控制分布的均匀性。

    fig 1 该图像是示意图(图1),展示了从Yelp2018和Amazon-Book数据集中学习的项目表示分布。上部分为特征分布,下部分为不同角度的密度图,通过对比不同方法的表现,展示了推荐系统中对比学习的效果。

进一步的量化分析(如下图,原文 Figure 9,注:原文实际对应 Figure 4)显示,SimGCL 能够获得比 SGL 更低的均匀性损失 (Uniformity Loss,值越低表示越均匀)。 噪声 ϵ\epsilon 越大,分布越均匀。这说明噪声扰动比图结构扰动更能直接有效地调节表示空间的几何分布。

fig 9 该图像是一个折线图,展示了不同方法下的 LuniformL_{uniform} 随时间的变化趋势。图中包括四种方法的表现:SGL-ED 和 SGL-WA 以及两种 SimGCL 的不同参数设置,数据表现出随着时间推移的波动性,特别是在初期阶段。总体来看,SGL-ED 的表现优于其他方法。

6.2.2. 去偏能力 (Debiasing)

对比学习的一个重要副作用是去偏。作者将物品按流行度分组(Popular, Normal, Unpopular)并测试性能。

如下图(原文 Figure 3)所示:

  • SimGCL (紫色)Unpopular (冷门/长尾) 物品上的提升最为显著。

  • 相比之下,LightGCN 倾向于推荐热门物品。

  • 这证明 SimGCL 学习到的均匀分布有效防止了模型坍缩到少数热门物品上,挖掘了长尾用户偏好。

    fig 3 该图像是一个比较图表,展示了在 Douban-Book、Yelp2018 和 Amazon-Book 数据集上不同推荐模型(LightGCN、SGL-WA、SGL-ED 和 SimGCL)在不同用户类型(不受欢迎、普通和受欢迎)下的 Recall@20 结果。各模型在受欢迎项上的表现明显优于其他类别,反映了不同模型的推荐效率差异。

6.3. 效率与收敛速度

除了效果好,SimGCL 还“快”。

  • 收敛速度: 如下图(原文 Figure 6,实际上对应 Figure 5)所示,SimGCL (红线) 仅需 SGL 约 2/3 的 epoch 即可收敛到最佳性能。

  • 训练耗时: 在同等硬件下,SimGCL 的每轮训练时间远低于 SGL-ED(见前文复杂度分析表),综合收敛速度,整体训练效率极大提升。

    fig 6 该图像是一个展示不同推荐算法(LightGCN、SGL-WA、SGL-ED 和 SimGCL)在三个数据集(Douban-Book、Yelp2018 和 Amazon-Book)上召回率的折线图。每个子图显示了不同算法在训练轮次中的表现,纵轴为召回率,横轴为训练轮次。

6.4. 参数敏感性分析

  • λ\lambda (对比损失权重): 存在一个最优值(如 0.5 或 0.2),过大或过小都会影响性能,这符合多任务学习的规律。

  • ϵ\epsilon (噪声大小): 如下图(原文 Figure 9)所示,ϵ=0.1\epsilon=0.1 左右效果最好。过大的噪声会破坏语义,过小的噪声无法提供足够的增强方差。

    fig 5 该图像是图表,展示了在不同数据集(Douban-Book、Yelp2018 和 Amazon-Book)上,召回率(Recall)和归一化折扣累积增益(NDCG)随参数变化的趋势。在三个数据集中,召回率的变化趋势较为明显,而 NDCG 的变化相对平稳。


7. 总结与思考

7.1. 结论总结

这篇论文挑战了图对比学习中“图结构增强是必须的”这一既定认知。作者通过严谨的实验证明,对比学习在推荐系统中的成功主要归功于 InfoNCE 损失函数对嵌入空间均匀性的调节,而非图结构的不变性学习。 基于此,作者提出的 SimGCL 通过简单地在嵌入上添加随机噪声,不仅实现了更优的推荐精度和去偏效果,还大幅降低了计算复杂度。SimGCL 成为了该领域一个新的强有力的基线模型。

7.2. 局限性与未来工作

  • 噪声类型的探索: 虽然作者测试了对抗噪声等,但目前的随机均匀噪声可能仍不是最优解。如何根据节点特征自适应地生成噪声是一个潜在方向。
  • 负采样策略: SimGCL 依赖于 Batch 内的负采样。对于超大规模数据集,如何设计更高效的负采样策略以进一步提升均匀性仍值得研究。

7.3. 个人启发与批判

  • 奥卡姆剃刀原理的胜利: 在深度学习领域,往往存在“越复杂越好”的误区。SimGCL 提醒我们,有时候复杂的模块(如 SGL 的图增强)可能只是增加了计算负担,而没有触及问题的本质。回归最简单的假设(噪声扰动)反而能看清真相。
  • 均匀性 vs. 聚类: 论文强调了均匀性的好处(去偏、泛化),但推荐系统也需要“聚类”(把相似的用户/物品拉近)。SimGCL 在两者之间找到了一个很好的平衡点(通过调节 λ\lambdaϵ\epsilon)。这对于其他领域的对比学习设计也有借鉴意义:不要盲目追求复杂的增强手段,先思考表示空间需要什么样的几何特性。

相似论文推荐

基于向量语义检索推荐的相关论文。

暂时没有找到相似论文。