从零开始学GNN

发布于:2022-10-19 ⋅ 阅读:(554) ⋅ 点赞:(0)

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

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

1.什么是Graph

在人们的日常生活中,Graph结构的实例形形色色,无所不在。
在这里插入图片描述
甚至我们遇到的比较标准的数据,也可以看成是一种比较规则的graph结构。
在这里插入图片描述

1.1 图结构的表示

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

一个图结构是由它的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=InD21AD21

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

1.2 特殊数据的图表示

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

在这里插入图片描述
在这里插入图片描述
文本这里使用的是有向图表示。

1.3 GNN常用的输入数据

GNN中最常用的输入数据是以下两种:一是邻接矩阵 A A A,另一个是特征(如节点特征 X X X):
在这里插入图片描述

2.Why GNN?

在这里插入图片描述

在这里插入图片描述
CNN与GNN通常的数据计算范式如下:
在这里插入图片描述

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

在这里插入图片描述

3.1 例1

在这里插入图片描述

3.2 例2

在这里插入图片描述

4.GNN模型

从算子角度,主要分为谱方法和空间方法。
在这里插入图片描述

4.1 GCN

在这里插入图片描述

从谱方法到GCN的演变过程,简单总结如下:
在这里插入图片描述

4.2 GAT

在这里插入图片描述

4.3 GIN

GIN主要改进有两点:

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

在这里插入图片描述
为了介绍更详细,本文使用了不少来自参考文献的图片,在此感谢。

若有侵犯,请联系删除。

参考文献

[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

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到