最新综述 | SSL4Rec: 全面探索自监督学习时代的推荐算法 (含开源代码和资料)

TLDR: 本文全面综述了自监督学习(SSL)在推荐系统中的应用,深入分析了逾170篇论文。提出了一个涵盖九大推荐场景的自监督分类体系,详细探讨了对比学习、生成学习和对抗学习三种SSL范式,并在文中讨论了未来研究方向。

论文地址:arxiv.org/abs/2404.03354 开源资料库:github.com/HKUDS/Awesome-SSLRec-Papers 开源代码库:github.com/HKUDS/SSLRec 实验室主页:sites.google.com/view/chaoh

0 摘要

推荐系统对于应对信息过载挑战至关重要,它们根据用户的个人偏好提供定制化推荐。近年来深度学习技术极大地推动了推荐系统的发展,提升了对用户行为和偏好的洞察力。然而,由于数据稀疏性的问题,传统的监督学习方法在实际应用中面临挑战,这限制了它们有效学习用户表示的能力。为了克服这一难题,自监督学习(SSL)技术应运而生,其利用数据的内在结构生成监督信号,不完全依赖于标记数据。这种方法使得推荐系统能够利用未标记的数据提取有意义的信息,即使在数据稀疏的情况下也能做出准确的预测和推荐。本篇综述全面回顾了专为推荐系统设计的自监督学习框架,并深入分析了超过170篇相关论文。我们探讨了九种不同的应用场景,全面理解了SSL在不同情境下如何增强推荐系统。对于每个领域,我们都详细讨论了不同的自监督学习范式,包括对比学习、生成学习和对抗学习,展示了SSL如何在不同情境下提升推荐系统的性能。

1 推荐系统

推荐系统的研究涵盖了不同场景下的各种任务,如协同过滤、序列推荐和多行为推荐等等。这些任务拥有不同的数据范式和目标。这里,我们首先提供一个通用的定义,不深入到不同推荐任务的具体变体中。在推荐系统中,存在两个主要的集合:用户集合,记为,和物品集合,记为。然后,使用一个交互矩阵来表示用户和物品之间的记录交互。在这个矩阵中,如果用户与物品有过交互,则矩阵的条目被赋予值1,否则为0。交互的定义可以根据不同的情境和数据集进行调整(例如,观看电影、在电子商务网站上点击或进行购买)。

此外,在不同的推荐任务中,存在不同的辅助观察数据,记为。例如,在知识图谱增强推荐中,包含了包含外部物品属性的知识图谱,这些属性包括不同的实体类型和相应的关系。而在社交推荐中, 包含了用户级别的关系,如友谊。基于上述定义,推荐模型优化了一个预测函数,旨在准确估计任何用户和物品之间的偏好分数:

y_(u,v)=f(A,X,u,v).

偏好分数表示用户和物品交互的可能性。基于这个分数,推荐系统可以通过根据估计的偏好分数提供物品的排名列表,向每个用户推荐未交互的物品。在综述中,我们进一步探讨不同推荐场景下的数据形式以及自监督学习其中的作用。

2 推荐系统中的自监督学习

过去几年中,深度神经网络在监督学习中表现出色,这在包括计算机视觉、自然语言处理和推荐系统在内的各个领域都有所体现。然而由于对标记数据的重度依赖,监督学习在处理标签稀疏性问题时面临挑战,这也是推荐系统中的一个常见问题。为了解决这一限制,自监督学习作为一种有前景的方法应运而生,它利用数据本身作为学习的标签。推荐系统中的自监督学习包含三种不同的范式:对比学习、生成学习和对抗学习。

2.1 对比学习 (Contrastive Learning)

对比学习作为一种突出的自监督学习方法,其主要目标是最大化从数据中增强的不同视图之间的一致性。在推荐系统的对比学习中,目标是最小化以下损失函数:

min_{E_1,E_2} L_{con} (E_1∘\omega_1 (A,X), E_2∘\omega_2 (A,X)).

