图(Graph)和图像(Image)是两个事物,图是一种数据结构,由节点(nodes)和边(edges)组成,边代表了节点之间的关系;图
G
G
G可用序偶描述:
G
=
(
V
,
E
)
G=(V,E)
G=(V,E)
其中,
V
=
{
v
1
,
v
2
,
.
.
.
,
v
n
}
V=\left\{v_{1},v_{2},...,v_{n} \right\}
V={v1,v2,...,vn}代表vertices(顶点);
E
E
E代表边,如果是有向边,则用有序偶表示:
e
=
<
u
,
v
>
e=<u,v>
e=<u,v>,
u
u
u代表起点,
v
v
v代表终点,如果是无向边则用无序偶表示:
e
=
(
u
,
v
)
e=(u,v)
e=(u,v);
每个节点可以有自己的属性(attribute)或称为特征,对于有向图,如果存在节点A指向结点B,意味着有信息message从A传到B,该过程被称为信息聚合;
当节点A指向B,B也指向A时,A与B之间的连接成为无向边,所以图中的边一切皆有向;当图 G G G中有节点构成环(有向)时,称为循环图;
根据节点之间的连接关系,又可以分为非连接图,连接图,完全连接图:
图可以表示各种对象,从社交网络到化学分子,而图神经网络(GNN,Graph Neural Networks)是基于图域信息的神经网络,GNN是一个新浪潮;
GNN可以实现节点分类,边的预测(预测node1与node2是否有边相连接),整个图的分类(比如判别化学式);
CNN与RNN的操作数据是简单的序列数据,应用对象单一且固定,GNN的数据是无序的复杂网络,图数据难以可视化,图本身很抽象,而GNN易于处理关系问题;GNN的应用范围广泛:All is Graph!
下图左边是CNN的应用,右边是GNN的应用:
下面均是GNN的应用场景: