如何平衡CVR预估中的延迟反馈问题?(内含招聘)

简介: 本文主要给出我们CVR模型在线学习的一些思考,并介绍我们被AAAI 2021接收的文章《Capturing Delayed Feedback in Conversion Rate Predictionvia Elapsed-Time Sampling》,以及该方法在淘宝搜索场景下的实践。

原创 向寒 淘系技术  3月11日


本文主要给出我们CVR模型在线学习的一些思考,并介绍我们被AAAI 2021接收的文章《Capturing Delayed Feedback in Conversion Rate Predictionvia Elapsed-Time Sampling》,以及该方法在淘宝搜索场景下的实践。


 摘要


转化率(CVR)预估是电商搜索、推荐和广告最关键任务之一。商业系统通常需要以在线学习的方式更新模型,以跟上不断变化的数据分布。但是,成交转化通常不会在用户单击商品后立即发生。这可能会导致label不准确,我们称之为延迟反馈问题。

在以前的研究中,延迟反馈问题是通过长时间等待正例样本来解决的;或者通过在到达样本时先消费负例样本,然后在之后真正转化时再插入正例样本来解决。
实际上,在等待更准确的label与使用新鲜数据之间存在折衷,这在现有工作中并未考虑。为了在这种折衷之间取得平衡,我们提出了Elapsed-Time Sampling Delayed Feedback Model (ES-DFM),该模型对观测转化分布(observed conversion)与真实转化分布(ground truth conversion)之间的关系进行建模;然后,我们在动态采样分布下(elapsed-time sampling),通过重要性采样(importance sampling)来优化真实转化分布的期望。
我们进一步估计每个样本的重要性权重,在CVR预估中用作损失函数的权重。为了证明ES-DFM的有效性,我们对公开数据和工业数据集进行了广泛的实验。实验结果证实,我们的方法始终优于以前的最新结果。


 介绍


通过深度学习模型来对成交转化率(CVR)做预估在学术界和工业界都得到了广泛的研究。为了捕获用户需求的动态变化,商业系统经常在短时间内,即以在线训练的方式,使用最新的数据来更新学习的模型。由于成交转化通常不会在用户点击后立即发生,因此这会使CVR的预估更加复杂。


Delayed Feedback问题为CVR模型在线学习引入了一个难题:一方面,我们需要等待足够长的时间,以便观察信息可以大致反映出真实的成交转化(label corretness);另一方面,我们也倾向于更新的预测模型(model-freshness)。


DFM[2]是解决延迟反馈问题的早期研究之一,提出的延迟反馈模型通过预估CVR和延迟时间分布的联合概率进行优化。这种在观测转化上的优化结果可能会偏离(biased from)真实的转化分布。为了在延迟反馈问题中实现无偏的CVR预估,最近的研究探索了通过重要性采样(importance sampling)[1]来优化真实转化分布期望的方法。


FNW(Fake Negative Weighted)[3]提出以下采样方式:每个到达的样本首先被标记为负例,然后在真正转化时进行校正。然而,在修正之前,每个假负例可能会对模型产生副作用。如果数据分布频繁更改,则会增加这种副作用。例如,在促销活动开始时,用户点击次数可能会急剧增加,而大多数转化是在一定时间之后发生的。这种不堪重负的假负例可能会损害预测模型。


FSIW(Feedback Shift Importance Weighting)[4]不是盲目地将每个传入的样板标记为负例,而是在一定的时间间隔内等待真实的成交转化。但是,即使随后发生成交转化事件,FSIW也不允许数据校正。我们认为正例对于延迟反馈预测很重要,因为正例总是比负例稀少。此外,由于等待时间过长,FSIW可能缺乏模型新鲜度。因此,要么近乎实时地更新模型,要么等待足够长的时间进行转换,都无法解决流式CVR预测中的延迟反馈问题。


