论文阅读:Heterogeneous Graph Contrastive Learning for Recommendation(WSDM ’23)

news/2024/4/20 1:09:50/文章来源:https://blog.csdn.net/weixin_43667611/article/details/130338495

在这里插入图片描述
论文链接

Motivation:

在推荐系统中,图神经网络在建模图结构数据上已经变成一个强有力的工具。但是现实生活的推荐语义通常涉及异质关系(像用户的社交关系,物品知识关系的依赖),这些都包含丰富的语义信息去提升表征能力的学习。同时,对比自监督学习在推荐系统中也取得了巨大进步。
鉴于此,本文提出异质图对比学习[Heterogeneous Graph Contrastive Learning (HGCL)],它利用在不同角度的对比学习知识迁移把异质关系融合到用户-物品的交互建模中。由于用户和物品的异质关系对用户-物品交互的影响是不同的,所以在HGCL中关于自适应对比增强设计了元网络来做个性化知识转换。

本文所面对的挑战:
1.如何有效的在不同视图中转换异质关系。
2.如何在个性化增强中执行异质关系的对比学习。

Contribute:

1.提出推荐系统中的异质图对比学习,它提供了普遍和通用的框架在一个图对比学习范式中去融合异质边信息进入推荐系统。
2.HGCL通过在对比学习中融合元网络,在特定于用户和特定于物品的知识转换中去自适应增强。
3.在真实生活推荐数据集中做了大量实验,证明了HGCL框架的有效性。

Method:

预定义:
对于用户-物品交互、用户-用户交互(social relation)、物品-物品交互(item relation)分别建立三张图Gui、Guu、Gii和对应的三个邻接矩阵Aui、Auu、Aii。

在这里插入图片描述
HGCL包含3大部分:
1.在用户-物品图、用户-用户图和物品-物品图中做异构图内表征的提取和融合。
2.在辅助视图和交互视图中利用元网络建模个性化跨试图关系。
3.在异构关系视图中,对于自适应对比学习做联合参数优化。

一:异质图关系学习

1.异质图Embedding初始化

用户-物品图初始化:传统推荐embedding(Eu、Ei)。

用户-用户图初始化和物品-物品图初始化作者设计了self-gating module,设计想法是不仅可以共享用户-物品交互初始embedding的共同语义,而且也可以在自己图中灵活建模用户-用户、物品-物品的关系。如下所示:

用户-用户图初始化:Euu

在这里插入图片描述

物品-物品图初始化:Eii

在这里插入图片描述
2.异质消息传播
用户-物品交互图、用户-用户交互图和物品-物品交互图分别进行图卷积,过程同LightGCN
在这里插入图片描述
3.异质信息聚合

信息每次迭代都会从异质关系中聚合信息。
在这里插入图片描述
f函数是element-wise mean pooling.
在这里插入图片描述
最终生成L层的表征与初始化的表征做聚合,形成最终的Eu和Ei。
同理Euu和Eii会聚合L层和初始化的表征,只不过之前没有经过f函数。f函数只把辅助(U-U、I-I)关系融合到交互关系(U-I)中。

二:跨视图元学习

1.提取元知识

元知识是包含丰富内容信息,它作为输入信息去生成对于用户和物品边知识的个性化知识转移函数。

对于用户-用户视图的元知识:用户-物品视图的用户Node、用户-用户视图的用户Node、用户-物品视图的用户Node的所有邻居Node(物品Node)的和。

对于物品-物品视图的元知识:用户-物品视图的物品Node、物品-物品视图的物品Node、用户-物品视图的物品Node的所有邻居Node(用户Node)的和。
在这里插入图片描述

2.个性化跨视图转换

利用上述的元知识作为输入信息,经过f1和f2元知识学习器生成参数知识转换网络,下面公式是针对用户-用户视图生成两个定制转换矩阵,作为转换函数的参数。物品-物品视图同理。

f1和f2均是激活函数是PReLU的两层MLP。
在这里插入图片描述
所以EMuu是针对用户-用户社交关系视图的定制映射函数转换后的用户信息。
在这里插入图片描述

与Eu和Euu做加权和形成最终的EFu。

在这里插入图片描述
物品-物品视图同理。

