论文笔记:Sequential Recommendation with Relation-Aware Kernelized Self-Attention

论文笔记:Sequential Recommendation with Relation-Aware Kernelized Self-Attention

摘要:
    最近的研究发现,顺序推荐可以通过注意力机制得到改善。通过跟踪这一发展,我们提出了关系感知核化自我注意(RKSA),采用了transformer的自我注意机制,增强了一个概率模型。Transformer最初的自我关注是一种没有关系意识的确定性度量。因此,我们在自我注意中引入了一个潜在空间(latent space),潜在空间将推荐上下文从关系建模为多元斜正态分布,并从共现中生成核化协方差矩阵。这项工作通过添加推荐任务细节的概率模型,将Transformer的自我关注和顺序推荐结合起来。我们在基准数据集上进行了RKSA实验,与最近的基线模型相比,RKSA显示出了显著的改进。此外,RKSA能够产生一个潜在空间模型,回答推荐的原因。

简介:

    使用潜在空间模型来改进(定制)transformer,在Transformer的attention值上叠加潜在空间,使用潜在空间通过推荐任务中的关系对上下文进行建模。潜在空间被建模为多元偏正态分布(MSN),其维度为序列中唯一项的数量。MSN分布的协方差矩阵是我们通过核函数对序列、项目和用户之间的关系建模的变量,该核函数提供了推荐任务自适应的灵活性。在核建模之后,我们提供了MSN分布的重新参数化,以便能够对引入的潜在空间进行摊销推断。
由于关系建模是通过核化完成的,因此我们将该模型称为关系感知核化自我注意(RKSA)。我们设计的RKA有三项创新。

  • 由于在推荐任务中的特征稀疏性,传统transformer无法很好的工作,故此添加了一个潜在维度以及与其配对的参数
  • 具有关系感知核的协方差建模使自注意能够更好地适应推荐任务。
  • 自我注意的核化潜在空间为推荐结果提供了推理依据。(可解释性)
  • 在五个数据集(ML,steam。。)上与八个基准模型(SASRec,HCRNN,NARM,Pop。。)进行对比
    在这里插入图片描述

相关工作:(Preiminary)

1 多头注意力机制(Multi-Head Attention)
    self-attention作为RKSA的主干网络,我们首先对其进行温故。

  • scaled-dot product attention:普通的attention
    在这里插入图片描述

  • positional embedding: capture the latent information of the position 捕获位置信息,在attention中嵌入位置信息
    在这里插入图片描述
    其中X为位置信息。

  • Multi-head attention: 多头注意力机制,使用H个attention网络,并且每个网络的参数是原来的1/H。
    在这里插入图片描述

2.多元偏正态分布(Multivariate Skew-Normal Distribution,MSN)

  • 建模特征间的协方差结构:covariance
  • 建模attention值的非对称性 :skewness

方程:location ξ, scale ω, correlation ψ, and shape α
在这里插入图片描述
其中,Σ =ωψω 是协方差矩阵,φk 是k维多元标准正态密度分布函数,

3 核函数(Kernel Function)
    通过核函数实现灵活的协方差结构。
在这里插入图片描述

    使用实际值计算观测空间X中的一对观测值。在机器学习领域,核函数作为协方差矩阵被广泛用于计算两个数据点之间的相似性。
    使用核函数需满足两个条件:
    (1)对称性:
在这里插入图片描述

    (2)半正定:
在这里插入图片描述

    我们在RKSA中应用定制核函数对MSN的相关协方差参数进行建模,并证明了定制核函数的有效性。

方法(Methodology)
    本节介绍了顺序推荐任务、关系感知核化自我注意(RKSA)的总体结构及其详细的参数建模。

1.problem statement 问题描述
    顺序推荐使用基于用户过去动作序列的数据集,如:U={u1,u2, …, u|U|} 即可以为一个用户集合。
I={i1,i2, …, i|I|} 可以为一个物品集合,Su={i1(u),i2(u), …, inu(u)} 可以为用户u的动作集合。
顺序推荐的任务是预测用户要交互的下一个项目。
在这里插入图片描述

2.self-attention block 自注意力模块,relation-aware Kernelized Self-Attention,
    基于Transformer的修改版。由下图可知RKSA是基于关系的自定义attention。例如物品、用户和全局共现信息。详细情况如下:
