一、图数据:无处不在的结构化信息
现实世界充满图结构数据:社交网络(用户-好友关系)、分子结构(原子-化学键)、知识图谱(实体-关系)、交通网络(路口-道路)、推荐系统(用户-商品交互图)。传统深度学习擅长处理网格结构(图像)和序列结构(文本),但对非欧几里得空间的图数据却束手无策。图神经网络(GNN)正是为处理图结构数据而生。
二、消息传递范式:GNN的数学核心
几乎所有GNN变体都遵循统一的消息传递范式(Message Passing):
h_v^(k+1) = UPDATE( h_v^(k), AGGREGATE({ MSG(h_v^(k), h_u^(k)) : u ∈ N(v) }) )
三个关键步骤拆解:
- 消息计算(MSG):邻居节点u向中心节点v发送信息,通常是MLP变换后拼接或相加
- 消息聚合(AGGREGATE):将邻居消息汇总为单个向量,常用Mean/Sum/Max Pooling或注意力加权
- 状态更新(UPDATE):结合自身旧状态和聚合后的邻居消息,生成新状态
这种消息传递机制与人类社交中的"信息扩散"过程高度相似——你的观点会被朋友影响,而朋友又被他们的朋友影响。
三、经典GNN模型对比
| 模型 | 核心创新 | 聚合方式 | 适用场景 |
|---|---|---|---|
| GCN | 将CNN的卷积操作推广到图,使用归一化邻接矩阵 | 对称归一化求和 | 直推式节点分类 |
| GAT | 引入注意力机制,自动学习邻居的重要性权重 | 注意力加权求和 | 异构图、噪声图 |
| GraphSAGE | 采样固定数量邻居,支持归纳式学习 | Mean/LSTM/Pooling | 大规模图、动态图 |
| GIN | 理论证明达到WL测试上限的表达能力 | SUM聚合 + MLP | 图分类、分子属性预测 |
四、四大核心任务
- 节点分类:预测图中每个节点类别。应用:社交网络用户属性推断、论文领域分类
- 链接预测:预测两个节点间是否存在边。应用:推荐系统召回、知识图谱补全、药物-靶点关系预测
- 图分类:预测整个图的类别。应用:分子毒性预测、蛋白质功能分类
- 图生成:生成具有特定属性的图结构。应用:药物分子设计、新材料发现
五、主流框架与实战建议
- PyTorch Geometric(PyG):最流行的GNN框架,API简洁,与PyTorch生态无缝集成
- DGL(Deep Graph Library):支持多后端(PyTorch/TF/MXNet),大规模图训练优化好
- Spektral:基于TF/Keras,适合TensorFlow生态用户
实战建议:小规模实验用PyG,百万节点以上用DGL。入门最佳实践:先用GCN跑通Cora/CiteSeer基准数据集,再逐步尝试GAT和GraphSAGE。
相关阅读:计算机视觉技术演进 | NLP技术全景 | 深度学习图像处理最佳实践
评论 (77)