深度学习在美团点评推荐平台排序中的应用&&wide&&deep推荐系统模型学习笔记simplewxl

美团点评作为国内最大的生活服务平台,业务种类涉及食、住、行、玩、乐等领域,致力于让大家吃得更好,活得更好,有数亿用户以及丰富的用户行为。随着业务的飞速发展,美团点评的用户和商户数在快速增长。在这样的背景下,通过对推荐算法的优化,可以更好的给用户提供感兴趣的内容,帮用户更快速方便的找到所求。我们目标是根据用户的兴趣及行为,向用户推荐感兴趣的内容,打造一个高精准性、高丰富度且让用户感到欣喜的推荐系统。为了达到这个目的,我们在不停的尝试将新的算法、新的技术进引入到现有的框架中。

1.引言

随后的几年,深度学习在多个应用领域都取得了令人瞩目的进展,如语音识别、图像识别、自然语言处理等。鉴于深度学习的潜力,各大互联网公司也纷纷投入资源开展科研与运用。因为人们意识到,在大数据时代,更加复杂且强大的深度模型,能深刻揭示海量数据里所承载的复杂而丰富的信息,并对未来或未知事件做更精准的预测。

美团点评作为一直致力于站在科技前沿的互联网公司,也在深度学习方面进行了一些探索,其中在自然语言处理领域,我们将深度学习技术应用于文本分析、语义匹配、搜索引擎的排序模型等;在计算机视觉领域,我们将其应用于文字识别、图像分类、图像质量排序等。本文就是笔者所在团队,在借鉴了Google在2016年提出的Wide&DeepLearning的思想上,基于自身业务的一些特点,在大众点评推荐系统上做出的一些思考和取得的实践经验。

2.点评推荐系统介绍

针对上述问题,我们定制了一套完善的推荐系统框架,包括基于机器学习的多选品召回与排序策略,以及从海量大数据的离线计算到高并发在线服务的推荐引擎。推荐系统的策略主要分为召回和排序两个过程,召回主要负责生成推荐的候选集,排序负责将多个算法策略的结果进行个性化排序。

召回层:我们通过用户行为、场景等进行实时判断,通过多个召回策略召回不同候选集。再对召回的候选集进行融合。候选集融合和过滤层有两个功能,一是提高推荐策略的覆盖度和精度;另外还要承担一定的过滤职责,从产品、运营的角度制定一些人工规则,过滤掉不符合条件的Item。下面是一些我们常用到的召回策略:

排序层:每类召回策略都会召回一定的结果,这些结果去重后需要统一做排序。点评推荐排序的框架大致可以分为三块:

具体的推荐流程图如下:

从整体框架的角度看,当用户每次请求时,系统就会将当前请求的数据写入到日志当中,利用各种数据处理工具对原始日志进行清洗,格式化,落地到不同类型的存储系统中。在训练时,我们利用特征工程,从处理过后的数据集中选出训练、测试样本集,并借此进行线下模型的训练和预估。我们采用多种机器学习算法,并通过线下AUC、NDCG、Precision等指标来评估他们的表现。线下模型经过训练和评估后,如果在测试集有比较明显的提高,会将其上线进行线上AB测试。同时,我们也有多种维度的报表对模型进行数据上的支持。

3.深度学习在点评推荐排序系统中应用

到目前为止,点评推荐排序系统尝试了多种线性、非线性、混合模型等机器学习方法,如逻辑回归、GBDT、GBDT+LR等。通过线上实验发现,相较于线性模型,传统的非线性模型如GBDT,并不一定能在线上AB测试环节对CTR预估有比较明显的提高。而线性模型如逻辑回归,因为自身非线性表现能力比较弱,无法对真实生活中的非线性场景进行区分,会经常对历史数据中出现过的数据过度记忆。下图就是线性模型根据记忆将一些历史点击过的单子排在前面:

