Adaptive Graph Contrastive Learning for Recommendation

Adaptive Graph Contrastive Learning for Recommendation(KDD23)

在这里插入图片描述

源码: https://github.com/HKUDS/AdaGCL

摘要

图神经网络(GNNs)最近作为推荐系统中的有效协同过滤(CF)方法受到关注。基于GNN的推荐系统的关键思想是通过用户-项目交互边沿进行递归消息传递,以优化编码嵌入,依赖于充足且高质量的训练数据。然而,实际推荐场景中的用户行为数据通常是噪声较大且分布偏斜的。为了解决这些问题,一些推荐方法(如SGL)利用自监督学习来改善用户表示。这些方法通过创建对比视图进行自监督学习,但它们依赖于繁琐的试错选择增强方法。

在本文中,我们提出了一种新颖的自适应图对比学习(AdaGCL)框架,使用两个自适应对比视图生成器进行数据增强,以更好地增强协同过滤范式。具体而言,我们使用两个可训练的视图生成器——图生成模型和图去噪模型——来创建自适应对比视图。通过两个自适应对比视图,AdaGCL为协同过滤范式引入了额外的高质量训练信号,有助于缓解数据稀疏和噪声问题。

本文贡献

提出了一种新颖的自适应图对比学习(AdaGCL)框架来增强推荐系统的鲁棒性和泛化性能。 我们的方法利用自适应对比学习来引入高质量的训练信号,从而增强图神经 CF 范式。 虽然最近的几项研究使用对比学习来提高模型性能,但它们都需要特定的方法来创建对比视图。 选择创建对比视图的方法可能很繁琐,并且通常仅限于预制视图池,这可能会限制其潜力和适用性。 为了解决这些问题,我们集成了图生成模型和图去噪模型来建立适应数据分布的视图,实现图对比学习的自适应对比视图。 通过提供两种不同的自适应视图,我们提供了额外的高质量训练信号,可以增强图神经 CF 范式,并帮助解决基于对比学习的数据增强中的模型崩溃问题。

  1. 提出了一种新颖的自监督推荐模型,称为 AdaGCL,它通过从自适应对比学习中提取额外的训练信号来增强图 CF 的鲁棒性。
  2. AdaGCL 采用两个可训练视图生成器(即图形生成器和图形去噪模型)来创建对比视图。 这些视图解决了模型崩溃的问题,并为对比学习提供了自适应视图,最终增强了图神经 CF 范式的有效性。

模型崩溃:模型崩溃通常指的是模型在训练过程中无法有效地学习到输入数据的有效表示,而是将输入数据映射到同一常数向量或者沿着特定的维度崩溃,导致嵌入向量只能在较低维度的子空间中有效。这种崩溃问题会严重影响模型的泛化能力和下游任务的表现。

相关工作

  1. 协同过滤范式
    在这里插入图片描述

  2. 基于图的推荐系统

由于其有效建模用户和项目之间复杂关系的能力,图神经架构近年来变得越来越流行。这些架构利用图嵌入传播技术以图嵌入的形式编码用户与项目之间的交互。图神经架构的一个重要优势是能够捕捉用户与项目之间的多跳连接。这使得模型能够捕捉用户和项目之间更复杂和细微的关系。一些架构,如 PinSage 和 NGCF,在谱域中使用图卷积网络。其他架构,如 LightGCN,通过简化非线性变换并使用基于总和的池化来提高效率,这些架构在保留多跳连接的同时,将每个用户和项目编码为转换的嵌入。

此外,用户和项目之间的细粒度基于图的关系学习技术也已在图神经网络中引入,用于用户/项目表示。这些技术的示例包括 DGCF、DCCF 和 DRAN。这些技术通过利用图结构的多意图信息,旨在学习解耦或行为感知的用户表示。除了这些技术,图神经网络还越来越多地应用于下一个项目推荐任务,以捕捉项目之间的时间依赖关系以及用户对某些项目的偏好如何随时间演变。DGSR、RetaGNN 和 GCE-GNN 等模型将用户的历史交互表示为一系列项目,并利用基于图的消息传递根据邻近项的信息更新每个项目的嵌入。这种方法使模型能够捕捉项目之间的依赖关系和用户对某些项目偏好的演变,从而导致更准确和有效的推荐。

  1. 自监督图学习

尽管监督学习在许多应用中取得了成功,但获取大型标注数据集可能是一个具有挑战性且昂贵的任务。为克服这一限制,自监督学习(SSL)作为一种有前景的解决方案应运而生。在图机器学习的背景下,SSL已被证明对学习高质量的图数据表示是有效的。最近在 SSL 方面的一个进展是使用对比学习,辅以从各种图数据生成的辅助训练信号,如异构图、时空图和分子图。使用对比学习的 SSL 已被证明可以提高图的嵌入质量,从而在节点分类和链路预测等任务中取得更好的性能。

