Xiangyu et al. Whole-Chain Recommendations. CIKM, 2020.
随着强化学习(RL)的流行,基于强化学习(RL)的推荐系统得到了广泛的关注。在实际的推荐会话中,用户将依次访问多个场景,如入口页面和项目详情页面,每个场景都有其特定的特征。然而,大多数现有的基于rl的推荐系统都专注于为所有场景优化一个策略,或者快速地优化每个策略,这可能会导致整体性能不佳。本文研究了多(连续)场景下的推荐问题,即全链推荐问题。我们提出了一种基于多智能体rl的方法(DeepChain),该方法可以捕获不同场景之间的顺序相关性,共同优化多个推荐策略。具体来说,所有的推荐代理(RAs)共享相同的用户历史行为的记忆,他们协作或最大限度地提高一个会话的整体回报。需要注意的是,在现有的无模型RL模型[22]-中,多个推荐策略的优化共同面临两个挑战:(1)需要大量的用户行为数据,(2)奖励(用户反馈)的分配极不平衡。
改论文引入了基于模型的RL技术,以减少训练数据的需求,并执行更精确的策略更新。在一个真实的电子商务平台上进行的实验结果验证了该框架的有效性。
Yuchin et al. Field-aware Factorization Machines for CTR Prediction. RecSys, 2016.
FFM(Field-aware Factorization Machine)最初的概念来自Yu-Chin Juan(阮毓钦,毕业于中国台湾大学,现在美国Criteo工作)与其比赛队员,是他们借鉴了来自Michael Jahrer的论文[14]中的field概念提出了FM的升级版模型。通过引入field的概念,FFM把相同性质的特征归于同一个field。以上面的广告分类为例,“Day=26/11/15”、“Day=1/7/14”、“Day=19/2/15”这三个特征都是代表日期的,可以放到同一个field中。同理,商品的末级品类编码生成了550个特征,这550个特征都是说明商品所属的品类,因此它们也可以放到同一个field中。简单来说,同一个categorical特征经过One-Hot编码生成的数值特征都可以放到同一个field,包括用户性别、职业、品类偏好等。在FFM中,每一维特征 x i x_i xi ,针对其它特征的每一种field f j f_j fj ,都会学习一个隐向量 v i , f j v_{i,f_j} vi,fj 。因此,隐向量不仅与特征相关,也与field相关。也就是说,“Day=26/11/15”这个特征与“Country”特征和“Ad_type"特征进行关联的时候使用不同的隐向量,这“Country”和“Ad_type”的内在差异相符,也是FFM中“field-aware”的由来。
Xinran et al. Practical Lessons from Predicting Clicks on Ads at Facebook. KDD, 2014.
这篇文章主要介绍了CTR预估模型LR(Logistic Regression)+GBDT。当时深度学习还没有应用到计算广告领域,而在此之前为探索特征交叉而提出的FM(见本系列第一篇)和FFM(本系列忘写了…)虽然能够较好地解决 数据稀疏性 的问题,但他们仍停留在二阶交叉的情况。如果要继续提高特征交叉的维度,不可避免的会发生组合爆炸和计算复杂度过高等问题。在此基础上,2014年Facebook提出了基于GBDT+LR组合模型的解决方案。简而言之,Facebook提出了一种 利用GBDT(Gradient Boosting Decision Tree)自动进行特征筛选和组合,进而生成新的离散特征向量 ,再把该特征向量当作LR模型输入,预估CTR的模型结构。随后Kaggle竞赛也有实践此思路,GBDT与LR融合开始引起了业界关注。
LR+GBDT相比于单纯的LR或者GBDT带来了较大的性能提升,论文中给出数据为3%,这在CTR预估领域确实非常不错。除此之外,Facebook还在在线学习、Data freshness、学习速率、树模型参数、特征重要度等方面进行了探索。
Maxim et al. Deep Learning Recommendation Model for Personalization and Recommendation Systems. arXiv, 2019.
DLRM是facebook在2019年提出的一套基于ctr预估的模型,颇具工业色彩,它的结构集成了DNN和FM的特点,相比起FM和DeepFM模型,这套方案能够同时接受高度离散化特征(sparse feature)与稠密特征(dense feature), 在上层通过FM式的inner product进行交叉,最后经过softmax/sigmond层进行预估。
James et al. The YouTube Video Recommendation System. RecSys, 2010.
用户使用YouTube时一般有三种目的:1. 观看特定的video;2.观看特定topic的video;3.浏览并寻找感兴趣的视频。推荐系统主要为第三种需求服务,因此,推荐系统的目标是为用户推荐高质量并贴合他们的兴趣的视频,推荐结果应该随时间和用户最近的行为更新。在YouTube的推荐应用中,存在一些特殊的挑战:
系统设计
推荐系统的输入主要由内容相关的信息和用户行为相关的信息组成。其中,用户行为包括explicit和implicit feedback。前者是指用户评分、明确表示喜欢、不喜欢等行为,后者是浏览、观看等行为。原始数据中还含有非常多的噪声,很多不可控因素会影响原始数据的质量。
为了确定要推荐哪些视频,文章给出了相关视频的定义:视频v的相关视频是指可能在视频v之后被用户观看的视频。两个视频的相关性由关联规则挖掘方法来确定。 将用户观看过的视频、喜欢过的视频、收藏过的视频等等作为种子集合,再把它们的相关视频集合合并到一起,就得到了一个最简单的召回策略。但实际上,由于用户的口味在一定时期往往保持一致,这些种子视频的范围往往很狭窄。
为了扩大多样性,YouTube选择召回的不是1步相关视频,而是n-步相关视频,即种子视频迭代n次后得到的相关视频集合。
Ranking:在得到召回的视频集合以后,需要对这些相关视频进行排序。
用于排序的数据主要包括:1.视频质量:包括观看次数、视频评分、评论、喜欢和分享次数等等; 2.用户数据:视频和当前用户的兴趣的match程度; 3.多样性:要在被推荐的视频集合的类别中做一个平衡,以保持结果的多样性。这些数据最终被线性组合起来,得到ranking的评分。
Jason et al. Label Partitioning For Sublinear Ranking. JMLR, 2013.
现实场景中有很多任务需要对海量物品打分并排序,例如在推荐系统里,响应一个用户的请求时,可能需要对数百万个视频打分并排序,然后把前k个视频呈现给用户。以往的方法是对每个物品逐个打分,这样的话,时间复杂度随着物品数量线性增长(不算排序),当面对百万量级的物品时,这些算法不能够满足实时性。
本文提出一种基于物品(也称作标签,label)分割的算法,只需要套在原有算法的外层(wapper),就可以实现亚线性排序,甚至可以改善原有算法的精度。
note: y = x z y=x^z y=xz ,当 z = 1 z=1 z=1 时,y是x的线性函数,当z<1时,y是x的亚线性函数,当z>1时,y是x的超线性函数。
note: 本文方法并不能提高原有算法的训练速度,只能应用在原有算法推理阶段,提高实时响应速度。
Paul et al. Deep Neural Networks for YouTube Recommendations.** RecSys, 2016.
本文提出了一种高效的基于深度学习的推荐系统。该系统和工业界经典的推荐流程一样,系统分为候选集生成(也称为搜索或召回)和排序两个阶段,这两个阶段分别使用了一个深度神经网络,本文从实践的角度对特征处理,模型训练和调优都有详细介绍。
ytb面临的主要问题有:
作者之所以用DNN解决这些问题,是因为Google目前通用的学习方案都开始转向深度学习,该系统基于TensorFlow搭建在Google Brain上,推荐模型的变量将近10亿,并经受了超千亿的样本训练。其结构图和工业届常规的推荐系统结构图并无二致,整个推荐系统分为候选集生成(也称为搜索/召回)和排序两个阶段:
本文是工业届对DNN在推荐系统上的应用的最新报告。其最突出的贡献应当在于如何结合业务实际和用户场景,选择等价问题,实现推荐系统。主要贡献如下:
Heng-Tze et al. Wide & Deep Learning for Recommender Systems. DLRS, 2016.
现在推荐系统的一个难点就是同时实现Memorization以及Generalization,这个难点与搜索排名问题相似。
本文中,介绍了一种新的方法,Wide&Deep,包括两部分-Wide Part和Deep Part。
Wide部分:利用了广义线性模型,提高可解释性。
在大规模的在线推荐系统中,logistic regression应用非常广泛,因为其简单、易扩展、可解释性。LR的输入多半是二值化后的one-hot稀疏特征。Memorization可通过在稀疏特征上做特征交叉来实现,例如:user_installed_app=netflix,impression_app=pandora,当user_installed_app与impression_app的取值都为1时,其组合特征AND(user_installed_app=netflix, impression_app=pandora)的值则为1,否则为0。
缺点:无法学习高阶组合特征,并且需要进行人工特征工程。
Deep部分:主要是发现训练集中未出现的高阶组合特征。
Embedding-based模型可以在很少的特征工程情况下,通过学习一个低维的embedding vector来学习训练集中从未见过的组合特征。例如,FM与DNN。不需要进行复杂的特征工程。
缺点:当query-item矩阵是稀疏并且是high-rank的时候(比如user有特殊的爱好,或item比较小众),很难非常效率的学习出低维度的表示。这种情况下,大部分的query-item都没有什么关系。但是dense embedding会导致几乎所有的query-item预测值都是非0的,这就导致了推荐过度泛化,会推荐一些不那么相关的物品。
Wide&Deep结合以上两者的优点,平衡Memorization和Generalization。相比于wide-only和deep-only的模型,Wide&Deep提升显著。
Ruoxi et al. Deep & Cross Network for Ad Click Predictions. KDD, 2017.
CTR预估是一个大规模的问题。在做特征工程时如果能探索到少量的cross feature,这会产生一个好的预测结果。但是大规模的稀疏特征,对于特征的探索产生了极大的挑战。
本文提出一个新颖的网络结构,cross network,其主要优势:
Alex et al. Latent Cross: Making Use of Context in Recurrent Recommender Systems. WSDM, 2018.
在本文中,作者首先研究了在前馈神经网络中将情景特征上下文信息(时间、地点、场景…)直接构造出特征的方式对于捕捉特征交叉效果一般。然后作者介绍了Youtube中使用的RNN模型,最后提出了Latent Cross模型,通过将情景特征和RNN中隐状态做点积的方式将情景信息添加到模型中。
主要贡献: