揭秘:阿里自主创新下一代工业级推荐技术

2018 年 12 月 11 日 InfoQ

电商时代,消费者对推荐系统已经不再陌生。蓦然回首,你会发现喜欢的商品就在显眼处。如何设计推荐系统,让消费者更方便地从海量商品中找到自己的最爱,阿里工程师一直在不断探索更优的算法和技术。

以深度学习为代表的人工智能在图像、语音和 NLP 领域带来了突破性的进展,在信息检索和个性化领域近几年也有不少公开文献,比如 Wide& Deep 实现了深度模型和浅层模型的结合,DSSM 用于计算语义相关性,DeepFM 增加了特征组合的能力,Deep CF 用深度学习实现协同过滤,RNN Recommender 采用行为序列预估实现个性化推荐等。

阿里妈妈精准定向技术团队,针对大规模候选集上的匹配推荐问题,自主创新提出了一套崭新的、完整的基于树结构的匹配和推荐算法框架,希望借此赋能任意深度学习模型在推荐匹配中的使用,实现面向全量大规模候选集的精准匹配和推荐。

在即将到来的 AICon 全球人工智能与机器学习技术大会上,阿里妈妈精准定向技术部高级技术专家李晗老师将会带来关于《深度树匹配——下一代推荐技术的探索和实践》的精彩演讲,下面是 InfoQ 中国对李晗老师的采访:

1. 李老师您好,能先请您介绍一下您自己以及您目前在阿里妈妈主要负责的项目吗?

我是 2013 年从清华硕士毕业之后加入阿里妈妈,主要从事广告投放算法这一块的工作。目前在阿里妈妈主要负责三块工作,一块是信息流广告业务的算法策略,一块是整体展示广告的匹配召回技术体系建设,还有一块是云营销业务中的数据算法工作。这次 AICon 我会重点介绍一下我们团队当下在推荐技术方面做的一点探索和创新,我们内部称为深度树匹配(Tree-Based Deep Match)。

2. 我们知道推荐业务是互联网内容提供商进行流量分配的核心业务,推荐技术经历了从基于统计的启发式规则方法到基于内积模型的向量检索方法的转变,可以简单谈一谈这其中的转变历程吗?

推荐的本质是完成用户(User)和物品(Item)的匹配。但用户的兴趣多种多样,物品的候选集也非常大,所以推荐技术的核心就是如何从海量物品候选集里面高效挑选相关商品并排序展示给用户。这里面有几个关键词,第一个是“高效”:高效描述的是性能上的要求,其意味着推荐系统要在尽可能短的时间内完成物品的推荐,暴力计算用户对所有商品的兴趣在商品库非常大的情况下并不适用。第二个是“相关”:相关描述的是算法上的要求,其意味着我们需要利用数据和算法尽可能准确建模和预测用户对物品的潜在兴趣。

结合上述要求,推荐技术也经历了从基于统计的启发式规则方法到基于内积模型的向量检索方法的转变。基于统计的启发式规则方法经典代表就是 Item-based Collaborative Filtering(Item-CF),也是阿里集团现在应用最广的推荐算法之一。Item-CF 的算法原理是:首先通过统计计算得到 Item to Item(I2I)的相似关系,其次启发式地获取用户近期行为作为 Trigger Item 集合,用它们进行 I2I 扩展,最后以某种打分规则对扩展后的 Item 集合进行排序,截断得到 TopK 作为候选集。

我们可以知道这种方法可以有效的控制总体计算次数,因为用户的 Trigger Item 集合是有限的,相似关系圈定的候选集合也是有限的,从而避免了对全量候选集的计算,同时简单的打分规则可以有效地控制单次计算时间,两者使得最终整体方法的计算高效,满足在线应用的要求。而通过用户历史行为找相似的做法也能在一定程度上保证相关性。这种方法在业务初期简单有效(对比非个性化的方式),在很多推荐场景都有它的身影。但从算法原理不难看出,这种方法天然存在一大弊端:它限制了尝试推荐给用户未曾行为过但可能感兴趣的 Item 的可能性。

