从上到下,一文带你看全所有GNN分类
一般来说,我喜欢从上往下的角度来入门一个方向,毕竟入门的秘诀就是从广到深,而不至于在一开始就只见枝叶不见森林。先在心中有个谱,然后再慢慢奏好每个音符,这样就会出来美妙的旋律。
我们挑选了清华大学刘知远老师的《Introduction to Graph Neural Networks》和他们的一份综述《Graph Neural Networks: A Review of Methods and Applications》作为参考。优秀的综述很多,我可能也参考了其他,但主要还是这两者。
本文是一个序章,是一篇导读文,从本文开始,后面的文章我再细细拆分和详解。
让我们开始吧。
总架构
首先是总架构,从下方的思维导图可以看到,我们可以从九个方面来全方面了解我们的GNN。
简单来说可以分成五大部分:
- 基础:包括理解GNN需要的数学基础、图论基础,和神经网络基础。
- GNN的了解:包括图的种类、传播类型、训练方法、通用框架。
- 应用场景:GNN在各个场景下的应用。
- 开放问题:探讨GNN的发展方向。
- 开放资源:GNN常用的数据集和代码框架。
从这里开始,我就逐块介绍每一部分。
数学/图基础
一切深度学习都离不开数学,图神经网络也不例外。为了更方便地理解GNN,这里给出一些相关的数学概念。
- 线性代数:在计算机科学、机器学习领域,线性代数广泛使用。想要对机器学习有深入的理解,就必须对线性代数有个透彻的了解。
- 概率论:不确定性在机器学习领域无处不在,所以我们需要使用概率论来量化和处理不确定性。
- 图论:图是GNN的基础(这不是废话吗),所以想对GNN有个全面的了解,基本的图论知识是必须的。