对于CVR模型在线学习,我们提出了Elapsed-Time Sampling Delayed Feedback Model(ES-DFM),该模型对observed conversion分布和ground true conversion分布之间的关系进行建模。在我们的方案中引入动态采样分布(elapsed-time sampling),可以通过降低假负例的权重和提升真正例的权重来帮助模型纠正样本偏差。


为了证明ES-DFM的有效性,我们对两个广泛使用的数据集进行了广泛的实验——Criteo提供了一个公共广告转化日志,以及搜索工业数据集。实验结果证实,在大多数情况下,我们的方法始终优于以前的最新结果。我们的主要贡献可以概括如下:

据我们所知,我们是第一个研究CVR模型在线学习背景下,如何平衡label correctness和model freshness。 通过对采样时间建模为概率分布,我们实现了真实转化分布的无偏估计。 特别是在数据分布与常规不同时,我们的模型也显示出了鲁棒性。 我们提供了一套严格的实验设置,用于流式训练和评估,可以更好地与工业系统保持一致,并且可以轻松地应用于实际应用中。



▐  相关工作


Delayed Feedback Models

解决延迟反馈问题的最引人注目的工作来自DFM,作者指出,该问题与生存时间分析有关。 延迟反馈模型(DFM)假定了转化时间分布的指数延迟,并在此基础上提出了两个模型:一个模型关注CVR预测,另一个模型关注转化延迟预测。


NPDFM[5]以DFM模型为基础,进一步提出了非参数延迟反馈模型(NoDeF),其中在没有任何参数假设的情况下对延迟时间进行了建模。上述方法的一个显着缺点是它们都仅尝试优化观察到的转化信息,而不是实际的延迟转化。


Importance Sampling


通过重要性采样方法可以使用一个分布中的样本来估计对另一分布的期望。在FNW方法中,所有样本最初都标记为负,在这种实验设置下FNW可以解决延迟反馈问题。但是,在流式设置中,每个假负例都会对模型产生负面影响,直到其对应的正样本到达为止。这种负面影响可以在分布变化下急剧放大。FSIW提出了一种反馈转移重要性加权方法(FSIW),其中,重要性加权是借助等待时间信息来估计的。但是,FSIW不允许使用再次下发正样本(retract样本),因此无法利用来纠正偏差。



▐  背


在这项工作中,我们专注于CVR预估任务,该任务以用户特征xu和商品特征xi作为输入(所有特征均以x表示),旨在学习用户对商品的转化概率。y∈{0,1}表示转化label,其中y=1表示发生转换,否则y=0


理想情况下,CVR模型是在训练数据(x,y)的基础上训练的,该训练数据是从ground truth的p(x,y)的数据分布中得出的,从而优化了理想损失函数,如下所示:

Lideal=E(x,y)p(x,y)(y,fθ(x))


其中f是CVR模型函数,而θ是参数。ℓ是分类损失,采用了广泛使用的交叉熵。然而,由于延迟的反馈问题,所观察到的训练数据q(x,y)的分布经常偏离ground truth p(x,y)的分布。因此,理想损失Lideal不可用。


image.png

为了更精确地制定这样的延迟反馈设置,我们在上图中引入了三个时间点和相应的时间间隔。这三个时间点分别是用户单击某项时的单击时间ct,发生转化操作时的转化时间vt和提取训练样本时的观察时间ot。然后,将ct和ot之间的时间间隔记为采样时间e,将ct和vt之间的时间间隔记为延迟的反馈时间h因此,当e>h时,训练数据中的样本被标记为y=1(正),否则当e时,一些正样本被错误地标记为y=0(假负)。


▐  方法


为了实现对采样时间的灵活控制,我们假设采样时间从分布p(e|x)中得出。

然后,我们开发了一个概率模型,该模型结合了采样时间分布p(e|x),延迟时间分布p(h|x,y=1)1)和转换率p(y=1|x)进入统一框架。为了实现对实际CVR预估目标的无偏估计,我们提出了一种与我们的过去采样方法相对应的重要性加权方法。然后,我们提供了重要权重的实用估计,并对这种估计引入的偏差进行了分析,这可以指导我们设计适当的经过时间分布p(e|x)



