title:RLNF: Reinforcement Learning based Noise Filtering for Click-Through Rate Prediction
link:https://dl.acm.org/doi/pdf/10.1145/3404835.3463012
from:SIGIR 2021
1. 导读
本文可以看做是负样本筛选方面的一篇文章,主要是考虑到直接采用未点击的样本作为负样本会存在许多的噪声,利用强化学习从原始的负样本中筛选出有效的负样本用于提升ctr模型的性能。
文章主要是在PULNS这篇文章的基础,在推荐场景中使用发方法,该兴趣的小伙伴可以看看这篇文章,在文末有文献名字。并且本文涉及策略梯度方面的相关内容,不熟悉的小伙伴,网上有许多相关内容,也可以通过下方链接简单了解。https://www.bilibili.com/video/BV13W411Y75P?p=22
2. 方法
2.1 问题定义
给定一个样本s=(x,y),其中x是s的特征,y是标签,U和P分别表示负样本和正样本。通常我们直接使用U,P集合来训练模型,而本文是利用RLNF对负样本集合进行去噪后,选择有效的负样本进行训练,将去噪后的负样本集合定义为N。
2.2 方法概览
如图所示为模型的总体流程,该方法以PULNS[1]为基础,以噪声过滤器为agent,ctr模型和正负样本数据集(U,P)为环境。主要分为两步:噪声过滤器增强和ctr模型增强。
第一阶段,噪声过滤器遍历包含噪声的负样本数据集U,对于其中的每个样本,以其特征x为输入,输出为动作(决定是否为有效负样本),然后环境基于动作返回奖励,利用基于策略梯度的方式更新噪声过滤器
第二阶段,得到更新后的噪声过滤器选出有效样本的集合N,然后用N和P来增强ctr模型。
2.3 RLNF核心组件
2.3.1 CTR预估模型
这里的ctr模型可以是常见的任意ctr模型,比如DIN,DIEN,deepFM等等,主要就是用于预估ctr。
2.3.2 噪声过滤器
正如“方法概览”中所述,噪声过滤器是以样本特征为输入,输出为动作,这个动作用于决定是否是有效负样本。其输出为0到1的概率,整个模型为MLP+relu+sigmoid。动作策略函数如下,
2.3.3 奖励
由于最终是希望提升ctr模型的性能(如auc),所以最直接的方法就是将auc作为奖励,因此一种自然而然的想法是,在噪声过滤器选择有效负样本后,将所选择的有效负样本用于增强CTR预测模型,并将增强CTR预测模型的AUC分数作为延迟奖励。但是,这种方式是低效的,因为每遍历一次U,只能更新一次噪声过滤器。
因此,作者将U划分为L组,,每个组中包含一些样本,,噪声过滤器从中选出有效负样本定义为,同时从P中随机选出个作为正样本子集定义为。然后将G'和P'输入到ctr模型微调,在验证集上得到auc作为奖励,定义为z。因为z始终是非负的,因此直接用z作为奖励会使得噪声过滤器难以收敛,因此将奖励改写为r=z-b,其中b是在P和U上训练得到的模型的auc。
除了延迟奖励可以用于优化噪声过滤器,ctr模型的输出也可以增强噪声过滤器。对于G中的第i个样本si,如果ctr模型将其预测为有效负样本(即,预测概率p<0.5),那么当动作ai=1时,噪声过滤器应该得到正向奖励;反之ai=0,则负向奖励。对于ctr模型预测p>=0.5的情况,同理。
总体奖励函数可以设计如下,u是G的大小,当是G中的样本的时候,就采用第一种反馈;当是验证集得到auc时,采用第二种反馈。
2.4 训练
2.4.1 噪声过滤器优化
对于某个G,过滤器遍历G后,对每个样本采取动作a,然后得到奖励r,得到轨迹为和延迟反馈。目标为最大化总奖励的期望,目标函数为下式,其中α控制延迟反馈的重要性。
可以用策略梯度的方式更新,目标函数关于θ的公式如下,
用对未来奖励进行衰减,将上式求和部分改写为,从而改写整个梯度公式为下式,
3. 结果
4. 相关文献
[1] Chuan Luo, Pu Zhao, Chen Chen, Bo Qiao, Chao Du, Hongyu Zhang, Wei Wu, Shaowei Cai, Bing He, Saravanakumar Rajmohan, and Qingwei Lin. 2021. PULNS: Positive-Unlabeled Learning with Effective Negative Sample Selector. In Proceedings of AAAI 2021.