图神经网络:方法与应用综述
- 关联论文: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:
- 图结构预处理:找到最方便表示的图形式(邻接矩阵、邻接表、稀疏张量)。
- 每一步的传播 step(propagation step):节点从邻居聚合信息并更新表示。
- 采样(sampling):邻居爆炸时按层采样(如 GraphSAGE 的邻居采样)。
- 层级聚合(pooling / readout):把节点表示变成图级表示(如 sum/mean/max、hierarchical pooling)。
- 预测/解码:节点级 / 边级 / 图级任务的下游 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 为代表的图分类结论需相应更新。