论文解读(LightGCL)《LightGCL: Simple Yet Effective Graph Contrastive Learning for Recommendation》
Note:[ wechat:Y466551 | 可加勿骚扰,付费咨询 ]
论文信息
论文标题:LightGCL: Simple Yet Effective Graph Contrastive Learning for Recommendation
论文作者:Cai, Xuheng and Huang, Chao and Xia, Lianghao and Ren, Xubin
论文来源:2023 ICLR
论文地址:download
论文代码:download
视屏讲解:click
1 介绍
出发点:现有图对比推荐方法主要么对用户-项目交互图执行随机增强(例如,节点/边缘扰动),要么依赖于基于启发式的增强技术(例如,用户聚类)来生成对比视图。本文认为这些方法不能很好的保存图内部的语义结构,而且容易收到噪声的干扰;
贡献:
- 在本文中,我们通过设计一个轻量级和鲁棒的图对比学习框架来增强推荐系统,以解决与该任务相关的关键挑战;
- 我们提出了一种有效的对比学习范式用于图的增强。通过全球协作关系的注入,我们的模型可以缓解不准确的对比信号所带来的问题;
- 与现有的基于gcl的方法相比,我们的方法提高了训练效率;
- 在几个真实数据集上进行的大量实验证明了我们的LightGCL的性能优势。深入的分析证明了LightGCL的合理性和稳健性;
2 方法
2.1 模型框架

