一、DuoRec [2021]

《Contrastive Learning for Representation Degeneration Problem in Sequential Recommendation》

  1. 近年来,TransformerBERT 等深度序列学习模型的发展显著推动了序列推荐技术的进步。然而,研究发现,这些模型生成的 item embeddings 分布往往会退化为各向异性 (anisotropic),这可能导致 embeddings 之间的语义相似度偏高。本文首先对这种表征退化(representation degeneration)问题进行了实证和理论研究,并在此基础上提出了一种新的推荐模型 DuoRec,以优化 item embeddings 分布。具体而言,基于对比学习(contrastive learning)的均匀性特性,我们为 DuoRec 设计了对比正则化项(contrastive regularization),以重塑 sequence representations 的分布。鉴于推荐任务通常通过在同一空间中使用点积来衡量 sequence representationsitem embeddings 之间的相似度,该正则化项可以间接地使 item embedding 分布更加均匀。现有的对比学习方法主要依赖于对 user-item interaction sequences进行数据增强,如 item cropping, masking, or reordering,但这些方法很难提供语义一致的增强样本。在 DuoRec 中,我们提出了一种基于 Dropoutmodel-level 增强方法,以更好地保留语义。此外,我们还开发了一种新的采样策略,将具有相同 target item 的序列选为 hard 正样本。在五个数据集上进行的大量实验表明,与基线方法相比,所提出的 DuoRec 模型性能更优。对学到的 represention 进行可视化的结果证实,DuoRec 可以在很大程度上缓解 representation degeneration 问题。

  2. 传统推荐系统通常依据用户历史记录来预测其偏好,却未考虑时间因素 。然而,用户偏好往往会随时间发生变化。近期的序列推荐方法利用用户交互的序列模式(sequential patterns )来捕获动态的偏好。

    在研究这些序列模型时,我们发现 item embeddings 存在表征退化(representation degeneration )问题,其分布会退化为一个狭窄的锥形,导致语义模糊的 representation 。如 Figure 1(a) 所示,由 SASRec 生成的 item embeddingsX 轴方向上趋于正值,而在 Y 轴方向上分布狭窄。在这种情况下,由于几何特性,大多数 items 之间呈现正相关。这种分布通常是各向异性的(anisotropic),如 Figure 1(c) 中蓝色曲线所示,item embedding matrix 的奇异值(singular values)迅速减小。这表明 embedding matrix 存在主导维度,而其他维度无效,近似于极低的秩(extreme low rank )。相比之下,本文提出的 DuoRecitem embeddings 在原点周围分布更为均匀,奇异值下降更为缓慢,如 Figure 1(b) 、以及 Figure 1(c) 中的橙色曲线所示。

    本文首先通过理论分析探究了 representation degeneration 的原因,并在此基础上提出了一种新的序列推荐模型 DuoRec,以改善 item embeddings 的分布。具体来说,受对比学习的均匀性的启发,我们设计了对比正则化项(contrastive regularization ),以增强 sequence representation 分布的均匀性。由于推荐通常是通过在同一空间中用点积测量 sequence representationitem embeddings 之间的相似性来实现的,对比正则化可以间接地使 item embeddings 分布更均匀。现有的对比学习方法通常使用 data-level augmentation 来生成正样本,如 item cropping, masking, and reordering ,但这可能会导致样本语义不一致。考虑到输入数据本身通常被嵌入到一个 dense vector 中,我们提出了一种 model-level augmentation 方法,在 sequence representation learning 中应用两组不同的 Dropout masks。此外,由于存在大量语义相似的序列,它们代表相似的用户偏好,我们开发了一种额外的 positive sampling 策略,生成更具挑战性和信息性的正样本,即把具有相同 target item 的序列视为语义相似的序列。

    本文的主要贡献总结如下:

    • 通过理论和实证分析,识别并研究了序列推荐模型中的 representation degeneration 问题。

    • 为解决 representation degeneration 问题,提出了一种新的模型 DuoRec,使用 contrastive objective 作为 sequence representations 的正则化。

    • 设计了一种基于 Dropoutmodel-level augmentation 用于用户序列,并开发了以 target item 为监督信号的 positive sampling 策略。

    • 在五个基准数据集上进行了大量实验,结果显示了 DuoRec 模型的先进性能,以及 contrastive regularization 在序列推荐中的有效性。

