Neighbor Interaction Aware Graph Convolution Networks for Recommendation - sigir20

Neighbor Interaction Aware Graph Convolution Networks for Recommendation - sigir20


Motivation

传统推荐系统的研究致力于学习用户和物品的embedding,然后基于表示的相似性去预测用户对物品的偏好,其中有许多的关系信息,如用户-物品交互历史、用户-用户和物品-物品相似性,研究者们又尝试应用GCN的强大学习表示能力去利用这些关系更好的学习embeddings。但GCNs没有考虑用户节点和物品节点之间的内在差异(节点的异质性),现有的大规模图神经网络使用诸如sum/mean/max pooling操作的聚合函数来生成考虑节点邻域(即图中的相邻节点)的节点嵌入,并且这些简单的聚合策略没有考虑到邻居之间的关系,所以提出新的框架NIA-GCN来解决上述问题,NIA-GCN可以明确地建模相邻节点之间的关系信息,并利用用户-物品二分图的异构性


Innovations

  • 对于没有考虑到节点邻居之间的关系,在NIA-GCN,提出了一个逐层邻居聚合(PNA)层来捕获每个GCN层的邻居对之间的关系,PNA在每两个邻居嵌入之间应用element-wise来学习用户之间和物品之间的关系,去显示地建模邻居间的交互。
  • 对于用户和物品节点的异质性,利用用户-物品二分图的异构特性,模型中引入了并行图卷积网络(Parallel-GCNs),用来独立地聚合来自相对于中心节点的不同深度的节点实体的信息,而不是递归地更新邻域嵌入,这种方法更好地匹配了用户项目二分图的异构特性,分别独立聚合不同深度的邻居信息。
  • 对于不同深度邻居的embeddings是来自不同的实体。=提出了一个新的跨深度集成(CDE)层来捕捉用户-用户,物品-物品和用户-物品在图中的邻域关系。这一层允许预测考虑图表中不同深度之间更复杂的关系。

Model

在这里插入图片描述

PNA Aggregator

在这里插入图片描述
单数层是物品领域的聚合,双数层是用户领域的聚合
嵌入矩阵不同行做点积来捕获邻居之间的信息

h P N A k = 1 N k ∑ i = 1 N k ∑ j = i + 1 N k q i k ⊙ q j k = 1 2 N k ( ∑ i = 1 N k ∑ j = 1 N k q i k ⊙ q j k − ∑ i = 1 N k q i k ⊙ q i k ) = 1 2 N k ( ∑ i = 1 N k q i k ∑ j = 1 N k q j k − ∑ i = 1 N k q i k ) = 1 2 N k ( ( ∑ i = 1 N k q i k ) 2 − ∑ i = 1 N k ( q i k ) 2 ) N k : 深 度 为 k 时 邻 居 节 点 数 目 q i : 第 k 层 邻 居 嵌 入 矩 阵 Q k ∈ R N k ∗ d 的 第 i 行 q j : 第 k 层 邻 居 嵌 入 矩 阵 Q k ∈ R N k ∗ d 的 第 j 行 h P N A k : 仅 包 含 邻 域 的 成 对 关 系 信 息 \begin{aligned} \mathbf{h}_{\mathrm{PNA}}^{k} &=\frac{1}{N_{k}} \sum_{i=1}^{N_{k}} \sum_{j=i+1}^{N_{k}} \mathrm{q}_{i}^{k} \odot \mathbf{q}_{j}^{k}=\frac{1}{2 N_{k}}\left(\sum_{i=1}^{N_{k}} \sum_{j=1}^{N_{k}} \mathrm{q}_{i}^{k} \odot \mathbf{q}_{j}^{k}-\sum_{i=1}^{N_{k}} \mathbf{q}_{i}^{k} \odot \mathbf{q}_{i}^{k}\right) \\ &=\frac{1}{2 N_{k}}\left(\sum_{i=1}^{N_{k}} \mathrm{q}_{i}^{k} \sum_{j=1}^{N_{k}} \mathrm{q}_{j}^{k}-\sum_{i=1}^{N_{k}} \mathrm{q}_{i}^{k}\right)=\frac{1}{2 N_{k}}\left(\left(\sum_{i=1}^{N_{k}} \mathrm{q}_{i}^{k}\right)^{2}-\sum_{i=1}^{N_{k}}\left(\mathrm{q}_{i}^{k}\right)^{2}\right) \end{aligned} \\ N_{k} : 深度为k时邻居节点数目 \\ q_{ i }:第k层邻居嵌入矩阵 {Q}^{k} \in {R}^{N_{k} * d}的第 i 行 \\ q_{ j }:第k层邻居嵌入矩阵 {Q}^{k} \in {R}^{N_{k} * d}的第 j 行 \\ {h}_{ {PNA}}^{k}:仅包含邻域的成对关系信息 hPNAk=Nk1i=1Nkj=i+1Nkqikqjk=2Nk1(i=1

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值