推荐系统进化史:从协同过滤到深度学习要几步

一、协同过滤并没有"过时",它是数据稀疏期的基线之王

不少团队打着"升级AI"的旗号,上来就直奔深度学习推荐模型(DeepFM、DIN、DIEN)。但协同过滤(Collaborative Filtering,CF)在工程上有一个至今让深度模型难以企及的优势:它完全不需要内容特征,只要一张用户行为矩阵。

对于新业务而言,深度学习推荐模型要求输入用户画像、物品属性、上下文等各类特征,而这些都依赖一套成熟的数据基础设施——特征工程、特征存储、在线特征服务。换句话说,业务上线后的头六个月,深度模型可能连训练数据都攒不齐。而协同过滤只需要一张"用户×物品"的交互矩阵(点击、购买、评分),上线当天就能开跑。

协同过滤另一个硬实力是"可解释"。"因为你相似的用户也买了它,所以推荐给你"——这个逻辑用户秒懂。而"因为一个 128 维的 Embedding 向量与你的兴趣向量余弦相似度大于 0.87"——没人能看懂。在产品早期,用户信任比推荐精度重要得多。一个推荐再准却让人摸不着头脑,用户只会觉得"这 App 在监视我"。反而朴素可解释的协同过滤更容易赢得信任。

从产品经理视角看,推荐系统升级节奏应由"数据密度"主导,而非"技术冲动"。行为数据不足 100 万条时,协同过滤就是最优解;100 万到 1000 万条之间,可引入内容特征(物品属性、用户标签)与浅层模型(FM、GBDT);跨过 1000 万条后,深度学习才真正占据优势——数据量够大,深度网络才能学出有意义的 Embedding。

二、从 CF 到深度学习的工程过渡:并行双模型 + AB 实验

从协同过滤切换到深度学习的正解不是"替换",而是"并行 + AB"。

双模型并行运行:CF 与深度模型各自独立产出推荐,再经混排层合并。老用户行为数据充足,混排权重偏向深度学习(70% 深度 + 30% CF);新用户行为少,权重偏向 CF(20% 深度 + 80% CF);零行为的冷启动用户,直接上热门推荐或基于人口统计的规则推荐。这种混合策略保证全量用户都有推荐可看——不会因为深度模型对冷启动用户效果差而让这部分人落空。

AB 实验设计要特别警惕"新颖性陷阱"。深度模型推荐的物品往往与用户历史行为高度雷同,极易形成"信息茧房"。此时 CTR 或许很好看,但用户满意度可能正在下滑。因此 AB 实验除了盯 CTR,还必须同步监控推荐多样性(类别分布、推荐物与历史行为的平均相似度)与长期留存(7 天/30 天留存率)。一个 CTR 高、留存低的模型,说明它在短期吸睛、长期伤体验。

三、Embedding:CF 通往 DL 的"通用语言"

在演进过程中,Embedding 充当了"通用语言"的角色。它既出现在深度学习的输出层(物品 Embedding、用户 Embedding),也存在于协同过滤的矩阵分解变体(SVD++、ALS)里。正因如此,CF 和 DL 可以在同一个向量空间里融合——两边算出的物品相似度,都能用 Embedding 的余弦距离统一度量。

Embedding 的工程价值还体现在"召回→排序"的两段式架构上。召回阶段从百万级物品池里筛出几百个候选,靠的是基于 Embedding 的近似最近邻检索(如 Faiss、Annoy),因为百万量级必须用高效向量索引做实时查询;排序阶段则对这几百个候选用更复杂的深度模型精确打分,这个环节能承受更高的算力开销——毕竟只需排几百个,而非几百万个。

Embedding 的维度取舍同样考验工程判断。维度越高,表达越强,但存储与计算开销同步上涨。推荐系统常用的维度区间是 64-256;超过 256 后,性能增益边际递减,计算成本却线性攀升。

四、工程冷启动:没数据时怎么让推荐先转起来

除算法层面的 CF 冷启动外,还需要一整套"工程冷启动"打法——新业务刚上线、毫无用户行为时,如何让推荐系统先给出合理结果。

四个常用手段:基于物品属性的内容推荐——用类目、标签、描述文本算相似度;基于人口统计学的推荐——看新用户的年龄、性别、注册渠道;基于热门趋势的推荐——全站热门、同城热门;基于专家标注的推荐——编辑手工维护精选列表。

这些策略的效力是递减的:内容推荐与新人画像匹配时效果最好,热门推荐最不个性化但零成本可用。上线第一周,100% 的推荐流量应走"规则推荐"(内容 + 热门);第二周起逐步引入协同过滤;等到一个月后行为数据攒到 100 万条,再上深度学习模型。

关键在于:别因为深度模型眼下没法工作,就把推荐系统搁到"数据够了再说"。先用协同过滤跑起来,在用户使用中积累行为数据,再用这些数据训练深度模型。推荐系统从来不是"先建再上线",而是"先上线、再迭代"。

五、总结

从协同过滤走向深度学习的路径可以这样概括:

  1. CF 是第一站 :上线第一天就能干活,不需要特征工程基建。可解释性强,利于早期建立用户信任,数据量 <100 万条时是最优选。
  2. 特征基建才是瓶颈 :从 CF 升到 DL 的真正关卡不是算法,而是特征工程基础设施是否就绪(特征存储、在线特征服务、特征监控)。
  3. 并行双模型 + AB:别"替换"CF,让它和 DL 并行跑、经混排层融合。冷启动用户偏 CF,老用户偏 DL。AB 中同时盯 CTR 与多样性——高 CTR 低多样性,就是信息茧房的预警信号。
  4. Embedding 是桥梁:CF 与 DL 借助共享向量空间完成融合,64-256 维是性价比最优区间。
  5. 先上线再迭代:推荐系统是"先上后建"。规则推荐覆盖第一周,CF 覆盖第一个月,DL 在数据充足后接手。每一步都踩在上一步积累的数据上往前走。
0

评论0

请先
显示验证码
没有账号?注册  忘记密码?