1.1 基本概念

1.1.1 Representation Degeneration 问题

  1. 符号和任务定义:在序列推荐中,问题设定是利用历史交互来推断用户偏好并推荐 next item 。存在一个包含所有 itemsitemV|V| 表示 items 的数量。用户的历史交互被构建为一个有序列表 s=[v1,v2,,vt],其中 viV1itt 表示当前time step ,同时也是序列 s 的长度。推荐任务是预测用户在 time step t+1时的 next item ,即 vt+1

  2. Representation Degeneration 问题:为了在序列推荐中执行 next item prediction 任务,模型会将交互序列编码为一个固定长度的向量,以便在 item set 中进行检索。

    给定 items 的一个序列 s=[v1,v2,,vt],模型计算该序列的概率为 p(s)=n=1tp(vncn),其中 cntime step n 时的上下文(context ),包含所有之前的交互 [v1,,vn1]。该序列的对数概率可以用一个由 θ 参数化的模型表示为:

    logpθ(s)=n=1tlogpθ(vncn)=n=1tlogexp(hcn,vn)vVexp(hcn,v)

    其中:hcnRd 是上下文的 d 维向量;vn,vRditemembeddings 向量;<,> 为向量内积。一般来说,hcn 是由 GRUTransformer 等序列模型生成的。

    当使用交叉熵损失来优化上述参数化的模型时,目标函数可以抽象为:

    J=Espdata[logpθ(s)]

    根据文献 《On the Sentence Embeddings from Pre-trained Language Models》《Breaking the Softmax Bottleneck: A High-Rank RNN Language Model》,在一个训练良好的序列模型中,点积项可以近似分解为:

    hc,vnlogp(vncn)+λcn=PMI(vn,cn)+logp(vn)+λcn

    其中:

    • p() 为真实概率。

    • PMI(vn,cn)=logp(vn,cn)p(vn)p(cn)vncn 之间的点互信息(pointwise mutual information: PMI)。

    • λcn 是与上下文相关的项。

    PMI 捕获了变量之间的共现统计信息(co-occurrence statistics ),通常被视为 tokenscontext 之间的语义。

    为了用损失函数 J 来优化模型,损失函数对一个未出现在输入序列中的 item embedding v 的梯度为:

    Jv=exp(hcn,v)vVexp(hcn,v)hcnp(vcn)hcn

    这个梯度意味着,对于数据集中出现频率较低的 items ,其梯度方向几乎由 context vector 决定。这也在 Figure 1(a) 中有所体现,代表低频 items 的黄色点在一个狭窄的空间内朝着相似的方向移动。这是因为大多数时候,这些 item embeddings 在训练时,更多是作为 non-target items ,按照 Jv 中的梯度进行更新;而不是作为 target items ,通过编码器的梯度流动进行训练。这种 embeddings 分布被称为各向异性空间(anisotropic space)。

    正如公式 hcn,vn 所示,sequence embeddingitem embedding 之间的语义信息是通过基于 co-occurrence 的点积来捕获的。然而,根据公式 Jv,期望 sequence embeddings 在衡量低频 items 之间的相似性时表现出明显差异是不现实的。一般来说,推荐系统的输出层是 sequence representationitem embeddings 之间的点积,这将 sequences representationsitems representations 置于相同的潜在空间中。在接下来的部分,我们将引入对比正则化(contrastive regularization),重新调整 sequence representations 在原点周围的分布,从而间接地改善 item embeddings 的分布。

