2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

阿里:Behavior Sequence Transformer 解读

  • 2019-12-02
  • 本文字数:1663 字

    阅读完需:约 5 分钟

阿里:Behavior Sequence Transformer 解读

背景和介绍

现在深度学习已经广泛应用到了各种 CTR 预估模型中,但是大都数模型的输入只是 concat 不同的特征,而忽视了用户历史行为本身的序列特征。比如一个用户很有可能买了苹果手机后,会买手机套,买了裤子之后会选择继续买个配套的鞋子。而之前一些模型比如 wide&deep,就没有利用用户行为历史序列中的 order information。DIN 模型使用注意力机制来捕获目标商品与用户先前行为序列中商品之间的相似性,但仍然未考虑用户行为序列背后的序列性质。


因此为了解决上述问题,本文尝试将 NLP 领域中大放异彩的 Transformer 模型来做推荐任务。具体:使用 self-attention 模块来学习用户行为历史序列中各个 item 的序列信息。

模型

  • 问题建模:给定一个用户 u 的行为序列:S(u) = {v1,v2, …,vn },学习一个函数 F 用于预测用户 u 点击 item vt 的概率。其它特征包括:user profile, context, item 和 cross features,如下图所示



  • 模型结构:

  • 1.Embedding Layer:左侧部分通过 embedding 层将所有的 other features 映射成固定维度的向量,然后 concat 起来。另外,该模型也将行为序列中的每个 Item(包括目标 Item)通过相同的 embedding 层映射成低维度的向量。这里需要注意的是,每个 Item 通过两部分来表示:“序列 item 特征”(红色部分)和“位置特征”(深蓝色),其中,“序列 item 特征”包括 item_id 和 category_id(item 通过包括上百个特征,但是 item-id 和 category_id 两个特征对于 performance 来说就已经够了)。位置特征用来刻画用户历史行为序列中的顺序信息,文中将“位置”作为中每个 item 的另一个输入特征,然后将其投射为低维向量。第 i 个位置的位置特征计算方式为 pos(vi)=t(vt)-t(vi),其中,t(vt) 表示推荐的时间戳,t(vi) 表示用户点击商品 vi 时的时间戳。

  • 2.Transformer layer:对于每个 item 抽取了一个更深层次的 representation,用于捕捉该 item 和历史行为序列中的其他 item 的关系。

  • Self-attention:Transformer 层中的 multi-head attention 模块输出:

  • 其中 headi 为:



self-attention 的计算公式为:



  • Point-wise Feed-Forward Network:目的是增加非线性。在 self-attention 和 FFN 中都使用了 dropout 和 LeakyReLU,最终 self-attention 和 FFN 的输出为:

  • Stacking the self-attention block:上面的两步操作被称为一个 self-attention 单元。为了抽取出 item 序列中更加复杂的潜在关联特征,该模型堆叠了几层 self-attention 单元:


  1. MLP layers and Loss function: 将所有的 embedding 进行拼接,输入到三层的神经网络中,并最终通过 sigmoid 函数转换为 0-1 之间的值,代表用户点击目标商品的概率。loss 函数:


实验结果

其中,b 表示 Transformer 的 block 堆叠的层数,论文里实验了 1 层、2 层和 3 层的效果,最终 1 层的效果最好。

总结

DIN、DIEN、DSIN 和本文 BST 模型的区别和联系


DIN 模型使用注意力机制来捕获目标商品与用户先前行为序列中商品之间的相似性,但是未考虑用户行为序列背后的序列性质,并且未捕捉用户兴趣的动态变化性。


DIEN 主要解决 DIN 无法捕捉用户兴趣的动态变化性的缺点,提出了兴趣抽取层 Interest Extractor Layer、兴趣进化层 Interest Evolution Layer。


DSIN 针对 DIN 和 DIEN 没考虑用户历史行为中的会话信息,因为在每个会话中的行为是相近的,而在不同会话之间差别是很大的。DSIN 主要是在 session 层面上来利用用户的历史行为序列信息。


BST 模型通过 Transformer 模型来捕捉用户历史序列中各个 item 的关联特征,并且通过加入待推荐的商品 item,也可抽取出行为序列中商品与待推荐商品之间的相关性。


