【华为推荐论文】如何学习未知样本?基于反事实学习的推荐系统技术研究(附论文下载链接)...
华为诺亚方舟实验室发布了最新研究成果《Improving Ad Click Prediction by Considering Non-displayed Events》,提出了一种基于反事实学习的CTR预估方法(CLCTR),通过考虑未观察样本,解决传统CTR预估算法普遍存在的选择偏置和数据偏置问题,达到提升CTR预估准确性的目的,在公开数据集和真实数据集上实验均相比现有最好算法有较大幅度的提升。该论文已被CIKM2019录用。
关注公众号并回复“1102”,获取论文下载链接。
研究背景
CTR预估问题是推荐系统的核心问题,目前主流的建模方式都将之视为二分类问题,即将有用户正向反馈的作为正样本,反之作为负样本,然后发展出各种或简单或复杂的学习算法。这些经典算法均默认存在一个前提假设:观察到的CTR即为真实CTR,所以经典算法的目标是如何更好拟合观察到的数据分布。这直接导致了推荐系统中的马太效应,强者恒强,弱者愈弱。一个物品被推荐给用户,可能是因为它比较流行,而不是因为用户会对它感兴趣,这既影响用户体验,也影响平台收入。
选择偏置 & 未观察样本 & 反事实学习
上面提到的马太效应的根因是推荐系统采集到的用户反馈是存在选择偏置的。现实情况是,推荐系统根据用户的历史信息进行个性化展示,同时用户只会对排名靠前的物品做出反馈,这会使得观察到的用户喜好与真实的用户喜好不符。
我们可以设想下,最完美的用于学习推荐模型的样本应该是,将所有候选集机会均等地展示给每一个用户,让用户选择;但由于工业界的推荐系统有海量的用户和候选物品,所以无法获取这样的无偏数据样本。最简单可实施的方案是对这种理想情况进行无偏采样,即给用户均匀随机地展示物品,这也是业界最常见的解决方案,Google、Criteo、Pinterest、Spotify等公司均采用了随机流量。于是,我们可以利用随机流量来观察选择偏置的存在。假设非随机流量下的观察到的物品的ctr为ctr1,随机流量下item ctr为ctr2,如下图所示,横坐标是各个物品被观察到的概率p,纵坐标是相应的log(ctr1/ctr2),表示两个策略下同一个物品的差异,越接近0,差异越小。可见,展示概率越低的物品的选择偏置越严重,因为这部分物品只在相对靠后的位置、展示给了少量的用户,属于尾部物品。也就是说,选择偏置是推荐系统对长尾物品推荐准确性不高的一个原因。
既然已观测样本存在选择偏置问题,那么直观地可以想到将未观察到的样本纳入模型训练来解决问题。引入未观察样本,我们可以模拟一个每个用户对所有物品均有反馈的理想的无偏环境。这种通过模拟环境,获取现实世界中不存在的观测数据的方法,就是图灵奖获得者珀尔教授提出的因果论的第三层级——反事实学习。珀尔教授将因果推理定义为3个层级。
1. 关联:珀尔指出目前AI和机器学习处于第一层级,被动地接受观测结果,拟合观测数据;
2. 干预:主动地实施行动,从被动地观察转向主动地探索因果关系并作出更好地决策;
3. 反事实推理:对现实世界中未出现的情形进行推理,扩展合理的数据样本空间,摆脱可观测样本由于数据偏置造成的限制。
一个有趣的例子是,自然条件下,日出之前总有公鸡打鸣,若是把这个观察样本交给模型学习,则模型会预测当公鸡打鸣时太阳会升起,虽然我们知道公鸡打鸣不是太阳升起的原因。这个例子也说明了经典学习算法的不足,而反事实学习会引入现实中不存在的假想,若是让所有公鸡都不叫,太阳会升起吗?显然,反事实学习可以避免模型陷入只对观测样本分析造成的偏置陷阱。
我们的算法CLCTR
目前也有一些反事实学习算法被用以解决上文提到的问题,主要分为direct method,inverse-propensity-scoring method, doubly robust method三个方向。
Direct Method
该方法直接将未观察样本纳入模型训练,其性能受未观察样本的label的质量影响。
由imputation model
估计得到,但现有的方法却用存在bias的观察数据来训练
,这是不能得到unbias结果的。另外,大量未观察样本的引入会造成模型运算量剧增,如何解
决复杂度也是很有挑战的问题。
Inverse-Propensity-Scoring(IPS) Method
该方法虽然仅利用了已观察样本,但可以通过propensity score 来改变样本分布,使之与unbias分布保持一致。对于推荐系统,该方法还有一个先天问题,因为推荐系统会将排名靠前的n个item展示给user,而不是将所有item按概率随机展示给user,在这种deterministic setting下,是无法准确估计
的。
Doubly Robust Method
微软研究员的JohnLangford提出了Doubly Robust Methods,该方法是Direct Method与IPS Method的结合,既包含了这两种方法的优势,同时也引入了两种方法挑战。
受当前已有算法的启发,并为了解决上面提到的挑战,我们提出了一种新的反事实学习CTR预估算法(Counterfactual Learning CTR,CLCTR)。
CLCTR将Doubly Robust Method中的设为1,并引入超参
调节IPS和direct两部分loss。这样可以避免propensity score的估计误差。同时,为了得到unbias
,我们利用随机流量来估计未观察样本的label,并提出了average、item-average、complex三种imputation model。相应的算法架构如下图所示。
剩下的待解决问题是direct部分的复杂度问题。假设user数量为m,item数量为n,则
,同时CLCTR可改写为
然后,为了降低训练过程的时间复杂度,我们对FFM提出了一种Block Coordinate Decent优化方法,将非凸优化问题转化为多个block的凸优化问题,并利用
将复杂度降低为
,最终使得我们提出的方法不仅有理论保障,还具有很好的实用性。优化算法的数学推导较多,可在supplementary中看到细节。
实验结果
我们在公开数据集Yahoo!R3和真实产品数据集分别对比了各种主流算法来说明算法的有效性,其中CausE是Recsys2018最佳paper提出的算法。
由上表可知,我们提出的算法相比其它算法在NLL、AUC两种指标上均有优越性,除了New(complex)在Yahoo!R3的NLL表现,其原因主要是该数据集上的随机流量数据较少。
随机流量必然会带来这部分流量上的推荐效果损失,所以有必要让随机流量尽量的少,于是我们还做了随机流量大小的影响度实验。由上表的实验数据可知,即使华为公司数据集的随机流量仅占0.01%,我们的算法依然优于别的算法。需要注意New(complex)在随机流量较少时不如New(avg),因为这时imputation的训练样本量不够,预测准度下降。
结语
本研究的成果不仅可以用于推荐系统,解决数据偏置问题。其更大的意义在于改变了机器学习经典的建模方式,从只对“已观测样本”的学习范式升级为对“已观测样本”+“未观测样本”同时学习的范式。通过反事实学习技术构建更接近于真实分布的无偏样本空间,从而学习得到更好的模型。我们将继续深入研究反事实学习技术,并在真实的产品上落地验证。
更多细节请回复“1102”,下载论文全文查看。
「 更多干货,更多收获 」