本文目录
摘要:本文介绍推荐系统中用户行为序列建模的核心方法,包括 DIN(Deep Interest Network)、DIEN(Deep Interest Evolution Network)、BST(Behavior Sequence Transformer)等。
一、为什么需要行为序列建模?
用户的兴趣不是一成不变的,而是随着时间不断演化的。传统的推荐模型往往将用户特征做简单的池化(如平均),忽略了行为的时间顺序和兴趣演化。
行为序列建模的目标:
- 捕捉用户兴趣的动态变化
- 挖掘历史行为与候选物品之间的关联性
- 利用序列模式提升推荐准确性
二、DIN(Deep Interest Network)
DIN 的核心思路
DIN 提出了一种局部激活机制:根据候选物品与每条历史行为的相关性产生权重,再加权求和;这不是必须把无关行为硬删除的检索操作。原论文 §4.3、式 (3) 特意不要求权重经过 Softmax 后和为 1,以保留兴趣强度信息。
基础 DIN 的逐项激活与求和没有显式建模时间顺序:若不额外提供位置/时间特征,置换相同历史行为的顺序不改变输出。它解决候选相关的兴趣聚合,DIEN 才进一步引入时序演化建模。
候选物品 → Attention → 用户历史行为序列 → 加权求和 → 用户兴趣向量
激活单元
# DIN 激活函数伪代码
def activation(candidate_item, behavior_item):
concat = [behavior_item, candidate_item, behavior_item * candidate_item, behavior_item - candidate_item]
return MLP(concat)
效果
- 原论文在其工业数据集上报告了收益;具体幅度依数据、基线和实现而异
- 计算复杂度 O(N),N 为历史行为长度
三、DIEN(Deep Interest Evolution Network)
DIEN 的核心思路
DIEN 在 DIN 的基础上进一步考虑了兴趣的时序演化,使用 GRU 建模兴趣演化过程。
行为序列 → GRU → 兴趣演化序列 → AUGRU(GRU with attentional update gate)→ 用户兴趣
兴趣抽取层
用当前隐藏状态区分下一次真实点击行为与采样的非点击行为,作为辅助损失,与最终 CTR 损失一起训练。这个监督使表示更贴近行为预测目标,但不是隐藏状态“必然等于真实兴趣”的保证。
兴趣演化层
在兴趣抽取的基础上,DIEN 使用 GRU with attentional update gate(AUGRU,带注意力更新门的 GRU),让候选物品相关性参与隐藏状态更新。它先用标量注意力分数 $a_t$ 缩放 GRU 原本的向量更新门 $u’_t$:
\[\tilde{u}'_t=a_tu'_t\]再按维更新隐藏状态:
\[h'_t=(1-\tilde{u}'_t)\odot h'_{t-1}+\tilde{u}'_t\odot\tilde{h}'_t\]因此它既保留了更新门不同维度的重要性,又让与候选物品关系较弱的历史兴趣少改变当前状态。DIEN 论文使用的名称是 AUGRU,不需要再引入另一个未定义缩写。
四、BST(Behavior Sequence Transformer)
BST 的核心思路
将 Transformer 的自注意力机制应用到用户行为序列建模中:
[历史行为1, 历史行为2, ..., 历史行为N, 候选物品] → Transformer → 用户兴趣表示
优势
- 全局注意力:每个行为都能看到其他所有行为
- 训练时可并行处理序列位置,减少 RNN 式串行依赖;实际速度仍受二次注意力开销、序列长度与实现影响,并非总比 RNN 更快
- 灵活的位置编码:可以加入时间间隔信息
五、SIM(Search-based Interest Model)
问题
DIN 和 DIEN 的计算复杂度与历史行为长度成正比,当行为序列很长时(如 1000+)计算开销巨大。
方案
SIM 采用两阶段方案:
- General Search Unit(GSU):从超长序列中筛选出与候选物品相关的较短子序列。原论文同时讨论了逐项计算相关性的 soft-search,以及可借助预建索引进行快速查询的按类目 hard-search
- Exact Search Unit(ESU):在缩短后的子序列上精确建模;原论文明确指出这里可以使用 DIN、DIEN 等更复杂结构
两阶段的价值不只是改变渐进复杂度,还在于把昂贵模型处理的长度从原始 $N$ 降到 $K\ll N$。若 GSU 采用逐项 soft-search,它本身仍是 $O(N)$;只有配合可检索索引的 hard-search 等实现,在线查询才可能做到次线性。因此不能笼统地把所有 SIM 实现都标成同一个 $O(N)$。
六、总结
| 模型 | 核心机制 | 复杂度 | 适用场景 |
|---|---|---|---|
| DIN | 局部激活 | O(N) | 中等长度序列 |
| DIEN | GRU + 兴趣演化 | O(N) | 需要建模兴趣变化 |
| BST | Transformer 自注意力 | O(N²) | 短序列高精度 |
| SIM | GSU 检索 + ESU 精确建模 | soft-search 为 $O(N)$;索引化 hard-search 可次线性,ESU 成本取决于长度 $K$ 和所选模型 | 超长序列 |
七、参考资料
- Zhou et al., Deep Interest Evolution Network for Click-Through Rate Prediction
- Zhou et al., Deep Interest Network for Click-Through Rate Prediction
- Chen et al., Behavior Sequence Transformer for E-commerce Recommendation in Alibaba
- Pi et al., Search-based User Interest Modeling with Lifelong Sequential Behavior Data for Click-Through Rate Prediction
本文为推荐算法系列之一,相关文章:召回策略、排序模型、特征交叉。
觉得有帮助?
分享给同样关注系统性能的人。