【论文笔记】 Denoising Implicit Feedback for Recommendation

Denoising Implicit Feedback for Recommendation

Authors: 王文杰,冯福利,何向南,聂礼强,蔡达成

WSDM‘21 新加坡国立大学,中国科学技术大学,山东大学

论文链接:http://staff.ustc.edu.cn/~hexn/papers/WSDM_2021_ADT.pdf,https://arxiv.org/pdf/2006.04153.pdf

本文链接:https://www.cnblogs.com/zihaojun/p/15704005.html


目录

0. 总结

本文主要研究并解决推荐系统的隐式反馈数据中正样本存在噪声,会损害推荐系统性能的问题。

“伪正样本”在推荐系统训练的初始阶段Loss普遍较高,利用这个规律,可以对“伪正样本”和真正的正样本进行区分。

本文提出了适应性去噪训练(Adaptive Denoising Training,ADT)策略来解决上述问题,提出了截断损失函数和加权损失函数两种Loss函数,并基于交叉熵损失,在三个数据集上,基于三种推荐模型进行了实验,实验结果表明,ADT可以有效去除“伪正样本”对模型性能的干扰。

1.问题背景

由于隐式反馈数据量比较大,容易获得,因此隐式反馈数据已经是在线推荐系统的默认训练数据。

但是隐式反馈数据是存在噪声的。隐式反馈的正样本只能反映用户和物品之间存在交互,但是不能反映用户对此次交互的满意度。例如在电商中,用户可能点击了一个物品,但是并没有购买;即使用户购买了,对这个物品可能也是不满意的。

在推荐系统训练过程中,噪声数据可能会损害推荐系统的性能,使得推荐系统捕捉用户兴趣的能力下降。

2.研究目标

在没有用户停留时间、物品特征、用户反馈等额外信息的情况下(这些信息很稀疏,难以获得),识别并去除交互数据中的“伪正样本”,提高推荐系统训练的效率和推荐系统的精度。

如下图,图中红色的交互代表“伪正样本”,黑色的交互代表“真正样本”。

  • 第一列表示通常的推荐模型,会受到“伪正样本”的干扰,推荐质量差。

  • 第二列和第三列表示利用额外信息来识别“伪正样本”,从而提高推荐质量。

  • 最后一列表示本文提出的框架,在不利用额外信息的条件下,去除“伪正样本”的影响,生成高质量的推荐结果。

【论文笔记】 Denoising Implicit Feedback for Recommendation

3. “伪正样本”研究

为了验证“伪正样本”对推荐性能的影响,基于NeuMF模型,设计如下实验:

  • 训练阶段
    • 使用所有交互数据(1-5分)的设置称为Normal training
    • 只使用3-5分的交互数据(去除“伪正样本”)的设置成为Clean training
  • 验证阶段
    • 验证集和测试集同样去除1-2分的交互数据,只保留3-5分的交互数据

实验结果表明,Clean training明显优于Normal training,说明“伪正样本”确实会损害推荐系统的性能。

