1.《Wide & Deep Learning for Recommender Systems》

概要

在本文中,提出了广泛和深度学习———联合训练的广泛线性模型和深度神将网络———来结合记忆和泛化的好处。

一、介绍

推荐系统可以看作是一个搜索排序系统,其中输入查询是一组用户和上下文信息,输出是一个项目排序列表。给定一个查询,推荐任务是在数据库中找到相关的项,然后根据特定的目标对这些项进行排序。记忆可以松散的定义为学习项目或特征的频繁共现,并利用历史数据中可用的相关性,基于记忆的推荐通常更局部,并且与用户已经执行过的行动直接相关。与记忆相比,泛化倾向于提高推荐项目的多样性。对于工业环境中大规模在线推荐和排名系统,广义线性模型如逻辑回归由于其简单、可扩展和可解释而被广泛应用。

设置如下组合特征:AND(user installedapp=netflix, impression app=pandora) 代表用户已经安装了netflix这款应用,而且曾在应用商店看到过pandora这款应用,以最终是否安装pandora为数据标签(label),我们可以统计出netflix&pandora这个特征和安装pandora这个标签之间的共现概率,如果概率很大,那模型一发现这个特征,就推荐pandora这个应用。

基于嵌入的模型,如因式分解机,或深度神经网络,通过学习每个查询项目和特征的低维密集嵌入嵌入向量,可以推广到以前看不见的查询项目特征对,从而减少特征工程负担。基于嵌入的模型,如因式分解机,或深度神经网络,通过学习每个查询项目和特征的低维密集嵌入嵌入向量,可以推广到以前看不见的查询项目特征对,从而减少特征工程负担。项目对的非零预测,因此可能会过度泛化并作出不那么相关的建议。另一方面,具有跨积特征变换的线性模型可以用更少的参数记住这些“异常参数”

用于联合训练具有嵌入的前馈神经网络和具有稀疏输入的通用推荐系统的特征变换的线性模型的广度和深度学习框架。
在这里插入图片描述

二、推荐系统概述

在接收到查询后的第一步是检索。检索系统返回一个使各种信号与查询最匹配的项目的短列表(通常是机器学习与人类定义的规则的组合)。在减少候选项目后,排名系统根据分数对所有项目进行排名。分数通常是P(y|x)

三、Wide & Deep Learning

1.Wide

宽分量是一个以y=wT+b形式的广义线性模型。y是预测,x = [x1,x2,…,xd]是d维特征向量,w = [w1,w2,…,wd]是模型参数,b是偏差。特征集包括原始的输入特征和转换后的特征.
在这里插入图片描述

2.Deep

深度组件是一个前馈神经网络。对于分类特征,原始输入是特征字符串。这些稀疏的、高维的分类特征首先被转换为一个低维的、密集的实值向量,通常被称为嵌入向量。将嵌入向量随机初始化,然后训练各值,使其最小化最终损失函数。这些低维密度的嵌入向量被前馈神经网络的隐藏层。

3.Wide & Deep模型的联合训练

宽分量和深分量使用其输出对数比的加权和作为预测值进行组合,然后将其反馈到一个共同的逻辑损失函数,用于联合训练。联合训练和集成之间是有区别的。在一个集成中,单个模型在不知情的情况下被单独训练,它们的预测只在推理时进行合并,而不是在训练时进行合并。联合训练同时优化所有参数,同时考虑宽和深部分的权重。对模型大小也有影响:对于一个集成,由于训练是不相交的,每个单独的模型大小通常需要更大,以实现集成的合理精度工作。相比之下,对于联合训练,宽部分只需要用少量的跨产品特征转换来补充深度部分的弱点,而不是一个全尺寸的宽模型。

宽和深度模型的联合训练是通过从输出到模型的宽和深度部分反向传播梯度,同时使用最小批量随机优化来完成的。在实验中,我们使用了以L1正则化的跟随正则化先导FTRL算法作为模型宽部分的优化器以及深部分的AdaRrad
在这里插入图片描述

四、系统实现

1.数据生成

在此阶段,使用一段时间内的用户和应用印象数据来生成训练数据。每个示例对应一个印象。标签为应用程序获取:如果安装了令人印象深刻的应用程序,则为1,否则为0。词汇表是将分类特征字符串映射到整数id的表,也将在此阶段生成。系统将计算出现超过最小次数的所有字符串特性的ID空间。连续实值特征的特征值x通过映射到其累积分布函数P(X≤x)来归一化为[0,1],并将其分为nq分位数。对于第i个分位数中的值,标准化值为niq−−11。

2.模型训练

在这里插入图片描述
我们在实验中使用的模型结构如图4所示。在训练过程中,我们的输入层接收训练数据和词汇表,并生成稀疏和密集的特征以及标签。广域组件包括用户安装应用和印象应用的跨产品转换。对于模型的深层部分,为每个类别特征学习32维嵌入向量。我们将所有嵌入与稠密特征连接在一起,得到大约1200维的稠密向量。然后,将级联向量馈入3个ReLU层,最后馈入逻辑输出单元。

为了解决新的数据到达时模型需要重新训练的问题,我们实现一个暖启动系统,该系统从之前模型初始化了一个包含嵌入和线性模型权重的新模型。

在将模型加载到模型服务器之前,将对模型进行一次模拟运行,以确保它不会在服务实时流量时造成问题。我们在经验上验证了模型质量与之前的模型,作为一个健全性检查。

3.模型服务

为了以10 ms的顺序服务每个请求,我们通过并行运行较小的批,使用多线程并行性来优化性能,而不是在单个批推理步骤中对所有候选应用程序进行评分。

五、实验结果

对于对照组,用户被随机选择,并得到由之前版本的排名模型生成的建议,这是一个高度优化的广泛的逻辑回归模型,具有丰富的交叉积特征转换。

对于实验组,1%的用户得到了由Wide & Deep模型生成的建议,并使用相同的特征集进行训练。如表1所示,与对照组相比,Wide & Deep模型将应用商店主登陆页面上的应用获取率提高了+3.9%(具有统计学意义)。结果还与另一个1%的组仅使用具有相同特征和神经网络结构的模型的深度部分进行比较,深度模式在仅深度模型之上的+增益为1%(具有统计学意义)。
在这里插入图片描述
除了在线实验外,我们还离线展示了保持集的接收机算子特征下面积曲线(AUC)。虽然Wide & Deep的离线AUC略高,但其对在线流量的影响更为显著。一个可能的原因是,离线数据集中的印象和标签是固定的,而在线系统可以通过混合泛化和记忆来产生新的探索性建议,并从新用户的反应中学习。
在这里插入图片描述

高吞吐量和低延迟的服务是一个挑战,面临的高流量的商业移动应用商店。在流量峰值时,我们的推荐服务器每秒得分超过1000万个应用程序。使用单线程,在单批中对所有候选人进行评分需要31 ms。我们实现了多线程,并将每个批处理分割成更小的大小,这显著地将客户端延迟减少到14个ms(包括服务开销),如表2所示。

总结

记忆和泛化对于推荐系统都很重要。宽线性模型可以通过跨积特征变换有效地记忆稀疏特征交互,而深度神经网络可以通过低维嵌入推广到以前未见过的特征交互。我们提出了广泛和深度学习框架,以结合这两种类型的模型的优势。我们在大型商业应用商店谷歌Play的推荐系统上开发并评估了该框架。在线实验结果显示,与宽和深度模型相比,宽和深度模型在应用获取方面取得了显著改进。

论文链接:Wide & Deep Learning for Recommender Systems

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值