Ch12 图神经网络 · 一页信息图¶
一句话总纲: 图(G) = 节点 + 边的非欧数据,图神经网络(GNN) = 卷积从网格推广到任意拓扑,Ch12 教 5 节 — 几何深度学习(几何先验)、图论(基本概念)、GNN(GCN/GraphSAGE/GIN)、GAT(图注意力)、3D 图(分子/点云)。
一 · 知识拓扑图¶
flowchart TB
A["网格数据
CNN 成熟
🟢"] -->|推广| B["几何深度学习
GDL 范式
🟡"]
B --> C["图 G = (V, E)
节点 + 边
🟢"]
C --> D["图卷积
GCN / GraphSAGE / GAT
🟡"]
D --> E["图池化
READOUT / DiffPool
🟡"]
E --> F["节点分类
Cora / OGB
🟡"]
E --> G["链接预测
知识图谱
🟡"]
E --> H["图生成
分子 / 蛋白质
🔴"]
D -->|注意力| I["图注意力 GAT
el.u / softmax
🟡"]
I --> J["图 Transformer
Graphormer
🔴"]
B --> K["3D 图
点云 / 分子 / Mesh
🔴"]
K --> L["点云网络
PointNet++ / DGCNN
🔴"]
K --> M["分子 GNN
SchNet / MGCN
🔴"]
K --> N["等变网络
E(3)-equivariant
🔴"]
二 · 核心公式速查表¶
| # | 公式 | 数字例 | 约束 |
|---|---|---|---|
| F1 | 图的度 \(d_v = \sum_{u} A_{vu}\) | 单节点度 0-100 | 邻接矩阵对称 |
| F2 | 拉普拉斯 \(L = D - A\) | 1 个节点图 \(L=0\) | 实对称半正定 |
| F3 | 归一化拉普拉斯 \(L = I - D^{-1/2} A D^{-1/2}\) | 度 2 节点, \(\lambda \in [0, 2]\) | 谱域 [0, 2] |
| F4 | GCN 卷积 \(H^{(l+1)} = \sigma(\tilde D^{-1/2} \tilde A \tilde D^{-1/2} H^{(l)} W^{(l)})\) | 128 维隐藏 | 邻居平均 |
| F5 | GraphSAGE 聚合 \(h_v^{(l+1)} = W \cdot \text{CONCAT}(h_v^{(l)}, \text{AGG}(\{h_u^{(l)}: u \in \mathcal{N}(v)\}))\) | MEAN/MAX/LSTM | 邻居采样 |
| F6 | GAT 注意力 \(\alpha_v = \text{softmax}_u\left(\text{LeakyReLU}(\mathbf{a}^\top [W h_v \| W h_u])\right)\) | 8 头 | 自适应权重 |
| F7 | GIN 表达力 \(h_v^{(l+1)} = \text{MLP}((1+\epsilon) h_v^{(l)} + \sum_{u \in \mathcal{N}(v)} h_u^{(l)})\) | \(\epsilon\) 可学习 | WL 测试最优 |
| F8 | READOUT \(h_G = \text{READOUT}(\{h_v^{(L)}: v \in V\})\) | SUM / MEAN / MAX | 排列不变 |
| F9 | 链接预测 \(y_{uv} = \sigma(f(h_u, h_v))\) | 知识图谱 | 内积或 MLP |
| F10 | DiffPool \(S^{(l)} = \text{softmax}(\text{GNN}(A, X))\) | 100 节点 → 30 | 可微池化 |
| F11 | 节点特征 \(X \in \mathbb{R}^{N \times d}\) | N=1000, d=128 | 度稀疏 |
| F12 | PageRank \(p_v = \frac{1-d}{N} + d \sum_{u \to v} \frac{p_u}{d_u^{\text{out}}}\) | d=0.85, 100 节点 | 收敛 100 iters |
| F13 | Pool READOUT MEAN \(\bar h = \frac{1}{N} \sum h_v\) | 等权 | 节点数敏感 |
| F14 | PointNet max \(h_G = \text{MAX}_{v \in V} h_v\) | 1024 点云 | 排列不变 |
三 · 关键流程 (4 步)¶
GCN 训练 (有监督节点分类)¶
- 数据加载: 邻接矩阵 \(A\) + 节点特征 \(X\) + 标签 \(y\)
- 前向: \(H = A \sigma(AHW_0) W_1\) (2 层 GCN)
- 损失: 仅在有标签节点上算 CE loss
- 推理: 全图前向, softmax 取 top-1
图 Transformer (Graphormer 训练)¶
- 节点嵌入: 每个节点 BERT-style embedding
- 中心性编码 (Centrality Encoding): 度数排序 → 加到 \(h_v\)
- 空间编码 (Spatial Encoding): 最短路距离 → bias 项
- 注意力 \(\alpha = (QK^\top + B_{\text{spatial}}) / \sqrt{d} + C_{\text{centrality}}\), Softmax 后加权
四 · 真题 / 面试 100 题¶
| # | 题面 | 难度 |
|---|---|---|
| Q1 | GCN 与传统 CNN 的核心差异 | ★★ |
| Q2 | 为什么 GCN 用归一化拉普拉斯而不是 A? | ★★★ |
| Q3 | GraphSAGE 如何支持 inductive? | ★★★ |
| Q4 | GAT 相比 GCN 在什么场景更优? | ★★ |
| Q5 | GIN 为什么是 WL 测试最优? | ★★★ |
| Q6 | Pool READOUT 为什么必须排列不变? | ★★ |
| Q7 | 异构图如何用 GNN? | ★★★ |
| Q8 | 分子图 GNN 怎么表征原子/键? | ★★★ |
| Q9 | 几何深度学习的"群等变性"为何重要? | ★★★ |
| Q10 | GNN 的 over-smoothing 问题及解决? | ★★★ |
五 · 与上下章连接¶
- Ch06 §04 Transformer + Attention → Ch12 §04 GAT 注意力
- Ch08 §04 Diffusion (E(3) 对称性) → Ch12 §05 等变图网络
- Ch09 §04 点云 Transformer → Ch12 §05 3D 图
- Ch14 §04 图算法 (Dijkstra, BFS) → Ch12 §02 图论基础
六 · 一段话总结¶
图神经网络 = 在非欧拓扑数据上做"卷积"。这一节到 §05 覆盖:§01 几何深度学习(Bronstein 等的"群等变性"范式,CNN 是欧氏群的特例) → §02 图论(邻接矩阵/拉普拉斯/PageRank/最短路, 是 GNN 数学基础) → §03 GNN(GCN 卷积 + GraphSAGE 邻居采样 + GIN Weisfeiler-Lehman) → §04 GAT(注意力机制在图上的应用, 与 Transformer 同源) → §05 3D 图(分子 + 点云 + Mesh, 需要 E(3) 等变性)。评测基准:OGB-arxiv (~75%)、OGB-mol (~30% MAE)、PCQM4Mv2 (~5 meV)。核心心智模型: 图 = 结构化非欧数据, GNN = 通用近似器对图结构组合不变。