在这里插入图片描述

    ○ Embedding Layer
    原始数据(商品、互动)为稀疏热编码数据,我们需要嵌入商品,用户以及交互的位置(顺序)信息。
    从用户的动作序列sequence中选取前n个action:
        ■ 定义商品embedding为E∈RI*d维。d是embedding的维度。E由隐藏层输出。隐藏层的输入是原始数据one-hot编码。
        ■ 定义用户embedding为U∈RUxd。
        ■ 定义一个位置嵌入矩阵P∈Rn×d,引入相互作用的顺序信息。
    叠加E与P,作为输入。选取n个动作列表,即有E∈Rnxd,P∈Rn×d,xt = eit + pt

    ○ Relation-Aware Kernelized Self-Attention:关系感知核化自我注意
    ○ Point-Wise Feed-Forward Network
    将transformer中的点式前馈网络应用于RKSA是每个位置的输出。前馈网络由两个线性的transformation组成,并且两个transformeation间有应该relu。
    此外,我们叠加了多个self-attention块来学习复杂的过渡模式。我们也使用了残差网络来搭建一个更深的网络结构。
此外,在每一个层之后有norm与drop层。

    ○ Output Layer
    一共有B个attention block,任务是预测第n+1个item,通过B个attention块的第n个输出。
    使用和之前embedding层一样的参数来对预测结果进行排序,其得分定义如下:
在这里插入图片描述

    Fn(B)是最后一个attention block的输出,Ei是第i个item的embedding输入。预测结果第n+1个item即为根据上述公式计算得出的其中分数最高的item。

3.parameter modeling 参数建模
    详细列举了MSN建模的参数,即RKSA中的变量z
    ○ Location ξ:location的任务与多元正态分布一样,假设我们使用MSN去采样对齐分数(源与目标的相关性)。也需要提供可能性最大的对齐分数。
    所以使用对齐分数作为位置参数如下:
在这里插入图片描述

    f是激活函数,根号d对 ξ进行按比例缩放。
○ Covariance Σ:
    协方差代表了item间的相关性,是参数的方阵。并且只选取最近的n个item。item间的relation可以由其简单的共同出现的次数或者由非线性的核函数来刻画。在这篇论文中采用设计了一个核函数来描述一对item间的relation,因为核函数是有效的非线性高维距离度量,并且可以通过优化核超参数来学习。
    我们通过item与user的共同出现次数来构建核函数:
    对于给定序列,在时间点i与时间点j,对其进行归一化获取xi,xj。此外,通过下述公式计算方差wi2,wj2。
在这里插入图片描述

    在上式中,使用softplus作为标准偏差的激活函数,使得标准偏差值为正值。以下给出三个核函数,并且将xi^简化为xi。
    ■ Counting kernel:定义为每个item对的共同出现的次数,
在这里插入图片描述在这里插入图片描述

    其中Pi ,Pj为item i 与 j 的出现的次数 Pij为 i 与 j 共同出现的次数。
    ■ Item kernel:利用xi与xj作为item的表征,有两种可供选择的核函数:
        ● linear item kernal:
在这里插入图片描述
        ● Radial Basis Function(RBF):
在这里插入图片描述

    ■ User kernel:利用用户与item的表征,核函数如下:
在这里插入图片描述在这里插入图片描述

    us是d维的用户embedding,Ws是d*d维的权重矩阵,圆圈点是阿达马点击(Hadamard product)
    最终的核函数为上述三个核函数的累加:
在这里插入图片描述

○ Shape α:形状参数反映了最终item与一个item在user sequence中的关系。
    定义: α={α1, …, αn}对应 item {i1, …, in} 。
    aj的定义公式:
在这里插入图片描述

    其中,sj为可学习的缩放参数,a^为共现矩阵C的比例参数。
    aj^的定义如下:
在这里插入图片描述

    其中,Ci,j为共现矩阵C中第i行第j列。
    如上,通过第j行以及第n列的点击计算aj^,可以计算ij与in在共现矩阵中的关联。对于j行j列,即相同物品间的共同出现次数是无意义的,使用每行的平均值进行填充。

4. 模型推理
在这里插入图片描述

○ 损失函数:通过简森不等式推断下界。
在这里插入图片描述

    Lz通过负采样的二元交叉熵损失来计算,最终的Loss由Lz(预测损失)与共现损失。

在这里插入图片描述

    λr为正则化参数

○ Z的再参数化:
在这里插入图片描述

实验结果(Experiment Result)

