【论文笔记】CIKM‘22 & Amazon | (Navip) 推荐系统中图神经网络的去偏邻域聚合

news/2024/5/18 2:48:00/文章来源:https://blog.csdn.net/weixin_45884316/article/details/127279147

目录

  • 1. Introduction
  • 2. Related Work
    • 2.1 基于GNN的推荐
    • 2.2 逆倾向评分IPS
  • 3. 模型
    • 3.1 Navip
  • 4. 实验结果


本文是亚马逊CIKM 2022的一篇工作

论文地址:https://arxiv.org/pdf/2208.08847.pdf


问题

图形神经网络(GNN)对于曝光偏差的脆弱性导致模型偏差,产生次优推荐效果。

之前工作的不足

只在损失函数中应用IPS,但对GNN的邻域聚合关注较少,GNN 在相邻聚合过程中也可能产生偏差

解决方法

通过 GNN 的逆倾向 (Navip) 进行邻居聚合。首先导出图中每个用户-项目交互的倾向得分。然后利用拉普拉斯归一化的倾向得分反演方法去除暴露偏差对邻域聚集的影响(对不流行的邻居赋予更大的权重,以平衡有偏局部结构)。

效果

通过在两个公共数据集和 Amazon Alexa 数据集上进行的实验,验证了该方法的有效性,其性能提高了14.2%

补充资料

【论文笔记】ICML2016 & Cornell | (IPS-MF) Recommendations as treatments: Debiasing learning and evaluation_的博客-CSDN博客


1. Introduction

协同过滤忽略了节点之间的连接(提供了关于user和item之间相似性的丰富信息)。结合GNN通过聚集相邻节点之间的信息来补充嵌入。

如图1(a)所示,真实世界的数据采集会有偏差,导致出现biased edge,注意这里不是关注的误点击等噪声问题,文章关注的是曝光偏差(Exposure Bias),系统只向用户公开部分item,导致user-item交互的产生收到系统推荐策略的影响,进而GNN会导致user偏好的偏见,这种偏见是与用户真正的策略不一致的。

减轻暴露偏差的常见方法是逆向倾向评分 (Inverse Propensity Scoring, IPS)

具体来说,IPS 乘以目标函数中用户-项目交互的逆倾向性,从而加重了对暴露较少的项目的学习。然而,由于 IPS 处理的是 GNN 编码用户和项目嵌入后的偏差问题,系统仍然容易受到未调整的邻居聚合过程所引起的偏差的影响。

在这里插入图片描述

2. Related Work

推荐系统基于收集的用户-商品交互数据{(u,i,Yu,i)}∈Dπ0\left\{\left(u, i, Y_{u, i}\right)\right\} \in \mathcal{D}_{\pi_{0}}{(u,i,Yu,i)}Dπ0,找到相似的用户和商品,进行个性化推荐,这被称为协同过滤。

给定一个推荐模型ϕ(⋅)\phi(\cdot)ϕ),基于user和item的embedding,最小化隐式反馈 的经验风险,公式如下:
R(π0)=∑(u,i,Yu,i)∈Dπ0L(ϕ(hu,hi),Yu,i)R\left(\pi_{0}\right)=\sum_{\left(u, i, Y_{u, i}\right) \in \mathcal{D}_{\pi_{0}}} \mathcal{L}\left(\phi\left(h_{u}, h_{i}\right), Y_{u, i}\right) R(π0)=(u,i,Yu,i)Dπ0L(ϕ(hu,hi),Yu,i)其中,L\mathcal{L}L是损失函数比如BPR,Yu,iY_{u,i}Yu,i如果user和item有交互为1,否则为0.

2.1 基于GNN的推荐

与传统 CF 方法的最大区别在于,GNN在目标节点表征的训练过程中显式地利用了目标节点的邻居。用户uuu在第lll层的embedding计算公式:
hul=TRANSFORM⁡(hul−1,aul)aul=AGGREGATE⁡(hil−1,i∈N(u))\begin{array}{l} h_{u}^{l}=\operatorname{TRANSFORM}\left(h_{u}^{l-1}, a_{u}^{l}\right) \\ a_{u}^{l}=\operatorname{AGGREGATE}\left(h_{i}^{l-1}, i \in \mathcal{N}(u)\right) \end{array} hul=TRANSFORM(hul1,aul)aul=AGGREGATE(hil1,iN(u))
代表性模型LightGCN的聚合传播方式:
hul=aul=∑i∈N(u)hil−1∣N(u)∣∣N(i)∣h_{u}^{l}=a_{u}^{l}=\sum_{i \in \mathcal{N}(u)} \frac{h_{i}^{l-1}}{\sqrt{|\mathcal{N}(u)||\mathcal{N}(i)|}} hul=aul=iN(u)N(u)∣∣N(i)hil1

