外观
深度学习推荐系统
一句话定义:深度学习推荐系统把"用户-物品交互"建模为高维特征下的概率预测问题——先在亿级候选里快速召回、再在千级候选里精排打分,最终把"猜你喜欢"做成实时、个性化、可衡量的工业流水线——它是深度学习落地价值最直接的场景之一(全链路涉及的数据与评估基建见数据与数据工程和深度学习评估与实验)。
一、推荐系统的整体架构
工业推荐系统是"漏斗":数据量越往下越小、模型越往下越精。
| 层 | 候选量级 | 目标 | 特点 |
|---|---|---|---|
| 召回(Recall) | 亿级 → 千级 | 快速粗筛,保召回率 | 双塔、向量检索、规则(热门/地域) |
| 粗排 | 千级 → 百级 | 中间过滤 | 轻量模型,兼顾速度与精度 |
| 精排(Ranking) | 百级 → 几十个 | 精确打分排序 | CTR/CVR 模型,特征工程重地 |
| 重排 | 几十个 → 最终列表 | 多样性、规则、商业约束 | 打散、MMR、业务策略 |
这个"召回+排序"的两段式结构(粗排是性能优化加的中间层)几乎贯穿所有大厂系统。理解全貌比追单个模型更重要——这正是DL 设计原则里"系统思维"的体现。
二、从协同过滤到矩阵分解到神经
- 协同过滤(CF):核心假设是"相似的人喜欢相似的东西"(UserCF/ItemCF)。优点是无须内容特征,缺点是稀疏与冷启动;
- 矩阵分解(MF):把"用户×物品"交互矩阵拆成两个低维隐因子矩阵 $R \approx U V^\top$,用隐向量内积预测评分。SVD 与 Funk-SVD(2006)是代表作。MF 是"表征学习"在推荐里的第一次成功(向量化的思想见表征学习与预训练);
- 神经协同过滤(NCF,2017):用 MLP 替代内积,建模"用户与物品的非线性交互"。而真正统治工业界的,是把 MF 的向量化思想与大特征工程结合的双塔/CTR 模型。
三、双塔模型:召回的标配
双塔(Two-Tower,代表 DSSM,2013)把用户与物品各编码成一个向量,用内积近似匹配度:
用户特征 → 用户塔 → u_vec ┐
├→ 内积 → 打分
物品特征 → 物品塔 → i_vec ┘关键设计:物品塔的输出可以离线全量计算并建成向量索引,线上只需算用户向量、做 ANN(近似最近邻)检索,召回几亿物品只要几毫秒。它牺牲了用户-物品的交叉特征(内积很浅),换来了可扩展性。改进方向包括用注意力聚合同一用户的多行为(Multi-Interest)、用图邻居增强表示等。
四、序列推荐:SASRec
用户的点击/购买是带顺序的序列,序列里藏着"下一步想看什么"的线索。序列推荐把"最近 N 次交互"编码成表示:
- SASRec(2018)把交互序列当句子,用自注意力建模其中任意两项的关系(比 RNN 快、比马尔可夫链深)——是Transformer 架构在推荐领域最直接的应用;
- 工业变体:用"行为序列+目标物品"做下一物品预测,常与 CTR 精排融合;
- 注意力与序列建模的细节见注意力机制。
五、CTR 精排:Wide&Deep 与 DCN
精排核心是CTR 预估:给定海量特征(用户画像、物品属性、上下文),预测点击概率。特征大多是高基数稀疏离散值(用户 ID、类目),先做 embedding 再喂网络。两大经典架构:
- Wide & Deep(2016,Google):Wide 侧保留线性交叉特征(记忆,如"男性∧足球"这类强规则),Deep 侧做 embedding+MLP(泛化)。"记忆与泛化并存"的设计哲学影响了此后几乎所有精排模型;
- DCN(Deep & Cross Network,2017):用交叉层(cross layer)显式做高阶特征交叉,捕捉"特征之间的相互作用"而不只靠 MLP 隐式学。后续 DCN-V2 把交叉层改成低秩分解,降低参数量。
精排的特征工程经验:连续特征分箱、embedding 维度与基数匹配、特征时效性——详见训练配方与调参。
六、图推荐:PinSage
物品与用户、物品与物品之间天然是图(谁看过谁、谁和谁同被收藏)。PinSage(2018,Pinterest)用图神经网络(GNN)给物品学习"邻居聚合"表示:多层邻居采样+聚合,把图结构信息编码进向量。它在工业界的突破是可扩展性——用随机游走定义近邻、离线批量训练、建索引在线服务,是图神经网络在真实大规模场景的标志性成功。
七、多目标学习:MMoE
真实业务从来不只一个目标:点击率(CTR)、转化率(CVR)、停留时长、完播率、好评率、商家满意度……相互冲突(点击多但转化差)。**MMoE(Multi-gate Mixture-of-Experts,2018)**用多个专家网络 + 门控加权组合,让各目标共享一部分能力又各有侧重。它是"多任务学习"的代表作(更普适的多任务框架见多模态模型的融合思想)。
八、冷启动与纠偏
- 冷启动:新用户/新物品没有交互数据。常见手段:内容特征兜底(类别、品牌)、探索性策略(多样性注入、EE 探索)、跨域迁移(用其他产品线行为)、元学习;
- 位置偏差(position bias):排在前面的物品天然点击率高,直接学 CTR 会放大排序位置影响——需要加位置特征并在推理时置零,或用消除偏差的样本加权方法;
- 流行度偏差:热门物品点击多,模型容易"马太效应",只推头部、饿死长尾。
九、评估与线上实验
- 离线指标:AUC(排序质量)、GAUC(按用户分组的 AUC 加权平均,更贴近真实分布)、NDCG/Recall@K(召回侧)。离线 AUC 提升 0.1% 在工业上就是大新闻,但离线提升≠线上收益;
- 线上实验:A/B 测试、灰度发布、分层实验(Overlapping Experimentation)。线上指标(时长、留存、商业化指标)才是最终裁决者;
- 反馈循环:线上数据回灌训练集(实时特征、负样本构造),但要注意数据泄漏——把"推荐出去的"误当"用户主动选择的"是最常见事故,评估方法论见评估实践。
推荐系统最大的坑
在真实系统里,数据、架构、实验平台对收益的贡献通常大于模型本身。一个 AUC 高 1% 的精排模型,往往不如一次成功的召回增强或更快的线上延迟。先把数据管道与评估闭环做对,再谈模型。
十、LLM 时代的新动向
- 大模型辅助推荐:用 LLM 生成用户画像摘要、物品语义标签、冷启动推荐理由,或直接让 LLM 做会话式推荐(见大语言模型(LLM));
- 多模态特征:封面图、标题、视频预特征是新的信息源,多模态 embedding 见"多模态模型"一文;
- RL 排序:把排序当序贯决策(Deep Q-Learning 玩"看多久"),与深度强化学习应用的回报建模相呼应。
延伸阅读
- 图神经网络——PinSage 背后的消息传递框架
- Transformer 架构——SASRec 与序列建模
- 深度学习评估与实验——AUC/GAUC 与实验设计
- 数据与数据工程——特征、埋点与数据管道
- MLOps 与模型部署——双塔向量索引的线上服务
- 多模态模型——多模态特征与多任务融合
参考资料
- Koren, Bell, Volinsky. Matrix Factorization Techniques for Recommender Systems (Computer 2009)
- He et al. Neural Collaborative Filtering (WWW 2017)
- Cheng et al. Wide & Deep Learning for Recommender Systems (DLRS 2016)
- Wang et al. Deep & Cross Network for Ad Click Predictions (ADKDD 2017)
- Kang, McAuley. Self-Attentive Sequential Recommendation (SASRec) (ICDM 2018)
- Ying et al. Graph Convolutional Neural Networks for Web-Scale Recommender Systems (PinSage) (KDD 2018)
- Ma et al. Modeling Task Relationships in Multi-task Learning with Multi-gate Mixture-of-Experts (MMoE) (KDD 2018)
- Huang et al. Learning Deep Structured Semantic Models for Web Search using Clickthrough Data (DSSM) (CIKM 2013)