2020 SIGIR
1 Motivation
1.1 问题
在推荐系统中,为了利用这些关系更好地学习嵌入,研究人员转向了图卷积神经网络(GCNs)这一新兴领域,并应用GCNs进行推荐。虽然之前的这些工作已经显示了良好的性能,但是直接应用GCNs处理user-item二部图仍然不是最优的,因为GCNs没有考虑用户节点和item节点之间的本质区别。此外,现有的大型图神经网络使用sum/mean/max pooling操作等聚合函数来生成考虑节点邻域(即图中相邻节点)的节点嵌入,这些简单的聚合策略无法保存邻域内的关系信息。
1.2 解决方案
为了解决上述局限性,本文提出了一个新的框架NIA-GCN,该框架可以显式地建模邻居节点之间的关系信息,并利用用户-项目二部图的异构性。
2 相关知识
首先,在GCN层的邻域聚合过程中,通常使用置换不变的聚合函数如element-wise mean/sum或max-pooling作为聚合器来生成邻域嵌入,这种聚合破坏单个邻-邻对之间的成对关系信息。
其次,推荐系统中的用户-项目二部图本质上是一个异构图,包含两个不同的实体:用户节点和项目节点。传统的gnn在跨邻域聚合信息时没有考虑节点类型的性质。
第三,由于从每一层聚集的邻域嵌入来自不同的实体,它们代表不同的信息,因此对模型来说,将对应于不同层深的不同邻域嵌入进行组合(聚合)是很重要的。我们称之为跨深度集成,就我们所知,现有的作品还没有探索这样的策略。
3 模型介绍
二部图为
3.1 Pairwise Neighborhood Aggregation (PNA) Graph Convolution Layer
基于图的推荐模型通过迭代地结合节点本身的嵌入和节点在其局部邻域内的嵌入来建立每个节点的表示。现有的大多数方法将此过程分为两个步骤:(1)邻域聚合,其中聚合函数对多个向量集进行操作,以聚合嵌入的邻域;(2)中心-邻居组合,将聚合的邻域向量与嵌入的中心节点结合在一起。我们现在详细说明这两个步骤:
3.1.1 Neighborhood aggregation
通过将每个邻居视为中心节点的一个特征,PNA层通过对每个邻居-邻居对应用按元素进行乘法来捕获邻居特征交互。一共有层,对于第
层(
),共有
个节点,具体公式为:
到目前为止,
3.1.2 Center-neighbor combination
聚合过程结束后,将聚合的邻域向量与中心节点本身的嵌入向量相结合,为每个中心节点分配新的嵌入。层嵌入的目标用户
可以表示为:
3.2 parallel-GCN
为了解决用户-项交互图的异构性问题,设计了一种并行图卷积机制(parallel - gcn)。后向前抽样所需的附近设置深度𝐾(计算效率,由于非常大的大小的图形,我们不过程中的所有节点附近),我们学习中央节点嵌入向量通过聚合独立于每个
将用户和物品的嵌入集合聚合成一个向量,详见下图算法中的12-17行。