爱奇艺个性化推荐排序实践
2017-11-14 18:00:39 来源:易采站长网友投稿 作者:admin
正在海量的内容正在满意了我们需供的同时,也使我们寻觅所需内容愈加艰难,正在那种状况下本性化保举应运而死。

正在当前那个挪动互联网时期,除专业内容的丰硕,UGC内容更是发作式开展,每一个用户既是内容的消耗者,同样成为了内容的缔造者。那些海量的内容正在满意了我们需供的同时,也使我们寻觅所需内容愈加艰难,正在那种状况下本性化保举应运而死。
本性化保举是正在年夜数据阐发战野生智能手艺的根底上,经由过程研讨用户的爱好偏偏好,停止本性化计较,从而给用户供给下量量的本性化内容,处理疑息过载的成绩,更好的满意用户的需供。
爱偶艺保举体系引见
我们的保举体系次要分为两个阶段,召回阶段战排序阶段。
召回阶段按照用户的爱好战汗青止为,同万万级的视频库中选择出一个小的候全集(几百到几千个视频)。那些候选皆是用户感爱好的内容,排序阶段正在此根底长进止更粗准的计较,可以给每个视频停止准确挨分,进而从不计其数的候选当选出用户最感爱好的大批下量量内容(十几个视频)。

保举体系的团体构造如图所示,各个模块的做用以下:
用户绘像:包罗用户的人群属性、汗青止为、爱好内容战偏偏好偏向等多维度的阐发,是本性化的基石
特性工程:包罗了了视频的种别属性,内容阐发,人群偏偏好战统计特性等齐圆位的描画战襟怀,是视频内容战量量阐发的根底
召回算法:包罗了多个通讲的召回模子,好比协同过滤,主题模子,内容召回战SNS等通讲,可以从视频库当选出多样性的偏偏好内容
排序模子:对多个召回通讲的内容停止统一个挨分排序,选出最劣的大批成果。
除那些以外保举体系借统筹了保举成果的多样性,新颖度,逼格战欣喜度等多个维度,更可以满意用户多样性的需供。
保举排序体系架构
正在召回阶段,多个通讲的召回的内容是没有具有可比性的,而且果为数据量太年夜也易以停止愈加准确的偏偏好战量量评价,因而需求正在排序阶段对召回成果停止同一的精确的挨分排序。
用户对视频的合意度是有许多维度果子去决议的,那些果子正在用户合意度中的主要性也各没有不异,以至各个果子之间借有多层依靠干系,报酬造定庞大的划定规矩既易以到达好的结果,又没有具有可保护性,那便需求借助机械进修的办法,利用机械进修模子去综开多圆里的果子停止排序。