三:用户增强的异质关系对比学习

跨视图对比学习

设计了跨视图对比学习范式去增强异质关系学习
在这里插入图片描述
s(·)是cosine similarity function

对于物品也同理。

最终用户和物品的对比学习loss如下:
在这里插入图片描述

Model Training

在这里插入图片描述
最终Loss
在这里插入图片描述

Dataset:

在这里插入图片描述

Experiments:

在这里插入图片描述
Baseline:

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

Performance Comparison (RQ1)
在这里插入图片描述
Ablation Study (RQ2)
在这里插入图片描述
Performance varying Data Sparsity (RQ3)
在这里插入图片描述
Hyperparameter Analysis (RQ4)
在这里插入图片描述
Qualitative Evaluation

在CIAO数据集上进行了案例研究,来可视化学习到的个性化对比转换矩阵(R16×16),以反映辅助视图(例如社会关系)和用户-项目交互视图之间的不同影响。
在这里插入图片描述

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

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

相关文章

17、Logos使用摘要

本篇将讲述如何将WX的设置界面添加两个自定义的UI行: 包含是否启用某功能的开关,以及手速设置.并且如何定位到修改的代码.采用的是砸过壳的包. 成品也就是增加了两个UI及开关联动效果、 界面分析 如果我们要破解别人的App, 首先从界面UI入手,定位UI 1、使用class-dump导出全部…

直升机空气动力学基础---002 桨叶的主要参数

源于 1.桨叶的平面形状和主要参数 由于其设计制造比较简单,早期直升机大多采用矩形桨叶,缺点是在高速气流中,无法抑制桨尖涡,会消耗向下的诱导速度,降低旋翼的拉力。现代多采用梯形桨叶。 桨尖后掠能够降低桨尖涡 …

Flowable打印调用原生API查询接口的SQL日志

一.简介 建议在 Spring Boot 的 application.properties 中添加如下配置,开启 flowable 日志: logging.level.org.flowabledebug这个配置表示开启 flowable 的日志,开启日志的好处是可以看到底层的 SQL语句。 二.查询部署信息 例如查询流…

使用 chat_flutter 进行聊天记录展示

前言 最近需要实现一个聊天记录的页面展示,在网上发现没有适合自己的,于是自己就造了一个,总体感觉还不赖。 下面奉上地址、效果图和教程。 效果图 地址 github: https://github.com/xiaorui-23/chat_fluttergitee: https://gitee.com/xi…

selenium_交互 (谷歌浏览器驱动下载 xpath插件安装)

安装selenium (1)查看谷歌浏览器版本 谷歌浏览器右上角 ‐‐> 帮助 ‐‐> 关于 查看 浏览器版本: (2)操作谷歌浏览器驱动下载地址 http : // chromedriver . storage . googleapis . com / index . html 找到…

YOLOv5网络模型的结构原理讲解(全)

目录 前言1. 基本概念2. 输入端2.1 Mosaic 图像增强2.2 自适应锚框计算2.3 自适应图片缩放 3. Backbone层3.1 Focus结构3.2 CSP结构 3. Neck网络3.1 SPP结构3.2 PAN结构 4. 输出端4.1 Bounding box损失函数4.2 NMS非极大值抑制 前言 YOLOv5有几种不同的架构,各网络…

Qt信号槽原理

Qt之信号槽原理 一.概述 所谓信号槽,实际就是观察者模式。当某个事件发生之后,比如,按钮检测到自己被点击了一下,它就会发出一个信号(signal)。这种发出是没有目的的,类似广播。如果有对象对这…

Openswan安装和简单配置

Openswan安装和简单配置 安装环境: 操作系统:Ubuntu20.0.4TLS 用户权限:root下载Openswan: wget https://github.com/xelerance/Openswan/archive/refs/tags/v3.0.0.zip安装Openswan: 解压Openswan:(PS&#xff1a…

银行数字化转型导师坚鹏:商业银行数字化风控(2天)

商业银行数字化风控 课程背景: 数字化背景下,很多银行存在以下问题: 不清楚商业银行数字化风控发展现状? 不清楚对公业务数字化风控工作如何开展? 不知道零售业务数字化风控工作如何开展? 课程特色…

