A Survey of Graph Neural Networks for Recommender Systems: Challenges, Methods, and Directions

推荐系统图神经网络综述:挑战、方法和方向

Journal:ACM Transactions on Recommender Systems (2023)

DOI:10.1145/3568022

推荐系统是当今互联网上最重要的信息服务之一。 最近,图神经网络已成为推荐系统的最先进的新方法。 在本次调查中,我们对基于图神经网络的推荐系统的文献进行了全面的回顾。 我们首先介绍推荐系统和图神经网络的背景和发展历史。 对于推荐系统来说,一般来说,现有作品可以从四个方面进行分类:阶段、场景、目标和应用。 对于图神经网络,现有的方法包括两类:谱模型和空间模型。 然后我们讨论将图神经网络应用于推荐系统的动机,主要包括高阶连通性、数据的结构特性和增强的监督信号。 然后,我们系统地分析了图构建、嵌入传播/聚合、模型优化和计算效率方面的挑战。 之后,我们首先按照上述分类法,对基于图神经网络的推荐系统的大量现有工作进行全面概述。 最后,我们对该领域的开放问题和有希望的未来方向进行了讨论。 我们在 https://github.com/tsinghua-fib-lab/GNN-Recommender-Systems 中总结了代表性论文及其代码存储库。

2 背景

2.1 推荐系统

2.1.1 概述。 在本节中,我们从阶段、场景、目标和应用四个角度介绍推荐系统的背景。 具体来说,在工业应用中,由于系统工程的现实要求,推荐系统总是分为三个阶段:匹配、排序和重新排序,形成标准流程。 每个阶段在数据输入、输出、模型设计等方面都有不同的特点。除了标准阶段外,还有许多具有特殊定义的具体推荐场景。 例如,近二十年来,社交推荐一直备受关注,其定义是基于社交关系改进推荐系统。 最后,不同的推荐系统有不同的目标,其中准确性始终是最重要的,因为它直接决定系统的效用。 最近,推荐系统还被赋予了其他要求,例如推荐多样化的项目以避免无聊的用户体验、确保系统公平对待所有用户、保护用户隐私免受攻击等。在应用方面,GNN 模型可以广泛部署在电子领域。 -商业推荐、兴趣点推荐、新闻推荐、电影推荐、音乐推荐等。

2.1.2 阶段。 项目池,即推荐系统可用的所有项目,通常很大,可以包含数百万个项目。 因此,常见的推荐系统遵循多阶段架构,从大规模项目池中逐步过滤项目,直到最终向用户推荐数十个项目[34, 190]。 一般来说,现代推荐系统由以下三个阶段组成。

2.1.3 场景。 下面我们将详细阐述推荐系统的不同场景,包括社交推荐、顺序推荐、会话推荐、捆绑推荐、跨域推荐和多行为推荐。

2.1.4 目标。 当然,推荐系统最重要的目标是准确性。 接下来,我们将详细阐述另外三个重要的超准确目标,包括多样性、可解释性和公平性。

2.1.5 应用程序。 推荐系统广泛存在于当今的信息服务中,其应用也多种多样,其中具有代表性的有以下几种。

2.2 图神经网络

随着社交网络、分子结构、知识图谱等海量图数据的迅速出现,近年来兴起了一波图神经网络(GNN)研究浪潮[8,47,49, 83、168、229]。 GNN 的兴起主要源于卷积神经网络(CNN)和图表示学习(GRL)的进步[205, 250]。 当应用于常规欧几里得数据(例如图像或文本)时,CNN 在提取局部特征方面非常有效。 然而,对于像图这样的非欧几里得数据,CNN 需要泛化来处理操作对象(例如图像中的像素或图上的节点)大小不固定的情况。 就GRL而言,它的目标是为图节点、边或子图生成低维向量,这些向量表示图的复杂连接结构。 例如,一项开创性的工作 DeepWalk [144],通过在图上随机游走的生成路径上使用 SkipGram [130] 来学习节点表示。 结合 CNN 和 GRL,开发了各种 GNN 来提取结构信息并学习高级表示。 在后面的部分中,我们将介绍设计 GNN 模型以完成图任务的几个一般和主要阶段,如图 10 所示。具体而言,第 2.2.1、2.2.2 和 2.2.3 节详细说明了如何构造图, 分别设计专门且有效的图神经网络并优化模型。

