关注我们,一起学习~
title:STAM: A Spatiotemporal Aggregation Method for Graph Neural Network-based Recommendation
link:https://keg.cs.tsinghua.edu.cn/jietang/publications/WWW22-Yang%20et%20al.-STAM-GNN.pdf
code:https://github.com/zyang-16/STAM
from:WWW 2022
- 导读
基于GNN的推荐系统通常基于空间结构信息对近邻embedding进行聚合,从而忽略了时间信息的聚合,本文提出STAM对根据时空信息对近邻节点embedding进行聚合。
本文所提的STAM是一种聚合方式,即他可以和其他GNN方法相结合,修改聚合方式为STAM即可。该方法主要是通过考虑一阶邻域节点的交互时间顺序来进行聚合。
-
方法
2.1 STAM
如图所示为STAM的总体流程,以时序序列,为输入,输出以一阶邻居生成的时空embedding。首先,根据时间关系,以用户u的一阶邻居节点(即交互的商品)构建用户u的时序序列,即交互的商品时间序列。同理构造商品对应的用户交互时间序列,经过常用的embedding层,可以得到两个序列对应的embedding序列,。
利用多头注意力机制( Scaled Dot-Product Attention )发掘序列中的关系,在序列embedding中加入位置embedding,,从而得到包含位置信息的序列表征,,将这些序列embedding组成矩阵可得,。然后通过自注意力得到新的embedding,以用户的序列为例,公式如下,同理可以得到
结合多头输出,公式如下,
得到两个序列矩阵后,对其内的每个embedding求均值得到最终的序列embedding向量,公式如下,
2.2 STAM用于GNN推荐模型
为了简化计算和节约内存,作者从,学习注意力权重矩阵,并将其与邻接矩阵结合来计算下一层消息传播的embedding,公式如下,
最终对每一层的输出做加权求和,公式如下,和LightGCN一样,本文设置权重为1/(L+1),即做均值。
2.3 优化
采用BPR损失函数和L2正则化来训练,公式如下,
-
结果
欢迎干货投稿|论文宣传|合作交流
「往期推荐」
[
WWW'22 | 推荐系统:基于邻域关系的对比学习改进图协同过滤](https://mp.weixin.qq.com/s?__biz=MzkxNjI4MDkzOQ==&mid=2247490033&idx=1&sn=fb4103c633025c83c1caacac4765f985&chksm=c1531af5f62493e37a0493955b7379ab6cf2bd4cb143035aed2d3e3542a71bb053eda3bc7e72&scene=21#wechat_redirect)
[
WWW'22 推荐系统 | MCL:混合中心损失用于协同过滤](https://mp.weixin.qq.com/s?__biz=MzkxNjI4MDkzOQ==&mid=2247489990&idx=1&sn=9733db48754f08ed9e9f85bbece77172&chksm=c1531ac2f62493d49a49b9ec7531384d335b15a3b32fbb7941eb3ea2160c570f6f909fea6f84&scene=21#wechat_redirect)
[
WWW'22「快手」序列推荐:解耦长短期兴趣](https://mp.weixin.qq.com/s?__biz=MzkxNjI4MDkzOQ==&mid=2247489911&idx=1&sn=8134f7586c8e3f0b20a6b0fc3b7355cb&chksm=c1531a73f624936513a8ca20e7d36a0eeb580d096b5ad5d4c6df5374dfa7bada974fb0d04fc6&scene=21#wechat_redirect)
交流群:点击“联系作者”--备注“研究方向-公司或学校”
长按关注
更多精彩
秋枫学习笔记
一 键 三 连
