图神经网络:方法与应用综述

  • 关联论文:1812.08434
  • 作者:flyP
  • 更新:2026-08-06

一句话结论

Zhou 等人提出了一套面向图数据的通用 GNN 设计 pipeline(图的预处理 → 传播 step → 采样 → 层级聚合 → 预测/解码),并据此系统梳理了图卷积网络(GCN)、图注意力网络(GAT)、图循环网络(GRN)、图门控网络(GGNN)等代表性变体,最后给出四个未来方向,是后续几乎所有 GNN 综述的引文基础。[?]

解决什么真问题

深度学习在欧氏空间(图像、文本、序列)上已经成熟,但现实中大量数据天然是图:社交网络、分子结构、交通路网、知识图谱、推荐系统的 user-item 二部图、3D 点云。传统 CNN / RNN 无法直接处理非规则邻接结构。早期做法是手动设计图特征(如随机游走、图核),可扩展性差、特征工程重。该综述回答的核心问题是:

  • 能不能像 CNN 在像素、RNN 在 token 上那样,给图数据一套统一的、端到端的神经网络建模范式?
  • 不同 GNN 变体之间是并列关系还是可被同一框架刻画?
  • 当下哪些应用最受益,下一步该攻哪些开放问题?

核心方法:通用设计 pipeline + 四类变体

论文把 GNN 的设计抽象为五步 pipeline:

  1. 图结构预处理:找到最方便表示的图形式(邻接矩阵、邻接表、稀疏张量)。
  2. 每一步的传播 step(propagation step):节点从邻居聚合信息并更新表示。
  3. 采样(sampling):邻居爆炸时按层采样(如 GraphSAGE 的邻居采样)。
  4. 层级聚合(pooling / readout):把节点表示变成图级表示(如 sum/mean/max、hierarchical pooling)。
  5. 预测/解码:节点级 / 边级 / 图级任务的下游 head。

下面四类变体都可以塞进这套 pipeline:

  • GCN(Graph Convolutional Network):把卷积操作推广到图,传播 step 用对称归一化的邻接矩阵 A_hat = D^{-1/2} (A + I) D^{-1/2} 做线性变换后聚合: H^{(l+1)} = σ( A_hat H^{(l)} W^{(l)} )
  • GAT(Graph Attention Network):用注意力系数替代固定权重,对每个邻居 j ∈ N(i) 计算 α_ij,再加权求和,多头拼接/平均。
  • GRN(Graph Recurrent Network):把传播视为状态转移 H^{(t+1)} = f( H^{(t)}, A ),可用 LSTM/GRU 作为更新函数。[?]
  • GGNN(Graph Gated Neural Network, Li et al.)[?]:用 GRU 类门控更新节点状态,并在固定步数后展开,输出由 readout 得到。

按传播 step 的不同,论文还把 GCN 类模型分为频域(基于图傅里叶变换 / 谱卷积,如 ChebNet)与空域(直接在邻居上聚合,如 GraphSAGE、DCNN)两大流派。频域派给出连续滤波器 → Chebyshev 多项式近似 → 一阶近似的谱图卷积推导链条,是后续 GCN 简化版的理论根基。

关键实验与数据

综述本身不主张原创实验,论文实验部分主要做"分类与对比":

  • 节点级:标准引用网络(Cora、Citeseer、Pubmed)上的半监督分类,GAT/GNN/GCN 报告接近 SOTA 的精度(原论文 v3/v4 时期)。[?]
  • 图级:分子数据集(如 NCI、QM9、PROTEINS)上做图分类,GNN 类方法超过传统图核。[?]
  • 应用盘点:把应用按四象限划分——结构化场景(社交、推荐、交通、物理)、非结构化场景(文本→依存树、图像→场景图)、其他场景(生成、对抗攻击、组合优化)、应用层落地(药物、推荐、欺诈)。注意:综述本身只列这些数据集和趋势,不做新实验。后续读者如果要做对比,应去原 GCN / GAT / GraphSAGE / GIN 论文里看统一 benchmark(OGB、Dwivedi et al. 2020《Benchmarking GNNs》)。[?]

亮点与局限

亮点

  • 第一次系统地把"图卷积 / 图注意力 / 图循环 / 图门控"四种代表性变体纳入同一 pipeline。[?]
  • 把频域与空域 GCN 的关系讲清楚,是后续 GCN 简化版成为入门必读的关键文献。
  • 明确提出四个开放问题:(1) 浅层结构与过平滑、(2) 动态图、(3) 非结构化数据的图推理、(4) 可扩展性 —— 这四个问题直接驱动了 GraphSAGE、Cluster-GCN、GraphSAINT、GIN、Transformer-GNN 后续几年发展。
  • Semantic Scholar 引用 7200+([?] 未经独立实时核查),是 GNN 综述的事实标准之一。

局限(原文未明确,但放到现在看):

  • 论文偏工程入门视角,对谱方法的复杂度、过平滑的频域解释只点到为止。
  • 没有给统一的 benchmark 复现脚本,下游读者要自己拼环境。
  • 当时(2018)还没有把"图 Transformer(GraphGPS / GATv2 等)"、"等变性 / 表达能力(Weisfeiler-Lehman 视角)"这些后续热门方向纳入。
  • 应用盘点偏定性,缺乏"哪个数据集上哪个方法 SOTA"的定量表(这是后来 OGB / Dwivedi benchmark 补的)。
  • 本文发表时尚无 OGB / Dwivedi benchmark,原文仅做定性盘点;OGB(Knyazev et al., 2021)出现后 GNN 评测才进入新阶段,将两者并列评述需注意时间线。

