前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SIGIR'22 推荐系统:自引导隐式反馈去噪

SIGIR'22 推荐系统:自引导隐式反馈去噪

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

关注我们,一起学习~

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被模型记住,表示为

m_t(u,i)

。每次排名取Top-N,简单计算每个轮次的交互记忆是不稳定的,因为在早期(抗噪阶段)模型还没有被训练的很好,因此采用最近的h轮来计算,公式如下,其中

\mathcal{P}_{t}^{h}(u, i)=\left\{m_{t-h+1}(u, i), \cdots, m_{t}(u, i)\right\}

捕获最近h轮交互(u,i)的记忆历史。定义如果

m^h_t(u,i)

大于0.5则说明交互被模型记忆了。即:如果在最近h次训练中,交互(u,i)有超过一半的次数在模型的top-N排名中,则说明被模型记住了

m_{t}^{h}(u, i)=\frac{1}{\left|\mathcal{P}_{t}^{h}(u, i)\right|} \sum_{m_{j}(u, i) \in \mathcal{P}_{t}^{h}(u, i)} m_{i}(u, i)

3.1.2 记忆点估计

在抗噪声期间,推荐模型不仅从干净的交互中学习到足够的信息,还从嘈杂的隐式反馈中积累了一些噪声(应该是从图1中红线比蓝线低来解释)。本节设计了两个指标来反映模型的上述两个记忆特征。

使用

M_t

表示在第t轮(epoch)时的一组记忆交互,并使用

y_{ui}^*

表示交互的真实标签,由于隐式反馈中的噪声,该标签不可用。本节提出两个基于记忆的指标,即记忆精度(MP)和记忆召回(MR),公式如下,

R_t=\{(u,i)\in M_t:y_{ui}=y_{ui}^*\}

表示真实标签与预测一致的记忆数据集,

\mathcal{G}=\{(u,i)\in D:y_{ui}=y^*_{ui}\}

表示真实标签与预测一致的数据集合。MP单调递减因为首先记忆干净数据,然后逐渐记忆所有噪声交互;MR单调递增因为随着训练的进行,模型最终会记住所有干净的交互

MP=\frac{|R_t|}{|M_t|}
MR=\frac{|R_t|}{|\mathcal{G}|}

因此,最好的记忆点

t_m

是使得MP和MR平衡的点,

MP_t=MR_t

,从而可以得到最佳的

M_{t_m}=\mathcal{G}

,即干净数据,所以

t_m

可以通过下式计算得到,其中σ是噪声率。

M_{t_m}=|\{(u,i)\in D_t:y_{ui}=y^*_{ui}\}|=(1-\sigma)|D|

σ无法直接获得,可以利用干净交互和噪声交互的损失值的分布差异来估计。首先对所有训练交互的损失值进行归一化,然后用高斯混合模型GMM拟合,以对真标记和假标记样本的双峰分布进行建模,可以使用EM算法训练 GMM 模型。因此,可以通过损失分布的后验概率获得交互(u,i)有噪声的概率。因此,噪声率σ估计为下式,其中L是损失函数。

\hat{\sigma}=\mathbb{E}_{(u, i) \in \mathcal{D}}\left[p\left(\mu \mid L_{(u, i)}(\theta)\right]\right.

当记忆的交互次数达到估计的干净数据大小(即

M_{t}\ge (1-\hat{\sigma})D)

)时,SGDL 过渡到阶段 II。SGDL 能够估计记忆点

t_m

,并以几乎零计算开销且无需额外监督的情况下收集记忆数据

M_{t_m}

3.2 阶段II:自引导学习

3.2.1 基于记忆数据去噪

在噪声敏感时期,目标是通过对每个样本损失施加权重来增强训练的鲁棒性。在这里,考虑使用去噪信号来学习每个样本的权重,令

L_k(\theta)

表示的第k个样本的损失(point-wise或pair-wise损失),

D_T

为训练数据。最优推荐模型参数θ是通过最小化以下加权损失来计算的,g()是对应的权重,本文在g()中使用包含参数ψ的单层MLP,

\theta^{*}(\psi)=\underset{\theta}{\operatorname{argmax}} \frac{1}{\left|\mathcal{D}_{T}\right|} \sum_{k}^{\left|\mathcal{D}_{T}\right|} g\left(L_{k}(\theta) ; \psi\right) L_{k}(\theta)

通过下式优化ψ,其中Lm为第m个记忆的样本损失