2.2 逆倾向评分IPS

参考:【论文笔记】ICML2016 | (IPS-MF) Recommendations as treatments: Debiasing learning and evaluation_的博客-CSDN博客

Exposure Bias,曝光偏差

发生原因是用户只接触到特定项目的一部分,未观察到的交互并不总是代表消极偏好。通过推荐模型ϕ(⋅)\phi(\cdot)ϕ)后继续存在偏差,为此,用IPS方法,用倾向评分加权Dπ0\mathcal{D}_{\pi_{0}}Dπ0,获得无偏的估计R(π)R(\pi)R(π)
R^(π;Dπ0)=1∣Dπ0∣∑(u,i,Yu,i)∈Dπ0L(ϕ(hu,hi),Yu,i)p(Yu,i=1∣π0)\hat{R}\left(\pi ; \mathcal{D}_{\pi_{0}}\right)=\frac{1}{\left|\mathcal{D}_{\pi_{0}}\right|} \sum_{\left(u, i, Y_{u, i}\right) \in \mathcal{D}_{\pi_{0}}} \frac{\mathcal{L}\left(\phi\left(h_{u}, h_{i}\right), Y_{u, i}\right)}{p\left(Y_{u, i}=1 \mid \pi_{0}\right)} R^(π;Dπ0)=Dπ01(u,i,Yu,i)Dπ0p(Yu,i=1π0)L(ϕ(hu,hi),Yu,i)
(注:IPS-MF这篇文章针对的是选择偏差 Selection Bias,本文说的是Exposure Bias,二者应该是两种不同的Bias,之后再思考)

本文作者注意到,以往只在损失函数中应用IPS,但对GNN的邻域聚合关注较少。更糟糕的是,由于GNN的叠加,偏差数据还会传播到user没有偏差的交互

3. 模型

3.1 Navip

Navip,neighbor aggregation via inverse propensity,通过逆倾向的邻居聚合

Navip的基本思想是在聚合过程中,对低倾向的交互赋予更大的权重,而对具有高倾向的交互赋予更小的权重

之所以这么做是基于以下的考虑:

  • 具有较低交互倾向的邻居更多地揭示了用户的兴趣,因为带有偏见的推荐策略可能导致了低交互
  • 具有高倾向性的交互,通常作为对带有偏见的推荐策略的响应而发生,可能不是真正的用户交互

