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

2022-09-19 10:25:56 浏览数 (2)

关注我们,一起学习

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} tright) 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. 结果

0 人点赞