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


本文是亚马逊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 , Y u , 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 , Y u , i ) ∈ D π 0 L ( ϕ ( h u , h i ) , Y u , 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, Y u , i Y_{u,i} Yu,i如果user和item有交互为1,否则为0.

2.1 基于GNN的推荐

与传统 CF 方法的最大区别在于,GNN在目标节点表征的训练过程中显式地利用了目标节点的邻居。用户 u u u在第 l l l层的embedding计算公式:
h u l = TRANSFORM ⁡ ( h u l − 1 , a u l ) a u l = AGGREGATE ⁡ ( h i l − 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的聚合传播方式:
h u l = a u l = ∑ i ∈ N ( u ) h i l − 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 , Y u , i ) ∈ D π 0 L ( ϕ ( h u , h i ) , Y u , i ) p ( Y u , 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的基本思想是在聚合过程中,对低倾向的交互赋予更大的权重,而对具有高倾向的交互赋予更小的权重

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

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

用户 u u u在系统策略 π \pi π下的邻域聚合:
a u l ( π ) ≈ 1 ∣ N π ( u ) ∣ ∑ i ∈ N π ( u ) h i l − 1 ( π ) = a u l ( π ∣ 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对 a u l ( π ) a_{u}^{l}(\pi) aul(π)的估计:
a u l ( π ) ≈ 1 ∣ N π 0 ( u ) ∣ ∑ i ∈ N π 0 ( u ) h i l − 1 ( π ) p ( Y u , i = 1 ∣ π 0 ) = a u l ( π ∣ 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进一步归一化邻居聚合:
1 Z π ( u ) ∑ i ∈ N π 0 ( u ) h i l − 1 ( π ) p ( Y u , i = 1 ∣ π 0 ) = a u l ( π ∣ D π 0 ) Z π 0 ( u ) = ∑ i ∈ N π 0 ( u ) 1 p ( Y u , 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 = { 1 P ( Y u , i = 1 ∣ π 0 )  if  Y u , i = 1 0  else  , Λ = [ 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.]加权随机游走拉普拉斯算子可以表示为:
A l ( π 0 ∣ D π ) = D − 1 Λ H l ( π 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)其中, A l A^l Al H l H^l Hl分别是邻居和节点的embedding, Λ \Lambda Λ表示邻接矩阵, D D D为度矩阵

4. 实验结果

在这里插入图片描述

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

猜你喜欢

转载自blog.csdn.net/weixin_45884316/article/details/127279147
今日推荐