从图中我们可以看到,系统在非常靠前的位置推荐了一些远距离的商户,因为这些商户曾经被用户点过,其本身点击率较高,那么就很容易被系统再次推荐出来。但这种推荐并没有结合当前场景给用户推荐出一些有新颖性的Item。为了解决这个问题,就需要考虑更多、更复杂的特征,比如组合特征来替代简单的“距离”特征。怎么去定义、组合特征,这个过程成本很高,并且更多地依赖于人工经验。

而深度神经网络,可以通过低维密集的特征,学习到以前没出现过的一些Item和特征之间的关系,并且相比于线性模型大幅降低了对于特征工程的需求,从而吸引我们进行探索研究。

在实际的运用当中,我们根据Google在2016年提出的Wide&DeepLearning模型,并结合自身业务的需求与特点,将线性模型组件和深度神经网络进行融合,形成了在一个模型中实现记忆和泛化的宽深度学习框架。在接下来的章节中,将会讨论如何进行样本筛选、特征处理、深度学习算法实现等。

数据及特征,是整个机器学习中最重要的两个环节,因为其本身就决定了整个模型的上限。点评推荐由于其自身多业务(包含外卖、商户、团购、酒旅等)、多场景(用户到店、用户在家、异地请求等)的特色,导致我们的样本集相比于其他产品更多元化。我们的目标是预测用户的点击行为。有点击的为正样本,无点击的为负样本,同时,在训练时对于购买过的样本进行一定程度的加权。而且,为了防止过拟合/欠拟合,我们将正负样本的比例控制在10%。最后,我们还要对训练样本进行清洗,去除掉Noise样本(特征值近似或相同的情况下,分别对应正负两种样本)。

同时,推荐业务作为整个App首页核心模块,对于新颖性以及多样性的需求是很高的。在点评推荐系统的实现中,首先要确定应用场景的数据,美团点评的数据可以分为以下几类:

机器学习的另一个核心领域就是特征工程,包括数据预处理,特征提取,特征选择等。

特征选择开销大、特征构造成本高,在推荐业务开展的初期,我们对于这方面的感觉还不强烈。但是随着业务的发展,对点击率预估模型的要求越来越高,特征工程的巨大投入对于效果的提升已经不能满足我们需求,于是我们想寻求一种新的解决办法。

深度学习能自动对输入的低阶特征进行组合、变换,得到高阶特征的特性,也促使我们转向深度学习进行探索。深度学习“自动提取特征”的优点,在不同的领域有着不同的表现。例如对于图像处理,像素点可以作为低阶特征输入,通过卷积层自动得到的高阶特征有比较好的效果。在自然语言处理方面,有些语义并不来自数据,而是来自人们的先验知识,利用先验知识构造的特征是很有帮助的。

因此,我们希望借助于深度学习来节约特征工程中的巨大投入,更多地让点击率预估模型和各辅助模型自动完成特征构造和特征选择的工作,并始终和业务目标保持一致。下面是一些我们在深度学习中用到的特征处理方式:

对于特征的处理,我们沿用了目前业内通用的办法,比如归一化、标准化、离散化等。但值得一提的是,我们将很多组合特征引入到模型训练中。因为不同特征之间的组合是非常有效的,并有很好的可解释性,比如我们将"商户是否在用户常驻地"、"用户是否在常驻地"以及"商户与用户当前距离"进行组合,再将数据进行离散化,通过组合特征,我们可以很好的抓住离散特征中的内在联系,为线性模型增加更多的非线性表述。组合特征的定义为:

归一化是依照特征矩阵的行处理数据,其目的在于样本向量在点乘运算或其他核函数计算相似性时,拥有统一的标准,也就是说都转化为“单位向量”。在实际工程中,我们运用了两种归一化方法:

Min-Max:

Min是这个特征的最小值,Max是这个特征的最大值。

CumulativeDistributionFunction(CDF):CDF也称为累积分布函数,数学意义是表示随机变量小于或等于其某一个取值x的概率。其公式为:

在我们线下实验中,连续特征在经过CDF的处理后,相比于Min-Max,CDF的线下AUC提高不足0.1%。我们猜想是因为有些连续特征并不满足在(0,1)上均匀分布的随机函数,CDF在这种情况下,不如Min-Max来的直观有效,所以我们在线上采用了Min-Max方法。

