Self-Attentive Sequential Recommendation
Wang-Cheng Kang, Julian McAuley
UC San Diego
https://cseweb.ucsd.edu/~jmcauley/pdfs/icdm18.pdf
很多现代推荐系统中序列动力学是一种重要特征,序列动力学能够根据用户最近的行为来捕捉用户行动的上下文环境。
现行有两种比较流行的方法来捕捉这种模式,一种是马尔可夫链,一种是循环神经网络。马尔可夫链假设用户的下一个行为可以基于用户的最近一次或者最近几次的行为来预测,循环神经网络在原理上可以发现较长周期的语义信息。
一般而言,基于马尔可夫链的方法在非常稀疏的数据集上效果最好,循环神经网络在比较稠密的数据集中效果较好,模型复杂度也较高。
这篇文章的目标在于对上述两种方法的优势进行平衡,提出一种自注意力序列模型(SASRec),该模型可以像循环神经网络一样捕捉较长的语义信息,不同的是,加入了注意力机制,这就使其能够基于相对较少的行为来作出预测,这一点有点类似马尔可夫链。
每一步中,SASRec从用户行为历史中寻找比较相关的商品,并且利用它们来预测下一个商品。
大量实验表明,本文方法在稀疏和稠密数据集上的效果优于其他STOA序列模型,比如基于马尔可夫链的方法,基于卷积神经网络的方法,以及基于循环神经网络的方法。
并且,该模型相对基于CNN或RNN的模型效率高一个数量级。针对注意力权重的可视化表明了本文模型能够自适应处理多种数据,在行为序列中也能发现比较有意思的模式。
这篇文章的思想源于Transformer
整体结构图示如下
下面是一些符号约定
嵌入部分考虑了位置因素
缩放后的点积注意力定义形式如下
自注意力层形式如下
基于因果关系的改进方式如下
点式前向神经网络形式如下