2.2.1 图的构建。

我们首先利用统一公式来定义图,即 G = (𝑉 , 𝐸),其中 𝑉 和 𝐸 分别表示图节点和边的集合,𝐸 中的每条边连接 𝑉 中任意数量的节点。 近年来,基于GNN的模型侧重于为以下三类图设计专用网络:

  • • 同质图,其中每条边仅连接两个节点,并且节点和边只有一种类型。
  • • 异构图,其中每条边仅连接两个节点,并且存在多种类型的节点或边。
  • • 超图,其中每条边连接两个以上的节点。

在当今的许多信息服务中,关系数据很自然地以图形的形式表示。 例如,隐式社交媒体关系可以被视为一个统一的图,其中节点代表个体,边连接相互关注的人。 然而,由于图像和文本等非结构化数据不明确包含图,因此需要手动定义节点和边来构建图。 以自然语言处理(NLP)中使用的文本数据为例,单词/文档被描述为节点,并且它们之间的边根据词频-逆文档频率(IF-ITF)[220]构建。 图表示学习的一个新兴研究方向是知识图谱(KG),它是异构图的代表实例。 KG集成了多种数据属性和关系,其中节点和边分别被重新定义为实体和关系。 具体来说,KG中的实体可以涵盖很广泛的元素,包括人、电影、书籍等。关系用于描述实体之间如何关联。 例如,一部电影可以与人(例如,演员或导演)、国家、语言等相关。除了常规图之外,最近还探索了超图来灵活处理更复杂的数据(例如,超越成对关系和多模态) [47],其中每条边可以连接两个以上的节点。 总之,构建图需要预先存在的图数据或从非结构化数据中抽象出图节点和边的概念。

2.2.2 网络设计。

一般来说,GNN 模型可以分为光谱模型和空间模型。 谱模型将图视为信号,并在谱域中通过图卷积对其进行处理。 具体来说,图信号首先通过图上定义的傅里叶变换变换到谱域,然后应用滤波器,最后将处理后的信号变换回空间域[152]。 用滤波器g处理图信号x的公式为

其中F表示图傅立叶变换。

相比之下,空间模型直接对图结构进行卷积,通过像 CNN 一样的加权聚合来提取局部特征。 尽管这两类模型的起点不同,但它们遵循相同的原则,即迭代地收集邻域信息以捕获图节点和边之间的高阶相关性。 这里的“信息”被表示为嵌入,即低维向量。 为此,GNN 的主要和关键操作是按照结构连接在图上传播嵌入,包括聚合邻域嵌入并将其与目标(节点或边)嵌入融合以逐层更新图嵌入。 接下来,我们将介绍几个突破性的 GNN 模型,以详细说明神经网络是如何在图上实现的。 表 1 解释了常用的符号。GCN [83]。

这是一个典型的谱模型,结合图卷积和神经网络来实现半监督分类的图任务。 具体来说,GCN 通过以下一阶近似卷积中的滤波器[63]。 然后节点嵌入更新如下,

的推导可以参考[205]。 H-𝑙 ∈ R|𝑉|×𝐷 是第 𝑙 层卷积中图节点的嵌入矩阵,其中 𝐷 是嵌入维度。 此外, ̃ A ∈ R|𝑉|×|𝑉| 是自环图的邻接矩阵,如果节点 𝑖 与 𝑗 连接或 𝑖 = 𝑗,则其中每个条目 ̃ A 𝑖 𝑗 = 1; 否则 ̃ A 𝑖 𝑗 = 0,并且 ̃ D 𝑖𝑖 = Í 𝑗 ̃ A 𝑖𝑗。

