推荐系统技术演进趋势:召回->排序->重排(二)

本文涉及的产品
NLP自然语言处理_基础版,每接口每天50万次
NLP自然语言处理_高级版,每接口累计50万次
NLP 自学习平台,3个模型定制额度 1个月
简介: 推荐系统技术演进趋势:召回->排序->重排(二)

❺ 图神经网络模型召回



0d2ebb9baf49ea5bca455d72284a1b34.png


严格来说,知识图谱其实是图神经网络的一个比较特殊的具体实例,但是,知识图谱因为编码的是静态知识,而不是用户比较直接的行为数据,和具体应用距离比较远,这可能是导致两者在推荐领域表现差异的主要原因。图神经网络中的图结构,可以是上面介绍知识图谱时候说过的 “用户-物品” 二部图,也可以是我们常见的有向图或者无向图,图中的节点是各种不同类型的物品及用户,边往往是通过用户行为建立起来的,可以是具体用户的具体行为,也可以是所有用户的群体统计行为,比如物品1—>物品2可以有边,边还可以带上权重,如果越多的用户对物品1进行行为后对物品2进行行为,则这条边的权重越大。而且对于用户或者物品来说,其属性也可以体现在图中,比如对于一个微博,它的文本内容、图片内容、发布者等等属性都可以引入到图中,比如挂接到物品上,或者建立独立的节点也是可以的,这取决于具体的做法。


022a247fdce6250b81f732f6298a5b3c.png


图神经网络的最终目的是要通过一定技术手段,获得图中节点的 embedding 编码。最常用的 embedding 聚合工具是 CNN,对于某个图节点来说,它的输入可以有两类信息,一类是自身的属性信息,比如上面举的微博的例子;另外一类是图结构信息,就是和当前节点有直接边关联的其它节点信息。通过 CNN,可以对两类信息进行编码和聚合,形成图节点的 embedding。通过 CNN 等信息聚合器,在图节点上进行计算,并反复迭代更新图节点的 embedding,就能够最终获得可靠的图节点 embedding 信息,而这种迭代过程,其实体现的是远距离的节点将信息逐步通过图结构传递信息的过程,所以图结构是可以进行知识传递和补充的。


我们可以进一步思考下,图节点因为可以带有属性信息,比如物品的 Content 信息,所以明显这对于解决物品侧的冷启动问题有帮助;而因为它也允许知识在图中远距离进行传递,所以比如对于用户行为比较少的场景,可以形成知识传递和补充,这说明它也比较适合用于数据稀疏的推荐场景;另外一面,图中的边往往是通过用户行为构建的,而用户行为,在统计层面来看,本质上是一种协同信息,比如我们常说的 “A 物品协同 B 物品”,本质上就是说很多用户行为了物品 A 后,大概率会去对物品 B 进行行为;所以图具备的一个很好的优势是:它比较便于把协同信息、用户行为信息、内容属性信息等各种异质信息在一个统一的框架里进行融合,并统一表征为 embedding 的形式,这是它独有的一个优势,做起来比较自然。另外的一个特有优势,就是信息在图中的传播性,所以对于推荐的冷启动以及数据稀疏场景应该特别有用。


因为图神经网络,最终获得的往往是图中节点的 embedding,这个 embedding,就像我们上面说的,其实融合了各种异质信息。所以它是特别适合用来做召回的,比如拿到图网络中用户的 embedding 和物品 embedding,可以直接用来做向量召回。当然,物品和用户的 embedding 也可以作为特征,引入排序模型中,这都是比较自然的。有些推荐场景也可以直接根据 embedding 计算 user to user/item to item 的推荐结果,比如看了又看这种推荐场景。


早期的图神经网络做推荐,因为需要全局信息,所以计算速度是个问题,往往图规模都非常小,不具备实战价值。而 GraphSAGE 则通过一些手段比如从临近节点进行采样等减少计算规模,加快计算速度,很多后期改进计算效率的方法都是从这个工作衍生的;而 PinSage 在 GraphSAGE 基础上 ( 这是同一拨人做的 ),进一步采取大规模分布式计算,拓展了图计算的实用性,可以计算 Pinterest 的30亿规模节点、180亿规模边的巨型图,并产生了较好的落地效果。所以这两个工作可以重点借鉴一下。