这种将候选限定在历史兴趣相似范畴内的启发式规则对推荐效果的提升有限,它降低了用户体验(尤其是推荐结果的惊喜度),也制约了系统整体的可持续发展能力。尽管后续我们可以引入更复杂的机器学习方法来优化排序,例如 FM(因子分解)或者深度学习,但它们都依赖于前序阶段给出的候选结果,所以无论如何复杂的模型都突破不了候选集给定的上限。

要进一步提升推荐的效果,就必须在两个方面破局:第一个是打开全量检索的天花板,推荐技术真正能对全量候选集进行挑选,而不只是利用启发式规则限定候选集;第二个是打开模型能力的天花板,利用数据和模型的能力提升用户对商品的兴趣度预估,而不是像 item-CF 一样基于简单的打分规则就得到最终的候选。图像检索领域的进展在驱动推荐技术的发展上起到关键作用,在以图搜图的具体应用中,研究人员将图片的相似关系作为学习的目标,通过表征学习将图片转化 embedding 向量,用向量之间的距离(欧式或者内积等)表示图像的相似关系,构建向量检索引擎来实现具体应用。

沿着这条思路,人们在推荐问题上提出了以向量距离的方式衡量用户和商品兴趣度的方法,用户和商品被表示成向量形式,并以此为基础建立基于向量聚类的索引结构进一步加速检索效率。采用向量检索的技术方案首先完全打开了全量检索的天花板,因为用户兴趣表征的向量和全量商品的向量计算距离可以利用距离的性质高效找到最近邻。其次在模型能力上也有一定提升,我们引入机器学习的理念学习内积式模型来刻画用户和商品的兴趣度,能有效的提升精准度。所以内积式模型和向量引擎成为了最近几年匹配领域技术革新的最重要技术。尤其是去年 Facebook 的 Faiss 框架开源,极大降低了业界尝试向量引擎的难度,对行业发展起到了极大的促进作用。至此,基于内积模型的向量检索方法引领了第二代匹配和推荐技术的潮流,在各类学术会议和工业实践中大放异彩。

3. 我们看到您提到说,基于内积模型的向量检索方法虽然对比上一代技术有其优势,但是还是有局限性,可以谈谈它的技术缺陷吗?

内积检索这类方法虽然在模型能力有提升,但并未实现充分利用机器学习解决匹配问题的初衷,对机器学习模型的限制太大。高阶深度学习大部分都不可划成内积形式,比如 CTR 预估里用户和商品特征交叉非常有用,大部分不可用内积表示。而在现有深度学习中内积模型的表达能力被证明是有限的,比如将内积模型中最后的内积运算直接换成多层感知机能大幅提升模型能力,而多层 PNN,Deep Interest Network(DIN),Deep Interest Evolution Network(DIEN)等对用户兴趣更有洞察力的复杂模型效果被证明能极大的超越内积模型。与此同时,我们也发现在具体实践中,向量检索算法要求 User 和 Item 能够映射到统一的向量空间。User 输入信息和 Item 输入信息一般并不同质,如何保证映射到统一目标向量空间下的检索精度对映射算法提出了严格的要求,换言之,统一的向量空间映射对运用向量检索来解决推荐问题带来了精度损失的风险。

4. 您的演讲提纲中提到了阿里目前使用的是自主提出的深度树匹配技术 Tree-based Deep Match(TDM)这一全新的推荐算法框架,可以简单介绍一下这个框架吗?它的优势在哪里?

在谈这个框架之前,先谈一下我们做这个框架的初衷,结合前面所言要推动推荐技术进一步发展,核心要在全量检索和模型能力两个方向上破局。因此我们构思能否设计一套全新的推荐算法框架,它允许容纳任意先进的模型而非限定内积形式,并且能够对全量候选集进行更好的推荐。第二代基于内积模型向量检索的方案,限定模型结构以实现检索效率的提升,因此要想进一步释放模型能力就必须使得整体检索结构的设计与模型结构的设计解耦(向量内积检索与内积模型即是一种强耦合关联)。假使我们能够使用类似点击率预估问题一样的复杂模型完成用户对具体商品的兴趣度预估,但是考虑到要全量检索的要求,在系统能力有限的情况下,简单粗暴完成对全量商品打分再排序的方案明显是不现实的。这里就有一个思路转换,我们要实现全量检索,但并不意味着我们需要通过全量计算来实现,如果我们能够设计一种高效的检索结构来缩减计算次数实现全量检索,则有可能承载先进模型的使用。面对一个复杂问题,人脑常有的一个思考方式是先从大的层面入手,确定大方向后具体细化。我们也从这个角度入手,思考是否可以有一种从粗到细的检索方式,逐步判断并细化,最后给出最优推荐。基于这个思考,我们把探索方向定位在了使用层次化树结构增加检索效率上。

