【序列推荐、Transformer】SASRec:Self-Attentive Sequential Recommendation

该博客介绍了SASRec(Self-Attentive Sequential Recommendation)模型,它是Transformer在序列推荐领域的应用,通过自注意力机制捕捉用户行为序列中的上下文信息,并通过内积与物品embedding交互生成推荐。模型结构包括Embedding、Positional Embedding、Self-Attention层和预测层,特别强调了Positional Embedding解决序列位置依赖的问题。实验结果显示在稀疏和密集数据集上优于传统模型。

#论文题目:SASRec:Self-Attentive Sequential Recommendation(SASRec-基于自注意力机制的序列推荐)
#论文地址:https://arxiv.org/abs/1808.09781v1
#论文源码开源地址:https://github.com/kang205/SASRec
#论文所属会议:ICDM 2018

一、创新点

transformer最早提出是用在NLP领域做机器翻译的,本文将transformer中的注意力机制用在序列推荐上,对于给定的物品序列来预测下一个最可能出现的物品是什么(采用自注意力机制来对用户的历史行为信息建模,提取更为有价值的信息。最后将得到的信息分别与所有的物品embedding内容做内积,根据相关性的大小排序、筛选,得到Top-k个推荐。)。该方法在稀疏和密集数据集上都优于各种先进的序列模型。

二、模型结构

在这里插入图片描述

这个结构是不是非常熟悉呢?没错,其实它就是Transformer中的Encoder部分,每个block包括Self-Attention和FFN等。

首先得到商品序列后,Embedding Layer得到物品的向量表示,之后加以聚合,通过Self Attention得到每个物品之间的注意力数值大小,为了避免线性问题导致模型过拟合,Feed Forward NetWork考虑到不同维度隐藏特征的非线性交互,采用两层前馈网络(ReLU),最后通过Predication Layer进行计算商品的数值大小并进行排序,最终取其Top-K的物品作为推荐。

通俗来说:已知用户历史行为,通过SASRec模型得到一个对历史行为的建模,然后我们将其与每一个候选物品(也可以说是目标物品)的表示(Embedding向量)进行交互(文章采用的是内积方式),得到一个 r r ri,t,表示一种相关性。然后将所有的分数进行排序、筛选,完成推荐。

三、方法

3.1 参数定义

对于序列推荐,我们定义一个用户的行为序列:Su = (S1u, S2u, …, S{|Su|}u),目标是预测下一个用户可能发生交互的物品但需要依赖之前用户的交互历史,如下图所示。论文中所需的参数表示见下表:
在这里插入图片描述

3.2 Embedding层

文章中重点提到了关于用户行为序列的表示:将行为序列 S S Su = ( S S S1u, S S S2u, …, S S S{|Su|}u)转化为一个适宜长度的序列

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值