关注我们,一起学习~
title:Self-Guided Learning to Denoise for Robust Recommendation link:https://arxiv.53yu.com/pdf/2204.06832.pdf code:https://github.com/Scottdyt/SGDL from:SIGIR 2022
1. 导读
推荐系统中通常采用隐式反馈,如点击。将观察到的数据(如曝光点击)作为正样本,未观察到的作为负样本,但是隐式反馈通常是有噪声的,比如存在误点击的情况。现有的处理反馈中噪声的方法存在以下不足:
- 他们通常无法捕获难交互(难样本,不是噪声但损失值较大,即难训练)来学习全面的用户偏好;
- 所提去噪方法无法适用于各种推荐模型,不是通用的
本文考虑推荐模型的记忆效果,提出新的去噪方法,自引导去噪学习SGDL。在训练早期(抗噪阶段)收集记忆交互,利用这些数据作为去噪信号,利用元学习指导后续训练(噪声敏感阶段)。并且可以在记忆点自动将学习阶段从记忆转换为自引导学习,通过自适应去噪调度器选择干净(没有噪声)且信息丰富的数据。
2. 先导试验
作者通过实验发现,在干净数据上,在训练前期,随着训练轮次的增加记忆率不断增加,说明训练前期模型能不断记忆干净数据中的交互,而后期则几乎不变了,对比噪声数据,后期还增加了一些,说明后期记住了一些噪声。因此作者将前期定义为抗噪阶段,即模型能够抵抗噪声,训练干净数据中的交互;后期为噪声敏感,即受噪声影响。
3. 方法
image.png
3.1 阶段I:记忆化
3.1.1 记忆的交互
这个的目标是找到定义那些交互是被记忆了的。
以往的模型通常采用损失值来证明模型的记忆效果,但是损失值不足以反映学习过程,因为与推荐模型优化目标(排名)不一致,且无法从噪声交互中区分出难交互。
本文采用新的方法,基于评价指标HR,定义如果在训练轮次t商品i在用户u的排名列表里,则说明交互(u,i)在轮次t被模型记住,表示为
。每次排名取Top-N,简单计算每个轮次的交互记忆是不稳定的,因为在早期(抗噪阶段)模型还没有被训练的很好,因此采用最近的h轮来计算,公式如下,其中
捕获最近h轮交互(u,i)的记忆历史。定义如果
大于0.5则说明交互被模型记忆了。即:如果在最近h次训练中,交互(u,i)有超过一半的次数在模型的top-N排名中,则说明被模型记住了。
3.1.2 记忆点估计
在抗噪声期间,推荐模型不仅从干净的交互中学习到足够的信息,还从嘈杂的隐式反馈中积累了一些噪声(应该是从图1中红线比蓝线低来解释)。本节设计了两个指标来反映模型的上述两个记忆特征。
使用
表示在第t轮(epoch)时的一组记忆交互,并使用
表示交互的真实标签,由于隐式反馈中的噪声,该标签不可用。本节提出两个基于记忆的指标,即记忆精度(MP)和记忆召回(MR),公式如下,
表示真实标签与预测一致的记忆数据集,
表示真实标签与预测一致的数据集合。MP单调递减因为首先记忆干净数据,然后逐渐记忆所有噪声交互;MR单调递增因为随着训练的进行,模型最终会记住所有干净的交互。
因此,最好的记忆点
是使得MP和MR平衡的点,
,从而可以得到最佳的
,即干净数据,所以
可以通过下式计算得到,其中σ是噪声率。
σ无法直接获得,可以利用干净交互和噪声交互的损失值的分布差异来估计。首先对所有训练交互的损失值进行归一化,然后用高斯混合模型GMM拟合,以对真标记和假标记样本的双峰分布进行建模,可以使用EM算法训练 GMM 模型。因此,可以通过损失分布的后验概率获得交互(u,i)有噪声的概率。因此,噪声率σ估计为下式,其中L是损失函数。
当记忆的交互次数达到估计的干净数据大小(即
)时,SGDL 过渡到阶段 II。SGDL 能够估计记忆点
,并以几乎零计算开销且无需额外监督的情况下收集记忆数据
。
3.2 阶段II:自引导学习
3.2.1 基于记忆数据去噪
在噪声敏感时期,目标是通过对每个样本损失施加权重来增强训练的鲁棒性。在这里,考虑使用去噪信号来学习每个样本的权重,令
表示的第k个样本的损失(point-wise或pair-wise损失),
为训练数据。最优推荐模型参数θ是通过最小化以下加权损失来计算的,g()是对应的权重,本文在g()中使用包含参数ψ的单层MLP,
通过下式优化ψ,其中Lm为第m个记忆的样本损失
优化上面两个参数需要嵌套的循环,比较低效,作者基于元学习,在单循环上交替更新上面的参数,在每个迭代中分别执行下面的更新,可以和图2对照着看:
- assumed update of θ:利用现有的ψ采用梯度下降更新θ,公式如下,
为学习率
- update of ψ:相当于固定了θ对psi进行梯度下降
- Actual update of θ:更新完ψ之后再更新一次θ,公式还是一样的,
采用上述策略在噪声敏感期间优化推荐模型和权重函数,如图 2 所示。虽然这种策略不能保证找到全局最优值,但它在许多双层优化问题中都表现良好。
3.2.2 自适应去噪调度器
上述去噪方案依赖于记忆的数据为训练提供去噪信号。然而,由于记忆数据不可避免地会出现噪声,将它们的噪声整合会降低去噪性能。因此,本节提出了一种自适应去噪调度器,仅选择干净且信息丰富的记忆数据进行去噪学习。
将调度器定义为s,参数为
,并选择两个有代表性的因素来量化每个记忆数据对去噪的贡献:
- 第m个记忆样本的损失
其中θ是经过actual update后的。
- 第m个记忆样本在
和
上的梯度相似性,
这两个因素分别与第m个记忆样本的学习成果和学习过程相关。梯度相似度表征了记忆样本在模型训练中的贡献。如果梯度相似性也很大(即记忆样本的梯度方向与模型的优化一致),则较大的损失值可能代表关键的记忆样本;梯度相似度小的损失值大可能表明记忆样本有噪声。同时考虑这两个因素,制定了第m个记忆数据的采样概率为下式,此处采用LSTM作为s()函数
由于采样过程不可微,因此采用Gumbel-Softmax进行重参数化生成可微样本,公式如下,其中
从均匀分布中随机采样得到,0~1.
调度器能够根据其对去噪隐式反馈的贡献来决定使用哪些记忆数据,并自适应地调整采样概率以获得更多信息的引导学习。
4. 结果