阅读笔记--2022-SIGIR-Improving Micro-video Recommendation via Contrastive Multiple Interests

阅读笔记–Improving Micro-video Recommendation via Contrastive Multiple Interests

paper: https://arxiv.org/abs/2205.09593

1. Motivation

随着微视频创作者和观看者的快速增加,如何从大量的数据中向观看者做出个性化的推荐开始受到越来越多的关注。然而,现有的微视频推荐模型依赖于昂贵的多模态信息,学习的是整体兴趣嵌入,不能反映用户在微视频中的多重兴趣( multiple interests)。

最近,对比学习也被引入到推荐中,如顺序推荐、基于图神经网络的推荐等,实现了去偏和去噪,解决了表征退化和冷启动问题,提高推荐精度。

所以本文想通过对比学习的方式来提升微视频的推荐,提出了CMI模型。

2. Challenge

  • 如图1所示,用户对旅游和宠物都感兴趣,用户未来的交互可能涉及其中的任何一个兴趣.因此,更合理的方法是学习multiple disentangled interest embeddings(分离的用户兴趣嵌入),每个兴趣嵌入代表用户兴趣的一个方面,然后根据学习到的multiple disentangled interest embeddings为用户生成推荐。

  • 在微视频场景下,微视频是自动播放的,正向交互中存在噪声,有时用户无法判断是否喜欢该微视频,直到微视频播放完毕。然而,现有的微视频推荐模型和多兴趣推荐模型都没有利用对比学习来减少正交互中噪声的影响。

3. Method

3.1 问题定义
  • user sets U \bold U U , item sets : V \bold V V注:这里的item指的是 micro-video) , 用一个三元组 ( i , j , t ) (i, j,t) (i,j,t) 表示user u i u_i ui 在时间戳 t t t 时和 micro-video v j v_j vj之间的交互。

  • 对于一个特定的user u i ∈ U u_i\in \bold U uiU, 它在一段时间内的历史交互序列表示为: s i = [ v i 1 , v i 2 , . . . , v i ∣ s i ∣ ] s_i =[v_{i1},v_{i2},...,v_{i|s_i|}] si=[vi1,vi2,...,visi]其中,视频按用户 𝑢 𝑖 𝑢_𝑖 ui与视频交互的时间戳按升序排序。

  • 其次,学习每个用户的多个兴趣嵌入( multiple interest embeddings),表示为: [ u i 1 , u i 2 , . . . , u i m ] [u_i^1,u_i^2,...,u_i^m] [ui1,ui2,...,uim] 。然后,对于每个兴趣嵌入,我们计算每个候选微视频的余弦相似度,并召回K个相似度最高的微视频,最终可以召回 m K mK mK个微视频(因为有m个 interest embedding)。最后对这 m K mK mK个视频按余弦相似度降序排序,选出前K个微视频推荐给用户。

  • 整体模型图如图二所示:

3.2 Multi-interest and General Interest Encoders