GraphSAGE [62]。

这是一种开创性的空间 GNN 模型,它对目标节点的邻居进行采样,聚合它们的嵌入,并与目标嵌入合并进行更新。其中 N𝑖 表示目标节点 𝑖 的采样邻居。 函数AGGREGATE有多种选项,例如MEAN、LSTM[68]等。

GAT [168]。

这是一个空间 GNN 模型,解决了谱模型的几个关键挑战,例如从特定图结构到另一种复杂的矩阵逆计算的泛化能力差。 GAT 利用注意力机制通过为不同节点指定不同的权重来聚合邻域特征(嵌入)。 具体来说,传播公式如下:其中𝛼𝑖𝑗是从节点𝑗到节点𝑖的传播权重,N𝑖是节点𝑖的邻域集,包括𝑖本身。 如第二个方程所示,注意力机制是通过一个由可学习向量 a 参数化的全连接层实现的,后面是 softmax 函数。

HetGNN [229]。

这是一个为异构图量身定制的空间 GNN。 考虑到异构图由多种类型的节点和边组成,HetGNN 首先根据邻居的类型将其划分为子集。 此后,结合 LSTM 和 MEAN 操作,针对每种类型的邻居执行聚合器功能来收集本地信息。 此外,基于注意力机制聚合不同类型的邻域信息。 由于实现遵循上述工作,所以省略了详细的公式。

HGNN [47]。

这是在超图上实现 GNN 的谱模型。 卷积定义如下,

其中 E ∈ R|𝑉|×|𝐸| 的每个条目 E𝑢𝑖 表示超边 𝑢 是否包含节点 𝑖,D𝑣 ∈ R|𝑉|×|𝑉| 的每个对角条目表示该节点包含在多少条超边中,并且每个 D𝑒 ∈ R|𝐸|×|𝐸| 的对角线条目表示超边包含多少个节点。 一般来说,这种卷积运算可以被视为传播邻域嵌入的两个阶段:1)从节点到连接它们的超边的传播,以及2)从超边到它们相遇的节点的传播。

上述典型GNN模型的共性和差异如图11所示。为了进一步捕获图上的高阶结构信息,上面提到的卷积或嵌入传播将进行𝐿次。 在大多数情况下,𝐿 ≤ 4,因为 GNN 存在过度平滑问题,当传播层数变大时,更新的嵌入会出现小波动。 专注于开发深度有效的 GNN 模型的相关研究将在 5.1.1 节中介绍。

2.2.3 模型优化。

经过2.2.2节中设计的网络的处理后,产生编码特征语义以及图结构的节点或边的整体嵌入。 为了执行下游图学习任务,这些嵌入将通过通用神经网络(例如 MLP)进一步转换为目标(例如,节点属于某个类的概率)。

图上主要有分类、预测和回归任务,包括三个层次:节点、边、子图。 尽管各种任务存在差异,但模型优化有一个标准程序。 具体来说,相关的嵌入将被映射并带有标签来制定损失函数,然后利用现有的优化器进行模型学习。 在此过程之后,有多种类型的映射函数(例如,MLP、内积)和损失函数(例如,成对pair-wise、逐点point-wise)可供选择用于特定任务。 对于成对损失函数,鼓励区分正样本和负样本,典型的公式BPR[149]如下:

其中 𝜎 (·) 是 sigmoid 函数。 𝑝和𝑛分别表示正样本和负样本,𝑠(·)用于测量样本。 对于逐点损失函数,包括均方误差(MSE)损失、交叉熵损失等。