1.1.2 预备知识:对比学习

  1. 噪声对比估计(Noise Contrastive Estimation ):对比学习是一种训练方法,它使正样本 pairs更接近,负样本pairs 更远离。具体来说,噪声对比估计(Noise Contrastive Estimation: NCE)目标通常用于训练编码器 f

    LNCE=E(x,x+)pposi.i.d. xipdata[logexp(f(x+)f(x)/τ)exp(f(x+)f(x)/τ)+iexp(f(xi)f(x)/τ)]

    其中:

    • xx+ 是从分布 ppos 中选取的一对语义相近的样本,在这里作为 positive pair

    • xxi 是一对负样本,xi 是从 pdata 中随机采样得到的。

    • τ 是温度参数。

  2. 对齐和均匀性:根据公式 LNCENCE loss 直观上是在进行拉近和推远的操作。在向量是 normalized 的假设下,数学上正式定义 representations 的对齐(alignment )和均匀性(uniformity ):

    Lalign=E(x,x+)pposf(x+)f(x)2Luniform=logExi.i.d.pdataexp(2f(x)f(x)2)

    其中:ppos 表示正样本 pair 的分布,pdata 是独立样本的分布。

    • 对于公式 Lalign,最小化 Lalign 相当于鼓励从 positive pair 分布 pposxx+ 学到的 representations 接近。

    • 对于公式 Luniform ,最小化 Luniform 相当于鼓励所有来自分布 pdata 的数据样本的 representations 均匀分布。

1.2 方法:DuoRec

1.2.1 序列编码作为 User Representation

  1. 在序列推荐中,主要思路是聚合历史交互以描绘用户偏好。与 SASRec 类似,DuoRec 的编码模块是一个 Transformer。为了利用 Transformerencoding 能力,首先将 items 转换为 embeddings 向量,然后应用多头自注意力模块计算 user representation

  2. Embedding Layer:在 DuoRec 中,有一个 embedding matrix VR|V|×d,其中 dembedding 维度。对于输入序列 s=[v1,v2,,vt]embedding representationss=[v1,v2,,vt] ,这里 vembedding 向量。

    为了保留序列的时间顺序,我们构建了一个 positional encoding matrix PRN×d ,其中 N 表示所有序列的最大长度。形式上,item embeddingpositional encoding 相加,作为 Transformertime step tinteraction 的输入向量:

    ht0=vt+pt

    其中:

    • ht0Rdtime step tinteraction 的完整输入向量,

    • pttime step tpositional encoding

  3. 自注意力模块:获得输入序列后,Transformer 通过多头自注意力机制计算每个 itemupdated representations 。假设 H0=[h00,h10,,ht0] 是序列的 hidden representation ,作为 L 层多头 Transformer 编码器(Trm)的输入,序列的编码过程可以定义为:

    HL=Trm(H0)

    其中 HL=[h0L,h1L,,htL] 中的最后一个 hidden vector htL 被选作该用户序列的 user representation

1.2.2 Recommendation Learning

  1. next item prediction 任务被构建为对整个 item set 的分类任务。给定 sequence representation hitem embedding matrix V ,预测分数计算为:

    y^=softmax(Vh)R|V|

    ground truth item 的索引转换为 one-hot vector y 后,交叉熵损失计算为:

    LRec=CrossEntropy(y,y^)

 

