AiPaper
论文状态:已完成

Neural Graph Collaborative Filtering

发表:2019/05/20
原文链接PDF 下载
价格:0.10
价格:0.10
已有 3 人读过
本分析由 AI 生成,可能不完全准确,请以原文为准。

TL;DR 精炼摘要

本文提出了一种新的推荐框架——神经图协同过滤(NGCF),通过在用户-项目图中传播嵌入,克服传统方法未能有效编码用户-项目交互中的协同信号的问题。NGCF在多个基准数据集上取得了显著的改善,验证了其高阶连接性建模的有效性。

摘要

Learning vector representations (aka. embeddings) of users and items lies at the core of modern recommender systems. Ranging from early matrix factorization to recently emerged deep learning based methods, existing efforts typically obtain a user's (or an item's) embedding by mapping from pre-existing features that describe the user (or the item), such as ID and attributes. We argue that an inherent drawback of such methods is that, the collaborative signal, which is latent in user-item interactions, is not encoded in the embedding process. As such, the resultant embeddings may not be sufficient to capture the collaborative filtering effect. In this work, we propose to integrate the user-item interactions -- more specifically the bipartite graph structure -- into the embedding process. We develop a new recommendation framework Neural Graph Collaborative Filtering (NGCF), which exploits the user-item graph structure by propagating embeddings on it. This leads to the expressive modeling of high-order connectivity in user-item graph, effectively injecting the collaborative signal into the embedding process in an explicit manner. We conduct extensive experiments on three public benchmarks, demonstrating significant improvements over several state-of-the-art models like HOP-Rec and Collaborative Memory Network. Further analysis verifies the importance of embedding propagation for learning better user and item representations, justifying the rationality and effectiveness of NGCF. Codes are available at https://github.com/xiangwang1223/neural_graph_collaborative_filtering.

思维导图

论文精读

中文精读

1. 论文基本信息

1.1. 标题

Neural Graph Collaborative Filtering (神经图协同过滤)

1.2. 作者

  • Xiang Wang (王翔)

  • Meng Wang (王萌)

  • Xiangnan He (何向南)

  • Fuli Feng (冯富力)

  • Tat-Seng Chua (蔡德圣)

    作者们主要来自新加坡国立大学 (National University of Singapore) 和中国科学技术大学 (University of Science and Technology of China),其中何向南教授是推荐系统领域的知名学者。

1.3. 发表期刊/会议

