【动量网络、对比学习】MP2: A Momentum Contrast Approach for Recommendation with Pointwise and Pairwise Lea

#论文题目:MP2: A Momentum Contrast Approach for Recommendation with Pointwise and Pairwise Learning(MP2:动量对比框架缓解推荐系统中的标注偏差)
#论文地址:https://arxiv.org/pdf/2204.08326.pdf
#论文源码开源地址:暂无
#论文所属会议:SIGIR’22
#论文所属单位:eBay、Tencent在这里插入图片描述

一、引言

什么是标注偏差?

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

之前的博客中也提到逐点损失是有偏差的,因为在不同的样本对比中,标签标记为0或1,其在损失函数中的位置不一样,其对应的数学表达也不一样。也就是说,标注偏差会使得模型的Loss函数中的样本点反复横跳。(一会样本点是正样本,一会是负样本)
在这里插入图片描述

下图中的B样本就存在标注偏差
在这里插入图片描述

什么是动量下降?

动量梯度下降(Gradient Descent with Momentum)算法思想:参数更新时在一定程度上保留之前更新的方向,同时又利用当前batch的梯度微调最终的更新方向,简言之就是通过积累之前的动量来加速当前的梯度。

下面一张图可以很直观地表达Momentum算法的思想。举个简单例子,假设上次更新时梯度是往前走的,这次更新的梯度算出来是往左走,这变化太剧烈了,所以我们来做个折中,往左前方走。感觉上,像是上次更新还带有一定的惯性
在这里插入图片描述

这样梯度下降过程会有什么变化,如下图所示:
在这里插入图片描述
使用动量梯度下降时,通过累加过去的梯度值来减少抵达最小值路径上的波动,加速了收敛,因此在横轴方向下降得更快,从而得到图中蓝色的曲线。当前后梯度方向一致时,动量梯度下降能够加速学习;而前后梯度方向不一致时,动量梯度下降能够抑制震荡。

我们可以形象的理解,给定一个小球,小球在向下运动的过程中会有加速度,导致越来越快,但是由于 β \beta β的存在使得不会一直加速运行。具体详见博客链接,本文在选取动量参数的时候也是从上述[0.5,0.9,0.95,0.99]中做交叉验证实验选取最优解的。

二、创新点

通过上述描述,显而易见,本篇文章的创新点为:

  • 由于在小批量梯度下降中,如果每次选取的样本数量较小,损失会呈现震荡的方式下降,而用动量下降方法,则会抑制这种现象。
  • 作者发现成对标签的软标签特性可以用来减轻逐点标签的偏差。因此,为减轻样本集合中逐点标注的偏差,本文提出了动量对比框架(MP2),它结合了逐点和成对学习。

作者在ICLR-2017的Temporal Ensembling for Semi-supervised
Learning文章
上进行了改进,该文章也提出了和本文同样的结构,但是其损失函数是最小化(2)式,而不是设置不同差异的权重数值。

三、算法框架

在这里插入图片描述

3.1 三塔结构设计

由上图我们可以看到它由一个用户网络 ϕ \phi ϕu(·, θ \theta θu),一个普通的商品网络 ϕ \phi ϕv(·, θ \theta θv)和一个商品动量网络 ϕ \phi ϕm(·, θ \theta θm)组成。其中, ϕ \phi ϕv(·, θ \theta θv)和 ϕ \phi ϕm(·, θ \theta θm)具有同样的结构。三塔下方是一个特征embedding层,用于处理数字和分类特征,得到稠密的表征。用 u u u作为 ϕ \phi ϕu(·, θ \theta θu)生成的用户表示,用 v v v作为 ϕ \phi ϕv(·, θ \theta θv)生成的item的普通表示,用用 v v vm作为 ϕ \phi ϕm(·, θ \theta θm)生成的item的动量表示。然后,将这些表示用于逐点和成对学习。
对于数据样本( U U Ui, V V Vj, V V Vt, y y yi,j, y y yi,t, j > ut),我们使用 y y y^ i,j= u u ui v v vmj y y y^ i,t= u u ui v v vmt来预测pointwise对应的标签,使用 y y y^ pair= u u ui v v vj - u u ui v v vt来预测pairwise标签。
回顾一下,我们的目标是学习一个一致的项目表示,所以设计了两个项目网络用于对比着的表示学习。直观上,如果优化过程中某一项表征的实值变化较大,说明该项表征波动较大,对应标签可能存在标注偏差。利用两个商品网络对波动进行建模,然后解决标注偏差,这包括两个阶段:

  1. 动量更新。由于逐点标签受到标注偏差的影响, v v vm可能在传统的梯度下降优化器中波动很大。商品表征 v v vm(逐点学习)通过动量更新而不是正常的梯度反向传播进行优化,这确保了一致的更新。
  2. 有差异的权重标签。波动是通过同一商品的两个表征的差异来衡量的,这进一步作为逐点标签的置信度。波动越大,表示相应的逐点标签的权重越低,这会自动降低不可信逐点标签的重要性。
3.2 动量更新