2.2 局部图依赖关系建模
使用一个 两层的 GCN 捕获用户-物品之间的局部关系:
$\boldsymbol{z}_{i, l}^{(u)}=\sigma\left(p\left(\tilde{\mathcal{A}}_{i,:}\right) \cdot \boldsymbol{E}_{l-1}^{(v)}\right), \quad \boldsymbol{z}_{j, l}^{(v)}=\sigma\left(p\left(\tilde{\mathcal{A}}_{:, j}\right) \cdot \boldsymbol{E}_{l-1}^{(u)}\right)$
最终的用户和物品嵌入表示如下(每层嵌入的加和):
$\boldsymbol{e}_{i}^{(u)}=\sum_{l=0}^{L} \boldsymbol{z}_{i, l}^{(u)}, \quad \boldsymbol{e}_{j}^{(v)}=\sum_{l=0}^{L} \boldsymbol{z}_{j, l}^{(v)}, \quad \hat{y}_{i, j}=\boldsymbol{e}_{i}^{(u) \top} \boldsymbol{e}_{j}^{(v)}$
2.3 高效的全局协作关系学习
为使图对比学习与全局结构学习一起进行推荐,引入 SVD 以便从全局的角度有效地提取重要的协作信号。
首先对归一化邻接矩阵进行 SVD 分解:
$\tilde{\mathcal{A}}=\boldsymbol{U} \boldsymbol{S} \boldsymbol{V}^{\top} $
注意:$\boldsymbol{U}$ 和 $\boldsymbol{V}$ 分别是 $I \times I $ 和 $J \times J$ 的矩阵,$S$ 是 $I \times J $ 的对角矩阵(主对角线为从大到小的奇异值);
由于最大的奇异值通常与矩阵的主成分相关联。因此,本文截断奇异值列表以保持大的奇异值值,并重构被截断的归一化邻接矩阵:
$\hat{\mathcal{A}}=\boldsymbol{U}_{q} \boldsymbol{S}_{q} \boldsymbol{V}_{q}^{\top} $
注意:$\boldsymbol{U}_{q} \in \mathbb{R}^{I \times q}$、$\boldsymbol{V}_{q} \in \mathbb{R}^{J \times q}$、$\boldsymbol{S}_{q} \in \mathbb{R}^{q \times q} $;
优点:
①:通过识别对用户偏好表示很重要和可靠的 user-item 交互来强调图的主成分;
②:生成的新图结构通过考虑每个 user-item 对来保持全局协作信号;
$\boldsymbol{g}_{i, l}^{(u)}=\sigma\left(\hat{\mathcal{A}}_{i,:} \cdot \boldsymbol{E}_{l-1}^{(v)}\right), \quad \boldsymbol{g}_{j, l}^{(v)}=\sigma\left(\hat{\mathcal{A}}_{:, j} \cdot \boldsymbol{E}_{l-1}^{(u)}\right)$
$\hat{\boldsymbol{U}}_{q}, \hat{\boldsymbol{S}}_{q}, \hat{\boldsymbol{V}}_{q}^{\top}=\operatorname{ApproxSVD}(\tilde{\mathcal{A}}, q), \quad \hat{\mathcal{A}}_{S V D}=\hat{\boldsymbol{U}}_{q} \hat{\boldsymbol{S}}_{q} \hat{\boldsymbol{V}}_{q}^{\top}$
$\boldsymbol{G}_{l}^{(u)}=\sigma\left(\hat{\mathcal{A}}_{S V D} \boldsymbol{E}_{l-1}^{(v)}\right)=\sigma\left(\hat{\boldsymbol{U}}_{q} \hat{\boldsymbol{S}}_{q} \hat{\boldsymbol{V}}_{q}^{\top} \boldsymbol{E}_{l-1}^{(v)}\right) ; \quad \boldsymbol{G}_{l}^{(v)}=\sigma\left(\hat{\mathcal{A}}_{S V D}^{\top} \boldsymbol{E}_{l-1}^{(u)}\right)=\sigma\left(\hat{\boldsymbol{V}}_{q} \hat{\boldsymbol{S}}_{q} \hat{\boldsymbol{U}}_{q}^{\top} \boldsymbol{E}_{l-1}^{(u)}\right)$
2.4 简化的局部-全局对比学习
传统方法:采用三视图范式,使用增强图之间的对比策略,而不使用原始图;
本文:认为,增强图之间的对比可能带来错误信息知道,可能是由于破坏了图结构,然而,在本文提出的方法中,增强图视图是通过全局协作关系创建的,这可以增强主视图的表示。
$\mathcal{L}_{s}^{(u)}=\sum_{i=0}^{I} \sum_{l=0}^{L}-\log \frac{\exp \left(s\left(\boldsymbol{z}_{i, l}^{(u)}, \boldsymbol{g}_{i, l}^{(u)} / \tau\right)\right)}{\sum_{i^{\prime}=0}^{I} \exp \left(s\left(\boldsymbol{z}_{i, l}^{(u)}, \boldsymbol{g}_{i^{\prime}, l}^{(u)}\right) / \tau\right)}$
推荐任务损失:
总损失:
$\mathcal{L}=\mathcal{L}_{r}+\lambda_{1} \cdot\left(\mathcal{L}_{s}^{(u)}+\mathcal{L}_{s}^{(v)}\right)+\lambda_{2} \cdot\|\Theta\|_{2}^{2} $
论文解读(LightGCL)《LightGCL: Simple Yet Effective Graph Contrastive Learning for Recommendation》的更多相关文章
- 论文解读(MLGCL)《Multi-Level Graph Contrastive Learning》
论文信息 论文标题:Structural and Semantic Contrastive Learning for Self-supervised Node Representation Learn ...
- 论文解读(SimGRACE)《SimGRACE: A Simple Framework for Graph Contrastive Learning without Data Augmentation》
论文信息 论文标题:SimGRACE: A Simple Framework for Graph Contrastive Learning without Data Augmentation论文作者: ...
- 论文解读(GRACE)《Deep Graph Contrastive Representation Learning》
Paper Information 论文标题:Deep Graph Contrastive Representation Learning论文作者:Yanqiao Zhu, Yichen Xu, Fe ...
- 论文解读(GCC)《GCC: Graph Contrastive Coding for Graph Neural Network Pre-Training》
论文信息 论文标题:GCC: Graph Contrastive Coding for Graph Neural Network Pre-Training论文作者:Jiezhong Qiu, Qibi ...
- 论文解读(GGD)《Rethinking and Scaling Up Graph Contrastive Learning: An Extremely Efficient Approach with Group Discrimination》
论文信息 论文标题:Rethinking and Scaling Up Graph Contrastive Learning: An Extremely Efficient Approach with ...
- 论文解读(GCA)《Graph Contrastive Learning with Adaptive Augmentation》
论文信息 论文标题:Graph Contrastive Learning with Adaptive Augmentation论文作者:Yanqiao Zhu.Yichen Xu3.Feng Yu4. ...
- 论文解读(GROC)《Towards Robust Graph Contrastive Learning》
论文信息 论文标题:Towards Robust Graph Contrastive Learning论文作者:Nikola Jovanović, Zhao Meng, Lukas Faber, Ro ...
- 论文解读(SelfGNN)《Self-supervised Graph Neural Networks without explicit negative sampling》
论文信息 论文标题:Self-supervised Graph Neural Networks without explicit negative sampling论文作者:Zekarias T. K ...
- 论文解读(GCC)《Efficient Graph Convolution for Joint Node RepresentationLearning and Clustering》
论文信息 论文标题:Efficient Graph Convolution for Joint Node RepresentationLearning and Clustering论文作者:Chaki ...
- 论文解读(AGC)《Attributed Graph Clustering via Adaptive Graph Convolution》
论文信息 论文标题:Attributed Graph Clustering via Adaptive Graph Convolution论文作者:Xiaotong Zhang, Han Liu, Qi ...
随机推荐
- 2023-03-23:音视频解混合(demuxer)为PCM和YUV420P,用go语言编写。
2023-03-23:音视频解混合(demuxer)为PCM和YUV420P,用go语言编写. 答案2023-03-23: 大体步骤如下: 1.打开媒体文件,并获取音频和视频流. 2.对于每个流,找到 ...
- 2022-11-26:给定一个字符串s,只含有0~9这些字符 你可以使用来自s中的数字,目的是拼出一个最大的回文数 使用数字的个数,不能超过s里含有的个数 比如 : 39878,能拼出的最大回文数是
2022-11-26:给定一个字符串s,只含有0~9这些字符 你可以使用来自s中的数字,目的是拼出一个最大的回文数 使用数字的个数,不能超过s里含有的个数 比如 : 39878,能拼出的最大回文数是 ...
- 2022-11-03:给定一个数组arr,和一个正数k 如果arr[i] == 0,表示i这里既可以是左括号也可以是右括号, 而且可以涂上1~k每一种颜色 如果arr[i] != 0,表示i这里已经确
2022-11-03:给定一个数组arr,和一个正数k 如果arr[i] == 0,表示i这里既可以是左括号也可以是右括号, 而且可以涂上1~k每一种颜色 如果arr[i] != 0,表示i这里已经确 ...
- 2021-01-02:java中,MinorGC、MajorGC、FullGC 什么时候发生?
福哥答案2021-01-02: MinorGC 在年轻代空间不足的时候发生.MajorGC 指的是老年代的 GC,出现 MajorGC 一般经常伴有 MinorGC.FullGC 老年代无法再分配内存 ...
- 2021-08-19:超级洗衣机。假设有 n 台超级洗衣机放在同一排上。开始的时候,每台洗衣机内可能有一定量的衣服,也可能是空的。在每一步操作中,你可以选择任意 m (1 ≤ m ≤ n) 台洗衣机,
2021-08-19:超级洗衣机.假设有 n 台超级洗衣机放在同一排上.开始的时候,每台洗衣机内可能有一定量的衣服,也可能是空的.在每一步操作中,你可以选择任意 m (1 ≤ m ≤ n) 台洗衣机, ...
- getattr函数
函数说明 getattr(object, name, default=None) object:类实例 name:str 属性名 default:str 如果没有查找到,用该值替代 用法实现反射,主要 ...
- 沁恒 CH32V208(五): CH32V208 运行FreeRTOS示例的说明
目录 沁恒 CH32V208(一): CH32V208WBU6 评估板上手报告和Win10环境配置 沁恒 CH32V208(二): CH32V208的储存结构, 启动模式和时钟 沁恒 CH32V208 ...
- Matplotlib.pyplot.plot 绘图
Matplotlib.pyplot 创建图形.在图形中创建创建一个绘图区域.在绘图区域中你那个绘制一些线.在图形中添加标签之类 画二维平面图 x = np.arange(0, 10, 2) y1 = ...
- Hugging News #0519: 我们把 HuggingChat 开源了
每一周,我们的同事都会向社区的成员们发布一些关于 Hugging Face 相关的更新,包括我们的产品和平台更新.社区活动.学习资源和内容更新.开源库和模型更新等,我们将其称之为「Hugging Ne ...
- 为什么 Biopython 的在线 BLAST 这么慢?
用过网页版本 BLAST 的童鞋都会发现,提交的序列比对往往在几分钟,甚至几十秒就可以得到比对的结果:而通过调用 API 却要花费几十分钟或者更长的时间!这到底是为什么呢? NCBIWWW 基本用法 ...