WWW'22 STAM: A Spatiotemporal Aggregation Method for Graph Neural Network-based Recommendation

STAM: A Spatiotemporal Aggregation Method for Graph NeuralNetwork-based Recommendation

STAM:一种基于图神经网络的推荐的时空聚合方法

来源:WWW 2022

摘要:现有的基于图神经网络的推荐方法通常关注于如何从空间结构信息的角度来聚合信息,但关于邻居的时间信息却没有得到充分的探索。在这项工作中,作者提出了一种时空聚合方法STAM,以有效地将时间信息纳入邻居嵌入学习。STAM从空间结构信息和时间信息的角度生成时空邻居嵌入,促进了从空间到时空的聚合方法的发展。大量的实验表明,与基于空间的聚合方法相比,STAM在基于gnn的推荐方面有了显著的改进,例如,在MRR@20方面,Movielens的提高为24%,Amazon的提升为8%,TaoBao的提升则为13%。

1 动机

    近年来,图神经网络被广泛用于推荐模型的研究中。大量基于gnn的推荐工作从空间结构信息的角度研究了有效的聚合方法来学习用户和项目的嵌入。现有的聚合方法大致可分为四组:(1)“mean pooling”平等对待邻居;(2)“degree normalization”根据图结构为节点赋权重;(3)“attentive pooling”通过注意机制区分邻居的重要性,(4)“central node augmentation”考虑节点之间的亲和性,并使用中心节点过滤邻居的消息。然而,上述方法忽略了邻居的时间信息,这是一个重要的信号,在基于gnn的推荐中对聚合有重要的贡献,却在邻居嵌入学习中没有编码。


图1 时间信息对于邻居聚合的影响

    从一个例子来说明时间信息在推荐中的作用:在图1中,作者从用户的行为历史中选择两个用户(Amy和Sherry),分别构建一个用户-项二部图和一个基于gnn的推荐的时间顺序图。在基于空间的聚合中,Amy和Sherry的聚合邻居嵌入是相同的,因为它们与相同的项目交互。与LightGCN类似,作者省略了非线性转换,并利用聚合的邻居嵌入作为一跳用户嵌入。因此,推荐系统会推荐Amy和Sherry相同的项目。然而,Amy和Sherry的推荐项目在基于时空的聚合方面是不同的。在基于时空的聚合中,作者将时间信息纳入邻居嵌入学习中,其中时间顺序在捕获用户的动态兴趣和用户集群随时间的变化方面起着至关重要的作用。

    为了解决这个问题,作者提出了一种新的被称为时空聚合方法(STAM)的聚合方法,将时间信息整合到邻居嵌入学习中。STAM从空间结构和时间顺序的角度生成时空邻居嵌入。为了进一步提高STAM的表达能力,作者在STAM中学习了多个attention heads,以便对不同的潜在子空间进行联合注意。另外,STAM可以自然地插入到现有的基于GNN的推荐中,从而获得更好的推荐结果。

2 方法

2.1 问题定义

    对于指定用户项目对(u,v),为了从时空角度聚合邻居信息,首先需要从用户的历史行为收集时间信息,建立用户u的行为时间序列Tu={v1,···vS}和项目v的时间序列Tv={u1,···uS},其中S是一跳邻居的数量,vt/ut指的是第t个的交互项目/用户。

2.2 STAM


