Github热门图深度学习(GraphDL)源码与框架

2019 年 3 月 19 日 新智元




  新智元推荐  

来源:专知(ID: Quan_Zhuanzhi)

【新智元导读】图深度学习是当前深度学习领域最热门的方向之一,图神经网络(GNN)不仅在理论上有所创新,在工业界中也真实的应用。本文介绍 Github 上热门的图神经网络源码及框架,方便研究人员和工程师上手图深度学习。


近两年来,图卷积、图注意力网络等图神经网络在学术界、工业界都有广泛的应用。虽然大多数图神经网络理论包含复杂的公式推导,但最终产出的网络结构(公式)缺一般比较简单,但这并不意味着图神经网络的实现会很简单。


导致图神经网络实现复杂的原因主要有以下几个:

  • 图卷积网络为例,它的原版依赖完整邻接矩阵和全部节点作为输入,对内存、显存和计算效率都造成了限制。好在目前有一些理论如 FaskGCN 可以通过 mini-batch 等方式来进行数据切分从而解决这个问题。

  • 虽然利用稀疏矩阵可以一定程度上缓解上述问题,但依然不能处理大规模的数据。另外,由于多层网络结构的复杂,一般在实现时要同时实现稀疏版和非稀疏版的组件。

  • 对图结构数据的预处理比较麻烦。例如在处理异构网络时,有时需要对每种类型的节点进行独立地编号、为每种关系独立建立子图等,才能将图数据转换为深度学习模型可用的数值化数据,并且任何一个细节可能都会影响算法的效率(如邻节点列表的数据结构使用 list 和 set 会导致不同的采样效率和查询效率)。

  • 需要一些基于图的额外操作,例如 Random Walk、有类型约束的 Random Walk(Meta-path)等,由于图结构的复杂性,这些操作在单机上的实现都比较费力,更不用说在大规模分布式上。


图深度学习研究者和工业界在 Github 上开源了一些优秀的图神经网络的实现其框架,都从一定程度上去解决了上述的问题,非常值得我们借鉴。下面我们列出一些优秀的 Github 仓库:


DeepWalk / LINE


链接:

DeepWalk: https://github.com/phanein/deepwalk

LINE: https://github.com/tangjianpku/LINE


简介:

虽然 DeepWalk 和 LINE 属于网络表示学习中的算法,与现在端到端的图神经网络有一定的区别,但目前一些图神经网络应用(如社交网络、引用网络节点分类)依然使用 DeepWalk/LINE 来作为预训练算法,无监督地为节点获得初始特征表示。另外,DeepWalk 项目中的 Random Walk 也可以被直接拿来用作图神经网络的数据采样操作。


图卷积网络 GCN TensorFlow/PyTorch 版


链接:

TensorFlow: https://github.com/tkipf/gcn

PyTorch: https://github.com/tkipf/pygcn


简介:

GCN 论文作者提供的源码,该源码提供了大量关于稀疏矩阵的代码。例如如何构建稀疏的变换矩阵(这部分代码被其他许多项目复用)、如何将稀疏 CSR 矩阵变换为 TensorFlow/PyTorch 的稀疏 Tensor,以及如何构建兼容稀疏和非稀疏的全连接层等,几乎是图神经网络必读的源码之一了。


快速图卷积网络 FastGCN TensorFlow 版


链接:

https://github.com/matenure/FastGCN


简介:

FastGCN 作者提供的源码,基于采样的方式构建 mini-match 来训练 GCN,解决了 GCN 不能处理大规模数据的问题。


图注意力网络 GAT TensorFlow 版


链接:

https://github.com/PetarV-/GAT


简介:

GAT 论文作者提供的源码。源码中关于 mask 的实现、以及稀疏版 GAT 的实现值得借鉴。


Mini-batch 版图注意力网络 DeepInf


链接:

https://github.com/xptree/DeepInf


简介:

DeepInf 论文其实是 GAT 的一个应用,但其基于 Random Walk 采样子图构建 mini-batch 的方法解决了 GAT 在大规模网络上应用的问题。


DeepMind 开源的图神经网络框架 Graph Nets


链接:

https://github.com/deepmind/graph_nets


简介:

基于 TensorFlow 和 Sonnet。上面的项目更侧重于节点特征的计算,而 graph_nets 同时包含节点和边的计算,可用于一些高级任务,如最短路径、物理场景模拟等。


工业级分布式图神经网络框架 Euler


链接:

https://github.com/alibaba/euler


简介:

Euler 是阿里巴巴开源的大规模分布式的图学习框架,配合 TensorFlow 或者阿里开源的 XDL 等深度学习工具,它支持用户在数十亿点数百亿边的复杂异构图上进行模型训练。



(本文转载自专知,ID:Quan_Zhuanzhi)



新智元春季招聘开启,一起弄潮AI之巅!


岗位详情请戳:

【春招英雄贴】新智元呼召智士主笔,2019勇闯AI之巅!

【2019新智元 AI 技术峰会倒计时8天】


 2019年的3月27日,新智元再汇AI之力,在北京泰富酒店举办AI开年盛典——2019新智元AI技术峰会。峰会以“智能云•芯世界“为主题,聚焦智能云和AI芯片的发展,重塑未来AI世界格局。


同时,新智元将在峰会现场权威发布若干AI白皮书,聚焦产业链的创新活跃,评述华人AI学者的影响力,助力中国在世界级的AI竞争中实现超越。

购票二维码

活动行购票链接:http://hdxu.cn/9Lb5U

点击文末“阅读原文”,马上参会!


登录查看更多
21

相关内容

【KDD2020-清华大学】图对比编码的图神经网络预训练
专知会员服务
44+阅读 · 2020年6月18日
【清华大学】图随机神经网络,Graph Random Neural Networks
专知会员服务
154+阅读 · 2020年5月26日
基于多头注意力胶囊网络的文本分类模型
专知会员服务
76+阅读 · 2020年5月24日
【WWW2020】DGL深度图神经网络实战教程,PPT+代码
专知会员服务
175+阅读 · 2020年4月12日
零样本图像识别综述论文
专知会员服务
57+阅读 · 2020年4月4日
图神经网络综述:方法及应用 | Deep Reading
AI100
36+阅读 · 2019年3月17日
Github 项目推荐 | 用 TensorFlow 实现的模型集合
AI研习社
5+阅读 · 2018年2月14日
开源巨献:阿里巴巴最热门29款开源项目
算法与数据结构
5+阅读 · 2017年7月14日
干货|基于图卷积网络的图深度学习
DataCanvas大数据云平台
9+阅读 · 2017年6月8日
Signed Graph Attention Networks
Arxiv
7+阅读 · 2019年9月5日
A Comprehensive Survey on Graph Neural Networks
Arxiv
13+阅读 · 2019年3月10日
Arxiv
53+阅读 · 2018年12月11日
3D-LaneNet: end-to-end 3D multiple lane detection
Arxiv
7+阅读 · 2018年11月26日
Arxiv
5+阅读 · 2017年4月12日
VIP会员
Top
微信扫码咨询专知VIP会员