\[\begin{array}{l|cc|cc} \hline \text { Dataset } & {\text { Adressa }} && {\text { Amazon-book }} \\ \text { Metric } & \text { Recall@20 } & \text { NDCG@20 } & \text { Recall@20 } & \text { NDCG@20 } \\ \hline \hline \text { Clean training } & 0.4040 & 0.1963 & 0.0293 & 0.0159 \\ \text { Normal training } & 0.3081 & 0.1732 & 0.0265 & 0.0145 \\ \hline \text { \#Drop } & 23.74 \% & 11.77 \% & 9.56 \% & 8.81 \% \\ \hline \end{array} \]

4. 方法

4.1 Obervations 观察

在Adressa数据集上,使用所有交互数据(1-5分)训练NeuMF,分别观察True-positive Interactions和False-positive Interactions的平均loss值。

从下图所示的实验结果中可以看出:

  • 在左图所示的完整训练过程中,所有样本的loss最终都收敛到很小的值,说明所有的样本都被模型记住了。
  • 在右图表示的训练初始阶段(0-1000 Iteraions),False-positive样本的loss值(橙色)明显高于True-positive的loss值(绿色),这说明在False-positive样本的训练难度明显更高。

这个规律可以用来区分“伪正样本”和“真正样本”。

【论文笔记】 Denoising Implicit Feedback for Recommendation

4.2 Adaptive Denoising Training(ADT) 适应性去噪训练

基于上节中的观察,本文提出ADT模型,根据loss函数来区分“真正样本”和“伪正样本”。

ADT有两种思路:

  • 截断loss(Truncated Loss):基于一个动态调整的阈值,将loss比较高的样本loss直接置0,使得这些样本在当前训练轮不参与模型更新。
  • 加权loss(Reweighted Loss):给难样本(Loss大的样本)更低的权重。

这两种方法与Loss函数的设计无关,可以被应用到BCE和BPR等多种loss函数上。本文基于BCEloss进行实验。

4.2.1 截断交叉熵损失 Truncated Cross-Entropy Loss(T-CE)

\[\begin{align} \mathcal{L}_{T-C E}(u, i)= \begin{cases}0, & \mathcal{L}_{C E}(u, i)>\tau \wedge \bar{y}_{u i}=1 \\ \mathcal{L}_{C E}(u, i), & \text { otherwise }\end{cases} \\ \\ \mathcal{L}_{C E}\left(\mathcal{D}^{*}\right)=-\sum_{\left(u, i, y_{u i}^{*}\right) \in \mathcal{D}^{*}} y_{u i}^{*} \log \left(\hat{y}_{u i}\right)+\left(1-y_{u i}^{*}\right) \log \left(1-\hat{y}_{u i}\right) \end{align} \]

T-CE Loss将Loss值大于\(\tau\)的正样本损失函数置0,其中\(\tau\)是预定义的值,可以随着训练轮数变化而变化。

为了建模\(\tau\),定义样本淘汰率(drop rate),也就是在第T轮训练中,淘汰loss最高的比例为\(\epsilon(T)\)的样本:

\[\begin{align} \epsilon(T)=\min \left(\alpha T, \epsilon_{\max }\right) \end{align} \]

其中\(\alpha\)和\(\epsilon_{max}\)是超参数。

这样的设计可以保证:

  • 样本淘汰率有上限,避免将样本全部舍弃。
  • 训练开始时,使用全部样本
  • 样本淘汰率从0逐渐增加到上限,使模型逐渐能分清真正样本和假正样本。

4.2.2 加权交叉熵损失函数 Reweighted Cross-Entropy Loss(R-CE)

\[\begin{align} \mathcal{L}_{R-C E}(u, i)=\omega(u, i) \mathcal{L}_{C E}(u, i) \end{align} \]

其中\(\omega(u, i)\)是调整不同样本损失在总损失函数中占比的权重。

\(\omega(u, i)\)应该有以下性质:

  • 在训练过程中动态变化
  • 使得Loss高的正样本权重更低
  • 权重可以通过超参调整,以适用于不同模型和数据集

输出预测值\(\hat{y}_{u i}\)与Loss函数是一一对应的,\(\hat{y}_{u i}\)越低,对应的Loss就越高,则权重应该越低;可以利用\(\hat{y}_{u i}\)来定义\(\omega(u, i)\):

\[\begin{align} \omega(u, i) = f({\hat{y}_{ui}}) = \hat{y}_{u i}^{\beta} \end{align} \]

其中\(\beta\in[0,+\infin]\)是超参数,\(\hat{y}_{ui}\)表示预测值,\(\bar{y}_{ui}\)表示标签值。

Figure 5(a)展示\(\beta\)取不同的值时,Loss函数与预测值\(\hat{y}_{ui}\)的关系,即\(\beta\)越大,难样本(\(\hat{y}_{ui}\)较小)的Loss被压缩的效果越明显;当\(\beta = 0\)时,R-CE退化到普通的CE。

【论文笔记】 Denoising Implicit Feedback for Recommendation

为了保证正负样本Loss值的一致性,给负样本也做了同样的处理:

\[\begin{align} \omega(u, i)= \begin{cases}\hat{y}_{u i}^{\beta}, & \bar{y}_{u i}=1 \\ \left(1-\hat{y}_{u i}\right)^{\beta}, & \text { otherwise }\end{cases} \end{align} \]

5. 实验

5.1 数据集

  • Adressa:新闻阅读数据集,包含用户的点击数据和在页面的停留时间;停留少于10s的点击视为“伪正样本”
  • Amazon-book:亚马逊评论数据集,包含用户对物品的评分数据;评分低于3分的交互视为“伪正样本”
  • Yelp:餐厅评分数据集;评分低于3分的交互视为“伪正样本”

训练集和验证集包含所有交互,测试集只包含“真正样本”。

5.2 实验结果

  • 在三种推荐模型上,T-CE和R-CE Loss都提升了推荐性能,证明了方法的有效性
  • 比较T-CE和R-CE两种方法,T-CE的性能一般会更好。这是因为T-CE直接去除了难样本的影响,并多了一个超参数。
  • NeuMF的性能比GMF还低,这是因为训练数据中有“伪正样本”,NeuMF的拟合能力更强,学到了这些噪声信息。
  • T-CE和R-CE都在NeuMF上取得了最大的性能提升,这与上一条结论一致——NMF受到“伪正样本”的影响更大。T-CE和R-CE在CDAE上面仍然有性能提升,证明了本文的方法的合理性。
【论文笔记】 Denoising Implicit Feedback for Recommendation

为了验证本文的方法是否会损害不活跃用户的推荐精度,本文将用户按照交互数量分为四组。实验结果表明,即便是交互数量很少的用户组,推荐精度也得到了提升。

【论文笔记】 Denoising Implicit Feedback for Recommendation

5.3 深入分析

5.3.1 “伪正样本”的Loss情况

第三部分已经分析过,“伪正样本”被模型记住之后,会使得模型性能降低。

本文用实验验证,提出的方法能否使得“伪正样本”不被模型记住,也就是“伪正样本”Loss是否能更高。

  • 如Figure 7(a)所示,正常训练时,“伪正样本”的Loss会学到跟其他正样本一个水平
  • 而使用T-CE时,“伪正样本”的Loss随着训练,先几乎不变,后迅速升高,说明模型准确识别到了这些“伪正样本”,并把他们从训练的正样本集排除出去。
  • 而使用R-CE时,“伪正样本”的Loss随着训练过程仍然是下降的,但还是比其他样本高一些。

这一部分验证的是文章的核心论点,也是本文提出的模型起作用的核心机制——通过Loss函数识别并排除“伪正样本”的影响。

【论文笔记】 Denoising Implicit Feedback for Recommendation

5.3.2 T-CE的性能研究

由于截断交叉熵损失函数(T-CE)使得“伪正样本”的Loss函数很高,作者又从T-CE过滤掉的交互与真正的“伪正样本”之间的召回率和准确率的角度来研究T-CE。

实验表明,T-CE选取“伪正样本”的准确率大约是随机选取的两倍,但准确率(precision)仍然只有10%左右。

  • 一方面,这说明,为了过滤掉“伪正样本”,抛弃一些真正样本是值得的
  • 但另一方面,这也说明本文章提出的方法准确率仍然很低
【论文笔记】 Denoising Implicit Feedback for Recommendation

Weakness

  • R-CE中给负样本也加了权重,而T-CE中没有对负样本做处理,实验中也没有对此做出说明。
  • 识别“伪正样本”的准确率只有10%。

进一步阅读

[5] Yihong Chen, Bei Chen, Xiangnan He, Chen Gao, Yong Li, Jian-Guang Lou, and Yue Wang. 2019. lambdaOpt: Learn to Regularize Recommender Models in Finer Levels. In Proceedings of the 25th SIGKDD International Conference on Knowledge Discovery and Data Mining. ACM, 978–986.

[6] Jingtao Ding, Guanghui Yu, Xiangnan He, Fuli Feng, Yong Li, and Depeng Jin. 2019. Sampler design for bayesian personalized ranking by leveraging view data. Transactions on Knowledge and Data Engineering (2019).

[16] Xiangnan He, Lizi Liao, Hanwang Zhang, Liqiang Nie, Xia Hu, and Tat-Seng Chua. 2017. Neural Collaborative Filtering. In Proceedings of the 26th International Conference on World Wide Web. IW3C2, 173–182.

[18] Y. Hu, Y. Koren, and C. Volinsky. 2008. Collaborative Filtering for Implicit Feedback Datasets. In Proceedings of the 8th International Conference on Data Mining. TEEE, 263–272.

[19] Rolf Jagerman, Harrie Oosterhuis, and Maarten de Rijke. 2019. To Model or to Intervene: A Comparison of Counterfactual and Online Learning to Rank from User Interactions. In Proceedings of the 42nd International SIGIR Conference on Research and Development in Information Retrieval. ACM, 15–24.

[39] Hongyi Wen, Longqi Yang, and Deborah Estrin. 2019. Leveraging Post-click Feedback for Content Recommendations. In Proceedings of the 13th Conference on Recommender Systems. ACM, 278–286.

[40] Yao Wu, Christopher DuBois, Alice X Zheng, and Martin Ester. 2016. Collaborative denoising auto-encoders for top-n Recommender Systems. In Proceedings of the 9th International Conference on Web Search and Data Mining. ACM, 153–162.

[41] Byoungju Yang, Sangkeun Lee, Sungchan Park, and Sang goo Lee. 2012. Exploiting Various Implicit Feedback for Collaborative Filtering. In Proceedings of the 21st International Conference on World Wide Web. IW3C2, 639–640.

上一篇:ZYNQ的AXI协议(一)——简介


下一篇:简单轻松搞定Toad和PL/SQL自定义快捷键