Elapsed-Time Sampling Delayed Feedback Model



为了在获取准确的反馈信息和保持模型新鲜度之间取得平衡,应该将合理的等待时间(采样时间)整合到建模过程中。 


此外,采样时间e应该是取决于x的分布,即p(e|x)。例如,用户在购买高价产品时需要更多时间考虑,因此需要较长的等待时间。当点击xi到达时,经过的时间ei从p(e|xi)中得出。然后,在分配label之前,在ei的时间间隔内等待样本xi,然后对数据进行训练。通过引入时间分布,我们提出了ES-DFM,该模型对观察的转换分布q(y|x)和真实转化分布之间的关系进行建模p(y|x),根据:


image.png

其中,

image.png


在进行模型训练时,尚未发现最终会发生的某些转换,并且以前的方法(如DFM和FSIW)已忽略了这些转换。我们认为这对于延迟反馈任务很重要,因为积极的例子比消极的例子稀少得多,积极的例子可以为模型优化确定方向。因此,在这项工作中,只要用户与广告互动,数据就会被发送到具有正标签的模型(如果已经存在假阴性,则该数据将被复制)。然后,应重新标准化q(y|x),如下所示:


image.png

为了简洁起见,省略了x的条件,即q(y=0)=q(y=0|x),p(y=0)=p(y=0|x)。由于我们插入了延迟的正数,因此样本总数将增加p(y=1)p(h>e|y=1),因此我们应通过除以1+p(y=1)p(h>e|y=1)来归一化。负样本的数量不会更改,因此将除以该归一化因子。


正数将增加p(y=1)p(h>e|y=1),因此q(y=1)的分子为:

p(y=1)p(h<=e|y=1)+p(y=1)p(h>e|y=1)。

使用p(h<=e|y=1)+p(h>e|y=1)=1的事实得出。



Importance Weight of ES-DFM



为了获得延迟反馈问题中的无偏CVR估计,我们通过重要性采样优化了对p(y|x)的期望。首先,我们提供重要性抽样的理论背景,如下所示:

image.png

其中f是CVR模型函数,而θ是参数。ℓ是分类损失,采用了广泛使用的交叉熵。根据\ eqref {is_4},我们可以使用适当的权重image.png优化理想目标。


其次,我们进一步提供了建议的经过抽样分布下的重要性权重。从方程中,我们可以获得:

image.png

其中,

image.png

pdp(x)是deposited positive概率,表示样本是重复的正数的概率;prn(x)是真实负例概率,表示观察到的否定是基本事实否定且不会转换的概率。

最后,权衡CVR损失函数的重要性为:

image.png



Estimation of Importance Weight(IW)



通过重要性采样解决延迟反馈问题的挑战是我们需要估计重要性权重w(x,y)。在这项工作中,根据公式X和公式Y,我们将w(x,y)w(x,y)分解为两部分:pdp(x)和prn(x)


更准确地说,我们使用两个二进制分类器来估计这两个概率。即,我们训练一个分类器fdp来预测成为delayed positive的概率,并训练一个分类器frn来预测成为真实负例。


fdp(x)和frn(x)的模型架构与CVR预测模型相同。为了构造训练数据集,对于每个样本(xi,yi),从p(e|xi)中提取经过时间e。然后,对于fdp模型,延迟的正数标记为1,其他正数标记为0;对于frn模型,排除观察到的正值,然后将负值标记为1,将延迟的正值标记为0


实际上,所有这些需要的标签在流数据中都可用,并且可以通过损失函数上的掩码来实现数据选择,因此我们将frn和fdp模型与流媒体培训中的共享网络。


