GNN 应用
图神经网络(GNN)已经从学术研究走向了广泛的工业应用。本文梳理 GNN 在分子科学、推荐系统、知识图谱、交通预测、图生成和点云处理等领域的代表性工作,展现图学习的强大通用性。
学习路线: GNN 基础(GCN/GraphSAGE/GAT)→ 消息传递范式 → 领域特定图构建 → 代表性模型 → 工业实践
分子性质预测与药物发现
分子图的表示
分子天然具有图结构:原子是节点,化学键是边。分子图的节点特征通常包括原子类型、电荷、杂化状态等;边特征包括键的类型(单键/双键/三键/芳香键)、键长等。
| 要素 | 图表示 | 特征示例 |
|---|---|---|
| 原子 | 节点 | 原子序数、电荷、手性、氢原子数 |
| 化学键 | 边 | 键类型、是否共轭、是否在环中 |
| 分子 | 图 | 分子量、LogP、TPSA |
MPNN(Message Passing Neural Network)
Gilmer et al. (2017) 提出了 MPNN 框架,将多种 GNN 统一为消息传递范式:
消息阶段:
更新阶段:
读出阶段(图级别预测):
其中 \(M_t\) 是消息函数,\(U_t\) 是更新函数,\(R\) 是读出函数(如 sum pooling + MLP)。
SchNet
SchNet(Schutt et al., 2017)专为3D 分子设计,直接处理原子的空间坐标:
- 使用原子间距离的径向基函数(RBF)作为边特征
- 连续滤波卷积:核函数是原子间距离的连续函数
- 满足旋转不变性和平移不变性
- 广泛用于分子动力学模拟和能量预测
药物发现中的应用
| 任务 | 输入 | 输出 | 代表方法 |
|---|---|---|---|
| 分子性质预测 | 分子图 | 溶解度、毒性等 | MPNN, AttentiveFP |
| 虚拟筛选 | 药物-靶点对 | 结合亲和力 | GraphDTA |
| 分子生成 | 先验分布 | 新分子结构 | JT-VAE, GraphAF |
| 药物-药物交互 | 药物对图 | 交互类型 | MHCADDI |
推荐系统
PinSage
PinSage(Ying et al., 2018)是 Pinterest 开发的工业级 GNN 推荐系统,处理数十亿节点的大规模图:
核心技术:
- 随机游走采样:用 Personalized PageRank 对邻居进行重要性排序,选择最相关的邻居
- 生产者-消费者架构:CPU 采样邻居和构建计算图,GPU 执行 GNN 前向/反向传播
- 课程学习:训练早期使用随机负样本,后期使用硬负样本(embedding 空间中接近但非正样本的节点)
- MapReduce 推断:离线批量生成所有节点的嵌入
LightGCN
LightGCN(He et al., 2020)通过极简设计在推荐场景中取得出色效果:
关键简化:
- 去掉特征变换矩阵:不使用 \(W^{(l)}\)
- 去掉非线性激活函数:不使用 \(\sigma(\cdot)\)
- 多层嵌入加权求和:最终嵌入为各层嵌入的加权平均
| 方法 | 核心思想 | 图类型 | 优势 |
|---|---|---|---|
| PinSage | GraphSAGE + 随机游走 | 二部图 | 工业规模可扩展 |
| LightGCN | 简化 GCN | 用户-物品二部图 | 简洁高效,SOTA |
| NGCF | GCN + 协同信号 | 用户-物品二部图 | 显式建模高阶交互 |
| SR-GNN | GNN + 会话图 | 会话序列构建图 | 捕捉会话内物品关系 |
知识图谱推理
R-GCN(Relational GCN)
知识图谱中的边具有多种类型(关系),标准 GCN 无法处理。R-GCN(Schlichtkrull et al., 2018)为每种关系学习不同的变换矩阵:
其中 \(\mathcal{R}\) 是关系类型集合,\(\mathcal{N}_r(v)\) 是关系 \(r\) 下节点 \(v\) 的邻居,\(c_{v,r}\) 是归一化常数。
参数爆炸问题:关系类型多时,参数量巨大。解决方案:
- 基分解(Basis Decomposition):\(W_r = \sum_{b=1}^{B} a_{rb} V_b\),用少量基矩阵的线性组合
- 块对角分解(Block Diagonal):将 \(W_r\) 约束为块对角矩阵
典型任务
| 任务 | 描述 | 评估指标 |
|---|---|---|
| 链接预测 | 预测缺失的三元组 \((h, r, t)\) | MRR, Hits@K |
| 实体分类 | 预测实体的类型 | Accuracy, F1 |
| 关系预测 | 预测两实体之间的关系类型 | Accuracy |
交通预测
STGCN(时空图卷积网络)
STGCN(Yu et al., 2018)是将 GNN 应用于交通预测的开创性工作,同时建模空间依赖和时间依赖:
空间维度:路网天然是图结构(路口为节点,道路为边),用图卷积捕捉空间相关性。
时间维度:使用一维因果卷积(而非 RNN)捕捉时序依赖,避免递归计算的效率问题。
架构:ST-Conv Block = 时间卷积 → 空间图卷积 → 时间卷积
其中 \(\Gamma\) 表示时间卷积,\(\Theta\) 表示图卷积,\(*\) 表示卷积操作。
| 交通预测方法 | 空间建模 | 时间建模 | 特点 |
|---|---|---|---|
| STGCN | ChebNet 图卷积 | 一维因果卷积 | 高效,并行计算 |
| DCRNN | 扩散卷积 | GRU | 捕捉有向扩散过程 |
| Graph WaveNet | 自适应邻接矩阵 | 空洞因果卷积 | 无需预定义图结构 |
| ASTGCN | 注意力图卷积 | 注意力时序 | 动态时空注意力 |
图生成
GraphRNN
GraphRNN(You et al., 2018)将图生成建模为序列生成问题:
- 图级 RNN:依次生成节点,每步输出一个节点的状态
- 边级 RNN:对每个新节点,生成它与已有节点之间的边
优势在于自回归地生成图结构,能建模复杂的图分布。
DiGress
DiGress(Vignac et al., 2023)是基于离散扩散的图生成模型:
- 对节点类型和边类型定义离散噪声过程
- 前向过程逐步将图"腐蚀"为随机图
- 反向过程学习去噪,从随机图恢复目标图
- 使用图 Transformer 作为去噪网络
| 方法 | 生成范式 | 优势 | 局限 |
|---|---|---|---|
| GraphRNN | 自回归 | 灵活,可处理任意大小图 | 生成顺序依赖,速度慢 |
| GraphVAE | VAE | 一次性生成 | 受限于固定图大小 |
| DiGress | 离散扩散 | 高质量,不依赖节点排序 | 计算密集 |
| GDSS | 连续扩散 (SDE) | 处理连续属性 | 需要连续松弛 |
点云处理
从点云到图
点云(Point Cloud)是 3D 空间中的离散点集合,广泛用于自动驾驶、机器人和 AR/VR。将点云转化为图的常见方法:
- k-近邻图(k-NN Graph):每个点连接其 \(k\) 个最近邻
- 半径图(Radius Graph):连接距离小于 \(r\) 的点对
- Delaunay 三角化:基于三角化构建图
DGCNN(Dynamic Graph CNN)
DGCNN(Wang et al., 2019)在特征空间(而非仅在坐标空间)中动态构建 k-NN 图:
- 每层网络根据当前特征重新构建图(动态图)
- EdgeConv 操作:将边特征定义为中心点与邻居的差异
PointNet++ 与图的关系
PointNet++(Qi et al., 2017)虽然不是显式的 GNN,但其层次化采样-分组-聚合范式与 GraphSAGE 高度一致:
| 操作 | PointNet++ | GraphSAGE 类比 |
|---|---|---|
| 采样(Sampling) | 最远点采样(FPS) | 目标节点选择 |
| 分组(Grouping) | Ball query / k-NN | 邻居采样 |
| 聚合(Aggregation) | PointNet(max pooling) | 聚合函数(Pool) |
| 方法 | 图构建 | 核心创新 | 应用场景 |
|---|---|---|---|
| PointNet | 无图结构(独立点) | 置换不变的集合函数 | 分类、分割基线 |
| PointNet++ | 层次化局部区域 | 多尺度分组 | 不均匀点云 |
| DGCNN | 特征空间动态 k-NN | 动态图 + EdgeConv | 形状分类、分割 |
| Point Transformer | k-NN 图 + 注意力 | 向量注意力 | 大规模点云分割 |
总结与展望
GNN 的应用已经渗透到几乎所有涉及关系数据的领域。核心范式是:识别问题中的图结构 → 设计合适的消息传递机制 → 针对下游任务优化。
| 趋势 | 描述 |
|---|---|
| 预训练 GNN | 在大规模无标签图数据上预训练,迁移到下游任务 |
| GNN + LLM | 结合大语言模型处理图上的文本属性 |
| 等变 GNN | 保持几何对称性(旋转/平移等变),用于分子和物理 |
| 可扩展性 | 更高效的采样和训练策略,支持百亿级图 |
| 异构图 | 处理多类型节点和边的真实世界图 |
图无处不在。掌握 GNN 的核心思想和应用范式,是理解现代 AI 系统的重要一环。