为了让模型更快的聚合,并且赋予网络更好的表现形式,我们对原始的每一个连续特征设置了它的super-liner和sub-liner,即对于每个特征x,衍生出2个子特征:

实验结果表示,通过对每一个连续变量引入2个子特征,会提高线下AUC的表现,但考虑到线上计算量的问题,并没有在线上实验中添加这2个子特征。

在深度学习中,选择合适的优化器不仅会加速整个神经网络训练过程,并且会避免在训练的过程中困到鞍点。文中会结合自己的使用情况,对使用过的优化器提出一些自己的理解。

SGD是一种常见的优化方法,即每次迭代计算Mini-Batch的梯度,然后对参数进行更新。其公式为:

缺点是对于损失方程有比较严重的振荡,并且容易收敛到局部最小值。

为了克服SGD振荡比较严重的问题,Momentum将物理中的动量概念引入到SGD当中,通过积累之前的动量来替代梯度。即:

相较于SGD,Momentum就相当于在从山坡上不停的向下走,当没有阻力的话,它的动量会越来越大,但是如果遇到了阻力,速度就会变小。也就是说,在训练的时候,在梯度方向不变的维度上,训练速度变快,梯度方向有所改变的维度上,更新速度变慢,这样就可以加快收敛并减小振荡。

相较于SGD,Adagrad相当于对学习率多加了一个约束,即:

Adagrad的优点是,在训练初期,由于gt较小,所以约束项能够加速训练。而在后期,随着gt的变大,会导致分母不断变大,最终训练提前结束。

Adam是一个结合了Momentum与Adagrad的产物,它既考虑到了利用动量项来加速训练过程,又考虑到对于学习率的约束。利用梯度的一阶矩估计和二阶矩估计动态调整每个参数的学习率。Adam的优点主要在于经过偏置校正后,每一次迭代学习率都有个确定范围,使得参数比较平稳。其公式为:

其中:

小结

深度学习同样有许多损失函数可供选择,如平方差函数(MeanSquaredError),绝对平方差函数(MeanAbsoluteError),交叉熵函数(CrossEntropy)等。而在理论与实践中,我们发现CrossEntropy相比于在线性模型中表现比较好的平方差函数有着比较明显的优势。其主要原因是在深度学习通过反向传递更新W和b的同时,激活函数Sigmoid的导数在取大部分值时会落入左、右两个饱和区间,造成参数的更新非常缓慢。具体的推导公式如下:

一般的MSE被定义为:

其中y是我们期望的输出,a为神经元的实际输出a=σ(Wx+b)。由于深度学习反向传递的机制,权值W与偏移量b的修正公式被定义为:

因为Sigmoid函数的性质,导致σ′(z)在z取大部分值时会造成饱和现象。

CrossEntropy的公式为:

如果有多个样本,则整个样本集的平均交叉熵为:

其中n表示样本编号,i表示类别编号。如果用于Logistic分类,则上式可以简化成:

与平方损失函数相比,交叉熵函数有个非常好的特质:

可以看到,由于没有了σ′这一项,这样一来在更新w和b就不会受到饱和性的影响。当误差大的时候,权重更新就快,当误差小的时候,权重的更新就慢。

在离线阶段,我们采用基于Theano、Tensorflow的Keras作为模型引擎。在训练时,我们分别对样本数据进行清洗和提权。在特征方面,对于连续特征,我们用Min-Max方法做归一化。在交叉特征方面,我们结合业务需求,提炼出多个在业务场景意义比较重大的交叉特征。在模型方面我们用Adam做为优化器,用CrossEntropy做为损失函数。在训练期间,与Wide&DeepLearning论文中不同之处在于,我们将组合特征作为输入层分别输入到对应的Deep组件和Wide组件中。然后在Deep部分将全部输入数据送到3个ReLU层,在最后通过Sigmoid层进行打分。我们的Wide&Deep模型在超过7000万个训练数据中进行了训练,并用超过3000万的测试数据进行线下模型预估。我们的Batch-Size设为50000,Epoch设为20。

