查看原文
其他

推荐系统用户反馈延迟新解法!阿里提出CVR无偏估计算法

Shona 夕小瑶科技说 2023-05-13

文 | Shona

在广告、电商场景中,流式样本通常只会在一个较短的窗口采样用户的行为,但用户从点击到转化的时间窗口可能很长,比如逛淘宝时,点击一件商品后可能在其他平台对比很久后才会下单,这导致在流式样本采样的时间窗口中并未记录该转化行为,进而该样本被错误地归为正样本,从而影响CVR预估效率,这类问题通常被称作延迟反馈(Delayed Feedback)问题。

延迟反馈是流式样本中的典型问题,理想状态当然是使采样的窗口足够大,但是这会导致很高的存储成本,不是很划算。因此早期针对延迟反馈问题,一般都会引入一个模型预测转化的延迟时间进而利用延迟转化的样本,但是在业界的流式架构中很难避免这个预测转化时间的模型使用无偏样本训练,并且延迟的样本比较稀疏,较难有较高的精度。

现在针对延迟反馈问题,通常聚焦在如何充分利用正样本上。延迟反馈的样本在不同的采样窗口中会分别生成不同label的样本,这两条样本都会参与训练,这会导致训练样本的分布与真实样本分布存在bias,需要使用重要性采样对延迟反馈的样本进行纠偏,尽管这种方式在很多场景下都是有效的,但是这种方式不能解决假负样本也参与训练的问题,可能会影响模型精度。阿里这篇文章通过矫正重要性采样中不同样本的权重优化了延迟反馈问题,在公开数据集以及工业界的数据集上都取得了较好的效果。

论文标题
Asymptotically Unbiased Estimation for Delayed Feedback Modeling via Label Correction

论文链接
https://arxiv.org/pdf/2202.06472.pdf

问题描述

在CVR预测问题中,有以下的符号表示:

:训练样本,为样本特征, label,表示是否被转化
:真实样本分布
:流式训练中样本分布
:流式训练采样窗口,一般几十分钟
:特征窗口,一般很长,可能一天到一周

在流式训练中,样本可以划分为如下四类:

1),在观察窗口内转化的样本
2),在点击后转化到样本,内的时间窗口中被识别为负样本
3),超过特定时间没有转化的样本
4),在点击后转化到样本,后的时间窗口被识别为正样本

对于样本,在训练样本中的分布和真实分布相同,不需要做特殊处理,现主要对进行纠偏

方法

如前文描述,由于 作为特征相同、label不同的样本重复加入模型训练,在训练样本中的分布和在真实样本中的分布不一致,训练时的loss需要使用重要性采样:

这里在重要性采样时,第一个近似的地方引入了:


第二个近似的地方将化为CVR预估问题中常用的BCE loss。

由此可见,如果要得到准确的重要性采样结果,需要得到四种样本的

文本通过表示样本种类,则表示样本的概率。从第一次近似的公式出发,我们可以转化问题为:

这里用表示不同样本的权重

进一步地,分别带入四种样本,可以将上述公式转化为:

其中为引入的延迟参数,用于表示样本是否为FN,令为FN样本的重要性采样权重,对于四种样本的重要性采样权重,则可以推导出以下关系:

其中,因为在训练样本和真实样本中分布一致;

有了以上假设,现在可以针对不同的样本给出准确的loss函数,对于负样本:

对于正样本,可以表示为:

因为也是一个预估模型,预测样本为样本的概率,在中有项,两个预估项相乘会增大模型的方差,为了减小方差,本文设计了一套多任务学习框架来优化

对于样本,由于其本身是无偏的,则可以直接训练
对于样本,这部分样本有偏,则会使用上述的重要性采样训练
通过这种两段式的训练,能够降低系统的方差,提高在样本的精度。

具体实例

本文在Criteo和Taobao Dataset数据集上验证了实验效果,为了模拟线上流式样本的训练范式,每个数据集都拆分成了两个部分,如果第一部分的样本在第二部分转化,则第一部分的label设置为0,然后参照流式训练的方式按照小时训练。使用这种训练范式尝试了多种处理样本的算法:

小结

本文主要减轻了CVR延迟反馈样本带来的训练bias,并且有较严格的证明推导与实验结果。在流式场景下引入额外的模块预测负样本是否为延迟样本,进而能够从理论上近似无偏估计,同时结合多任务学习减轻引入额外模块导致的方差变大的问题,整体比较solid。

后台回复关键词【入群

加入卖萌屋NLP、CV、搜推广与求职讨论群

后台回复关键词【顶会

获取ACL、CIKM等各大顶会论文集!

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存