STAM

Yang, Zhen, et al. "STAM: A Spatiotemporal Aggregation Method for Graph Neural Network-based Recommendation." (2022).

概述

> 存在的问题

传统的GNN based Recommender System通常侧重于如何从空间结构的角度聚合信息,但是对其邻居的时间信息的探索还不足。

解决方案

设计了一种融合其邻居时间维度与其邻居空间维度的网络架构

  • 空间维度信息
  • 时间维度信息

方案

GNN-based Recommendation

step 1

Embedding Layer

基于图的推荐第一步是随机生成用户Embedding矩阵以及商品Embedding矩阵。

其中,代表用户、商品的数目,代表Embedding向量的维度;具体而言,针对于一个用户、一个商品而言,其Embedding可以表示为

初始化Embedding矩阵之后,后续主要通过相应的聚合策略以及相应的传播策略进行优化此用户-商品Embedding矩阵。

step2

Embedding Aggregation Layer

初始化完用户-商品Embedding矩阵之后,通过聚合层去聚合商品/用户邻居的信息。具体定义如下:

其中,表示用户与用户的邻居商品或者用户(也就是直接交互过的用户或商品);表示聚合函数。

step3

Embedding Propagagtion Layer

为了获取用户-商品高阶交互的信息,

其中,代表在第层用户/商品的Embedding向量,代表更新函数,表示在层的用户的修正向量。对于商品的传递层类似。

step4

Prediction Layer

其中,代表混合函数(fusion function),通常而言,这一层的常见操作有直接拼接(concat)以及weighted-pooling。

最后,通过内积操作计算用户商品之间的相似度,从而进行后续的操作。

step5

Joint Training

其中,代表负样本集合,也就是在总数据集中与用户没有交互的商品集合。

STAM(Spatiotemporal Aggreagtion Method)

首先从用户-商品交互对中获取基于时间/用户的交互时间排序:

其中,代表交互的个数。

Temporal-order Embedding

我们通过传统GNN-based RS的Embedding Layer获取 Temporal-order Embedding

Temporal-positional Embedding

初始化针对不同位置而设计的Temporal-positional Embedding

融合 Temporal-order Embedding与Temporal-positional Embedding

.

其中,代表在用户商品交互的第个位置的Embedding

Multi-head Self-attention

.

其中,代表第个self-attention块得到的基于矩阵的用户向量矩阵。总共有个self-attention块

FFN

通过K个Multi-head之后,针对于一个用户/商品,就会生成K个Embedding,论文中主要采取FFN网络进行聚合。,从而得到用户/商品的最终Embedding

.

其中看代表整体的用户向量矩阵,同理可得出商品向量矩阵。

mean

STAM模型依然可以按照GNN-based RS阶段中的Embedding Propagagtion Layer获取高阶特征,获取完总计层的高阶特征之后,主要采用平均策略进行最终的Embedding的生成。

.

Loss

.

其中,代表经过下采样策略之后的负样本集合。