对工程落地的启发

  • 选型建议:小图(节点 ≤ 10k)直接用 GCN/GAT/GraphSAGE 起步;大图(百万节点)走邻居采样 + Cluster-GCN / GraphSAINT;分子与图分类用 GIN(理论表达力最强)。
  • 过平滑:超过 2-3 层就要么加残差 / skip connection,要么用 PairNorm / DropEdge,要么上图 Transformer。
  • 输入准备:无向图要 symmetric 化、加自环;特征缺失用度、PageRank 等结构特征补齐。
  • 复用 pipeline:这套"预处理 → 传播 → 采样 → 池化 → 解码"五步现在依旧适用,把 GGNN 换成 GATv2 或 GraphSAGE 即可。

与同方向工作的关系

  • 前置:Kipf & Welling 2017(GCN 原论文)、Hamilton et al. 2017(GraphSAGE)、Veličković et al. 2017(GAT)、Li et al. 2015/2016(Gated GNN)—— 综述把它们串成一张图。[?]
  • 同期:Ying et al. 2018(GraphSAGE 的 pooling 变体 DiffPool)、Xu et al. 2019(GIN,给出 WL 表达力分析)。
  • 后续:Wu et al. 2020《A Comprehensive Survey on GNNs》[?]、Dwivedi et al. 2020《Benchmarking GNNs》、Khosla et al. / Stanford OGB(统一 benchmark)—— 本文几乎都被列为参考文献或对照基准。[?]
  • 当下:图 Transformer(GraphGPS / Graphormer / SAT)等新方向可视为"传播 step"的注意力化扩展。

适合谁读

  • 想从零系统理解 GNN 的工程师与研究生。
  • 在做推荐、风控、分子生成、交通预测需要选型 GNN 的应用开发者。
  • 写综述/答辩/课程讲义需要一张清晰的"四类 GNN 变体 + 通用 pipeline"分类图的老师。
  • 偏机器学习理论的研究者也能用它做快速索引,再跳到 GIN、Graph Transformer 等更新文献。

反方视角与不确定性

  • 论文给出的四类变体是 2018 年的快照,今天 GIN、图 Transformer、GraphGym 已经成为新基线,本文没覆盖。
  • 没有统一 benchmark 表,所有 SOTA 表述需自行对照 OGB 论文核验。[?]
  • 文中引用的若干应用效果数字(如某场景上 GNN 比传统方法提升多少)原综述仅做定性描述,原文未给出统一对照数字,引用具体增益时建议回到原始方法论文或 OGB 榜单核实。
  • 引用计数 7200+ 为 Semantic Scholar 快照数据,未经实时核查,建议以 Google Scholar 或 Semantic Scholar 实时查询为准。

工程落地与核查(Jay)

事实核查

  • ✅ arXiv ID 1812.08434 确认存在,标题为"Graph Neural Networks: A Review of Methods and Applications"。
  • ⚠️ "后续几乎所有 GNN 综述的引文基础"为定性声明,无法逐篇核实;建议改为"是 GNN 综述中高引用代表之一"。
  • ⚠️ "第一次系统组织四类变体"的声明需注意:Wuy 2017 等同期工作是否已有类似分类有待原始文献核查,建议原文核验 Section I。
  • ⚠️ 引用计数 7200+(Semantic Scholar)未经实时核查,以实际查询结果为准。
  • ⚠️ Wu et al. 2020 论文全称应为"A Comprehensive Survey on Graph Neural Networks",建议核实。
  • ⚠️ 节点级 / 图级具体精度数字为原论文各章节散布数据,建议回原文 Table 1–2 核验,不建议直接引用本文转述值。
  • ✅ GCN / GAT / GraphSAGE / GIN 的技术路线和 pipeline 结构与后续文献一致。

工程路径

# GNN 选型决策树(基于五步 pipeline)
import torch_geometric as pyg

# 小图(<10k 节点)→ 直接用 GCN / GAT
model = pyg.models.GCN(in_channels, hidden_channels, out_channels, num_layers=2)

# 中图(10k–1M)→ 邻居采样 + GraphSAGE
model = pyg.models.GraphSAGE(in_channels, hidden_channels, out_channels, num_layers=2, aggr='mean')

# 大图(>1M)→ Cluster-GCN 或 GraphSAINT
# pip install torch-geometric-temporal  # GraphSAINT 在 pyg 中有集成

# 图分类 → GIN(理论表达力最强,WL-test 视角)
model = pyg.models.GIN(in_channels, hidden_channels, out_channels, num_layers=4)

# 管道自查清单
# 1. 无向图 → 添加自环并对称邻接矩阵
# 2. 特征缺失 → 补度、PageRank、特征统计量
# 3. >3 层 → 加残差连接,或用 PairNorm / DropEdge 抗过平滑
# 4. 异构图 → 用 RGCN / HAN / HeteroGNN,不直接套用同构图模型

风险与边界

  • 本文写于 2018 年,过平滑、动态图、非结构化图推理、图 Transformer 等方向在本文发表后才大规模展开,阅读时需区分"综述结论"和"后续发展"。
  • 文中所有 SOTA 数字均需回 OGB / benchmarking GNN 论文(D wivedi et al., 2020)重新核验,不可直接引用。
  • GIN(Xu et al., 2019)发表后已成图分类新基线,本文以 GCN / GAT 为代表的图分类结论需相应更新。