模糊的上层概念想起来容易,概念上万物皆通,真正难的是否能在数学和技术上构建出一条真正可行的路径。就推荐问题而言,树检索结构的引入伴随着一系列的问题要解决:

1、如何围绕树结构实现高效的检索;

2,如何基于树进行匹配建模;

3、树结构是如何构建的。

结合这几个问题的解法,我们构建了深度树匹配技术 Tree-based Deep Match(TDM)这一全新的推荐算法框架的内核。首先是基于树结构如何进行高效的检索,如果假定全量商品对应于树结构的叶子节点,则 topK 检索意味着我们要从叶子结点中挑选 topK 用户感兴趣的节点。我们知道树结构都是自顶向下逐层检索,而进行高效检索的关键点在于自顶向下过程中要能快速剪枝,因此我们采用了 beamsearch 的方案,根据用户对树上节点的兴趣度预估逐层挑选 topk 节点,将其子节点作为下一层挑选的候选集合,这样每层非 topk 节点就可以停止搜索,要完成 topK 的挑选,整体的计算量是 O(C*log_C N*K),C 是树的分叉数,N 是全量叶子商品数。讲完检索策略,自然而然就会引出来一个问题:我们为什么可以在树结构采用类似 beamsearch 的高效检索策略?为了配合树结构上的高效检索策略,我们进而提出了兴趣最大堆的匹配建模,其假定用户对树上各个节点的兴趣正比于对其子节点兴趣的最大值。基于兴趣最大堆的假设,我们能够保证在树上做 beamsearch 可以找到最优 topk。在具体的实现层面,我们通过构建符合最大堆概率的样本去牵引模型逼近最大堆性质来完成模型学习。值得注意的是,在这里我们只要求兴趣模型去拟合我们根据树结构生成的样本,而对模型结构没有限制,因此实现了模型结构和检索方式的解绑,打开了模型能力的天花板。对于树结构如何构建这个问题,我们从降低样本混淆度的视角提出一套方案。

综上所述,我们提出的深度树匹配技术 Tree-based Deep Match(TDM)这一全新的推荐算法框架,整合了推荐技术中索引构建(树结构生成),兴趣建模(最大堆兴趣建模)和检索策略(树上 beamsearch)三大环节,并同时打开了全库检索和模型能力的天花板。

5. 从下一代工业级推荐技术持续发展的视角,深度树匹配技术进一步发展面临的挑战是什么?

在迭代深度树匹配方案的过程中,我们也发现打开了工业级推荐技术进一步发展的潘多拉魔盒。在上文中我们讲到了,深度树匹配技术通过最大堆的性质链接了索引构建,兴趣建模和检索策略三个推荐技术的核心模块,而最大堆性质是从数据中学习得到的。因此我们思考下一代推荐技术不止于全库检索 + 先进模型,而是数据驱动下三大模块(索引构建,兴趣模型,检索策略)的联合端到端优化学习。而沿着这个发展的思路,深度树匹配技术还面临一系列的挑战:首先是如何真正的实现数据驱动的端到端三大模块联合优化,例如索引构建能否和兴趣模型交替优化;其次在面向业务实际应用的过程中,我们如何从兴趣类召回切换到面向业务目标最大化召回,例如广告领域要考虑收益最大化召回;最后在技术框架层面,我们需要抽象公共可复用的框架来支持整体技术的平台性输出,实现不同业务场景的快速灵活复用并取得效果,才能真正成为影响一代推荐技术发展的核心技术。

6. 您觉得阿里自主创新提出的这套框架对于关注推荐技术的业界来讲它的价值是什么?未来又会怎样继续演进呢?

