ICLR 2023 | LightGCL: 简单且高效的图对比学习推荐系统

news2024/11/26 2:27:49

论文题目:

LightGCL: Simple Yet Effective Graph Contrastive Learning for Recommendation

收录会议:

ICLR 2023

论文链接:

https://arxiv.org/abs/2302.08191

代码链接:

https://github.com/HKUDS/LightGCL

港大数据智能实验室 (指导老师:黄超)

https://sites.google.com/view/chaoh

1 研究背景

近年来,图神经网络(Graph Neural Networks,或简称 GNN)在基于图的推荐系统上展现了良好的效果,而这得益于其整合相邻结点信息以进行协同过滤(Collaborative Filtering)的能力。总的来说,基于 GNN 的推荐模型在用户-物品交互图上进行多层的信息传递,以此挖掘高阶的(high-order)连接信息。很大一部分基于 GNN 的协同过滤模型采用了监督学习(Supervised Learning)的范式,而这需要大量而准确的带标签信息用以训练。

然而,在实际的应用场景中,数据往往十分稀疏,导致监督学习无充分的信息可供利用。为了解决信息稀疏问题,最新的模型往往采用对比学习(Contrastive Learning)来对数据进行增强操作。具体来说,对比学习的主旨是在原有图结构的基础上略作扰动,并以此增强后的新图产生一组新的表征向量,然后将这组新的表征向量与原图产生的表征向量进行对齐,并将不属于同一结点的表征向量互相推远。

虽然对比学习在提升图推荐系统的效果上作用十分明显,它的效果很大程度上依赖于数据增强的方法。绝大部分现有的图对比学习方法使用基于随机过程(stochastic-based)或基于经验的(heuristic-based)数据增强方法。

虽然这些方法达到了不错的效果,但亦存在几种问题:首先,基于随机过程的图数据增强可能会损失图中重要的结构信息,从而误导模型;其次,基于经验的对比学习方法建立在对数据分布较强的假设上,而这会限制模型的普适性,并容易受数据中的噪声影响;再者,绝大部分基于 GNN 的对比学习推荐系统仍然存在图表征过平滑问题,无法有效地将正负样例区分开来。

为了解决上述问题,本文重新探索了图对比学习的范式,并提出了一种简单且高效的图对比学习框架 LightGCL。在此新框架下,图数据增强是由奇异值分解及重构(Singular Value Decomposition and Reconstruction)来指导的。

以此方式进行图数据增强具有多种好处:首先,奇异值分解重构所得的新图为全连接图,不但能挖掘局部的用户-物品交互信息,而且可以提取全局的协同过滤信号;其次,以奇异值分解重构作为数据增强的方法相比于随机过程或基于经验的方法含有更多有效信息;最后,由于该数据增强方法有效保存了原图的信息,我们得以进一步精简图对比学习的框架,将数据增强图的数量由两个减为一个,大大提升了训练效率。

2 模型介绍

本文提出了一种轻量而有效的图对比学习范式,现具体介绍如下。

2.1 局部图结构信息提取

与通常的协同过滤范式相类似,每个用户和物品都具有一个可学习的隐式表征向量,以表示结点的特征。LightGCL采取了常用的双层图卷积网络(Graph Convolutional Network,或简称 GCN),对用户与物品间局部的领域关系进行学习。在每一层图卷积网络中,每个结点的表征向量都会依着图的边传播到相邻结点。为了防止过拟合,LightGCL 采用了剩余连接(residual connection)的方法,使每个结点在信息传播和整合中不至于丧失自身的有效信息。

2.2 基于奇异值分解的高效全局信息挖掘

为了使图对比学习推荐系统能挖掘图中全局的结构信息,LightGCL 采用了奇异值分解重构的数据增强方法来探索图中隐藏的信息。具体而言,LightGCL 首先对用户-物品交互矩阵进行奇异值分解,得到两个包含交互矩阵行与行之间相关量矩阵的特征值向量的低阶矩阵,以及一个对角线上包含交互矩阵的奇异值的对角矩阵。

将奇异值由大到小排列,越大的奇异值往往对应着矩阵中重要的组成成分。在计算机视觉和图像处理中常常使用保留图像较大的奇异值,丢弃较小的奇异值的方法进行图像去噪。本文借用这种想法,截取最大的 q 个奇异值,抛弃剩余的较小奇异值,并重构邻接矩阵。

这个重构的邻接矩阵实际上是原零阶矩阵的低阶近似,不仅包含了原邻接矩阵中的重要组分信息,而且由于其为全连接图,考虑了每一对用户和物品之间的潜在关联,更能挖掘图中的全局信息。鉴于以上的优点,LightGCL 采用了这个重构的邻接矩阵作为对比学习中的增强图。

