计算广告与推荐系统有哪些区别?使用的主流模型有哪些?

0 / 42

王喆、付鹏 DataFunTalk 1周前

image

image

文章作者:王喆、付鹏

内容来源:知乎问答

导读:"计算广告与推荐系统有哪些区别?"、"目前各公司广告算法使用的主流模型有哪些?",又到了小编逛知乎的日子^_^,今天为大家带来2条来自知乎大佬王喆和付鹏老师的解答,希望对从事和即将从事计算广告或推荐领域的小伙伴有所帮助~01计算广告与推荐系统有哪些区别?来自王喆老师的解答:image

这是个好问题,但两年前看到这个问题的时候还不太敢回答,总觉得对于两块业务理解的还不够,今天尝试着答一下。

我工作后最开始四年是做计算广告算法和系统的,最近两年逐渐转到推荐系统领域。感觉这两个领域的联系大于区别,区别的根本在于两个领域尝试解决的问题是不同的。

  • 对于计算广告来说,本质上要处理的是三方利益的协调问题,这三方分别是广告主、用户和媒体。

  • 对于推荐系统来说,本质上要处理的是用户体验的问题。

正是因为要处理问题的不同,导致了两个领域思考方式的不同。比如同样是构建一个CTR模型:

  • 对于计算广告系统来说,站的角度更多的是用这个CTR模型产生更多的收益,那么在使用的时候就更偏向于将CTR高的广告全都排在前面。

  • 而对于推荐系统来说,在使用CTR模型的时候,就不适宜全部按照CTR来进行内容排序。而是要兼顾内容的多样性,新颖性,和流行度。因为推荐系统的核心是用户体验,如果涸泽而渔的全部用根据用户行为历史生成的推荐内容,很容易让用户疲倦、透支用户的兴趣。那么为了照顾用户的整体体验并挖掘用户的长期兴趣,就要考虑用户在不同体验阶段的感受和行为特点。

再回到计算广告,由于广告系统处理的是一个三方利益的协调问题,那么为了"协调",就诞生了很多相关且必要的技术。比如,"协调"的本质其实一种博弈方式,广告主和媒体关于价格的博弈,广告主之间的价格博弈,正是这种博弈的存在,使得计算广告一定要去关注基于博弈论的bidding策略。而且为了"协调"广告主、媒体的相关操作,诞生了支持性的相应模块,去处理广告排期、定向、预算控制等模块,这里面当然涉及大量算法和模型,比如处理广告排期需要最优化理论的支持,定向需要各类预测模型,预算控制需要控制论的一些知识等等。这些都是推荐系统里不存在的。

如果列举出两个领域重点要考虑的技术问题,大家也能体会到二者的不同 ( 排名大致分先后 ):

  • 计算广告:CTR模型,Bidding策略,yield optimization ( 也许可以叫排期优化 ),智能预算控制

  • 推荐系统:CTR模型及其他推荐模型,探索与利用 ( exploitation & exploration ),冷启动问题,数据有偏问题

当然,具体的技术问题这里肯定会有遗漏,但大家肯定也能感觉出来计算广告问题涉及的方向更广、需要各模块相互配合,协调;而推荐系统则涉及的问题更细,需要把所有技术都糅合在最终的推荐列表中,但要同时照顾多方面的体验。

最后谈一下作为"计算广告算法工程师"和"推荐系统算法工程师"的区别。

我的答案是没有区别,都是那种领域知识学到死,业界更新快到飞,时刻游走在被淘汰和马上被淘汰边缘的职业体验。。。共勉。

02目前各公司广告算法使用的主流模型有哪些?

听说由于涉及钱,大多数还都是简单用个LR,然后堆特征,真是这样吗?

来自付鹏老师的解答:

image

不是这样的。

这个说法从有NN开始一直说到今天,起初,它还有一定的道理,牺牲可解释性和稳定性带来的一点性能提升的trade-off是否值得在早些年是值得探讨的。然而,慢慢的,时代变了,NN的性能显著高于LR,这时再没有人管可解释性了,毕竟,能赚钱的model才是好model。

下面介绍一些模型,选取标准是:

  • 由工业界提出的实战模型

  • 一经发表即引发大量关注的”明星模型“

  • 经过工业界考验,大家普遍认可的

文中提到的模型基本都是召回和排序的模型,计算广告领域的其他业务,如定价、匹配、流量分发等等,用到的技术会有区别。大体上来讲,神经网络大体有如下几个山头(并不严格正交):

DNN / Wide and Deep / 加入Attention 的 model / Multi-task 的 model

具体地,现在主流使用的模型和方法包括(部分久经考验、不需介绍的经典模型省略介绍):

1. 传统机器学习模型

  • LR:机器学习经典模型,详略。

  • FM、FFM:机器学习经典模型,详略。

  • GBDT+LR[1]:GBDT+LR是小公司、少数据、和对DNN有畏惧心理的公司和业务中应用最广泛的模型。它的非线性不需要人手工构造,由树模型学到,降低了特征工程的复杂度。模型结构简洁,加上近几年树模型开发充分,拥有xgboost和lightgbm这样训练速度和精度都惊人的工具,所以训练成本极低,是很强的baseline。

2. 深度学习模型

① 纯DNN模型:

DNN在CNN制霸ImageNet后,就不断有NN在排序模型的尝试,在Google放出自己youtube的排序模型是纯粹的DNN[2]之前,DNN就已经成为主流了,这篇工作放出来后,就更少有人和神经网络过不去了。