1.2.3 Contrastive Regularization

  1. 为了缓解 representation degeneration 问题,通过利用无监督和有监督的对比样本,我们开发了一种对 contrastive regularization 方法。

  2. 无监督增强:DuoRec 中的无监督对比增强(unsupervised contrastive augmentation)旨在以无监督的方式为单个序列提供语义有意义的增强。在之前的方法,如 CL4SRec 中,增强方法包括item cropping, masking, and reordering ,类似的技术也应用于自然语言处理,如 word deletion, reordering, and substitution 。尽管这些方法在一定程度上有助于提高相应模型的性能,但不能保证增强后的样本具有高的语义相似性。由于 data-level 增强并不完全适合离散序列,本文提出了一种 model-level 增强方法。在计算 sequence vector 时,embedding layerTransformer encoder 中都有 Dropout 模块。对输入序列进行两次前向传递,使用不同的 Dropout masks,会生成两个语义相似但特征不同的向量。因此,我们为输入序列 s 的无监督增强选择不同的 Dropout mask

    • 首先对 Transformer encoderinput embedding h0 进行不同的 dropout 操作,得到 ht0

    • 然后,将增强后的 input sequence embedding 馈入到具有相同权重但不同 Dropout maskTransformer encoder 中:

      HL=Trm(H0),h=htL

      其中:htLHL 的最后一个行向量,h 增强后的 sequence representation

  3. 有监督的正采样:DuoRec 中的有监督对比增强(supervised contrastive augmentation )旨在将语义相似序列之间的语义信息纳入对比正则化。需要语义正样本的原因是,如果只应用无监督对比学习,原本语义相似的样本会被归类为负样本。因此,最重要的是确定哪些样本在语义上相似。

    • 语义相似性:在序列推荐中,目标是预测用户偏好。如果两个序列代表相同的用户偏好,自然可以推断这两个序列包含相同的语义。因此,给定两个不同的用户序列 si=[vi,1,vi,2,,vi,ti]sj=[vj,1,vj,2,,vj,tj] ,如果 sisj 的预测目标,即 vi,ti+1vj,tj+1,是同一个 item,那么在 DuoRec 中,sisj 被认为是语义相似的。

    • 正样本:对于输入序列 s ,数据集中存在具有相同 target item 的序列。从这些序列中随机采样一个语义相似的序列 sp。对于input embedding Hp0,有监督增强为:

      HpL=Trm(Hp0),hp=ht,pL

      其中: hp 是增强后的 sequence representationht,pLHpL 的最后一个行向量。

  4. 负采样:为了有效地为增强后的样本 pair 构建负样本,同一 training batch 中的所有其他 augmented samples 都被视为负样本。假设 training batchBbatch size|B| ,增强后会有 2|B|hidden vectors ,即 {h1,h1,p,h2,h2,p,,h|B|,h|B|,p}。为了清晰表示,下标和上标被重载以表示 batch 中样本的索引和增强情况。因此,对于 batch 中的每一个 positive pair,有 2(|B|1)negative pairs 作为负样本集合 S 。例如,对于 sequence representationsaugmented pair h1h1,p,相应的负样本集合 S1={h2,h2,p,h3,h3,p,,h|B|,h|B|,p}。如果有具有相同 target item 的序列,这些序列也将从 S 中移除。

  5. 正则化目标:与公式 LNCE 类似,DuoRecbatch Bcontrastive regularization 定义为:

    LReg=EiB[logexp(hi,hi,p/τ)exp(hi,hi,p/τ)+nSiexp(hi,hn,p/τ)]+EiB[logexp(hi,p,hi/τ)exp(hi,p,hi/τ)+nSiexp(hi,p,hn,p/τ)]

    该式计算两次,分别对应于 unsupervised augmented representationsupervised augmented representation

    这两部分的核心区别在与分母的第二部分:

    • 第一项:分母第二部分为 unsupervised augmented representation 与其他负样本之间的距离。

    • 第二项:分母第二部分为 supervised augmented representation 与其他负样本之间的距离。

    为什么要经过 dropout 而不是 original representation,读者猜测是为了降低噪音对抗过拟合。可以做个实验,看看移除 dropout 之后的效果。

    因此,带有 λ 权重的 DuoRec 的总体目标为:

    L=LRec+λLReg

这里的关键在与对比学习的 pair 如何设计。这里的 positive pair 来自于相同的 target item 的序列,而不是给定序列的不同 view

