推荐系统算法报告
研究背景及意义
信息爆炸时代,个性化推荐技术作为解决信息过载的主动信息过滤技术,广泛应用于教育、医疗、消费等领域。该技术对于智能教育、智能商务等国家迫切需求具有重要支撑作用,并具有重要经济价值和社会价值。例如,Netflix通过推荐系统每年节省10亿美元,亚马逊超过35%的营收来自推荐引擎,TikTok凭借推荐算法拥有8亿月活跃用户。
推荐系统已发展成为连接用户与资源的纽带,其发展历程从线性、人工经验、静态模型,逐步发展到非线性、自动化、自适应的深度学习模型。推荐系统的常见数据包括点击、加入购物车、加入收藏夹、点评、购买、观看等行为。
推荐系统技术体系
推荐系统技术体系涵盖曝光、点击、购买、评分等推荐目标,以及推荐模型、损失函数、采样策略、推荐正则化、推荐数据压缩等关键技术。
推荐算法
模型介绍
推荐算法主要包括神经编码器、双塔模型和无塔模型。双塔模型通过分别学习用户和物品向量,并计算其相似度来预测用户偏好。无塔模型则直接在交互数据上学习用户和物品特征表示,并通过非线性映射预测用户偏好。
损失函数
常见的推荐损失函数包括Softmax损失、Sampled Softmax损失、BPR损失等。Softmax损失计算复杂度高,Sampled Softmax损失通过采样部分数据来降低计算复杂度,但可能引入偏差。BPR损失通过成对排序的方式来优化模型,采样分布简单但收敛速度慢。
采样策略
推荐算法中的采样主要解决从用户偏好分布中高效采样的难题。重要性重采样通过将期望估计技术转化为采样过程来加速收敛。基于量化的采样通过设计采样分布使其尽可能接近Softmax分布,包括直接近似和量化近似等方法。
线上服务
线上服务主要包括召回模型和精排模型。召回模型用于从海量物品中快速检索出候选物品,常见的召回模型包括精确结果模型、近似结果模型、可学习索引模型、可学习哈希模型和可学习量化模型。精排模型用于对候选物品进行排序,常见的精排模型压缩方法包括xLightFM和LISA,能够有效节省内存开销。
推荐算法库——RecStudio
RecStudio是第一个高度模块化的推荐算法库,支持通过搭积木的方式实现旧算法和搭建新模型。RecStudio将推荐算法分为排序模型和召回模型,并分离出打分、损失、采样、搜索等共性模块。RecStudio支持多种数据集类型,包括MF、AE、Seq、ALS等。
研究结论
- 量化采样方法在训练效率上优于静态采样方法,且采样效果接近于不采样结果。
- 可学习量化方法在召回精度和内存开销方面优于可学习哈希方法,且优于工业搜索库ANNOY。
- xLightFM和LISA算法能够有效节省精排模型的内存开销,并提高推荐准确率。
- RecStudio为推荐算法的研究和开发提供了高效的平台。
关键数据
- Netflix通过推荐系统每年节省10亿美元。
- 亚马逊超过35%的营收来自推荐引擎。
- TikTok凭借推荐算法拥有8亿月活跃用户。
- 电商场景10亿特征情形,模型大小接近1TB。
- xLightFM算法能够节省20倍的内存开销。