我们还可以通过估计p(y=1)和p(h>e)来计算重要性权重。具体地,可以通过在跟随FNW之后的历史数据上训练的模型fθ(x)来估计p(y=1)。并且,可以使用p(h|x,y=1)和p(e|x)的特定选择(例如多项式分布)来解析地计算p(h>e)可以使用y=1的过去数据估算p(h|x,y=1)


我们尝试了这种方法,具有均匀的经过时间分布p(e|x),但是性能比基线差(在观察到的数据分布下交叉熵损失)。我们将此失败归因于估算p(h|x,y=1)的难度:预测用户何时购买将比预测他是否会购买困难得多,因此,如果我们依赖于p(h|x,y=1),由于对p(h|x,y=1)的估计不准确,加权模型引入的偏差可能会很大。



Bias Analysis of Estimated IW



重要性加权损失函数\ meqref {emp_loss}使用理想的pdp和prn是无偏的。但是,由于估计的重要性权重fdp和frn,可能会引入偏差。通过优化损失函数\ meqref {emp_loss},并使用估计的fdp,frn代替理想的pdp,prn,可预测概率f(x)收敛到:

image.gif

image.png

取\meqref{emp_loss}相对于f的偏导数,并将导数设置为零。

结合上式:我们可以得出以下观察结果,它们可以指导我们设计适当的经过时间采样分布p(e|x)


  • 首先,如果frn完全正确,则我们有frn=prn,然后f(x)=p(y=1),因此不会产生偏差。但是,实际上,frn是通过历史数据学习的,总是存在偏差。

  • 其次,根据\ meqref {gdfm_bias}和\ meqref {pneg},偏差也与p(y=1|x)有关。因此,如果转换率的绝对值较大,则frn引入的偏差可能较大。

  • 最后,采样分布p(e|x)可用于控制偏差。如果e长,则p(h>e)会更小。

因此,p(y=0)+p(y=1)p(h>e)将接近p(y=0|x)。frn将更接近1,因为几乎没有假阴性。因此,pneg(x)frn(x)更接近p(y=0|x)


因此,我们可以控制等待时间(经过时间)分布p(e|x)以减少偏差,这是实现上述折衷的核心,也是现有方法的缺失部分。


▐  实验部分

为了评估所提出的模型,我们进行了一系列实验,以回答以下研究问题:
* RQ1与流式CVR预测任务的最新模型相比,ES-DFM的性能如何?
* RQ2不同的运行时间选择如何影响性能?数据集的最佳运行时间是多少?
* RQ3错误标记的样本如何影响流式训练中的重要性加权方法?
* RQ4ES-DFM在在线推荐系统中的性能如何?


▐  流式训练实验协议


我们设计了一种流式CVR预测的实验评估方法,可以充分验证不同方法在在线学习环境下的性能。在这项工作中,我们根据点击时间戳将流数据集划分为多个数据集,每个数据集包含一个小时的数据。该模型遵循工业系统在线培训的方式,先对t小时数据进行训练,然后对t+1小时数据进行测试,然后对t+1小时数据进行训练,再对t+2小时数据进行测试,依此类推。注意,训练数据是用假负片重建的,而评估数据是原始数据。因此,我们报告了不同时间的评估数据集的加权指标,以验证不同方法对流数据的整体性能。


▐  于p(e|x)的选取


基于专家知识和上述偏差分析,可以设计抽样经过时间分布p(e|x)。例如,用户在购买高价产品时需要更多的时间来考虑,因此需要较长的等待时间。然而,公共数据集是匿名的,没有价格水平等信息。为了验证在流媒体设置中引入p(e|x)的有效性,我们执行了p(e|x)的简化实现。


更精确地说,我们设置p(e=c|x)=1,其中c是一个常数,这意味着p(e|x)从一个分布退化到一个点。这给我们带来了以下两个好处。首先,我们可以在获得准确的反馈信息和保持模型新鲜度之间取得平衡,只需一个参数c。其次,我们在公共数据集中对不同的c进行了实验,实验结果表明选择最佳的c可以显著提高性能。