Proceedings of the 42nd International ACM SIGIR Conference on Research and Development in Information Retrieval (SIGIR '19), July 21–25, 2019, Paris, France.

SIGIR 是信息检索领域的顶级会议,具有很高的学术声誉和影响力。在该会议上发表的论文通常代表了该领域的最新和最重要的研究成果。

1.4. 发表年份

2019年 (Published at UTC:2019-05-20T13:41:16.000Z)

1.5. 摘要

现代推荐系统的核心在于学习用户和项目的向量表示(即嵌入 (embeddings))。从早期的矩阵分解 (Matrix Factorization, MF) 到近期基于深度学习 (deep learning) 的方法,现有工作通常通过映射描述用户或项目的预存特征(如 ID 和属性)来获取用户(或项目)的嵌入。然而,本文作者指出,这些方法的一个固有缺点是,协同信号 (collaborative signal)(隐藏在用户-项目交互中)没有被明确地编码到嵌入过程中。因此,所得到的嵌入可能不足以捕捉协同过滤 (collaborative filtering, CF) 效应。

为了解决这个问题,本研究提出将用户-项目交互,更具体地说是二分图结构 (bipartite graph structure),整合到嵌入过程中。作者开发了一种新的推荐框架——神经图协同过滤 (Neural Graph Collaborative Filtering, NGCF),它通过在用户-项目图上传播嵌入 (propagating embeddings) 来利用图结构。这种方法能够有效地建模 (modeling) 用户-项目图中的高阶连接性 (high-order connectivity),从而以明确的方式将协同信号 (collaborative signal) 注入嵌入过程。作者在三个公开基准数据集 (public benchmarks) 上进行了广泛实验,结果表明 NGCF 在多个最先进的 (state-of-the-art) 模型(如 HOP-Rec 和 Collaborative Memory Network)上取得了显著改进。进一步的分析验证了嵌入传播 (embedding propagation) 对于学习更好的用户和项目表示的重要性,从而证明了 NGCF 的合理性和有效性。

1.6. 原文链接

https://arxiv.org/abs/1905.08108 https://arxiv.org/pdf/1905.08108v2.pdf

2. 整体概括

2.1. 研究背景与动机

推荐系统在电子商务、广告、社交媒体等在线服务中无处不在,其核心是预测用户对项目的偏好。协同过滤 (CF) 是推荐系统的基石,它假设行为相似的用户会对项目表现出相似的偏好。传统的模型驱动 (model-based) CF 方法,如矩阵分解 (MF) 和基于深度学习 (deep learning) 的模型,通常通过学习用户和项目的向量表示 (vector representations)(即嵌入 (embeddings))来参数化用户和项目,并通过一个交互函数 (interaction function) 来重建历史交互并预测偏好。

然而,本文指出,这些方法的嵌入函数 (embedding function) 存在一个固有缺陷:它们通常只根据用户或项目的描述性特征(如 ID 和属性)来生成嵌入,而协同信号 (collaborative signal)(即用户-项目交互中蕴含的深层关联信息)并没有被明确地编码到嵌入过程中。用户-项目交互虽然用于定义目标函数 (objective function) 以进行模型训练,但并未直接影响嵌入本身的生成方式。这导致嵌入可能无法充分捕捉到协同过滤 (CF) 效应,使得模型不得不过度依赖交互函数 (interaction function) 来弥补嵌入的不足。

论文的核心问题是:如何将用户-项目交互中隐含的协同信号 (collaborative signal),特别是高阶连接性 (high-order connectivity) 信息,显式地融入到用户和项目嵌入的学习过程中,从而获得更具表现力的嵌入,提升推荐性能?

2.2. 核心贡献/主要发现

本文通过提出神经图协同过滤 (NGCF) 框架,解决了上述问题,其主要贡献和发现包括:

  • 强调协同信号 (collaborative signal) 的重要性: 明确指出在模型驱动 (model-based) 协同过滤 (CF) 方法中,嵌入函数 (embedding function) 显式利用协同信号的关键作用。
  • 提出 NGCF 框架: 设计了一个基于图神经网络 (Graph Neural Network, GNN) 的新推荐框架 NGCF。该框架通过在用户-项目交互图上执行嵌入传播 (embedding propagation),以高阶连接性 (high-order connectivity) 的形式明确编码协同信号。这意味着用户和项目的嵌入不再是孤立生成的,而是通过图结构从其邻居那里接收并聚合信息来不断细化 (refine)
  • 有效建模 (modeling) 高阶连接性 NGCF 通过堆叠 (stacking) 多个嵌入传播层 (embedding propagation layers),能够建模图中的高阶连接性,从而捕捉到更深层次的用户和项目之间的关系。例如,它能捕捉到“与我相似的用户喜欢的产品”这类间接的协同信号
  • 最先进的 (state-of-the-art) 性能: 在三个百万级别公开基准数据集 (public benchmarks) 上的广泛实验表明,NGCF召回率 (Recall)归一化折扣累积增益 (NDCG) 等指标上显著优于多个最先进的 (state-of-the-art) 基线模型 (baselines),包括 HOP-Rec 和 Collaborative Memory Network。
  • 验证嵌入传播 (embedding propagation) 的有效性: 实验分析进一步证明了嵌入传播对于学习更好的用户和项目表示的重要性,从而为 NGCF 的设计理念提供了坚实的经验支持。通过可视化嵌入空间,展示了NGCF 学习到的嵌入能够更好地将相关用户和项目聚集在一起。

3. 预备知识与相关工作

3.1. 基础概念

为了更好地理解 NGCF 的工作原理,需要了解以下几个核心概念:

  • 协同过滤 (Collaborative Filtering, CF):

    • 概念定义: 协同过滤是推荐系统中最流行和成功的方法之一。它的基本思想是“物以类聚,人以群分”,即如果两个用户在过去对某些项目的偏好相似,那么他们未来可能对其他项目也有相似的偏好;或者如果两个项目被相似的用户群体所喜欢,那么它们可能本身也是相似的。CF 利用用户-项目交互数据(如购买、点击、评分等)来发现这些模式并进行推荐。
    • 目的: 预测用户对未交互项目的偏好,从而向用户推荐他们可能感兴趣的项目。
    • 分类: CF 通常分为基于内存 (memory-based) 的方法(如近邻算法 (neighborhood-based algorithms))和基于模型 (model-based) 的方法(如矩阵分解 (Matrix Factorization))。
  • 嵌入 (Embeddings):

    • 概念定义: 嵌入是将高维的、离散的实体(如用户 ID、项目 ID、词语等)映射到低维、连续的向量空间 (vector space) 的技术。在推荐系统 (recommender systems) 中,每个用户和每个项目都被表示为一个固定长度的实数向量 (real-valued vector),这些向量被称为用户嵌入和项目嵌入
    • 目的: 嵌入能够捕捉实体之间的语义和关系信息,使得在向量空间中,语义相似的实体彼此靠近。例如,两个嵌入向量 (embedding vectors) 之间的内积 (inner product)余弦相似度 (cosine similarity) 可以用来衡量用户对项目的兴趣或用户之间的相似性。
    • 学习方式: 嵌入通常作为模型参数的一部分,通过端到端 (end-to-end) 的方式,在优化特定目标函数 (objective function) 的过程中学习得到。
  • 图神经网络 (Graph Neural Networks, GNNs):

    • 概念定义: 图神经网络是一类专门设计用于处理图结构数据 (graph-structured data)神经网络 (neural networks)节点 (nodes)(或顶点 (vertices))和连接这些节点边 (edges) 组成。GNN 的核心思想是通过消息传递 (message passing)邻居聚合 (neighbor aggregation) 机制,迭代地更新节点表示 (representations)。每个节点表示被更新为其自身旧表示和其邻居 (neighbors) 表示的聚合结果。
    • 目的: 学习图结构数据节点有意义的表示 (meaningful representations),捕捉中的结构信息 (structural information)特征信息 (feature information)
    • 应用: GNN 已在社交网络分析、化学分子建模、推荐系统等领域取得巨大成功。
  • 矩阵分解 (Matrix Factorization, MF):

    • 概念定义: 矩阵分解是一种经典的协同过滤技术。它将用户-项目交互矩阵分解为两个低秩矩阵:一个用户嵌入矩阵 (user embedding matrix) 和一个项目嵌入矩阵 (item embedding matrix)。每个用户和项目都对应一个隐因子向量 (latent factor vector)
    • 目的: 通过用户嵌入项目嵌入内积 (inner product) 来近似用户对项目的评分或交互概率。
    • 公式(简化版): 给定一个用户 uu 和一个项目 ii,其预测评分 r^ui\hat{r}_{ui} 通常表示为: r^ui=puqi \hat{r}_{ui} = \mathbf{p}_u^\top \mathbf{q}_i 其中,puRd\mathbf{p}_u \in \mathbb{R}^d 是用户 uu隐因子向量qiRd\mathbf{q}_i \in \mathbb{R}^d 是项目 ii隐因子向量dd隐因子 (latent factor) 的维度。模型通过最小化预测评分与真实评分之间的误差来学习 pu\mathbf{p}_uqi\mathbf{q}_i
  • 贝叶斯个性化排序 (Bayesian Personalized Ranking, BPR):

    • 概念定义: BPR 是一种针对隐式反馈 (implicit feedback)(如点击、购买,而非明确评分)的优化准则 (optimization criterion)。它假设用户更偏好那些他们有过交互的项目,而不是那些他们没有交互过的项目。BPR目标函数 (objective function) 旨在最大化观察到的用户-项目对的预测值高于未观察到的用户-项目对的预测值的概率。
    • 目的: 优化推荐模型 (recommender models),使其能够对用户偏好的项目进行更好的排序。
    • 损失函数: BPR损失函数 (loss function) 通常形式为: Loss=(u,i,j)Olnσ(y^uiy^uj)+λΘ22 Loss = \sum_{(u, i, j) \in O} -\ln \sigma(\hat{y}_{ui} - \hat{y}_{uj}) + \lambda \|\Theta\|_2^2 其中,OO成对训练数据 (pairwise training data) 的集合,包含三元组 (triplets) (u, i, j),表示用户 uu 偏好项目 ii 胜过项目 jjy^ui\hat{y}_{ui} 是模型对用户 uu 和项目 ii 之间交互的预测得分,σ()\sigma(\cdot)Sigmoid 函数 (sigmoid function)λ\lambda正则化强度 (regularization strength)Θ22\|\Theta\|_2^2 是模型参数的 L2L_2正则化项 (regularization term),用于防止过拟合 (overfitting)

3.2. 前人工作

论文在 3 RELATED WORK 中回顾了三类与 NGCF 最相关的现有工作:基于模型的协同过滤 (Model-based CF)基于图的协同过滤 (Graph-based CF)图卷积网络 (Graph Convolutional Networks)

  • 基于模型的协同过滤 (Model-based CF) 及其局限性:

    • 矩阵分解 (MF) [20, 26]: 最基础的模型驱动 (model-based) CF,将用户和项目 ID 映射为嵌入向量 (embedding vectors),并通过内积 (inner product) 预测交互。
    • 结合辅助信息 (side information)MFcollaborative deep learning [30] 整合项目富侧信息 (rich side information)深度表示 (deep representations);通过社交关系 (social relations) [34]、项目关系 (item relations) [37]、用户评论 (user reviews) [3]、外部知识图谱 (external knowledge graph) [32, 35] 等增强嵌入函数 (embedding function)
    • 增强交互函数 (interaction function) 的方法: NeuMF [14] 使用非线性神经网络 (nonlinear neural networks) 替代内积LRML [28] 使用欧几里得距离 (Euclidean distance) 作为交互函数
    • 本文的批判: 尽管这些方法有效,但嵌入函数通常只依赖于描述性特征(ID、属性),协同信号 (collaborative signal) 没有被显式编码到嵌入过程中,导致嵌入本身不足以捕捉 CF 效应。间接连接 (indirectly connected) 的用户和项目在嵌入空间 (embedding space) 中不一定接近,无法保证行为相似性 (behavior similarity)传递性 (transitivity)
  • 基于图的协同过滤 (Graph-based CF):

    • 早期方法 (如 ItemRank [7], BiRank [12]): 采用标签传播 (label propagation) 的思想,将用户的已交互项目作为标签 (labels),在图上传播以预测评分。这类方法本质上是基于邻居 (neighbor-based) 的,通过结构可达性 (structural reachness) 来衡量相似性。
    • HOP-Rec [40]: 近期的最先进的 (state-of-the-art) 方法,通过随机游走 (random walks) 丰富 (enrich) 用户的多跳连接 (multi-hop connected) 项目交互数据,然后使用增强 (augmented) 的数据训练 MF 模型。
    • 本文的差异化分析: HOP-Rec 虽考虑了高阶连接性 (high-order connectivity),但仅用于丰富训练数据 (enriching training data),并未直接将其融入预测模型 (prediction model)嵌入函数 (embedding function) 中。且其性能依赖于随机游走超参数 (hyper-parameters) 调优。NGCF 则将高阶连接性直接集成到嵌入函数中。
  • 图卷积网络 (Graph Convolutional Networks, GCNs) 在推荐中的应用:

    • GC-MC [29]:GCN 应用于用户-项目图,但只使用一个卷积层 (one convolutional layer),仅利用用户和项目之间的直接连接 (direct connections)(一阶邻居),无法捕捉高阶连接性
    • PinSage [42]: 工业界解决方案,在项目-项目图 (item-item graph) 上使用多层图卷积 (graph convolution),捕捉的是项目层面而非用户行为层面的CF 效应。
    • SpectralCF [43]: 提出谱卷积操作 (spectral convolution operation) 来发现谱域 (spectral domain) 中用户和项目间的所有可能连接。
    • 本文的差异化分析: NGCF 通过专门设计的图卷积操作 (graph convolution operation)(即嵌入传播层 (embedding propagation layer))来利用高阶连接性中的CF信号 (CF signal)。与 GC-MC 相比,NGCF 堆叠多层以捕捉高阶连接性;与 PinSage 相比,NGCF 直接作用于用户-项目二分图并捕捉用户行为层面的CF 效应;与 SpectralCF 相比,NGCF矩阵形式 (matrix form) 传播规则避免了特征分解 (eigen-decomposition) 的高计算复杂度,更适合大规模推荐场景。

3.3. 技术演进

推荐系统 (recommender systems)模型驱动 (model-based) 方法经历了从线性模型 (linear models)非线性模型 (nonlinear models),以及从独立特征处理 (independent feature processing)结构化数据利用 (structured data utilization) 的演进。

  1. 矩阵分解 (MF) 时代 (2000s - 2010s):MF 为代表,将用户和项目映射到低维隐空间 (low-dimensional latent space),通过内积 (inner product) 预测交互。这是嵌入 (embeddings) 概念的早期体现。

  2. 深度学习 (deep learning) 引入 (2010s - 至今):

    • 增强嵌入函数 (embedding function): 引入侧信息 (side information)(如文本、图像、社交网络)的深度学习表示 (deep learning representations)丰富嵌入 (enrich embeddings),如 collaborative deep learning
    • 增强交互函数 (interaction function): 神经网络 (neural networks) 被用于建模 (modeling) 用户嵌入和项目嵌入之间的非线性交互 (nonlinear interactions),如 NeuMF 替代内积
  3. 图神经网络 (GNN) 崛起 (2017 - 至今): 认识到推荐系统用户-项目交互本身就是一个图结构 (graph structure)GNN 提供了一种自然的方式来建模图上的依赖关系 (dependencies)。早期的GCN 方法如 GC-MC 尝试利用图结构,但多局限于一阶邻居 (first-order neighbors)

    NGCF 正是建立在这一演进链条之上,它继承了深度学习表示学习 (representation learning) 能力,并结合了GNN图结构建模 (graph structure modeling) 优势,特别地,它超越了一阶邻居的限制,首次将高阶连接性 (high-order connectivity) 显式且有效地注入到嵌入函数中,从而弥补了以往模型驱动 CF 方法在协同信号 (collaborative signal) 利用上的不足。

3.4. 差异化分析

NGCF 与现有工作的主要差异和创新点体现在以下几个方面:

  1. 协同信号 (collaborative signal) 的显式编码:

    • 现有问题: 大多数模型驱动 (model-based) CF 方法(如 MFNeuMF)的嵌入函数 (embedding function) 仅根据 ID 或属性生成嵌入 (embeddings)协同信号主要通过交互函数 (interaction function)损失函数 (loss function) 间接体现。这导致嵌入本身缺乏协同信息
    • NGCF 创新点: NGCF 通过嵌入传播层 (embedding propagation layer),直接将用户-项目交互图 (interaction graph) 中的协同信号(特别是高阶连接性 (high-order connectivity))显式地注入到用户和项目的嵌入学习 (embedding learning) 过程中。
  2. 高阶连接性 (high-order connectivity)建模 (modeling) 方式:

    • HOP-Rec 的方法: HOP-Rec 同样关注高阶连接性,但它通过随机游走 (random walks)丰富训练数据 (enrich training data),然后用传统 MF增强 (augmented) 数据上训练。高阶连接性并未直接影响预测模型 (prediction model)嵌入函数
    • NGCF 的方法: NGCF高阶连接性作为嵌入函数本身的一部分进行建模。通过堆叠 (stacking) 多层嵌入传播层NGCF 允许嵌入用户-项目二分图 (user-item bipartite graph) 上递归地聚合 (aggregate) 多跳邻居 (multi-hop neighbors) 的信息,从而直接在嵌入中编码高阶协同信号
  3. 图卷积网络 (GNN) 的应用深度和特性:

    • GC-MC 的局限: GC-MC 虽然也使用 GCN,但仅限于单层卷积 (single convolutional layer),只能利用一阶邻居 (first-order neighbors) 信息,无法捕捉高阶协同信号
    • PinSage 的侧重: PinSage 侧重于项目-项目图 (item-item graph) 上的卷积 (convolution),主要捕捉项目关系 (item relations),而非用户集体行为 (collective user behaviors)
    • NGCF 的优势: NGCF 专门设计了适用于用户-项目二分图 (bipartite graph)嵌入传播层,并通过堆叠多层来建模高阶连接性。更重要的是,NGCF消息构建 (message construction) 阶段加入了用户-项目嵌入之间的交互项 (interaction term)(即 eieu\mathbf{e}_i \odot \mathbf{e}_u),使得传播 (propagation)消息 (message) 依赖于亲和力 (affinity),从而增强了模型的表示能力 (model representation ability)。此外,NGCF 采用了层聚合机制 (layer-aggregation mechanism),将不同传播层 (propagation layers)输出嵌入 (output embeddings) 进行拼接 (concatenation),以捕捉不同阶连接性 (orders of connectivity) 的信息。
  4. 计算效率:

    • SpectralCF 的问题: SpectralCF 虽然能够发现谱域 (spectral domain) 中的连接,但其特征分解 (eigen-decomposition) 的计算成本高昂,难以支持大规模推荐场景。

    • NGCF 的优化: NGCF矩阵形式 (matrix form) 传播规则设计允许高效的批处理实现 (batch implementation),避免了节点采样 (node sampling) 等复杂过程,使其在大规模图上仍具有可行性。

      综上,NGCF 的核心创新在于其嵌入函数能够显式地、多层次地从用户-项目交互图捕获 (capture) 高阶协同信号,从而学习到更具信息量和协同感知 (collaborative-aware) 的用户和项目嵌入,显著提升了推荐性能。

4. 方法论

4.1. 方法原理

NGCF 的核心思想是,用户和项目的向量表示 (vector representations)嵌入 (embeddings))不应该仅仅通过它们的 ID 或属性来初始化,而应该通过用户-项目交互图 (user-item interaction graph) 中的消息传递 (message passing)嵌入传播 (embedding propagation) 机制来细化 (refine)。这种传播 (propagation) 允许用户嵌入和项目嵌入相互聚合 (aggregate)邻居 (neighbors) 的信息,从而显式地将协同信号 (collaborative signal) 编码到嵌入中。