总体而言,图模型召回,是个很有前景的值得探索的方向。


典型工作:


GraphSAGE: Inductive Representation Learning on Large Graphs


PinSage: Graph Convolutional Neural Networks for Web-Scale Recommender Systems


——排序模型技术演进趋势——


排序环节是推荐系统最关键,也是最具有技术含量的部分,目前大多数推荐技术其实都聚焦在这块。下面我们从模型表达能力、模型优化目标以及特征及信息三个角度分述推荐排序模型的技术发展趋势。


315811e7cccc7401b083fd4fc1af6466.png


模型表达能力代表了模型是否具备充分利用有效特征及特征组合的能力,其中显示特征组合、新型特征抽取器、增强学习技术应用以及 AutoML 自动探索模型结构是这方面明显的技术进化方向;模型优化目标则体现了我们希望推荐系统去做好什么,往往跟业务目标有关联,这里我们主要从技术角度来探讨,而多目标优化以及 ListWise 最优是目前最常见的技术进化方向,ListWise 优化目标在排序阶段和重排阶段都可采用,我们把它放到重排部分去讲,这里主要介绍多目标优化;从特征和信息角度,如何采用更丰富的新类型特征,以及信息和特征的扩充及融合是主要技术进化方向,用户长短期兴趣分离、用户行为序列数据的使用、图神经网络以及多模态融合等是这方面的主要技术趋势,因为用户行为序列以及图神经网络在召回部分介绍过,这些点同样可以应用在排序部分,所以这里不再叙述这两点。


❶ 显式特征组合



12fcfb3381e98d5bf21985318e3fef16.png


如果归纳下工业界 CTR 模型的演化历史的话,你会发现,特征工程及特征组合的自动化,一直是推动实用化推荐系统技术演进最主要的方向,而且没有之一。最早的 LR 模型,基本是人工特征工程及人工进行特征组合的,简单有效但是费时费力;再发展到 LR+GBDT 的高阶特征组合自动化,以及 FM 模型的二阶特征组合自动化;再往后就是 DNN 模型的引入,纯粹的简单 DNN 模型本质上其实是在 FM 模型的特征 Embedding 化基础上,添加几层 MLP 隐层来进行隐式的特征非线性自动组合而已。所谓隐式,意思是并没有明确的网络结构对特征的二阶组合、三阶组合进行直接建模,只是通过 MLP,让不同特征发生交互,至于怎么发生交互的,怎么进行特征组合的,谁也说不清楚,这是 MLP 结构隐式特征组合的作用,当然由于 MLP 的引入,也会在特征组合时候考虑进入了特征间的非线性关系。


faca428467a4f2663f5823e3fbb7608b.png


明白了隐式特征组合,也就明白了什么是显式特征组合。就是在模型结构中,明确设计一些子网络或者子结构,对二阶特征组合、三阶特征组合,甚至更高阶的特征组合进行表征。比如说 DeepFM,Deep 部分就是个典型的 DNN 模型,这个大家基本都会用,而 FM 部分则是明确对特征二阶组合进行建模的子模型。这就是一个典型的显式二阶特征组合的模型。而如果进一步拓展的话,很自然想到的一个改进思路是:除了明确的把特征二阶组合做一个子结构,还可以把特征三阶特征组合,更高阶特征组合……分别做一个模型子结构。融合这些子结构一起来做预测。这就是显式特征组合的含义,其实这条线的发展脉络是异常清晰的。典型的对高阶特征组合建模的比如 Deep& Cross、XDeepFM 模型等,就是这么个思路。