1.2.4 讨论

  1. 本节将描述 DuoRec 的对比正则化的特性以及与其他方法的联系。

  2. 解决 Representation Degeneration 问题:为探究对比正则化如何解决 representation degeneration 问题,需要分析对比正则化 LReg 的特性。根据公式 LalignLuniformLReg 的对齐性和均匀性如下:

    LReg,align=E(hi,hi,p)pposhihi,p2LReg,uniform,first=logEsi.i.d.pdataexp(2his)LReg,uniform,second=logEsi.i.d.pdataexp(2hi,ps)
    • alignment 项中,保持来自同一输入序列两次增强的 positive pairsrepresentations 之间的对齐是有意义的。

    • 而在 uniformity 项中,目标是使序列的 representations 均匀分布。

    semantic positive pairs 之间的对齐将语义相似序列的 representations 拉到一起,而均匀项则使所有序列的 representations 均匀分布。由于推荐的主要学习目标是通过 sequence representationitem embeddings 之间的点积来实现的,因此对 sequence representation 的分布进行正则化,进而影响 item embeddings 的分布是有意义的。

    representation degeneration 问题中,锥形分布的一个主要缺陷是 embeddings 存在主导轴。基于均匀性,这种情况将得到缓解,因为 sequence representation 将均匀分布,并通过公式 y^=softmax(Vh) 中的点积引导 item embeddings 的分布。

    对于低频词倾向于远离原点的另一个缺陷,LReg 通过调整低频词的梯度来缓解这一现象。根据对公式 Jv 中低频词的梯度的分析,梯度的单向性是因为大多数低频词主要是通过 softmax loss 进行训练的。通过对比正则化,这些低频词比以前更频繁地参与训练,因为会有更多的正采样和负采样,它们是通过编码器的梯度流(gradient flow )进行训练,而不是直接在 embeddings 上训练。

  3. 联系:最近的方法主要使用对比目标进行正则化。

    • 例如,CL4SRecdata-level 通过 cropping, masking, and reordering 来增强输入序列,这直接遵循了计算机视觉中对比学习的范式,在输入空间中增强样本。然而,离散序列难以确定语义内容,更难以提供语义一致的增强。

    • 如果对 DuoRec 的无监督 Dropout augmentation 操作两次,并仅将这些无监督增强的样本用于对比正则化,在后续实验中,它就变成了无监督对比学习(Unsupervised Contrastive Learning: UCL)变体。由于 UCL 的增强避免了 data-level 增强(data-level 无法保证增强后的样本仍然包含相似的语义),因此 UCL 的表现可以始终优于 CL4SRec

    • 类似地,如果仅使用 DuoRec 的有监督增强,那么它就变成了有监督对比学习(Supervised Contrastive Learning: SCL)变体,这可以提供更 harder 的训练目标,并且 SCL 因为使用了更合适的样本,所以性能优于 UCL。最近的自然语言处理研究(《SimCSE: Simple Contrastive Learning of Sentence Embeddings》)也观察到了这一点。

1.3 实验

  1. 在实验中,我们将回答以下研究问题(research question: RQ):

    • RQ1:与SOTA的方法相比,DuoRec 的性能如何?

    • RQ2:与现有的对比训练范式相比,DuoRec 的性能如何?

    • RQ3:对比正则化如何帮助训练?

    • RQ4DuoRec 模型中超参数的敏感性如何?

  2. 数据集:实验在五个基准数据集上进行,预处理后的数据集统计信息如 Table 1 所示。

    • Amazon Beauty, Clothing and Sports:遵循基线方法,我们在实验中选择了广泛使用的 Amazon 数据集的三个子类别。

    • MovieLens-1M:遵循文献 《BERT4Rec: Sequential Recommendation with Bidirectional Encoder Representations from Transformer》,使用这个流行的电影推荐数据集,记为 ML-1M

    • Yelp:这是一个广泛用于商业推荐的数据集。与文献 《S3-Rec: Self-Supervised Learning for Sequential Recommendation with Mutual Information Maximization》 类似,我们使用 201911 日之后的交易记录进行实验。

    按照文献 SASRec, BERT4Rec, CL4Rec, S3-Rec 进行预处理,所有交互都被视为隐式反馈。出现次数少于 5 次的用户或 items 被移除。序列的最大长度设置为 50

  3. 评估指标:为进行整体评估,我们采用top-K Hit Ratio: HR@Ktop-K Normalized Discounted Cumulative Gain: NDCG@K 作为评估指标,K 取值为 {5, 10}。我们在整个 item set 上评估排名结果,以确保公平比较。

  4. 基线方法:使用以下方法进行比较:

    • BPR-MF:是第一个使用 BPR loss 来训练矩阵分解模型的方法。

    • GRU4Rec:应用 GRU 对用户序列进行建模,是第一个用于序列推荐的 RNN 模型。

    • Caser:是一种基于卷积神经网络的方法,通过应用水平卷积和垂直卷积操作来捕获高阶模式,用于序列推荐。

    • SASRec:是一种单向自注意力模型,是序列推荐中的强大基线方法。

    • BERT4Rec:使用类似于自然语言处理中掩码语言模型的 masked item training 方案,骨干是双向自注意力机制。

    • S3Rec_MIP:也应用了 masked contrastive pre-training ,这里使用 Mask Item Prediction: MIP 的变体。

    • CL4SRec:使用 item cropping, masking, and reordering 作为对比学习的增强手段,是序列推荐中最新且强大的基线方法。

  5. 模型实现:

    • DuoRecembedding size 设置为 64,所有线性映射函数的hidden size 也是 64

    • Transformer 中的层数和头数都设置为 2

    • embedding 矩阵和 Transformer 模块上的 Dropout rate{0.1, 0.2, 0.3, 0.4, 0.5} 中选择。

    • 训练 batch size 设置为 256。我们使用 Adam 优化器,学习率为 0.001

    • λ 超参数从 {0.1, 0.2, 0.3, 0.4, 0.5} 中选择。

