核心要点

  • 能讲清归纳式本质:学的是「聚合函数」而非每个节点的固定 embedding,故可泛化到新节点/新图

  • 能说明邻居采样:每层固定采样 S 个邻居,控制计算量、避免全图展开导致邻居数指数爆炸

  • 能列出聚合函数:mean、pooling(逐元素 max + MLP)、LSTM 三种 AGGREGATE

  • 能说明训练方式:可小批(mini-batch)训练,支持无监督(图上邻近为正样本)或有监督

标准回答

归纳式的关键(独占一行)

GraphSAGE(SAmple and aggreGatE)学习的是一组可复用的聚合函数与变换参数,而不是像 DeepWalk/转导式 GCN 那样为每个节点存一份固定 embedding——因此面对训练时未见的新节点,只要有其特征和邻居,就能即时算出表示,实现归纳式(inductive)泛化。

邻居采样

大图上若展开全部 K 跳邻居,节点数会指数爆炸。GraphSAGE 在每一层对每个节点固定采样 S 个邻居(多了随机采、少了可重复采),把每个 mini-batch 的计算图规模控制在 (\prod_k S_k) 量级,使其能在亿级大图上做小批训练。

聚合与更新

每层对采样到的邻居用一个聚合函数 AGGREGATE 汇总,论文给出三种:mean(均值)、pooling(每个邻居过 MLP 后逐元素 max)、LSTM(对随机排列的邻居序列编码)。再把聚合结果与节点自身表示拼接、过线性层与非线性、并做 L2 归一化。训练既可有监督,也可无监督——把图上邻近节点作正样本、随机节点作负样本做对比学习。详见 GNN 架构对比

常见误区

⚠️ 常见踩坑

LSTM 聚合器本身对顺序敏感、并非排列不变,GraphSAGE 通过对邻居随机排列来近似缓解;另外采样数 S 是计算量与精度的权衡,并非越大越好。

追问

追问 1为什么 GraphSAGE 能泛化到新节点而原始 GCN 不能?

GCN 的传播依赖整张图的归一化邻接矩阵且为每个节点学固定表示,新节点的加入改变了矩阵、无对应参数;GraphSAGE 学的是与具体节点无关的聚合/变换函数,新节点只要有特征和邻居即可用同一组函数推断表示。

追问 2邻居采样会引入方差,推理时如何处理?

训练时采样是为了控制计算量并起正则作用;推理时为稳定结果,可使用全部邻居或更大的采样数,也可多次采样取平均来降低方差。

延伸学习

与本题相关的知识库文章、术语、工具与行业资讯。