图神经网络实战(9)——GraphSAGE详解与实现
0. 前言
GraphSAGE
是专为处理大规模图而设计的图神经网络 (Graph Neural Networks, GNN) 架构。在科技行业,可扩展性是推动系统增长的关键驱动力。因此,系统的设计本质上就是为了容纳数百万用户。与图卷积网络 (Graph Convolutional Network, GCN) 和图注意力网络 (Graph Attention Networks,GAT) 相比,这种能力要求从根本上改变 GNN
模型的工作方式。因此,GraphSAGE
自然成为 Uber Eats
和 Pinterest
等科技公司的首选架构。
在本节中,我们将了解 GraphSAGE
的两个主要思想。首先,我们将介绍邻居采样技术,这是 GraphSAGE
可扩展性的核心。然后,我们将探讨用于生成节点嵌入的三种聚合算子。除了原始 GraphSAGE
,还将详细介绍 Uber Eats
和 Pinterest
提出的变体架构。最后,使用 PyTorch Geometric
实现 GraphSAGE
架构在 PubMed
数据集上执行节点分