1.3.1 整体性能

  1. 在本实验中,我们评估 DuoRec 与基线方法相比的整体性能,结果如 Table 2 所示。可以看到:

    • 首先,可以观察到非序列模型 BPR-MF 的性能很难与其他序列方法相媲美。

    • 进入深度学习时代,第一个代表性方法是基于 GRUGRU4Rec,它始终优于非序列的 BPR-MF。可以得出结论,结合序列信息可以提升性能。同样,Caser 使用卷积模块来聚合 equential tokens ,其性能通常与 GRU4Rec 相似。

    • 最近,注意力机制成为了最强的序列编码器。

      • SASRec 是第一个将单向注意力应用于序列编码的方法,与之前基于深度学习的模型相比,SASRec 可以大幅提升性能,这得益于其更具表达能力的序列编码器。

      • 最近的方法通常继承基于注意力的编码器,并引入额外的目标。例如,BERT4Rec 应用 masked item prediction 目标,通过填充 masks 来增强模型对语义的理解。尽管这样的任务可以为模型引入有意义的信号,但由于 masked item prediction 与推荐任务的契合度不高,其性能并不稳定。

        类似的情况也出现在 S3Rec_MIP 上,它也依赖 masked item prediction 作为预训练目标。微调阶段给出的预测更准确。

    • 对于最新的基于对比学习的方法 CL4SRec,它比其他基线方法有一致的性能提升。其额外目标与普通对比学习规范相同,即对同一序列设置两种不同的视图。

    • 对于 DuoRec,它可以大幅超越所有基线方法。通过对 sequence representationitem representation 的分布进行正则化,结合无监督的和有监督的正样本可以提升整体性能。

1.3.2 对比学习的消融研究

  1. 在本实验中,评估无监督增强和有监督正采样的有效性。实验变体包括:

    • CL4SRec:使用 cropping, masking, and reordering 作为增强手段来计算 NCE

    • UCLNCE 使用无监督增强进行优化。

      同一个序列,经过两次 model-level dropout augmentation 的视图作为 positive pair

    • SCLNCE 使用有监督正采样进行优化。

      具有相同 target item 的不同序列,作为 positive pair

    • UCL+SCL:结合 UCLSCL 损失进行训练。

    结果如 Figure 2 所示。从结果中可以明显看出:

    • 与基线 SASRec 相比,添加对比目标通常可以提升推荐性能。

    • 同时作为无监督对比方法,UCLCL4SRec相比, UCL 的性能更优。可以得出结论,model-level Dropout augmentationdata-level augmentation 能提供语义更一致的无监督样本。

    • 此外,SCL 依赖 target item 来采样语义一致的有监督样本,与无监督方法相比,性能有显著提升。

    • 有趣的是,直接将 UCLSCL 损失相加会损害性能,这可能是由于两种对比损失的对齐方式不兼容。

      那为什么 DuoRec 没有损害性能呢?解释不通。

    • 对于 DuoRec,同时利用无监督的和有监督的正样本,与其他所有方法相比,性能最佳。

