爱奇艺个性化推荐排序实践

在当前这个移动互联网时代,除了专业内容的丰富,UGC内容更是爆发式发展,每个用户既是内容的消费者,也成为了内容的创造者。这些海量的内容在满足了我们需求的同时,也使我们寻找所需内容更加困难,在这种情况下个性化推荐应运而生。

个性化推荐是在大数据分析和人工智能技术的基础上,通过研究用户的兴趣偏好,进行个性化计算,从而给用户提供高质量的个性化内容,解决信息过载的问题,更好的满足用户的需求。

2.爱奇艺推荐系统介绍

我们的推荐系统主要分为两个阶段,召回阶段和排序阶段。召回阶段根据用户的兴趣和历史行为,同千万级的视频库中挑选出一个小的候选集(几百到几千个视频)。这些候选都是用户感兴趣的内容,排序阶段在此基础上进行更精准的计算,能够给每一个视频进行精确打分,进而从成千上万的候选中选出用户最感兴趣的少量高质量内容(十几个视频)。

推荐系统的整体结构如图所示,各个模块的作用如下:

(1)用户画像:包含用户的人群属性、历史行为、兴趣内容和偏好倾向等多维度的分析,是个性化的基石

(2)特征工程:包含了了视频的类别属性,内容分析,人群偏好和统计特征等全方位的描绘和度量,是视频内容和质量分析的基础

(3)召回算法:包含了多个通道的召回模型,比如协同过滤主题模型,内容召回和SNS等通道,能够从视频库中选出多样性的偏好内容

(4)排序模型:对多个召回通道的内容进行同一个打分排序,选出最优的少量结果除了这些之外推荐系统还兼顾了推荐结果的多样性,新鲜度,逼格和惊喜度等多个维度,更能够满足用户多样性的需求。

3.推荐排序系统架构

在召回阶段,多个通道的召回的内容是不具有可比性的,并且因为数据量太大也难以进行更加精确的偏好和质量评估,因此需要在排序阶段对召回结果进行统一的准确的打分排序。

用户对视频的满意度是有很多维度因子来决定的,这些因子在用户满意度中的重要性也各不相同,甚至各个因子之间还有多层依赖关系,人为制定复杂的规则既难以达到好的效果,又不具有可维护性,这就需要借助机器学习的方法,使用机器学习模型来综合多方面的因子进行排序。

排序系统的架构如图所示,主要由用户行为收集,特征填充,训练样本筛选,模型训练,在线预测排序等多个模块组成。机器学习的主体流程是比较通用的,设计架构并不需要复杂的理论,更多的是需要对细节,数据流和架构逻辑的仔细推敲

这个架构设计吸取了以前的经验和教训,在通用机器学习的架构基础上解决了两个问题:

(1)训练预测的一致性:

机器学习模型在训练和预测之间的差异会对模型的准确性产生很大的影响,尤其是模型训练与在线服务时特征不一致,比如用户对推荐结果的反馈会实时影响到用户的偏好特征,在训练的时候用户特征的状态已经发生了变化,模型如果依据这个时候的用户特征就会产生非常大的误差。我们的解决办法是,将在线服务时的特征保存下来,然后填充到收集的用户行为样本中,这样就保证了训练和预测特征的一致性。

(2)持续迭代:

互联网产品持续迭代上线是常态,在架构设计的时候,数据准备,模型训练和在线服务都必须能够对持续迭代有良好的支持。我们的解决方案是,数据准备和模型训练各阶段解耦,并且策略配置化,这种架构使模型测试变得非常简单,可以快速并行多个迭代测试。

4.推荐机器学习排序算法演进

4.1 上古时期

我们第一次上线机器学习排序模型时,选用了比较简单的Logistic Regression,将重点放到架构设计上,尽量保证架构的正确性。除此之外,LR模型的解释性强,方便debug,并且通过特征权重可以解释推荐的内容,找到模型的不足之处。

在模型训练之前,我们首先解决的是评测指标和优化目标的问题。

