前言:实习在外,正值酷暑,组长一时兴起,以为 GNN 如中天灼日,不妨研究一番,便令小弟搜整典籍,细心品读,十日之内速成 GNN,并整理成文,按时交付。哪知十日之中,剔除四日周末,也仅有六日之期,小弟不才,于 7 月 30 日草草交付。虽此,心仍有不甘,即开通专栏以记之。此乃小弟初栏,正可谓初次不易,愿各位 “深度” 同行多加指点,若有贻误之处,欢迎指出,吾必将返稿整修。
GNN 综述论文、报告以及编写的 GNN 示例模型代码都已上传Github,欢迎各位查阅。
专栏文章链接
- GNN 综述——从入门到入门 (本篇)
- GNN 综述:《Graph Neural Networks: A Review of Methods and Applications》
- 初探 GNN:《The Graph Neural Network Model 》
- Graph Convolutional Networks:从卷积到 GCN
- GNN 模型:Diffusion-Convolutional Neural Networks
- GNN 模型:Tree-Structured LSTM
- 番外篇:GNN 模型及实现细节
- 番外篇:PyG 框架及 Cora 数据集简介
- 番外篇:PyG 和 Pytorch 实现 GCN 与 Linear GNN
可以先大致介绍一下我整理出来的阅读报告大致结构
GNN 报告结构
该报告大致可以分为如下几个模块:
- GNN Review 论文:该部分基本上按照论文Graph Neural Networks: A Review of Methods and Applications的结构和内容进行书写和编排。后面几个部分的论文均是从该篇论文引用的文献中抽取出来进行阅读的。
- GNN 模型论文:该文献The Graph Neural Network Model按照综述论文所述,是最早提出 GNN 的论文,该部分对论文的 GNN 模型进行了较为详细的描述。
- GCN 模型论文:该部分参考了论文Semi-Supervised Classification with Graph Convolutional Networks,以及一篇对 GCN 讲解的非常全面的博客,在此感谢。
- DCNN 模型论文:该部分对论文Diffusion-Convolutional Neural Networks的模型进行了描述。
- Tree-LSTM 模型论文:该部分对论文improved semantic representations from tree-structured long short-term memory networks里面提到的Tree-LSTM和N-ary LSTM进行了描述。
- 附录:在学习 GNN 过程中,不免会遇到一些额外的或者补充的知识点,所以这些知识都包含在附录中,用于补充 GNN 阅读报告内容。
- 番外篇:番外篇主要包含 GNN 的实现过程,以及 PyG 框架的介绍和使用,相关的代码都使用 jupyter notebook 编写,方便进行运行和调试,可见 Github。
该篇作为引导篇,就先列出我了解的 GNN 的一些资料,由于刚涉猎这方面的内容,所以了解不多,后期会一直更新和提供相关链接,也希望各位提供比较好的文章、博客等 GNN 学习资料。
综述部分
- 知友的综述篇:GNN 综述简介和GNN 综述
- 清华大学发布的推荐阅读 GNN papers:Must-read papers on GNN
GCN 部分
- GCN 新手村指南:图卷积网络 (GCN) 新手村完全指南
- GCN 部分从 Fourier 变换讲到 GCN 模型:Graph Convolutional Networks
- 知友的 GCN 简述(该篇文末的第一条参考文献要看一看):图卷积网络 (Graph Convolutional networks, GCN) 简述
工具部分
- Python 构建 graph 库,networkx 库,支持图的一些操作、可视化和相关示例:NetworkX
- GNN 的 Pytorch 实战 (暂时还没用过,看起来还不错),Pytorch+PyG:Pytorch 图神经网络(GNN)实战推荐
- 感谢来自
@勃锡莱
在 Tree-LSTM 下的评论: 用 DGL 来实现逻辑会比较简单: batching 的问题https://docs.dgl.ai/tutorials/models/2_small_graph/3_tree-lstm.html,也不需要考虑 auto batching 的问题。
https://zhuanlan.zhihu.com/p/76001080