1.3.3 训练中的对比正则化

  1. 为评估 contrastive regularization 对训练的影响,我们将展示 learned embedding matrix 的可视化结果、以及训练损失,以帮助理解对比学习如何提升性能。可视化基于奇异值分解(SVD),它将 embedding 矩阵投影到二维空间并给出归一化的奇异值。结果如 Figure 3Figure 4 所示。训练损失的可视化通过公式 LalignLuniform 分解为对齐项和均匀项,如 Figure 5 所示。

  2. Item Embedding 的可视化:

    • 如前所述,SASRec 在训练时对 embedding 矩阵没有约束,导致在潜在空间中形成狭窄的锥形,如 Figure 3(a)Figure 4(a) 所示,其奇异值急剧下降到非常小的值。

    • 虽然 CL4SRec 有额外的 data-level 增强的对比损失,在 embedding 分布的 magnitude 上有所改善,但低频 items 仍然位于原点的同一侧。CL4SRec 的奇异值下降速度比 SASRec 慢,这可能是因为 data-level 增强无法一致地提供合理的序列。

    • 对于 UCL 变体,它生成的 embedding 分布与 CL4SRec 类似,因为它们都基于无监督对比学习。

    • 而对于仅使用有监督对比学习的 SCL,可以明显看出 embedding 分布更加平衡,高频 items 和低频 items 都分布在原点周围,其奇异值明显高于无监督方法。可以得出结论,有监督正样本在语义上与输入序列更一致。

    • 当同时添加无监督的和有监督的正样本时,UCL+SCLClothing 数据集上的情况与纯 SCL 类似,但在 Sports 数据集上有所不同。这种差异是由于无监督对比损伤和有监督对比损失的组合可能会使模型朝着不同的训练方向发展。

    • 对于 DuoRecembedding 以平衡的方式分布,奇异值下降缓慢。无监督对比学习和有监督对比学习的合理结合改善了 item embedding 的分布。

  3. 对齐和均匀性:为研究对比学习在训练过程中的作用,这里展示了 alignment loss termuniformity loss term(两者越小越好)。uniformity 是在原始 output sequence representation 内计算的,对于每个方法,样本范围相同。需要注意的是,由于不同方法对正样本的选择不同,alignment term 仅作为趋势指标,不具有可比较的实际意义。

    Figure 5(a)Figure 5(b) 可以明显看出:

    • 随着 DuoRec 训练的进行,uniformity loss 下降而 HR@5 增加,并且 uniformity loss 明显低于 CL4SRec,这反映出 DuoRecsequence representations 分布更加均匀。

    • 对于 CL4SRec ,训练过程中uniformity loss 增加,这表明其分布空间比 DuoRec 更差。

    • 尽管两种方法在训练过程中 alignment loss 都略有增加,但 DuoRecuniformity loss 的下降实际上提升了推荐性能。

1.3.4 参数敏感性

  1. 在本实验中,研究了增强操作中的 Dropout rate 、以及 λ 的参数敏感性。结果分别如 Figure 6Figure 7 所示。

  2. Dropout rate 主要影响无监督增强,它假设:在相同权重下使用不同的 Dropout masks 可以生成语义相似的样本。根据 Figure 6

    • 对于 ML-1M 数据集,增加 Dropout rate 会导致性能下降,这可能是因为该数据集的密度较高,训练信号较多。当使用较高的 Dropout rate 使得增强的输入与原始输入的差异过大时,模型会被引导到不准确的训练方向。

    • 而对于 Beauty, Clothing, Sports and Yelp 数据集,不同 Dropout ratios 的效果不太显著。

  3. 关于超参数 λ ,它用于平衡推荐 LRecLReg。从 Figure 7 中可以看出,λ 的不同选择带来一致的性能。这可能是因为 contrastive regularization 与推荐任务很好地一致。 。