前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SIGIR'22「eBay」MP2:动量对比框架缓解推荐系统中的标注偏差

SIGIR'22「eBay」MP2:动量对比框架缓解推荐系统中的标注偏差

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

关注我们,一起学习

title:MP2: A Momentum Contrast Approach for Recommendation with Pointwise and Pairwise Learning link:https://arxiv.org/pdf/2204.08326.pdf from:SIGIR 2022

1. 导读

现有的推荐系统模型训练通常采用point wise(如交叉熵)或pair wise损失(如BPR),但是标签的有限的表达能力可能无法适应不同程度的用户偏好,从而导致模型训练期间的冲突,作者称之为标注偏差(annotation bias)。

标注偏差:逐点损失中将标签标记为0和1,但是用户的偏好可能是0.9,0.7这种,所以存在偏差

作者发现成对标签的软标签特性可以用来减轻逐点标签的偏差。因此,本文提出了一个动量对比框架(MP2),它结合了逐点和成对学习,MP2具有三塔网络结构:一个用户网络和两个item网络。这两个item网络分别用于计算逐点和成对损失。为了减轻标注偏差的影响,执行动量更新以确保一致的商品表征。

2. MP2框架

2.1 三塔设计

如上图所示为MP2的三塔结构,它由一个用户网络

\phi_u(\cdot,\theta_u)

,一个单纯的商品网络

\phi_v(\cdot,\theta_v)

和一个商品动量网络

\phi_m(\cdot,\theta_m)

组成,其中

\phi_v(\cdot,\theta_v)

\phi_m(\cdot,\theta_m)

具有相同的结构。三塔下方是一个特征embedding层,用于处理数字和分类特征,得到稠密的表征。用三个塔可以分别得到用户的表征,商品的两种表征分别为u,v,

v^m

。然后,将这些表示用于逐点和成对学习。对于数据样本

(U_i,V_j,V_t,y_{ij},y_{it},j>_ut)

,使用

\hat{y}_{ij}=u_iv_j^m

\hat{y}_{it}=u_iv_t^m

来预测pointwise对应的标签,并使用

\hat{y}_{pair}=u_iv_j-u_iv_t

来预测成对(pair-wise)标签.

设计这两个商品网络用于学习一致的商品表征,如果在优化过程中一个商品表征的真实值变化很大,则表明该商品表征波动很大,相应的标签可能存在标注偏差。利用两个商品网络对波动进行建模,然后解决标注偏差,这包括两个阶段:

  • 1)动量更新。由于逐点标签受到标注偏差的影响,
v^m

可能在传统的梯度下降优化器中波动很大。商品表征

v^m

(逐点学习)通过动量更新而不是正常的梯度反向传播进行优化,这确保了一致的更新。

  • 2) 有差异的权重标签波动是通过同一商品的两个表征的差异来衡量的,这进一步作为逐点标签的置信度。波动越大,表示相应的逐点标签的权重越低,这会自动降低不可信逐点标签的重要性。

2.2 动量更新

与通过梯度反向传播更新其权重

\theta_v

的单纯商品网络

\phi_v(\cdot,\theta_v)

不同,

\phi_m(\cdot,\theta_m)

通过平均

\theta_v

更新

\theta_m

,公式如下。其中

\alpha \in [0, 1)

是动量系数超参数,其值控制

\theta_m

的平滑度。尽管由于标注偏差,某些商品可能对同一用户具有 0 和 1 的逐点标签,但可以使商品表征的波动很小。相比之下,在经典推荐模型(

y_{ij}=u_iv_j

)中,

v_j

将收到相反的优化信号,这将影响商品表征的一致性。

\theta_m=\alpha \theta_m + (1-\alpha)\theta_v

学习目标通过反向传播通过

\nabla_{u} L_{\text {total }}

更新

\phi_u(\cdot,\theta_u)

。对于每一步,参数

\theta_u

的更新会立即反映在下一批的用户表征中。另一方面,商品表征不是通过

\phi_v(\cdot,\theta_v)

得到,而是通过动量复制的

\phi_m(\cdot,\theta_m)

得到。

2.3 有差异的加权标签

在动量更新之后,用两个商品表征

\phi_v(\cdot,\theta_v)

\phi_m(\cdot,\theta_m)

之间的差异来近似波动。差异定义为下式,其中

\delta_j

是元素级差异,||是逐元素绝对值运算。c是

\delta_j

的向量长度。将这整个差异视为逐点标签的置信度。大的

\bar{\delta_j}

表示高度不确定性,因此使用它的倒数作为逐点标签的置信度。在一个数据样本中有两个商品(即j和t)并且它们是相关的,同理可得

\bar{\delta_t}

,将它们组合起来作为标签权重。

\overline{\delta_{j}}=\frac{1}{c} \sum_{d=1}^{c}\left(\delta_{j}^{d}\right), \delta_{j}=\left|v_{j}-v_{j}^{m}\right|
w_{j t}=\frac{1}{\exp \left(\overline{\delta_{j}}+\overline{\delta_{t}}\right)}

从对应的

\phi_v(\cdot,\theta_v)

\phi_m(\cdot,\theta_m)

得到的两个表征的相似性反映了训练商品表征空间的局部性

2.4 损失函数计算

MP2由两种损失组成:逐点损失和成对损失。对于逐点损失,使用差异项作为数据样本的置信度,其中

p_j=\frac{1}{1+exp(-\hat{y}_j)}

,w是对应的标签权重。

L_{\text {point wise }}=-\sum_{j=1}^{n} w_{j t} y_{j} \log \left(p_{j}\right)+w_{j t}\left(1-y_{j}\right) \log \left(1-p_{j}\right)

pairwise loss使用用户表征和来自动量网络的商品表征,公式如下,

L_{\text {pair wise }}=\sum_{u=1}^{m} \sum_{j=1}^{n} \sum_{t=1}^{n} \mathbb{I}\left(j>_{u} t\right) \log \left(1+\exp \left(u_{i} v_{j}^{\prime}>u_{i} v_{t}^{\prime}\right)\right)

总损失函数为

L_{\text {total }}=L_{\text {point wise }}+\beta * L_{\text {pairwise }}+\text { L2-regularization. }

3. 结果

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 2.1 三塔设计
  • 2.2 动量更新
  • 2.3 有差异的加权标签
    • 2.4 损失函数计算
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档