简单商品网络 ϕ \phi ϕv(·, θ \theta θv)和用户网络 ϕ \phi ϕu(·, θ \theta θu)通过梯度下降办法更新其权值,但是 ϕ \phi ϕm(·, θ \theta θm)通过平均 θ \theta θv更新 θ \theta θm,公式如下:在这里插入图片描述
其中, α \alpha α∈[0, 1)是超参数,控制 θ \theta θm的平滑度。尽管由于标注偏差,某些商品可能对同一用户具有 0 和 1 的逐点标签,但可以使商品表征的波动很小。相比之下,在经典推荐模型( y y yi,j= u u ui v v vj)中, v v vj将收到相反的优化信号,这将影响商品表征的一致性。
学习目标通过反向传播▽ L L Ltotal更新 ϕ \phi ϕu(·, θ \theta θu)。对于每一步,参数 θ \theta θu的更新会立即反映在下一批的用户表征中。另一方面,商品表征不是通过 ϕ \phi ϕv(·, θ \theta θv)得到的,而是通过动量复制得到的。

3.3 有差异的加权标签

动量更新后,我们利用 ϕ \phi ϕv(·, θ \theta θv)和 ϕ \phi ϕm(·, θ \theta θm)两项表示之间的差异来近似波动。差异定义如下:
在这里插入图片描述
δ \delta δj代表元素级差异,||表示元素的绝对值操作, c c c δ \delta δj矩阵的长度, δ \delta δj _是一个数值,我们把这整个差异作为点态标签的置信度项。
大的 δ \delta δj _表示高度不确定性,因此使用它的倒数作为逐点标签的置信度。在一个数据样本中有两个商品(即j和t)并且它们是相关的,同理可得,将它们组合起来作为标签权重:
在这里插入图片描述
从对应的 ϕ \phi ϕv(·, θ \theta θv)和 ϕ \phi ϕm(·, θ \theta θm)得到的两个表征的相似性反映了训练商品表征空间的局部性。

其中,作者提出这个思想的原因是因为引用了ICLR-2017的Temporal Ensembling for Semi-supervised
Learning文章
,该文章也提出了和本文同样的结构,但是其损失函数是最小化(2)式,而不是设置不同差异的权重数值。

3.4 损失函数计算

MP2由两种损失组成:逐点损失和成对损失。对于逐点损失,使用差异项作为数据样本的置信度,其中, w w wj,t表示在一个训练样本item上 j j j t t t的权重:
在这里插入图片描述在这里插入图片描述
成对损失使用用户表征和来自动量网络的商品表征,公式如下:
在这里插入图片描述
最后,总体损失函数为:
在这里插入图片描述
下图表示算法的整体步骤:
在这里插入图片描述

四、结果

在这里插入图片描述

4.1 对比实验简介
  • NeuMF:这是一种基于神经网络的具有二元交叉熵损失的协同滤波方法。它由双塔结构组成。
  • BPR:这是一种对具有两两排序损失的矩阵分解模型进行优化的pairwise排序方法,是经典的两两(pairwise)推荐模型。
  • Ranknet-NN:这是一个神经网络模型应用pairwise损失和一个双塔结构。
  • APPL:该模型是一个联合学习模型,结合了两个点态损失和一个成对损失。它的原始版本是基于矩阵分解的,论文实现了一个深度学习版本,用一个双塔神经网络取代矩阵分解。
  • T3 (Three-Tower): 该模型是MP2的一个截短版本,我们从MP2中去掉了动量更新和差异项。这个模型包含了一个三塔结构有两个点向标签和一个成对标签。通过网格搜索进行超参数调整,并使用最佳超参数对每种方法进行测试,以便进行公平比较。
4.2 实验对比结论
  1. 损失函数具有联接损失的模型(即MP2、T3和APPL)通常优于损失函数只是具有成对损失的模型(Ranknet-NN和BPR)或点态损失的模型(neuf),这表明结合pointwise和pairwise学习是一种很有前途的推荐方法。
  2. pairwise模型在经验上优于pointwise模型。这主要是因为pairwise模型捕捉项目的相对关系,数据集不存在注释偏差。
  3. Ranknet-NN(深度pairwise模型)在4个数据集上的表现优于BPR(非深度pairwise模型)。它们的损失函数是相同的,区别在于RanknetNN采用的是神经网络,可以学习高阶特征交互。相反,BPR基于矩阵分解,只能利用浅层特征交互进行推荐。
  4. MP2优于three tower和APPL,表明动量更新和加权策略的有效性。我们还发现T3比APPL更好,验证了三塔结构优于二塔结构的优越性。

通过以上分析,我们可以得出结论,MP2是有效的和有竞争力的。

五、结论

在本文中,研究了推荐中的标注偏差,这是一个广泛存在但被忽视的问题,它是由二进制点标签的有限表达性引起的。因此论文提出了MP2,一个动量对比框架的推荐,结合点态和成对学习,以减轻注释偏差。实验表明MP2比其他竞争方法具有更大的优越性。在未来,我们计划结合深度学习中的listwise loss和pointwise loss进行推荐。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值