Simple Yet Effective Graph Contrastive Learning for Recommendation

news2024/11/18 5:36:14

在这里插入图片描述

1. 摘要

  图神经网络(GNN)是一种强大的基于图的推荐系统学习方法。最近,结合对比学习的gnn在处理高度稀疏数据时,在数据增强方案的推荐方面表现出了优异的性能。尽管它们取得了成功,但大多数现有的图对比学习方法要么在用户-项目交互图上执行随机增强(例如,节点/边缘扰动),要么依赖基于启发式的增强技术(例如,用户聚类)来生成对比视图。我们认为,这些方法不能很好地保持语义的内在结构,并且容易受到噪声扰动的影响。在本文中,我们提出了一个简单而有效的图对比学习范式LightGCL,以缓解这些影响基于cl的推荐器的通用性和鲁棒性的问题。该模型专门利用奇异值分解进行对比增强,实现了全局协同关系建模下的无约束结构精化。在几个基准数据集上进行的实验表明,我们的模型在性能上有了显著的改进。进一步的分析证明了LightGCL对数据稀疏性和流行度偏差的鲁棒性的优越性。

2. 动机以及贡献

存在的问题

  1. 随机扰动的图增强可能会丢失有用的结构信息,这将误导表示学习;
  2. 启发式引导表示对比方案的成功很大程度上建立在视图生成器的基础上,这限制了模型的通用性,并且容易受到用户行为噪声的影响;
  3. 目前大多数基于gnn的对比推荐器都受到过度平滑问题的限制,这导致了难以区分的表示。

贡献

  1. 设计了一个轻量级和健壮的图对比学习框架来增强推荐系统,以解决与此任务相关的关键挑战;
  2. 提出了一种有效且高效的对比学习范式LightGCL用于图增强。通过注入全局协作关系,我们的模型可以缓解不准确的对比信号带来的问题;
  3. 与现有的基于gcl的方法相比,提高了训练效率;
  4. 在几个真实数据集上的大量实验证明了LightGCL的性能优势。深入分析证明了LightGCL的合理性和鲁棒性。

3. 方法

在这里插入图片描述

3.1 局部图依赖关系建模

  每个用户 u i u_i ui和商品 v j v_j vj的嵌入向量为 e i ( u ) , e j ( v ) ∈ R d e_i^{(u)},e_j^{(v)}\in R^d ei(u),ej(v)Rd。所有用户和商品嵌入的集合定义为 E ( u ) ∈ R I × d , E ( v ) ∈ R J × d E^{(u)}\in R^{I×d},E^{(v)}\in R^{J×d} E(u)RI×dE(v)RJ×d,其中 I , J I,J I,J分别表示用户和商品的数量。在LightGCL中采用两层GCN来聚合每个邻居节点的信息。在第 l l l层中,聚合过程表示为:
在这里插入图片描述
其中 z i , l ( u ) , z j , l ( v ) z^{(u)}_{i,l},z^{(v)}_{j,l} zi,l(u),zj,l(v)表示用户和商品在第 l l l层的聚合嵌入, σ ( ⋅ ) σ(·) σ()表示负斜率为0.5的LeakyReLU, A ~ \tilde A A~是归一化邻接矩阵, p ( ⋅ ) p(·) p()是边dropout。在每一层中还加入残差连接以保留节点的原始信息,如下所示:
在这里插入图片描述
一个节点的最终嵌入值是它在所有层中的嵌入值之和,用户 u i u_i ui的最终嵌入值与项目 v j v_j vj之间的内积预测了 u i u_i ui v j v_j vj的偏好:
在这里插入图片描述