(1)评测指标(metrics)

线上效果的评测指标需要与长远目标相匹配,比如使用用户的投入程度和活跃度等。在我们的实验中,业界流行的CTR并不是一个好的评测指标,它会更偏向于较短的视频,标题党和低俗内容。

离线评测指标是按照业务来定制的,以便与在线评测指标匹配,这样在离线阶段就能够淘汰掉无效策略,避免浪费线上流量。

(2)优化目标(objective)

机器学习会按照优化目标求解最优解,如果优化目标有偏差,得到的模型也存在偏差,并且在迭代中模型会不断地向这个偏差的方向学习,偏差会更加严重。我们的方法是给样本添加权重,并且将样本权重加到loss function中,使得优化目标与评测指标尽可能的一致,达到控制模型的目的。

LR是个线性分类模型,要求输入是线性独立特征。我们使用的稠密的特征(维度在几十到几百之间)往往都是非线性的,并且具有依赖性,因此需要对特征进行转换。 特征转换需要对特征的分布,特征与label的关系进行分析,然后采用合适的转换方法,我们用到的有以下几种:Polynomial Transformation,Logarithmic or Exponential Transformation,Interaction Transformation和Cumulative Distribution Function等。

虽然LR模型简单,解释性强,不过在特征逐渐增多的情况下,劣势也是显而易见的。

(1)特征都需要人工进行转换为线性特征,十分消耗人力,并且质量不能保证

(2)特征两两作Interaction 的情况下,模型预测复杂度是O(n^2)。在100维稠密特征的情况下,就会有组合出10000维的特征,复杂度高,增加特征困难

(3)三个以上的特征进行Interaction 几乎是不可行的

4.2 中古时期

为了解决LR存在的上述问题,我们把模型升级为Facebook的GBDT+LR模型,模型结构如图所示。

GBDT是基于Boosting 思想的ensemble模型,由多颗决策树组成,具有以下优点:

(1)对输入特征的分布没有要求

(2)根据熵增益自动进行特征转换、特征组合、特征选择和离散化,得到高维的组合特征,省去了人工转换的过程,并且支持了多个特征的Interaction

(3)预测复杂度与特征个数无关

假设特征个数n=160决策数个数k=50,树的深度d=6,两代模型的预测复杂度对比如下,升级之后模型复杂度降低到原来的2.72%

GBDT与LR的stacking模型相对于只用GBDT会有略微的提升,更大的好处是防止GBDT过拟合。升级为GBDT+LR后,线上效果提升了约5%,并且因为省去了对新特征进行人工转换的步骤,增加特征的迭代测试也更容易了。

4.3 近代历史

GBDT+LR排序模型中输入特征维度为几百维,都是稠密的通用特征。这种特征的泛化能力良好,但是记忆能力比较差,所以需要增加高维的(百万维以上)内容特征来增强推荐的记忆能力,包括视频ID,标签,主题等特征。GBDT是不支持高维稀疏特征的,如果将高维特征加到LR中,一方面需要人工组合高维特征,另一方面模型维度和计算复杂度会是O(N^2)级别的增长。所以设计了GBDT+FM的模型如图所示,采用Factorization Machines模型替换LR。

Factorization Machines(FM)模型如下所示,具有以下几个优点:

i.模型公式

ii.前两项为一个线性模型,相当于LR模型的作用

iii.第三项为一个二次交叉项,能够自动对特征进行交叉组合

iv.通过增加隐向量,模型训练和预测的计算复杂度降为了O(N)

v.支持稀疏特征

这几个优点,使的GBDT+FM具有了良好的稀疏特征支持,FM使用GBDT的叶子结点和稀疏特征(内容特征)作为输入,模型结构示意图如下,GBDT+FM模型上线后相比GBDT+LR在各项指标的效果提升在4%~6%之间。

