#Reading Paper#Improving Graph Collaborative Filtering with Neighborhood-enriched Contrastive Learni
#论文题目:Improving Graph Collaborative Filtering with Neighborhood-enriched Contrastive Learning(推荐系统:基于邻域关系的对比学习改进图协同过滤)
#论文地址:https://arxiv.53yu.com/pdf/2202.06200.pdf
#论文源码开源地址:https://github.com/RUCAIBox/NCL
#论文所属会议:WWW 2022
一、创新点
本文是在基于GNN的方法中提出的一种新的对比学习推荐模型。主要考虑了GNN的推荐模型中两种类型的自监督信息,structure-contrastive(结构对比)和prototype-contrastive(语义对比),两个对比学习信息,使得相似的用户和物品的向量空间更为相似,以捕捉用户和物品的潜在邻里关系,提高了推荐的精度。
通俗点讲:
- 该方法是在LightGCN方法上,将两种信息(图结构信息和语义信息)融合进损失函数中进行整体的训练。
- 两种信息中都采用InfoNCE的方法思想设置其子损失函数(目标函数)
- 在确定子损失函数和总体损失函数后,文章采用K-means算法(聚类)和EM算法(期望最大化算法)来训练优化子损失函数LP(语义结构对比学习)
二、导读
本文的模型框架是在LightGCN的基础上展开,主损失函数为LightGCN中的BPR_Loss,两部分对比学习损失作为副损失,最后加上GNN中的θ\thetaθ二阶正则化共同来优化模型。模型图如下:
下面将详细的说明每一部分。
三、算法主体
3.1 主损失函数:BPR_Loss
算法的主体还是采用和LightGCN相同的结构,在传播中丢弃了非线性激活和特征变换:
在传播了L层之后,我们将每层的节点向量进行累加得到最终的向量表示:
之后我们采用内积的方式将zu(最终user的表示向量)和zi(最终item的表示向量)进行相乘,去预测u和i互动的可能性:
最后采用BPR损失函数(用于推荐的排名目标函数)来进行优化:
Ru,i=1,Ru,j=0
3.2 结构邻居对比学习
对比学习的目标是使得较为相似的节点编码表示近似,使不相似的节点的编码尽量不相似。此处考虑用户和用户之间的相似性,物品和物品之间的相似性。一个常识是,用户更可能交互和自己较为相似的其他用户所交互过的物品。在GNN中,由于交互图是二部图,因此,拿用户为例,当layer为偶数的时候,学习到的邻居节点也是用户节点,这些节点可以说明用户之间的相似性,因此,将偶数层所交互过的节点作为当前用户的正样本,其他用户节点作为负样本构建如下的对比损失函数。基于InfoNCE方法,我们提出如下的user结构对比学习目标来最小化两者之间的距离:
zu(k)为GNN第k层的归一化输出,k为偶数。τ\tauτ是softmax中的环境温度超参数。同理,item结构对比学习损失函数为:
完整的结构对比目标函数为上述两种损失函数的加权和(α\alphaα是平衡两者的超参数):
3.3 语义邻居的对比学习
意义:以上的对比学习,只考虑了有连接的邻居节点,同时平等的对待所有的邻居节点,也可能引入噪音,对于一些没有连接关系,但是本身语义相似的节点,没有充分挖掘。因此,这一部分提出了第二个对比学习,语义邻居对比学习。(通俗的说:语义邻居是指图上无法到达但具有相似特征(商品节点)或偏好(用户节点)的节点)
首先需要对所有的用户和物品进行聚类操作,此处采用k-means聚类方法,将用户节点和物品节点或分为几个类别。对比学习的思路就显而易见了,k-means方法中,每个类别,都有一个聚类中心,此处成为prototype,在一个类别内部,聚类中心是这个类别中节点的正样本,而其他的聚类中心是该类别节点的负样本,聚类中GNN模型的目标是最大化下式(用户相关),简单理解就是让用户embedding划分到某个簇,其中θ为可学习参数,R为交互矩阵,c是用户u的潜在原型。同理也可以得到商品相关的目标式。最大化下述似然函数:
和上面的结构邻居类似,可以构建语义邻域的对比损失,公式如下,其中
#Reading Paper#Improving Graph Collaborative Filtering with Neighborhood-enriched Contrastive Learni相关推荐
- Improving Graph Collaborative Filtering with Neighborhood-enriched Contrastive Learning(个人笔记)
论文:利用邻域丰富的对比学习改进图协同过滤 (NCL) WWW22 文章链接:https://arxiv.org/abs/2202.06200v1https://arxiv.org/abs/2202. ...
- 论文笔记:Improving Graph Collaborative Filtering with Neighborhood-enriched Contrastive Learning
1 简介 论文:Improving Graph Collaborative Filtering with Neighborhood-enriched Contrastive Learning 发表:2 ...
- Improving Graph Collaborative Filtering with Neighborhood-enriched Contrastive Learning
1. 摘要 最近,图协同过滤方法被提出作为一种有效的推荐方法,它可以通过建模用户-项目交互图来捕获用户对项目的偏好.尽管有效,但这些方法在实际场景中存在数据稀疏问题.为了减少数据稀疏性的影响,在图 ...
- NCL:Improving Graph Collaborative Filtering with Neighborhood-enriched Contrastive Learning,代码解读
一.前言 1.背景 (1)用户-项目交互数据通常是稀疏或嘈杂的,并且它可能无法学习可靠的表示,因为基于图的方法可能更容易受到数据稀疏性的影响 (2)现有的基于 GNN 的 CF 方法依赖于显式交互链接 ...
- 2022_WWW_Improving Graph Collaborative Filtering with Neighborhood-enriched Contrastive Learning
[论文阅读笔记]2022_WWW_Improving Graph Collaborative Filtering with Neighborhood-enriched Contrastive Lear ...
- 2019_SIGIR_Neural Graph Collaborative Filtering
[论文阅读笔记]2019_SIGIR_Neural Graph Collaborative Filtering 论文下载地址: https://doi.org/10.1145/3331184.3331 ...
- 知识图谱论文阅读(二十一)【SIGIR2019】NGCF: Neural Graph Collaborative Filtering
题目:Neural Graph Collaborative Filtering 代码: https://github.com/xiangwang1223/neural_graph_collaborat ...
- 论文笔记(Neural Graph Collaborative Filtering)
神经图协同过滤 论文链接:Neural Graph Collaborative Filtering, SIGIR'19 原理:在 user-item interaction graph 上使用 GNN ...
- 矩池云上复现论文 Neural Graph Collaborative Filtering 环境复现
矩池云上复现论文 Neural Graph Collaborative Filtering 环境复现 Neural Graph Collaborative Filtering (NGCF) is a ...
最新文章
- 【翻译】ASP.NET WEB API异常处理
- Python 哪种方式循环最快,或许颠覆你的认知
- MySQL数据库触发器(trigger)
- C++——多态实现原理分析
- 【C/C 】浅谈C/C 中函数指针与回调函数
- Javascript中NaN、null和undefinded的区别
- docker运行jenkins挂掉_【图文】Jenkins教程集成SonarQube
- easyui的因为url名和视图名相同出现上面的异常。
- 音乐播放器 EasyMusic (一)
- java ztree_ztree简介_动力节点Java学院整理
- 基于Javaweb的图书馆管理系统设计与实现(开题报告+论文).doc
- 编译libfetion时,提示 从 int 到 QString 的转换有歧义
- 入门全栈Java程序员——CSS
- html中橘色代码,javascript HTML+CSS实现经典橙色导航菜单
- windows文件名太长无法删除的解决办法
- Unity 2d 回血道具的实现
- Android Studio 生成APK签名证书
- html5适应手机比例,HTML5 如何让手机网站自适应设备屏幕宽度
- 人人农场 renren 外挂 Java 实现
- 第七章Linux 系统——存储管理高级课程