参考文献:


Behavior Sequence Transformer for E-commerce Recommendation in Alibaba


https://www.jianshu.com/p/caa2d87cb78c


Deep Interest Network for Click-Through Rate Prediction


Deep Interest Evolution Network for Click-Through Rate Prediction


Deep Session Interest Network for Click-Through Rate Prediction


本文转载自 Alex-zhai 知乎账号。


原文链接:https://zhuanlan.zhihu.com/p/72018969


2019-12-02 16:221842

评论

发布
暂无评论
发现更多内容

如何利用YashanDB数据库优化用户数据管理

数据库砖家

传帮带 人才梯队建设经验总结(10)

万里无云万里天

人才 工业 工厂运维

如何利用YashanDB数据库实现多租户数据隔离

数据库砖家

实现 YashanDB 高可用集群设计

数据库砖家

如何利用YashanDB数据库实现数据集成与共享

数据库砖家

如何利用YashanDB数据库提升数据可视化能力

数据库砖家

TIDB数据库企业版敏捷部署及和mysql性能对比

TiDB 社区干货传送门

7.x 实践 TEM 试用 平凯数据库敏捷模式

Chromium WebGPU堆缓冲区溢出漏洞CVE-2025-11205安全分析

qife122

网络安全 漏洞分析

NopGraphQL 的设计创新:从 API 协议到通用信息操作引擎

canonical

graphql Nop平台 什么是 GraphQL 可逆计算,

初学平凯星辰 TiDB 及敏捷模式的体验

TiDB 社区干货传送门

测试 版本测评 性能测评 平凯数据库敏捷模式

测试 TiDB 在敏捷模式下的容灾方案

TiDB 社区干货传送门

测试 技术趋势 TEM 试用 平凯数据库敏捷模式

使用 YashanDB 实现高效的数据同步与备份

数据库砖家

如何利用YashanDB数据库实现智能数据分析

数据库砖家

利用 YashanDB 优化业务流程

数据库砖家

从 Oracle 到 TiDB,重构辽宁联通 600 亿数据生产力

TiDB 社区干货传送门

运营商

如何利用YashanDB数据库实现跨平台兼容性

数据库砖家

如何利用YashanDB数据库提升数据查询效率的实操指南

数据库砖家

OriginDB番外篇:Java线程安全:从CPU多级缓存说起

shihlei

JMM 线程安全 MESI CPU Cache

告别分库分表与停机维护:平凯数据库敏捷模式为制造业ERP注入新活力

TiDB 社区干货传送门

TEM 试用 平凯数据库敏捷模式

公私合作抗击网络威胁的创新实践

qife122

网络安全 威胁防御

工业管理 团队建设经验总结(4)

万里无云万里天

团队建设 工业 工厂运维

平凯数据库敏捷模式的一次体验:开箱即用,简单友好,查询响应速度明显,其良好的扩展能力,更适合应对资源紧张等情况

TiDB 社区干货传送门

平凯数据库敏捷模式

大数据-114 Flink DataStreamAPI 从 SourceFunction 到 RichSourceFunction 源函数的增强与实战

武子康

Java 大数据 flink spark 分布式

超越炒作:使用Agentic AI构建系统架构

qife122

人工智能 Agentic AI

记两个 GC 失效修复的案例

TiDB 社区干货传送门

管理与运维 7.x 实践

SolarWinds Web Help Desk远程代码执行漏洞分析

qife122

网络安全 远程代码执行

YashanDB 提供的数据存储和管理功能

数据库砖家

如何利用YashanDB提升客户体验与满意度

数据库砖家

平凯数据库敏捷模式体验评测,金融科技行业可参考

TiDB 社区干货传送门

还在为分库分表头疼?试试这款国产分布式数据库TiDB,让你的应用“无限”扩容!

TiDB 社区干货传送门

云原生 国产化替代 TiDB 8.x

MySQL撑不住了?这份TiDB替代可行性报告,请收好!

TiDB 社区干货传送门

高可用 技术趋势 MySQL 迁移 TiDB 8.x

阿里:Behavior Sequence Transformer 解读_语言 & 开发_Alex-zhai_InfoQ精选文章