▐  标准的流式实验: RQ1

image.png

从表中,我们可以看到,我们提出的方案在所有基线的基础上显著提高了性能,达到了最先进的性能。

此外,还可以进行一些进一步的观察。DFM在匿名数据集和公共数据集的性能都比前者差。这是因为DFM难以收敛,因此无法在流式CVR预测中获得良好的性能,并且FSIW不允许在转换之后进行数据校正,这对于延迟反馈很重要。

其次,在大多数情况下,FNC和FNW的表现优于常规基线。特别是,FNW在PR-AUC和NLL方面均优于基线,这与~\ciet{FNW}中的结果一致。

第三,现有的方法在AUC方面没有表现出更好的性能,而我们的方法在公共数据集和匿名数据集上分别优于最佳基线0.26%和0.44%。

据DIN中的描述,DIN提高了1.13%的AUC分数,在线CTR的改善为10.0%,这意味着线下AUC的微小改善可能会导致在线CTR的显著增加。

在我们的实践中,对于最先进的CVR预测模型,即使0.1%的AUC改进也是相当可观的,并且实现了显著的在线推广。


▐  Elapsed Time的影响: RQ2

image.png

为了验证不同选择的运行时间的性能,我们在Criteo数据集上使用不同的c值进行了实验。如图所示,Criteo数据集上最好的c大约是15分钟,在那里可以观察到大约35%的转换。


此外,较大或较小的c都会降低性能。在较小的c时,性能下降缓慢,说明重要性加权模型引入的偏差较小。当c较大时,性能下降得更快,这表明当c增加时,数据的新鲜度更重要,并且c大于1小时将严重损害性能。


▐  鲁棒性实验: RQ3


image.png


在延迟反馈设置中,同一样本可以被标记为阴性或阳性。它与使用嘈杂的标签noiselabel学习密切相关,其中一些标签是随机翻转的。我们假设一个处理延迟反馈问题的方法不仅要纠正错误的标签,而且要在纠正错误标签或纠正失败之前(例如,如果权重模型偏离太多,偏差将很大,校正将失败)减少错误标签的负面影响。


因此我们进行了稳健性实验。我们随机选择流数据集中所有正样本的d部分,然后将其标签(点击时间和支付时间)与随机选择的负样本交换。注意,我们不干扰预训练数据集,因此初始CVR模型和预训练重要性加权模型不受干扰。


我们用不同的干扰强度d进行了实验,结果显示在图中。我们可以看出,与FNW和FSIW相比,我们的方法具有更强的抗干扰能力,并且随着干扰的增加(尤其是在NLL上),性能差距也更大。


FNW不抗干扰的原因是,FNW的加权估计和CVR预测都使用同一个模型,因此一个受干扰的CVR样本不仅会影响CVR预测模型,而且会影响重要性权重,从而步削弱了FNW的假阴性校正能力。对于FSIW,由于其重要性加权计算存在倒数且其值是无界的,因此在不正确的样本上权重可能很大,并且当d增加时,性能会显著下降。


▐  在线ABTest: RQ4


我们在在线评估框架中进行了A / B测试。我们观察到性能持续改善,与最佳基准相比,AUC在7天之内增加了0.3%,CVR增加了0.7%,GMV(商品总销量)增加了1.8%,其中,GMV由交易计算商品数量乘以每件商品的价格。在线A / B测试结果符合我们的离线流媒体评估,并显示了ES-DFM在工业系统中的有效性。


▐  总结


从未考虑过在流训练设置中标签准确性和模型新鲜度之间的权衡,这是该方法的主动决定,而不是离线设置中的被动功能。在本文中,我们提出了经过时间分布来平衡标签准确性和模型新鲜度,以解决流式CVR预测中的延迟反馈问题。我们通过经过时间采样分布下的重要性采样来优化对真实转化分布的期望。此外,我们提出了严格的流式培训和测试实验协议,可以更好地与实际工业应用相吻合。最后,大量实验证明了我们方法的优越性。