在两年多前,我一直以为这个方向是 CTR 或者推荐模型的关键所在,而且可能如何简洁融入更多特征组合是最重要且最有前景的方向。但是后来发现可能错了,目前基本对这个方向改变了看法。目前我对这个方向的看法是:这个方向确实很重要,但是未来可挖掘的潜力和空间很有限,在这条路上继续行进,应该不会走得太远。原因在于,目前基本很多经验已经证明了,显式的二阶特征组合是非常重要的,三阶特征组合对不同类型任务基本都有帮助。四阶特征组合已经说不清楚是否有用了,跟数据集有关系,有些数据集合引入显式4阶特征组合有帮助,有些数据集合没什么用。至于更高阶的特征组合,明确用对应的子结构建模,基本已经没什么用了,甚至是负面作用。这说明:我们在实际做事情的时候,其实显式结构把三阶特征组合引入,已经基本足够了。这是为什么说这条路继续往后走潜力不大的原因。


典型工作:


Deep& Cross: Deep & Cross Network for Ad Click Predictions


XDeepFM: Combining Explicit and Implicit Feature Interactions for Recommender Systems


❷ 特征抽取器的进化



从特征抽取器的角度来看,目前主流的 DNN 排序模型,最常用的特征抽取器仍然是 MLP 结构,通常是两层或者三层的 MLP 隐层。目前也有理论研究表明:MLP 结构用来捕获特征组合,是效率比较低下的,除非把隐层神经元个数急剧放大,而这又会急剧增加参数规模。与自然语言处理和图像处理比较,推荐领域的特征抽取器仍然处于非常初级的发展阶段。所以,探寻新型特征抽取器,对于推荐模型的进化是个非常重要的发展方向。


edcc113d1420a628e8eb4276c78297a8.png


目前其它 AI 领域里,常用的特征抽取器包括图像领域的 CNN、NLP 领域的 RNN 和 Transformer。这些新型特征抽取器,在推荐领域最近两年也逐步开始尝试使用,但是宏观地看,在推荐领域,相对 MLP 结构并未取得明显优势,这里的原因比较复杂。CNN 捕获局部特征关联是非常有效的结构,但是并不太适合做纯特征输入的推荐模型,因为推荐领域的特征之间,在输入顺序上并无必然的序列关系,基本属于人工定义随机顺序,而 CNN 处理这种远距离特征关系能力薄弱,所以并不是特别适合用来处理特征级的推荐模型。当然,对于行为序列数据,因为本身带有序列属性,所以 CNN 和 RNN 都是非常适合应用在行为序列结构上的,也是有一定应用历史的典型工具,但是对于没有序关系存在的特征来说,这两个模型的优势不能发挥出来,反而会放大各自的劣势,比如 CNN 的捕获远距离特征关系能力差的弱点,以及 RNN 的不可并行处理、所以速度慢的劣势等。


Transformer 作为 NLP 领域最新型也是最有效的特征抽取器,从其工作机制来说,其实是非常适合用来做推荐的。为什么这么说呢?核心在于 Transformer 的 Multi-Head Self Attention 机制上。MHA 结构在 NLP 里面,会对输入句子中任意两个单词的相关程度作出判断,而如果把这种关系套用到推荐领域,就是通过 MHA 来对任意特征进行特征组合,而上文说过,特征组合对于推荐是个很重要的环节,所以从这个角度来说,Transformer 是特别适合来对特征组合进行建模的,一层 Transformer Block 代表了特征的二阶组合,更多的 Transformer Block 代表了更高阶的特征组合。但是,实际上如果应用 Transformer 来做推荐,其应用效果并没有体现出明显优势,甚至没有体现出什么优势,基本稍微好于或者类似于典型的 MLP 结构的效果。这意味着,可能我们需要针对推荐领域特点,对 Transformer 需要进行针对性的改造,而不是完全直接照搬 NLP 里的结构。


典型工作:


AutoInt: Automatic Feature Interaction Learning via Self-Attentive Neural Networks


DeepFM: An End-to-End Wide & Deep Learning Framework for CTR Prediction


❸ AutoML 在推荐的应用



