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 对来保持全局协作信号;

  基于重构的 $\hat{\mathcal{A}}$ 进行消息传递:

    $\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)$

  由于在大的矩阵上进行 SVD 分解困难,本文采用了 低阶一阶近似的解法:

    $\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}$

  因此,基于重构的 user-item 邻接矩阵的消息传递重写为:

    $\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 简化的局部-全局对比学习

  传统方法:采用三视图范式,使用增强图之间的对比策略,而不使用原始图;

  本文:认为,增强图之间的对比可能带来错误信息知道,可能是由于破坏了图结构,然而,在本文提出的方法中,增强图视图是通过全局协作关系创建的,这可以增强主视图的表示。

  本文采取主视图和基于 SVD 分解重构图之间的对比,InfoNCE loss:

    $\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)}$

  注意:为防止过拟合,在 mini-batch 中实现了一个随机节点丢弃,以排除一些节点参与对比学习;

  推荐任务损失:

    $\mathcal{L}_{r}=\sum_{i=0}^{I} \sum_{s=1}^{S} \max \left(0,1-\hat{y}_{i, p_{s}}+\hat{y}_{i, n_{s}}\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》的更多相关文章

  1. 论文解读(MLGCL)《Multi-Level Graph Contrastive Learning》

    论文信息 论文标题:Structural and Semantic Contrastive Learning for Self-supervised Node Representation Learn ...

  2. 论文解读(SimGRACE)《SimGRACE: A Simple Framework for Graph Contrastive Learning without Data Augmentation》

    论文信息 论文标题:SimGRACE: A Simple Framework for Graph Contrastive Learning without Data Augmentation论文作者: ...

  3. 论文解读(GRACE)《Deep Graph Contrastive Representation Learning》

    Paper Information 论文标题:Deep Graph Contrastive Representation Learning论文作者:Yanqiao Zhu, Yichen Xu, Fe ...

  4. 论文解读(GCC)《GCC: Graph Contrastive Coding for Graph Neural Network Pre-Training》

    论文信息 论文标题:GCC: Graph Contrastive Coding for Graph Neural Network Pre-Training论文作者:Jiezhong Qiu, Qibi ...

  5. 论文解读(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 ...

  6. 论文解读(GCA)《Graph Contrastive Learning with Adaptive Augmentation》

    论文信息 论文标题:Graph Contrastive Learning with Adaptive Augmentation论文作者:Yanqiao Zhu.Yichen Xu3.Feng Yu4. ...

  7. 论文解读(GROC)《Towards Robust Graph Contrastive Learning》

    论文信息 论文标题:Towards Robust Graph Contrastive Learning论文作者:Nikola Jovanović, Zhao Meng, Lukas Faber, Ro ...

  8. 论文解读(SelfGNN)《Self-supervised Graph Neural Networks without explicit negative sampling》

    论文信息 论文标题:Self-supervised Graph Neural Networks without explicit negative sampling论文作者:Zekarias T. K ...

  9. 论文解读(GCC)《Efficient Graph Convolution for Joint Node RepresentationLearning and Clustering》

    论文信息 论文标题:Efficient Graph Convolution for Joint Node RepresentationLearning and Clustering论文作者:Chaki ...

  10. 论文解读(AGC)《Attributed Graph Clustering via Adaptive Graph Convolution》

    论文信息 论文标题:Attributed Graph Clustering via Adaptive Graph Convolution论文作者:Xiaotong Zhang, Han Liu, Qi ...

随机推荐

  1. 2023-03-23:音视频解混合(demuxer)为PCM和YUV420P,用go语言编写。

    2023-03-23:音视频解混合(demuxer)为PCM和YUV420P,用go语言编写. 答案2023-03-23: 大体步骤如下: 1.打开媒体文件,并获取音频和视频流. 2.对于每个流,找到 ...

  2. 2022-11-26:给定一个字符串s,只含有0~9这些字符 你可以使用来自s中的数字,目的是拼出一个最大的回文数 使用数字的个数,不能超过s里含有的个数 比如 : 39878,能拼出的最大回文数是

    2022-11-26:给定一个字符串s,只含有0~9这些字符 你可以使用来自s中的数字,目的是拼出一个最大的回文数 使用数字的个数,不能超过s里含有的个数 比如 : 39878,能拼出的最大回文数是 ...

  3. 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这里已经确 ...

  4. 2021-01-02:java中,MinorGC、MajorGC、FullGC 什么时候发生?

    福哥答案2021-01-02: MinorGC 在年轻代空间不足的时候发生.MajorGC 指的是老年代的 GC,出现 MajorGC 一般经常伴有 MinorGC.FullGC 老年代无法再分配内存 ...

  5. 2021-08-19:超级洗衣机。假设有 n 台超级洗衣机放在同一排上。开始的时候,每台洗衣机内可能有一定量的衣服,也可能是空的。在每一步操作中,你可以选择任意 m (1 ≤ m ≤ n) 台洗衣机,

    2021-08-19:超级洗衣机.假设有 n 台超级洗衣机放在同一排上.开始的时候,每台洗衣机内可能有一定量的衣服,也可能是空的.在每一步操作中,你可以选择任意 m (1 ≤ m ≤ n) 台洗衣机, ...

  6. getattr函数

    函数说明 getattr(object, name, default=None) object:类实例 name:str 属性名 default:str 如果没有查找到,用该值替代 用法实现反射,主要 ...

  7. 沁恒 CH32V208(五): CH32V208 运行FreeRTOS示例的说明

    目录 沁恒 CH32V208(一): CH32V208WBU6 评估板上手报告和Win10环境配置 沁恒 CH32V208(二): CH32V208的储存结构, 启动模式和时钟 沁恒 CH32V208 ...

  8. Matplotlib.pyplot.plot 绘图

    Matplotlib.pyplot 创建图形.在图形中创建创建一个绘图区域.在绘图区域中你那个绘制一些线.在图形中添加标签之类 画二维平面图 x = np.arange(0, 10, 2) y1 = ...

  9. Hugging News #0519: 我们把 HuggingChat 开源了

    每一周,我们的同事都会向社区的成员们发布一些关于 Hugging Face 相关的更新,包括我们的产品和平台更新.社区活动.学习资源和内容更新.开源库和模型更新等,我们将其称之为「Hugging Ne ...

  10. 为什么 Biopython 的在线 BLAST 这么慢?

    用过网页版本 BLAST 的童鞋都会发现,提交的序列比对往往在几分钟,甚至几十秒就可以得到比对的结果:而通过调用 API 却要花费几十分钟或者更长的时间!这到底是为什么呢? NCBIWWW 基本用法 ...