隐式反馈的去噪,模型取得巨大提升!

2021-06-15 15:35:33 浏览数 (2)

Denoising Implicit Feedback for Recommendation!

简 介

我写完这篇文章的时候发现十方已经写过一版了.......参考如下:

十方:别滥用隐式反馈了,模型学偏了!

本篇内容细节会涉及的更多一些,大家可以再次温故一遍,个人觉得非常有意思的一篇工作。

现实推荐问题的建模中,我们会使用大量的隐反馈来缓解了数据稀疏的问题,不过缺点也非常明显:

  • 隐反馈在反映用户的实际满意度方面不够清晰。

例如,在电子商务中,很大一部分点击并不能转化为购买,许多购买最终都会得到负面评价。

隐反馈的噪声特性目前研究的工作相对较少。本文则探讨了去噪内隐反馈推荐训练。我们发现:

  • 含噪声的内隐反馈会产生严重的负面影响,即拟合含噪声的数据会阻碍推荐者学习实际的用户偏好。

我们的目标是识别和剪枝噪声交互,提高推荐训练的有效性。通过观察正常的推荐器训练过程,我们发现噪声反馈在早期阶段通常具有较大的损失值。受此启发,我们提出了一种新的训练策略,称为自适应去噪训练(ADT),它能自适应地剪除训练过程中的噪声干扰。具体来说,我们设计了两种自适应损失公式:

  1. 截断损失,即在每次迭代中丢弃具有动态阈值的大损失样本;
  2. 加权损失,自适应地降低大损失样本的权重。

我们在广泛使用的binary cross-entropy loss使用,并在三个有代表性的推荐器上测试了所提出的ADT策略,并取得了很好的的效果。

方 法

问题定义

我们令:

  • 表示用户对于商品的预估喜好程度,模型参数为;
  • 表示用户对于商品的真实喜爱程度;

给定数据集,我们需要学习,

L_{CE}(D^*) = - sum_{(u,i,y^*_{ui}) in D^*} y^*_{ui} log (hat{y}_{ui}) (1 - y^*_{ui}) log(1-hat{y}_{ui})

实践中,因为噪音交互的存在,将会误导模型对于用户喜好的学习。为了能更好的学习,我们需要尽可能去降低隐式反馈的影响。

Adaptive Denoising Training

此处我们已经训练了loss提出了ADT来预估,为了减少FP交互的影响,ADT动态的剪枝硬交互,(大损失),在训练的时候,特别地,ADT选择对大的loss进行丢弃或者重新加权的方式来减少训练目标的影响。本文设计两种方法来构建损失函数来降噪训练。

  • Truncated Loss:这是用动态阈值函数将硬交互的损失值截断为0;
  • Reweighted Loss:在训练过程中,它自适应地分配与较小权重的硬交互。
1.Truncated Cross-Entropy Loss
L_{T-CE}(u,i) = 0 , L_{CE}(u,i) >tau cap bar{y}_{ui} = 1 \ L_{T-CE}(u,i) = L_{CE}(u,i), otherwise,

是预定义的阈值, T-CE损失从训练中移除了一些正向的交互。在实践中,当我们固定的时候,训练效果并不是非常好,因为随着训练的增加,我们是损失会不断下降。

所以我们将变为 , 此处我们依据drop rate 来设计,此处的为训练迭代。

  • 有一个上界,丢弃的交互比例应该受到控制,防止数据丢失;
  • ,应该允许在开始的时候所有的交互被输入模型;
  • ,应该从0到上界增加,这样模型可以学习并且将true-positive和false-positive交互慢慢分开;

最终,我们的drop rate函数如下:

epsilon(T) = min(alpha T, epsilon_{max})
  • 是上界,是超参,来调整步获得最大的丢失率。
2. Reweighted Cross-Entropy Loss
L_{R-CE}(u,i) = w(u,i) L_{CE}(u,i)
  • 是权重函数,来调整交互对于训练目标的贡献。

应当有下面的一些特点:

  • 在训练的时候动态调整权重;
  • 该函数应当可以减少硬交互的影响;
  • 权重减少的程度可以轻易调整适用于拟合不同的模型和数据集;

此处我们将权重定义为:

w(u,i) = hat{y}^{beta}_{ui}
  • 是一个超参。

满足:

  • 在训练的时候能生成动态权重;
  • 非常大的CE损失乘上小的权重会被降低;
  • 超参数动态控制hard和easy交互的权重gap。

为了避免大损失值的负相互作用对优化的影响,权重函数被修正为:

w(u,i) = hat{y}_{ui}^{beta}, bar{y}_{ui} = 1 \ w(u,i) = (1- hat{y}_{ui})^{beta}, otherwise

这样,就可以降低false-negative交互的影响。

由于完全依赖推荐系统来识别FP交互作用,ADT的可靠性可能会受到质疑。

目前已有的许多工作已经指出了大损失和噪声相互作用之间的联系,并解释了潜在的因果关系:

  • 深度模型的“记忆”效应。也就是说,深度模型将首先在初始训练阶段学习简单而干净的模式,然后逐渐记住所有交互,包括嘈杂的交互。因此,在早期阶段丢失深层模型有助于滤除噪声交互。

另一个问题是,放弃硬交互会限制模型的学习能力,因为有些硬交互可能比简单交互更具信息量。事实上,正如先前关于课程学习的研究[2]中所讨论的,噪声数据中的硬交互可能会混淆模型,而不是帮助模型建立正确的决策面。因此,它们可能导致较差的泛化。它实际上是去噪和学习之间的折衷。

实 验

1.试验效果

由于ADT在训练过程中删减了许多交互,因此我们探讨了ADT是否会因为交互商品稀疏而影响非活动用户的偏好学习。

  • 我们可以观察到,在所有情况下,所提出的ADT策略都比正常训练获得了稳定的性能增益,验证了ADT对非活跃用户也是有效的。

2.深度分析

  • False-positive交互作用的CE损失值逐渐增加,而总体训练损失逐渐稳定下降。增加的Loss表明推荐参数没有在False-positive交互作用上得到优化;
  • T-CE识别和丢弃这种交互作用的能力,False Positive交互作用的CE损失也呈现下降趋势,表明推荐系统仍然适合这种交互作用。
  • 它们的损失值仍然大于真实的训练损失,这表明用R-CE损失分配较小权重的假阳性交互是有效的。它会阻止模型快速拟合它们。

我们可以得出这样的结论:

  • 两种方式都减少了false-positive交互作用对推荐模型训练的影响,这也解释它们比正常训练的好的原因。
  • 当 , 效果最好,如果超过0.4,效果会显著下降;
  • 调整在不同的数据集上,Reweighted Loss是一致的,当范围从0.15到0.3。

小 结

本文探讨了去为推荐模型训练去除隐式反馈的方法。我们发现了噪声隐式反馈的负面影响,并提出了自适应去噪训练策略来降低其影响。本文描述了两种损失函数:

  • 截断损失;
  • 重新加权损失。

这两种方式都是通用的,可以应用于不同的推荐损失函数、神经推荐器和优化器。在本文的工作中,我们将这两个方式应用于广泛使用的二元交叉熵损失,并在三个数据集进行了实验,这两个方式能有效地减少了噪声干扰隐式反馈,在三个数据集上都取得了非常好的效果。

参考文献

  1. Denoising Implicit Feedback for Recommendation

0 人点赞