图2 STAM框架

    图2描述了STAM的整体架构,它以时间序列Tu和Tv作为输入,输出由一跳邻居生成的时空邻居嵌入。具体来说,作者首先从每个用户-项目对(u、v)的连接的一跳邻居中构建两个临时时间序列,包括用户的时间序列Tu={v1、···,vS}和项目的时间序列Tv={u1、···,uS},其中S是时间序列的长度。然后获取每个时间序列对应项目/用户的初始嵌入,即时间序列Tu的嵌入X_u = (e_v^1,e_v^2,...,e_v^S),Tv的嵌入X_v = (e_u^1,e_u^2,...,e_u^S),其中e_v^t/e_u^t ∈R^d是维度为d的向量。注意初始嵌入的e_u^te_v^t来自于常规GNN的初始化embedding layer。

    为了实现时空邻居嵌入,作者使用了点积缩放注意力机制(Scaled Dot-Product Attention),其已经成为序列建模的重要部分。将查询Q、键K和值V作为输入表示,查询,键和值分别通过投影矩阵W_Q\in R^{d*D}',W_K\in R^{d*D}'以及W_V\in R^{d*D}'来投影到不同空间中。此外为了把时间信息编码进注意力机制中,作者使用了位置编码,即时间序列Tu和Tv具有绝对时间位置嵌入P_u=(p_v^1,p_v^2,...,p_v^S)P_v=(p_u^1,p_u^2,...,p_u^S),其中p_u^t/p_v^t∈Rd表示t时间位置的位置向量。然后,将时间位置嵌入P_u/P_v与时间顺序嵌入X_u/X_v相结合,获得用户和项目的时间输入嵌入Z_u = (e_v^1+p_v^1,e_v^2+p_v^2,...,e_v^S+p_v^S)Z_v=(e_u^1+p_u^1,e_u^2+p_u^2,...,e_u^S+p_u^S)。最后将Z_u/Z_v\in R^{S*d}输入到STAM进行时空邻居嵌入学习。以用户的时间序列Tu为例,点积缩放注意力计算为:

公式1

    其中,其中Z_u是一个时间输入嵌入矩阵,h^{T_u}\in R^{S*D}'表示一跳邻居的输出嵌入矩阵,W_QW_KW_V是应用于每个用户项对(u,v)的共享权重变换。同理,项目的时间序列Tv的计算公式为:


公式2

    为了进一步提高STAM的表达能力,作者采用了多头注意力机制,而不是执行单一的注意功能,从不同的潜在角度捕获时间信息。利用多个独立的attention heads,操作输入嵌入以及不同的,可学习的线性投影矩阵,有助于提高模型的能力和稳定性。具体来说,多头注意力机制首先将时间输入嵌入Zu/Zv投影到具有各种线性投影矩阵的k个子空间中,然后并行使用k个缩放点积注意函数来生成一跳邻居的输出嵌入矩阵。这些嵌入矩阵可以连接起来产生一个组合的邻域嵌入矩阵。最后应用一个前馈神经网络来进行维数变换。在多头注意力机制下,中心用户u和中心项目v的时空邻居嵌入可以计算为:


公式3

    其中h_u\in R^{S*d}h_v\in R^{S*d}表示多头注意力机制生成的时空邻居嵌入,h_i^{T_u}/h_i^{T_v}\in R^{S*D’/k}表示第i个缩放点积注意函数的一跳邻居的输出嵌入矩阵(由于是k头,故上面的W_Q等矩阵的第二维度会变成D'/k,拼接起来后维度才会回到D')。FFN(·)可以表示为FFN(X)=XW_0+b_0,其中W_0\in R^{D’*d}b_0为可训练的参数。需要注意的是,时空邻居嵌入也可以以时间序列的形式表示,如Hu={h_{v1},h_{v2},...,h_{vS}}和Hv={h_{u1},h_{u2},...,h_{uS}}。

    最后,作者从上述的时空邻居嵌入中计算出聚合的邻居嵌入。在这里只是简单地利用平均池操作来聚合时空邻居嵌入。这是因为作者实验发现时空邻居嵌入的平均池化通常具有良好的性能。中心用户/项目的聚合的邻居嵌入nu/nv可以表述为:


公式4

  2.3 基于GNN的推荐的STAM

    与最先进的基于gnn的推荐模型LightGCN类似,作者也省略了非线性转换,并聚合时空邻居嵌入作为中心节点嵌入。然而,当层层传播one hop邻居的时空邻居嵌入时,上述STAM的内存消耗将呈指数级增长。为此,作者从时空邻居嵌入h_u/h_v中学习了一个时空注意权重矩阵\Phi \in R^{(M+N)*(M+N)},并将其整合到相邻的矩阵A \in R^{(M+N)*(M+N)}中。时空传播层的矩阵形式可以表述为:


公式5

    其中h^{l+1}是第(l+1)层的中心嵌入,⊙表示element-wise product,D是度矩阵。

    中心用户和项目的最终嵌入可以通过加权池化操作来计算。具体来说,应用池化函数,通过操作传播的L层来生成最终的用户/项目嵌入:


公式6

    其中,αl≥0表示第l层的表示在构成最终嵌入中的重要性。与LightGCN类似,作者统一将αl设为1/(L+1),因为本工作不涉及αl的选择。

