前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >WWW'21 | 推荐系统:兴趣感知消息传递的GCN缓解过度平滑问题

WWW'21 | 推荐系统:兴趣感知消息传递的GCN缓解过度平滑问题

作者头像
秋枫学习笔记
发布2022-09-19 11:06:23
8650
发布2022-09-19 11:06:23
举报
文章被收录于专栏:秋枫学习笔记

关注我们,一起学习~

title:Interest-aware Message-Passing GCN for Recommendation

link:https://arxiv.org/pdf/2102.10044.pdf

from:WWW 2021

code:https://github.com/liufancs/IMP_GCN

1. 导读

GCN存在过度平滑问题,在推荐系统中运用GCN同样也会面临这个问题。LightGCN 和 LR-GCN 在一定程度上缓解了这个问题,然而它们忽略了推荐中过度平滑问题的一个重要因素,即没有共同兴趣的高阶相邻用户会参与用户在图卷积操作中的embedding学习。结果,多层图卷积将使兴趣不同的用户具有相似的嵌入。本文提出了一种兴趣感知消息传递 GCN (IMP-GCN) 推荐模型,该模型在子图中执行高阶图卷积。子图由具有相似兴趣的用户及其交互商品组成。为了形成子图,本文设计了一个无监督的子图生成模块,它可以通过利用用户特征和图结构来有效地识别具有共同兴趣的用户。从而避免将来自高阶邻居的负面信息传播到嵌入学习中。

note

2. 方法

2.1 兴趣感知消息传播策略

通过构建子图,希望子图中传播的所有信息都有助于该子图中所有节点的embedding学习。换句话说,其目标是在使用子图的图卷积操作中排除负面信息传播。为了实现这个目标,依靠用户节点在用户-商品二分图中形成子图。总体思路是将兴趣更相似的用户分组为一个子图,与这些用户直接相关的商品也属于该子图。因此,每个用户只属于一个子图,一个商品可以关联多个子图。令

G_s

表示子图,

s=\{1,2,...,N_s\}

,其中N_s为子图数。

因为用户和物品之间的直接交互提供了用户兴趣最重要和最可靠的信息,所以在一阶传播中,所有一阶邻居都参与了图卷积操作。令

e_u^{(0)}

e_i^{(0)}

表示用户和商品的ID的embedding。则一阶图卷积表示为下式,可以发现和lightgcn是一样的。

\begin{array}{l} e_{u}^{(1)}=\sum_{i \in \mathcal{N}_{u}} \frac{1}{\sqrt{\left|\mathcal{N}_{u}\right|} \sqrt{\left|\mathcal{N}_{i}\right|}} e_{i}^{(0)} \\ e_{i}^{(1)}=\sum_{u \in \mathcal{N}_{i}} \frac{1}{\sqrt{\left|\mathcal{N}_{i}\right|} \sqrt{\left|\mathcal{N}_{u}\right|}} e_{u}^{(0)} \end{array}

对于高阶图卷积,为了避免引入噪声信息,子图中的节点只能利用来自该子图中相邻节点的信息。因为用户交互的商品都属于这个用户的子图,所以用户仍然可以接收到所有链接的商品的信息。但是一个商品所连接的用户可能分属于不同的子图,为了学习商品 i 的embedding,对于商品 i 属于的每一个子图,都学习商品embedding。令

e_{is}^{(k)}

表示商品 i 在子图s中经过k层图卷积后得到的embedding。则高阶IMP-GCN可以表示为,

\begin{array}{l} e_{u}^{(k+1)}=\sum_{i s \in \mathcal{N}_{u}} \frac{1}{\sqrt{\left|\mathcal{N}_{u}\right|} \sqrt{\left|\mathcal{N}_{i}\right|}} e_{i s}^{(k)} \\ e_{i s}^{(k+1)}=\sum_{u \in \mathcal{N}_{i}^{s}} \frac{1}{\sqrt{\left|\mathcal{N}_{i}\right|} \sqrt{\left|\mathcal{N}_{u}\right|}} e_{u}^{(k)} \end{array}

通过这种方式,保证在子图中学习的节点的embedding只有助于该子图中其他节点的embedding学习。这可以避免从无关节点传播的噪声信息。

e_{is}^{(\cdot)}

可以看作是从对子图有相似兴趣的用户那里学到的特征,在 𝑘 层图卷积之后的商品𝑖的最终表征是其在不同子图中学习的embedding的组合,如下,

e_{i}^{(k)}=\sum_{s \in S}{e_{is}^{(k)}}

2.2 层组合和预测

和lightgcn一样,将不同层的embedding求均值得到最终的用户和商品的表征,然后求用户对商品的偏好分数如下,

\hat{r}_{uv}=e_u^Te_i

2.3 矩阵形式的传播

使用矩阵形式传播规则来实现算法,可以有效的更新所有用户和商品的表征。这是使图卷积网络对大规模图可行的常用方法。让

E^{(0)}

是用户 ID 和商品 ID 的表征矩阵;

E^{(k)}

表示第 𝑘 层的用户和商品的表征。类似地,

E^{(k)}_s

被定义为子图G_s中第 𝑘 层的用户和商品的表征。第一层传播可以表示为下式,其中L为用户-商品交互矩阵的拉普拉斯矩阵

E^{(1)}=\mathcal{L}E^{(0)}

同样在子图中也可以采用类似的操作,公式如下,其中k>=2,L_s是子图的拉普拉斯矩阵。

E_s^{(k-1)}=\mathcal{L}_sE^{(k-2)}_s

然后第k-1层的传播是在用户-商品交互图上进行,公式如下,

E_s^{(k)}=\mathcal{L}E_s^{(k-1)}

得到子图第k层的表征后,将其聚合,公式如下,

E^{(k)}=\sum_{s\in G_s}{E_s^{(k)}}

最后,类似lightgcn,结合所有层的embedding,得到用户和商品的最终表征,公式如下,常用的就是求均值,即α=1/(K+1)

E=\alpha_{0} E^{(0)}+\alpha_{1} E^{(1)}+\cdots+\alpha_{K} E^{(K)}

2.4 优化

采用常见的pair-wise loss,公式如下,

\arg \min \sum_{\left(\mathrm{u}, \mathrm{i}^{+}, \mathrm{i}^{-}\right) \in O}-\ln \phi\left(\hat{r}_{u i^{+}}-\hat{r}_{u i^{-}}\right)+\lambda\|\Theta\|_{2}^{2}

3. 子图生成模块

首先通过下式计算得到用户特征F_u,其中

e_u^{(0)}

e_u^{(1)}

表示用户的Id embedding和一阶embedding。W和b为可学习参数,σ为LeakyReLU。

F_u=\sigma(W_1(e_u^{(0)}+e_u^{(1)})+b_1)

通过两层神经网络对用户进行分类,从而得到用户属于哪个子图。

U_o

为最后的输出向量,其中最大的值的下标为当前用户属于的类。

\begin{array}{r} U_{\boldsymbol{h}}=\sigma\left(W_{2} F_{u}+b_{2}\right) \\ U_{o}=W_{3} U_{h}+b_{3} \end{array}

4. 结果

在不同书籍上,IMP-GCN都可以到更深的层数,而lightgcn则在某一层后,随着层数增加出现性能下降的情况。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-02-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 秋枫学习笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 2.1 兴趣感知消息传播策略
  • 2.2 层组合和预测
  • 2.3 矩阵形式的传播
  • 2.4 优化
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档