这里表示对比视图创建操作,不同的基于对比学习的推荐算法有不用的创建过程。每个视图的构造由数据增强过程(可能涉及在增强图中的节点/边)以及嵌入编码过程组成。最小化的目标是获得稳健的编码函数,最大化视图之间的一致性。这种跨视图的一致性可以通过互信息最大化或实例判别等方法实现。

2.2 生成学习 (Generative Learning)

生成学习的目标是理解数据的结构和模式,以学习有意义的表示。它优化了一个深度编码器-解码器模型,该模型重建缺失或损坏的输入数据。编码器从输入中创建潜在表示,而解码器从编码器输出重建原始数据。目标是最小化重建和原始数据之间的差异,具体如下所示:

min_(D,E) L_gen (D∘E(ω(A,X)), (A,X))

这里,表示掩码或扰动这样的操作。表示编码和解码以重建输出的过程。最近的研究也引入了一个仅解码器的架构,该架构在没有编码器-解码器设置的情况下有效地重建数据。这种方法使用单一模型(例如,Transformer)进行重建,通常应用于基于生成学习的序列化推荐。损失函数的格式取决于数据类型,例如对于连续数据使用均方误差,对于分类数据使用交叉熵损失。

2.3 对抗学习 (Adversarial Learning)

对抗学习是一种训练方法,它使用生成器生成高质量的输出,并包含一个鉴别器Ω(⋅),该鉴别器确定给定样本是真实的还是生成的。与生成学习不同,对抗学习的区别在于包括了一个鉴别器,它通过竞争性互动来提高生成器生成高质量输出的能力,以欺骗鉴别器。因此,对抗学习的学习目标可以定义如下:

min_G max_Ω \{E_(x∼P(A,X) ) [log⁡Ω(x) ]+E_(x ̂∼P(G(A,X)) ) [log⁡(1-Ω(x ̂ )) ]\}

这里,变量表示从底层数据分布中获得的真实样本,而表示由生成器生成的合成样本。在训练过程中,生成器和鉴别器都通过竞争性互动提高它们的能力。最终,生成器致力于生成高质量的输出,这些输出对于下游任务是有利的。

3 分类体系(Taxonomy)

在本节中,我们提出了自监督学习在推荐系统中的应用的全面分类体系。如前所述,自监督学习范式可以分为对比学习、生成学习和对抗学习三个类别。因此,我们的分类体系基于这三个类别构建,提供了每个类别更深入的见解。

3.1 推荐系统中的对比学习

对比学习(CL)的基本原理是最大化不同视图之间的一致性。因此,我们提出了一个以视图为中心的分类体系,包含应用对比学习时考虑的三个关键组成部分:创建视图、配对视图以最大化一致性,以及优化一致性。

视图创建(View Creation)。 创建的视图强调了模型要关注的多种数据方面。它可以结合全局协同信息以改善推荐系统处理全局关系的能力,或者引入随机噪声以增强模型的鲁棒性。我们将输入数据(例如,图、序列、输入特征)的增强视为数据层面的视图创建,而隐藏特征在推理过程中的增强则视为特征层面的视图创建。我们提出了一个层次化的分类体系,包括从基本数据层面到神经模型层面的视图创建技术。

  • 数据层面 Data-based: 在基于对比学习的推荐系统中,通过增强输入数据来创建多样化的视图。这些增强的数据点随后通过模型进行处理。不同视图所得到的输出嵌入最终被配对并用于对比学习。增强方法根据推荐场景的不同而变化。例如,图数据可以采用节点/边的丢弃的方法,而序列可以使用掩码、裁剪和替换的增强方式。
  • 特征层面 Feature-based: 除了直接从数据生成视图外,一些方法还考虑在模型前向过程中对编码的隐藏特征进行增强。这些隐藏特征可以包括图神经网络层的节点嵌入或Transformer中的令牌向量。通过多次应用各种增强技术或引入随机扰动,模型的最终输出可以被视为不同的视图。
  • 模型层面 Model-based: 数据层面和特征层面的增强都是非自适应的,因为它们是非参数的。因此也有方法使用模型来生成不同的视图。这些视图包含了基于模型设计的特定信息。例如,意图解耦神经模块可以捕获用户意图,而超图模块可以捕获全局关系。