3.2 高效的全局协作关系学习

  采用SVD使LightGCL能够从全局视角提取协作信号。首先对邻接矩阵A进行SVD,即 A + U S V ⊤ A+USV^⊤ A+USV U / V U/V U/V I × I / J × J I×I/J×J I×I/J×J的正交矩阵,列为A的行-行/列-列相关矩阵的特征向量。S是存储A的奇异值的 I × J I×J I×J对角矩阵,最大奇异值通常与矩阵的主成分有关。因此,我们截断奇异值列表以保留最大的q值,用截断后的矩阵重构邻接矩阵为: A ^ = U q S q V q ⊤ \hat A=U_qS_qV_q^⊤ A^=UqSqVq,其中 U q ∈ R I × q U_q∈R^{I×q} UqRI×q, V q ∈ R J × q V_q∈R^{J×q} VqRJ×q分别包含U和V的前q列。 S q ∈ R q × q S_q∈R^{q×q} SqRq×q是q个最大奇异值的对角矩阵。
  给定三元关系式,在每一层重构的用户-商品关系图上进行消息传播:

在这里插入图片描述
  由于在大型矩阵上执行精确的SVD成本太高,采用随机SVD算法,其关键思想是先用一个低秩的标准正交矩阵近似输入矩阵的范围,然后对这个更小的矩阵进行SVD。
在这里插入图片描述
其中q为分解后的矩阵所需的秩,带 ^ \hat {} ^ 的均为近似版本。于是重写等式4:
在这里插入图片描述
其中 G l ( u ) G^{(u)}_l Gl(u) G l ( v ) G^{(v)}_l Gl(v)是新生成的图结构视图中编码的用户和项目嵌入的集合。

3.3 简化局部全局对比学习

  传统的GCL方法,如SGL和SimGCL,通过构造两个额外的视图来对比节点嵌入,而从原始图(主视图)生成的嵌入并不直接涉及InfoNCE损失。采用这种笨重的三视图范式的原因可能是用于增强图的随机扰动可能会对主视图嵌入提供误导信号。在LightGCL中增强图视图是用全局协作关系创建的,可以增强主视图表示。因此,通过直接对比svd增强视图嵌入 g i , l ( u ) g^{(u) }_{i,l} gi,l(u)与InfoNCE损失中的主视图嵌入 z i , l ( u ) z^{(u)}_{i,l} zi,l(u)来简化CL框架:
在这里插入图片描述

4. 实验

在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/107335.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JAVA零基础小白学习教程之day08_接口多态

day08-JAVAOOP 课程目标 1. 【理解】什么是接口 2. 【掌握】接口的定义格式 3. 【掌握】接口的使用 4. 【理解】接口的成员特点 5. 【理解】类和接口 抽象类和接口之间的关系 6. 【掌握】单继承多实现 7. 【理解】接口之间的多继承 8. 【掌握】接口的案例 9. 【理解】什么是…

一个程序员的新冠防护最佳实践

至今未阳,做了几次抗原检测都是阴性,所以把个人的防护经验给广大程序员朋友分享一下,尤其家里有小孩老人的可以参考一下。 我一天的防护操作 1、午餐 吃午饭时,走楼梯不去挤电梯,而且是在其他人吃完饭后&#xff0c…

Unreal Engine中调试常用方法

目录 常用调试方法 AddOnScreenDebugMessage UE_LOG:在控制台看调试信息 在蓝图中直接调用PrintString 自定义日志分类 声明 定义 简化日志输出的宏 日志格式化输出 常用调试方法 在虚幻引擎中常用的打印日志方法有三种,分别是:UE_…

C++运算符重载,匿名对象

目录 1、加号运算符重载 1.1 通过自己写成员函数,实现两个对象相加属性后返回新的对象 1.2通过成员函数实现加法运算符重载 1.3通过全局函数实现加法运算符重载,运算符重载也可以发生函数重载 1.4总结--对于内置的数据类型的表达式运算符是不可以改变…

Python+Requests实现接口自动化测试

一般对于自动化的理解,有两种方式的自动化。 第一,不需要写代码,完全由工具实现,这种方式的工具一般是公司自己研发的,方便黑盒测试人员使用。这种工具的特点是学习成本低,方便使用,但是通用性…

面向5G C-RAN组网的机房配置标准与模型

【摘 要】当前5G网络建设成本高,投资压力大,基站建设进度受铁塔公司制约;基站机房电费、租赁、服务费用逐年上升,运营维护压力大。面向未来5G建设,通过C-RAN组网,实现BBU集中化部署,可促进降本增效,实现低成本建网。首先分析了C-RAN区所处的网络位置,其次从BBU框多基…

