WWW'22 推荐系统 | MCL:混合中心损失用于协同过滤

2022-09-19 10:56:20 浏览数 (1)

关注我们,一起学习~

title:MCL: Mixed-Centric Loss for Collaborative Filtering link:https://www.cs.toronto.edu/~mvolkovs/WWW2022_MCL.pdf code:https://github.com/layer6ai-labs/MCL from:WWW 2022

1. 导读

推荐系统模型中通常采用逐点损失(CE)和成对损失(BPR),很少探索如何从可用的偏好信息中最优地提取信号。对负样本进行采样后,通常利用正样本和采样的负样本来更新权重。这可能会忽略来自其他用户和商品的有价值的全局信息,并导致次优结果。

本文提出了MCL来解决上述问题,首先挖掘富含信息的难样本对,然后为难样本分配更多的权重。加权过程由四个不同的组件组成,并结合了来自其他用户的距离信息,使模型能够更好地学习的表征。

文中对BPR,Triplet两个损失的导数影响进行了分析,具体可见论文第三节,本文直接介绍方法。

2. 方法

2.1 样本对挖掘

样本对挖掘的目标是找到难正样本和负样本,难正样本定义为比至少一个负样本离用户更远的商品,难负样本定义为比至少一个正商品更接近用户的商品。在每次迭代中,丢弃不符合难样本定义的商品,加入边距进一步约束距离关系。公式如下,其中E表示欧式距离,uj为正样本对{u,j}用户和正样本构成的样本对,uk为负样本对,N和P表示负样本和正样本。以难正样本为例进行解释,正样本的距离比最小的负样本的距离减阈值要大,则认为是难正样本。

E_{u j}>min _{k in N_{u}} E_{u k}-epsilon
E_{u k}<max _{j in P_{u}} E_{u j} epsilon

负样本集合一般比较大,因此在实际中采用随机从负样本集和中采样一个子集进行上述计算。

2.2 混合中心损失MCL

通过挖掘样本对之后,可以得到对应的正负样本集合,表示为

P_u^s

,

N_u^s

。给定一个batch B,其中包含m个用户,其损失函数定义为下式,其中λ为边距,α,β控制正负样本的作用,他们都是超参数。第一项缩小难正样本到用户的距离,第二项增大负样本到用户的距离。

begin{aligned} L_{M C L} &=frac{1}{alpha} log left[1 frac{1}{m} sum_{u in B} sum_{j in P_{u}^{s}} e^{alphaleft(E_{u j} lambda_{p}right)}right] \ & frac{1}{beta} log left[1 frac{1}{m} sum_{u in B} sum_{k in N_{u}^{s}} e^{-betaleft(E_{u k} lambda_{n}right)}right] end{aligned}

难正样本(难负样本也类似)对权重导数的影响如下所示,

  • 用户-商品中心
w_1^

仅和用户-目标商品的距离相关,离用户越远则其越小,使整个

w_{uj}^

变大。

  • 同类型中心
w_2^

计算的是目标商品和集合中其他难正样本之间的关系,如果目标商品的距离比其他难正样本的距离更大,则w_2就更小,使得

w_{uj}^

变大;这对商品embedding空间具有正则化效果,其中损失倾向于使所有相同类型的商品与用户的距离相似,并且异常值受到强烈惩罚。

  • 同批次中心
w_3^

表示和同一个batch中的其他用户进行比较,提供了跨用户的额外一致性,其中损失旨在将所有正样本放置在每个用户的相同距离内。距离明显更远的样本对具有更大的整体权重

begin{aligned} w_{u j}^{ } &=frac{1}{m} cdot frac{e^{alpha E_{u j}}}{e^{-alpha lambda_{p}} frac{1}{m} sum_{u^{prime} in B} sum_{i in P_{u^{prime}}} e^{alpha E_{u^{prime} i}}} \ &=frac{1}{m} cdot frac{1}{w_{1}^{ }(u, j) w_{2}^{ }(u, j) w_{3}^{ }(u, j)} end{aligned}
begin{array}{l} w_{1}^{ }(u, j)=e^{-alphaleft(E_{u j} lambda_{p}right)} \ w_{2}^{ }(u, j)=frac{1}{m} sum_{substack{i in P_{u}^{s}}} e^{alphaleft(E_{u i}-E_{u j}right)} \ w_{3}^{ }(u, j)=frac{1}{m} sum_{substack{u^{prime} in B \ u^{prime} neq u}} sum_{substack{i in P^{s} \ u^{prime}}} e^{alphaleft(E_{u^{prime} i}-E_{u j}right)} end{array}

3. 结果

0 人点赞