AutoML 在17年初开始出现,最近三年蓬勃发展,在比如图像领域、NLP 领域等都有非常重要的研究进展,在这些领域,目前都能通过 AutoML 找到比人设计的效果更好的模型结构。AutoML 作为算法方向最大的领域趋势之一,能否在不同领域超过人类专家的表现?这应该不是一个需要回答 “会不会” 的问题,而是应该回答 “什么时间会” 的问题。原因很简单,AutoML 通过各种基础算子的任意组合,在超大的算子组合空间内,寻找性能表现最好的模型,几乎可以达到穷举遍历的效果,而人类专家设计出来的最好的模型,无非是算子组合空间中的一个点而已,而且人类专家设计的那个模型,是最好模型的可能性是很低的。如果设计精良的 AutoML,一定可以自己找到超过目前人类专家设计的最好的那个模型,这基本不会有什么疑问,就像人类就算不是2017年,也会是某一年,下围棋下不过机器,道理其实是一样的,因为 AutoML 在巨大的算子组合空间里寻找最优模型,跟围棋在无穷的棋盘空间寻找胜利的盘面,本质上是一个事情。无非,现在 AutoML 的不成熟,体现在需要搜索的空间太大,比较消耗计算资源方面而已,随着技术的不断成熟,搜索成本越来越低,AutoML 在很多算法方向超过人类表现只是个时间问题。


efef9c2b288ba27e52c43b8a1708cc1a.png6150dd2cd11b4280dfbda7ccf2259f63.png63c7432795a890f37bca65c8c2b2ab46.png

在推荐领域,采用 AutoML 做网络结构的工作还很少,这里面有很多原因。由于我一直以来特别看好这个方向,所以在18年的时候,我们也尝试过利用 AutoML 来自动探索推荐系统的网络结构,这里非常简略地介绍下过程及结果 ( 参考上面三图 )。我们用 ENAS 作为网络搜索工具,设计了推荐领域网络结构自动探索的尝试。ENAS 是个非常高效率的 AutoML 工具,可以做到单 GPU 半天搜索找到最优的网络结构,但是它定义的主要是 CNN 结构和 RNN 结构搜索。我们对 ENAS 进行了改造,包括算子定义,优化目标以及评价指标定义等。DNN 排序模型因为模型比较单一,所以算子是比较好找的,我们定义了推荐领域的常用算子,然后在这些算子组合空间内通过 ENAS 自动寻找效果最优的网络结构,最终找到的一个表现最好的网络结构如下图所示:


19679d570dc4048396940be5d0ec39f3.png


首先是特征 onehot 到 embedding 的映射,我们把这层固定住了,不作为模型结构探索因子。在特征 embedding 之上,有三个并行结构,其中两个是包含两个隐层的 MLP 结构,另外一个是特征双线性组合模块 ( Each Fields Type,具体含义可以参考下面的 FibiNet )。其表现超过了 DeepFM 等人工结构,但是并未超过很多。( 感谢黄通文同学的具体尝试 )


总体而言,目前 AutoML 来做推荐模型,还很不成熟,找出的结构相对人工设计结构效果优势也不是太明显。这与 DNN Ranking 模型比较简单,算子类型太少以及模型深度做不起来也有很大关系。但是,我相信这里可以有更进一步的工作可做。


典型工作:


ENAS 结构搜索:AutoML 在推荐排序网络结构搜索的应用


https://www.docin.com/p-2269372287.html


双线性特征组合: FiBiNET: Combining Feature Importance and Bilinear feature Interaction for Click-Through Rate Prediction