自监督图学习也被引入到推荐系统中,展现出利用对比自监督学习(如 SGL)或生成自监督学习(如 GFormer)技术增强用户和项目表示的巨大潜力。自监督图学习框架的一个例子是 SGL,它通过随机节点和边的丢弃操作生成用户-项目交互图的对比视图。通过最大化对比视图嵌入之间的一致性,可以将 SSL 信号纳入模型的联合学习过程。另一个例子是 GFormer,它利用图自编码器重构被掩蔽的用户-项目交互以进行增强。通过以这种方式生成增强的训练数据,模型可以学习更有效的用户和项目表示。此外,自监督图学习技术在多种推荐场景中也得到了应用。例如,S3-Rec 基于自注意神经架构,使用四个辅助自监督目标来学习各种类型数据之间的相关性,包括属性、项目和子序列。C2DSR 是一种跨领域序列推荐方法,提出了对比跨领域信息最大化目标,以增强单一和跨领域用户表示之间的相关性。SLMRec 是一种针对多媒体推荐的自监督学习方法,能够捕捉数据中的多模态模式。

模型框架

在这里插入图片描述

方法论

本地协作关系学习

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

用于图对比学习的自适应视图生成器

1. 双视图GCL范式

采用图生成模型图去噪模型作为我们的两个视图生成器。图生成模型负责基于图分布来重构视图,而图去噪模型利用图的拓扑信息来从用户项图中去除噪声并生成具有较少噪声的新视图。
生成俩个新的视图,然后构建对比损失。
在这里插入图片描述

2. 视图生成器的图生成模型

在这里插入图片描述

3.视图生成器的图去噪模型

在这里插入图片描述

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

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

学习任务感知视图生成器

在这里插入图片描述

模型训练

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

昇思MindSpore进阶教程-优化器

大家好,我是刘明,明志科技创始人,华为昇思MindSpore布道师。 技术上主攻前端开发、鸿蒙开发和AI算法研究。 努力为大家带来持续的技术分享,如果你也喜欢我的文章,就点个关注吧 模型训练过程中,使用优化器更…

BACnet MS/TP协议解析(3)

1、MS/TP帧格式 例如数据(hex):55 FF 01 03 02 00 00 D7 0x550xff0x010x030x020x000x000xD7BACnet数据BACnet数据CRC帧头帧类型目的地址源地址BACnet数据长度,大端CRC 2、帧类型 帧类型目前定义为 0-7,8-127 为 AS…

【Unity踩坑】Textmesh Pro是否需要加入Version Control?

问题:如果Unity 项目中用到了Textmesh pro,相关的文件是否也需要签入呢? 回答: 在使用 Unity 的 Version Control(例如 Plastic SCM 或 Git)时,如果你的项目中使用了 TextMesh Pro&#xff0c…

TCN预测 | MATLAB实现TCN时间卷积神经网络多输入单输出回归预测

TCN预测 | MATLAB实现TCN时间卷积神经网络多输入单输出回归预测 目录 TCN预测 | MATLAB实现TCN时间卷积神经网络多输入单输出回归预测预测效果基本介绍模型描述程序设计参考资料预测效果

武汉正向科技 格雷母线检测方式 :车检,地检

正向科技|格雷母线原理运用-车检,地检 地上检测方式 地址编码器和天线箱安装在移动站上,通过天线箱发射地址信号,地址解码器安装在固定站(地面)上,在固定站完成地址检测。 车上检测方式 地址编码器安装在…

MySQL Mail服务器集成:如何配置发送邮件?

MySQL Mail插件使用指南?怎么优化 MySQL发邮件性能? MySQL Mail服务器的集成,使得数据库可以直接触发邮件发送,极大地简化了应用架构。AokSend将详细介绍如何配置MySQL Mail服务器,以实现邮件发送功能。 MySQL Mail&…

SegFormer网络结构的学习和重构

因为太多的博客并没有深入理解,本文是自己学习后加入自己深入理解的总结记录,方便自己以后查看。 segformer中encoder、decoder的详解。 学习前言 一起来学习Segformer的原理,如果有用的话,请记得点赞关注哦。 一、Segformer的网络结构图 网络结构&…

JavaWeb 12.Tomcat10

希望明天能出太阳 或者如果没有太阳的话 希望我能变得更加阳光一点 —— 24.9.25 一、常见的JavaWeb服务器 Web服务器通常由硬件和软件共同构成 硬件:电脑,提供服务供其他客户电脑访问 软件:电脑上安装的服务器软件,安装后能提…

