关注我们,一起学习
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的三塔结构,它由一个用户网络
,一个单纯的商品网络
和一个商品动量网络
组成,其中
和
具有相同的结构。三塔下方是一个特征embedding层,用于处理数字和分类特征,得到稠密的表征。用三个塔可以分别得到用户的表征,商品的两种表征分别为u,v,
。然后,将这些表示用于逐点和成对学习。对于数据样本
,使用
和
来预测pointwise对应的标签,并使用
来预测成对(pair-wise)标签.
设计这两个商品网络用于学习一致的商品表征,如果在优化过程中一个商品表征的真实值变化很大,则表明该商品表征波动很大,相应的标签可能存在标注偏差。利用两个商品网络对波动进行建模,然后解决标注偏差,这包括两个阶段:
- 1)动量更新。由于逐点标签受到标注偏差的影响,
可能在传统的梯度下降优化器中波动很大。商品表征
(逐点学习)通过动量更新而不是正常的梯度反向传播进行优化,这确保了一致的更新。
- 2) 有差异的权重标签。波动是通过同一商品的两个表征的差异来衡量的,这进一步作为逐点标签的置信度。波动越大,表示相应的逐点标签的权重越低,这会自动降低不可信逐点标签的重要性。
2.2 动量更新
与通过梯度反向传播更新其权重
的单纯商品网络
不同,
通过平均
更新
,公式如下。其中
是动量系数超参数,其值控制
的平滑度。尽管由于标注偏差,某些商品可能对同一用户具有 0 和 1 的逐点标签,但可以使商品表征的波动很小。相比之下,在经典推荐模型(
)中,
将收到相反的优化信号,这将影响商品表征的一致性。
学习目标通过反向传播通过
更新
。对于每一步,参数
的更新会立即反映在下一批的用户表征中。另一方面,商品表征不是通过
得到,而是通过动量复制的
得到。
2.3 有差异的加权标签
在动量更新之后,用两个商品表征
和
之间的差异来近似波动。差异定义为下式,其中
是元素级差异,||是逐元素绝对值运算。c是
的向量长度。将这整个差异视为逐点标签的置信度。大的
表示高度不确定性,因此使用它的倒数作为逐点标签的置信度。在一个数据样本中有两个商品(即j和t)并且它们是相关的,同理可得
,将它们组合起来作为标签权重。
从对应的
和
得到的两个表征的相似性反映了训练商品表征空间的局部性
2.4 损失函数计算
MP2由两种损失组成:逐点损失和成对损失。对于逐点损失,使用差异项作为数据样本的置信度,其中
,w是对应的标签权重。
pairwise loss使用用户表征和来自动量网络的商品表征,公式如下,
总损失函数为
3. 结果