乐趣区

关于机器学习:推荐系统系列之推荐系统概览下

在举荐零碎概览的第一讲中,咱们介绍了举荐零碎的常见概念,罕用的评估指标以及首页举荐场景的通用召回策略。本文咱们将持续介绍举荐零碎概览的其余内容,包含详情页举荐场景中的通用召回策略,排序阶段罕用的排序模型,举荐零碎的冷启动问题和举荐零碎架构,更多细节以及更具体的内容能够参考我的 Github repo。

亚马逊云科技开发者社区为开发者们提供寰球的开发技术资源。这里有技术文档、开发案例、技术专栏、培训视频、流动与比赛等。帮忙中国开发者对接世界最前沿技术,观点,和我的项目,并将中国优良开发者或技术举荐给寰球云社区。如果你还没有关注 / 珍藏,看到这里请肯定不要匆匆划过,点这里让它成为你的技术宝库!

详情页举荐场景中的通用召回策略

详情页举荐场景中的通用召回策略包含(最罕用的是前两种):基于 item 示意向量的类似度的召回;基于 item 关联规定的召回;基于 item 示意向量聚类的召回。

  • 基于 item 示意向量的类似度的召回,常见的 item 示意办法如下:物品 item 的显式画像的示意;物品 item 的整个 embedding 向量的示意;用户 - 物品交互矩阵中 item 对应列向量的示意(假如用户是行,物品是列)
  • 基于 item 关联规定的召回(罕用在电商中的购物车页面举荐或者购买页面举荐中),找出所有用户购买的所有物品数据里频繁呈现的 Item 序列,来做频繁集开掘,找到满足反对度 (即两个商品被同时购买的概率) 阈值的关联物品。关联规定剖析中的要害概念包含:反对度 (Support),它是两件商品(A∩B)在总销售笔数 (N) 中呈现的概率,即 A 与 B 同时被购买的概率;置信度 (Confidence),它是购买 A 后再购买 B 的条件概率;晋升度 (Lift),它示意先购买 A 对购买 B 的概率的晋升作用,用来判断规定是否有理论价值,即应用规定后商品在购物车中呈现的次数是否高于商品独自呈现在购物车中的频率。

在进行召回的时候,常常须要构建索引。对所有的用户进行索引是十分耗存储和费时的,所以在构建索引的时候,可能抉择月活用户来构建索引是适合的。在做实时召回的时候,用户的行为序列特色除了能够思考举荐业务相干的行为,还能够思考同一个利用的其余状态比方用户在搜寻业务中的行为。比方 YoutubeDNN 召回模型的特色,除了有用户最近观看过的 video id 序列 /video embedding,还有该用户最近搜寻过的 word 序列或者 word 的 embedding。作者提到退出搜寻业务的用户行为对整个成果晋升不错。有意思的中央是 YoutubeDNN 排序模型并没有把用户最近搜寻过的 word 序列或者 embedding 建模进来。

排序阶段罕用的排序模型

排序阶段目前支流的都是基于传统机器学习或者深度学习的模型,排序模型的钻研始终都是举荐零碎畛域的热点,国内外大厂都在这个畛域大展拳脚。以后的排序模型有如下趋势:引入行为序列特色;引入注意力机制(比方 DIN,DIEN 等);引入多任务 / 多指标(比方 ESMM,MMOE,ESMM2,PLE 等);引入多模态。上面咱们介绍几个常见的简略排序模型。

  • LR 逻辑回归模型,它是 CTR 预估排序工作晚期应用最多的模型。LR 的预测函数如下:

LR 模型的长处是简略不便,易解释。LR 模型的毛病是应用 LR 的时候,个别会把离散特色变成 one-hot 向量,这样就容易导致整个特征向量变成高维稠密向量,从而使学习难度增大。LR 实质上是线性的,如果须要建模与指标变量非线性的关系,须要人工引入特色穿插来示意,因此绝对于其余模型,须要更多的人工特色工程。目前为止,LR 在排序阶段的次要应用场景有两个中央:排序阶段的第一个模型;把 LR 模型作为排序阶段的 benchmark 或者 AB test 中的某个分桶。

  • GBDT+LR 级联模型(具体能够参考 Facebook 的论文),思路是用 GBDT 对所有的原始特色进行编码,而后把失去的编码后果送入级联的 LR 做分类。实质上是利用 GBDT 主动进行特色筛选和组合,它的一个变体是 GBDT+FM 模型,利用 FM 来替换 LR。
  • FM 因子合成机模型(参考博客),它是在深度排序模型风行之前,应用的比拟多的排序模型。FM 个别须要把 category 特色包含 ID 类特色都要变成 one-hot 向量,因而维度会很高(下图中的例子是针对 3 个 user,3 个 item 的状况)。爱奇艺应用用户的观看历史以及趣味标签代替 user id,升高了特色维度,并且因为用户趣味是能够复用的,同时也进步了对应特色的泛化能力。

