图神经网络的分类

图卷积神经网络

GCN、GraphSage都属于图卷积神经网络,都是利用节点与节点周围的邻居信息不断的聚合,以学习到节点的高层表示。

PATCH-SAN:因为GCN和GraphSage聚合邻居信息时具有排列不变性,而PATCH-SAN是真正利用卷积操作,去完成节点的深层次的学习。
在这里插入图片描述

Graph Attention NetWork

GAT利用节点之间的attention,求出节点与周围邻居节点的attention系数,然后通过聚合邻居节点得到下一层的特征表示。

Graph Auto-encoder

在这里插入图片描述
输入一张图graph,然后通过GCN得到图的隐层节点特征表示z,然后 z ⋅ z T z ·z^T zzT还原出一张图,然后求输入图与输出图的结构性误差,当做损失函数,最小化loss之后,就学到了GCN的参数。与autoencoder思想类似,只不过把encoder转为GCN,decoder转为 z ⋅ z T z·z^T zzT
在这里插入图片描述

Graph Spatial-Temporal Networks(图时空网络)

同时考虑图的空间性和时间维度。比如在交通邻域中,速度传感器会随时间变化的时间维度,不同的传感器之间也会形成连接的空间维度的边。当前的许多方法都应用GCN来捕获图的依赖性,使用一些RNN 或CNN 对时间依赖性建模。

Graph Generative NetWork(图生成网络)

通过RNN或者GAN的方式生成网络。图生成网络的一个有前途的应用领域是化合物的生成。在化学图中,原子被视为节点,化学键被视为边,任务是发现具有某些化学和物理性质的新的可合成分子。

Graph Reinforcement Learning(图强化学习)

采用强化学习的方法应用于图网络上

Graph Adversarial Methods

GAN思想,生成器生成样本,分类器去判别样本

通用框架

MPNN消息传递网络

统一了各种图神经网络和图卷积网络,分为两个阶段:

  1. 消息传递阶段
  2. Readout阶段

消息传递阶段
在这里插入图片描述
在消息传递阶段分为两个函数:
(1)消息函数Mt :聚合了自己的节点 h v t h_v^t hvt、邻居节点 h w t h_w^t hwt和边的特征 e v w e_{vw} evw,通过消息聚合函数 M t M_t Mt,得到聚合邻居的信息 m v t + 1 m_v^{t+1} mvt+1
(2)更新函数Ut:根据本身的向量 h v t h_v^t hvt,以及聚合了邻居信息的特征 m v t + 1 m_v^{t+1} mvt+1,然后通过更新函数 U t U_t Ut更新了下一层的节点的表示。

上面两步,可以在GCN、GraphSage模型中都有体现。

在Readout阶段
得到每一个节点的特征 h v t + 1 h_v^{t+1 } hvt+1,将这些节点聚合在一起得到了图的特征表示。相当于聚合了图上所有的节点。同时要保证节点排列不变性。

NLNN统一Attention

None-local Neural NetWorks 非局部图网络
在这里插入图片描述
上述公式中, f ( x i , x j ) f(x_i,x_j) f(xi,xj)表示 i , j i,j i,j节点之间的关系,可以通过很多关系函数求得,例如 f ( h i , h j ) = e h i T h j 、 f ( h i , h j ) = e θ ( h i ) T ϕ ( h j ) 、 f ( h i , h j ) = θ ( h i ) T ϕ ( h j ) 、 f ( h i , h j ) = R e L U ( w T [ θ ( h i ) ∣ ∣ ϕ ( h i ) ] ) f(h_i, h_j)=e^{h_i^Th_j}、f(h_i,h_j)=e^{\theta(h_i)^T \phi(h_j)}、f(h_i,h_j)=\theta(h_i)^T\phi(h_j)、f(h_i,h_j)=ReLU(w^T[\theta(h_i) || \phi(h_i)]) f(hi,hj)=ehiThjf(hi,hj)=eθ(hi)Tϕ(hj)f(hi,hj)=θ(hi)Tϕ(hj)f(hi,hj)=ReLU(wT[θ(hi)ϕ(hi)])

g ( x j ) g(x_j) g(xj)表示 x j x_j xj经过 g ( x ) g(x) g(x)函数的变换。

∑ ∀ j f ( x i , x j ) g ( x j ) \sum_{\forall j}f(x_i,x_j)g(x_j) jf(xi,xj)g(xj)表示,聚合节点x的所有邻居节点j
然后通过归一化操作求得节点i的新的特征表示。

在GAT中, x i , x j x_i,x_j xi,xj相当于attention系数, f ( x i , x j ) f(x_i,x_j) f(xi,xj) 相当于将节点i和节点j拼接之后与attention系数相乘然后与 g ( x j ) g(x_j) g(xj)相乘加权求和。

GN网络

统一了MPNN和NLNN
GN block
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

上面我们讨论了简单图的图神经网络模型,这些图都是静态的,只有一种节点和一种边。然而,在许多现实世界的应用程序中的图表要复杂得多。它们通常有多种类型的节点、边缘、独特的结构,而且通常是动态的。

  1. 异构图 Heterogeneous Graph Neural Networks
  2. 二部图 Bipartite Graph Neural Networks
  3. 多维图 Multi-dimensional Graph Neural Networks
  4. 符号图 Signed Graph Neural Networks
  5. 超图 Hypergraph Neural Networks
  6. 动态图 Dynamic Graph Neural Networks

异构图

节点和节点之间或者边之间的关系是不一样的。例如作者可以发表文章,参加会议,文章之间又有引用的关系。
在这里插入图片描述

二部图

可以将图中所有的节点分为两部分,其中每一部分内之间是没有边的连接, 不同部分之间可以有边连接,例如人可以在电商网站购买物品,任何人之间或者物品和物品之间没有边的连接,但是任何物品之间可以通过购买关系相连接,这种方式的图就是二部图
在这里插入图片描述

多维图

在这里插入图片描述

符号图

节点和节点之间的边是有相反属性的关系,例如两个人之间如果是朋友关系则为 + 1 +1 +1,如果是敌对关系则为 − 1 -1 1,如果不认识,则没有边连接。边上有符号的图叫符号图。
在这里插入图片描述

超图

在这里插入图片描述

动态图

上面提到的图是静态的,观察时节点之间的连接是固定的。 但是,在许多实际应用中,随着新节点被添加到图中,图在不断发展,并且新边也在不断出现。 例如,在诸如Facebook的在线社交网络中,用户可以不断与他人建立友谊,新用户也可以随时加入Facebook。 这些类型的演化图可以表示为动态图,其中每个节点或边都与时间戳关联。
在这里插入图片描述
例如在 t 0 t_0 t0时刻,节点 v 2 v_2 v2关注了节点 v 1 v_1 v1,在 t 1 t_1 t1时刻,节点 v 3 v_3 v3也关注了 v 1 v_1 v1,以此类推,随着时间的变化生成的图就是动态图。

おすすめ

転載: blog.csdn.net/vincent_duan/article/details/120473837
おすすめ