M7-056M7: Retrieval, Ranking & RecSysRecommender Systems FoundationsHard
Mastery:

Recommender Systems Foundations: 解释序列推荐与用户行为建模。

📐 Mathematical Definition
p(it+1∣i1,…,it);SASRec: causal self-attention over sequencep(i_{t+1}|i_1,\dots,i_t);\qquad \text{SASRec}:\ \text{causal self-attention over sequence}
⚡ Executive Summary
Core Concept: 用用户的行为序列(点击/购买的时间顺序)建模兴趣演化;方法:GRU4Rec(RNN)、SASRec(自注意力)、BERT4Rec(双向)。

📌 Key Takeaways

  • •
    把用户行为序列作为输入(而非仅静态特征)
  • •
    模型:GRU4Rec(RNN)、SASRec(因果自注意力)、BERT4Rec(双向 + 掩码)
  • •
    优势:捕捉兴趣演化、短期意图;对时效敏感场景重要

📐 Mathematical Derivations

数学机理:<strong>序列推荐的设定</strong>——(1) <strong>输入</strong>——用户的<strong>行为序列</strong>(按时间排序的物品列表):i_1, i_2, …, i_t;(2) <strong>目标</strong>——预测下一个物品:p(i_{t+1}|i_1,…,i_t)。<strong>为什么需要</strong>——(a) <strong>兴趣演化</strong>(用户兴趣随时间变化);(b) <strong>短期意图</strong>('刚看了相机 → 可能想看镜头');(c) <strong>会话内的一致性</strong>(同一会话的行为相关);(d) <strong>静态 MF 的局限</strong>(只建模'长期偏好',忽略顺序与时序)。<strong>主要方法</strong>——(a) <strong>GRU4Rec(2016)</strong>——用 <strong>GRU(RNN)</strong> 建模序列;<strong>优点</strong>——(i) 天然处理顺序;(ii) 可流式(增量更新隐状态);<strong>缺点</strong>——(i) 长序列的梯度问题;(ii) 串行(训练慢)。(b) <strong>SASRec(2018)</strong>——用<strong>因果自注意力</strong>(Transformer decoder 风格)建模序列;<strong>优点</strong>——(i) 可并行训练;(ii) 长程依赖(注意力直接连接);(iii) 可解释(注意力权重);<strong>缺点</strong>——需更多数据。(c) <strong>BERT4Rec(2019)</strong>——用<strong>双向注意力 + 掩码</strong>(Cloze 任务:随机掩码序列中的物品、预测它);<strong>优点</strong>——双向上下文(比因果更强);<strong>缺点</strong>——(i) 不能直接做'下一个物品预测'(需用掩码预测的方式);(ii) 推理时的'泄漏'风险需处理。(d) <strong>其他</strong>——(i) <strong>序列 + 侧信息</strong>(物品类别/时间间隔);(ii) <strong>多序列</strong>(不同类型的序列:点击序列/购买序列);(iii) <strong>图神经网络</strong>(序列 + 物品关系图)。<strong>关键设计</strong>——(a) <strong>位置编码</strong>(序列顺序);(b) <strong>时间间隔</strong>('3 秒前看'与'3 天前看'权重不同);(c) <strong>序列长度</strong>(截断策略:保留最近 N 个);(d) <strong>物品嵌入共享</strong>(与'物品塔'共享嵌入)。<strong>与'双塔'的关系</strong>——(a) <strong>双塔</strong>——用户塔可输入'序列建模的输出'(如 SASRec 的隐状态)作为用户表示;(b) 这样'序列推荐'可作为<strong>召回</strong>(用 ANN 检索);(c) 这是工业界的主流做法(序列编码 → 用户向量 → ANN 召回)。<strong>评估</strong>——(a) <strong>HR@k(Hit Rate)</strong>——目标物品是否在 top-k;(b) <strong>NDCG@k</strong>;(c) <strong>MRR</strong>。<strong>实践建议</strong>——(a) <strong>有序列数据就用序列模型</strong>(优于静态 MF);(b) <strong>SASRec 是实用首选</strong>(可并行、效果好);(c) <strong>加时间间隔特征</strong>(提升效果);(d) <strong>序列编码接入双塔做召回</strong>;(e) <strong>注意序列长度与截断</strong>;(f) <strong>在线增量更新</strong>(会话内实时)。<strong>度量</strong>——(a) HR@k/NDCG@k;(b) 在线 CTR/时长;(c) 延迟。

🏭 Production Trade-offs

深度剖析与工程权衡:① <strong>'兴趣演化 + 短期意图'是序列推荐的价值</strong>——静态 MF 只建模长期偏好;面试中能指出这一点是深度理解的标志。② <strong>'SASRec 可并行、效果好'</strong>——它是实用首选(相比 GRU4Rec 的串行)。③ <strong>'BERT4Rec 的双向与泄漏问题'</strong>——双向更强但需处理'推理时的泄漏'(用掩码预测而非直接预测下一项)。④ <strong>'时间间隔特征很有效'</strong>——'3 秒前看'与'3 天前看'的权重应不同;这是提升效果的实用技巧。⑤ <strong>'序列编码接入双塔'</strong>——这是工业界把序列推荐用于<strong>召回</strong>的主流做法。⑥ <strong>面试要点</strong>——被问'序列推荐怎么做',应给出'<strong>输入行为序列 + 预测下一个(GRU4Rec/SASRec/BERT4Rec)+ 时间间隔 + 接入双塔召回</strong>'与'<strong>兴趣演化与短期意图</strong>';能指出'BERT4Rec 的泄漏问题'是深度理解的标志。
⚠️ Common Interview Pitfalls
  • ✕
    只用静态特征忽略序列(丢失短期意图)
  • ✕
    忽略时间间隔特征(3 秒前与 3 天前同权重)
🎯 Interviewer Follow-ups
  • ?
    序列推荐与'静态 MF'的差异?
  • ?
    SASRec 与 BERT4Rec 的差异?
📚

Associated Knowledge Base Guides & Mindmaps

Explore the comprehensive technical article, exam cards, and global architecture tree.

← PreviousM7-055: Recommender Systems Foundations: 解释召回-排序两阶段架构。📋Back to BankNext →M7-057: Recommender Systems Foundations: 解释推荐系统的评估指标与业务目标。