【BST】Behavior Sequence Transformer for E-commerceRecommendation in Alibaba

一、提出背景

传统的Embedding&MLP模型结构将原始特征嵌入到低维向量中,然后将其concat后输入MLP进行最终推荐。DIN提出使用注意力机制来捕获候选项与用户先前点击的项之间的相似性。

然而,大多数这些工作只是连接不同的特征,而没有捕获用户行为序列之间的顺序信息, 忽略了用户行为的顺序性,即用户点击的项目的顺序。实际上,顺序对于预测用户未来的点击很重要。

例如,用户在淘宝上买了一部iPhone后,往往会点击手机壳,或者在买了一条裤子后,试图找到一双合适的鞋子。从这个意义上说,在淘宝排名阶段部署预测模型时,如果不考虑这一因素,就会出现问题。

为了解决WDL和DIN面临的上述问题,尝试将用户行为序列的顺序信号纳入RS中。

受自然语言处理(NLP)中机器翻译任务的Transformer的巨大成功的启发,我们应用自注意机制,通过考虑嵌入阶段的序列信息来学习用户行为序列中每个项目的更好表示,然后将它们馈送到MLP中以预测用户对候选项目的响应。Transformer的关键优势在于,它可以通过自注意机制更好地捕捉句子中词与词之间的依赖关系,直观地说,用户行为序列中项与项之间的"依赖关系"也可以通过Transformer提取出来。

二、模型结构

在排名阶段,推荐任务可建模为点击率(CTR)预测问题:给定用户的行为序列S(u)= {v1,v2,.,vn}被用户u点击,我们需要学习函数F来预测点击目标项Vt的概率。

BST和WDL之间的关键区别在于我们添加了Transformer层,通过捕获底层的序列信息来学习用户点击项目的更好表示。

2.1、Embedding层

将所有输入特征嵌入到固定大小的低维向量中。

2.1.1其他特征 包括:

将它们嵌入到低维向量中并连接起来。嵌入矩阵Wo ∈ R| D| ×do,其中do是维度大小。

2.1.2行为序列特征

行为序列中每个项目的嵌入,包括目标项目。

使用两种类型的特征来表示一个item:"Sequence Item Features" 包括item_id和category_id;以及Positional Features对应于位置embedding。

(一个item往往有数百个特征,而选择所有特征来表示行为序列中的项代价太高,实践中也发现,item_id和category_id对于性能来说已经足够好了,可以选择这两个作为稀疏特征来表示嵌入用户行为序列中的每个item。)

对于每个项目,我们连接Sequence Item FeaturesPositional Features。嵌入矩阵WV ∈ R| v| × dV,其中dV是嵌入的维数大小,以及|v|是项目的数量。我们使用ei ∈ RdV来表示给定行为序列中第i项的嵌入。

2.1.3位置embedding

Transformer提出了一种位置embedding来捕获句子中的顺序信息。同样,用户的行为序列中也存在顺序。因此,可以在底层中添加"位置"作为每个item的输入特征,然后将其投影为低维向量。

项目vi的位置值计算为pos(vi)= t(vt)- t(vi),其中t(vt)表示推荐时间,t(vi)表示用户点击项目vi时的时间戳。

2.2、Transformer 层

Transformer层通过捕获行为序列中与其他项的关系来学习每个项的更深层次的表示。

在我们的场景中,自我注意力操作将项目的embedding作为输入,并通过线性投影将其转换为三个矩阵,并将其馈送到注意力层。

多头注意力:

其中投影矩阵WQ、WK、WV ∈ Rd×d,E是所有项的嵌入矩阵,h是头的数目。

前馈网络Feed-Forward Networks (FFN):F = FFN(S)

为了避免过度拟合并分层学习有意义的特征,我们在自我注意力和FFN中使用dropout和LeakyReLU。然后,自注意和FFN层的总体输出如下:

2.3、MLP层

将Other Features的嵌入和应用于目标项的Transformer层的输出连接起来,我们然后使用三个全连接层来进一步学习密集特征之间的交互。

2.4、损失函数

为了预测用户是否会点击目标itemvt,我们将其建模为二进制分类问题,因此我们使用sigmoid函数作为输出单元。为了训练模型,我们使用交叉熵损失:

其中D表示所有样本,y ∈ {0,1}是表示用户是否点击过某个项目的标签,p(x)是sigmoid单元后网络的输出,表示样本x被点击的预测概率。

三、实验设置

3.1、评估指标

离线结果:AUC

在线A/B测试:CTR、平均RT(RT是响应时间(RT)的缩写,它是为给定查询生成推荐结果的时间成本,即一位淘宝用户的请求。用来评估不同的在线生产环境中的效率)

和DIN之间的关键区别在于,使用Transformer 来学习用户行为序列中每个项目的更深层次的表示,而DIN试图捕捉之前点击的项目和目标项目之间的不同相似性。换句话说,BST模型与Transformer更适合捕捉的顺序信号。

相关推荐
DeepSeek-大模型系统教程10 分钟前
推荐 7 个本周 yyds 的 GitHub 项目。
人工智能·ai·语言模型·大模型·github·ai大模型·大模型学习
有Li12 分钟前
通过具有一致性嵌入的大语言模型实现端到端乳腺癌放射治疗计划制定|文献速递-最新论文分享
论文阅读·深度学习·分类·医学生
郭庆汝17 分钟前
pytorch、torchvision与python版本对应关系
人工智能·pytorch·python
小雷FansUnion2 小时前
深入理解MCP架构:智能服务编排、上下文管理与动态路由实战
人工智能·架构·大模型·mcp
资讯分享周2 小时前
扣子空间PPT生产力升级:AI智能生成与多模态创作新时代
人工智能·powerpoint
叶子爱分享3 小时前
计算机视觉与图像处理的关系
图像处理·人工智能·计算机视觉
鱼摆摆拜拜3 小时前
第 3 章:神经网络如何学习
人工智能·神经网络·学习
一只鹿鹿鹿3 小时前
信息化项目验收,软件工程评审和检查表单
大数据·人工智能·后端·智慧城市·软件工程
张较瘦_4 小时前
[论文阅读] 人工智能 | 深度学习系统崩溃恢复新方案:DaiFu框架的原位修复技术
论文阅读·人工智能·深度学习
cver1234 小时前
野生动物检测数据集介绍-5,138张图片 野生动物保护监测 智能狩猎相机系统 生态研究与调查
人工智能·pytorch·深度学习·目标检测·计算机视觉·目标跟踪