为了更好地理解,我们以链路预测和节点分类任务为例来详细说明GNN模型是如何优化的。 对于链接预测,需要定义两个节点 𝑖,𝑗 之间是否存在边的可能性。 从技术上讲,它通常是根据每层传播中节点嵌入的相似性来计算的:其中𝑓 (·) 表示映射函数。 此外,我们可以将训练数据构造为 O = {(𝑖, 𝑗, 𝑘)},分别由观察到的正样本和随机选择的负样本 (𝑖, 𝑗) 和 (𝑖, 𝑘) 组成。 具体来说,节点 𝑖 与图上的 𝑗 连接,但不与 𝑘 连接。 在推荐系统中,样本将表明用户 𝑖 已与项目 𝑗 交互,但未与项目 𝑘 交互,其中 𝑘 是从之前未交互过的所有其他项目 𝑢 中采样的。 此后,如果选择pairwise loss BPR,则优化目标将是在节点分类方面,节点嵌入将转化为表示其属于哪一类的概率分布,如下所示:其中 p𝑖 ∈ R𝐶×1 是分布,𝐶 是类别数。 类似地,训练数据将是 O = {(𝑖, y𝑖 )},其中 y𝑖 ∈ R𝐶×1 且 𝑖 属于类 𝑐 意味着 y𝑖𝑐 = 1; 否则 y 𝑖𝑐 = 0。一般来说,分类任务通常选择逐点损失函数,例如交叉熵损失,其公式为

简而言之,基于 GNN 的模型中的优化将 GNN 泛化的表示视为输入,将图结构(例如边、节点类)视为标签,并定义损失函数用于训练。

2.3 为什么推荐系统需要 GNN

在过去的十年中,推荐系统已经从传统的因式分解方法迅速发展到基于高级深度神经网络的模型。 特别是,基于 GNN 的推荐器在许多方面都达到了最先进的水平,包括不同的推荐阶段、场景、目标和应用。 基于 GNN 的推荐器的成功可以从以下三个角度来解释:(1)结构数据; (2)高阶连通性; (3)监督信号。

  1. 结构数据。 从在线平台收集的数据有多种形式,包括用户与商品的交互(评分、点击、购买等)、用户概况(性别、年龄、收入等)、商品属性(品牌、类别、价格等)。 )等。传统的推荐系统无法利用这些多种形式的数据,并且通常专注于一个或几个特定的​​数据源,这会导致性能次优,因为许多信息被忽略。 通过将所有数据表示为图上的节点和边,GNN 提供了一种利用可用数据的统一方法。 同时,GNN 在学习表示方面表现出强大的能力,因此可以获得用户、项目和其他特征的高质量嵌入,这对于推荐性能至关重要。
  2. 高阶连接。 推荐准确性依赖于捕获用户和项目之间的相似性,并且这种相似性应该反映在学习的嵌入空间中。具体来说,用户的学习嵌入与用户交互的项目的嵌入相似。 此外,那些与具有相似偏好的其他用户交互的项目也与该用户相关,这被称为协同过滤效应,这对于推荐准确性非常重要。 在传统方法中,由于训练数据主要是仅包含直接连接项的交互记录,因此仅隐式捕获协同过滤效果。 换句话说,仅考虑一阶连通性。 高阶连接的缺乏会在很大程度上损害推荐性能。 相比之下,基于 GNN 的模型可以有效捕获高阶连接。 具体来说,协同过滤效果可以自然地表示为图上的多跳邻居,并通过嵌入传播和聚合将其合并到学习的表示中。
  3. 监督信号。 监督信号在收集的数据中通常是稀疏的,而基于 GNN 的模型可以在表示学习过程中利用半监督信号来缓解这个问题。 以电子商务平台为例; 与其他行为相比,目标行为(购买)非常稀疏。 因此,仅使用目标行为的推荐系统可能性能较差。 基于 GNN 的模型可以通过在图上编码半监督信号来有效地整合多种非目标行为,例如搜索和添加到购物车,这可以显着提高推荐性能[78]。 同时,还可以通过在图上设计辅助任务来利用自监督信号,进一步提高推荐性能。

3 将 GNNS 应用到推荐系统的挑战 

