STAM:一种基于图神经网络的时空聚合推荐方法
基于图神经网络的推荐系统近年来蓬勃发展,其核心部件是确定邻域嵌入学习的聚合方法。现有技术通常侧重于如何从空间结构信息的角度聚合信息,但对邻居的时间信息的探索不够。
在这项工作中,我们提出了一种时空聚集方法STAM,以有效地将时间信息纳入邻居嵌入学习。STAM从空间结构信息和时间信息的角度生成时空邻居嵌入,促进了从空间到时空的聚合方法的发展。STAM利用缩放点积注意捕捉单跳邻居的时间顺序,并利用多头注意在不同的潜在子空间上执行联合注意。我们利用STAM进行基于GNN的推荐,以了解用户和项目嵌入。大量实验表明,与基于空间的聚合方法相比,STAM在基于GNN的推荐方面有显著改进,例如,MovieLens的推荐率为24%,亚马逊的推荐率为8%,淘宝的推荐率为13%MRR@20.
1、Introduction
推荐系统是执行个性化信息过滤的关键工具[6,56],已经应用于许多在线服务。推荐的本质是从过去的用户-项目交互中学习用户和项目的潜在表示,并预测用户将来与之交互的项目。大多数作品将推荐作为矩阵完成任务[25]。协同过滤(CF)[37,38]是一种传统的推荐方法,用于预测用户和项目之间的分数。矩阵分解(MF)[9,32]学习用户和项目的潜在向量,以重建交互矩阵。由于深度学习的成功,最近的工作使用神经网络[8,21],例如多层感知(MLP),来捕捉用户和项目之间的非线性交互[18]。近年来,人们对图形神经网络(GNNs)[14,24,44]产生了极大的兴趣,其信息传播机制改善了下游任务,在许多具有挑战性的任务中展示了良好的前景。
由于图形神经网络在图形数据学习方面的优势,基于GNN的建议[1,17,48,56]将用户项交互建模为一个图形,并利用GNN将空间结构信息合并到嵌入中。大量基于GNN的推荐工作已经研究了良好的聚合方法,从空间结构信息的角度来学习用户和项目的嵌入。现有的聚合方法大致分为四类[52]:(1)“平均池”平等对待邻居;(2) “度归一化”根据图结构为节点分配权重;(3) “注意池”通过注意机制区分邻居的重要性;(4)“中心节点增强”考虑节点之间的亲和力,并使用中心节点过滤邻居的消息。然而,上述方法忽略了邻居的时间信息,这是一个重要的信号,在基于GNN的推荐中显著有助于聚合,但在邻居嵌入学习中没有编码。
在之前基于GNN的建议[1,17,48,56]中,邻居聚合方法只涉及空间结构信息,而忽略了邻居的时间信息,无法捕获用户的动态兴趣。电子商务平台的基本功能是收集丰富的用户行为历史和时态信息。然而,以前基于GNN的推荐中的聚合方法还没有充分利用这些时间信息来学习高质量的嵌入,并且只展示了用户的内在兴趣。为了解决上述问题,我们将时间信息集成到聚合方法中,以促进聚合从空间到时空的发展。
为了充分理解这项工作的动机,我们给出了一个STAM的激励示例,以展示时态信息在基于GNN的推荐中的重要作用。在图1中,我们从用户的行为历史中选择两个用户(Amy和Sherry),分别为基于GNN的推荐构建用户项二部图和时间顺序图。在基于空间的聚合中,Amy和Sherry的聚合邻居嵌入是相同的,因为它们与相同的项交互。与LightGCN类似,我们省略了非线性变换,并将聚合的邻居嵌入作为单跳用户嵌入。因此,推荐人在基于空间的聚合中为艾米和雪莉推荐一个相同的项目。然而,Amy和Sherry的推荐商品在基于时空的聚合方面有所不同。在基于时空的聚合中,我们将时间信息融入到邻居嵌入学习中,其中时间顺序在捕获用户的动态兴趣和用户集群随时间的变化方面起着至关重要的作用。
在这项工作中,我们突出了在基于GNN的推荐中,时间信息仍然没有用于邻居聚合的问题。我们提出了一种新的聚合方法时空聚合方法(STAM),将时间信息集成到邻居嵌入学习中,从而促进了从空间到时空的聚合方法的发展。STAM从空间结构和时间顺序的角度生成时空邻居嵌入。在STAM中,缩放点积注意被用于捕捉单跳邻居的时间顺序。为了进一步提高STAM的表达能力,我们在STAM中学习了多个注意头,它们对不同的潜在子空间进行联合注意。
STAM无法改变基于GNN的推荐框架,该框架可以自然地插入现有的基于GNN的推荐模型中。我们将STAM应用于基于GNN的推荐,并将其性能与具有代表性的基于GNN的推荐模型和顺序推荐模型进行了比较。实验结果表明,STAM的表现优于最先进的基线,比如MovieLens的平均相对增长率为24%,亚马逊为8%,淘宝为13%MRR@20,显示了时间信息对聚合方法的重要性。此外,我们还对STAM和五种代表性的聚合方法(四种基于空间的聚合器和一种基于BiLSTM的聚合器)进行了对比实验,以验证STAM的有效性。
综上所述,这项工作的主要贡献如下:
我们强调了时间信息在基于GNN的推荐中对邻居聚合的重要性,促进了聚合方法从空间到时空的发展。
我们提出了一种新的聚合方法STAM,将时间信息纳入邻居嵌入学习,这种方法可以自然地插入现有的基于GNN的推荐模型中。
我们进行了大量实验,以证明STAM优于基于空间的聚合方法。
2、Preliminaries and Problem
2.1、GNN-based recommendation
2.1.1、Embedding Layer
维护user和item的embedding矩阵,有one-hot向量映射到低维空间。
2.1.1、Embedding Layer
在用户项目图中,有两种类型的聚合操作:项目聚合和用户聚合:
2.1.3、Embedding Propagation Layer
为了捕获用户和项目之间的高阶交互,将多个传播层堆叠起来,以传播用户项目图中的嵌入。主要涉及到两个操作:
聚合操作
:聚合
L
层邻域的信息得到一个中心节点的
L+1
层的向量;
更新操作
:将聚合得到的
L+1
层中心节点向量和 L 层中心节点向量融合,更新得到最终
L+1
层中心节点向量。
两个操作的数学公式如下:
2.1.4、Prediction Layer
将L层每一层学习到的user/item表示分别融合起来,得到user/item的最终表示,公式如下:
有些作品直接使用最后一层中的嵌入作为最后一层[50],而有些作品将所有层的嵌入与串联[48]或加权池操作[17]结合起来。
此后,内积用于估计用户对目标项目的偏好:
2.1.5、Joint Training(联合训练)
其中V表示所有项目的集合,V_u-是包含未与用户u交互的项目的项目集合,v_n表示未与用户u交互的负面项目。
基于GNN的建议的损失函数是最小化以下负对数可能性:
通过负采样优化损失函数的计算:
2.2、Problem Statement
基于GNN的推荐将用户和项目之间的交互转换为二部图,并利用图学习方法获得用户\项目嵌入。聚合方法在基于GNN的推荐的信息传播机制中起着决定性的作用。然而,以往的研究仅从空间结构信息的角度对邻域信息进行聚合,而忽略了时间信息。
因此,我们从用户的行为历史中收集时间信息,并为某个用户项对(u,v)建立用户的时间顺序Tu={v1,····,vS}和项的时间顺序Tv={u1,····,uS},其中s是一跳邻居的数量,而vt/ut记录了第t个交互项item/user。在本文中,我们通过利用这些时间信息来改进现有的聚合方法,促进了从空间到时空的聚合方法的发展。
3、Method
STAM是一种通用的聚合方法,它将时间信息整合到邻居嵌入学习中,可以自然地插入现有的基于GNN的推荐模型中。STAM没有从空间结构上聚合邻居的信息,而是从一跳邻居的空间结构和时间顺序的角度同时聚合邻居的信息。
在这一部分中,我们首先介绍了所提出的STAM,通过利用时间信息来学习每个用户项对(u,v)的时空邻居嵌入。然后,我们利用STAM进行基于GNN的推荐,为用户和项目学习高质量的嵌入。然后,对负采样的STAM进行了优化。最后,我们对STAM与以往相关工作的关系进行了模型分析,并对STAM的时间复杂度进行了分析。
应用
Convolutional Sequence to Sequence Learning
中提到的方法计算位置信息P。
3.2、STAM for GNN-based Recommendation
3.3、Optimization with STAM
4、Experiments
4.2、Performance Comparison
4.2.1、与代表性模型的比较
我们将STAM用于基于GNN的推荐,并将其性能与表2中的三种代表性模型进行比较。总的来说,STAM比基线有了显著的改进,这证实了我们的观点,即在基于GNN的推荐中,时间信息对于邻居聚合的重要性。此外,我们详细阐述了以下详尽的观察结果:
传统的推荐模型(MostPop和BPRMF)在所有情况下都表现不佳。与MostPop相比,BPRMF具有更好的性能。原因是BPRMF利用内部产品来模拟用户项目与潜在特征的交互,而MostPop仅利用数据集的属性进行推荐。
显然,NeuMF在所有数据集中的表现都优于传统模型,这表明了用户和项目嵌入之间非线性特征交互的重要性。
基于GNN的模型利用GNN学习用户和项目的嵌入,并在大多数情况下实现优于上述基线的性能。与GC-MC只采用平均池聚合一阶邻居不同,NGCF和LightGCN通过图结构利用消息传播,实现了性能的显著提高。LightGCN优于两种基于GNN的模型,这可能是由于抛弃了非线性变换。PinSage使用邻域采样对固定大小的邻域进行采样,以进行聚合,而不是对整个图进行操作。由于牺牲了部分图形信息,这种采样策略可能会导致性能下降。
与其他不将时间信息集成到聚合中的基于GNN的推荐模型相比,用于基于GNN的推荐的STAM在三个数据集和所有度量上都达到了最佳性能。STAM是一种通用的时空聚合方法,可以自然地插入现有的基于GNN的推荐模型中。在这里,我们总结了一些有助于提高性能的原因:(1)从空间结构和时间顺序的角度引入时间信息来同时建模邻居嵌入学习;(2) 它利用一种强大的注意机制(缩放点积注意)从单跳邻居中捕获时间顺序,并采用多头注意来提高表达能力;(3) 它还使用消息传播机制,通过堆叠多个STAM来捕获高阶用户项交互。
如表2所示,在MoiveLens数据集、Amazon数据集和淘宝数据集上,使用GNN推荐的STAM实现了24.32%、7.78%和12.5%的显著性能提升푀푅푅@20米,与最强的基线相比。这种改进使我们能够将时态信息集成到聚合中,以利于用户和基于GNN的推荐项目嵌入学习
4.2.2、与顺序模型的比较
在这里,我们还进行了实验,将STAM与四种具有代表性的序列模型进行比较,包括GRU4Rec、Caser、SASRec和BERT4Rec。表3给出了STAM的总体性能和采用的基线,我们从中得出以下观察结果:
SASRec在大多数情况下都优于基于RNN的GRU4Rec模型和基于CNN的Caser模型,这证实了自我注意机制对模型时间顺序的优越性。通过比较BERT4Rec和SASRec,我们发现了时间顺序双向模型的优越性。因此,在STAM中,我们利用标度点积注意捕获单跳邻居的时间顺序,并从空间结构和时间顺序的角度学习时空邻居嵌入。
根据表3显示的结果,在大多数情况下,STAM的表现优于最佳基线BERT4Rec,而在某些评估指标上,STAM的表现不如BERT4Rec。尽管STAM和BERT4Rec都将缩放点积注意应用于模型时间信息,但STAM仅利用一层注意捕捉每个传播层中的时间信息,而BERT4Rec堆叠多个注意层以学习更复杂的项目转换模式。一般来说,STAM比BERT4Rec实现更好的性能。这种改进可能归因于空间图结构,它可以利用消息传播来传播用户项图中的嵌入。
4.3、消融实验
4.3.1、STAM与以前的聚合方法
为了验证STAM的优越性,我们将STAM与之前四种具有代表性的基于空间的聚合方法进行了比较,包括“平均池”、“注意池”、“度归一化”和“中心节点增强”。基于空间的聚合方法的详细描述见附录A.5。具体来说,我们利用STAM进行基于GNN的推荐,并用上述基于空间的聚合方法替代STAM进行对比实验。如图3所示,STAM明显优于所有基于空间的聚合方法,验证了捕获单跳邻居的时间顺序有利于邻居嵌入学习。此外,我们还对GraphSAGE[14]中提出的STAM和LSTM聚合器进行了关键性比较。为了提高聚合器的表达能力,我们采用了BiLSTM[12]来代替LSTM[13,39]。与BiLSTM聚合器相比,STAM获得了更好的性能,这表明自我注意机制是一种更强大的时序学习技术。
4.3.2、层数的影响
为了分析传播层数量的影响,我们改变了传播层的数量퐿 在{1,2,3,4}范围内。如表4所示,用于基于GNN的推荐的STAM受益于堆叠多个STAM,以在用户项图上传播时空邻居嵌入。与许多基于GNN的推荐模型类似,叠加太多STAM也会带来过平滑问题,即性能随着传播层数量的增加而出现峰值变化。
https://zhuanlan.zhihu.com/p/479705736
-
89
-
_你当像鸟飞往你的山
React.js
掘金·日新计划
-
14.1w
-
Python
ChatGPT
掘金·日新计划
-
800
-
张三在掘金