推荐系统学习笔记------深度学习推荐系统技术架构
实际推荐系统中,工程师需要着重解决的问题:
一、数据和信息,即“用户信息”“物品信息”“场景信息”分别是什么?如何存储、更新和处理数据?
二、推荐系统算法和模型,即推荐系统模型如何训练、预测,以及如何达成更好的推荐效果
一、推荐系统的数据部分
客户端与服务器端实时数据处理、流处理平台准实时数据处理、大数据平台离线数据处理三种平台 实时性由强到弱递减的同时,海量数据处理能力则由弱到强。
大数据平台加工后的数据出口主要有 3 个:
(1)生成推荐系统模型所需的样本数据,用于算法模型的训练和评估。
(2)生成推荐系统模型服务(Model Serving)所需的“用户特征”,“物品特征”和一部分“场景特征”,用于推荐系统的线上推断。
(3)生成系统监控、商业智能(Business Intelligence,BI)系统所需的统计型数据.
二、推荐系统的模型部分
模型的结构一般由“召回层”、“排序层”以及“补充策略与算法层”组成。
“召回层”:一般由高效的召回规则、算法或简单的模型组成,这让推荐系统能快速从海量的候选集中召回用户可能感兴趣的物品。
“排序层”:则是利用排序模型对初筛的候选集进行精排序。
“补充策略与算法层”:也被称为“再排序层”,是在返回给用户推荐列表之前,为兼顾结果的“多样性”“流行度”“新鲜度”等指标,结合一些补充的策略和算法对推荐列表进行一定的调整,最终形成用户可见的推荐列表。
模型的训练方法根据环境的不同,可以分为“离线训练”和“在线更新”两部分。
离线训练:是可以利用全量样本和特征,使模型逼近全局最优点。
在线更新:可以准实时地“消化”新的数据样本,更快地反应新的数据变化趋势,满足模型实时性的需求。
除此之外,为了评估推荐系统模型的效果,以及模型的迭代优化,推荐系统的模型部分还包括“离线评估”和“线上 A/B 测试”等多种评估模块,用来得出线下和线上评估指标,指导下一步的模型迭代优化。
(A/B测试:帮助开发人员评估新算法对客户行为的影响。在A/B测试模块中需要设置两组或者多组用户,一组设置为对照组,采用已有的算法,另外一组或者几组为实验组,采用新版算法。)
典型的深度学习应用:
1、深度学习中 Embedding 技术在召回层的应用。作为深度学习中非常核心的 Embedding 技术,将它应用在推荐系统的召回层中,做相关物品的快速召回,已经是业界非常主流的解决方案了。
2 、不同结构的深度学习模型在排序层的应用。排序层(也称精排层)是影响推荐效果的重中之重,也是深度学习模型大展拳脚的领域。深度学习模型的灵活性高,表达能力强的特点,这让它非常适合于大数据量下的精确排序。深度学习排序模型毫无疑问是业界和学界都在不断加大投入,快速迭代的部分。
3、增强学习在模型更新、工程模型一体化方向上的应用。增强学习可以说是与深度学习密切相关的另一机器学习领域,它在推荐系统中的应用,让推荐系统可以在实时性层面更上一层楼。
参考资料:
王喆 深度学习推荐系统实战

浙公网安备 33010602011771号