我们假设用户对某一类item的偏好形成了用户的兴趣。因此,我们假设有 𝑚 𝑚 m个categories of items,为这 𝑚 𝑚 m个类别设置可学习的隐式嵌入(category embedding [ g 1 , g 2 , … , g 𝑚 ] [g_1,g_2,…,g_𝑚] [g1,g2,,gm]。再结合用户 u i u_i ui 的历史交互序列: S i = [ v i 1 , v i 2 , . . . , v i ∣ s i ∣ ] S_i =[v_{i1},v_{i2},...,v_{i|s_i|}] Si=[vi1,vi2,...,visi](这里的 v i k v_{ik} vik指的是通过了embedding layer得到的item embedding)。使用余弦相似度计算item embedding和category embedding之间的相似性,从而判断出该item属于哪个category。

  • 用公式1 计算item 𝑣 𝑖 𝑘 ∈ S 𝑖 𝑣_{𝑖𝑘}\in S_𝑖 vikSi匹配类别 𝑙 𝑙 l 的得分:

w i k l = g l T v i k ∣ ∣ g l ∣ ∣ 2   ∣ ∣ v i k ∣ ∣ 2 w_{ik}^l=\frac {g_l^Tv_{ik}}{||g_l||_2\space ||v_{ik}||_2} wikl=gl2 vik2glTvik

  • 接下来,用公式2计算item 𝑣 𝑖 𝑘 ∈ S 𝑖 𝑣_{𝑖𝑘}\in S_𝑖 vikSi 分配到类别 𝑙 𝑙 l 的概率 p i k l p_{ik}^l pikl:( ϵ \epsilon ϵ是为了避免过拟合而设置的小于1的超参数)

p i k l = e x p ( w i k l / ϵ ) ∑ l = 1 m e x p ( w i k l / ϵ ) p_{ik}^l=\frac {exp(w_{ik}^l/\epsilon)}{\sum_{l=1}^m exp(w_{ik}^l/\epsilon)} pikl=l=1mexp(wikl/ϵ)exp(wikl/ϵ)

  • 然后,就可以用公式3计算对应item category l l l 的 user interest u i l \bold u_i^l uil

u i l = ∑ k = 1 ∣ s i ∣ p i k l   v i k u_i^l=\sum_{k=1}^{|s_i|}p_{ik}^l \space v_{ik} uil=k=1sipikl vik

注意:在执行类别赋值时,我们可能会遇到两种退化情况:

  1. 每个item属于不同类别的概率相同或相似。造成这种退化的原因是学习到的 item category embeddings彼此相当相同
  2. 某一种 item category主导了整个item嵌入空间,这意味着所有项目都属于这个类别。

为了避免以上情况: 我们将category embedding和item embedding都约束在一个单位超球内,即 ∣ ∣ g i ∣ ∣ 2 = ∣ ∣ v ∗ ∣ ∣ 2 = = 1 ||g_i||_2=||v_*||_2==1 gi2=v2==1,并约束每两个 category embeddings为正交,构造正交性损失如式4所示。
L o r t h = ∑ i = 1 m ∑ j = 1 , j ≠ i m ( g i T   g j ) 2 L_{orth}=\sum_{i=1}^m\sum_{j=1,j\neq i}^m(g_i^T\space g_j)^2 Lorth=i=1mj=1,j=im(giT gj)2
除了编码用户的多种兴趣之外,我们还使用GRU(引用别人的方法)对用户一般兴趣的演化进行建模,实现用户的一般兴趣 u i g = G R U ( [ v i 1 , v i 2 , . . . , v i ∣ s i ∣ ] ) u_i^g=GRU([v_{i1},v_{i2},...,v_{i|s_i|}]) uig=GRU([vi1,vi2,...,visi])

3.3 Contrastive Regularization

我们认为部分交互中隐含的用户兴趣与所有交互中隐含的用户兴趣是相同的。因此,我们采用随机抽样的方法进行数据增广。

给定用户 u i u_i ui 的历史交互序列 s i = [ v i 1 , v i 2 , . . . , v i ∣ s i ∣ ] s_i =[v_{i1},v_{i2},...,v_{i|s_i|}] si=[vi1,vi2,...,visi],我们从 s i s_i si 中采样 m i n ( μ ∣ s i ∣ , f ) min(\mu_{|s_i|},f) min(μsi,f) micro-videos并仍然按照 s i s_i si中的顺序形成一个新的序列 s i ′ s_i^{'} si (注: μ \mu μ 表示采样率, f f f 表示默认值为100的最长序列长度) 。通过对 𝑠 𝑖 𝑠_𝑖 si进行两次随机抽样,我们得到两个序列 s i ′ s_i^{'} si s i " s_i^{"} si"