尽管在推荐系统中应用图神经网络的动机很好,但仍存在四个部分的关键挑战。

  1. • 如何为特定任务构建适当的图表?
  2. • 如何设计信息传播和聚合的机制?
  3. • 如何优化模型
  4. • 如何保证模型训练和推理的效率

下面我们将一一阐述这四大挑战。 

3.1 图的构建

显然,应用图神经网络的第一步是构建图。 这分为两部分:将数据输入构建为图形结构数据; 将推荐目标重新组织为图表上的任务。 以标准协同过滤任务为例,数据输入是观察到的用户-项目交互数据,输出是对缺失的用户-项目交互的预测。 因此,可以构建以用户/项目为节点、以交互为边的二分图。 此外,CF 任务转向图上的用户-项目链接预测。 然而,构建能够很好地正确处理任务的图是具有挑战性的。 应从以下几个方面认真贯彻落实。

  1. 节点。 使用图神经网络学习的主要目标之一是节点表示。 这导致节点的定义在很大程度上决定了GNN模型的规模,其中大部分参数被第0层节点嵌入占据。 请注意,通常不考虑边缘嵌入或根据节点嵌入计算边缘嵌入。 另一方面,确定是否区分不同类型的节点也是一个具有挑战性的问题。 例如,在协同过滤任务中,用户和项目节点可以进行不同的建模或被视为同一类型的节点。 另一个挑战点是处理具体输入,例如项目价格等数字特征,它们始终是连续数字。 为了在图中表示这些特征,一种可能的解决方案是将它们离散化为分类特征,然后可以将其表示为节点[244]。
  2. 边缘。 边的定义极大地影响了图在进一步传播和聚合中的质量以及模型优化。 在一些琐碎的任务中,推荐系统的数据输入可以被认为是一种关系数据,例如用户-项目交互或用户用户社交关系。 在一些复杂的任务中,其他关系也可以表示为边。 例如,在捆绑推荐中,捆绑由多个项目组成。 那么连接bundle和item的边就可以反映隶属关系。 在构造图时,好的边设计应该充分考虑图的密度。 太密集的图意味着存在度数极高的节点。 这将使嵌入传播由大量邻居进行。 这将进一步使传播的嵌入变得无区别且无用。 为了处理过于密集的边缘,对图进行采样、过滤或修剪是有前途的解决方案。 过于稀疏的图还会导致嵌入传播的效用较差,因为传播仅在一小部分节点上进行。

3.2 网络设计

传播层使得GNN有别于传统的图学习方法。 对于传播来说,如何选择路径对于推荐系统中高阶相似度的建模至关重要。 此外,传播也可以是参数化的,即为不同的节点分配不同的权重。 例如,将项目嵌入传播到用户-项目交互图中的用户节点可以捕获基于项目的 CF 效果。 权重指的是历史上交互的项目的不同重要性。

在传播过程中,聚合函数也有多种选择,包括均值池化、LSTM、max、min等。由于不存在单一选择可以在所有推荐任务或不同数据集中表现最佳,因此设计一个聚合函数至关重要。 具体且适当的一项。 此外,传播/聚合的不同选择极大地影响了计算效率。 例如,均值池化在基于 GNN 的推荐模型中被广泛使用,因为它可以有效地计算,特别是对于包含高度节点的图,例如非常受欢迎的项目(可以连接许多用户)。 此外,传播/聚合层可以堆叠以帮助节点访问更高跳数的邻居。 太浅的层数使得高阶图结构无法很好地建模,太深的层数使得节点嵌入过于平滑。 这两种情况中的任何一种都会导致推荐效果不佳。 

3.3 模型优化

为了优化基于图神经网络的推荐模型,推荐系统中的传统损失函数总是转向图学习损失。 例如,优化中的对数损失可以视为逐点链路预测损失。 类似地,BPR损失[149]通常被用在图上的链接预测任务中。 另一方面是数据采样。 在基于 GNN 的推荐中,为了对正项或负项进行采样,采样方式可以高度依赖于图结构。 例如,在社交推荐中,在图上执行随机游走可以生成弱正项(例如朋友互动的项)。