● Dataset: Amazon,CiteULike,Steam,MovieLens
● Beseline:
    ○ Pop always recommends the most popular items.
    ○ Item-KNN (Linden, Smith, and Y ork 2003) recommends an item based on the measured similarity of the last item.
    ○ BPR-MF(Rendle et al. 2009) recommends an item by theuser and the item latent vectors with the matrix factoriza-tion.
    ○ GRU4REC(Hidasi et al. 2015) models the sequential user history with GRU and the specialized recommendation loss function such as Top1 and BPR loss.
    ○ NARM(Li et al. 2017) focuses on both short and longterm dependency of a sequence with an attention and a modified bi-linear embedding function.
    ○ HCRNN( Song et al. 2019) considers the user’s sequential interest change with the global, the local, and the temporary context modeling. It modifies the GRU cell structure to incorporate the various context modeling.
    ○ AttRec(Zhang et al. 2019) models the short-term intent using self-attention and the long-term preference with metric learning.
    ○ SASRec(Kang and McAuley 2018) is a Transformer model which combines the strength of Markov chains and RNN. SASRec focuses on finding the relevant items adaptively with self-attention mechanisms.

● 具体实验:
    ○ GRU4REC、NARM、HCRNN和SASRec,我们使用相应作者编写的官方代码。
    ○ 在GRU4REC、NARM和HCRNN中,我们应用了NARM提出的数据扩充方法
    ○ 对于SASRec与RKSA,使用两个attention block以及one head。
    ○ 以上所有实验,batchsize=128,embedding=64,dropout=0.5,lr=0.001,opt=adam。
    ○ 其余baseline参数与原作者保持一致。
    ○ RKSA的loss函数中,λr正则化参数为0.001
    ○ 以上所有实验,使用学习率下降(learning rate decay)以及早停(early stop)策略。
    ○ 我们对所有数据集使用最新的50个动作序列。

在这里插入图片描述

1. 定量分析:
    在表2中,我们采用了两种广泛使用的度量标准:
        ○ Hit Rate@K 命中率
        ○ NDGG@K
    RKSA模型在所有数据集上取得了最优性能,并且在beauty数据集上取得了最大的提升。beauty数据集是最稀疏的数据集,这也反映了我们方法有助于预测稀疏数据。

    ● 消融实验:三个核函数的组合,I,U,C,在数据集Beauty与MovieLens上进行。
在这里插入图片描述

    我们比较了Beauty和MovieLens数据集上的核函数组合。我们认为Beauty是一个典型的稀疏数据集,而Mevielens是一个典型的密集数据集。表3显示了每个内核函数的性能。我们假设使用稀疏数据集很难学习item和user的表示。因此,具有计数核函数的RKSA在稀疏数据集上表现出最好的性能。相反,通过密集数据集学习项和用户的表示相对容易,表3显示了item项和user的内核组合是最好的。

2. 定性分析:
     ○ item 的embedding结果,相同类目之间关联度高:由(b)可以看出。
    我们生成合成序列来分析训练核函数的相关性。我们使用计数和项内核组合,而不使用用户内核,因为序列是合成的。合成序列包括四个不同的电影系列和一部动画电影。图3b显示,属于同一系列的电影具有很高的相关性。相反,动画类型与其他类型之间的相关性较低。
在这里插入图片描述

     最后,我们观察了计数、项目和用户内核的权重,见图4a,因为内核权重也有助于相关矩阵的构建。由于每个数据集具有不同的特征,因此数据集以不同的方式强调计数、项目和用户关系。有趣的是,计数内核并不是MovieLens中最主要的内核,但用户内核是主要的。就每个用户的平均操作数而言,MovieLens是相对密集的数据集,如表1所示。我们提出的模型RKA很好地适应了数据集的特性,并将重点放在用户内核上,而不是放在MovieLens数据集上的其他内核上。
在这里插入图片描述

     图(a)表示不同数据集的内核权重差异,图b表示稀疏情况下RKSA模型的预测rank较高。

     ○ 不常见项目的预测排名
像Beauty一样,一个稀疏的数据集有许多不经常出现的项,由于其信息稀疏性,这些项很难预测。为了克服这个问题,RKSA利用整个数据集的相关信息,而不是预测中的单个序列。图4b显示,与SASRec的预测排名相比,随着信息稀疏性的恶化,目标项目被RKSA高度排名。

     ○ attention 权重学习:
图5显示了SASRec和RKA的注意权重,以及最后一个项目和序列中每个项目之间的共现信息。图5中的序列实例在时间步0、1、2和5处具有高的共现值;图5证实了RKSA比SASRec具有更高的注意力值。在相反的情况下,RKSA的注意权重低于SASRec的注意权重。
在这里插入图片描述

总结
     我们提出了一种用于顺序推荐任务的关系感知核化自我注意(RKSA)。RKSA引入了一种新的自我注意机制,这种机制是随机的,并且被关系信息核化。虽然过去的注意机制是确定性的,但我们在注意中引入了一个潜在变量。此外,潜在变量利用了核化相关矩阵,因此核可以扩展为包含关系信息和建模。通过这些创新,我们能够在所有实验环境中看到最佳性能。我们期望在不久的将来,变压器随机性的进一步发展。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值