具体来说,NGCF 认为,一个用户对一个项目的兴趣,不仅受他们之间直接交互 (direct interactions) 的影响,更受高阶连接性 (high-order connectivity) 的影响。例如,用户 u1u_1 喜欢项目 i2i_2,而项目 i2i_2 又被用户 u2u_2 喜欢,同时用户 u2u_2 又喜欢项目 i4i_4。那么,用户 u1u_1 很有可能也会喜欢项目 i4i_4。这种“用户 u1u_1 通过 i2i_2 认识 u2u_2,再通过 u2u_2 发现 i4i_4”的路径就是一种高阶连接性,它蕴含了重要的协同信号

NGCF 通过堆叠 (stacking) 多个嵌入传播层 (embedding propagation layers)建模 (modeling) 这种高阶连接性。每一层都将当前嵌入作为输入,并通过消息构建 (message construction)消息聚合 (message aggregation) 两个步骤,从一跳邻居 (one-hop neighbors) 收集信息来更新嵌入。当多层堆叠时,嵌入就能够有效地整合 (integrate) 多跳邻居 (multi-hop neighbors) 的信息,从而捕捉到高阶连接性中蕴含的协同信号

最终,所有传播层 (propagation layers) 生成的嵌入会被拼接 (concatenate) 起来,形成用户和项目的最终表示 (representations),并用于预测用户对项目的偏好。整个过程是端到端 (end-to-end) 可训练的,通过优化贝叶斯个性化排序 (BPR) 损失函数 (loss function) 来学习模型参数。

4.2. 核心方法详解 (NGCF架构)

NGCF 模型架构主要包含三个组件:嵌入层 (embedding layer)、多个嵌入传播层 (embedding propagation layers)预测层 (prediction layer)。整个架构的示意图如下所示:

Figure 2: An illustration of NGCF model architecture (the arrowed lines present the flow of information). The representations of user `u _ { 1 }` (left) and item `i _ { 4 }` (right) are refined with multiple embedding propagation layers, whose outputs are concatenated to make the final prediction.
该图像是示意图,展示了NGCF模型架构。左侧表示用户u1u_{1}的表示,右侧表示项目i4i_{4}的表示。通过多个嵌入传播层对这两者的表示进行细化,最终输出结果通过连接层合并,形成预测。图中箭头表示信息流动,嵌入传播层的深度对应于不同的层指数ll (如l=1,2,3l=1, 2, 3),并展示了嵌入的传递过程。

Figure 2: An illustration of NGCF model architecture (the arrowed lines present the flow of information). The representations of user u _ { 1 } (left) and item i _ { 4 } (right) are refined with multiple embedding propagation layers, whose outputs are concatenated to make the final prediction.

4.2.1. 嵌入层 (Embedding Layer)

  • 概念定义: 嵌入层NGCF 模型的第一部分,它为每个用户和项目提供一个初始的向量表示 (vector representation),即嵌入 (embedding)
  • 工作原理: 遵循主流推荐模型 (recommender models) 的做法,用户 uu 被表示为一个嵌入向量 euRd\mathbf{e}_u \in \mathbb{R}^d,项目 ii 被表示为一个嵌入向量 eiRd\mathbf{e}_i \in \mathbb{R}^d,其中 dd嵌入 (embedding) 的大小。这可以看作是建立一个参数矩阵 (parameter matrix) 作为嵌入查找表 (embedding look-up table)E=[eu1,,euN,ei1,,eiM] \mathbf{E} = [ \mathbf{e}_{u_1}, \cdot \cdot \cdot, \mathbf{e}_{u_N}, \mathbf{e}_{i_1}, \cdot \cdot \cdot, \mathbf{e}_{i_M} ] 其中,NN 是用户总数,MM 是项目总数。
  • 与其他模型的区别: 在传统的矩阵分解 (MF)神经协同过滤 (neural collaborative filtering) 模型中,这些初始的 ID 嵌入会直接送入交互层 (interaction layer)(或算子 (operator))进行预测。然而,在 NGCF 框架中,这些初始嵌入仅仅是起点 (initial state)。它们会通过后续的嵌入传播层在用户-项目交互图 (interaction graph) 上进行细化 (refine),从而显式地将协同信号 (collaborative signal) 注入嵌入中,得到更有效的嵌入用于推荐。

4.2.2. 嵌入传播层 (Embedding Propagation Layers)

嵌入传播层NGCF 的核心,它基于图神经网络 (GNN)消息传递 (message-passing) 架构,旨在捕捉协同过滤 (CF) 信号 (signal)细化 (refine) 用户和项目的嵌入。这层通过消息构建 (message construction)消息聚合 (message aggregation) 两个主要操作实现嵌入传播 (propagation)