java基于springboot的心理健康管理网站-计算机毕业设计

运行环境: 开发工具:IDEA /Eclipse 数据库:MYSQL5.7 应用服务:Tomcat7/Tomcat8 使用框架springbootvue 项目介绍 心灵治愈交流平台的主要使用者分为管理员和用户、心理咨询师,实现功能包括管理员:首页、个人中心、系统公告管理、用户管理、心…

网上订餐项目(附源代码及数据库)

目录 一、项目概要 二、项目展示 三、数据库 四、项目源码 五、毕设专栏 首页 登录界面 注册页面 一、项目概要 系统主要功能模块有: (1)首页菜品:主要包括购买菜品、菜品加入购物车的功能 (2)我的…

django-rest-framework

文章目录 (1)Web应用模式及API接口 (2)Restful规范 (3)drf安装和简单使用 (4)源码分析 (5)序列化器-Serializer (6)局部和全局响应配…

STL篇之vector

一、介绍 1. vector是表示可变大小数组的序列容器。 2. 就像数组一样,vector也采用的连续存储空间来存储元素。也就是意味着可以采用下标对vector的元素进行访问,和数组一样高效。但是又不像数组,它的大小是可以动态改变的,而且它…

NR HARQ (四)dynamic codebook

微信同步更新欢迎关注同名modem协议笔记 上篇提到type-1 HARQ-ACK codebook,即semi-static codebook,UE要为每个PDSCH候选位置生成反馈,也会包含实际没有下行传输的PDSCH,再加上配置CBG的场景,HARQ-ACK 码本中包含的无…

SpringBoot系列之数据库初始化-datasource配置方式

在我们的日常业务开发过程中,如果有db的相关操作,通常我们是直接建立好对应的库表结构,并初始化对应的数据,即更常见的情况下是我们在已有表结构基础之下,进行开发; 但是当我们是以项目形式工作时&#xff…

java微信支付v3系列——3.订单创建准备操作

微信支付的下单操作分为了5种,分别是JSAPI、APP、H5以及Native支付及小程序支付,之所以将支付放在单独一个章节,而不是按照支付类型划分一个章节,是因为支付所传递的数据都是相似的,方便我们更好的封装。 本章节是支付…

20221222英语学习

托福词汇 sociology n.社会学 given adj.规定的,特定的;假定的 narrative n.叙述;记叙体,叙述技巧 deplore vt.悲叹,哀叹,公开谴责 despoil vt.夺取,掠夺;毁坏,破坏…

Kubernetes:环境搭建

文章目录1、k8s 概念1.1、基本概念1.2、基本术语2、k8s 架构2.1、k8s 节点2.2、k8s 组件2.2.1、master 组件2.2.2、node 组件3、k8s 集群安装配置3.1、docker3.2、主机环境调整3.3、安装 kube 工具3.4、Master 节点初始化3.5、node 节点初始化3.6、重置节点4、k8s 集群升级4.1、…

基于node.js网上蛋糕店系统的设计与实现(论文+项目源码)

随着互联网应用技术的突飞猛进。信息化广泛使用,已渗透到各行各业。作为代表的以网上购物商城为例。它极大地改变了人们的出行方式以及线上购物发生的转变。网上购物的需求也随着人们的个性化定制而变得相对复杂。用户量以及需求量在网上商城也带来了很多商家的考验…

c++primer第2章 变量和基本类型

文章目录第2章 变量和基本类型2.1 基本内置类型2.1.1 算术类型2.1.2 类型转换2.1.3 字面值常量2.2 变量2.2.1 变量定义2.2.2 变量声明与定义的关系2.2.3 标识符2.2.4 名字的作用域第Ⅰ部分 c基础 语法特征 类型 变量 语句 控制结构 函数补充:自定义数据类型(语言扩展…

Elasticsearch:如何减少 Elasticsearch 集群中的分片数量

在我之前的文章 “Elasticsearch:我的 Elasticsearch 集群中应该有多少个分片?” , 它描述了在我们实际操作中的分片数量的准则。在文章 “Elasticsearch:如何部署 Elasticsearch 来满足自己的要求” 讲述了如何部署 Elasticsearc…