配对采样(Pair Sampling)。 视图创建过程为数据中的每个样本生成至少两个不同的视图。对比学习的核心在于最大化地对齐某些视图(即拉近它们),同时推开其他视图。为此,关键是确定应拉近的正样本对,并识别形成负样本对的其他视图。这种策略称为配对采样,它主要由两种配对采样方法组成:

  • 自然采样 Natural Sampling: 配对采样的一种常见方法是直接而非启发式的,我们称之为自然采样。正样本对由同一数据样本生成的不同视图形成,而负样本对由不同数据样本的视图形成。在存在一个中心视图的情况下,例如从整个图中派生出的全局视图,局部-全局关系也可以自然的形成正样本对。这种方法在大多数对比学习推荐系统中得到广泛应用。
  • 基于分数的采样 Score-based Sampling: 配对采样的另一种方法是基于分数的采样。在这种方法中,一个模块计算样本对的分数以确定正样本或负样本对。例如,两个视图之间的距离可以用于判断正负样本对。或者,可以在视图上应用聚类,其中同一聚体内的正样本对,不同聚体内的为负样本对。对于一个锚视图,一旦确定了正样本对,其余的视图自然被认为是负视图,可以与给定视图配对以创建负样本对,允许推开。

对比学习目标(Contrastive Objective)。 对比学习中的学习目标是最大化正样本对之间的互信息,这反过来又可以提高学习推荐模型的性能。由于直接计算互信息不可行,通常使用可行的下界作为对比学习中的学习目标。然而,也有直接将正样本对拉近的显式目标。

  • InfoNCE-based: InfoNCE是噪声对比估计的一个变体。其优化过程旨在拉近正样本对,推开负样本对。
  • JS-based: 除了使用InfoNCE估计互信息外,还可以使用Jensen-Shannon散度来估计下界。派生出的学习目标类似于将InfoNCE与标准二元交叉熵损失结合起来,应用于正样本对和负样本对。
  • 显式目标 Explicit Objective: 基于InfoNCE和基于JS的目标都旨在最大化互信息的估计下界,以最大化互信息本身,这在理论上是有保证的。此外,还有显式目标,如最小化均方误差或最大化样本对内的余弦相似度,直接对齐正样本对。这些目标被称为显式目标。
3.2 推荐系统中的生成学习

在生成式自监督学习中,主要目标是最大化真实数据分布的似然估计。这允许学习到的有意义的表示捕获数据中的底层结构和模式,然后可以用于下游任务。在我们的分类体系中,我们考虑了两个方面来区分不同的基于生成学习的推荐方法:生成学习范式和生成目标。

生成学习范式(Generative Learning Paradigm)。 在推荐的背景下,采用生成学习的自监督方法可以被分类为三个范式:

  • 掩码自编码(Masked Autoencoding):在掩码自编码器中,学习过程遵循掩码-重建方法,其中模型从部分观测中重建完整数据。
  • 变分自编码(Variational Autoencoding):变分自编码器是另一种最大化似然估计的生成方法,具有理论保证。通常它涉及将输入数据映射到遵循正态高斯分布的潜在因素上。随后模型基于抽样的潜在因素重建输入数据。
  • 去噪扩散(Denoised Diffusion):去噪扩散是一种生成模型,它通过反转噪声过程生成新的数据样本。在前向过程中,高斯噪声被添加到原始数据中,经过多个步骤,创建了一系列噪声版本。在逆向过程中,模型学会从噪声版本中去除噪声,逐步恢复原始数据。

