系列文章,请多关注
推荐算法架构1:召回
推荐算法架构2:粗排
推荐算法架构3:精排
推荐算法架构4:重排
推荐算法架构5:全链路专项优化
推荐算法架构7:特征工程
深度学习的数据样本决定了算法的上限,模型只是去不断逼近这个上限,可见数据样本对于深度学习的重要意义。与CV和NLP不同,推荐系统可以获取大量用户的浏览和点击等行为,很容易构造正负样本。例如,在精排点击率(Click-Through Rate,CTR)预估任务中,通常将用户点击物品作为正样本,将用户曝光未点击作为负样本。另外,精排面对的候选集和解空间相比召回和粗排要小得多,所以它的样本选择偏差(Sample Selection Bias,SSB)问题相对没那么严重。精排模型在数据样本上一般会遇到以下问题。
数据样本的技术架构如图所示,下面逐一详细讲解。
样本不均衡问题在深度学习的各项任务中均广泛存在,是一个共性问题。在计算机视觉和自然语言处理中处理样本不均衡问题的方法也可以应用在推荐算法中。样本不均衡问题主要有正负样本不均衡和不同活跃度用户样本不均衡等。
在点击率预估任务中,如果点击率是1%,则正负样本的比例为1: 99,负样本远远多于正样本,导致样本不均衡。如果在分类问题中存在样本不均衡问题,样本少的类别在训练时反向传播梯度更新的几率就小,对模型损失(Loss)的贡献也比较低,不利于其收敛,最终导致样本多的类别主导了模型,使得模型整体偏向它们,而对其他类别预估不准确。针对此类问题,主要有如下解决方法。
用户活跃度也会存在样本不均衡问题,高活用户的样本比低活用户多很多,会导致模型偏向于学习高活用户,在低活用户上的表现不够好。此时的解决方法主要如下。
推荐系统精排模型一般将用户曝光点击作为正样本,曝光未点击作为负样本。那么,曝光点击就一定是用户感兴趣,未点击就一定是不感兴趣吗?其实不尽然。精排中存在很多样本不置信问题,主要如下。
在精排模型中,我们经常碰到这样的情况:在离线训练模型时,验证集中的指标增长了,但在线上做A/B测试时,指标不但没有增长,反而可能有所下降。这就是典型的离在线不一致问题,产生该问题的原因如下。
[1] Lin T Y , Goyal P , Girshick R ,et al.Focal Loss for Dense Object Detection[J].arXiv e-prints, 2017.
[2] Li P , Li R , Da Q ,et al.Improving Multi-Scenario Learning to Rank in E-commerce by Exploiting Task Relationships in the Label Space[C]//CIKM '20: The 29th ACM International Conference on Information and Knowledge Management.ACM, 2020.DOI:10.1145/3340531.3412713.
[3] Sheng X R , Zhao L , Zhou G ,et al.One Model to Serve All: Star Topology Adaptive Recommender for Multi-Domain CTR Prediction[J].2021.DOI:10.48550/arXiv.2101. 11427.
系列文章,请多关注
推荐算法架构1:召回
推荐算法架构2:粗排
推荐算法架构3:精排
推荐算法架构4:重排
推荐算法架构5:全链路专项优化
推荐算法架构6:数据样本
推荐算法架构7:特征工程