然后将这两个序列feed 进two multi-interest encoders 从而学得两组用户兴趣(user interests): U i ′ = [ u i 1 ′ , u i 2 ′ , . . . , u i m ′ ] \bold U_i^{'}=[u_i^{1'},u_i^{2'},...,u_i^{m'}] Ui=[ui1,ui2,...,uim] U i " = [ u i 1 " , u i 2 " , . . . , u i m " ] \bold U_i^{"}=[u_i^{1"},u_i^{2"},...,u_i^{m"}] Ui"=[ui1",ui2",...,uim"] ,如公式5所示:
U i ′ = M u l t i _ I n t e r e s t _ E n c o d e r ( s i ′ ) U i " = M u l t i _ I n t e r e s t _ E n c o d e r ( s i " ) \bold U_i^{'}=Multi\_ Interest\_Encoder(s_i^{'}) \\ \bold U_i^{"}=Multi\_ Interest\_Encoder(s_i^{"}) Ui=Multi_Interest_Encoder(si)Ui"=Multi_Interest_Encoder(si")
然后,我们构建一个对比的多兴趣损失( contrastive multi-interest loss)如下:
L c l ( u i k ′ , u i k " ) = − l o g e s i m ( u i k ′ , u i k " ) e s i m ( u i k ′ , u i k " ) + ∑ s − ∈ S − e s i m ( u i k ′ , s − ) − l o g e s i m ( u i k ′ , u i k " ) e s i m ( u i k ′ , u i k " ) + ∑ s − ∈ S − e s i m ( u i k " , s − ) L_{cl}(u_i^{k'},u_i^{k"})=-log \frac{e^{sim(u_i^{k'},u_i^{k"})}}{e^{sim(u_i^{k'},u_i^{k"})}+\sum_{s^-\in S^-}e^{sim(u_i^{k'},s^-)}}-log \frac{e^{sim(u_i^{k'},u_i^{k"})}}{e^{sim(u_i^{k'},u_i^{k"})}+\sum_{s^-\in S^-}e^{sim(u_i^{k"},s^-)}} Lcl(uik,uik")=logesim(uik,uik")+sSesim(uik,s)esim(uik,uik")logesim(uik,uik")+sSesim(uik",s)esim(uik,uik")
这里的 u i k ′ ∈ U i ′ u_i^{k'}\in \bold U_i^{'} uikUi u i k " ∈ U i " u_i^{k"} \in \bold U_i^{"} uik"Ui" 对应the 𝑘-th micro-video category。对于任意一种interest embedding u i k ′ ∈ U i ′ u_i^{k'}\in \bold U_i^{'} uikUi of user u i u_i ui,我们构造一个正样本对 ( u i k ′ , u i k " ) (u_i^{k'},u_i^{k"}) (uik,uik"), 然后用 u i k ′ u_i^{k'} uik 构造 2 m − 2 2m-2 2m2个负样本对和 2 m − 2 2m-2 2m2 个用户的interest embedding u i h ′ ∈ U i ′ u_i^{h'}\in \bold U_i^{'} uihUi u i h " ∈ U i " u_i^{h"}\in \bold U_i^{"} uih"Ui"

通过数据增强和对比的多兴趣损失,用户兴趣学习对特定的正交互不再敏感,从而减少了有噪声的正交互的影响,实现了正交互去噪。

3.4 Loss Function
  • 用户 u i u_i ui 对候选item v t v_t vt的交互分数被预测为: c i t = m a x 0 < k ≤ m ( u i k t v t / ϵ + u i g T ) c_{it}=max_{0<k\leq m}({u_i^{kt}v_t/\epsilon}+{u_i^{g}}^T) cit=max0<km(uiktvt/ϵ+uigT)

  • 在训练过程中,对于用户 u i u_i ui的每一个正样本 v p i v_p^i vpi,我们需要从完整的微视频中随机抽取从未互动过的微视频 n n n 作为负样本。但是,为了避免较高的采样成本,给定一个正样本,我们只采样一个负样本,即 𝑛 = 1 𝑛= 1 n=1。另外,我们将同一个batch里其他用户的正采样item和负采样item作为负样本,从而形成负样本集 N \bold N N,然后我们采用以下交叉熵损失作为损失的主要部分:

L m a i n ( u i , v p i ) = − l n e x p ( c i p ) ∑ v ∗ ∈ N ∪ v p i e x p ( c i ∗ ) L_main(u_i,v_p^i)=-ln\frac {exp(c_{ip})}{\sum_{v_*\in{\bold N\cup v_p^i}}exp(c_{i*})} Lmain(ui,vpi)=lnvNvpiexp(ci)exp(cip)

  • 最后,我们的损失函数如下所示,其中𝜆*是正则化系数:

L = L m a i n + λ c l L c l + + λ o r t h L o r t h L=L_{main}+\lambda_{cl}L_{cl}++\lambda_{orth}L_{orth} L=Lmain+λclLcl++λorthLorth

4. Experiments

  • 数据集:
image-20220527113126456
  • 总体表现

image-20220527112104240

  • 消融实验1–各个变体的影响
    • CMI-CL:CMI移除了 contrastive multi-interest loss
    • CMI-G : CMI without the general interest encoder.

从表3中,我们发现模型变量的性能严重下降。这证实了对比学习对多兴趣推荐的可行性和有效性,并表明候选item是否匹配一般用户偏好也很重要。

  • 消融实验2–兴趣数量的影响

我们依次设置兴趣数为[1、2、4、8、16],进行实验。实验结果如表4所示。可以看出,当兴趣数为8时,CMI的性能最好,而不是1。这证实了在微视频推荐场景下提取多重兴趣点的必要性和有效性。

image-20220527112545620
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值