image

Youtube DNN(2016),简单的vector pooling加上手工特征工程concat直接送入DNN,是大多数工业界早期尝试DNN的通用做法

② 双塔系列模型:

DSSM及变种[3][4]:DSSM模型是微软发表的一篇工作,本用于语义匹配,后被移植至排序模型--这个intuition是很自然的,毕竟语义匹配本质上也是一类排序问题。双塔模型的最大特点就是user和item是独立的两个子网络,对工业界十分友好,两个塔可以各自缓存,线上infer只需要取出缓存做有限的运算即可。

image

朴素的DSSM双塔模型(2015),每个塔互相独立,可各自缓存

③ Wide and Deep 系列模型[5]:

Wide and Deep及后续的模型家族是现在业界应用最广泛的深度学习模型,其主要原因在于模型结构就融合了传统机器学习模型和DNN,从而能够既有LR的记忆性,又有DNN的泛化性,加上模型复杂度加强,其上限是远高于LR的。对于有DNN PTSD的人来说,有一个LR在模型中,也显得可靠许多。

  • Wide and Deep[5]:原始WDL,Deep部分是DNN,Wide部分是LR,WDL的开山之作,这篇文章和工作给后面的研究者非常大的启发,即机器学习和深度学习是可以在一个模型中共存,从而可以同时吸收两者的优势,后面的诸多工作灵感和原形皆出于此。

image

Wide and Deep(2016),清晰明了的模型图。有一说一,Google的网络结构图都画得很漂亮

  • DeepFM[6]:源自Wide and Deep,Wide端改成FM。以此文引申出去,在wide和deep两端各可做任意的修改,以达到增加模型拟合能力和自动特征工程能力的目的。

image

④ Deep Interest Network(DIN)[7]:

阿里妈妈的工作,是Attention风行以来较热门的一篇,简单地说,把DNN中的sum pooling/mean pooling的工作换成了自己的Attention实现。

image

⑤ 其他:

下面罗列一些思想值得借鉴,但因种种原因尚未广泛被采纳的模型:

  • Deep Cross Network(DCN)[8]:我很喜欢这篇文章的创意,源自Wide and Deep,deep端引入了类似resnet的残差结构,以及无限的特征交叉,带来了理论上任意高阶的特征交叉能力,但工作本身算不上经典,故不放图了,有兴趣可去参考文献自寻。

  • Deep Interest Evolution Network(DIEN)[9]:阿里妈妈在DIN上的后续工作把DIN中的attention + sum pooling部分换成了sequential model + attention,然而一个问题是,RNN是不能并行的,且参数量巨大的,所以截止2019年底,几乎所有的RNN based paper都沦为paper work,并没有大规模上线的能力,故不放图。

  • BST[10]:阿里手淘工作,Transformer 引入 recsys,详略。

  • 强化学习模型:强化学习是不好评价的,在强化学习的一些工作中,我们无法明确,究竟是模型起了作用,还是精心构造的reward起了作用,更多的工作甚至无法说服自己满足MDP的基本假设。

  • Youtube的强化学习(2019)[11]:号称youtube近年最大提升,使用强化学习,网络结构十分简单。在bilibili上有youtube相关人员的分享,可以参考:https://www.bilibili.com/video/av47720781/,但是建议思考一下为什么Youtube的交互场景能够使用强化学习,自己的场景是否能够使用强化学习?

以上模型和工作,如果让我只挑选最经典的话,我选择:

  • GBDT+LR

  • DSSM

  • Wide and Deep

对工业界而言,这三个模型依次适用于从小到大的业务规模。

小编:小伙伴们,你们的公司目前采用的什么模型呢?有没有一些实践的经验分享呢?欢迎大家在留言区进行讨论哦!

03

原文及参考链接

原文链接:

https://www.zhihu.com/question/19662693/answer/757347092

https://www.zhihu.com/question/352306163/answer/902698330

参考资料:

1.Practical Lessons from Predicting Clicks on Ads at Facebook

https://quinonero.net/Publications/predicting-clicks-facebook.pdf

2.Deep Neural Networks for YouTube Recommendations

https://static.googleusercontent.com/media/research.google.com/zh-CN//pubs/archive/45530.pdf

3.Learning Deep Structured Semantic Models for Web Search using Clickthrough Data

https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/cikm2013_DSSM_fullversion.pdf

4.A Multi-View Deep Learning Approach for Cross Domain User Modeling in Recommendation Systems

https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/frp1159-songA.pdf

5.Wide & Deep Learning for Recommender Systems

https://arxiv.org/abs/1606.07792

6.DeepFM: A Factorization-Machine based Neural Network for CTR Prediction

https://www.ijcai.org/proceedings/2017/0239.pdf

7.Search Results Web results Deep Interest Network for Click-Through Rate Prediction

https://arxiv.org/pdf/1706.06978.pdf

8.Deep & Cross Network for Ad Click Predictions

https://arxiv.org/abs/1708.05123

9.Prediction

https://arxiv.org/abs/1809.03672

10.Behavior Sequence Transformer for E-commerce Recommendation in Alibaba

https://arxiv.org/pdf/1905.06874.pdf

11.Top-K Off-Policy Correction for a REINFORCE Recommender System

http://alexbeutel.com/papers/wsdm2019_reinforce_recs.pdf