典型的FM模型中使用user id作为用户特征,这会导致模型维度迅速增大,并且只能覆盖部分热门用户,泛化能力比较差。在此我们使用用户的观看历史以及兴趣标签代替user id,降低了特征维度,并且因为用户兴趣是可以复用的,同时也提高了对应特征的泛化能力。

我们主要尝试使用了L-BFGS、SGD和FTRL(Follow-the-regularized-Leader)三种优化算法进行求解:

(1)SGD和L-BFGS效果相差不大,L-BFGS的效果与参数初始化关系紧密

(2)FTRL,较SGD有以下优势:

[1] 带有L1正则,学习的特征更加稀疏

[2] 使用累计的梯度,加速收敛

[3] 根据特征在样本的出现频率确定该特征学习率,保证每个特征有充分的学习

FM模型中的特征出现的频次相差很大,FTRL能够保证每个特征都能得到充分的学习,更适合稀疏特征。线上测试表明,在稀疏特征下FTRL比SGD有4.5%的效果提升。

4.4 当代模型

GBDT+FM模型,对embedding等具有结构信息的深度特征利用不充分,而深度学习(Deep Neural Network)能够对嵌入式(embedding)特征和普通稠密特征进行学习,抽取出深层信息,提高模型的准确性,并已经成功应用到众多机器学习领域。因此我们将DNN引入到排序模型中,提高排序整体质量。

DNN+GBDT+FM的ensemble模型架构如图所示,FM层作为模型的最后一层,即融合层,其输入由三部分组成:DNN的最后一层隐藏层、GBDT的输出叶子节点、高维稀疏特征。DNN+GBDT+FM的ensemble模型架构介绍如下所示,该模型上线后相对于GBDT+FM有4%的效果提升。

i. DNN模型

a)使用全连接网络,共三个隐藏层

b)隐藏节点数目分别为1024,512和256

c)预训练好的用户和视频的Embedding向量,包含基于用户行为以及基于语义内容的两种Embedding

d)DNN能从具有良好数学分布的特征中抽取深层信息,比如embedding特征,归一化后统计特征等等

e)虽然DNN并不要求特征必须归一化,不过测试发现有些特征因为outlier的波动范围过大,会导致DNN效果下降

ii. GBDT模型

a)单独进行训练,输入包含归一化和未归一化的稠密特征

b)能处理未归一化的连续和离散特征

c)能根据熵增益自动对输入特征进行离散和组合

iii.    FM融合层

a)FM模型与DNN模型作为同一个网络同时训练

b)将DNN特征,GBDT输出和稀疏特征进行融合并交叉

iv.使用分布式的TensorFlow进行训练

v.使用基于TensorFlow Serving的微服务进行在线预测

DNN+GBDT+FM的ensemble模型使用的是Adam优化器。Adam结合了The Adaptive Gradient Algorithm(AdaGrad)和Root Mean Square Propagation(RMSProp)算法,具有更优的收敛速率,每个变量有独自的下降步长,整体下降步长会根据当前梯度进行调节,能够适应带噪音的数据。实验测试了多种优化器,Adam的效果是最优的。

4.5 工业界DNN ranking现状

(1)Youtube于2016年推出DNN排序算法

(2)上海交通大学和UCL于2016年推出Product-based Neural Network(PNN)网络进行用户点击预测。PNN相当于在DNN层做了特征交叉,我们的做法是把特征交叉交给FM去做,DNN专注于深层信息的提取

(3)Google于2016年推出Wide And Deep Model,这个也是我们当前模型的基础,在此基础上使用FM替换了Cross Feature LR,简化了计算复杂度,提高交叉的泛化能力

(4)阿里今年使用attention机制推出了Deep Interest Network(DIN)进行商品点击率预估,优化embedding向量的准确性,值得借鉴

5.总结

推荐系统的排序是一个经典的机器学习场景,对于推荐结果影响也十分重大,除了对模型算法的精益求精之外,更需要对业务的特征,工程的架构,数据处理的细节和pipeline的流程进行仔细推敲和深入的优化。Ranking引入DNN仅仅是个开始,后续还需要在模型架构、Embedding特征、多样性、冷启动和多目标学习中做更多的尝试,提供更准确,更人性化的推荐,优化用户体验。