▐  未来展望


更复杂的采样分布p(e|x) +对整个delay分布的p(h|x,y=1) 的预估,具有以下挑战:
* 采样分布难以优化,可以人工选取,调参难度大。
* delay分布任务难度大,导致偏差大;
* 多步计算存在误差的累积,偏差进一步加大。




参考文献

[1]. Pattern recognition and machine learning, Springer 2017
[2]. Modeling Delayed Feedback in Display Advertising, KDD 2014
[3]. Addressing Delayed Feedback for Continuous Training with Neural Networks in CTR prediction, Recsys 2019
[4]. A Feedback Shift Correction in Predicting Conversion Rates under Delayed Feedback, WWW 2020
[5]. A Nonparametric Delayed Feedback Model for Conversion Rate Prediction, arxiv 2018

相关文章
|
6月前
|
人工智能 算法 搜索推荐
某国有银行业务收益提升30倍,它究竟是怎么做到的!
在激烈的银行竞争环境下,释放存量客户的复购潜力成为关注的重点。然而,目前银行销售理财产品过程中存在一系列问题,其中一个主要原因是过度依赖理财经理的个人经验。国有银行也难以避免这些问题在目标客户定位和营销执行过程中的出现。
|
存储 缓存 Dart
如何处理直播实时在线人数显示并且最小化性能和资源消耗?
直播技术成为一种极为流行的交流方式。而直播平台的核心指标之一就是实时在线人数,准确地显示该指标对于用户和运营商来说都具有重要意义。然而,直播实时在线人数的显示也面临着性能和资源消耗的挑战。本文将介绍如何利用Flutter和Dart开发技术栈来优化直播实时在线人数的显示,以达到最小化性能和资源消耗的目标。 作者:狗头大军之江苏分军 链接:https://juejin.cn/spost/7255473856234913852 来源:稀土掘金 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
如何处理直播实时在线人数显示并且最小化性能和资源消耗?
|
移动开发 JavaScript 前端开发
报错/卡顿是衡量产品体验的基本要素
报错/卡顿是衡量产品体验的基本要素
102 0
报错/卡顿是衡量产品体验的基本要素
|
Cloud Native 架构师 程序员
为什么团队规模越大,发布反而变慢了|学习笔记
快速学习为什么团队规模越大,发布反而变慢了
为什么团队规模越大,发布反而变慢了|学习笔记
|
Cloud Native 架构师 Devops
为什么团队规模越大,发布反而慢了 | 学习笔记
快速学习为什么团队规模越大,发布反而慢了
为什么团队规模越大,发布反而慢了 | 学习笔记
|
测试技术 应用服务中间件
软件测试面试题:在给定的测试环境下进行,考虑被测系统的业务压力量和典型场景?
软件测试面试题:在给定的测试环境下进行,考虑被测系统的业务压力量和典型场景?
171 0
|
机器学习/深度学习 智能设计 自然语言处理
冷启动系统优化与内容潜力预估实践
本专题共8篇内容,包含每平每屋过去一年在召回、排序和冷启动等模块中的一些探索和实践经验,本文为该专题第一篇。
1234 0
冷启动系统优化与内容潜力预估实践
|
缓存 负载均衡 算法
一对一源码开发,减少用户焦虑的三大优化要点
一对一源码开发,减少用户焦虑的三大优化要点
|
存储 数据采集 算法
|
Web App开发
直播软件搭建中如何把延时率降到最低
直播行业上半年来火爆程度不言而喻,要想做好直播软件搭建,最先要处理的就是流媒体服务器传送的难题,直播流媒体的传输和别的传输数据也有一定差别,由于直播数据信息在传送之前要进行压缩等工作,及其在网络服务器中开展“鉴黄”等工作,这种都是会影响到数据信息传输速率。  
直播软件搭建中如何把延时率降到最低