此外,有时,基于GNN的推荐可能涉及多个任务,例如不同类型边缘上的链接预测任务。 那么在这样的情况下,如何平衡各个任务,让它们互相促进,是一个挑战。 

3.4 计算效率

在现实世界中,推荐系统应该被有效地训练/推断。 因此,为了确保基于GNN的推荐模型的应用价值,应认真考虑其计算效率。 与传统的非GNN推荐方法(例如NCF或FM)相比,GNN模型的计算成本要高得多。 每个 GCN 层都涉及复杂的矩阵运算,特别是对于 GCN 等谱 GNN 模型。 随着GCN层的多层堆叠,计算成本进一步增加。 因此,像 PinSage 这样的空间 GNN 模型可以更容易在大规模工业应用中实现。 通过邻居之间的采样或剪枝图结构,只要我们能够承受推荐性能的下降,就可以始终保持效率。 

4 现有方法 

4.1 分类

近年来,GNN 已被应用于广泛的推荐任务。 在这里,我们分别根据推荐阶段、场景、目标和应用来定义分类法。 更具体地说,推荐阶段表示推荐系统在现实平台中实现的整体过程。 该过程包括项目候选选择的匹配、捕获用户偏好的排名以及除准确性之外的其他标准的重新排名。 推荐场景包括社交推荐、顺序推荐、跨领域推荐等。推荐目标包括准确性、多样性、可解释性、公平性等,其中准确性是最受关注的。 推荐应用是指特定的行业应用。 表2、表3和表4分别展示了在顶级场所发表的针对不同推荐阶段、推荐场景和推荐目标的基于GNN的推荐的代表性研究。

4.2 不同推荐阶段的GNN

4.2.1 匹配中的GNN。

在匹配阶段,由于候选选择的计算复杂度很高,效率是一个重要问题。 具体来说,基于粗粒度的用户偏好,仅从百万量级的项目池中选择数百个项目用于接下来的排名阶段。 因此,现阶段提出的模型几乎没有利用用户-项目交互作为数据输入来建模用户偏好,而没有引入额外的特征,例如用户年龄、项目价格、应用程序的浏览时间等。对于匹配,除了图形构建和网络设计中,还存在CF信号提取的挑战,如表5所示。

匹配阶段基于 GNN 的模型可以被视为嵌入匹配,通常在用户-项目二分图上设计专门的 GNN 架构 [8,160,181,183,194]。 伯格等人。 [8]提出通过对不同关系边(即用户-项目评分)求和并分配权重共享转换通道来传递邻域消息。 王等人。 [181]在推荐中提出了一种空间 GNN,与 MF [85] 或 NCF [66] 等传统 CF 方法相比,获得了优越的性能。 孙等人。 [160]认为简单的聚合机制(如总和、平均值或最大值)无法对邻居之间的关系信息进行建模,并提出了邻居交互感知卷积来解决该问题。 王等人。 [183]​​开发了解缠结的GNN来捕获独立的用户意图,它扩展了匹配中的候选项目集并同时保证了准确性。 吴等人。 [194]利用图结构的稳定性来结合对比学习框架来辅助表示学习。 这些基于 GNN 的模型可以捕获用户和项目之间的高阶相似性以及结构连接性。 这样,通过多次信息传播,扩展了具有相似交互的用户将具有相似偏好的语义。 另一方面,基于 GNN 的模型的训练复杂性被证明 [181, 183] 是可以接受的,并且与非图模型相当,特别是当变换矩阵被删除时 [65]。 此外,[222]表明基于 GNN 的模型可以高效且有效地应用于现实世界平台中的网络规模推荐系统,该模型结合了随机游走和 GraphSAGE [62],用于在大规模项-项上进行嵌入学习 图形。 表 5 显示了匹配 [104] 中首先过滤有希望的邻居然后采用嵌入传播的 GNN 模型之间的共性和差异。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值