消息构建 (Message Construction)

  • 概念定义: 消息构建定义了在用户-项目二分图 (bipartite graph) 中,一个节点(用户或项目)如何为其邻居 (neighbors) 生成消息 (message)

  • 工作原理: 对于一个已连接的用户-项目对 (u, i),从项目 ii 到用户 uu 传递的消息 mui\mathbf{m}_{u \leftarrow i} 被定义为: mui=f(ei,eu,ϕui) \mathbf{m}_{u \leftarrow i} = f(\mathbf{e}_i, \mathbf{e}_u, \phi_{ui}) 其中,mui\mathbf{m}_{u \leftarrow i} 是要传播 (propagated)消息嵌入 (message embedding)f()f(\cdot)消息编码函数 (message encoding function),它以项目嵌入 ei\mathbf{e}_i 和用户嵌入 eu\mathbf{e}_u 作为输入,并使用系数 (coefficient) ϕui\phi_{ui} 来控制每次传播 (propagation) 沿边 (u, i)衰减因子 (decay factor)

    本文中,f()f(\cdot) 的具体实现如下: mui=1NuNi(W1ei+W2(eieu)) \mathbf{m}_{u \leftarrow i} = \frac{1}{\sqrt{\lvert N_u \rvert \lvert N_i \rvert}} \left( \mathbf{W}_1 \mathbf{e}_i + \mathbf{W}_2 (\mathbf{e}_i \odot \mathbf{e}_u) \right)

    • 符号解释:

      • mui\mathbf{m}_{u \leftarrow i}: 从项目 ii 传递给用户 uu消息嵌入
      • ei,eu\mathbf{e}_i, \mathbf{e}_u: 分别是项目 ii 和用户 uu嵌入向量 (embedding vectors)
      • W1,W2Rd×d\mathbf{W}_1, \mathbf{W}_2 \in \mathbb{R}^{d' \times d}: 是可训练的权重矩阵 (trainable weight matrices),用于从嵌入中提取有用信息进行传播
      • dd': 是变换大小 (transformation size)
      • \odot: 表示元素级乘积 (element-wise product)(即哈达玛积 (Hadamard product)),它捕捉了项目嵌入 ei\mathbf{e}_i 和用户嵌入 eu\mathbf{e}_u 之间的交互 (interaction)亲和力 (affinity)
      • NuN_u: 表示用户 uu一跳邻居 (first-hop neighbors)(即用户 uu 交互过的项目集合)。
      • NiN_i: 表示项目 ii一跳邻居(即交互过项目 ii 的用户集合)。
      • 1NuNi\frac{1}{\sqrt{\lvert N_u \rvert \lvert N_i \rvert}}: 这个系数 ϕui\phi_{ui} 被设定为图拉普拉斯范数 (graph Laplacian norm),它作为衰减因子,考虑了消息传播 (message propagation) 过程中路径长度 (path length)衰减 (decay)。从表示学习 (representation learning) 的角度看,它反映了历史项目对用户偏好的贡献程度。
    • 创新点: 与传统的图卷积网络 (graph convolutional networks) [4, 18, 29, 42] 仅考虑 ei\mathbf{e}_i 的贡献不同,NGCF 额外编码了 ei\mathbf{e}_ieu\mathbf{e}_u 之间的交互 (interaction)(通过 eieu\mathbf{e}_i \odot \mathbf{e}_u),使得消息 (message)传递 (passing) 依赖于它们之间的亲和力 (affinity),即从相似项目传递更多消息。这不仅提高了模型的表示能力 (model representation ability),也提升了推荐性能。

消息聚合 (Message Aggregation)

  • 概念定义: 消息聚合是将一个节点从其邻居 (neighbors) 接收到的所有消息 (messages) 组合起来,以细化 (refine) 该节点的表示 (representation)
  • 工作原理:消息聚合阶段,用户 uu聚合 (aggregate) 从其邻居 (neighborhood) 传播来的消息 (messages),以细化 (refine) 自己的表示 (representation)。具体而言,聚合函数 (aggregation function) 定义为: eu(1)=LeakyReLU(muu+iNumui) \mathbf{e}_u^{(1)} = \mathrm{LeakyReLU} \left( \mathbf{m}_{u \leftarrow u} + \sum_{i \in N_u} \mathbf{m}_{u \leftarrow i} \right)
    • 符号解释:

      • eu(1)\mathbf{e}_u^{(1)}: 表示经过第一个嵌入传播层 (embedding propagation layer) 后获得的用户 uu表示
      • LeakyReLU()\mathrm{LeakyReLU}(\cdot): 是一种激活函数 (activation function) [23],允许消息 (messages) 编码正向和小的负向信号 (signals)
      • muu\mathbf{m}_{u \leftarrow u}: 表示用户 uu自连接 (self-connection) 消息,即用户 uu 自身的初始嵌入 (initial embedding) 信息。其定义为 muu=W1eu\mathbf{m}_{u \leftarrow u} = \mathbf{W}_1 \mathbf{e}_u,其中 W1\mathbf{W}_1 是与消息构建中共享的权重矩阵 (weight matrix)。这确保了原始特征 (original features) 的信息在传播过程中得以保留。
      • iNumui\sum_{i \in N_u} \mathbf{m}_{u \leftarrow i}: 表示用户 uu 从其邻居项目 iNui \in N_u 接收到的所有消息的总和。
    • 作用: 这个聚合过程显式地利用了一阶连接性 (first-order connectivity) 信息,将用户和项目表示关联起来。对于项目 ii表示 ei(1)\mathbf{e}_i^{(1)} 也可以通过类似的方式获得。

高阶传播 (High-order Propagation)

  • 概念定义: 高阶传播是指通过堆叠 (stacking) 多个嵌入传播层 (embedding propagation layers)建模 (modeling) 用户-项目交互图 (user-item interaction graph) 中的高阶连接性 (high-order connectivity)
  • 工作原理: NGCF 的关键在于堆叠 (stacking) LL嵌入传播层。通过这种方式,用户(和项目)能够接收来自其 LL邻居 (neighbors) 传播过来的消息 (messages)。在第 ll 步 (ll-th step) 中,用户 uu表示 (representation) 递归地表示为: eu(l)=LeakyReLU(muu(l)+iNumui(l)) \mathbf{e}_u^{(l)} = \mathrm{LeakyReLU} \left( \mathbf{m}_{u \leftarrow u}^{(l)} + \sum_{i \in \mathcal{N}_u} \mathbf{m}_{u \leftarrow i}^{(l)} \right) 其中,传播 (propagated)消息 (messages) 定义如下: {mui(l)=ϕui(W1(l)ei(l1)+W2(l)(ei(l1)eu(l1))),muu(l)=W1(l)eu(l1), \begin{array}{r l} & \{ \mathbf{m}_{u \leftarrow i}^{(l)} = \phi_{ui} (\mathbf{W}_1^{(l)} \mathbf{e}_i^{(l-1)} + \mathbf{W}_2^{(l)} (\mathbf{e}_i^{(l-1)} \odot \mathbf{e}_u^{(l-1)})), \\ & \mathbf{m}_{u \leftarrow u}^{(l)} = \mathbf{W}_1^{(l)} \mathbf{e}_u^{(l-1)}, \end{array}
    • 符号解释:

      • eu(l)\mathbf{e}_u^{(l)}: 经过第 ll嵌入传播层后获得的用户 uu表示
      • mui(l)\mathbf{m}_{u \leftarrow i}^{(l)}: 在第 ll 层从项目 ii 传递给用户 uu消息嵌入 (message embedding)
      • muu(l)\mathbf{m}_{u \leftarrow u}^{(l)}: 在第 ll 层用户 uu自连接 (self-connection) 消息
      • W1(l),W2(l)Rdl×dl1\mathbf{W}_1^{(l)}, \mathbf{W}_2^{(l)} \in \mathbb{R}^{d_l \times d_{l-1}}: 是第 ll 层的可训练变换矩阵 (transformation matrices),其中 dld_l变换大小 (transformation size)
      • ei(l1)\mathbf{e}_i^{(l-1)}: 是从前一步消息传递 (message-passing) 获得的项目表示 (item representation),它记忆了来自其 (l-1)邻居 (neighbors)消息
      • eu(l1)\mathbf{e}_u^{(l-1)}: 是从前一步消息传递获得的用户表示
      • ϕui\phi_{ui}: 如前所述,为图拉普拉斯范数 (graph Laplacian norm) 1/NuNi1 / \sqrt{\lvert N_u \rvert \lvert N_i \rvert}
    • 作用: 通过这种递归定义,高阶连接性(例如 u1 → i2 → u2 → i4)中的协同信号 (collaborative signal) 可以在嵌入传播过程中被捕捉到。堆叠 (stacking) 多个嵌入传播层能够无缝地 (seamlessly)协同信号注入表示学习 (representation learning) 过程。

矩阵形式的传播规则 (Propagation Rule in Matrix Form)

  • 概念定义: 为了提供一个整体视角并便于批量实现 (batch implementation)NGCF层间传播规则 (layer-wise propagation rule) 表示为矩阵形式 (matrix form)
  • 工作原理: 层间传播规则矩阵形式等效于上述公式 (5) 和 (6): E(l)=LeakyReLU((L+I)E(l1)W1(l)+L(E(l1)E(l1))W2(l)) \mathbf{E}^{(l)} = \mathrm{LeakyReLU} \left( (\mathscr{L} + \mathbf{I}) \mathbf{E}^{(l-1)} \mathbf{W}_1^{(l)} + \mathscr{L} (\mathbf{E}^{(l-1)} \odot \mathbf{E}^{(l-1)}) \mathbf{W}_2^{(l)} \right)
    • 符号解释:

      • E(l)R(N+M)×dl\mathbf{E}^{(l)} \in \mathbb{R}^{(N+M) \times d_l}: 是经过 ll嵌入传播 (embedding propagation) 后获得的所有用户和项目的表示矩阵 (representation matrix)
      • E(0)\mathbf{E}^{(0)}: 被初始化为嵌入层中的初始嵌入矩阵 (initial embedding matrix) E\mathbf{E},即 eu(0)=eu\mathbf{e}_u^{(0)} = \mathbf{e}_uei(0)=ei\mathbf{e}_i^{(0)} = \mathbf{e}_i
      • I\mathbf{I}: 是单位矩阵 (identity matrix)
      • L\mathscr{L}: 表示用户-项目图的拉普拉斯矩阵 (Laplacian matrix),其构造 (formulated) 如下: L=D12AD12 and A=[0RR0], \begin{array}{r} { \mathcal { L } = \mathbf { D } ^ { - \frac { 1 } { 2 } } \mathbf { A } \mathbf { D } ^ { - \frac { 1 } { 2 } } \ \mathrm { and } \ \mathbf { A } = \left[ \begin{array} { c c } { 0 } & { \mathbf { R } } \\ { \mathbf { R } ^ { \top } } & { 0 } \end{array} \right] , } \end{array} 其中,RRN×M\mathbf{R} \in \mathbb{R}^{N \times M} 是用户-项目交互矩阵 (interaction matrix)0全零矩阵 (all-zero matrix)A\mathbf{A}邻接矩阵 (adjacency matrix)D\mathbf{D}对角度矩阵 (diagonal degree matrix),其中第 tt 个对角元素 Dtt=NtD_{tt} = \lvert N_t \rvert(即节点 tt度 (degree))。因此,非零的非对角元素 (nonzero off-diagonal entry) Lui=1/NuNi\mathscr{L}_{ui} = 1 / \sqrt{\lvert N_u \rvert \lvert N_i \rvert},这与消息构建中使用的 ϕui\phi_{ui} 一致 (equal)
      • W1(l),W2(l)\mathbf{W}_1^{(l)}, \mathbf{W}_2^{(l)}: 如前所述,是第 ll 层的可训练变换矩阵 (transformation matrices)
      • \odot: 仍表示元素级乘积 (element-wise product)
    • 作用: 通过实现这种矩阵形式传播规则 (propagation rule),可以以高效的方式同时更新所有用户和项目的表示 (representations)。这使得NGCF 能够避免节点采样 (node sampling) 过程,这对于在大规模图上运行图卷积网络 (graph convolutional network) 通常是必需的。

4.2.3. 模型预测 (Model Prediction)

  • 概念定义: 模型预测是将嵌入传播层 (embedding propagation layers) 产生的多个嵌入 (embeddings) 聚合 (aggregate) 起来,并计算用户对目标项目的最终亲和力得分 (affinity score)

  • 工作原理:LL传播 (propagation) 之后,用户 uu 会得到多个表示 (representations),即 {eu(0),eu(1),,eu(L)}\{ \mathbf{e}_u^{(0)}, \mathbf{e}_u^{(1)}, \dots, \mathbf{e}_u^{(L)} \}。由于不同层 (layers) 中获得的表示强调了不同连接 (connections) 上的消息 (messages),它们对反映用户偏好有不同的贡献。因此,NGCF 将它们拼接 (concatenate) 起来,形成用户的最终嵌入 (final embedding);对项目也执行相同的操作: eu=eu(0)eu(L)ei=ei(0)ei(L) \mathbf{e}_u^* = \mathbf{e}_u^{(0)} \lVert \cdot \cdot \cdot \lVert \mathbf{e}_u^{(L)} \\ \mathbf{e}_i^* = \mathbf{e}_i^{(0)} \lVert \cdot \cdot \cdot \lVert \mathbf{e}_i^{(L)}

    • 符号解释:

      • eu,ei\mathbf{e}_u^*, \mathbf{e}_i^*: 分别是用户 uu 和项目 ii 的最终嵌入
      • \lVert: 是拼接操作 (concatenation operation)
      • eu(0)\mathbf{e}_u^{(0)}ei(0)\mathbf{e}_i^{(0)}: 是嵌入层初始嵌入 (initial embeddings)
    • 作用: 这种拼接 (concatenation) 方法不仅用嵌入传播层 丰富 (enrich)初始嵌入 (initial embeddings),还允许通过调整 LL 来控制传播 (propagation) 的范围。这种层聚合机制 (layer-aggregation mechanism) 简单有效,并且不需要额外的参数学习 (parameters to learn)

  • 最终预测: 最后,通过内积 (inner product) 来估计用户对目标项目的偏好: y^NGCF(u,i)=euei \hat{y}_{\mathrm{NGCF}}(u, i) = \mathbf{e}_u^{* \top} \mathbf{e}_i^*

    • 符号解释:

      • y^NGCF(u,i)\hat{y}_{\mathrm{NGCF}}(u, i): NGCF 模型预测的用户 uu 对项目 ii 的偏好得分。
      • \top: 表示向量转置 (vector transpose)
    • 选择原因: 论文强调,这里仅采用简单的内积作为交互函数 (interaction function),目的是突出嵌入函数 (embedding function) 学习的重要性。更复杂的交互函数 (interaction functions)(如基于神经网络 (neural network-based) 的)可以作为未来的工作进行探索。

4.2.4. 优化 (Optimization)

  • 概念定义: 优化是调整NGCF模型参数的过程,以最小化损失函数 (loss function),从而使模型能够准确预测用户偏好。

  • 工作原理: NGCF 采用贝叶斯个性化排序 (BPR) 损失函数 (loss function) [26] 进行优化 (optimize),这在推荐系统 (recommender systems) 中被广泛使用。BPR 损失 (loss) 考虑了观察到的用户-项目交互与未观察到的交互之间的相对顺序。它假设观察到的交互(更能反映用户偏好)应该比未观察到的交互具有更高的预测值。

  • 目标函数: BPR目标函数 (objective function) 如下: Loss=(u,i,j)Olnσ(y^uiy^uj)+λΘ22 Loss = \sum_{(u, i, j) \in O} -\ln \sigma(\hat{y}_{ui} - \hat{y}_{uj}) + \lambda \|\Theta\|_2^2

    • 符号解释:
      • O={(u,i,j)(u,i)R+,(u,j)R}O = \{ (u, i, j) \mid (u, i) \in \mathcal{R}^+, (u, j) \in \mathcal{R}^- \}: 表示成对训练数据 (pairwise training data) 的集合。
      • R+\mathcal{R}^+: 表示观察到的交互(用户 uu 与项目 ii 有过交互)。
      • R\mathcal{R}^-: 表示未观察到的交互(用户 uu 与项目 jj 没有交互)。
      • σ()\sigma(\cdot): Sigmoid 函数 (sigmoid function)
      • y^ui\hat{y}_{ui}: 模型预测的用户 uu 对项目 ii 的偏好得分。
      • λ\lambda: L2 正则化强度 (L2 regularization strength),用于防止过拟合 (overfitting)
      • Θ22\|\Theta\|_2^2: 模型所有可训练参数的 L2L_2范数 (norm) 平方。
      • Θ={E,{W1(l),W2(l)}l=1L}\Theta = \{ \mathbf{E}, \{ \mathbf{W}_1^{(l)}, \mathbf{W}_2^{(l)} \}_{l=1}^L \}: 包含初始嵌入矩阵 (initial embedding matrix) E\mathbf{E} 和所有嵌入传播层 (embedding propagation layers)权重矩阵 (weight matrices)
  • 优化算法: 论文采用 mini-batch Adam [17] 优化器 (optimizer) 来更新模型参数。具体而言,对于随机采样 (randomly sampled)小批量 (mini-batch) 三元组 (triplets) (u,i,j)O(u, i, j) \in O,首先计算其经过 LL传播 (propagation) 后的表示 (representations) [e(0),,e(L)][ \mathbf{e}^{(0)}, \dots, \mathbf{e}^{(L)} ],然后根据损失函数梯度 (gradients) 更新模型参数。

模型参数量 (Model Size)

  • 概念定义: 模型参数量指的是NGCF模型中需要学习的参数 (parameters) 的数量。
  • 分析: 尽管 NGCF 在每个传播层 (propagation layer) 生成了一个嵌入矩阵 (embedding matrix) E(l)\mathbf{E}^{(l)},但它引入的额外参数 (parameters) 数量非常少。每个传播层只增加了两个权重矩阵 (weight matrices) W1(l)\mathbf{W}_1^{(l)}W2(l)\mathbf{W}_2^{(l)},它们的尺寸为 dl×dl1d_l \times d_{l-1}
  • MF 对比: 相较于矩阵分解 (MF)(最简洁的基于嵌入 (embedding-based) 推荐模型 (recommender model)),NGCF 仅增加了 2Ldldl12L d_l d_{l-1} 个参数。考虑到 LL 通常是一个小于 5 的小数,且 dld_l 通常被设置为嵌入大小 (embedding size)(远小于用户和项目数量),这些额外的参数成本 (additional cost on model parameters) 几乎可以忽略不计。
    • 示例:Gowalla 数据集 (dataset) 上,当嵌入大小 (embedding size) 为 64,使用 3 层 64×6464 \times 64 传播层 (propagation layers) 时,MF 有 450 万个参数,而 NGCF 仅增加了 0.024 万个额外参数。
  • 结论: NGCF 以极少的额外模型参数 (model parameters) 实现了高阶连接性 (high-order connectivity)建模 (modeling)

消息丢弃 (Message Dropout) 和 节点丢弃 (Node Dropout)

  • 概念定义: 丢弃策略 (Dropout) 是一种常用的正则化技术 (regularization technique),用于防止深度学习模型 (deep learning models) 过拟合 (overfitting)NGCF 采用了两种丢弃策略消息丢弃 (message dropout)节点丢弃 (node dropout)
  • 消息丢弃:
    • 工作原理: 消息丢弃 (message dropout) 随机地丢弃 (drops out) 传出消息 (outgoing messages)。具体来说,在公式 (6) 中定义的传播 (propagated) 消息 (messages) 会以概率 p1p_1丢弃。这意味着在第 ll传播层 (propagation layer),只有部分消息会贡献于细化 (refined) 表示 (representations)
    • 目的: 使表示对用户和项目之间单个连接 (connections) 的存在或缺失更具鲁棒性 (robustness)
  • 节点丢弃:
    • 工作原理: 节点丢弃 (node dropout) 随机地阻止 (block) 特定节点 (node)丢弃其所有传出消息 (outgoing messages)。对于第 ll传播层,会随机丢弃 (M+N)p_2拉普拉斯矩阵 (Laplacian matrix)节点,其中 p2p_2丢弃率 (dropout ratio)
    • 目的: 旨在减少特定用户或项目的影响,使模型对节点噪声 (noise)异常值 (outliers) 更加鲁棒 (robust)
  • 重要说明: 丢弃策略仅在训练 (training) 阶段使用,在测试 (testing) 阶段必须禁用。

4.2.5. NGCF与SVD++的联系 (NGCF Generalizes SVD++)

  • 概念定义: SVD++SVD++ [19] 是一种著名的协同过滤 (CF) 模型,它在传统的矩阵分解 (MF) 基础上,通过考虑用户隐式反馈 (implicit feedback)(即用户已交互过的项目),来丰富 (enrich) 用户表示 (user representation)

  • 联系: 论文指出,NGCF 可以被视为SVD++SVD++泛化 (generalization)。当NGCF高阶传播层 (high-order propagation layer) 数量设为 L=1L=1,并且禁用变换矩阵 (transformation matrix)非线性激活函数 (nonlinear activation function) 时,NGCF预测函数 (prediction function) 可以简化为: y^NGCFSVD=(eu+iNuPuiei)(ei+uNiPiueu) \hat{y}_{\mathrm{NGCF-SVD}} = (\mathbf{e}_u + \sum_{i' \in N_u} \mathcal{P}_{ui'} \mathbf{e}_{i'})^\top (\mathbf{e}_i + \sum_{u' \in N_i} \mathcal{P}_{iu'} \mathbf{e}_{u'})

    • 符号解释:
      • y^NGCFSVD\hat{y}_{\mathrm{NGCF-SVD}}: NGCF 简化为 SVD++SVD++ 形式时的预测得分。
      • eu,ei\mathbf{e}_u, \mathbf{e}_i: 用户 uu 和项目 ii初始嵌入 (initial embeddings)
      • NuN_u: 用户 uu 交互过的项目集合。
      • NiN_i: 交互过项目 ii 的用户集合。
      • Pui,Piu\mathcal{P}_{ui'}, \mathcal{P}_{iu'}: 权重系数 (weight coefficients),通常与度 (degree) 相关。
  • 推导 SVD++SVD++: 通过将 Pui\mathcal{P}_{ui'}Piu\mathcal{P}_{iu'} 分别设置为 1/Nu1 / \sqrt{\lvert N_u \rvert} 和 0,可以精确地还原 (recover) SVD++SVD++ 模型。

  • 推导 FISM: 另一个广泛使用的基于项目 (item-based) CF 模型 FISM [16] 也可以看作是 NGCF特例 (special case),此时公式 (12) 中的 ϕiu\phi_{iu'} 设为 0。

  • 结论: 这表明 NGCF 的设计具有很强的通用性 (generality),可以涵盖和扩展许多现有模型。

4.2.6. 时间复杂度分析 (Time Complexity Analysis)

  • 概念定义: 时间复杂度 (Time Complexity) 衡量了算法运行所需的时间,通常表示为输入规模的函数。
  • 分析: NGCF 的主要操作 (operation)层间传播规则 (layer-wise propagation rule)
    • 对于第 ll传播层 (propagation layer)矩阵乘法 (matrix multiplication)计算复杂度 (computational complexity)O(R+dldl1)O(|\mathcal{R}^+| d_l d_{l-1})
      • R+|\mathcal{R}^+|: 表示拉普拉斯矩阵 (Laplacian matrix)非零元素 (nonzero entries) 的数量(即用户-项目交互的总数)。
      • dl,dl1d_l, d_{l-1}: 分别是当前和前一个变换大小 (transformation size)
    • 预测层 (prediction layer) 仅涉及内积 (inner product)
    • 整个训练周期 (training epoch) 的总时间复杂度 (time complexity)O(l=1LR+dl)O(\sum_{l=1}^L |\mathcal{R}^+| d_l)
    • 因此,评估 NGCF总复杂度 (overall complexity) 为: O(l=1LR+dldl1+l=1LR+dl) O \left( \sum_{l=1}^L |\mathcal{R}^+| d_l d_{l-1} + \sum_{l=1}^L |\mathcal{R}^+| d_l \right)
  • 实际性能: 在实验中,MFNGCFGowalla 数据集 (dataset) 上每个训练周期 (epoch)训练时间 (training time) 分别约为 20 秒和 80 秒。在推理 (inference) 阶段,MFNGCF 对所有测试实例 (testing instances)时间成本 (time costs) 分别约为 80 秒和 260 秒。这表明 NGCF 虽然比 MF 慢,但其时间复杂度在可接受范围内。

5. 实验设置

5.1. 数据集

为了评估 (evaluate) NGCF 的有效性,实验在三个公开且具有代表性的基准数据集 (benchmark datasets) 上进行。这些数据集 (datasets) 在领域、规模和稀疏性 (sparsity) 方面有所不同。

以下是原文 Table 1 的结果:

Dataset #Users #Items #Interactions Density
Gowalla 29, 858 40, 981 1,027,370 0.00084
Yelp2018* 31,668 38, 048 1,561, 406 0.00130
Amazon-Book 52,643 91,599 2, 984, 108 0.00062
  • Gowalla:

    • 来源: Gowalla 是一个签到 (check-in) 数据集 (dataset) [21],用户通过签到分享他们的位置。
    • 预处理: 为了确保数据质量 (data quality),使用了 10-core 设置 [10],即只保留至少有十次交互 (interactions) 的用户和项目。
  • Yelp2018*:

    • 来源:数据集来自 2018 年 Yelp challenge。其中,餐馆和酒吧等本地商家 (local businesses) 被视为项目 (items)
    • 预处理: 同样采用 10-core 设置 以确保数据质量
  • Amazon-Book:

    • 来源: Amazon-review 是一个广泛用于产品推荐 (product recommendation)数据集 [9]。这里选择了其中的 Amazon-book 子集。
    • 预处理: 类似地,使用 10-core 设置,确保每个用户和项目至少有十次交互
  • 数据划分:

    • 对于每个数据集,将每个用户历史交互 (historical interactions)80%80\% 随机选择作为训练集 (training set)
    • 剩余的交互作为测试集 (test set)
    • 训练集中随机选择 10%10\%交互作为验证集 (validation set),用于调优 (tune) 超参数 (hyper-parameters)
  • 负采样: 对于每个观察到的用户-项目交互,将其视为一个正例 (positive instance)。然后采用负采样策略 (negative sampling strategy),将其与用户之前未消费过的一个负例项目 (negative item) 配对。

5.2. 评估指标

为了评估 (evaluate) Top-K 推荐和偏好排序 (preference ranking) 的有效性,实验采用了两个广泛使用的评估协议 (evaluation protocols) [14, 40]:召回率 (Recall@K)归一化折扣累积增益 (Normalized Discounted Cumulative Gain, NDCG@K)

  • 召回率 (Recall@K):

    1. 概念定义: 召回率衡量了模型在推荐列表中成功识别 (identify) 出用户真正感兴趣的项目(即测试集 (test set) 中的相关项目 (relevant items))的比例。Recall@K 表示在Top-K 推荐列表中相关项目的比例。它关注的是有多少相关项目被推荐出来,而不关心它们的排序位置。
    2. 数学公式: Recall@K=uUtest{推荐列表中的相关项目}{测试集中的相关项目}uUtest{测试集中的相关项目} \text{Recall@K} = \frac{\sum_{u \in U_{test}} \lvert \{\text{推荐列表中的相关项目}\} \cap \{\text{测试集中的相关项目}\} \rvert}{\sum_{u \in U_{test}} \lvert \{\text{测试集中的相关项目}\} \rvert}
    3. 符号解释:
      • UtestU_{test}: 测试集中的所有用户。
      • {推荐列表中的相关项目}\{\text{推荐列表中的相关项目}\}: 对于每个用户,模型生成的Top-K 推荐列表中实际与用户相关的项目集合。
      • {测试集中的相关项目}\{\text{测试集中的相关项目}\}: 对于每个用户,在测试集中实际与用户相关的项目集合。
      • \lvert \cdot \rvert: 集合的基数(元素数量)。
  • 归一化折扣累积增益 (Normalized Discounted Cumulative Gain, NDCG@K):

    1. 概念定义: NDCG 是一种衡量排名质量 (ranking quality) 的指标,它不仅考虑相关项目 (relevant items) 是否被推荐,还考虑它们在推荐列表中的位置。排名越靠前的相关项目,其贡献的增益 (gain) 越大。NDCG 通过将累积增益 (Cumulative Gain, CG) 进行位置折扣 (position discount)归一化 (normalize) 来计算。它对高度相关 (highly relevant) 的项目在列表顶部 (top of the list) 给予更高的权重。
    2. 数学公式: DCG@K (Discounted Cumulative Gain at K) 的计算公式为: DCG@K=p=1Krelplog2(p+1) \text{DCG@K} = \sum_{p=1}^K \frac{rel_p}{\log_2(p+1)} IDCG@K (Ideal Discounted Cumulative Gain at K) 是理想情况下的 DCG@K,即相关项目按最高相关性 (relevance) 降序排列时的 DCG@K。 最终 NDCG@K 的计算公式为: NDCG@K=DCG@KIDCG@K \text{NDCG@K} = \frac{\text{DCG@K}}{\text{IDCG@K}}
    3. 符号解释:
      • KK: 推荐列表的长度。
      • pp: 推荐列表中项目的位置(排名)。
      • relprel_p: 位于位置 pp 的项目的相关性得分 (relevance score)。在隐式反馈 (implicit feedback) 场景中,通常相关项目 relp=1rel_p=1,不相关项目 relp=0rel_p=0
      • log2(p+1)\log_2(p+1): 位置折扣因子 (position discount factor)。排名越靠后,折扣越大。
      • DCG@K\text{DCG@K}: 折扣累积增益,考虑了相关项目的位置。
      • IDCG@K\text{IDCG@K}: 理想折扣累积增益,是所有可能的DCG@K 中能达到的最大值,用于对 DCG@K 进行归一化 (normalization),使得 NDCG@K 的值在 0 到 1 之间。
  • 默认设置: 实验中默认设置 K=20K=20。报告的是测试集 (test set) 中所有用户的平均指标。

5.3. 对比基线

为了验证 (demonstrate) NGCF 的有效性,论文将其与以下基线模型 (baselines) 进行了比较:

  • MF [26]:

    • 描述: 矩阵分解 (Matrix Factorization) 模型,通过贝叶斯个性化排序 (BPR) 损失函数 (loss function) 进行优化 (optimized)。它仅利用用户-项目的直接交互 (direct interactions) 作为交互函数 (interaction function)目标值 (target value)
    • 代表性: MF 是最基础且广泛使用的基于嵌入 (embedding-based) CF 模型。
  • NeuMF [14]:

    • 描述: 最先进的 (state-of-the-art) 神经协同过滤 (neural CF) 模型。它在用户和项目嵌入 (embeddings)元素级乘积 (element-wise product)拼接 (concatenation) 之上使用多个隐藏层 (hidden layers) 来捕捉非线性特征交互 (nonlinear feature interactions)。实验中采用了两层平面架构 (plain architecture),每层隐藏层 (hidden layer)维度 (dimension) 保持不变。
    • 代表性: NeuMF 代表了深度学习 (deep learning)交互函数上的增强 (enhancement)
  • CMN [5]:

    • 描述: 最先进的 (state-of-the-art) 基于内存 (memory-based) 模型。它通过内存层 (memory layers),利用注意力机制 (attentively) 结合邻近用户 (neighboring users)内存槽 (memory slots) 来构建用户表示 (representation)一阶连接 (first-order connections) 用于寻找与目标用户 (target user) 交互相同项目的相似用户。
    • 代表性: CMN 结合了内存网络 (memory networks)注意力机制 (attention mechanisms)
  • HOP-Rec [40]:

    • 描述: 最先进的 (state-of-the-art) 基于图 (graph-based) 模型。它通过随机游走 (random walks) 推导 (derive) 高阶邻居 (high-order neighbors)丰富 (enrich) 用户-项目交互数据 (interaction data),然后使用 BPR 目标 (objective) 训练 MF 预测模型 (prediction model)
    • 代表性: HOP-Rec 是一个尝试利用高阶连接性 (high-order connectivity)基线
  • PinSage [42]:

    • 描述: PinSage 是一个工业解决方案,它在项目-项目图 (item-item graph) 上使用 GraphSAGE [8] 图卷积网络 (GCN) 进行 Pinterest 图像推荐 (image recommendation)。在本研究中,将其应用于用户-项目交互图 (user-item interaction graph)。实验中使用了两层图卷积层 (graph convolution layers)隐藏维度 (hidden dimension) 设置为嵌入大小 (embedding size)
    • 代表性: PinSage 是一个大规模GCN 在推荐领域的应用。
  • GC-MC [29]:

    • 描述: 该模型使用 GCN [18] 编码器 (encoder) 生成用户和项目的表示 (representations),但仅考虑一阶邻居 (first-order neighbors)。因此,使用一个图卷积层 (graph convolution layer)隐藏维度设置为嵌入大小
    • 代表性: GC-MCGCN矩阵补全 (matrix completion) 任务上的直接应用,代表了一阶邻居图卷积方法。
  • 未选择的基线: SpectralCF [43] 因其特征分解 (eigen-decomposition) 导致高昂的时间成本 (time cost)资源成本 (resource cost)(尤其是在用户和项目数量较大时)而被排除在比较之外。

  • 公平性考量: 为了公平比较,所有基线模型 (baseline models)优化 (optimize) 贝叶斯个性化排序 (BPR) 损失函数 (loss function)(如公式 (11) 所示)。

5.4. 参数设置

  • NGCF 实现: NGCF 模型在 Tensorflow 中实现。
  • 嵌入大小 (Embedding Size): 对于所有模型,嵌入大小 dd 固定为 64。
  • HOP-Rec 参数: 随机游走 (random walks)步数 (steps){1,2,3}\{1, 2, 3\} 中搜索,学习率 (learning rate){0.025,0.020,0.015,0.010}\{0.025, 0.020, 0.015, 0.010\}调优 (tune)
  • 优化器 (Optimizer): 除了 HOP-Rec,所有模型都使用 Adam 优化器 (optimizer)批大小 (batch size) 固定为 1024。
  • 超参数 (Hyper-parameters) 网格搜索 (Grid Search):
    • 学习率 (Learning Rate): 在 {0.0001,0.0005,0.001,0.005}\{0.0001, 0.0005, 0.001, 0.005\} 中搜索。
    • L2 正则化系数 (Coefficient of L2 Normalization): 在 {105,104,,101,102}\{10^{-5}, 10^{-4}, \dots, 10^1, 10^2\} 中搜索。
    • 丢弃率 (Dropout Ratio): 在 {0.0,0.1,,0.8}\{0.0, 0.1, \dots, 0.8\} 中搜索。
  • 节点丢弃 (Node Dropout): GC-MCNGCF 使用节点丢弃技术 (node dropout technique)丢弃率{0.0,0.1,,0.8}\{0.0, 0.1, \dots, 0.8\}调优
  • 权重初始化 (Weight Initialization): 使用 Xavier 初始化器 (initializer) [6] 初始化 (initialize) 模型参数。
  • 早停策略 (Early Stopping Strategy): 如果验证数据 (validation data) 上的 recall@20 连续 50 个周期 (epochs) 未增加,则提前停止训练 (training)
  • NGCF 深度 (Depth): NGCF深度 (depth) LL 设置为 3,以建模 (model) 三阶连接性 (third-order connectivity) 中的协同信号 (collaborative signal)
  • 默认 NGCF 设置: 除非特别说明,报告结果时,NGCF 使用三个嵌入传播层 (embedding propagation layers)节点丢弃率 (node dropout ratio) 为 0.0,消息丢弃率 (message dropout ratio) 为 0.1。

6. 实验结果与分析

6.1. 核心结果分析

以下是原文 Table 2 的结果,展示了NGCF最先进的 (state-of-the-art) 基线模型 (baselines) 在三个数据集 (datasets) 上的整体性能 (overall performance) 比较:

Gowalla Yelp2018* Amazon-Book
recall ndcg recall ndcg recall ndcg
MF 0.1291 0.1109 0.0433 0.0354 0.0250 0.0196
NeuMF 0.1399 0.1212 0.0451 0.0363 0.0258 0.0200
CMN 0.1405 0.1221 0.0457 0.0369 0.0267 0.0218
HOP-Rec 0.1399 0.1214 0.0517 0.0428 0.0309 0.0232
GC-MC 0.1395 0.1204 0.0462 0.0379 0.0288 0.0224
PinSage 0.1380 0.1196 0.0471 0.0393 0.0282 0.0219
NGCF-3 0.1569* 0.1327* 0.0579* 0.0477* 0.0337* 0.0261*
%mprov. 11.68% 8.64% 11.97% 11.29% 9.61% 12.50%
p-value 2.01e-7 3.03e-3 5.34e-3 4.62e-4 3.48e-5 1.26e-4

观察结果与分析如下:

  • MF 性能不佳: MF 在三个数据集 (datasets) 上均表现不佳。这表明内积 (inner product) 不足以捕捉用户和项目之间复杂的关系 (relations),从而限制了性能。
  • NeuMF 优于 MF: NeuMF 在所有情况下都始终优于 (consistently outperforms) MF,这证明了用户和项目嵌入 (embeddings) 之间非线性特征交互 (nonlinear feature interactions) 的重要性。然而,MFNeuMF 都未能显式地建模 (model) 连接性 (connectivity)嵌入学习 (embedding learning) 过程中,这可能导致次优表示 (suboptimal representations)
  • GC-MCCMNPinSage 的表现:
    • GC-MC 的性能验证了整合一阶邻居 (first-order neighbors) 可以改善表示学习 (representation learning)。但在 Yelp2018Yelp2018* 上,GC-MCndcg@20 方面不如 NeuMF,这可能因为它未能充分探索用户和项目之间的非线性特征交互
    • CMN 在大多数情况下通常比 GC-MC 表现更好。这种改进可能归因于其神经注意力机制 (neural attention mechanism),该机制可以为每个邻近用户 (neighboring user) 指定注意力权重 (attentive weight),而不是 GC-MC 中使用的相等权重 (equal)启发式权重 (heuristic weight)
    • PinSageGowallaAmazon-Book 上略低于 CMN,但在 Yelp2018Yelp2018* 上表现更好。这证实了高阶连接性 (high-order connectivity) 建模积极效应 (positive effect),因为PinSage嵌入函数 (embedding function) 中引入了高阶连接性,而 CMN 仅考虑相似用户。
  • HOP-Rec 表现突出: HOP-Rec 在大多数情况下通常取得了显著改进。它通过随机游走 (random walks) 丰富 (enrich) 用户-项目交互数据 (interaction data),也印证了连接信息 (connectivity information) 对学习更好嵌入 (embeddings) 的益处。
  • NGCF 性能最佳: NGCF 在所有数据集 (datasets) 上都始终 (consistently) 取得了最佳性能。
    • 与最强的基线模型 (baselines) 相比,NGCFGowallaYelp2018Yelp2018*Amazon-Bookrecall@20 分别提升了 11.68%11.68\%11.97%11.97\%9.61%9.61\%
    • 通过堆叠 (stacking) 多个嵌入传播层 (embedding propagation layers)NGCF 能够以显式方式探索高阶连接性,而 CMNGC-MC 仅利用一阶邻居 (first-order neighbors) 来指导表示学习。这验证了在嵌入函数 (embedding function) 中捕捉协同信号 (collaborative signal) 的重要性。
    • PinSage 相比,NGCF 考虑了多粒度表示 (multi-grained representations)推断 (infer) 用户偏好,而 PinSage 仅使用最后一层的输出 (output)。这表明不同的传播层 (propagation layers)表示 (representations) 中编码了不同的信息。
    • HOP-Rec 的改进表明,在嵌入函数中显式编码 (encoding) 协同过滤 (CF) 信号 (signal) 可以获得更好的表示
    • 通过单样本 t 检验 (one-sample t-tests)pvalue<0.05p-value < 0.05 表明 NGCF 相对于最强基线的改进在统计学上是显著的。

6.2. 性能与交互稀疏度 (Interaction Sparsity Levels)

稀疏性问题 (sparsity issue) 通常会限制推荐系统 (recommender systems)表达能力 (expressiveness),因为不活跃用户 (inactive users) 的少量交互 (interactions) 不足以生成高质量的表示 (representations)。本节探究 (investigate) 利用连接信息 (exploiting connectivity information) 是否有助于缓解此问题。

为了这个目的,实验对不同稀疏度级别 (sparsity levels) 的用户组进行了分析。具体而言,根据每个用户的交互数量 (interaction number),将测试集 (test set) 分为四个组,每个组具有相同的总交互数量 (total interactions)。例如,在 Gowalla 数据集 (dataset) 中,每用户的交互数量分别小于 24、50、117 和 1014。

以下是原文 Figure 4 的结果:

该图像是性能比较图,展示了不同推荐模型在多个用户组上的ndcg@20指标,包括MF、NeuMF、CMN、HOP-Rec、PinSage、GC-MC和NGCF。图中显示了在游玩平台(GoWalla)、Yelp2018和亚马逊图书(Amazon-book)数据集上的实验结果,NGCF模型表现优异。
该图像是性能比较图,展示了不同推荐模型在多个用户组上的ndcg@20指标,包括MF、NeuMF、CMN、HOP-Rec、PinSage、GC-MC和NGCF。图中显示了在游玩平台(GoWalla)、Yelp2018和亚马逊图书(Amazon-book)数据集上的实验结果,NGCF模型表现优异。

Figure 4: Performance comparison w.r.t. interaction sparsity levels.

观察结果与分析如下:

  • NGCFHOP-Rec 表现优异: NGCFHOP-Rec 在所有用户组中始终优于所有其他基线模型 (baselines)。这表明利用 (exploiting) 高阶连接性 (high-order connectivity) 极大地促进了不活跃用户 (inactive users)表示学习 (representation learning),因为协同信号 (collaborative signal) 可以被有效地捕捉。这暗示了解决推荐系统稀疏性问题 (sparsity issue) 的潜在希望。
  • 不活跃用户 (inactive users) 的显著改进: 联合分析 Figure 4(a)、4(b) 和 4(c) 可以发现,在交互 (interactions) 较少的前两个组(例如,Gowalla<24<50 的组,相对于最佳基线 (baselines) 分别提高了 8.49%8.49\%7.79%7.79\%)中,NGCF 取得的改进比其他组(例如 Gowalla<1014 的组,仅提高了 1.29%1.29\%)更显著。这验证了嵌入传播 (embedding propagation)相对不活跃用户 (relatively inactive users) 是有益的。

6.3. NGCF自身研究

为了更深入地理解NGCF,本节探究 (investigate) 嵌入传播层 (embedding propagation layer) 对性能的影响,包括其层数、拉普拉斯矩阵 (Laplacian matrix) 的影响、丢弃策略 (dropout) 以及训练过程 (training process)

6.3.1. 层数效应 (Effect of Layer Numbers)

为了探究 (investigate) NGCF 是否能从多个嵌入传播层 (embedding propagation layers) 中受益,实验改变了模型深度 (model depth),即层数 (layer numbers)层数{1,2,3,4}\{1, 2, 3, 4\} 范围内搜索。

以下是原文 Table 3 的结果:

Gowalla Yelp2018* Amazon-Book
recall ndcg recall ndcg recall ndcg
NGCF-1 0.1556 0.1315 0.0543 0.0442 0.0313 0.0241
NGCF-2 0.1547 0.1307 0.0566 0.0465 0.0330 0.0254
NGCF-3 0.1569 0.1327 0.0579 0.0477 0.0337 0.0261
NGCF-4 0.1570 0.1327 0.0566 0.0461 0.0344 0.0263
  • 符号说明: NGCF-X 表示模型使用了 XX嵌入传播层 (embedding propagation layers)

    观察结果与分析如下:

  • 增加深度 (depth) 的益处: 增加 NGCF深度显著增强了推荐性能。NGCF-2NGCF-3 在所有数据集 (datasets) 上都比 NGCF-1 取得了一致的改进 (consistent improvement)NGCF-1 仅考虑一阶邻居 (first-order neighbors)。这归因于协同过滤 (CF) 效应 (effect) 的有效建模 (modeling)协同用户相似性 (collaborative user similarity)协同信号 (collaborative signal) 分别由二阶 (second-order)三阶 (third-order) 连接性 (connectivities) 承载。

  • 过拟合 (Overfitting) 风险: 当在 NGCF-3 的基础上进一步堆叠传播层 (stacking propagation layer) 时,NGCF-4Yelp2018Yelp2018* 数据集 (dataset) 上导致了过拟合。这可能因为过深的架构 (architecture) 会给表示学习 (representation learning) 引入噪声 (noises)。在其他两个数据集上获得的边际改进 (marginal improvements) 验证了三层传播层足以捕捉CF信号

  • NGCF鲁棒性 (robustness): 无论传播层 (propagation layers) 数量如何变化,NGCF 在三个数据集 (datasets) 上都始终优于 (consistently superior to) 其他方法。这再次验证了 NGCF 的有效性,经验性地 (empirically) 表明高阶连接性 (high-order connectivity) 的显式建模 (modeling) 可以极大地促进推荐任务 (recommendation task)

6.3.2. 嵌入传播层和层聚合机制效应 (Effect of Embedding Propagation Layer and Layer-Aggregation Mechanism)

为了探究 (investigate) 嵌入传播 (embedding propagation)(即图卷积 (graph convolution))层如何影响性能,实验考虑了 NGCF-1变体 (variants),这些变体使用了不同的层 (layers)

  • 变体设计:
    • NGCF1SVD++NGCF-1_SVD++: 基于公式 (12) 的变体,类似于 SVD++SVD++

    • NGCF1GCMCNGCF-1_GC-MC: 移除了消息传递函数 (message passing function)节点 (node) 与其邻居 (neighbor) 之间的表示交互 (representation interaction)(即公式 (3) 中的 eieu\mathbf{e}_i \odot \mathbf{e}_u 部分),仅考虑线性变换 (linear transformation)

    • NGCF1PinSageNGCF-1_PinSage: 同样移除了表示交互

      以下是原文 Table 4 的结果:

      Gowalla Yelp2018* Amazon-Book
      recall ndcg recall ndcg recall ndcg
      NGCF-1 0.1556 0.1315 0.0543 0.0442 0.0313 0.0241
      NGCF-1SVD++ 0.1517 0.1265 0.0504 0.0414 0.0297 0.0232
      NGCF-1GC-MC 0.1523 0.1307 0.0518 0.0420 0.0305 0.0234
      NGCF-1PinSage 0.1534 0.1308 0.0516 0.0420 0.0293 0.0231

观察结果与分析如下:

  • 表示交互 (Representation Interactions) 的重要性: NGCF-1 始终优于所有变体 (variants)。这归因于表示交互(即 euei\mathbf{e}_u \odot \mathbf{e}_i),它使传播 (propagated) 消息 (messages) 依赖于 ei\mathbf{e}_ieu\mathbf{e}_u 之间的亲和力 (affinity),其功能类似于注意力机制 (attention mechanism) [2]。而所有变体只考虑了线性变换 (linear transformation)。这验证了NGCF 嵌入传播函数 (embedding propagation function) 的合理性和有效性。
  • 自连接 (Self-connection)非线性变换 (nonlinear transformation) 的重要性: 在大多数情况下,NGCF1SVD++NGCF-1_SVD++ 的性能低于 NGCF1PinSageNGCF-1_PinSageNGCF1GCMCNGCF-1_GC-MC。这表明节点 (nodes) 自身传递 (passed)消息 (messages) 以及非线性变换 (nonlinear transformation) 的重要性。
  • 层聚合机制 (Layer-Aggregation Mechanism) 的显著性: 联合分析 Table 2 和 Table 4 可以发现,当将所有层 (layers)输出 (outputs) 拼接 (concatenating) 到一起时,NGCF1PinSageNGCF-1_PinSageNGCF1GCMCNGCF-1_GC-MC 分别比 PinSageGC-MC 取得了更好的性能。这强调了层聚合机制的重要性,这与 [38] 的发现一致。

6.3.3. 丢弃策略效应 (Effect of Dropout)

为了防止 NGCF 过拟合 (overfitting),实验采用了节点丢弃 (node dropout)消息丢弃 (message dropout) 技术 (techniques)

以下是原文 Figure 5 的结果,它描绘了消息丢弃率 (message dropout ratio) p1p_1节点丢弃率 (node dropout ratio) p2p_2 对不同数据集 (datasets)评估协议 (evaluation protocols) 的影响。

Figure 5: Effect of node dropout and message dropout ratios.
该图像是图表,展示了在不同数据集上MF和NGCF模型在每个训练周期的召回率(recall@20)。左图为Gowalla数据集,中图为Yelp2018数据集,右图为Amazon-Book数据集。可以观察到NGCF模型在所有数据集上均优于MF模型。

Figure 5: Effect of node dropout and message dropout ratios.

观察结果与分析如下:

  • 节点丢弃 (Node Dropout) 表现更好: 在两种丢弃策略 (dropout strategies) 中,节点丢弃提供了更好的性能。例如,在 Gowalla 数据集 (dataset) 上,将 p2p_2 设置为 0.2 导致最高的 recall@20 达到 0.1514,这优于消息丢弃的 0.1506。
  • 原因分析: 节点丢弃丢弃 (drop out) 特定用户和项目的所有传出消息 (outgoing messages),这使得表示 (representations) 不仅对单个连接 (connections) 的影响鲁棒 (robust),而且对节点 (nodes) 的影响也鲁棒。因此,节点丢弃消息丢弃更有效,这与之前工作的发现 [29] 一致 (consistent)。这是一个有趣的发现,意味着节点丢弃可以作为解决图神经网络 (graph neural networks) 过拟合的有效策略。

6.3.4. 训练收敛性 (Test Performance w.r.t. Epoch)

以下是原文 Figure 6 的结果,展示了MFNGCF 在每个周期 (epoch)测试性能 (test performance) (召回率 (recall))

Figure 7: Visualization of the learned t-SNE transformed representations derived from MF and NGCF-3. Each star represents a user from Gowalla dataset, while the points with the same color denote the relevant items. Best view in color.
该图像是图表,展示了从MF (NGCF-0) 和 NGCF-3 获得的t-SNE转换表示。图中星形标记代表Gowalla数据集中的用户,各颜色的点表示相关项目,最佳效果在彩色显示中展现。

Figure 6: Test performance of each epoch of MF and NGCF.

观察结果与分析如下:

  • NGCF 收敛速度 (convergence speed) 更快: NGCF 在三个数据集 (datasets) 上都比 MF 表现出更快的收敛 (convergence) 速度。
  • 原因分析: 这是合理的,因为在小批量 (mini-batch) 优化 (optimizing) 交互对 (interaction pairs) 时,NGCF 考虑了间接连接 (indirectly connected) 的用户和项目。
  • 结论: 这一观察结果表明 NGCF 具有更好的模型容量 (model capacity),并且在嵌入空间 (embedding space) 中执行嵌入传播 (embedding propagation) 是有效的。

6.4. 高阶连接性效应 (Effect of High-order Connectivity) (可视化)

为了理解嵌入传播层 (embedding propagation layer) 如何促进嵌入空间 (embedding space) 中的表示学习 (representation learning),实验从 Gowalla 数据集 (dataset) 中随机选择了六个用户及其相关项目 (relevant items),并观察 (observe) 它们的表示 (representations)NGCF 深度 (depth) 的变化。

以下是原文 Figure 7 的结果,展示了从MF(即 NGCF-0)和 NGCF-3 推导 (derived)t-SNE 转换表示 (transformed representations)可视化 (visualization)

Figure 7: Visualization of the learned t-SNE transformed representations derived from MF and NGCF-3. Each star represents a user from Gowalla dataset, while the points with the same color denote the relevant items. Best view in color.

  • 符号说明: 图中的每个星形 (star) 代表 Gowalla 数据集 (dataset) 中的一个用户,而具有相同颜色的点 (points) 表示该用户的相关项目 (relevant items)

    观察结果与分析如下:

  • 连接性 (Connectivities)嵌入空间 (embedding space) 中得到良好反映: 用户和项目的连接性嵌入空间中得到了很好的反映,即它们被嵌入 (embedded)空间 (space)接近 (near) 的部分。特别是,NGCF-3表示 (representations) 表现出明显的聚类 (clustering),这意味着具有相同颜色(即被相同用户消费的项目)的点 (points) 倾向于形成簇 (clusters)

  • 高阶协同信号 (High-order Collaborative Signal) 的注入: 联合分析 Figure 7(a) 和 7(b) 中相同的用户(例如 12201 和 6880)可以发现,当堆叠 (stacking) 三个嵌入传播层 (embedding propagation layers) 后,他们历史项目 (historical items)嵌入 (embeddings) 趋于更接近。这定性地 (qualitatively) 验证了所提出的嵌入传播层能够将显式的协同信号 (collaborative signal)(通过 NGCF-3)注入表示 (representations) 中。

7. 总结与思考

7.1. 结论总结

本研究通过 NGCF (Neural Graph Collaborative Filtering) 框架,解决了模型驱动 (model-based) 协同过滤 (CF) 方法在嵌入函数 (embedding function) 中未能显式编码 (encoding) 协同信号 (collaborative signal) 的问题。NGCF 利用用户-项目交互图 (interaction graph) 中的高阶连接性 (high-order connectivity),通过新颖的嵌入传播层 (embedding propagation layer),允许用户和项目的嵌入 (embeddings) 在图上进行递归地 (recursively) 消息传递 (message passing)聚合 (aggregation)。这种机制无缝地 (seamlessly)协同信号融入表示学习 (representation learning) 过程。在三个真实世界数据集 (datasets) 上的广泛实验表明,NGCF召回率 (Recall)归一化折扣累积增益 (NDCG) 等指标上显著优于多个最先进的 (state-of-the-art) 基线模型 (baselines),并验证了嵌入传播 (embedding propagation) 对于学习更优用户和项目表示 (representations) 的重要性。

7.2. 局限性与未来工作

论文作者指出了NGCF局限性 (limitations) 和未来的研究方向:

  • 注意力机制 (Attention Mechanism) 的引入: 尽管NGCF 表现出色,但目前的消息构建 (message construction) 阶段中,系数 (coefficient) ϕui\phi_{ui} 采用了固定的图拉普拉斯范数 (graph Laplacian norm)。未来的工作可以引入注意力机制 [2] 来学习邻居 (neighbors) 之间以及不同阶连接性 (orders of connectivity) 之间可变的权重 (weights),以提高模型泛化能力 (model generalization)可解释性 (interpretability)
  • 对抗学习 (Adversarial Learning) 的探索: 探索在用户/项目嵌入图结构 (graph structure) 上应用对抗学习 [13],以增强 NGCF鲁棒性 (robustness)
  • 结构化知识 (Structural Knowledge) 的扩展: 本文是利用消息传递机制 (message-passing mechanism)模型驱动 CF利用结构化知识 (exploit structural knowledge) 的初步尝试。未来可以探索更多形式的结构化信息 (structural information) 来理解用户行为,例如:
    • 上下文感知 (context-aware)语义丰富 (semantics-rich) 推荐中的交叉特征 (cross features) [22, 27]。
    • 项目知识图谱 (item knowledge graph) [32]:将其与用户-项目图结合,可以建立知识感知 (knowledge-aware) 的用户-项目连接,有助于揭示用户决策过程 (decision-making process)
    • 社交网络 (social networks) [34]。
    • 这些扩展将有助于推理 (reasoning) 用户在线行为,从而实现更有效和可解释 (interpretable) 的推荐。

7.3. 个人启发与批判

个人启发

  1. 显式协同信号 (collaborative signal) 的力量: NGCF 最重要的启发是,将协同信号显式地编码到嵌入函数 (embedding function) 中,而不是仅仅通过损失函数 (loss function) 间接约束,能够显著提升推荐系统 (recommender systems) 的性能。这强调了表示学习 (representation learning) 在推荐中的核心作用。
  2. 图神经网络 (GNN)推荐系统 (recommender systems) 中的天然优势: 用户-项目交互本质上就是图结构 (graph structure)GNN 提供了一个优雅且强大的框架来建模 (modeling) 这种结构NGCF 证明了GNN 不仅能处理一阶邻居 (first-order neighbors),还能通过堆叠 (stacking) 层 (layers) 捕捉高阶连接性 (high-order connectivity),从而挖掘更深层次的协同信息 (collaborative information)
  3. 稀疏性问题 (sparsity issue) 的缓解: 实验结果表明,NGCF不活跃用户 (inactive users) 的推荐性能提升尤为显著。这意味着图结构上的嵌入传播 (embedding propagation) 提供了一种有效途径,通过高阶连接性从更广阔的邻居 (neighbors)聚合信息 (aggregate information),从而缓解冷启动 (cold-start)长尾 (long-tail)稀疏性问题
  4. 模型泛化 (model generalization)可解释性 (interpretability) 的方向: 论文中提到的未来工作方向,如引入注意力机制 (attention mechanism)知识图谱 (knowledge graph),对于推荐系统泛化能力可解释性至关重要。NGCF 的框架具有很强的扩展性,可以整合 (integrate) 更多异构信息 (heterogeneous information)

批判

  1. 超参数 (Hyper-parameters) 敏感性: NGCF 引入了层数 (layer numbers)dld_lp1p_1p2p_2 等多个超参数。尽管实验进行了网格搜索 (grid search),但在实际应用中,特别是在大规模、动态变化的数据集 (datasets) 上,这些超参数调优 (tuning) 仍然是一个挑战。过深的层数可能导致过拟合 (overfitting)计算成本 (computational cost) 增加,如何自动或自适应 (adaptively) 地确定最佳深度 (depth) 仍是问题。

  2. 消息构建函数 (message construction function)固定形式 (fixed form) 尽管 NGCF消息构建函数引入了元素级乘积 (element-wise product) 来捕捉交互 (interaction),但其形式仍然是预定义 (pre-defined) 的。未来的研究可以探索更灵活 (flexible)自适应 (adaptive)消息构建方式,例如基于注意力机制 (attention mechanism)超网络 (hyper-networks),根据节点 (nodes)上下文 (context) 动态调整消息 (message) 的生成。

  3. 图结构 (graph structure) 噪声 (noise)鲁棒性 (robustness) NGCF 强烈依赖于用户-项目交互图的质量。如果交互数据 (interaction data) 存在大量噪声(如误点击 (misclicks)虚假交互 (spurious interactions)),嵌入传播 (embedding propagation) 可能会放大 (amplify) 这些噪声,从而损害性能。虽然节点丢弃 (node dropout) 有助于鲁棒性 (robustness),但更彻底的图去噪 (graph denoising)图学习 (graph learning) 策略可能需要集成。

  4. 冷启动 (Cold Start) 问题仍未完全解决: 尽管 NGCF稀疏用户 (sparse users) 有所改善,但对于全新的用户或项目,由于其在交互图 (interaction graph) 中缺乏连接 (connections)嵌入传播无法有效进行,冷启动问题 (cold start problem) 仍是一个挑战。结合侧信息 (side information)(如用户属性、项目内容)是解决此问题的关键,但NGCF 目前主要集中在拓扑结构 (topological structure) 上。

  5. 可解释性 (Interpretability) 的进一步提升: 尽管 NGCF 通过高阶连接性提供了直观 (intuitive)解释 (explanation)(例如,通过“朋友的朋友”推荐),但模型本身仍然是黑盒 (black-box) 的。如何精确地量化每个连接 (connection)路径 (path) 对最终推荐结果的贡献,从而提供更细粒度的可解释性,是未来重要的研究方向。

    总的来说,NGCF推荐系统领域开辟了图神经网络 (GNN) 建模 协同信号的新方向,其核心思想和实证结果都具有很强的借鉴意义。

相似论文推荐

基于向量语义检索推荐的相关论文。

暂时没有找到相似论文。