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终于赶上了。
![](https://i-blog.csdnimg.cn/blog_migrate/2c51e5f7cc67de71b872788241bc2e2b.png)
![](https://i-blog.csdnimg.cn/blog_migrate/8dcc91866dceec2ba7b3584bbdd536c4.png)
GraphGym
考虑不同的层数,聚合函数,架构,任务,GNN可以有多种组合形式(笛卡尔积)的设计。20NIPS GraphGym Design Space for Graph Neural Networks 针对上述问题进行了系统性的研究,分析了315,000 种设计在 32种任务上设计空间。感兴趣的可以去围观一波原文(https://arxiv.org/abs/2011.08843)。
![](https://i-blog.csdnimg.cn/blog_migrate/33a2308c70868b471eff99f0c1f58d05.png)
![](https://i-blog.csdnimg.cn/blog_migrate/e35c6da6de5f324ded4b14617d50815c.png)
![](https://i-blog.csdnimg.cn/blog_migrate/735c064937b4f10f543d6c6216803f84.png)
GNN小抄
如何根据图的特性来选取合适的GNN模型?
这里给出了稀疏图,带权图,二部图,静态图等不同类型图如何选取相应的GNN模型的指导意见。
![](https://i-blog.csdnimg.cn/blog_migrate/12bed3779a0f2bf5056a8ae949495db1.png)
https://github.com/pyg-team/pytorch_geometric/releases/tag/2.0.0