从零开始学GNN

动手学学GNN

  • 1.什么是Graph
    • 1.1 图结构的表示
    • 1.2 特殊数据的图表示
    • 1.3 GNN常用的输入数据
  • 2.Why GNN?
  • 3.GNN解决的问题及对应的任务
    • 3.1 例1
    • 3.2 例2
  • 4.GNN模型
    • 4.1 各任务对应的GNN简图
    • 4.2 GNN 分类
      • 4.2.1 GCN
      • 4.2.2 GAT
      • 4.2.3 GIN
  • 参考文献

此blog和本人另一篇博客图神经网络GNN简介有部分内容重合,相对来说介绍的更清晰、更全面。

另,若无特殊提示,博客设计的均是无向图。

1.什么是Graph

在人们的日常生活中,Graph结构的实例形形色色,无所不在。
从零开始学GNN_第1张图片
甚至我们遇到的比较标准的数据,也可以看成是一种比较规则的graph结构。
从零开始学GNN_第2张图片

1.1 图结构的表示

在计算机中,图是怎样表示的呢?

一个图结构是由它的vertex(node)、edge(边)以及一些特征(如node的属性/feature)组成。
从零开始学GNN_第3张图片

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

从零开始学GNN_第4张图片
度矩阵 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=InD21AD21

需要进一步了解谱方法image/graph表征及重建,可以参考图片的谱表征。

1.2 特殊数据的图表示

常用CNN/RNN表示的数据,如图片、文本、语音等也可以表示为图结构的形式。

从零开始学GNN_第5张图片
从零开始学GNN_第6张图片
文本这里使用的是有向图表示。

1.3 GNN常用的输入数据

GNN中最常用的输入数据是以下两种:一是邻接矩阵 A A A,另一个是特征(如节点特征 X X X):
从零开始学GNN_第7张图片

2.Why GNN?

从零开始学GNN_第8张图片

从零开始学GNN_第9张图片
CNN与GNN通常的数据计算范式如下:
从零开始学GNN_第10张图片

3.GNN解决的问题及对应的任务

从零开始学GNN_第11张图片

3.1 例1

从零开始学GNN_第12张图片

3.2 例2

从零开始学GNN_第13张图片

4.GNN模型

4.1 各任务对应的GNN简图

从零开始学GNN_第14张图片

从零开始学GNN_第15张图片

4.2 GNN 分类

从算子角度,主要分为谱方法和空间方法。
从零开始学GNN_第16张图片

4.2.1 GCN

从零开始学GNN_第17张图片

从谱方法到GCN的演变过程,简单总结如下:
从零开始学GNN_第18张图片

4.2.2 GAT

从零开始学GNN_第19张图片

4.2.3 GIN

GIN主要改进有两点:

  • 加入了一个小的学习参数 ϵ \epsilon ϵ
  • concatenate/aggragate 所有layer的输出结果。

从零开始学GNN_第20张图片
为了介绍更详细,本文使用了不少来自参考文献的图片,在此感谢。

若有侵犯,请联系删除。

参考文献

[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

你可能感兴趣的:(深度学习,深度学习,自然语言处理,神经网络,图神经网络)