海光信息业绩高歌猛进,但其作为国产CPU龙头的“地基”并不牢固

‍数据智能产业创新服务媒体 ——聚焦数智 改变商业 在“芯片寒冬”的大背景下,2022年全球头部芯片半导体公司纷纷下调业绩预期,英特尔、英伟达、美光等无一幸免。但是随着AIGC异军突起,仿佛寒冬中的一股暖流,催生着半导体市场行…

C. Trailing Loves (or L‘oeufs?)(求某个质因子在n的阶乘中的个数 + 思维)

Problem - C - Codeforces Aki喜欢数字,尤其是那些带有尾随零的数字。例如,数字9200有两个尾随零。Aki认为数字拥有的尾随零越多,它就越漂亮。 然而,Aki认为,一个数字拥有的尾随零的数量并不是固定的,而是…

idea中导入spring源码;在spring源码中添加注释

标题:idea中导入spring源码;在spring源码中添加注释 我是跟着他操作的,下文是一些补充说明: 这个也可以借鉴 gradle下载链接【使用网盘下载】,不过有的没有, gradel下载链接:这个比较全 1.Spring源码编译环境 spr…

Karl Guttag:现有Micro LED/LCoS+光波导AR眼镜对比解析

轻量化是未来AR眼镜的发展趋势,为了缩减尺寸,AR眼镜厂商尝试了多种方案,长期来看Micro LED光机在小型化上更有优势,但现阶段LCoS光机的图像表现更好。在CES 2023期间,DigiLens、Lumus、Vuzix、OPPO、Avegant也展出了不…

linux编译安装python的全过程,pip python不与linux系统环境混乱

因为使用要求,使得我需要在linux环境下安装一个独立的python环境,不干扰其他环境。 预安装 在安装python之前,请在linux系统下安装下面这些包: sudo apt-get install namelibssl-dev libcurl4 libcurl4-openssl-dev zlib-devel…

27-Servlet执行原理

目录 1.Tomcat详解 ①接收请求: ②根据请求计算响应: ③返回响应: 2.Tomcat执行流程 2.1.Tomcat 初始化流程 2.2.Tomcat 处理请求流程 2.3.Servlet 的 service 方法的实现 在 Servlet 的代码中并没有写 main ⽅法,那么对应…

【C++关联容器】map的成员函数

目录 map 1. 构造、析构和赋值运算符重载 1.1 构造函数 1.2 析构函数 1.3 赋值运算符重载 2. 迭代器 3. 容量 4. 元素访问 5. 修改器 6. 观察者 7. 操作 8. 分配器 map map是关联容器,它按照特定的顺序存储由关键字值和映射值的组合形成的元素。 在一…

【Springboot系列】项目启动时怎么给mongo表加自动过期索引

1、前言 在之前操作mongo的过程中,都是自动创建,几乎没有手动创建过表。 这次开发中有张表数据量大,并且不是特别重要,数据表维护一个常见的问题是过期数据没有被及时清理,导致数据量过大,查询变得缓慢。…

LeetCode-242. 有效的字母异位词

题目链接 LeetCode-242. 有效的字母异位词 题目描述 题解 题解一(Java) 作者:仲景 首先,满足条件的情况下,两个字符串的长度一定是相等的,不相等一定不满足条件 使用Hash表来存储字符串s中各个字符出现的…

Spring Security实战(九)—— 使用Spring Security OAuth实现OAuth对接

一、OAuth2.0介绍 OAuth2.0是一种授权协议,允许用户授权第三方应用程序代表他们获取受保护的资源,如个人信息或照片等。它允许用户授权访问他们存储在另一个服务提供商上的资源,而无需将其凭据共享给第三方应用程序。OAuth2.0协议建立在OAuth…

【具体到每一步】从0制作一个uniapp的新闻类页面(界面篇)

目录 项目初始化 / 基础配置 项目创建 配置路由/页面/tabbar pages.json配置tabbar 配置图标/静态资源 导航栏和字体颜色 scroll-view实现横向滚动条样式 公共模块定义components组件 新建组件 使用组件 组件里的结构 布局个人中心页面 组件差异化处理 数据传递 导航…