此blog和本人另一篇博客图神经网络GNN简介有部分内容重合,相对来说介绍的更清晰、更全面。
另,若无特殊提示,博客设计的均是无向图。
在人们的日常生活中,Graph结构的实例形形色色,无所不在。

甚至我们遇到的比较标准的数据,也可以看成是一种比较规则的graph结构。

在计算机中,图是怎样表示的呢?
一个图结构是由它的vertex(node)、edge(边)以及一些特征(如node的属性/feature)组成。

为了表示图node之间的邻接关系,常常将图存储为一个其邻接矩阵 A A A的形式,该矩阵通常是一个对称的稀疏矩阵。

度矩阵
D
D
D的计算:
D i i = ∑ j A i j \qquad\qquad D_{ii}=\sum_jA_{ij} Dii=∑jAij
另外,在有些GNN模型中还要用到拉普拉斯矩阵 L L L(normalized graph Laplacian matrix):
L = I n − D − 1 2 A D − 1 2 \qquad\qquad L=I_n-D^{-\frac{1}{2}} A D^{-\frac{1}{2}} L=In−D−21AD−21
需要进一步了解谱方法image/graph表征及重建,可以参考图片的谱表征。
常用CNN/RNN表示的数据,如图片、文本、语音等也可以表示为图结构的形式。


文本这里使用的是有向图表示。
GNN中最常用的输入数据是以下两种:一是邻接矩阵
A
A
A,另一个是特征(如节点特征
X
X
X):



CNN与GNN通常的数据计算范式如下:






从算子角度,主要分为谱方法和空间方法。


从谱方法到GCN的演变过程,简单总结如下:


GIN主要改进有两点:

为了介绍更详细,本文使用了不少来自参考文献的图片,在此感谢。
若有侵犯,请联系删除。
[1] https://distill.pub/2021/gnn-intro/#other-types-of-graphs-multigraphs-hypergraphs-hypernodes
[2] https://dsgiitr.com/blogs/gcn/
[3] https://distill.pub/2021/understanding-gnns/
[4] https://web.njit.edu/~ym329/dlg_book/dlg_book.pdf
[5] Graph neural networks: A review of methods and applications
[6] GIN: How to Design the Most Powerful Graph Neural Network
[7] A Comprehensive Survey on Graph Neural Networks