排序体系的架构如图所示,次要由用户止为搜集,特性挖充,锻炼样本挑选,模子锻炼,正在线猜测排序等多个模块构成。
机械进修的主体流程是比力通用的,设想架构其实不需求庞大的实际,更多的是需求对细节,数据流战架构逻辑的认真琢磨。
那个架构设想汲取了从前的经历战经验,正在通用机械进修的架构根底上处理了两个成绩:
锻炼猜测的分歧性
机械进修模子正在锻炼战猜测之间的差别会对模子的精确性发生很年夜的影响,特别是模子锻炼取正在线效劳时特性纷歧致,好比用户对保举成果的反应会及时影响到用户的偏偏好特性,正在锻炼的时分用户特性的形态曾经发作了变革,模子假如根据那个时分的用户特性便会发生十分年夜的偏差。
我们的处理法子是,将正在线效劳时的特性保留下去,然后挖充到搜集的用户止为样本中,那样便包管了锻炼战猜测特性的分歧性。
连续迭代
互联网产物连续迭代上线是常态,正在架构设想的时分,数据筹办,模子锻炼战正在线效劳皆必需可以对连续迭代有优良的撑持。
我们的处理计划是,数据筹办战模子锻炼各阶段解耦,而且战略设置化,那种架构使模子测试变得十分简朴,能够快速并止多个迭代测试。
保举机械进修排序算法演进
上古期间
我们第一次上线机械进修排序模子时,选用了比力简朴的Logistic Regression,将重面放到架构设想上,只管包管架构的准确性。除此以外,LR模子的注释性强,便利debug,而且经由过程特性权重能够注释保举的内容,找到模子的不敷的地方。
正在模子锻炼之前,我们尾先处理的是评测目标战劣化目的的成绩。
评测目标(metrics)
线上结果的评测目标需求取久远目的相婚配,好比利用用户的投进水平战活泼度等。正在我们的尝试中,业界盛行的CTR其实不是一个好的评测目标,它会更倾向于较短的视频,题目党战低雅内容。
离线评测目标是根据营业去定造的,以便取正在线评测目标婚配,那样正在离线阶段便可以裁减失落无效战略,制止华侈线上流量。
劣化目的(objective)
机械进修会根据劣化目的供解最劣解,假如劣化目的有偏向,获得的模子也存正在偏向,而且正在迭代中模子会不竭天背那个偏向的标的目的进修,偏向会愈加严峻。
我们的办法是给样本增加权重,而且将样本权重减到loss function中,使得劣化目的取评测目标尽量的分歧,到达掌握模子的目标。
LR是个线性分类模子,请求输进是线性自力特性。我们利用的浓密的特性(维度正在几十到几百之间)常常皆长短线性的,而且具有依靠性,因而需求对特性停止转换。
特性转换需求对特性的散布,特性取label的干系停止阐发,然后接纳适宜的转换办法。我们用到的有以下几种:Polynomial Transformation,Logarithmic or Exponential Transformation,Interaction Transformation战Cumulative Distribution Function等。
固然LR模子简朴,注释性强,不外正在特性逐步增加的状况下,优势也是不言而喻的。
特性皆需求野生停止转换为线性特性,非常耗损人力,而且量量不克不及包管
特性两两做Interaction 的状况下,模子猜测庞大度是。正在100维浓密特性的状况下,便会有组开出10000维的特性,庞大度下,删减特性艰难
三个以上的特性停止Interaction 险些是不成止的
中古期间
为理解决LR存正在的上述成绩,我们把模子晋级为Facebook的GBDT+LR模子,模子构造如图所示。

GBDT是基于Boosting 思惟的ensemble模子,由多颗决议计划树构成,具有以下长处:
对输进特性的散布出有请求
按照熵删益主动停止特性转换、特性组开、特性挑选战离集化,获得下维的组开特性,省来了野生转换的历程,而且撑持了多个特性的Interaction
猜测庞大度取特性个数无闭
假定特性个数n=160决议计划数个数k=50,树的深度d=6,两代模子的猜测庞大度比照以下,晋级以后模子庞大度低落到本来的2.72%

GBDT取LR的stacking模子相对只用GBDT会有稍微的提拔,更年夜的益处是避免GBDT过拟开。晋级为GBDT+LR后,线上结果提拔了约5%,而且果为省来了对新特性停止野生转换的步调,删减特性的迭代测试也更简单了。
远代汗青
GBDT+LR排序模子中输进特性维度为几百维,皆是浓密的通用特性。
那种特性的泛化才能优良,可是影象才能比力好,以是需求删减下维的(百万维以上)内容特性去加强保举的影象才能,包罗视频ID,标签,主题等特性。
GBDT是没有撑持下维稠密特性的,假如将下维特性减到LR中,一圆里需求野生组开下维特性,另外一圆里模子维度战计较庞大度会是O(N^2)级此外增加。以是设想了GBDT+FM的模子如图所示,接纳Factorization Machines模子交换LR。

Factorization Machines(FM)模子以下所示,具有以下几个长处:
模子公式

