
摘要
近年来,图神经网络(GNNs)通过有效地学习节点嵌入,彻底革新了图表示学习领域,并在节点分类和链接预测等任务中取得了最先进的成果。然而,当前的GNN方法本质上是扁平的,无法学习图的层次表示——这一局限性在图分类任务中尤为突出,因为该任务的目标是预测整个图所关联的标签。本文提出了一种可微分的图池化模块DiffPool,它可以生成图的层次表示,并可以以端到端的方式与各种图神经网络架构结合使用。DiffPool在深度GNN的每一层学习一个可微分的软聚类分配,将节点映射到一组聚类中,这些聚类随后作为下一层GNN的粗化输入。实验结果表明,将现有的GNN方法与DiffPool结合使用,在图分类基准测试中的平均准确率提高了5-10%,相比所有现有的池化方法,在五个基准数据集中有四个达到了新的最先进水平。
代码仓库
Tioz90/GCN
tf
GitHub 中提及
https://gitlab.com/cedric_sanders/masterarbeit
pytorch
GitHub 中提及
basiralab/Reproducible-Generative-Learning
pytorch
GitHub 中提及
RexYing/graph-pooling
pytorch
GitHub 中提及
gospodima/extended-simgnn
pytorch
GitHub 中提及
Tioz90/DiffPool
tf
GitHub 中提及
basiralab/reproduciblefedgnn
pytorch
GitHub 中提及
VoVAllen/diffpool
pytorch
GitHub 中提及
PasqualeAuriemma/GCN-DIFFPOOL
tf
GitHub 中提及
RexYing/diffpool
pytorch
GitHub 中提及
basiralab/RG-Select
pytorch
GitHub 中提及
chappers/graph-differential-pooling
pytorch
GitHub 中提及
AaltoPML/Rethinking-pooling-in-GNNs
pytorch
GitHub 中提及
基准测试
| 基准 | 方法 | 指标 |
|---|---|---|
| graph-classification-on-collab | GNN (DiffPool) | Accuracy: 75.48% |
| graph-classification-on-dd | S2V (with 2 DiffPool) | Accuracy: 82.07% |
| graph-classification-on-dd | GNN (DiffPool) | Accuracy: 80.64% |
| graph-classification-on-enzymes | S2V (with 2 DiffPool) | Accuracy: 63.33% |
| graph-classification-on-enzymes | GNN (DiffPool) | Accuracy: 62.53% |
| graph-classification-on-proteins | GNN (DiffPool) | Accuracy: 76.25% |
| graph-classification-on-reddit-multi-12k | GNN (DiffPool) | Accuracy: 47.08 |
| graph-property-prediction-on-ogbg-code2 | DiffPool w/ graphSAGE | Ext. data: No Number of params: 10095826 Test F1 score: 0.1401 ± 0.0012 Validation F1 score: 0.1405 ± 0.0012 |