图卷积神经网络
GCN、GraphSage都属于图卷积神经网络,都是利用节点与节点周围的邻居信息不断的聚合,以学习到节点的高层表示。
PATCH-SAN:因为GCN和GraphSage聚合邻居信息时具有排列不变性,而PATCH-SAN是真正利用卷积操作,去完成节点的深层次的学习。
Graph Attention NetWork
GAT利用节点之间的attention,求出节点与周围邻居节点的attention系数,然后通过聚合邻居节点得到下一层的特征表示。
Graph Auto-encoder
输入一张图graph
,然后通过GCN得到图的隐层节点特征表示z,然后z⋅zTz ·z^Tz⋅zT还原出一张图,然后求输入图与输出图的结构性误差,当做损失函数,最小化loss之后,就学到了GCN的参数。与autoencoder思想类似,只不过把encoder转为GCN,decoder转为z⋅zTz·z^Tz⋅zT
Graph Spatial-Temporal Networks(图时空网络)
同时考虑图的空间性和时间维度。比如在交通邻域中,速度传感器会随时间变化的时间维度,不同的传感器之间也会形成连接的空间维度的边。当前的许多方法都应用GCN来捕获图的依赖性,使用一些RNN 或CNN 对时间依赖性建模。
Graph Generative NetWork(图生成网络)
通过RNN或者GAN的方式生成网络。图生成网络的一个有前途的应用领域是化合物的生成。在化学图中,原子被视为节点,化学键被视为边,任务是发现具有某些化学和物理性质的新的可合成分子。
Graph Reinforcement Learning(图强化学习)
采用强化学习的方法应用于图网络上
Graph Adversarial Methods
GAN思想,生成器生成样本,分类器去判别样本
通用框架
MPNN消息传递网络
统一了各种图神经网络和图卷积网络,分为两个阶段:
- 消息传递阶段
- Readout阶段
消息传递阶段
在消息传递阶段分为两个函数:
(1)消息函数Mt :聚合了自己的节点hvth_v^thvt、邻居节点hwth_w^thwt和边的特征evwe_{vw}evw,通过消息聚合函数MtM_tMt,得到聚合邻居的信息mvt+1m_v^{t+1}mvt+1。
(2)更新函数Ut:根据本身的向量hvth_v^thvt,以及聚合了邻居信息的特征mvt+1m_v^{t+1}mvt+1,然后通过更新函数UtU_tUt更新了下一层的节点的表示。
上面两步,可以在GCN、GraphSage模型中都有体现。
在Readout阶段
得到每一个节点的特征hvt+1h_v^{t+1 }hvt+1,将这些节点聚合在一起得到了图的特征表示。相当于聚合了图上所有的节点。同时要保证节点排列不变性。
NLNN统一Attention
None-local Neural NetWorks 非局部图网络
上述公式中,f(xi,xj)f(x_i,x_j)f(xi,xj)表示i,ji,ji,j节点之间的关系,可以通过很多关系函数求得,例如f(hi,hj)=ehiThj、f(hi,hj)=eθ(hi)Tϕ(hj)、f(hi,hj)=θ(hi)Tϕ(hj)、f(hi,hj)=ReLU(wT[θ(hi)∣∣ϕ(hi)])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)=ehiThj、f(hi,hj)=eθ(hi)Tϕ(hj)、f(hi,hj)=θ(hi)Tϕ(hj)、f(hi,hj)=ReLU(wT[θ(hi)∣∣ϕ(hi)])
g(xj)g(x_j)g(xj)表示xjx_jxj经过g(x)g(x)g(x)函数的变换。
∑∀jf(xi,xj)g(xj)\sum_{\forall j}f(x_i,x_j)g(x_j)∑∀jf(xi,xj)g(xj)表示,聚合节点x的所有邻居节点j
然后通过归一化操作求得节点i的新的特征表示。
在GAT中,xi,xjx_i,x_jxi,xj相当于attention系数,f(xi,xj)f(x_i,x_j)f(xi,xj) 相当于将节点i和节点j拼接之后与attention系数相乘然后与g(xj)g(x_j)g(xj)相乘加权求和。
GN网络
统一了MPNN和NLNN
GN block
上面我们讨论了简单图的图神经网络模型,这些图都是静态的,只有一种节点和一种边。然而,在许多现实世界的应用程序中的图表要复杂得多。它们通常有多种类型的节点、边缘、独特的结构,而且通常是动态的。
- 异构图 Heterogeneous Graph Neural Networks
- 二部图 Bipartite Graph Neural Networks
- 多维图 Multi-dimensional Graph Neural Networks
- 符号图 Signed Graph Neural Networks
- 超图 Hypergraph Neural Networks
- 动态图 Dynamic Graph Neural Networks
异构图
节点和节点之间或者边之间的关系是不一样的。例如作者可以发表文章,参加会议,文章之间又有引用的关系。
二部图
可以将图中所有的节点分为两部分,其中每一部分内之间是没有边的连接, 不同部分之间可以有边连接,例如人可以在电商网站购买物品,任何人之间或者物品和物品之间没有边的连接,但是任何物品之间可以通过购买关系相连接,这种方式的图就是二部图
多维图
符号图
节点和节点之间的边是有相反属性的关系,例如两个人之间如果是朋友关系则为+1+1+1,如果是敌对关系则为−1-1−1,如果不认识,则没有边连接。边上有符号的图叫符号图。
超图
动态图
上面提到的图是静态的,观察时节点之间的连接是固定的。 但是,在许多实际应用中,随着新节点被添加到图中,图在不断发展,并且新边也在不断出现。 例如,在诸如Facebook的在线社交网络中,用户可以不断与他人建立友谊,新用户也可以随时加入Facebook。 这些类型的演化图可以表示为动态图,其中每个节点或边都与时间戳关联。
例如在t0t_0t0时刻,节点v2v_2v2关注了节点v1v_1v1,在t1t_1t1时刻,节点v3v_3v3也关注了v1v_1v1,以此类推,随着时间的变化生成的图就是动态图。