FM 能够看作是 Matrix Factorization(MF,矩阵合成)的进一步拓展,除了 User ID 和 Item ID 这两类特色外,很多其它类型的特色都能够进一步引入 FM。FM 主动计算特色二阶穿插,它将所有这些特色转化为 embedding 低维向量表白,并计算任意两个特色 embedding 的内积,作为这两个特色组合的权重。

  • Wide & Deep networking Learning (WDL) 模型,它实质是上联合 LR 和 MLP,以后在业界用的比拟多。Wide 局部即 LR 体现的是记忆性能,Deep 局部即 MLP 体现的是泛化性能,二者互补能提供更好的性能。区别于 GBDT+LR/FM(须要分别独立训练 GBDT 和 LR/FM),WDL 是端到端联结训练。WDL 能不便的建模用户的行为序列作为一个独自的特色。WDL 创始了在深度排序模型中联合 wide 局部和 deep 局部联结建模的热潮。WDL 中的 wide 局部是须要做手工的穿插特色的,这个是它的毛病(WDL 模型之后,出了很多变体比方 DeepFM,Deep & Cross networking learning 等,它们的外围目标都是通过设计网络结构主动进行特色穿插)。他的网络结构如下:
  • DeepFM 模型,它是联合 FM 局部和 MLP 局部,不须要人工做特色二阶穿插组合(这个模型在国内客户中应用挺多的)。它的网络结构如下图所示:

重排阶段

重排阶段次要就是业务经营人员用各种策略/规定进行干涉。从对终端用户的举荐成果来讲,这个阶段我认为比排序阶段还要重要。重排次要从以下几个方面来进行干涉(参考博客):

举荐零碎的冷启动问题

举荐零碎冷启动问题分为如下三类:

针对冷启动问题,可能走专门的举荐链路成果更好,具体的办法参考如下(参考知乎博客):

举荐零碎架构

一个好的举荐零碎架构应该具备上面这些特点:实时响应申请;及时、精确、全面记录用户反馈(包含显示反馈和隐式反馈);能够优雅降级;疾速试验多种策略和多种模型。

线上举荐的架构的两种模式:All in one process 形式,即所有逻辑包含召回,排序,重排都在一个 Recommendation server 中解决;解耦形式,即把逻辑中的两个局部召回和排序别离用一个服务来解决,Recommendation server 别离与这两个服务交互。

工业级举荐零碎架构(参考自知乎博客):

上图中的惯例模型指的是周期离线训练并更新为线上的模型;上图中的实时模型指的是实时收集用户行为反馈,并抉择训练实例,实时抽取拼接特色,并近乎实时地比方分钟级别更新在线举荐模型。这样做的益处是用户的最新趣味可能近乎实时地体现到举荐后果里。这里的惯例模型和实时模型共存的起因可能是某路召回模型或者排序模型没有方法做增量训练或以后惯例模型和实时模型处于 A/B Test 部署中,或者惯例模型作为 fallback 抉择。

Netflix 的个性化举荐零碎架构 (2013 年) 如下图(参考自 Netflix 官网博客):

Netflix 的举荐零碎分为离线,近在线,在线三个局部。在线局部要尽可能满足低提早的 SLA 以响应实时的客户端申请。线上的召回,排序阶段的预测以及业务策略解决也属于 online 局部。离线局部是作为在线局部的一个 fallback 选项(即一种优雅降级的办法),同时它能提供一部分最终或者两头的举荐后果(比方作为一路召回或者分区混合举荐的一个分区),另外它能提供局部字段的预计算(比方用户画像和物品画像)。当然模型的离线训练也属于这个局部。近在线局部除了能够增量训练并近实时(比方分钟级别)的更新在线模型,还能够依据最新事件补充离线召回后果,以及依据用户最新浏览记录提取的趣味标签补充到用户画像中。

总结

举荐零碎系列之举荐零碎概览到此就讲完了。本文介绍了举荐零碎的常见概念,罕用评估指标,首页举荐和详情页举荐两个场景下的通用召回策略,排序阶段罕用的模型,重排阶段,冷启动问题以及举荐零碎的架构。置信大家当初曾经对举荐零碎有了更粗浅的了解,咱们接下来深入探讨举荐零碎的召回阶段。感激大家的急躁的浏览。

本篇作者

梁宇辉
亚马逊云科技机器学习产品技术专家,负责基于亚马逊云科技的机器学习计划的征询与设计,专一于机器学习的推广与利用,深度参加了很多实在客户的机器学习我的项目的构建以及优化。对于深度学习模型分布式训练,举荐零碎和计算广告等畛域具备丰盛教训。

文章起源:https://dev.amazoncloud.cn/column/article/630a21b18a101311279…

退出移动版