前两项为一个线性模子,相称于LR模子的做用
第三项为一个两次穿插项,可以主动对特性停止穿插组开
经由过程删减隐背量,模子锻炼战猜测的计较庞大度降为了O(N)
撑持稠密特性
那几个长处,使的GBDT+FM具有了优良的稠密特性撑持,FM利用GBDT的叶子结面战稠密特性(内容特性)做为输进,模子构造表示图以下,GBDT+FM模子上线后比拟GBDT+LR正在各项目标的结果提拔正在4%~6%之间。
典范的FM模子中利用user id做为用户特性,那会招致模子维度疾速删年夜,而且只能笼盖部门热点用户,泛化才能比力好。正在此我们利用用户的不雅看汗青和爱好标签替代user id,低落了特性维度,而且果为用户爱好是能够复用的,同时也进步了对应特性的泛化才能。
我们次要测验考试利用了L-BFGS、SGD战FTRL(Follow-the-regularized-Leader)三种劣化算法停止供解:
SGD战L-BFGS结果相好没有年夜,L-BFGS的结果取参数初初化干系严密
FTRL,较SGD有以下劣势:
带有L1正则,进修的特性愈加稠密
利用乏计的梯度,加快支敛
按照特性正在样本的呈现频次肯定该特性进修率,包管每一个特性有充实的进修
FM模子中的特性呈现的频次相好很年夜,FTRL可以包管每一个特性皆能获得充实的进修,更合适稠密特性。线上测试表白,正在稠密特性下FTRL比SGD有4.5%的结果提拔。
今世模子
GBDT+FM模子,对embedding等具有构造疑息的深度特性操纵没有充实,而深度进修(Deep Neural Network)可以对嵌进式(embedding)特性战一般浓密特性停止进修,抽与出深层疑息,进步模子的精确性,并曾经胜利使用到寡多机械进修范畴。因而我们将DNN引进到排序模子中,进步排序团体量量。
DNN+GBDT+FM的ensemble模子架构如图所示,FM层做为模子的最初一层,即交融层,其输进由三部门构成:DNN的最初一层躲藏层、GBDT的输出叶子节面、下维稠密特性。DNN+GBDT+FM的ensemble模子架构引见以下所示,该模子上线后相对GBDT+FM有4%的结果提拔。

DNN模子
利用齐毗连收集,共三个躲藏层。
躲藏节面数量别离为1024,512战256。
预锻炼好的用户战视频的Embedding背量,包罗基于用户止为和基于语义内容的两种Embedding。
DNN能从具有优良数教散布的特性中抽与深层疑息,好比embedding特性,回一化后统计特性等等。
固然DNN其实不请求特性必需回一化,不外测试发明有些特性果为outlier的颠簸范畴过年夜,会招致DNN结果降落。
GBDT模子
零丁停止锻炼,输进包罗回一化战已回一化的浓密特性。
能处置已回一化的持续战离集特性。
能按照熵删益主动对输进特性停止离集战组开。
FM交融层
FM模子取DNN模子做为统一个收集同时锻炼。
将DNN特性,GBDT输出战稠密特性停止交融并穿插。
利用散布式的TensorFlow停止锻炼
利用基于TensorFlow Serving的微效劳停止正在线猜测
DNN+GBDT+FM的ensemble模子利用的是Adam劣化器。Adam分离了The Adaptive Gradient Algorithm(AdaGrad)战Root Mean Square Propagation(RMSProp)算法。具有更劣的支敛速度,每一个变量有单独的降落步少,团体降落步少会按照当前梯度停止调理,可以顺应带乐音的数据。尝试测试了多种劣化器,Adam的结果是最劣的。
产业界DNN ranking近况
Youtube于2016年推出DNN排序算法。
上海交通年夜教战UCL于2016年推出Product-based Neural Network(PNN)收集停止用户面击猜测。PNN相称于正在DNN层做了特性穿插,我们的做法是把特性穿插交给FM来做,DNN专注于深层疑息的提与。
Google于2016年推出Wide And Deep Model,那个也是我们当前模子的根底,正在此根底上利用FM交换了Cross Feature LR,简化了计较庞大度,进步穿插的泛化才能。
阿里本年利用attention机造推出了Deep Interest Network(DIN)停止商品面击率预估,劣化embedding背量的精确性,值得鉴戒。
总结
保举体系的排序是一个典范的机械进修场景,关于保举成果影响也非常严重,除对模子算法的锦上添花以外,更需求对营业的特性,工程的架构,数据处置的细节战pipeline的流程停止认真琢磨战深化的劣化。
Ranking引进DNN仅仅是个开端,后绝借需求正在模子架构,Embedding特性,多样性,热启动战多目的进修中做更多的测验考试,供给更精确,更兽性化的保举,劣化用户体验。
End.
做者:Michael
滥觞:http://www.36dsj.com/archives/102164
本文滥觞于大家皆是产物司理协作媒体@36年夜数据,做者@Michael
题图去自PEXELS,基于CC0和谈











闽公网安备 35020302000061号