4.深度学习线下/线上效果

在实验阶段,分别将深度学习、宽深度学习以及逻辑回归做了一系列的对比,将表现比较好的宽深度模型放在线上与原本的Base模型进行AB实验。从结果上来看,宽深度学习模型在线下/线上都有比较好的效果。具体结论如下:

随着隐藏层宽度的增加,线下训练的效果也会随着逐步的提升。但考虑到线上实时预测的性能问题,我们目前采用256->128->64的框架结构。

下图是包含了组合特征的宽深度模型与Base模型的线上实验效果对比图:

从线上效果来看,宽深度学习模型一定程度上解决了历史点击过的团单在远距离会被召回的问题。同时,宽深度模型也会根据当前的场景推荐一些有新颖性的Item。

5.总结

深度学习和逻辑回归的融合使得我们可以兼得二者的优点,也为进一步的点击率预估模型设计和优化打下了坚实的基础。

6.参考文献

7.作者简介

潘晖,美团点评高级算法工程师。2015年博士毕业后加入微软,主要从事自然语言处理的研发。2016年12月加入美团点评,现在负责大众点评的排序业务,致力于用大数据和机器学习技术解决业务问题,提升用户体验。

搜索推荐技术中心:负责点评侧基础检索框架及通用搜索推荐平台的建设;通过大数据及人工智能技术,优化搜索列表的端到端用户体验,提升推荐展位的精准性及新颖性;构建智能技术平台,支持点评侧业务的智能化需求。我们的使命是用搜索推荐技术有效连接人,商家及服务,帮助用户精准高效地发现信息内容,优化用户体验,扩展用户需求,推动业务发展。

wide&&deep模型

首先说一下WideModel,就是上图中左边的那一部分,是一个简单的逻辑回归模型。这一部分比较简单,不多有一个新的思路就是交叉特征:

论文中一个比较形象的例子

Forbinaryfeatures,across-producttransformation(e.g.,AND(gender=female,language=en)”)is1ifandonlyiftheconstituentfeatures(\gender=female”and\language=en”)areall1,and0otherwise.

对应的开源代码如下:

wide_columns=[gender,native_country,education,occupation,workclass,relationship,age_buckets,tf.contrib.layers.crossed_column([education,occupation],hash_bucket_size=int(1e4)),tf.contrib.layers.crossed_column([native_country,occupation],hash_bucket_size=int(1e4)),tf.contrib.layers.crossed_column([age_buckets,education,occupation],hash_bucket_size=int(1e6))]

公式表示如下,其中l是层数,W是系数,b是偏置,f是激活函数

deep_columns=[tf.contrib.layers.embedding_column(workclass,dimension=8),tf.contrib.layers.embedding_column(education,dimension=8),tf.contrib.layers.embedding_column(gender,dimension=8),tf.contrib.layers.embedding_column(relationship,dimension=8),tf.contrib.layers.embedding_column(native_country,dimension=8),tf.contrib.layers.embedding_column(occupation,dimension=8),age,education_num,capital_gain,capital_loss,hours_per_week]

