论文地址
[2007.07203] Deep Retrieval: Learning A Retrievable Structure for Large-Scale Recommendations
论文总结
《Deep Retrieval: Learning A Retrievable Structure for Large-Scale Recommendations》论文总结
-
摘要:
-
提出了Deep Retrieval(DR)算法,用于大规模推荐系统中学习可检索结构。DR直接从用户 - 项目交互数据中学习,无需依赖近似最近邻(ANN)算法中的欧几里得空间假设。DR将所有候选项目编码到离散潜在空间中,通过波束搜索检索顶级候选项目进行重排序。在两个公共数据集上的实验表明,DR在亚线性计算复杂度下能达到与暴力搜索基线几乎相同的准确性,在实际生产推荐系统中的A / B测试中显著优于调优的ANN基线。
-
引言:
-
推荐系统在商业应用中取得成功,但在大规模推荐中, scalability、efficiency和accuracy是挑战。
- 基于向量的检索方法广泛应用,但存在内积结构不足以捕捉用户 - 项目交互的复杂结构以及ANN或MIPS并非直接针对用户 - 项目交互数据优化的问题。
- 树基模型被提出解决这些问题,但存在学习大规模项目的树结构困难以及数据稀缺的问题,需要一个高效且易于学习的检索系统。
-
Deep Retrieval:
-
模型:
- 基本模型:由D层,每层K个节点组成,通过多层感知机(MLP)和K类softmax输出层节点的分布,根据用户嵌入和路径嵌入计算路径概率。
- 多路径扩展:允许每个项目被分配到多个路径,以捕捉项目的多方面信息。
- 惩罚设计:引入惩罚项防止在分配项目到不同路径时出现问题,避免所有项目分配到单一路径。
- 波束搜索推理:使用波束搜索算法根据用户嵌入检索项目,在推理阶段选择最有可能的路径和相关项目,时间复杂度为,是关于项目总数V的亚线性复杂度。
- 多任务学习和重排序:通过与重排序模型联合训练,解决DR返回的项目数量较多但难以区分的问题,最终目标函数为,重排序后获得最终的顶级候选项目。
- 使用EM算法学习:
-
目标函数关于神经网络参数连续,可通过梯度优化器优化;关于项目到路径的映射离散,使用EM风格算法优化。
- E步:固定映射,优化参数以最大化结构目标。
- M步:更新映射以最大化结构目标,使用坐标下降算法解决无闭式解的最大化问题,通过近似和简化问题,保留部分路径分数进行计算。
- 估计分数时采用流式训练,增加探索新路径的可能性。
-
在公共数据集上的实验:
-
数据集和指标:使用MovieLens - 20M和Amazon books数据集,采用精度、召回率和F - 测量作为指标,与其他推荐算法和暴力搜索进行比较。
- 实验结果:DR性能优于其他方法,接近或达到暴力搜索的性能,且推理速度更快;DR对超参数相对稳定,有较宽的超参数范围可达到近最优性能。
- 超参数敏感性:包括模型宽度K、深度D、路径数量J、波束大小B和惩罚因子,合适的K应根据语料库大小选择,D = 3在模型性能和内存使用之间是一个较好的权衡,J增加可表达项目多方面信息但训练时间复杂度也增加,B越大性能越好但推理阶段计算量越大,在一定范围内可取得最佳性能,B和应在模型性能和推理速度之间进行权衡。
-
实际生产实验:
-
DR作为候选生成组件之一,在工业推荐系统中通常包括候选生成和精细排序两个阶段,实验平台有上亿用户和项目,物品为短视频,标签表示用户是否看完视频,基线方法使用Fieldaware Factorization Machine(FFM)和HNSW,重排序模型使用逻辑回归模型。
- DR在关键指标上有显著提升,包括视频完成率、应用查看时间和次日留存率,对不太受欢迎的视频和创作者更友好,适合流式训练,构建检索结构的时间较少。
-
结论和讨论:
-
DR是一个端到端可学习的结构模型,通过EM风格算法联合学习模型参数和项目路径,在公共数据集和实际生产环境中表现良好。
- 未来研究方向包括将项目侧信息更直接地纳入模型,考虑用户和项目的负向交互以提高模型性能,以及使用更复杂的模型进行重排序。
basic probability formulation
- D layers
- K nodes
- J different paths
- the mapping π
- the path c,c=(c_1, c_2, ..., c_D)
- the user x
- the item y
- π(y) = c
- the path probability,p(c|x, θ),各层条件概率的连乘
multi-path extension
- 多路径是单路径概率的对数之和