第四范式先荐
第四范式先荐

个性化推荐专家“先荐”带你解锁推荐系统!

https://www.tuijianxitong.cn/
产业人工智能个性化推荐推荐算法推荐系统
相关数据
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

排序算法技术

排序算法是将一串数据依照特定排序方式进行排列的算法,最常用到的排序方式是数值顺序以及字典顺序。基本上,排序算法的输出必须遵守下列两个原则:输出结果为递增序列(递增是针对所需的排序顺序而言);输出结果是原输入的一种排列、或是重组。

数据分析技术

数据分析是一类统计方法,其主要特点是多维性和描述性。有些几何方法有助于揭示不同的数据之间存在的关系,并绘制出统计信息图,以更简洁的解释这些数据中包含的主要信息。其他一些用于收集数据,以便弄清哪些是同质的,从而更好地了解数据。 数据分析可以处理大量数据,并确定这些数据最有用的部分。

机器学习排序技术

排序学习可以是监督,半监督或强化学习,用于构建信息检索系统的排名模型。训练数据通常为包含部分排序信息的列表,该排序通常表示为对每个物体都使用一个数字或序号表示的分数,或者是二元判断(相关或不相关)。排序模型的最终目的是得到可靠的排序,即便列表中的物体未曾出现过。常用的排序学习方法主要有:逐个的(PointWise),逐对的(PairWise)和逐列的(ListWise)。

权重技术

线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果权重为 0,则相应的特征对模型来说没有任何贡献。

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

协同过滤技术

协同过滤(英语:Collaborative Filtering),简单来说是利用某兴趣相投、拥有共同经验之群体的喜好来推荐用户感兴趣的信息,个人通过合作的机制给予信息相当程度的回应(如评分)并记录下来以达到过滤的目的进而帮助别人筛选信息,回应不一定局限于特别感兴趣的,特别不感兴趣信息的纪录也相当重要。协同过滤又可分为评比(rating)或者群体过滤(social filtering)。其后成为电子商务当中很重要的一环,即根据某顾客以往的购买行为以及从具有相似购买行为的顾客群的购买行为去推荐这个顾客其“可能喜欢的品项”,也就是借由社区的喜好提供个人化的信息、商品等的推荐服务。除了推荐之外,近年来也发展出数学运算让系统自动计算喜好的强弱进而去芜存菁使得过滤的内容更有依据,也许不是百分之百完全准确,但由于加入了强弱的评比让这个概念的应用更为广泛,除了电子商务之外尚有信息检索领域、网络个人影音柜、个人书架等的应用等。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

收敛技术

在数学,计算机科学和逻辑学中,收敛指的是不同的变换序列在有限的时间内达到一个结论(变换终止),并且得出的结论是独立于达到它的路径(他们是融合的)。 通俗来说,收敛通常是指在训练期间达到的一种状态,即经过一定次数的迭代之后,训练损失和验证损失在每次迭代中的变化都非常小或根本没有变化。也就是说,如果采用当前数据进行额外的训练将无法改进模型,模型即达到收敛状态。在深度学习中,损失值有时会在最终下降之前的多次迭代中保持不变或几乎保持不变,暂时形成收敛的假象。

TensorFlow技术

TensorFlow是一个开源软件库,用于各种感知和语言理解任务的机器学习。目前被50个团队用于研究和生产许多Google商业产品,如语音识别、Gmail、Google 相册和搜索,其中许多产品曾使用过其前任软件DistBelief。

推荐系统技术

推荐系统(RS)主要是指应用协同智能(collaborative intelligence)做推荐的技术。推荐系统的两大主流类型是基于内容的推荐系统和协同过滤(Collaborative Filtering)。另外还有基于知识的推荐系统(包括基于本体和基于案例的推荐系统)是一类特殊的推荐系统,这类系统更加注重知识表征和推理。

