前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >WWW'22 | GDNS:基于增益的动态负采样方法用于推荐系统

WWW'22 | GDNS:基于增益的动态负采样方法用于推荐系统

作者头像
秋枫学习笔记
发布2022-09-19 10:40:08
3850
发布2022-09-19 10:40:08
举报
文章被收录于专栏:秋枫学习笔记

关注我们,一起学习~

title:A Gain-Tuning Dynamic Negative Sampler for Recommendation link:http://playbigdata.ruc.edu.cn/dou/publication/2022_WWW_Negative_Sampler.pdf from:WWW 2022

1. 导读

本文是针对负样本采样过程中可能采样到假阴性样本的问题提出的相关方法,现有的方法通常侧重于保持具有高梯度的难负样本进行训练,导致优先选择假负样本。假阴性噪声可能导致模型的过拟合和较差的泛化性。为了解决这个问题,本文提出了一种增益调整动态负采样方法 GDNS。

  • 设计了一个期望增益采样器,该采样器涉及用户对训练中正负样本之间偏好差距的期望,以动态指导负选择。可以有效地识别假负样本并进一步降低引入假负实例的风险。
  • 为了提高训练效率,在每次迭代中为每个用户构建正负组,并开发一个分组优化器以交叉方式优化它们。

2. 方法

image.png

2.1 增益感知的负采样

由于常用方法存在假负例的情况,因此本文希望找到一种更可靠的衡量方式来找到负样本。本节设计了一个曝光感知函数来衡量曝光数据中的负信号,对于一个用户u,以及他交互的商品数据集合

\Delta_u

,曝光数据中未交互商品𝑗为真正负样本的概率为:

\mathcal{H}^{t}(u, j)=\mathbb{E}_{i \sim \Delta_{u}} \sigma\left(r_{u, j}-r_{u, i}\right)

其中𝑡代表训练阶段的第𝑡次迭代,𝜎是sigmoid函数。具有更高的预测分数,与正样本的预测分数接近的未交互样本更容易被选为负样本,这可以有效地在训练过程中提供更大的梯度和更多的信息。

具有较大预测分数的负实例对模型的学习很重要,但通常很少见,即遵循偏态分布。作者通过实验发现,假阴性样本在多次训练迭代中总是具有很高的期望差距,因此,与上式中对负样本和正样本之间得分差异的期望相比,两次迭代之间的期望增益是监控负样本和正样本集之间差异的更敏感的信号。相应地,设计了一个增益感知函数来计算商品𝑗是一个真正的负样本的概率,如下式,其中𝛼是使训练稳定的平滑超参数,𝜖防止分母为0。

\mathcal{G}_{u, j}^{t}=\alpha \cdot \mathcal{G}_{u, j}^{t-1}+(1-\alpha) \cdot \sigma\left(\frac{\mathcal{H}_{u, j}^{t-1}-\mathcal{H}_{u, j}^{t}}{\mathcal{H}_{u, j}^{t}+\epsilon}\right)

根据增益调整采样器,对于给定的用户,使得

\mathcal{G}_{u,j}^t

较高的商品j作为负样本。这是因为根据实验发现假阴性样本的G通常低于真阴性样本。因此,模型倾向于利用这种具有较高期望差距的方式来衡量负样本的质量,即在训练阶段选择具有较高 G 的候选负样本作为负样本。即这些样本更有可能是真负样本。这种方式可以有效地降低引入假阴性实例的风险。

2.2 分组优化

以前的工作通常优化成对的基于边际的损失,将高分分配给正实例,将低分分配给负实例。考虑到一下两方面,作者提出分组损失。

  • (1)在训练中负商品𝑗很可能与用户𝑢的正项一起重用
  • (2)在一对正负样本上优化推荐模型效率低下,分组优化器使优化更有效。

分组排序损失定义如下,其中r为模型预测得分,

\Delta_u

,

\Delta_u'

分别表示每个用户u的正负样本组。

\mathcal{L}\left(u, \Delta_{u}, \Delta_{u}^{\prime}\right)=\sum_{i \in \Delta_{u}} \sum_{j \in \Delta_{u}^{\prime}}\left|r_{u, j}-r_{u, i}+\gamma\right|_{+}

伪代码如下,

  • 对于用户u,将观察数据中的交互商品集合
C_u

中采样N次得到

\Delta_u

作为用户u的正样本组;将未观察数据中的商品集合

\bar{C}_u

中采样N次得到

\Delta_u'

作为用户u的负样本组。

  • 由于负采样的空间非常巨大或未知,对于第 𝑡 次迭代中的每个用户,首先通过随机采样构造一个子集
\delta \in \{j_1,...,j_M\} \subset \bar{C}_u
  • 然后通过GDNS从中采样topN个构成
\Delta_u'
  • 然后构造损失

建立了分组排序损失后,与单个成对样本相比,分组感知的正负样本可以更有效地捕捉用户的偏好。最后,我们将学习目标制定为最小化以下损失函数

\mathcal{L}=\sum_{u \in \mathcal{U}} \mathcal{L}\left(u, \Delta_{u}, \Delta_{u}^{\prime}\right)

3. 结果

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-03-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 秋枫学习笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 2.1 增益感知的负采样
  • 2.2 分组优化
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档