用户uuu在系统策略π\piπ下的邻域聚合:
aul(π)≈1∣Nπ(u)∣∑i∈Nπ(u)hil−1(π)=aul(π∣Dπ)a_{u}^{l}(\pi) \approx \frac{1}{\left|\mathcal{N}_{\pi}(u)\right|} \sum_{i \in \mathcal{N}_{\pi}(u)} h_{i}^{l-1}(\pi)=a_{u}^{l}\left(\pi \mid \mathcal{D}_{\pi}\right) aul(π)Nπ(u)1iNπ(u)hil1(π)=aul(πDπ)
结合倾向性分数,可以得到Navip对aul(π)a_{u}^{l}(\pi)aul(π)的估计:
aul(π)≈1∣Nπ0(u)∣∑i∈Nπ0(u)hil−1(π)p(Yu,i=1∣π0)=aul(π∣Dπ0)a_{u}^{l}(\pi) \approx \frac{1}{\left|\mathcal{N}_{\pi_{0}}(u)\right|} \sum_{i \in \mathcal{N}_{\pi_{0}}(u)} \frac{h_{i}^{l-1}(\pi)}{p\left(Y_{u, i}=1 \mid \pi_{0}\right)}= a_{u}^{l}\left(\pi \mid \mathcal{D}_{\pi_{0}}\right) aul(π)Nπ0(u)1iNπ0(u)p(Yu,i=1π0)hil1(π)=aul(πDπ0)
但是因为权重大小未归一化,使用逆倾向会导致数值不稳定问题。为了避免这个问题,通过替换1∣Nπ0(u)∣\frac{1}{\left|\mathcal{N}_{\pi_{0}}(u)\right|}Nπ0(u)1进一步归一化邻居聚合:
1Zπ(u)∑i∈Nπ0(u)hil−1(π)p(Yu,i=1∣π0)=aul(π∣Dπ0)Zπ0(u)=∑i∈Nπ0(u)1p(Yu,i=1∣π0)\frac{1}{Z_{\pi}(u)} \sum_{i \in \mathcal{N}_{\pi_{0}}(u)} \frac{h_{i}^{l-1}(\pi)}{p\left(Y_{u, i}=1 \mid \pi_{0}\right)}=a_{u}^{l}\left(\pi \mid \mathcal{D}_{\pi_{0}}\right) \\ Z_{\pi_{0}}(u) = \sum_{i \in \mathcal{N}_{\pi_{0}}(u)} \frac{1}{p\left(Y_{u, i}=1 \mid \pi_{0}\right)} Zπ(u)1iNπ0(u)p(Yu,i=1π0)hil1(π)=aul(πDπ0)Zπ0(u)=iNπ0(u)p(Yu,i=1π0)1
连接到拉普拉斯算子,Navip的邻域聚合以矩阵形式表示:
Πu,i={1P(Yu,i=1∣π0)if Yu,i=10else ,Λ=[0ΠΠ⊤0.]\begin{aligned} \Pi_{u, i} &=\left\{\begin{array}{ll} \frac{1}{P\left(Y_{u, i}=1 \mid \pi_{0}\right)} & \text { if } \quad Y_{u, i}=1 \\ 0 & \text { else }, \end{array}\right.\\ \Lambda &=\left[\begin{array}{cc} 0 & \Pi \\ \Pi^{\top} & 0 . \end{array}\right] \end{aligned} Πu,iΛ={P(Yu,i=1π0)10 if Yu,i=1 else ,=[0ΠΠ0.]加权随机游走拉普拉斯算子可以表示为:
Al(π0∣Dπ)=D−1ΛHl(π0)A^{l}\left(\pi_{0} \mid \mathcal{D}_{\pi}\right)=D^{-1} \Lambda H^{l}\left(\pi_{0}\right) Al(π0Dπ)=D1ΛHl(π0)其中,AlA^lAlHlH^lHl分别是邻居和节点的embedding,Λ\LambdaΛ表示邻接矩阵,DDD为度矩阵

4. 实验结果

在这里插入图片描述

通过在两个公共数据集和 Amazon Alexa 数据集上进行的大量实验,论文验证了该方法的有效性,其性能提高了14.2%

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

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

相关文章

09-Pytorch中的序列化容器

目录 1.梯度消失和梯度爆炸 1.1 梯度消失 1.2 梯度爆炸 1.3 解决梯度消失或梯度爆炸的经验 2.nn.Sequential 3.nn.BatchNorm1d 4.nn.Dropout 1.梯度消失和梯度爆炸 在使用pytorch中的序列化容器之前,我们先来了解一下常见的梯度消失和梯度爆炸的问题。 1.1 …

②、HTML 元素学习

HTML 元素 HTML 文档由 HTML 元素定义。 HTML 元素 *开始标签常被称为起始标签(opening tag),结束标签常称为闭合标签(closing tag)。 HTML 元素语法 HTML 元素以开始标签起始HTML 元素以结束标签终止元素的内容是开始…

Class02

Class02 1.自动类型值转换 隐式类型转换 显式类型转换 隐式类型转换(自动类型转换) 隐式类型转换是小范围向大范围转换 实际上小范围包含在大范围内 整数类型的默认类型为int 浮点数类型的默认类型为double 显式类型转换(强制类型转换&am…

linux 预读机制 (linux4.14)

一、基本概念 设计背景 文件一般是顺序访问的,访问[A, B]范围的数据后,接下来很可能访问[B1, BN]数据。由于访问磁盘、flash等存储器件比较耗时,在访问 [A, B]的时候,如果提前把[B1, BN]数据从存储器件读取到ram中,那…

TTN服务器LoRaWAN网关配置流程

在LoRaWAN物联网网络中,LoRaWAN网关起到了绝对核心的作用,它在整个网络中像是一座桥梁建立起网络服务器与终端节点的通信,下面我们将简单介绍如何使用E890-470LG11网关实现TTN服务器与终端节点的通信。 首先,在LoRaWAN通信中&…

亿佰特LoRaWAN入网TTN并订阅MQTT消息

一、LoRaWAN节点入网 1.注册并登录TTN账号。 2.添加网关。Gateway EUI可自定义。 3.切换到亿百特网关配置网页(http://192.168.10.1/),配置网关。 4.切抱TTN网页,创建app,Application ID可任意取,只要不重复就行&…

MSRN(多尺度超分辨率重建)

目前的研究倾向于使用更深层次的卷积神经网络来提高性能。然而,盲目增加网络深度不能有效改善网络。更糟糕的是,随着网络深度的增加,训练过程中出现了更多的问题,需要更多的训练技巧。在本文中,我们提出了一种新颖的多…

TRC丨艾美捷TRC 1-Hexyl-2-phenyl-4说明书

1-Alkyl-2-aryl-4-(1-naphthoyl)pyrroles 作为大丨麻素 CB1 和 CB2 受体的高亲和力配体。 艾美捷TRC 1-Hexyl-2-phenyl-4化学性质: 目录号H297400 化学名称1-Hexyl-2-phenyl-4-(1-naphthoyl)pyrrole JWH-147 同义词JWH-147;(1-己基-5-苯基-1H-吡咯-3-基…

数据库06-Redis 强化

目录 Redis 强化 缓存使用原则 缓存淘汰策略 缓存穿透 缓存击穿 缓存雪崩 Redis持久化 RDB:(Redis Database Backup) AOF(Append Only File): Redis存储原理 Redis集群 Redis 强化 缓存使用原则 什么时候,什么样的数据能够保存在Redis中? 1.数据量不能太大 2.使…

计算机操作系统:输入输出管理知识点汇总(简化版)

说明 博客作为笔记备份,不定时更新参考内容为王道考研《计算机操作系统考研复习指导2023》简化版仅进行了知识点汇总,详细知识点没有记录,主要用来搭知识体系框架思维导图为文字版导出的,可将文字内容粘贴到思维导图软件自动生成…

DDL-操作表查询和创建

DDL-操作表查询以及创建 操作表 1.C(Create):创建语法:create table 表名(列名1 数据类型1,列名2 数据类型2,......列名n 数据类型n);注意:最后一列不需要加逗号 数据类型:int:整数类型age int,double:小数类型score double(5,2)date:日期类型,只包含年月日,yyyy…

二维数组、可变长数组、多维数组、函数调用

1.二维数组名称也可以代表数组里第一个存储区的地址。 例子: 输出结果:二维数组的名称二维数组第一个数的地址 二维数组的名称也不可以被赋值。 二维数组名称也可以进行sizeof计算,结果是二维数组里所有存储区的总大小。 例子:…

Spring源码深度解析:三、Spring之Bean的生命周期

Bean的生命周期 创建的生命周期 UserService---->推断构造---->普通对象----->依赖注入---->初始化前(PostConstruct)----->初始化(InitializingBean)---->初始化后(AOP)---->代理对象-----> 放入Map单例池中---->Bean对象 创建一个modle: spring…

Android 简单控件 - -4.按钮控件 button

系列文章目录 文章目录系列文章目录前言1.按钮控件Button1.1按钮控件的新增属性2. 点击事件和长按事件2.1 点击事件2.2 长按事件3. 禁用与恢复按钮总结前言 提示:以下是本篇文章正文内容,下面案例可供参考 1.按钮控件Button 按钮控件Button由TextView派…

CPU有缓存一致性协议(MESI),为什么JMM还需要volatile关键字?

这是一个非常好的问题,相信本文能把这个问题讲得清清楚楚 上周我在查阅资料时无意中搜到一篇解释 volatile 用法的博文,这篇博文排得很靠前,不过很遗憾,虽然结论是对的,但分析过程完全错误,而且我发现网上…

网络编程套接字

文章目录一、理解源IP和目的IP二、认识端口号三、理解port端口号和进程ID四、理解IP和port端口号五、理解源端口号和目的端口号六、认识TCP协议七、认识UDP协议八、网络字节序字节处理函数九、socket编程socket的解释socket常见APIsockaddr结构十、UDP套接字通信十一、TCP套接字…

ELK/ELFK日志分析系统部署

一、ELK日志分析系统 ELK是一套完整的日志集中处理解决方案,将Elastic Search、Logstash和Kibana三个开开源工具配置使用,发挥出更强大的用户对日志查询、排序、统计需求(还可以加一个filebeat)。 1、组成 ①Elasticserach El…

什么是 Linux发行版;什么是包;什么是包管理器

一个朴素的常见的GNU/Linux操作系统发行版(如 Ubuntu)内容如下: 1. Linux发行版(也被称为GNU/Linux发行版): 是一个系统,用户无须编译,安装后即可使用 2. Linux发行版一般集成了 &…

【qstock开源了】数据篇之行情交易数据

qstock简介qstock由“Python金融量化”公众号开发,试图打造成个人量化投研分析开源库,目前包括数据获取(data)、可视化(plot)、选股(stock)和量化回测(backtest)四个模块。其中数据模块(data&am…

Turbot4机器人入门教程-硬件清单

系列文章目录: Turbot4机器人入门教程-硬件清单 Turbot4机器人入门教程-软件清单 Turbot4机器人入门教程-NoMachine远程控制 Turbot4机器人入门教程-配置网络 Turbot4机器人入门教程-测试键盘 Turbot4机器人入门教程-测试相机 Turbot4机器人入门教程-测试IMU …