相关文章
|
7月前
|
人工智能 自然语言处理 NoSQL
对谈Concured首席技术官:利用AI和MongoDB打造个性化内容推荐系统
内容无处不在。无论消费者寻找什么或所处任何行业,找到内容并不困难;关键在于如何找到对应的内容。
1654 0
|
存储 监控 搜索推荐
【业务架构】业务驱动的推荐系统相关技术总结
【业务架构】业务驱动的推荐系统相关技术总结
130 0
|
1月前
|
机器学习/深度学习 搜索推荐 算法
在数字化时代,推荐系统成为互联网应用的重要组成部分,通过机器学习技术根据用户兴趣和行为提供个性化推荐,提升用户体验
在数字化时代,推荐系统成为互联网应用的重要组成部分,通过机器学习技术根据用户兴趣和行为提供个性化推荐,提升用户体验。本文探讨了推荐系统的基本原理、常用算法、实现步骤及Python应用,介绍了如何克服数据稀疏性、冷启动等问题,强调了合理选择算法和持续优化的重要性。
70 4
|
7月前
|
机器学习/深度学习 数据采集 人工智能
构建一个基于AI的推荐系统的技术探索
【5月更文挑战第23天】本文探讨了构建基于AI的推荐系统的关键技术,包括数据收集、预处理、特征工程、推荐算法(如协同过滤、内容过滤、深度学习)及结果评估。通过理解用户行为和偏好,推荐系统能提供个性化建议。实现步骤涉及确定业务需求、设计数据方案、预处理、算法选择、评估优化及系统部署。随着技术进步,未来推荐系统将更加智能。
|
2月前
|
机器学习/深度学习 人工智能 搜索推荐
用AI技术打造个性化新闻推荐系统
【10月更文挑战第7天】本文将介绍如何使用AI技术构建一个个性化的新闻推荐系统。我们将从数据收集、处理,到模型训练和优化,最后实现推荐系统的全过程进行讲解。通过这篇文章,你将了解到如何利用机器学习和深度学习技术,为用户提供精准的新闻推荐。
57 0
|
4月前
|
数据采集 机器学习/深度学习 人工智能
利用AI技术实现个性化新闻推荐系统
【8月更文挑战第31天】 本文将介绍如何利用AI技术实现一个个性化的新闻推荐系统。我们将使用Python语言和一些常用的机器学习库,如scikit-learn和pandas,来构建一个简单的推荐系统。这个系统可以根据用户的阅读历史和兴趣偏好,为他们推荐相关的新闻文章。我们将从数据预处理、特征提取、模型训练和结果评估等方面进行详细的讲解。
|
5月前
|
机器学习/深度学习 搜索推荐 算法
深度学习在推荐系统中的应用:技术解析与实践
【7月更文挑战第6天】深度学习在推荐系统中的应用为推荐算法的发展带来了新的机遇和挑战。通过深入理解深度学习的技术原理和应用场景,并结合具体的实践案例,我们可以更好地构建高效、准确的推荐系统,为用户提供更加个性化的推荐服务。
|
6月前
|
机器学习/深度学习 人工智能 搜索推荐
构建基于AI的个性化新闻推荐系统:技术探索与实践
【6月更文挑战第5天】构建基于AI的个性化新闻推荐系统,通过数据预处理、用户画像构建、特征提取、推荐算法设计及结果评估优化,解决信息爆炸时代用户筛选新闻的难题。系统关键点包括:数据清洗、用户兴趣分析、表示学习、内容及协同过滤推荐。实践案例证明,结合深度学习的推荐系统能提升用户体验,未来系统将更智能、个性化。
|
机器学习/深度学习 存储 搜索推荐
协同过滤推荐系统:原理、技术与Java实践
前言 在当今信息爆炸的时代,推荐系统已成为解决信息过载问题的有效工具。从电商网站的商品推荐到社交媒体的信息推送,推荐系统已经渗透到了我们生活的方方面面。而协同过滤(Collaborative Filtering,简称CF)算法是推荐系统领域的一种经典技术,通过分析用户之间的相似性或物品之间的相似性,为用户推荐与其兴趣相关的物品。
2071 1
|
数据采集 搜索推荐 API
"利用淘宝API接口实现智能化商品推荐系统技术探究"
随着电商行业的火爆发展,如何有效从海量商品中筛选出用户感兴趣的商品成为了每个电商平台必须面对的难题。而商品的精准推荐技术是解决该难题的重要手段之一。淘宝作为国内电商平台的龙头企业,其提供的API接口为开发者提供了打造智能化商品推荐系统的可能。
278 0

热门文章

最新文章