阿里盖坤:用深度学习打造真正的智能化广告系统
盖坤是清华大学的博士,专业是机器学习和人工智能。他曾在顶级期刊和会议(NIPS/CVPR/AAAI / TPAMI等)上发表过多篇论文,前几年就提出过 MLR( Mixture of Logistic Regression ,分片线性学习)算法用来提高阿里巴巴对广告点击率预测的准确度。
刚加入阿里巴巴时, 盖坤在一淘广告技术部做广告相关的技术。机器学习在互联网行业里的第一个杀手级应用是广告点击率预估,所以盖坤虽然在广告部,负责的却是阿里集团机器学习平台上的机器学习算法研发。在业务端,相当于把平台上的算法应用到广告的点击预估、转化率预估等核心的技术模块里,是一个从平台到模型再到业务,三端连通的工作。
当时的盖坤在基础研究团队,横向支持多个不同的广告业务线。同时,他做的平台也支持了一些非搜索、非广告业务,比如,推荐和搜索。
“我们团队后续也会慢慢变成纵向的业务团队,负责精准定向广告。精准定向广告是在没有搜索词的情况下,能够出现让用户感兴趣的广告。”盖坤告诉 TGO 鲲鹏会记者。
在 2018 新智元产业 · 跃迁 AI 技术峰会上,盖坤针对《深度学习在广告业务上的应用》这一话题发表言论,讲述了阿里巴巴将深度学习应用到广告业务上的探索和实践。
以下为盖坤现场发言节选:
在广告里有一个很核心的应用,同时也是机器学习的第一个杀手级应用,就是广告的 CTR 预估。CTR 预估可以泛化成很多预估,也包括转化率预估。不管是商家还是平台,除了点击,他们也关心转化和成交金额。所以这个预估就跟平台的收入直接相关,因为 CBC 不点击是不收费的。
原来业绩通用的是大规模线性模型,现在我们自己提出了一个叫 MAR 的非线性模型,从非线性模型再把它变成深度学习,从而变成一个标准的以嵌入式加上多层感知机的标准深度学习。用户的兴趣不是单一的,我们希望对用户的兴趣表达是多样性的,在数学上我们认为是一个多峰的分布。
这也是受到了实际数据的启发 —— 我们自己在买东西时,购物车里从来都不只是一样或一类东西。即使当天只买一个,购物车里的东西也不只一类,所以用户的兴趣是多样的。在深度学习里,如果把用户聚成一个兴趣点,并不能完全表达这个用户,我们希望把用户内在兴趣的多样性用模型勾画出来。我们在标准的深度学习之后,又提出了一个叫深度兴趣网络( deep interesting networks )描述用户多种兴趣并存的特性,在业务效果上也取得了不错的效果。
在深度学习的输入与感知能力上,我们会在用户的行为之外,再引入对用户真实关心的东西的本质的理解。比如,用户在看 A 跟 B ,如果很多用户看了 A 之后又看 B ,说明 A 跟 B 很相关,这是传统的基于行为的模型能够刻画出来的。A 跟 B 背后的本质是什么,我们希望模型能够真正的理解。很多人如果同时在看这两个东西,我们虽然知道它们相关,但并不知道它们俩是什么东西。所以,我们就在背后把图像的信息加入到深度学习,把图像的模型跟 CTR 预估的模型串联起来,变成一个有感知图像的 CTR 预估模型。这个模型非常庞大,我们也在计算框架上做了一个使这两个模型能端到端协同的框架上的创新。
这里也包含了我们对深度学习的认知 —— 要发挥出深度学习最大的作用就一定要端到端学习。这里有个反证:我们曾多次尝试很多非端到端的方法,效果不是很好。例如:图像,最简单的方法就是把图像抽出一些特征塞到点击率或转化率的模型里。另外,如果每抽一次特征再加一个模型的方法能够运行,深度学习就不会在这几年才会如此蓬勃发展。原来我都可以把一个浅层模型的输出,作为下一个浅层模型的输入,用浅层模型一步一步加工得更好,最后变成了一个深层的计算。实际上,这些模型的输出必须根据后面的模型进行协同,而不是直接对最终目标进行拟合,所以端到端非常重要。这是对框架的挑战也是机会。
深度学习框架的计算模式从原来的经典参数分部服务的方式演变成 Advanced Model Server 的分布方式。未来模型会越来越大,不同的数据源要输入到一起,有多个模型集联到一起,做一个很大规模的协同训练,Advanced Model Server 的分布方式可能是未来框架演进的方向。这是深度学习在预估模型上的一系列进展。
第二条线是在匹配上。对于互联网这种流量型业务会有一个在线引擎,给模型输送哪些东西需要在线引擎去预估,这个数量是有限制的,所以前面会有检索或匹配的模块。比如,你来到淘宝,我们先用一种粗暴的方法选出你可能感兴趣的一万件商品,这一万件商品我们每个都很精巧地用深度学习去预估它的点击率、转化率、兴趣度,最终挑选出最好的展示出来。但很多时候,这一万件商品里如果没有包含你真正想要的东西,那后面的模型再怎么衡量都没有用,所以前面匹配或检索是整个系统的瓶颈,我们在这上面做了一些改进。
传统有一个叫协同过滤的经典推荐算法:A 跟 B 如果很多人看,看 A 又同时看 B ,我们就认为 A 跟 B 是相似的,这叫协同过滤。协同过滤用在推荐上,就是把你历史上看过的商品的关联商品作为给你推荐的候选集,后面的模型就会评估到底给你推荐哪个商品。但是协同过滤直接限定了候选集,候选集里是一些你行为过的,很相似的商品,这会让用户觉得缺乏新颖性,或者没那么智能。所以我们希望机器学习有能力更好的预估用户对什么感兴趣,希望能够在匹配环节去掉这个限制,让机器学习在这里发挥作用。
业界有一个简单的方法,当机器学习的模型还停留在很简单的内机模型的时候,也就是限量检索的方式,用模型去衡量每个商品的兴趣度,而不是预先用某个规则或某种统计式先限定,这样会使整个推荐的质量有很大的提升。
第二,业界背后也有推手。Facebook 去年开源了一个 FASS 框架,这个框架可能没有 tensor flow 知名度高,但很多公司内部都在用这个框架做检索系统的升级,它对检索系统升级起到了很好的促进作用。但不是说必须用 Facebook 的,有些开发能力强的团队自己也在开发。但有一个开源的框架放在这,使得开发的难度降低,开发的时间也减少。tensor flow 还不是每个公司都能自己开发,限量检索式能够自己开发。
但这对模型有一个限制 —— 必须是内机模型。我们在想,如果一个任意的高阶深度学习模型能够做用户跟商品的信誉度度量,我们是不是能有一种方法在海量商品中去挑出你最感兴趣的那个。所以,我们做了一个树结构的检索引擎,这个检索引擎就是把整个商品建成一个层次化的类目树,用二叉树构建,每个节点下面都只有两个节点。类目树从上向下判断:上面如果不是最感兴趣的节点,后续所有节点都不需要计算,引擎里有数学或是基础数据保证这件事情,所以就会使你在非常大的范围内,挑选出最优的商品,会变成从上向下很快速的计算。
比如,10 亿商品是 30 层,那就 30 次判断,不像原来是 10 亿次判断。所以它就使深度学习可以进行全库的近似运算,能挑出深度学习认为是最好那个商品。深度学习从一个预估跟度量问题真正地转化成检索寻优问题,这是我们在匹配上的进展。
接下来,我们相信在阿里的很多场景下,不管是推荐的质量、用户感兴趣的程度、还是继续推荐的新颖性上,都会有比较大的变化。我们现在也在一些场景上开始尝试,有些场景已经上线了,但是阿里的场景很多,我们未来还有很多的工作要做,这是第二个深度学习用在匹配、检索上的进展。
第三条线是智能决策。目前,智能决策主要用的是强化学习,我们分两块:
第一块是对平台,我们的线上广告系统、推荐系统和搜索系统里面有很多环节,有大量的参数。当这个系统功能很强大的时候,它的参数和模块也会很多。这些参数怎么调教对最后的结果影响非常大,所以我们从人去试图调很多参数,变成了现在用强化学习根据最终的效果好坏自动调参数,效果也非常明显。
第二块是用在广告主的决策上。对商家来讲,我们如何能够帮它选人群、做出价、甚至能够帮他针对每个流量做评估,每个流量上都可以做一个定制化的出价,这是平台赋予商家的一种特殊能力。但商家不能自己亲自操控,不管是操控成本还是数据保密性都不允许。商家也不能看到具体一个用户的数据,所以我们平台如果有这套系统,我们就可以把这个能力给商家,但数据是商家不能完全接触到的,只能接触到跟自己有关的数据。
这样我们就让商家在投放广告这一环节,不管是选人群、对每个流量进行精细化出价以及怎么个性化的展现创意等不同的环节能串联起来,成为真正的智能化广告系统。它最终也是用强化学习去优化商家定义的目标。比如,进店量最大、投入产出比最高、成交笔数最多等等,我们就在这个目标下去优化商家所要涉及到的一系列决策过程。
当然这里有一部分是半自动的。比如创意,现在还不能完全让算法自动从无到有生成,真正在业务上,已经有很多智能钻展的客户在使用。用户可以上传创意里的很多素材,这种元素跟素材上传之后,我们会自动帮用户组装,自动把合适的元素个性化展现给合适的用户。比如,有些用户对价格比较敏感,相关的信息就会展示的多一点;有些用户对格调敏感,那整个创意的组织形式就不一样。其实这都是根据效果来最终吸引更多用户的目标,这样就能够大大提升商家最终做广告的效果,而且能降低广告的操作难度。所以这是第三条线,我们用智能决策,来解决平台跟广告主端的很多决策问题。
所以,现在大家都会重用这三条线:
预估模型。这是最经典的广告核心算法;
检索和匹配。当后面的模型比较强大的时候,它就是一个瓶颈;
平台跟广告主的决策问题。
发言结束后,TGO 鲲鹏会记者在会议现场采访了盖坤先生,以下内容是根据当天采访整理,有部分不改变原意的删减。
盖坤:我的团队负责的是精准定向广告。具体对口的产品是钻石展位(现在叫智能钻展)和直通车里的定向功能。
有两个关键要素:一个是展示或推荐位置,跟搜索位置是区分开的,这种位置未来会越来越多,因为搜索引擎现在还是几家巨头公司在做。虽然现在几乎所有公司都有推荐,但不是所有公司都有很强大的搜索。包括阿里内部不同的用户场景拓展也会带来非搜索,其实这种内容化展示的位置在变多。第二个就是我们的广告,跟品牌不同的是广告要为效果负责,会跟点击率相关和转化率相关。
盖坤:效果评估体系有很多,我们在广告流量上会有展现量、点击量、点击率、转化率、购买量、成交单量、成交金额等。我们对广告真正的价值也做了很多透视:一方面,很多时候商家做广告本质目的不只是看广告流量带来的价值,而是为了通过广告的渠道跟抓手来达到自己的店铺成长。
例如:商家的产品评价很少,用户就不会购买;因为很多活动有门槛,有些商家可能也参加不了活动;很多地方也拿不到流量,因为它没有能够证明自己是一个好卖家的历史。商业化其实是给商家提供了这样一种通道,在购买流量后,如果它的商品真的很好,真的有运营之道、经营之道,它就可以积累出让自己未来成长的东西。所以阿里巴巴也在广义 ROI ,对通过广告带来的其他价值,自己的成长价值,包括一些全栈权益带来增量的价值也做了衡量。
对于商家来讲,经营过程就是每个消费者全链路的过程 —— 消费者对商家从未知到接触,在接触过程中又通过很多互动慢慢的增强兴趣,最终达成购买,购买之后又回购,成为持续的老客户,甚至帮助商家传播。未来,我们也不会单看广告现在突出的窗口,阿里巴巴覆盖了阿里体系。阿里巴巴跟很多媒体有合作关系,利用这些媒体,我们会想办法帮助商家在整个消费者的全链路运营上做得更好,效率更高。
这包含了新的几个方面:
全链路运营上如何建立科学化的衡量体系;
如何来优化效率;
我们如果真的能做出更好的科学化洞察和优化,是不是在某些环节能做更智能的决策建议,催生出新的运营方式。
以上三点是阿里巴巴多个业务板块一起携手去做的,也是未来重点去研发的方向。我们在商家的消费者整个链路上的覆盖是有优势的,我们在各种不同的地方推荐位置,包括淘宝首页以及外投广告等。
TGO 鲲鹏会:我有一个疑问,比如,我在淘宝上误点了某个产品之后,后续系统就会推荐一些相似的商品给我,那么现在有没有解决这个问题的方法?
盖坤:这件事阿里内部正在研发,它有几个层面:
第一个层面是目标跟数据错位的问题。很多消费者会抱怨:买过的东西还推荐。现在,用户体验出现的主要问题是模型优化的目标跟体验不对等。这里涉及到一个技术问题 —— 机器学习必须有明确的目标,而且要有大量的目标数据,才能够运行的很好。
我们目标数据上并没有用户真实的想法,我们的数据是点击跟购买的行为。所以我们建的很多模型,最终都会回到预估用户点不点,以及优化好后,用户点的次数是不是更多,甚至购买。但是,点击跟购买的概率,跟用户体验的好坏是不完全对等的,就像点击跟购买就不对等一样。
举个例子,我们不再推荐用户买过的东西时发现,效果要比推荐他买过的东西差很多。而且出乎很多人的意料,很多人会觉得大家电,是不是做个规则直接过滤掉就好了,但我们发现过滤掉效果也下降很明显。我自己就是一个活生生的例子,前一段时间我买了一个大家电 —— 冰箱,我觉得不会再买了,但结果是我又给我父母买了一个。再比如,净水器,我买的时候我也认为我不会再买了,结果最后买了三个。但等我买完之后它还继续给我推荐,我仍然会觉得不太对。
这就说明了一个问题,在统计上,即使是大家电,买过的人再买的概率也不低。真正做过引流的人都知道,平均的引流效率是百分之几或千分之几。所以买过大家电的人,假如比这个概率更高,他会去重复购买,从概率上讲,给他展示这种东西对点击率而言,就是较优的选择。
TGO 鲲鹏会:其实有时候是想点进去看看涨价没有?
盖坤:对,点击率有时并不低。按照统计来讲,我们的优化目标现在都只围绕着点击和转化,没有围绕用户体验。用户体验端我们最大的问题在于缺失数据,一是我们缺失如何区分到底哪些人会重复购买,哪些人不会重复购买。所以,我们只能把它们混在一起,用平均最优的方法来解。
第二种是体验到底如何。假如我们把负向体验看得很重,我们也可以不区分,所有的负向倾向模式都不做就可以了。事实上,体验正向、负向的数据我们也没有。所以这里有一个很大的挑战:未来,对用户体验的感知如何获取。
未来有几个方向:
一个是有没有可能用算法来自动推导;第二个是数据标注问题。比如,图像或搜索引擎上会有相关性标注团队专门去标注到底哪些网页相关。因为没有点击率优化也会出一堆问题,但为了控制这种体验,它都会有相关性的标注,这就是获取数据人工的渠道。比如,图像数据都是比较好的,如果公开数据集没有标好,就得自己找人力去标。
第三种方式是在产品上设计一些用户反馈渠道,让用户去表达,把数据收集到。所以内部也会有一些考虑和选择,但现在还没有上线。所以我们可能会综合的来看,到底应该怎样把体验数据拿到,使后面的算法和模型真正有抓手,去优化这件事情。
技术上是另外两件事:第一,数据获取比较难,质量比较低,那模型如何通过不是那么充分的数据,让用户心理的细微感受能够更好的刻画出来。比如,我们之前在刻画上做了多兴趣,后面在更少的数据上我们来更精细化的刻画,这是模型本身需要去探讨的方向。
第二,如果我们模型有能力,我们也千万不能被某种节奏方式卡住,我们刚才说的树状的全部检索,对这个事情可能会有很大的帮助。所以技术上会有一系列的事情,但是也会串连着业务端的变化,我们可能整体去考虑如何来改进这个问题。
TGO 鲲鹏会:刚才说到的,用户体验也是广告业务现在面临的挑战,除了这个,还有什么其他的挑战或者问题吗?
盖坤:更多的是推荐业务,广告业务可能还好,因为广告业务在各种场景里面商业化比例并不是很高,所以广告的流量占比在各个场景里都是比较小的,真正广告带来负性体验的概率比较小。
比如,几百个 feed 流里面只有一个是广告,可能大部分用户根本就分不出来阿里的场景里面哪些是广告。一是少,二是阿里真正是一个叫原生广告的地方。原生广告这个概念可能在其他公司提过,其他公司提到更多的是广告的形式跟主流的结果更像,让用户觉得比较自然。但阿里不用形式,阿里就是一个东西。不付费的商品我在用推荐跟搜索来提供,付费的也是商品。本质上来讲,除了流量分配不一样之外,内容形式是一模一样的。所以这应该说阿里真正提供的是一个原生广告的体验,我相信很多人如果没有做过直通车跟钻展,你不知道哪些地方是广告。