推荐系统对于应对信息过载挑战重要,它们根据用户的个人偏好提供定制化推荐。近年来深度学习技术极大地推动了推荐系统的发展,提升了对用户行为和偏好的洞察力。
然而,由于数据稀疏性的问题,传统的监督学习方法在实际应用中临挑战,这限制了它们有效学习用户表现的能力。
为了保护克服这一难题,自监督学习(SSL)技术应用于生,其利用数据的内在结构生成监督信号,不完全依赖于标记数据。
这种方法使用得推荐系统能够够利用未标记的数据提取有意义的信息,即使在数据稀缺的情况下也能做出准确的预测和推荐。
文章地址:https://arxiv.org/abs/2404.03354
开源资料库:https://github.com/HKUDS/Awesome-SSLRec-Papers
开源代码库:https://github.com/HKUDS/SSLRec
本文综述了专为推荐系统设计的自监督学习框架,并深入分析了超过170篇相关论文。我们探讨了九种不同的应用场景,全面理解了SSL在不同情境下如何增强推荐系统。
对于每个领域,我们都详细讨论了不同的自监督学习范式,包括对比学习、生成学习和对抗学习,展示了SSL如何在不同情境下提升推荐系统的性能。
推荐系统的研究涵盖了不同场景下的各种任务,如协同过滤、序列推荐和多行为推荐等等。这些任务拥有不同的数据范式和目标。这里,我们首先提供一个通用的定义,不深入到不同推荐任务的具体变体中。在推荐系统中,存在两个主要的集合:用户集合,记为,和物品集合,记为。
然后,使用一个交互矩阵来表示用户和物品之间的记录交互。在这个矩阵中,如果用户ui与物品vj有过交互,则矩阵的条目Ai,j被赋予值1,否则为0。
交互的定义可以根据不同的情境和数据集进行调整(例如,观看电影、在电子商务网站上点击或进行购买)。
此外,在不同的推荐任务中,存在不同的辅助观察数据,记为X,例如在知识图谱增强推荐中,X包含了包含外部物品属性的知识图谱,这些属性包括不同的实体类型和相应的关系。
而在社交推荐中, X包含了用户级别的关系,如友谊。基于上述定义,推荐模型优化了一个预测函数f(⋅),旨在准确估计任何用户u和物品v之间的偏好分数:
偏好分数yu,v表示用户u和物品v交互的可能性。
基于这个分数,推荐系统可以通过根据估计的偏好分数提供物品的排名列表,向每个用户推荐未交互的物品。在综述中,我们进一步探讨不同推荐场景下(A,X)的数据形式以及自监督学习其中的作用。
过去几年中,深度神经网络在监督学习中表现出色,这在包括计算机视觉、自然语言处理和推荐系统在内的各个领域都有所体现。然而由于对标记数据的重度依赖,监督学习在处理标签稀疏性问题时面临挑战,这也是推荐系统中的一个常见问题。
为了解决这一限制,自监督学习作为一种有前景的方法应运而生,它利用数据本身作为学习的标签。推荐系统中的自监督学习包含三种不同的范式:对比学习、生成学习和对抗学习。
对比学习作为一种突出的自监督学习方法,其主要目标是最大化从数据中增强的不同视图之间的一致性。在推荐系统的对比学习中,目标是最小化以下损失函数:
E∗∘ω∗表示对比视图创建操作,不同的基于对比学习的推荐算法有不用的创建过程。每个视图的构造由数据增强过程ω∗(可能涉及在增强图中的节点/边)以及嵌入编码过程E∗组成。
最小化的目标是获得稳健的编码函数,最大化视图之间的一致性。这种跨视图的一致性可以通过互信息最大化或实例判别等方法实现。
生成学习的目标是理解数据的结构和模式,以学习有意义的表示。它优化了一个深度编码器-解码器模型,该模型重建缺失或损坏的输入数据。
编码器从输入中创建潜在表示,而解码器从编码器输出重建原始数据。目标是最小化重建和原始数据之间的差异,具体如下所示:
这里,ω表示掩码或扰动这样的操作。D∘E表示编码和解码以重建输出的过程。最近的研究也引入了一个仅解码器的架构,该架构在没有编码器-解码器设置的情况下有效地重建数据。这种方法使用单一模型(例如,Transformer)进行重建,通常应用于基于生成学习的序列化推荐。损失函数的格式取决于数据类型,例如对于连续数据使用均方误差,对于分类数据使用交叉熵损失。
对抗学习是一种训练方法,它使用生成器G(⋅)生成高质量的输出,并包含一个鉴别器Ω(⋅),该鉴别器确定给定样本是真实的还是生成的。与生成学习不同,对抗学习的区别在于包括了一个鉴别器,它通过竞争性互动来提高生成器生成高质量输出的能力,以欺骗鉴别器。
因此,对抗学习的学习目标可以定义如下:
这里,变量x表示从底层数据分布中获得的真实样本,而表示由生成器G(⋅)生成的合成样本。在训练过程中,生成器和鉴别器都通过竞争性互动提高它们的能力。最终,生成器致力于生成高质量的输出,这些输出对于下游任务是有利的。
在本节中,我们提出了自监督学习在推荐系统中的应用的全面分类体系。如前所述,自监督学习范式可以分为对比学习、生成学习和对抗学习三个类别。因此,我们的分类体系基于这三个类别构建,提供了每个类别更深入的见解。
对比学习(CL)的基本原理是最大化不同视图之间的一致性。因此,我们提出了一个以视图为中心的分类体系,包含应用对比学习时考虑的三个关键组成部分:创建视图、配对视图以最大化一致性,以及优化一致性。
视图创建(View Creation)。创建的视图强调了模型要关注的多种数据方面。它可以结合全局协同信息以改善推荐系统处理全局关系的能力,或者引入随机噪声以增强模型的鲁棒性。
我们将输入数据(例如,图、序列、输入特征)的增强视为数据层面的视图创建,而隐藏特征在推理过程中的增强则视为特征层面的视图创建。我们提出了一个层次化的分类体系,包括从基本数据层面到神经模型层面的视图创建技术。
配对采样(Pair Sampling)。视图创建过程为数据中的每个样本生成至少两个不同的视图。对比学习的核心在于最大化地对齐某些视图(即拉近它们),同时推开其他视图。
为此,关键是确定应拉近的正样本对,并识别形成负样本对的其他视图。这种策略称为配对采样,它主要由两种配对采样方法组成:
对比学习目标(Contrastive Objective)。对比学习中的学习目标是最大化正样本对之间的互信息,这反过来又可以提高学习推荐模型的性能。由于直接计算互信息不可行,通常使用可行的下界作为对比学习中的学习目标。然而,也有直接将正样本对拉近的显式目标。
在生成式自监督学习中,主要目标是最大化真实数据分布的似然估计。这允许学习到的有意义的表示捕获数据中的底层结构和模式,然后可以用于下游任务。在我们的分类体系中,我们考虑了两个方面来区分不同的基于生成学习的推荐方法:生成学习范式和生成目标。
生成学习范式(Generative Learning Paradigm)。在推荐的背景下,采用生成学习的自监督方法可以被分类为三个范式:
生成目标(Generation Target)。在生成学习中,将数据的哪种模式视为生成的标签,是另一个需要考虑的问题,以带来有意义的辅助自监督信号。一般来说,生成目标对于不同的方法以及在不同的推荐场景中各不相同。例如,在序列推荐中,生成目标可以是序列中的物品,目的是模拟序列中物品之间的关系。在交互图推荐中,生成目标可以是图中的节点/边,目的是捕捉图中的高级拓扑相关性。
在推荐系统的对抗学习中,鉴别器在区分生成的虚假样本和真实样本中起着至关重要的作用。与生成学习类似,我们提出的分类体系从学习范式和鉴别目标两个角度涵盖了推荐系统中的对抗学习方法:
对抗学习范式(Adversarial Learning Paradigm)。在推荐系统中,对抗学习包括两种不同的范式,这取决于鉴别器的判别损失是否可以以可微的方式反向传播到生成器。
鉴别目标(Discrimination Target)。不同推荐算法导致生成器生成不同的输入,这些输入随后被馈送到鉴别器进行鉴别。这个过程旨在增强生成器生成高质量内容的能力,从而接近真实情况。具体的鉴别目标是根据特定的推荐任务设计的。
在本综述中,我们从九种不同的推荐场景深入讨论不同的的自监督学习方法在其中的设计方式,这九种推荐场景分别为(具体内容欢迎到文中了解):
本文全面综述了自监督学习(SSL)在推荐系统中的应用,深入分析了逾170篇论文。我们提出了一个涵盖九大推荐场景的自监督分类体系,详细探讨了对比学习、生成学习和对抗学习三种SSL范式,并在文中讨论了未来研究方向。
我们强调了SSL在处理数据稀疏性、提升推荐系统性能方面的重要性,并指出了将大型语言模型集成到推荐系统中、自适应动态推荐环境以及为SSL范式建立理论基础等潜在研究方向。希望本综述能为研究人员提供宝贵的资源,激发新的研究思路,推动推荐系统的进一步发展。
以上是综述170篇「自监督学习」推荐算法,港大发布SSL4Rec:代码、资料库全面开源!的详细内容。更多信息请关注PHP中文网其他相关文章!