原文地址
SSE-PT: Sequential Recommendation Via Personalized Transformer
时间信息对于推荐问题至关重要,因为用户偏好在现实世界中自然是动态的。 深度学习的最新进展,尤其是除了在自然语言处理中广泛使用的 RNN 和 CNN 之外,还发现了各种注意力机制和更新的架构,可以更好地利用每个用户参与的物品的时间顺序。 特别是 SASRec 模型,受到自然语言处理中流行的 Transformer 模型的启发,取得了最先进的结果。 然而,SASRec 就像最初的 Transformer 模型一样,本质上是一个非个性化的模型,不包括个性化的用户嵌入。
为了克服这个限制,本文提出了一种个性化变换器 (SSE-PT) 模型,不仅更具可解释性,而且能够关注每个用户最近的参与模式。 此外, SSE-PT 模型稍加修改,称之为 SSE-PT++,可以处理极长的序列,并在具有可比训练速度的排名结果方面优于 SASRec,在性能和速度要求之间取得平衡。
1. 论文模型
1.1 序列推荐
给定 n 个用户,每个用户按时间顺序与 m 个物品的一个子集互动,顺序推荐的目标是在任何给定时间点为任何给定用户学习在总共 m 个物品中前 K 个物品的良好个性化排名。假设数据为 n 个物品序列的格式:
长度为 T 的序列 s i s_{i} si包含用户 i 按照时间顺序(从旧到新)与之交互的最后 T 个物品的索引。 对于不同的用户,序列长度可能会有所不同,但可以填充较短的序列,使它们都具有长度 T 。不能简单地将数据点随机分成训练/验证/测试集,因为它们按时间顺序排列。 相反,需要确保训练数据在验证数据之前,也就是在测试数据之前。 使用序列中的最后一个物品作为测试集,倒数第二个物品作为验证集,其余的作为训练集。使用 NDCG@K 和 Recall@K 等排名指标进行评估,这些指标在附录中定义。
1.2 个性化的 Transformer 架构
模型称之为 SSE-PT,它利用了一种称为随机共享嵌入的新正则化技术。在接下来的部分中,将检查的个性化转换器 (SSE-PT) 模型的每个重要组件,尤其是嵌入层,以及随机共享嵌入 (SSE) 正则化技术的新应用。
嵌入层
定义一个可学习的用户嵌入查找表 U ∈ R n × d u U\in R^{n\times d_{u}} U∈Rn×du和物品嵌入查找表 V ∈ R m × d i V\in R^{m\times d_{i}} V∈Rm×di,其中 d u , d i d_{u},d_{i} du,di分别为用户和物品的隐藏单元的数量。同时还指定了可学习的位置编码表 P ∈ R T × d P\in R^{T\times d}