2.4 STAM的优化函数

    为了优化STAM的参数,作者使用了被广泛采用的BPR损失:


公式7

    其中σ(·)为sigmoid函数,Θ为可训练参数,λ控制L2正则化强度。vn∼pn(·|u)表示负抽样策略。

2.5 模型分析

    ·STAMvsLightGCN。LightGCN是最近一个具有代表性的推荐图卷积网络模型,它通过线性聚合用户-项目交互图中的邻居来学习用户和项目的嵌入。STAM和LightGCN都旨在为基于gnn的推荐学习细粒度的用户和项目嵌入。与只捕获空间结构信息的LightGCN不同,STAM同时捕获空间和时间信息。

    ·SASRec是transformer的一个最新变体,它使用一组可训练的位置嵌入来编码项目的顺序,以进行顺序推荐。尽管STAM和SASRec都利用时间信息来学习用户和项目嵌入,但推荐的类型是不同的。与SASRec的序列推荐不同,STAM侧重于基于gnn的推荐。此外,SASRec中的项目嵌入是通过嵌入查找表执行的,而STAM中是通过时空聚合方法迭代学习的。

    ·BERT4Rec是一个顺序推荐模型,它使用深度双向自我注意来建模用户行为序列。尽管STAM和BERT4Rec都将Scaled Dot-Product Attention应用到模型时间信息中,但STAM的重点是通过从空间结构和时间顺序的角度同时聚合一跳邻居的信息来改进聚合方法。BERT4Rec使用Cloze目标预测掩蔽项目,而STAM直接对采样的训练对进行BPR损失。

3 实验

3.1 数据集


表1 实验数据集

3.2 与图神经网络的基线模型的比较


表2 实验效果(%)

   根据表2,STAM比基线取得了显著的改善,这证实了作者的主张,即在基于gnn的推荐中,时间信息对邻居聚合的重要性。

3.3 与序列模型的比较


表3 实验效果(%)

        根据表3所示的结果,STAM在大多数情况下表现优于最佳基线BERT4Rec,而在某些评估指标上表现差于BERT4Rec。尽管STAM和BERT4Rec都将Scaled Dot-Product Attention应用到模型时间信息中,但STAM只利用一层注意来捕获每个传播层的时间信息,而BERT4Rec将多个注意层叠加,以学习更复杂的项目转换模式。一般来说,STAM比BERT4Rec具有更好的性能。这种改进可能归因于空间图的结构,它可以利用消息传播在用户项图中传播嵌入。

3.4 消融实验

    为了验证STAM的优越性,作者将STAM与之前四种具有代表性的基于空间的聚合方法进行了比较,包括“平均池”、“注意池”、“度归一化”和“中心节点增强”。比较实验如图3所示,STAM明显优于所有基于空间的聚合方法,这验证了捕获一跳邻居的时间顺序有利于邻域嵌入学习。


图3 聚合方式比较

    为了分析传播层数的影响,我们在{1、2、3、4}的范围内改变了传播层数L。如表4所示,用于基于gnn的推荐的STAM受益于叠加多个STAM来传播嵌入在用户-项目图上的时空邻居。与许多基于gnn的推荐模型类似,堆叠太多的STAM也会带来过平滑的问题,即性能随着传播层数的增加而出现峰值变化。


表4 不同层数的影响

    作者进行了一个实验来分析输入长度S的影响,并展示了图4中对MRR@20的实验结果。具体来说,在{5、20、50、100、150、200}范围内搜索S,并在实验中保持最佳设置(S=200(Moivelens)和S=50(Amazon)和S=100(TaoBao))。从图4中可以观察到STAM的性能随输入长度的数量略有波动。这说明由STAM生成的时空邻居嵌入受一跳邻居的时间长度的影响较小。此外,作者观察到适当的输入长度S高度依赖于数据集的一跳邻居的平均长度,这使我们能够从数据集的属性中设置最优的输入长度。


图4 不同S的效果
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,539评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,911评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,337评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,723评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,795评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,762评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,742评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,508评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,954评论 1 308
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,247评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,404评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,104评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,736评论 3 324
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,352评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,557评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,371评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,292评论 2 352

推荐阅读更多精彩内容