【文献阅读七】Adaptive Graph Contrastive Learning for Recommendation
文献来源:Adaptive Graph Contrastive Learning for Recommendation
期刊会议:KDD '23: Proceedings of the 29th ACM SIGKDD Conference on Knowledge Discovery and Data Mining
源码:Python
本文只是对原文章的一个初步阅读与理解,在此表示感谢!如有错误或不解之处,请多加指导与指正。如需进一步了解,请参考原文。
一、介绍
本篇文献重点讲述了作者开发出一种新型推荐算法——自适应图对比学习 AdaGCL ,其核心技术源于 GNN 网络架构。研究中特别设计了两个可自适应地运用的数据增强机制,并通过显著提升了协同过滤范式的性能来验证该方法的有效性。
推荐系统的核心机制主要依赖于充足的高质量训练数据集,并通过沿着用户-物品交互关系传播信息以逐步优化用户的编码嵌入细节。
二、AdaGCL框架
该方法融合了图生成模型与去噪模型相结合的方式,在深度学习框架下构建了能够反映数据分布特征的多模态视角,并通过自适应机制优化生成能力。随后通过构建多样化的自适应视角组合引入了多样化的高质量训练信号,并进一步提升了整体性能表现,在理论上能够帮助缓解基于对比学习的数据增强带来的模型崩溃问题

AdaGCL 架构图如上,分为三部分。
- 第一部分:基于图消息传递编码器建立用户与项目之间的本地协作互动关系;
- 第二部分:构建了一个新型的自适应自监督学习框架。该框架由变分图模型与去噪图模型共同构成的两组可训练视图生成器组成。
- 第三部分:模型优化环节。
2.1 Local Collaborative Relation Learning
它们分别是d\text{维}向量,并且每个向量都包含d\text{个}属性信息来描述对应用户和物品特征;
其嵌入矩阵为I\times d"维矩阵"(即该矩阵有I"行"),总共表示了I"个用户特征信息;
其嵌入矩阵为"J\times d"维矩阵"(即该矩阵有"J"行"),总共表示了"J"个物品特征信息;
\overline A_{i,*}\cdot E^{(v)}, z^{(v)}_j = \overline A_{*,j}\cdot E^{(u)}
z_i^{(u)} : 来自于第i个user*节点直接相连的item*节点;
z_j^{(v)} : 来自于第j个item*节点直接连接的user*节点;
\overline A: 表示经过归一化的邻接矩阵,A_{i,j}代表i节点与j节点之间的关联程度
\overline A =D^{-\frac{1}{2}}_{(u)} \cdot A \cdot D^{-\frac{1}{2}}_{(v)}, \overline A_{i,j} = \frac{A_{i,j}}{\sqrt{|N_i|\cdot|N_j|}}
上面公式是GCN中的
Normalized Diffusion Matrix\widetilde A , 如下图。

图片来源:图卷积神经网络GCN
e^{(u)}_{i,l} = z^{(u)}_{i,l} + e^{(u)}_{i,l-1}, e^{(v)}_{j,l} = e^{(v)}_{j,l} + e^{(v)}_{j,l-1}
第 i 层的嵌入信息等于本层整合的信息加上上一层的嵌入信息
e^{(u)}_{i} = \sum^{L}_{l=0}e^{(u)}_{i,l}, e^{(v)}_{j} = \sum^{L}_{l=0}e^{(v)}_{j,l}, \widehat y_{i,j} = (e^{(u)}_{i})^Te^{(v)}_{j}
e^{(u)}_{i} 和 e^{(v)}_{j} 表示最终整合的嵌入信息,\widehat y_{i,j} 表示 u_i 对 v_j 的偏好
2.2 Adaptive View Generators for Graph Contrastive Learning
现有的 GCL 方法采用特定策略生成视图情况包括随机丢弃边节点或构建超图等操作
该损失函数是对比学习中常见的InfoNCE损失函数。

The objective function for the self-supervised task is the sum of \mathcal{L}^{user}_{ssl} and \mathcal{L}^{item}_{ssl}, which can be expressed as: \mathcal{L}_{ssl} = \mathcal{L}^{user}_{ssl} + \mathcal{L}^{item}_{ssl}
- graph generation model * : 基于VGAE构建的生成模型中, 损失函数由两部分组成, 即\mathcal{L}_{gen} consists of \mathcal{L}_{kl}和\mathcal{L}_{dis}两部分。
- Graph Denoising Model * : 由于输入图的质量(即图中存在的噪声)会直接影响模型性能, 因此在每一层GCN处理后, 我们通过引入一个专门的去噪模块来去除噪声边的影响。

graph denoising model 的损失函数:


目前尚未完全理解 graph denoising model 的损失函数,并在此处附上截图以供参考。如需进一步了解相关内容,请参考原文链接:Adaptive Graph Contrastive Learning for Recommendation。
2.3 Learning Task-aware View Generators
尽管两个视图生成器可以从不同角度学习生成更优的视图,但由于缺乏优化信号来调整生成的视图以适应主要的CF任务,在原有基础上增加了BPR损失函数。
2.4 Model Training
模型的训练包含了两部分。
- 在上层模块中,我们运用多任务训练策略来综合考虑经典推荐任务与自监督学习任务:
\mathcal{L}_{upper} 被定义为综合损失函数,并由三部分组成:
\text{综合损失函数} = \mathcal{L}_{bpr} + \lambda_1\mathcal{L}_{ssl} + \lambda_2||\Theta||^2_F
在训练过程中,在训练过程中
暂时还不明白这两部分分别是做的什么工作。
三、实验数据
Which one among our proposed model and various state-of-the-art recommender systems demonstrates the highest effectiveness?

从表中可以看出,在多个基准模型上显示出更好的性能的AdaGCL方法具有显著优势。其优异表现得益于所提出的对比学习框架在用户-项目交互关系上的数据增强显著性。通过自适应视图生成器的有效运用能够持续输出多样化的对比视角,并且能够有效构建了更加完善的嵌入空间模型以实现更为精准的推荐效果
基于自我监督的深度学习方法能够提升现有CF模型的表现。然而,在捕捉到重要用户-物品交互的关键信息方面可能会导致一定的损失。
AdaGCL 的改进主要体现在以下两个方面:第一,在构建对比学习框架时采用了两个独立的设计模块来实现目标。具体而言,在网络架构设计中我们采用了基于自适应机制的多模态对比网络,并在此基础上构建了一个高效的特征提取网络;在算法层面我们提出了一个基于注意力机制的对比学习框架;第二,在网络结构设计中我们采用了分层自适应机制以进一步提升模型性能;第三,在算法层面我们提出了一个基于注意力机制的对比学习框架;第四,在优化过程中我们引入了自适应学习率调节策略以加快收敛速度并提高模型鲁棒性;第五,在实验验证中我们对所提出的方法进行了广泛的实验验证并展示了其优越性
What is the role of the key components in achieving consistent performance across diverse datasets?

the adaptive view generators -> EdgeD
用 `EdgeD` 替换两个生成器
the denoising view generator -> VGAE-based generator
task-aware optimization -> w/o Task
加入了 BPR 损失函数
3.3 Evaluate how effectively our proposed model can compete with baseline methods in handling noisy and sparse data.


3.4 What is the impact of key hyperparameters on the performance of our proposed model framework?

3.5 嵌入可视化分析

基于随机去除边的操作会使生成图呈现相近结构特征;而自适应优化视图结构则有助于有效整合多维度数据特征,并最终实现更为精确的数据分组目标。
四、总结

