摘要:
顺序推荐描述了一组技术来对动态用户行为进行建模,以预测顺序用户数据中的未来交互。这些方法的核心是对序列中项目之间的转换概率进行建模,无论是通过马尔可夫链、循环网络还是最近的变形金刚。然而,新旧问题仍然存在,包括数据稀疏和噪声数据;此类问题可能会影响性能,尤其是在复杂、需要参数的模型中。在本文中,我们研究了对比自我监督学习 (SSL) 在顺序推荐中的应用,作为缓解其中一些问题的一种方法。对比 SSL 构建未标记实例的增强,其中正对之间的协议被最大化。由于其离散性、项目之间的相关性和长度分布的偏度,设计一个用于顺序推荐的对比 SSL 框架具有挑战性。为此,我们提出了一个新颖的框架,即用于顺序推荐的对比自监督学习 (CoSeRec)。我们介绍了两个信息增强算子,利用项目相关性为对比学习创建高质量视图。在三个真实世界数据集上的实验结果证明了该方法在提高模型性能方面的有效性,以及对稀疏和噪声数据的鲁棒性。我们的实现可用:https://github.com/YChen1993/CoSeRec
由于之前在序列推荐中的对比学习主要的方法是随机mask,随机剪切序列中的一部分,将序列进行重排序,本文认为这种构造的正样本对有时候是不够‘自信的’,为了使构造的正样本对质量更高,本文提出了针对不同长度得序列采用不同的增强方法(并且提出了两个新的方法),对于短的序列就不考虑随机mask和随机的选择其中的一段。提出了插入和替换,用同类型的项目替换序列中的项目,
1 引言
推荐系统旨在通过利用历史交互记录来预测用户对看不见的项目的潜在兴趣[22,29,38]。为了对动态用户行为(尤其是短期动态)进行建模,顺序推荐 (SR) [14, 16, 31, 32, 43] 可以说代表了当前的最新技术。 SR 将用户和项目之间的交互建模为按时间排序的序列,目标是根据最近的观察预测下一次交互。
对 SR 问题建模的核心思想是捕捉序列中项目之间的关系 [14,16,31,40]。开创性的工作 [13, 31] 使用马尔可夫链来学习成对的转换关系。后来,提出了基于 RNN 的 [14, 40, 50] 模型来推断序列相关性。最近,Transformers [5, 35] 在编码序列方面的强大能力已被应用于 SR [16, 20, 32, 48]。基于 Transformer 的 SR 模型 [16, 32, 43] 通过自注意机制学习项目重要性来编码序列。
尽管现有方法很有效,但仍有几个问题没有得到充分探索:(1)数据稀疏。 Transformers 的动机是 NLP 任务 [35],其中大型语料库可用于训练复杂模型 [5]。然而,SR 任务通常涉及相当稀疏的数据集 [21, 25],这破坏了 Transformer 在序列中建模项目相关性的能力,例如在短序列上表现不佳[21]。 (2) 嘈杂的交互。有时,序列中的项目可能无法反映真实的项目相关性,例如用户因为促销广告而消费了一个项目,最终导致负面反馈[37]。从这些嘈杂的序列中推断会破坏模型在揭示项目转换相关性方面的性能,从而产生不太令人满意的推荐。
受自我监督学习 (SSL) [5, 8, 15, 19, 26, 42] 最近发展的启发,本文研究了对比自我监督学习 [2, 8, 42] 以缓解上述问题的可能性SR。直观地说,SSL 从未标记的数据构建增强,并通过使用对比损失来增强编码器的辨别能力 [2,12,49,51]。对比损失最大化正对之间的协议,这是来自一个实例的不同增强(即视图)。值得注意的是,这种学习方案不同于推荐系统中广泛使用的对比损失,例如BPR [29] 和 NCE [11] 损失,因为对比 SSL 不涉及两个不同实体之间的预测目标,而只涉及一个实例的两个视图之间的一致性优化。然而,由于以下原因,为 SR 设计对比 SSL 框架具有挑战性:
• 离散性:序列中的项目由离散 ID 表示,这对为连续特征空间设计的流行增强方法提出了挑战 [2, 12]。序列数据的增强技术仍处于探索阶段,需要研究。
• 项目相关性:序列中的项目相互关联。然而,现有技术 [2, 8, 42, 46] 基于随机项目扰动来增加序列。这些方法在构建增强时往往会破坏序列中的原始项目关系,从而削弱正对的置信度。
• 长度偏度:根据[21],序列的长度分布是偏斜的并且受到长尾模式的影响。然而,当前的对比 SSL [2, 42, 46] 框架跨实例采用相同的增强方法。这导致 SR 中的对比对不太自信,例如,短序列对随机项目扰动更敏感。
为此,我们提出了一个新的框架,用于顺序推荐的对比自监督学习(CoSeRec)。它包含三个关键组成部分:(1)表征项目相关性和序列长度偏度的稳健数据增强; (2) 一个对比 SSL 目标,以最大化序列的正面观点的一致性; (3) 一种多任务训练策略,有效地联合优化 SR 目标和对比 SSL 目标。更具体地说,我们首先提出了两种信息增强方法,替代和插入,它们推进了当前的随机增强 [46, 52],例如裁剪、重新排序和掩码。随机增强可能会产生不太自信的正对,因为项目的这些随机扰动会破坏序列中的项目关系。随机增强也会阻碍学习表示的质量,因为它们(例如裁剪)通常会导致序列中的项目更少,从而夸大了冷启动问题。与随机增强不同,本文的信息增强在构建正面视图时利用了项目相关性,因此更加稳健。此外,“替换”和“插入”操作都扩展了用户交互记录,从而缓解了冷启动问题。 CoSeRec 采用多任务训练策略而不是预训练方案 [2, 44],因为下一个项目预测和对比 SSL 共享相似的目标,即在序列中建模项目关系。对三个真实世界数据集的实验验证了 CoSeRec 的功效。我们将我们的贡献总结如下:
• 我们设计了一种新颖的学习框架(CoSeRec),通过将对比SSL 与顺序推荐相结合来解决数据稀疏和嘈杂的交互问题。
• 我们提出了新颖且稳健的序列增强方法,利用项目相关性并缓解序列推荐中的长度偏斜问题。
• 我们对三个基准数据集进行了广泛的实验,详细分析了所提出的范式和增强的最佳组合。
2 相关工作
2.1 顺序推荐
SR 通过建模项目转换相关性来预测用户序列中的未来项目。开创性的工作 [13, 31] 采用马尔可夫链来模拟成对的项目转换相关性。 FPMC [31] 直接分解项目转移矩阵。 Fossil [13] 通过利用项目之间的相似性扩展了这一想法,从而缓解了稀疏性问题。后来,循环神经网络 (RNN) 已被用于解决 SR [14, 40, 50],表面上模拟了转换之间的序列级相关性。分层 RNN [28] 使用个性化信息增强 RNN。吴等人。 [40] 应用 LSTM 来探索长期和短期项目转换相关性。马尔可夫链和 RNN 模型的主要缺点是它们的转换函数的感受野是有限的。因此,它们只能包含浅的项目相关性,这限制了它们编码序列的能力[4]。
最近,由于自注意力模型 [5, 35] 在 NLP 任务中的成功,一系列基于 Transformer 的 SR 模型被提出 [16, 24, 32, 41]。 SASRec [16] 应用 Transformer 层来学习序列中的项目重要性,它表征了复杂的项目转换相关性。后来,受 BERT [5] 模型的启发,提出了带有双向 Transformer 层的 BERT4Rec [32]。其他作品 [6, 7, 20, 24, 43] 也扩展了 Transformer 以将复杂信号合并到序列中,这验证了 Transformer 在解决 SR 中的功效。然而,最近的一项工作 [21] 认为 Transformer 容易受到 SR 中严重的用户冷启动问题的影响,其中现有的基于 Transformer 的模型对短序列产生了不令人满意的结果。因此,短序列的增强是可取的。 S3-Rec [52] 和 CLS4Rec [46] 也研究了 SR 中的对比学习。然而,两者都研究了序列中具有随机增强的弱自监督信号,但尚未解决长度偏度和项目相关性挑战。
2.2 对比自监督学习对比学习
最近在与自监督学习 (SSL) 框架相结合时取得了显着的成功,在计算机视觉 (CV) [2, 12]、自然语言理解 (NLU) [8, 9, 44],图嵌入 [15, 49, 53],以及推荐系统 [42, 46, 52]。对比 SSL 通过最大化一个实例的两个增强视图之间的一致性来训练编码器,即正对。因此,它鼓励从未标记数据空间进行自我监督训练。对比 SSL 的核心是利用数据实例的强大增强 [45],这些实例在数据域和目标任务方面是多种多样的。
SimCLR [2] 提出了一个简单的视觉表示对比学习框架,它研究随机图像增强。在此之后,[34, 45] 认为增强的最佳选择是关键的面向任务的,并且存在平衡的互信息。至于 NLU 任务,文本的增强 [39] 具有离散性。删除 [10, 44]、重新排序 [44] 和替换句子中的 [8, 44] 单词会导致正增强对,这也激发了这项工作。图对比 SSL 的增强与其他领域的结构特征不同。因此,采用 node-drop [49, 53]、edge-drop [49, 53] 和 random walk [27, 36] 作为增强操作。
在推荐场景中,对比学习并不是一种新技术,例如,广泛使用的 BPR 损失 [30] 和 NCE 损失 [11] 都在正负样本上采用成对对比损失。他们最近与 SSL 的结合显示了改进推荐系统的前景 [42]。 S3-Rec [52] 设计了对比 SSL 来最大化属性和序列增强的互信息,它采用属性和项目的随机掩码。 [47] 通过屏蔽项目嵌入层和丢弃分类特征提出了两阶段增强,这为项目编码器启用了 SSL。 SGL [42] 通过使用图结构增强,利用 SSL 推进了基于图的推荐系统。最近的一项工作,CLS4Rec [46] 提出了一个对比 SSL 框架来改进 SR。尽管与我们的论文接近,CLS4Rec 采用随机增强方法,忽略了序列增强的关键项目相关性和长度偏度。
3 初步
3.1 问题表述
我们将用户和项目集分别表示为 U 和 V。每个用户 ∈ U 都与按时间顺序排列的项目序列 = [1, . . . , , . . . , | | ],其中 ∈ V 表示 在时间 和 | | 交互的项目是项目的总数。 SR 任务寻求预测下一个项目 | |+1,公式如下:
这被解释为计算所有候选项目的概率并选择最高的一个进行推荐。
3.2 用于 SR 的 Transformer
Transformer [35] 架构是一种强大的序列编码方式,导致在 SR [16,20,52] 中的成功应用。它由两个关键组件组成:多头自注意力模块和位置前馈网络(FFN)。我们在图 1(a) 中说明了 Transformer 的结构。多头自注意力按顺序对项目相关性进行建模。 Position-wise FFN 输出一个嵌入包,其中每个位置的嵌入预测序列中对应的下一项。我们在图 1(b) 中展示了下一个项目的预测。为了保持一般性,我们将 Transformer 编码器表示为 SeqEnc(·),它可以是任意序列编码器。我们将编码过程表述为:
其中 h 表示 的序列嵌入。 h 是 Transformer 中的一个嵌入包。对于每个位置,h,表示预测的下一个项目[16]。我们采用对数似然损失函数来优化编码器以进行下一项预测,如下所示:
其中 Lrec (, ) 表示序列 中位置 处预测的损失分数, 是非线性激活函数,e+1 表示项目+1 的嵌入, 是采样的否定项为。从 SeqEnc 中的嵌入表中检索项目的嵌入,该嵌入表与 Transformer 联合优化。
4 方法我们首先介绍本文采用的数据增强,包括随机增强和信息增强。然后我们用这些增强来描述对比 SSL。最后,我们介绍了整体训练算法。
4.1 鲁棒序列增强我们首先回顾和制定现有的随机增强方法[44,46,52],然后介绍两种新的信息增强方法。我们还描述了如何根据长度增加序列。本节假设原始序列为 = [1, 2, 。 . . ,]。这些方法的玩具示例如图 2 所示,其中 = 4。
4.1.1 随机增强。
本文包括 [46, 52] 引入的三个随机算子,以创建原始序列的各种视图:
• copy (C)。从位置开始随机选择原始序列的连续子序列:
其中 = ⌈⌉ 是由超参数 和 0 ≤ ≤ 1 控制的子序列长度。⌈·⌉ 是上限函数。
• mask(M)。随机屏蔽 = ⌈⌉ 序列中的项目:
如果 是选定项,则 ′ 是“掩码”,否则 ′ 由超参数 控制,其中 0 ≤ ≤ 1。
• resort (R)。将的子序列 [, · · · , +−1] 随机打乱为 [ ′ , . . . , ′ +−1]:
其中 = ⌈⌉ 是子序列长度,0 ≤ ≤ 1。
一般来说,一个实例的良好增强应该提供共享面向任务信息的视图 [34],因此是正对。在我们的例子中,来自一个序列的视图应该保持原始的序列相关性,否则可能会产生不太自信的正对。然而,这些随机增强会破坏序列中的项目相关性,尤其是对于短序列。例如,对序列重新排序会导致子序列中的项目相关性发生变化。当序列中出现的项目较少时,这种影响会扩大。
此外,随机增强夸大了序列中的冷启动问题,例如屏蔽一个短序列会在一个序列中引入很少的项目。因此,序列编码器可能无法学习高质量的表示,因此无法表征序列中的项目关系。对比低质量的序列表示会进一步恶化 SSL 的鲁棒性。
接下来,我们将介绍两种新颖的信息增强方法,它们会针对上述问题进行随机增强。
4.1.2 信息增强。
我们提出了两个信息增强算子,利用项目相关性来生成强大的增强序列,如图 2b 所示。
• 替代(S)。替代增强的动机是真实案例 [3],其中向用户推荐可替代项目扩大了发现他们实际兴趣的机会。相应地,用高度相关的项目替换序列中的项目可以减少对原始序列信息的破坏,从而产生自信的正视图对。形式上,我们随机选择不同的索引{idx1, idx2, . . . , idx } 在序列 中,其中 = ⌈⌉ 和 idx ∈ [1, 2, . . . ,]。 ∈ [0, 1] 是替代率。然后我们根据所选索引将每个替换为相关项目。替换后的顺序为:
其中¯idx是与idx相关的项目。我们将在 4.1.3 节中描述如何选择相关项。
• 插入(I)。在实践中,记录的交互少于用户的完整消费行为,例如来自其他来源的交易缺失 [23]。因此,训练序列可能无法跟踪全面的用户动态和项目相关性。为此,我们通过将项目插入序列来构建增强,以“完成”序列。插入项目的数量由比率 ∈ [0, 1] 控制。我们首先随机选择不同的索引{idx1, idx2, . . . , idx } 在序列 中,其中 = ⌈⌉ 和 idx ∈ [1, 2, . . . ,]。然后我们在这些索引处插入相关项目。插入后,顺序为:
(插入项目在那个项目前面,则插入的项目的相似性和这个项目保持一致)
其中 ∈ {1, 2, . . . , } 和 ¯i 是与 idx 最相关的项目。增广序列 I 的长度是 + 。两种增强都提供了丰富的信息,因为它们扰乱了相关项目的序列。因此,增强序列具有更高的正对置信度。此外,将相关项目添加到序列中会增加用户交互的数量,从而缓解用户冷启动问题。接下来,我们介绍如何为信息增强选择相关项目。
.1.3 项目相关性。
信息增强需要推断项目之间的相关性以扰乱序列。因此,有必要设计一种简单而有效的计算项目相关性的方法。我们首先介绍了两种简单的方法,然后演示了这项工作中采用的混合方法。
第一个是基于记忆的相关性。协作信号在推荐系统中至关重要。因此,我们采用考虑逆用户频率的基于项目的协同过滤(ItemCFIUF [1])来测量项目相关性,因为它的简单性和有效性。正式地,项目和之间基于记忆的相关分数定义为:(不同项目的用户重叠率)
其中是用户,|N()|和|N()|分别是与和交互过的用户数。如果两个项目共享更高比例的共同用户,则基于内存的相关性将两个项目视为更相关。
另一种是基于模型的相关性。这种相关性通过测量项目表示之间的相似性直接推断出相关性。由于项目表示是与编码器共同学习的,因此该方法是基于模型的。在这项工作中,我们采用点积作为相似度度量。给定项目 和 的表示为 e 和 e ,基于模型的相关得分定义为:
在本文中,我们将基于内存的相关性和基于模型的相关性融合为混合相关性 Corh,其定义为基于内存的相关性和基于模型的相关性之间的最大值为:
(选其中的最大值:用户重叠率和项目的点积结果)
其中 Coro 和 Core 分别是基于内存和基于模型的相关性的归一化分数。我们对它们进行归一化(最小最大归一化)以使其具有可比性。此外,由于在早期阶段学习的项目表示并不提供信息,我们最初使用 Coro 来推断相关项目。然后,在使用 epoch 进行训练后,我们切换到 Corh,其中 是一个超参数。
4.1.4 增强 w.r.t.序列长度。
交互序列的长度倾向于遵循长尾分布[21],其中大多数序列都很短。考虑到短序列对随机项扰动更敏感,我们应该谨慎选择短序列的增强操作。在这项工作中,我们针对序列的长度采用不同的增强算子集。我们使用超参数 来决定序列是短还是长,然后按如下方式应用数据增强:
其中是从相应的扩充集中选择的扩充算子。虽然 M 是一个随机增强,但我们也将它包含在短序列的增强集中。原因有两个:首先,掩码增强按顺序隐式建模项目关系,这类似于下一个项目的预测目标。其次,掩码操作鼓励被掩码项目附近的项目更接近,这模拟了原始序列中的高阶项目关系。
4.2 对比自我监督对比
SSL 通过最大化“正”对之间的一致性来优化编码器,这是一个序列的两个增强。具体来说,给定小批量序列 { }
算法 1:CoSeRec 训练。
输入:超参数、、、和、最大训练时期、批量大小和基于内存的相关矩阵 Coro。
输出:SeqEnc(·)。
1 while ℎ ≤ do // 项目相关性选择(第 4.1.3 节)=1,我们为每个序列 采样两个增强运算符,得到 2 增强序列为:
其中 ∈ {1, 2, . . . ,}。在 [2] 之后,每一对(~2−1,~2)被视为正对,而其他 2( − 1) 个增强视图被视为该对的负样本。然后将增强的序列编码为方程式。 (2) 具有共享序列编码器。对于每个序列对(~2−1,~2),它们的表示是(~h2−1,h~2)。
我们采用 NT-Xent 损失 [2] 进行优化,如下所示:
其中 sim(·) 是衡量两个增强视图之间相似性的点积,并且 1 |≠2−1| ∈ {0, 1} 是一个指示函数。由于 Transformer 编码器的输出嵌入是按位置的,因此我们将所有位置的表示连接起来作为序列表示。我们在图 1(c) 中说明了对比 SSL 框架。
4.3 多任务训练 因为下一个项目预测和对比 SSL 都在序列中建模项目关系,为了提高对比 SSL 目标的顺序推荐性能,我们利用多任务策略来联合优化它们,如下所示:
其中是控制对比 SSL 强度的超参数。算法 1 总结了 CoSeRec 的训练过程。或者,可以采用两阶段优化,即首先使用 SSL 预训练编码器,然后使用下一个项目预测进行微调。我们在第 5.5.3 节中提供了比较,这表明联合训练优于两阶段训练。
5 实验
在本节中,我们在三个公共数据集上进行实验并回答以下研究问题(RQ):
• RQ1:与现有方法相比,CoSeRec 在顺序推荐上的表现如何?
• RQ2:顺序推荐的最佳增强方法是什么?
• RQ3:CoSeRec 能否在数据稀疏和嘈杂的交互问题上表现出色?
• RQ4:不同的设置如何影响 CoSeRec 的性能?
5.1 实验设置
5.1.1 数据集。
我们对从两个真实世界平台收集的三个公共数据集进行实验。Beauty and Sports是 [25] 中介绍的亚马逊评论数据的两个子类别。 Yelp1 数据集是用于业务推荐的数据集。、
我们遵循 [46, 52] 中的常见做法来预处理数据集。数字评级或评论的存在被视为正面实例,而其他则被视为负面实例。我们只保留“5 核”数据集,即每个用户总共购买了至少 5 个商品,反之亦然,每个商品至少被 5 个用户购买。表 1 显示了预处理后数据集的统计数据。
5.1.2 评估指标。我们按照 [16, 32] 将模型评估为下一项预测。我们在没有负采样的情况下对整个项目集的预测进行排名,否则会导致有偏见的发现 [18]。性能是根据 top- 排名指标评估的,包括命中率@ (HR@) 和归一化折扣累积增益@ (NDCG@)。我们用 ∈ {5, 10, 20} 报告 HR 和 NDCG。
5.1.3 基线方法。我们包括三组基线方法进行比较。
• 非顺序模型:PopRec 基于项目的流行度; BPR-MF [30] 是具有成对贝叶斯个性化排名损失的矩阵分解模型。
• 基于Transformer 的SR 模型:SASRec [16] 是最先进的基于Transformer 的SR 基线之一,Bert4Rec [32] 使用双向自注意力模块扩展了SASRec。 S3-Rec [52] 使用自我监督学习来捕捉项目和相关属性之间的关系。我们删除了其用于挖掘属性的模块,因为我们没有项目的属性,即 S3-Rec。 CL4SRec [46] 将对比 SSL 与基于 Transformer 的 SR 模型融合在一起。它只有 SSL 的随机增强方法。
• 其他SR 模型:GRU4Rec [14] 是基于RNN 的方法,Caser [33] 是基于CNN 的模型。
5.1.4 实施细节。
我们使用作者为 S3-Rec2、Bert4Rec3 和 Caser4 方法提供的代码。我们基于公共资源实现 GRU4Rec5 和 BPRMF6 方法。我们用 {0.2, 0.4, 0.6, 0.8} 调整 BERT4Recc 的掩码比例。我们设置了论文中报告的每种方法的所有其他超参数。
我们在 PyTorch 中实现我们的方法。对于常见的超参数,我们按照 [46] 将自注意力块和注意力头的数量设置为 2,嵌入维度为 64,最大序列长度为 50。我们调整、、、和 在 [0.1, 0.9], [0.1, 0.9], {4, 12, 20}, {0, 20, 40, 60, 80, 100} 和 {0.1, 0.2, 0.3, 0.4, 0.5 的范围内} 分别。对于随机增强算子、和中的超参数,我们设置了[46]报告的最佳值。如果 40 个 epoch 的性能没有提高,我们在验证集上采用提前停止,并在测试集上报告结果。该模型由 Adam 优化器 [17] 优化,学习率为 0.001,1 = 0.9,2 = 0.999,批量大小为 256。
5.2 总体性能比较(RQ1) 表 2 显示了所有方法在三个数据集上的性能。我们进行以下观察:
• 总体比较。
(1) 非序列模型的表现比序列推荐方法差。这表明挖掘顺序模式对下一项预测的重要性。对于序列模型,基于 Transformer 的方法比其他类型的 SR 模型具有更好的性能,这表明自注意力机制在捕获序列模式方面比 CNN 和 RNN 更有效。
(2) S3Rec虽然通过屏蔽序列中的项目来利用自我监督信号,但性能比SASRec差。我们假设性能不佳的原因有两个:两阶段训练阻止 SSL 和下一个项目预测目标之间的信息共享,以及没有信息增强的弱监督信号。
(3) CL4SRec 始终比其他基线表现更好,这验证了在顺序推荐中采用对比 SSL 的有效性。然而,它的性能仍然比 CoSeRec 差,因为它没有信息增强。
(4) 提出的 CoSeRec 在所有评估指标中的所有数据集上始终优于其他模型。在 HR 和 NDCG 方面,与最佳基线相比的改进范围从 3.54% 到 30.88%。与基线不同,我们提出的方法利用对比 SSL 信号和信息增强方法,结合序列的长度偏度,并通过多任务策略优化模型。
• 与SASRec 和CL4SRec 的比较。
(1)我们观察到与SASRec相比,CoSeRec的性能明显更好,在三个数据集上的HR和NDCG的表现在14.54%到54.14%之间。由于 CoSeRec 和 SASRec 都采用相同的序列编码器,这些结果证明了利用对比 SSL 信号进行 SR 的必要性。
(2) 与对对比 SSL 任务采用随机增强的 CL4SRec 相比,CoSeRec 在 Beauty、Sports 和 Yelp 数据集上的平均相对改进分别为 22.47%、23.39% 和 4.67%。性能提升来自于在这项工作中首次提出的信息增强。
(3) 与 Yelp 相比,我们还观察到体育和美容方面的平均改进更大。我们假设差异是因为 Sports and Beauty 的平均序列长度比 Yelp 的短,因此遭受了更严重的“冷启动”问题。因此,SSL 为 Sports 和 Beauty 数据集上的序列编码提供了更多好处。
5.3 增强分析(RQ2)
在本文中,我们包括五个增强运算符用于对比 SSL 任务。为了研究这些增强方法的影响并找到最佳选择,我们对运动和美容数据集进行了三组消融研究。第一个是“leave-oneout”设置,其中一次只从扩充集 {M, C, R, S, I} 中删除一个扩充算子。第二个是“成对的”,我们只应用两个增强来为每个模型中的对比 SSL 任务创建两种类型的视图。最后,我们研究了短序列的最佳增强。
5.3.1 留一法比较。
图 3 显示了“留一法”设置下的比较结果。我们包括 CL4SRec 进行比较,因为它利用了随机增强 {M, C, R}。我们观察到,如果没有“插入”或“替代”运算符,两个数据集的性能都会持续下降。如果没有诸如“裁剪”或“重新排序”之类的随机运算符,美容数据集的性能甚至会显着提高。这种现象意味着现有的随机增强,例如在不考虑项目相关性的情况下随机裁剪或重新排序序列会破坏序列中的项目关系,这会导致不确定的正对,从而削弱对比 SSL 学习的功效。
5.3.2 成对比较。
图 4 显示了“pair-wise”设置下 Sports 和 Beauty 数据集的比较结果。
我们观察到:(1)对于相同的算子对(对角线值),最好的性能分别是 Sports 和 Beauty 数据集上的 I 和 S。这表明我们提出的信息运算符优于对比 SSL 的随机增强。 (2) 一对不同的算子比两个大体上相同的算子表现得更好。例如在 Beauty 中,(I, S) 对达到 0.0307,而 (I, I) 和 (S, S) 对在 NDCG@5 中分别达到 0.0255 和 0.0262。与图 3(b) 相比,我们观察到拥有多个增强算子的性能优于一个或两个增强算子。例如,使用 {M, R, S, I} 增强集,模型在 Beauty 的 NDCG@5 中达到 0.0334,高于所有基于成对的模型结果。这些观察表明,对比 SSL 具有多个视图是有益的,因为它允许模型从不同的视图中捕获更多的相互信息。 (3) 在成对设置下,“S”在美方面表现良好,但在运动方面表现不佳。然而,在图 3(a) 中,与其他模型相比,没有“S”增强的模型具有最大的性能下降。这表明“S”运算符更适合为对比 SSL 学习提供补充视图。
5.3.3 短序列的增强集。
如第二节所述。 4.1.4,短序列对随机增强更敏感,为此我们仅通过“M”、“S”和“I”增强算子进行增强。在本节中,我们探索短序列的最佳增强组合以验证我们的主张。
图 5 显示了短序列增强的不同组合的性能。例如,“{S, I, M}”表示对短序列采用所有“S”、“I”和“M”扩充。我们观察到所有包含信息增强的组合都优于 CL4SRec,这证明了对短序列使用信息运算符的必要性。通过额外的“M”增强,性能提高最多。这是因为“M”算子与下一个项目预测目标共享相同的信息,它鼓励编码器捕获高阶项目关系。此外,具有“{S,I,M}”运算符的模型优于“{S,I,M,R,C}”,这表明将不同的增强运算符应用于短序列和长序列是有意义的,因为短序列可能对随机性。
5.4 鲁棒性分析(RQ3)
推荐系统通常会遇到历史记录有限的数据稀疏问题。为了模拟这种情况,我们只使用部分训练数据(25%、50%、75% 和 100%)训练模型,并保持测试数据不变。我们将提出的方法与 Sports 和 Beauty 数据集上的最佳基线 (CL4SRec) 进行比较,分别如图 6 (a) 和 (b) 所示。我们观察到,当使用较少的训练数据时,性能会大幅下降,但 CoSeRec 始终比 CL4SRec 表现更好,并且性能下降比 CL4SRec 慢。例如,在 Sports 上,CoSeRec 仅使用 75% 的训练数据就达到了与 CL4SRec 具有完整训练数据的相似性能。此外,当两者都有 50% 的训练数据时,CL4SRec 的原始性能下降了 76.19%,而 CoSeRec 仅下降了 34%。这些观察结果表明,CoSeRec 中的信息增强可以缓解数据稀疏问题。我们还观察到数据稀疏性的影响在不同的数据集上有所不同。在 50% 的训练数据下,CoSeRec 在 Sports 上的表现下降了 34%,而在 Beauty 上下降了 52.14%。
我们还评估了 CoSeRec 对推理短语中噪声交互的鲁棒性。具体来说,我们使用原始训练数据训练模型,并在每个测试序列中随机添加一定比例(10%、20%、30%、40% 和 50%)的负用户-项目交互。图 6 (c)-(d) 显示了 Sports 和 Beauty 数据集的结果。我们看到 CoSeRec 和 CL4SRec 的性能都下降了。在任何噪声比下,CoSeRec 的性能始终优于 CL4SRec。这意味着通过额外的高质量增强运算符(“插入”和“替代”),CoSeRec 为对比 SSL 目标创建更高置信度的正面视图以最大化协议,从而赋予编码器在推理阶段对噪声交互的更强鲁棒性.
5.5 CoSeRec(RQ4)的研究在本节中,我们首先探讨超参数,,和在CoSeRec中的影响,它们控制'Substitute'比率,'Insert'比率,决定序列是否为短,以及对比 SSL 的强度,分别。然后我们比较不同的项目相关性。最后,我们研究了一种替代的两阶段优化策略,它首先从 SSL 进行预训练,然后对下一个项目的预测目标进行微调。
5.5.1 超参数研究。我们一一研究超参数,这意味着在研究某个超参数时,所有其他超参数都被分配了最佳调整值。图 8 显示了总体比较。
我们观察到:(1) 和 的一般模式是,随着比率的增加,性能达到峰值,然后开始恶化。原因是当比率为 0 时没有信息增强,并且将比率增加得太高会导致更严重的损坏,从而构建假阳性样本来损害 SSL。具体来说, = 0.4 表现最好,而 = 0.1 分别在 Sports 和 Beauty 数据集中表现最好。较大的表明由于短序列的长尾分布,数据集需要更多的“插入”算子来缓解冷启动问题。 (2) 的最佳值分别是 Sports 和 Beauty 的 4 和 12。我们假设两个数据集的最优 之间的差异是因为长度偏度不同。 (3) 我们可以看到,对比 SSL 信号 ( > 0) 很重要,因为它显着提高了 NDCG@5 在 Sports 和 Beauty 数据集上的性能 32.88% 和 12.82%。我们还观察到当 > 0.1 时性能开始恶化。这表明对比 SSL 信号补充但不应主导学习目标。
5.5.2 项目相关性的影响。我们研究了 4.1.3 节中介绍的不同相关性的影响,包括基于记忆的、基于模型的和混合相关性。表 3 显示了比较结果。我们可以看到,与 CL4SRec 相比,使用任何类型的项目相关性都有助于提高性能。在这些相关性中,基于模型的相关性比基于记忆的相关性和混合相关性表现得更差。这可能是因为在早期从模型中学习到的项目表示没有提供信息。混合相关在 ≥ 160 时表现最佳。这表明结合基于模型和基于内存的相关是有益的。
E是epoch
5.5.3 预训练的效果。我们已经证明,将推荐目标与对比学习目标联合优化可以有效地训练 CoSeRec。然而,S3-Rec 声称两阶段训练,即使用对比 SSL 进行预训练和使用下一项预测进行微调,也是有效的。这种两阶段的训练在其他领域也被广泛采用[2, 5]。因此,我们进行了实验来比较我们的多任务训练策略和替代的两阶段训练策略的性能。表 4 显示了 Sports 和 Beauty 数据集上多任务训练和两阶段训练的结果比较。我们观察到与多任务策略相比,两阶段训练的表现更差。 CoSeRec多任务策略的较好表现体现了对比学习目标和推荐目标在联合训练时可以相互受益,而两阶段训练会导致预训练的自监督信息在微调中被遗忘阶段。
6 结论和未来工作
在这项工作中,我们研究了顺序推荐中的对比 SSL,它缓解了数据稀疏和嘈杂的交互问题 我们提出了一个新的学习框架 CoSeRec,它联合优化了对比 SSL 目标和下一项预测目标.我们提出了两种新颖的信息增强方法,即替代和插入,它们通过利用项目相关性来推进现有的随机增强。此外,我们赋予增强序列长度感知能力,以解决序列数据集中的长度偏斜问题。我们对三个基准数据集进行了广泛的实验,并证明了 CoSeRec 的有效性和稳健性。此外,我们研究了顺序推荐的最佳增强,这验证了信息增强的功效。
未来,我们计划研究更高级的基于模型的项目关联函数。例如,在强化学习框架下搜索相关项目,以便可以利用更准确的相关信息。此外,我们将探索对增强和序列长度之间关系的更细粒度的探索。此外,我们计划研究不同对比学习函数在序列自监督学习中的影响。