生成目标(Generation Target)。 在生成学习中,将数据的哪种模式视为生成的标签,是另一个需要考虑的问题,以带来有意义的辅助自监督信号。一般来说,生成目标对于不同的方法以及在不同的推荐场景中各不相同。例如,在序列推荐中,生成目标可以是序列中的物品,目的是模拟序列中物品之间的关系。在交互图推荐中,生成目标可以是图中的节点/边,目的是捕捉图中的高级拓扑相关性。

3.3 推荐系统中的对抗学习

在推荐系统的对抗学习中,鉴别器在区分生成的虚假样本和真实样本中起着至关重要的作用。与生成学习类似,我们提出的分类体系从学习范式和鉴别目标两个角度涵盖了推荐系统中的对抗学习方法:

对抗学习范式(Adversarial Learning Paradigm)。 在推荐系统中,对抗学习包括两种不同的范式,这取决于鉴别器的判别损失是否可以以可微的方式反向传播到生成器。

  • 可微对抗学习(Differentiable AL):第一种方法涉及在连续空间中表示的对象,鉴别器的梯度可以自然地反向传播到生成器进行优化。这种方法被称为可微对抗学习。
  • 不可微对抗学习(Non-Differentiable AL):另一种方法涉及鉴别推荐系统输出,特别是推荐商品。然而,由于推荐结果是离散的,反向传播变得具有挑战性,形成了非可微情况,其中鉴别器的梯度不能直接传播到生成器。为了解决这个问题,引入了强化学习和策略梯度。在这种情况下,生成器作为一个代理,通过预测基于之前交互的商品来与环境互动。鉴别器作为奖励函数,提供奖励信号来指导生成器的学习。鉴别器的奖励被定义为强调影响推荐质量的不同因素,并优化以分配更高的奖励给真实样本而不是生成样本,引导生成器产生高质量的推荐。

鉴别目标(Discrimination Target)。 不同推荐算法导致生成器生成不同的输入,这些输入随后被馈送到鉴别器进行鉴别。这个过程旨在增强生成器生成高质量内容的能力,从而接近真实情况。具体的鉴别目标是根据特定的推荐任务设计的。

3.4 多元的推荐场景

在本综述中,我们从九种不同的推荐场景深入讨论不同的的自监督学习方法在其中的设计方式,这九种推荐场景分别为(具体内容欢迎到文中了解):

General Collaborative Filtering (通用协同过滤) - 这是推荐系统中最基本的形式,主要依赖于用户和物品之间的交互数据来生成个性化推荐。

Sequential Recommendation (序列推荐) - 考虑用户与物品交互的时间序列,目的是预测用户的下一个可能交互物品。

Social Recommendation (社交推荐) - 结合社交网络中的用户关系信息,以提供更加个性化的推荐。

Knowledge-aware Recommendation (知识感知推荐) - 利用知识图谱等结构化知识来增强推荐系统的性能。

Cross-domain Recommendation (跨域推荐) - 将从一个领域学到的用户偏好应用到另一个领域中,以改善推荐效果。

Group Recommendation (群体推荐) - 为具有共同特征或兴趣的群体提供推荐,而不是为单个用户。

Bundle Recommendation (捆绑推荐) - 推荐一组物品作为一个整体,通常用于促销或套餐服务。

Multi-behavior Recommendation (多行为推荐) - 考虑用户对物品的多种交互行为,如浏览、购买、评分等。

Multi-modal Recommendation (多模态推荐) - 结合物品的多种模态信息,如文本、图像、声音等,以提供更丰富的推荐。

4 结语

本文全面综述了自监督学习(SSL)在推荐系统中的应用,深入分析了逾170篇论文。我们提出了一个涵盖九大推荐场景的自监督分类体系,详细探讨了对比学习、生成学习和对抗学习三种SSL范式,并在文中讨论了未来研究方向。我们强调了SSL在处理数据稀疏性、提升推荐系统性能方面的重要性,并指出了将大型语言模型集成到推荐系统中、自适应动态推荐环境以及为SSL范式建立理论基础等潜在研究方向。希望本综述能为研究人员提供宝贵的资源,激发新的研究思路,推动推荐系统的进一步发展。