特征工程技术

特征工程是利用数据所在领域的相关知识来构建特征,使得机器学习算法发挥其最佳的过程。它是机器学习中的一个基本应用,实现难度大且代价高。采用自动特征工程方法可以省去采用人工特征工程的需求。Andrew Ng 说“挖掘特征是困难、费时且需要专业知识的事,应用机器学习其实基本上是在做特征工程。”

逻辑技术

人工智能领域用逻辑来理解智能推理问题;它可以提供用于分析编程语言的技术,也可用作分析、表征知识或编程的工具。目前人们常用的逻辑分支有命题逻辑(Propositional Logic )以及一阶逻辑(FOL)等谓词逻辑。

噪音技术

噪音是一个随机误差或观测变量的方差。在拟合数据的过程中,我们常见的公式$y=f(x)+\epsilon$中$\epsilon$即为噪音。 数据通常包含噪音,错误,例外或不确定性,或者不完整。 错误和噪音可能会混淆数据挖掘过程,从而导致错误模式的衍生。去除噪音是数据挖掘(data mining)或知识发现(Knowledge Discovery in Database,KDD)的一个重要步骤。

过拟合技术

过拟合是指为了得到一致假设而使假设变得过度严格。避免过拟合是分类器设计中的一个核心任务。通常采用增大数据量和测试样本集的方法对分类器性能进行评价。

特征选择技术

在机器学习和统计学中,特征选择(英语:feature selection)也被称为变量选择、属性选择或变量子集选择。 它是指:为了构建模型而选择相关特征(即属性、指标)子集的过程。

主题模型技术

主题模型(Topic Model)在机器学习和自然语言处理等领域是用来在一系列文档中发现抽象主题的一种统计模型。直观来讲,如果一篇文章有一个中心思想,那么一些特定词语会更频繁的出现。比方说,如果一篇文章是在讲狗的,那“狗”和“骨头”等词出现的频率会高些。如果一篇文章是在讲猫的,那“猫”和“鱼”等词出现的频率会高些。而有些词例如“这个”、“和”大概在两篇文章中出现的频率会大致相等。但真实的情况是,一篇文章通常包含多种主题,而且每个主题所占比例各不相同。因此,如果一篇文章10%和猫有关,90%和狗有关,那么和狗相关的关键字出现的次数大概会是和猫相关的关键字出现次数的9倍。一个主题模型试图用数学框架来体现文档的这种特点。主题模型自动分析每个文档,统计文档内的词语,根据统计的信息来断定当前文档含有哪些主题,以及每个主题所占的比例各为多少。

Adam优化器技术

自适应矩估计(Adam)优化器是计算每个参数的自适应学习率的另一种方法。 除了存储像Adadelta和RMSprop之类的过去平方梯度vtvt的指数衰减平均数之外,Adam也保持了过去梯度mtmt的指数衰减平均值,类似于动量:

优化器技术

优化器基类提供了计算梯度loss的方法,并可以将梯度应用于变量。优化器里包含了实现了经典的优化算法,如梯度下降和Adagrad。 优化器是提供了一个可以使用各种优化算法的接口,可以让用户直接调用一些经典的优化算法,如梯度下降法等等。优化器(optimizers)类的基类。这个类定义了在训练模型的时候添加一个操作的API。用户基本上不会直接使用这个类,但是你会用到他的子类比如GradientDescentOptimizer, AdagradOptimizer, MomentumOptimizer(tensorflow下的优化器包)等等这些算法。

爱奇艺机构

2010年4月22日正式上线,推崇品质、青春、时尚的品牌内涵如今已深入人心,网罗了全球广大的年轻用户群体,积极推动产品、技术、内容、营销等全方位创新。企业愿景是做一家以科技创新为驱动的伟大娱乐公司。于2018年3月29日在纳斯达克上市。

http://iQIYI.COM
推荐文章
暂无评论
暂无评论~