然而,在大型矩阵上计算精确的奇异值分解需要很长的计算时间,在数据量庞大的推荐场景中并不实际。因此,本文采取了 Halko 等人于 2011 年提出的近似奇异值算法。近似奇异值算法是一种随机算法,主旨是首先以一个低阶的正交矩阵近似原矩阵的数值范围(range),然后再在这个低阶正交矩阵上进行奇异值分解,以近似原矩阵的奇异值分解。

2.3 简化高效的对比学习

传统的图对比学习方法(如 SGL,SimGCL 等)需要创建两个增强图,而在原图上产生的表征向量并不参与对比学习。这些模型之所以采用这种低效的结构,可能是因为他们采用的基于随机过程的图增强方法可能对主任务的学习起到误导效果。

然而,在本文提出的 LightGCL 框架中,增强图实际上包含奇异值分解带来的有效信息,可以加强主任务的学习。因此,我们得以将奇异值分解重构图产生的表征向量于原图产生的表征向量直接进行对比学习。这样一来,模型只需计算一个增强图,大大简化了对比学习的范式。而且,奇异值分解重构的图可以由低阶矩阵表示,而低阶矩阵大大提高了矩阵乘法的效率。

经过理论分析(如上图所示),LightGCL 的训练复杂度不到现有最佳图对比学习方法 SimGCL 的二分之一。

3 实验结果

本文在五个大型真实数据集(Yelp, Gowalla, Movielens-10M, Amazon 和 Tmall)上进行了大量实验。数据集统计信息如下表。数据集均按照 7:1:2 的比例划分为训练集、验证集和测试集。本文采用全排列测试方式,以 Recall@N 和 NDCG@N 指标对预测准确性进行衡量。本文将 LightGCL 与来自 5 个类别的 16 个基准模型进行比较。

3.1 模型效果对比

下图中的两个表格总结了 LightGCL 和各个基准模型在五个数据集上效果的对比。从结果中可以看出,对比学习方法(如 SGL, HCCF, SimGCL)具有明显的优势,而本文所提出的 LightGCL 在所有数据集上大幅超越了现有的对比学习方法,证明了本文所描述的方法的有效性。

3.2 对于稀疏数据和流行偏见的抵抗性

数据稀疏性(data sparsity)和流行偏见(popularity bias)是推荐场景下常见的两大问题,其根源在于数据分布的不均等。本文以实验衡量了 LightGCL 与基准模型面对不同程度的稀疏数据时的表现。

如下左图所示,横轴代表用户的交互数量范围,纵轴代表对应用户组的召回效果及其相对于总召回效果的比例。可见在极稀疏的用户上,LightGCL 的表现优于基准模型。如下右图所示,横轴代表物品被交互的数量范围,纵轴代表对应物品组对总召回数值的贡献。可见在绝大部分物品组中,LightGCL 优于基准模型。这证明了 LightGCL 对抗数据稀疏和流行偏见的能力。

3.3 在过平滑与过均匀之间求取平衡

基于图神经网络的模型普遍具有过平滑的问题,即所学得的表征向量互相之间十分接近,难以区分;而基于图对比学习的方法由于致力于将表征向量互相推远,又可能导致表征向量空间中丧失应有的簇落结构(community structure)。本文通过测量学得表征的平均距离(MAD)以及表征可视化,探究并对比 LightGCL 和基准模型学习得到的表征分布。

如上图所示,非对比学习方法(如 LightGCN 和 MHCN)呈现明显的过平滑显现,表现为所学得的表征向量密集扎堆,难以互相区分。而现有的对比学习方法(如 SGL 和 SimGCL)则存在两种问题:

首先,表征向量在空间中的分布过于均匀,无明显的簇落结构,如 SGL 在 Yelp 上的可视化结果;其次,存在许多极小的聚落,在这些小聚落之中存在严重的过平滑问题,如 SimGCL 在 Gowalla 上的可视化结果。与这些现有模型相比,LightGCL 所学得的表征向量分布既保存了清晰的簇落结构,在簇落内部又合理分散。

如下表所示,LightGCL 的 MAD 亦介于非对比学习方法和对比学习方法之间。

3.4 消融实验

为了探究 LightGCL 作为一种范式的普适性,本文尝试将奇异值分解重构的数据增强方法替换为其他矩阵分解方法,以研究以矩阵分解指导对比学习这一想法的有效性。本文实现了两种 LightGCL 的变体:CL-MF 采用了预训练的矩阵分解模型作为数据增强图;CL-SVD++ 采用了考虑隐式用户反馈的 SVD++ 方法作为数据增强方法。

由下表可见,通过利用预训练矩阵分解或 SVD++ 所得的信息,模型得以达到较为满意的效果,证明了矩阵分解指导对比学习的有效性。然而,这些变体不但训练效率较低,而且在效果上也逊于 LightGCL。

