PyG (PyTorch Geometric) 可能是最好用的图神经网络框架,今天刚刚发布其2.0版本。
PyG 2.0 有如下的核心变化:
异质图的支持。多种类型和节点的图如何简单高效的载入和实现GNN模型?
GraphGym的整合。考虑不同的层数,聚合函数,架构,任务,GNN可以有多种组合形式(笛卡尔积)的设计。20NIPS GraphGym Design Space for Graph Neural Networks 针对上述问题进行了系统性的研究,分析了315,000 种设计在 32种任务上设计空间。
GNN选取的指导意见(小抄)。如何针对不同图数据选取合适的GNN架构?
效率提升和Bug修复。
异质图神经网络
很多GNN都在研究只有一种类型节点和边的简单图。然而,在现实生活中,图往往包含多种类型节点和关系,称作异质图。例如,推荐场景下,只要也有建模用户和商品之间的交互关系。
异质图有很高的实用价值,但是其设计到多种类型节点及其属性,不同类型的交互,非常复杂,实现起来也很麻烦。亚马逊DGL已经支持异质图了,PyG终于赶上了。
GraphGym
考虑不同的层数,聚合函数,架构,任务,GNN可以有多种组合形式(笛卡尔积)的设计。20NIPS GraphGym Design Space for Graph Neural Networks 针对上述问题进行了系统性的研究,分析了315,000 种设计在 32种任务上设计空间。感兴趣的可以去围观一波原文(https://arxiv.org/abs/2011.08843)。
GNN小抄
如何根据图的特性来选取合适的GNN模型?
这里给出了稀疏图,带权图,二部图,静态图等不同类型图如何选取相应的GNN模型的指导意见。
https://github.com/pyg-team/pytorch_geometric/releases/tag/2.0.0