无论是新闻、视频、音乐、电商,推荐从一开始就面临着大规模海量数据的挑战,而技术的发展总是关注在整合算法,算力,数据的基础上如何更好的解决问题。我们认为数据驱动下的索引构建、兴趣模型和检索策略的联合端到端学习,是推荐技术下一步发展的重要方向,而深度树匹配这套框架则是我们沿着这个方向做的一些有益的探索和尝试。深度树匹配通过数据洞悉人对兴趣的认识、感知和交互,并以此发掘出普适且通用的兴趣层次组织结构,之于上建立了一整套行业通用的、可容纳任意先进深度模型的匹配推荐框架。以深度树匹配技术为基础,我们进一步探索和尝试数据驱动下的索引构建、兴趣模型和检索策略的联合端到端学习方向。未来我们将基于深度树匹配框架深入探索技术纵向发展和业务横向扩展的可能,全面支撑包括推荐、搜索、广告之内的互联网主流业务。

推荐问题纷繁复杂,推荐技术博大精深,深度树匹配这一探索和尝试,仍需要更多技术创新的滋补和业务融合的锤炼,我们希望深度树匹配技术给业界推荐技术的发展起到抛砖引玉的作用,希望启迪大家的智慧,群策群力给推荐技术带来真正突破性的变革。“独乐乐不如众乐乐”,深度树匹配的整体离线训练框架将于本月(12 月)中旬随阿里深度学习框架(X-Deep Learning)一起开源,请推荐业界的同仁给以关注和指正!

AICon 将于 12 月 20-21 日在北京国际会议中心举办,想要跟李晗老师面对面交流的,欢迎到现场面基。另外,大会还有来自 Google、微软、亚马逊、BAT、字节跳动、京东、华为等 40+AI 落地案例的年终总结,干货满满,不可错过。

目前大会开幕倒计时 8 天,大会日程已新鲜出炉,更多详情欢迎点击“阅读原文”了解,也可咨询票务小姐姐 Amy:18514549229(微信同号)    

登录查看更多
2

相关内容

人机对抗智能技术
专知会员服务
202+阅读 · 2020年5月3日
【阿里技术干货】知识结构化在阿里小蜜中的应用
专知会员服务
97+阅读 · 2019年12月14日
【BAAI|2019】类脑神经网络技术及其应用,鲁华祥(附pdf)
专知会员服务
29+阅读 · 2019年11月21日
爆料 | 解析阿里妈妈如何将深度学习应用在广告、推荐及搜索业务
机器学习算法与Python学习
5+阅读 · 2018年5月14日
从场景到调参,爱奇艺的推荐算法演化之路
聊聊架构
9+阅读 · 2018年3月23日
阿里搜索技术,在AI路上走了多远?
机器学习研究会
11+阅读 · 2017年12月29日
一天造出10亿个淘宝首页,阿里工程师如何实现?
机器学习研究会
5+阅读 · 2017年12月20日
阿里智能对话交互实践与创新
人工智能头条
5+阅读 · 2017年11月30日
干货 :详解个性化推荐五大最常用算法
数据分析
6+阅读 · 2017年7月19日
Arxiv
10+阅读 · 2017年11月22日
Arxiv
23+阅读 · 2017年3月9日
Arxiv
4+阅读 · 2016年12月29日
Arxiv
5+阅读 · 2016年10月24日
VIP会员
相关资讯
爆料 | 解析阿里妈妈如何将深度学习应用在广告、推荐及搜索业务
机器学习算法与Python学习
5+阅读 · 2018年5月14日
从场景到调参,爱奇艺的推荐算法演化之路
聊聊架构
9+阅读 · 2018年3月23日
阿里搜索技术,在AI路上走了多远?
机器学习研究会
11+阅读 · 2017年12月29日
一天造出10亿个淘宝首页,阿里工程师如何实现?
机器学习研究会
5+阅读 · 2017年12月20日
阿里智能对话交互实践与创新
人工智能头条
5+阅读 · 2017年11月30日
干货 :详解个性化推荐五大最常用算法
数据分析
6+阅读 · 2017年7月19日
Top
微信扫码咨询专知VIP会员