3.5 超参研究

本文探究了 LightGCL 对于超参数的敏感性。文章中选取了三种重要的参数:对比学习损失函数的系数、对比学习中的温度参数和近似奇异值分解算法的阶。如下图所示,在一定范围内,超参数的变化对模型效果的影响较小。

3.6 案例研究

为了直观地展示本文所述模型在去除噪声和预测用户潜在兴趣上的有效性,本文进行了一个案例研究。从下图可见,Yelp 数据集中的 26 号用户的交互历史主要发生在两个地点:克利夫兰(很可能为该用户的住处)和亚利桑那(该用户可能在此处旅行)。

在奇异值分解重构的过程中,这些被该用户访问的地点获得了一个新的权重,代表他们潜在的重要性。可见 2583 号地点,一家位于亚利桑那州的租车公司,被分配了负权重。这与常识相符,因为人们通常不会在一次旅途中访问多家租车公司。奇异值分解重构图同样会为不可见的连接判断重要性,比如 2647 号和 658 号地点(均为克利夫兰的餐厅)便被赋予了较高的权重。

值得注意的是,在挖掘图中信息时,LightGCL 并不会忽略亚利桑那这个较小的簇落,这让用户较小的兴趣类别不至于被主要的兴趣类别所掩盖。

4 总结

本文为图对比学习提出了一种简单且高效的数据增强范式。本文探索了使用奇异值分解重构进行数据增强的方法,并证明了这种方法在对抗数据稀疏、流行偏见和过平滑等问题上有良好表现。本文提出的 LightGCL 框架更提高了对比学习的训练效率,且在多个数据集上达到目前的最佳效果。本文希望这种新式的图对比学习框架可以为图对比学习相关工作带来启发。

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

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

相关文章

billu_box靶场通关

billu靶场通关 靶机ip:192.168.112.134 信息收集 端口开放 80 目录扫描 images目录存在目录遍历 test.php(任意文件下载) add.php(文件上传) index.php(主页) head.php show.php c.php这个工具的字典不全,换py脚本重新扫多出了以下目录 phpmy in …

目标检测YOLOv5数据集怎么找?

完整的配置-标注-训练-识别在我这篇博客小白YOLOv5全流程-训练实现数字识别_yolov5数字识别_牛大了2022的博客-CSDN博客 模型部分剖析可以看我每周深度学习笔记部分。关于训练的数据集怎么搞很多人问过我,我在这篇文章给大家一点我的经验和建议。 数据集是什么 简…

Leetcode每日一题 1487. 保证文件名唯一

Halo,这里是Ppeua。平时主要更新C语言,C,数据结构算法......感兴趣就关注我吧!你定不会失望。 🌈个人主页:主页链接 🌈算法专栏:专栏链接 我会一直往里填充内容哒! &…

网上心理咨询系统的设计与实现

技术:Java、JSP等摘要:高等院校担负着培养高素质人才的使命,高素质人才不仅要有良好的思想道德素质、科学文化素质和身体素质,更要有良好的心理素质。然而随着近年来我国高校的连续扩招以及高额的学费居高不下,当代的大…

工程项目管理软件有哪些?这六款很好用!

工程项目管理软件哪个好用?这六款很不错! 在现代社会中,软件已经成为了企业信息化、项目管理等方面必不可少的工具。尤其是对于工程项目管理而言,借助软件进行协同、计划、控制等方面的工作,已经成为了必要的手段。但…

钡铼技术BL302 ARM工控机QT图形化界面开发的实践

QT是一种跨平台的应用程序框架,用于开发图形用户界面(GUI)、网络应用程序和嵌入式应用程序。QT提供了丰富的GUI组件和工具,使开发人员能够轻松地创建专业级别的应用程序。QT使用C编写,支持多种操作系统,包括Windows、Linux、macOS…

tuts4you上lena‘s40个crackme(1)

本来是不打算写文章了,因为懒,想以后通过录屏的形式保存一下自己学的路程。但奈何开学后一直没找到机会,在宿舍也不愿意大吼大叫的讲东西,只好再写写文章了 最近学了一些汇编语言和逆向工程,所以就想通过这40给题目来看…

hashCode 和 equals 的处理

文章目录hashCode 和 equals 的处理1. 阿里巴巴编程规范要求2. equals和hashcode的分析2.1 Object方法2.2 只覆写(Override)equals带来的问题问题演示问题分析问题处理hashCode 和 equals 的处理 1. 阿里巴巴编程规范要求 2. equals和hashcode的分析 2…

python实战应用讲解-【numpy专题篇】函数(附python示例代码)