THE END
1.十大学习网站排名网上学习平台哪个好在线网络学习网站推荐近年来,网络学习环境在网络接入性、学习支持服务方面表现优异,整体发展水平得到质的提升,已成为流行趋势。本文中maigoo网编辑为广大学子盘点了中国大学MOOC、Coursera、慕课网、网易公开课、EdX、学堂在线、TED、大学资源网、腾讯课堂等较受欢迎的网络学习平台,一起了解下这些学习网站的优势! 排排榜 关注榜 点赞榜 https://www.maigoo.com/top/420080.html
2.在线学习平台推荐传统的购物需要在商店里完成;网上购物也需要依靠电商平台来完成;传统的教育需要在学校/教室中完成,在线教学也需要依靠教学平台来实现,那么在线教育平台软件有哪些?哪一个比较适合呢? 我比较推荐作业帮~ 这个软件有许多优点 它的功能很多 拍照搜题、语文作文、单词查询、计算机等功能它都包含,也可以观看直播课程 https://www.meipian.cn/4fvbd7w7
3.有哪些好用的线上学习平台在线学习软件大全推荐理由 《超星学习通》是专门为大学生设计的软件,大学生可以在该软件上阅读和借阅图书馆的书籍,还可以学习自己的专业课知识,非常的方便便捷如果你是大学生,那么这款软件对你非常的有用。平台有丰富的资源量,便捷的获取学习资料方式,还可以零距离感受到名家大师的风采,在家看直播。有了学习通,就不会有书到用时方https://www.kalvin.cn/gl/24937.html
4.学习贯彻习近平新时代中国特色社会主义思想习近平新时代中国特色社会主义思想学习平台,收录党的十八大以来习近平总书记的重要活动和重要讲话,提供音视频、图片、文字等形式的学习课件。https://www.12371.cn/special/xxzd/
5.推荐10个学习平台,给自己设定一个学习计划!一直以来,总想给自己设定一个学习计划,但是苦于没有找到好的学习平台,计划落空,今天小编给你总结了10大学习平台,各种系统化的网络学习课程,只要你能坚持,有执行力,一定能有所收获! 1.腾讯课堂 腾讯课堂是国内最大的在线教育平台之一,课程涵盖了各个行业,支持教师申请资格,上线自己的课程! https://www.douban.com/note/671363003/
6.那些被疯狂推荐的在线学习平台,到底质量几何除了上述之外,在线学习平台还有很多,比如语言教育类的像91外教、51talk;K12阶段教育的学而思网校、一起作业;公务员考试的华图网校等。本文仅对自己常用的以及经常被推荐的一些在线学习平台进行了简单评价,希望对大家在选择时有一定帮助。 适合自己的才是最好的,体验之后才能更好地评价 https://www.jianshu.com/p/24858c6f2766
7.学习平台App排行榜华为手机学习平台app推荐华为手机学习平台App排行榜由点点数据提供。本次排行榜包含了:课本通小学语文学习平台、中医宝典在线学习平台、Udemy优领思学习平台、欣旋学习平台、主管护师学习平台、护士执业资格学习平台、医库、微淼从根源上解决财务问题、建筑英才网、学习强国等十大学习平台App排行榜 https://www.diandian.com/phb/1485/
8.推荐!这些值得你拥有的学习平台,帮你全面提升自我新一代互联网自主学习平台,可为用户提供MOOC,混合式学习及SPOC等学习方式。涵盖了经济、法律、计算机、新媒体、心理等多个专业的课程,你可以在里面找到211/985的大学精品课程。 11.网易公开课http://open.163.com 汇集清华、北大、哈佛、耶鲁等世界名校共上千门课程,覆盖科学、经济、人文、哲学等22个领域,在这里你https://lib.zqmc.edu.cn/info/5565/3209.htm
9.初中网络学习平台哪个好网络学习平台推荐初中网络学习平台推荐:猿辅导、新东方在线初中网络课堂、学大教育、简单学习网、学而思网校、精锐教育、阿卡索外教网、101网校、中小学教育网、高途课堂。 1初中网络学习平台哪个好 初中网络学习平台:高途课堂 高途课堂是依据国家政策要求,由上市教育公司高途整合成立的非盈利学科机构,并已获得教育主管部门的审批。该机构主要http://m.chusan.com/zhongkao/361294.html
10.十大云课堂排行榜在线学习平台有哪些云课堂十大品牌,MOOC平台-网络学习平台推荐,网上学习网站有哪些(2024) 入选《 2024年CNPP云课堂行业十大品牌榜中榜名录》的有:中国大学MOOC、学堂在线、学银在线、智慧职教、网易云课堂、智慧树网、哔哩哔哩、优学院、华文慕课、国图公开课等,该名录是以大数据算法、人工智能、客观真实公正统计计算为基础,通过广泛收集https://www.cnpp.cn/china/list_9354.html
11.自主研发不断总结经验,美团搜索推荐机器学习平台内容来源:2018 年 5 月 26 日,美团点评技术专家杨一帆在“饿了么技术沙龙·第25弹【搜索推荐】”进行《Why WAI: 美团点评搜索推荐机器学习平台》演讲分享。IT 大咖说(微信id:itdakashuo)作为独家视频合作方,经主办方和讲者审阅授权发布。 阅读字数:3308 | 9分钟阅读 https://cloud.tencent.com/developer/article/1357309
12.智慧职教学习平台智慧职教以知识点/技能点为基本颗粒度,以整个专业的知识/技能树为整体架构,通过系列元数据对素材实现系统化管理,从而使得每个素材都能被便捷地查询和调用。https://www.icve.com.cn/
13.征稿啦!快来“学习强国”学习平台推荐你的家乡→社会新闻1.“学习强国”上海学习平台将刊登本地读者优秀作品,并向总平台推荐优质稿件。 2.在“学习强国”APP端和PC端“强国征文”频道择优刊登读者来稿,部分作品在“推荐”频道强国征文专题展示。 3.征文结束后,“学习强国”组织专家团队对上线作品进行评选,评选出优秀作品,颁发获奖证书。 https://www.jiading.gov.cn/xinwen/jddt1/shxw/content_878627
14.2020年度4个优秀在线学习平台如果你想在线学习一项新技能,可能很难决定哪种平台是最适合你的,今天就和大家推荐我使用过的最佳的4个国外学习网站,并且告诉你为什么这些平台值得你尝试:。 如果你想在线学习一项新技能,可能很难决定哪种平台是最适合你的,今天就和大家推荐我使用过的最佳的4个国外学习网站,并且告诉你为什么这些平台值得你尝试: https://www.51cto.com/article/634193.html
15.免费网课平台推荐(7个免费学习网站)7个免费学习的网站,而且课程质量也还不错,涵盖了中小学的所有基础知识,也不乏各种名师讲课。 在这些免费教育资源的帮助下,不再害怕孩子们在暑假放弃学业! 1、国图公开课 平台简介:依托国家图书馆收藏的大量资源,设立专题课程和阅读推荐专栏,采用线上线下互动模式,推广各种形式的学习资源,为公众创建严肃、通俗、负责任https://www.xiaoyou3.com/extend/319.html
16.打造高效企业管理!推荐4大在线学习平台零代码知识中心思客会为公司提供一个以学习为导向的企业级在线学习平台。该平台支持企业管理人员自主设计带有多种学习形式的课程(比如直播、在线课程、图书、练习、考试、问答等),并且开发了一套个性化推荐算法,为用户提供了个性化的、基于数据的学习路径。思客会还提供了完善的课程管理功能,包括课程发布、收费管理等,确保企业学习与https://www.jiandaoyun.com/fe/dzgxqygltj/
17.通元软件与西南政法大学联手打造终身教育在线学习平台!摘要:西南政法大学终身教育在线学习平台的成功建设,是通元软件在教育信息传播领域的一次重要尝试。平台的学习情况记录功能、远程在线培训功能,以及课程的智能化推荐与选择功能,能够有效提升学员的在线学习效率,优化学员的在线学习体验。 信息化时代,教育资源的管理方式和传播形式正在不断优化升级,作为法学、政治学和公共管理https://www.gpowersoft.com/gpower/news/b176d52d8e9a4cecb2f8c506f2bb1204.htm
18.十大学习网站排名网上学习平台哪个好在线网络学习网站推荐核心提示:近年来,网络学习环境在网络接入性、学习支持服务方面表现优异,整体发展水平得到质的提升,已成为流行趋势。本文中小编为广大学子盘点了中国大学MOOC、Coursera、慕课网、网易公开课、EdX、学堂在线、TED、大学资源网、腾讯课堂等较受欢迎的网络学习平台,一起了解下这些学习网站的优势! http://www.zhuoyunkang.com/news/show-38531.html