\psi^{*}=\underset{w}{\operatorname{argmax}} \frac{1}{\left|\mathcal{M}_{t_{m}}\right|} \sum_{m}^{\left|\mathcal{M}_{t_{m}}\right|} L_{m}\left(\theta^{*}(\psi)\right)

优化上面两个参数需要嵌套的循环,比较低效,作者基于元学习,在单循环上交替更新上面的参数,在每个迭代中分别执行下面的更新,可以和图2对照着看:

  • assumed update of θ:利用现有的ψ采用梯度下降更新θ,公式如下,
\eta_1

为学习率

\hat{\theta}(\psi)=\theta-\eta_{1} \frac{1}{\left|\mathcal{D}_{T}\right|} \sum_{k}^{\left|\mathcal{D}_{T}\right|} g\left(L_{k}(\theta) ; \psi\right) \nabla_{\theta} L_{k}(\theta)
  • update of ψ:相当于固定了θ对psi进行梯度下降
\psi \leftarrow \psi-\eta_{2} \frac{1}{\left|\mathcal{M}_{t_{m}}\right|} \sum_{m}^{\left|\mathcal{M}_{t_{m}}\right|} \nabla_{\psi} L_{m}(\hat{\theta}(\psi))
  • Actual update of θ:更新完ψ之后再更新一次θ,公式还是一样的,
\theta\leftarrow \theta-\eta_{1} \frac{1}{\left|\mathcal{D}_{T}\right|} \sum_{k}^{\left|\mathcal{D}_{T}\right|} g\left(L_{k}(\theta) ; \psi\right) \nabla_{\theta} L_{k}(\theta)

采用上述策略在噪声敏感期间优化推荐模型和权重函数,如图 2 所示。虽然这种策略不能保证找到全局最优值,但它在许多双层优化问题中都表现良好。

3.2.2 自适应去噪调度器

上述去噪方案依赖于记忆的数据为训练提供去噪信号。然而,由于记忆数据不可避免地会出现噪声,将它们的噪声整合会降低去噪性能。因此,本节提出了一种自适应去噪调度器,仅选择干净且信息丰富的记忆数据进行去噪学习。

将调度器定义为s,参数为

\phi

,并选择两个有代表性的因素来量化每个记忆数据对去噪的贡献:

  • 第m个记忆样本的损失
L_m(\theta)

其中θ是经过actual update后的。

  • 第m个记忆样本在
\hat{\theta}

\theta

上的梯度相似性,

\cos \left(\nabla_{\hat{\theta}} L_{m}(\hat{\theta}), \nabla_{\theta} L_{m}(\theta)\right)

这两个因素分别与第m个记忆样本的学习成果和学习过程相关。梯度相似度表征了记忆样本在模型训练中的贡献。如果梯度相似性也很大(即记忆样本的梯度方向与模型的优化一致),则较大的损失值可能代表关键的记忆样本;梯度相似度小的损失值大可能表明记忆样本有噪声。同时考虑这两个因素,制定了第m个记忆数据的采样概率为下式,此处采用LSTM作为s()函数

\begin{array}{c} o_{m}=s\left(L_{m}(\theta), \cos \left(\nabla_{\hat{\theta}} L_{m}(\hat{\theta}), \nabla_{\theta} L_{m}(\theta)\right) ; \phi\right) \\ \pi_{m}=\frac{\exp \left(o_{m} ; \phi\right)}{\sum_{i \in \mathcal{M}_{t_{m}}} \exp \left(o_{i} ; \phi\right)} \end{array}

由于采样过程不可微,因此采用Gumbel-Softmax进行重参数化生成可微样本,公式如下,其中

\epsilon_m

从均匀分布中随机采样得到,0~1.

y_{m}=\frac{\exp \left(\log \left(\pi_{m}\right)+\epsilon_{m}\right) / \tau}{\sum_{i \in \mathcal{M}_{t_{m}}} \exp \left(\log \left(\pi_{i}\right)+\epsilon_{i}\right) / \tau}

调度器能够根据其对去噪隐式反馈的贡献来决定使用哪些记忆数据,并自适应地调整采样概率以获得更多信息的引导学习。

4. 结果

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 3.1 阶段I:记忆化
    • 3.1.1 记忆的交互
      • 3.1.2 记忆点估计
      • 3.2 阶段II:自引导学习
        • 3.2.1 基于记忆数据去噪
          • 3.2.2 自适应去噪调度器
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档