NumPy 数学函数 NumPy 包含大量的数学运算的函数,包括三角函数,算术运算的函数,复数处理函数等。 三角函数 NumPy 提供了标准的三角函数:sin()、cos()、tan()等 import numpy as npa = np.array([0, 30, 45, 60, 90]) print(不同角度的正弦值:) # 通过乘 pi/180 转化…

园区智慧能源管理系统

实现对园区的用能情况实时、全方位监测,重点设备进行数据自动采集并智能统计、分析,根据需要绘制各种趋势曲线、能源流向图和分析报表。将物联网、大数据与全过程能源管理相融合,提供全生命周期的数字化用能服务,实现用能的精细化…

SpringBoot集成ElasticSearch,实现模糊查询,批量CRUD,排序,分页,高亮

导入elasticsearch依赖在pom.xml里加入如下依赖&#xff1a;<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-elasticsearch</artifactId> </dependency>非常重要&#xff1a;检查依赖版本…

邮件发送,正文内容格式h5,模板字符串拼接使用及赋值,原生js

一、邮件发送 需求不难&#xff0c;传指定的参数给后端&#xff0c;调接口就直接发送了 就是参数里有个正文部分&#xff0c;一定要用h5写 写vue写习惯了&#xff0c;原生的都快忘光了&#xff0c;走了些弯路 二、h5 在页面上有个邮件发送的按钮&#xff0c;点击按钮打开弹窗…

10分钟搞定win11安卓子系统

10分钟搞定win11安卓子系统Android子系统的要求一、安装 Windows 虚拟化支持二、Win11 正式版安装安卓子系统方法教程 (离线包安装)三、在Win11 安卓子系统安装 APK 软件包教程Windows 11 WSA 安装 APK 方法&#xff1a;Windows 11上成功运行安卓APP安装国内的 Android 应用商店…

windows系统无法保存文件的解决方案

❤关注我&#xff0c;不迷路❤ 点击进入PC常见故障汇总专栏 近期收到部分反馈&#xff0c;在windows的电脑上保存一个文件的时候&#xff08;另存为&#xff09;&#xff0c;选择完目标文件夹后无法保存&#xff0c;点击系统的保存按钮&#xff08;有些系统展示为打开按钮&…

2023最新谷粒商城笔记之订单服务篇(全文总共13万字,超详细)

订单服务 页面环境搭建 配置动静环境 在服务器的mydata/nginx/html/static 路径下创建一个 order 文件夹&#xff0c;在order路径下分别创建以下几个文件夹&#xff0c;用来存放对应的静态资源 detail 文件夹下存放 等待付款的静态资源&#xff0c; 并将等待付款文件夹下的页…

DC-4 靶场学习

信息搜集&#xff1a; 首先获取靶场ip&#xff0c;和之前一样。 arp-scan -l nmap -sP 192.168.28.0/24然后访问。 发现需要登录。 漏洞分析: 直接用bp爆破&#xff0c;爆破出来密码为happy&#xff0c;登录。 发现执行了命令&#xff0c;抓包。 修改命令可以执行&#xff…

客户案例|FPGA研发管理解决方案:UniPro瀑布+敏捷 打造高效能组织

2023开年以来&#xff0c;新享科技项目管理软件UniPro收获一波客户侧的点赞好评。在过去一年中&#xff0c;UniPro不断与客户保持高频沟通&#xff0c;满足客户需求为出发点&#xff0c;以产品功能实现为落脚点&#xff0c;不断打磨产品。 以UniPro客户京微齐力为例&#xff0…

Vulnhub靶场----9、DC-9

文章目录一、环境搭建二、渗透流程三、思路总结一、环境搭建 DC-9下载地址&#xff1a;https://download.vulnhub.com/dc/DC-9.zip kali&#xff1a;192.168.144.148 DC-9&#xff1a;192.168.144.158 二、渗透流程 1、信息收集nmap -T5 -A -p- -sV -sT 192.168.144.158思路&am…

IDEA Android 网格布局(GridLayout)示例(计算器界面布局)

网格布局(GridLayout&#xff09; 示例程序效果&#xff08;实现类似vivo手机自带计算器UI&#xff09; 真机和模拟器运行效果&#xff1a; 简述&#xff1a; GridLayout(网格布局)和TableLayout&#xff08;表格布局&#xff09;有类似的地方&#xff0c;通俗来讲可以理解为…

搜广推 Product-based Neural Networks (PNN) - 改进特征交叉的方式

😄 PNN:2016年上海交通大学提出。 文章目录 1、PNN1.1、原理1.2、创新点:product层1.3、product层z部分的输出:l~z~ 的计算方式:1.4、product层z部分的输出:l~p~ 的计算方式:1.4.1、IPNN1.4.2、OPNN1.5、优点1.6、缺点Reference1、PNN PNN:Product-based Neural Netwo…