TIOBE 编程指数 9 月排行榜公布 VB.Net第七

原文地址:百度安全验证 IT之家 9 月 8 日消息,TIOBE 编程社区指数是一个衡量编程语言受欢迎程度的指标,评判的依据来自世界范围内的工程师、课程、供应商及搜索引擎,今天 TIOBE 官网公布了 2024 年 9 月的编程语言排行榜&#xf…

介绍 Agent Q:迎接下一代 AI 自动化助手

引言 在科技领域,随着人工智能的不断进步,自动化工具日益成为提升效率的重要手段。今天,我将向大家介绍一款名为 Agent Q 的 AI 自动化助手。这款工具不仅能够完成复杂的任务,还支持交互式命令行操作,使得用户体验更为…

飞驰云联亮相电子半导体数智化年会 获”数据交换领域最佳厂商”

2024年9月20日,“2024第二届电子半导体/智能制造数智化年会暨品牌出海论坛”于上海隆重开幕,Ftrans飞驰云联作为国内领先的数据安全交换厂商,应邀携半导体全场景产品和解决方案亮相此次峰会。会上进行了“智象奖”评选,Ftrans飞驰…

java并发之并发关键字

并发关键字 关键字一:volatile 可以这样说,volatile 关键字是 Java 虚拟机提供的轻量级的同步机制。 功能 volatile 有 2 个主要功能: 可见性。一个线程对共享变量的修改,其他线程能够立即得知这个修改。普通变量不能做到这一点&a…

从零开始学习PX4源码5(遥控器数据)

#目录 文章目录 摘要1.PX4 遥控器控制整体流程2.PX4 遥控器输入程序3.PX4 遥控器数据外部调用接口4.PX4 遥控器手动(姿态控制)变量5.遥控器数据整体流程摘要 本节主要记录PX4代码中如何获取遥控器数据,遥控器数据如何被外界调用的过程,欢迎批评指正。 1.PX4 遥控器控制整…

JAVA-StringBuilder和StringBuffer

一、认识String类 1.认识 String在Java中是字符串类型,但与其他类型不同。它是一个类,可以创建对象的类。与int、char等自待类型有些许不同。但它仍然是java提供的一种类型。 类中有4个属性,这里主要认识一下value属性。它是实际存放字符串…

2024 IDEA软件 部署tomcat 十二步 运行web页面(html类似的)(中英文对照版本)新手小白易上手

目录 一、准备工作(三必备): 1、自己的web项目 2、idea软件(我是2023.1.2版本) 3、tomcat X.X版本 二 、正式开始步骤,不废话!! 1、 点击菜单栏中 “File”(文件&…

NASA数据集:ATLAS/ICESat-2 L3A 海洋地表高度 V006

ATLAS/ICESat-2 L3A Ocean Surface Height V006 目录 简介 摘要 代码 引用 网址推荐 0代码在线构建地图应用 机器学习 简介 该数据集(ATL12)包含全球开阔洋(包括无冰季节冰区和近海岸地区)的沿轨海面高度。 还提供了高度…

C++ 9.25

手动实现栈、和队列 stack #include <iostream> using namespace std; class Stack { private: int* arr; // 存储栈元素的数组 int top; // 栈顶索引 int capacity; // 栈的容量 public: Stack(int size) { arr new int[size]; c…

FLStudio21Mac版flstudio v21.2.1.3430简体中文版下载(含Win/Mac)

给大家介绍了许多FL21版本&#xff0c;今天给大家介绍一款FL Studio21Mac版本&#xff0c;如果是Mac电脑的朋友请千万不要错过&#xff0c;当然我也不会忽略掉Win系统的FL&#xff0c;链接我会放在文章&#xff0c;供大家下载与分享&#xff0c;如果有其他问题&#xff0c;欢迎…

基于Python大数据的音乐推荐及数据分析可视化系统

作者&#xff1a;计算机学姐 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等&#xff0c;“文末源码”。 专栏推荐&#xff1a;前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码 精品专栏&#xff1a;Java精选实战项目…

【吊打面试官系列-MySQL面试题】MySQL 数据库作发布系统的存储,一天五万条以上的增量,预计运维三年,怎么优化?

大家好&#xff0c;我是锋哥。今天分享关于【MySQL 数据库作发布系统的存储&#xff0c;一天五万条以上的增量&#xff0c;预计运维三年,怎么优化&#xff1f;】面试题&#xff0c;希望对大家有帮助&#xff1b; MySQL 数据库作发布系统的存储&#xff0c;一天五万条以上的增量…