图神经网络综述

基于收敛的方法

基于收敛的方法目标是学习每个节点的一种状态嵌入\(h_v\)(包括每个节点的邻居节点信息和自身的信息),\(h_v\) 是一个 关于节点 \(v\)\(s\) 维的向量特征,用于输出 \(o_v\) (例如输出节点的标签的分布)

\[h_v = f(x_v, x_{co[v]}, h_{N{v}}, x_{N_v)}\\ o_v = g(h_v, x_v) \]

其中 \(f\) 为一个局部的传播(转移)函数,\(g\) 为 输出函数,这两个都为前馈神经网络

其中基于收敛方法代表算法

GraphESN : 它使用的固定的压缩编码函数,只训练读出函数。其收敛性有储层动力学的收缩性保证。

SSE(随机稳态嵌入) : SSE 以随机和异步的方式周期性的更新节点隐藏状态,在更新步骤中,通过参数化算子更新每个节点的嵌入,并将这些嵌入投影到稳态约束空间以满足稳态条件,其递归函数定义为历史状态和更新状态的加权平均值,形式如下:

\[h_v^t = (1-\alpha)h_v^{t - 1} + \alpha W_1 \sigma(W_2 [X_v, \sum_{u \in N_{(v)}}[h_u^{t - 1}, x_u]]) \]

LP-GNN(拉格朗日传播): 在拉格朗日框架下将学习任务形式化为约束优化问题,避免不定点的迭代计算,收敛过程有约束满足机制隐式表示。

基于门控机制的方法

基于门控机制的方法使用 GRU、LSTM 等们机制,以降低 GNN 计算限制,并改善信息在图结构中的长期传播,他们运行固定数量步骤,但不保证收敛。

其中基于门控机制代表算法

GGNN: 为了克服门图神经网络的局限性而提出的。它解除了函数 \(f\) 是压缩映射的要求,在传播步骤中使用了门循环单元 (GRU)。它还使用时间反向传播 (BPTT) 来计算梯度。 GGNN 步骤首先聚集邻居节点的消息,然后、类似 GRU 的更新函数合并其他节点和前一个时间步长的信息,以更新每个节点的隐藏状态 ,\(h_v\) 收集节点和邻居节点信息, \(z\)\(r\) 是更新门和复位门

\[AGG:h_{N_v} ^ t = \sum_{k\in N_{v}} h_k^{(t - 1)} + b\\ Updater: z_v^t = \sigma(W^zh_{N_v}^t + U^z h _v ^ {t - 1})\\ r_v^t = \sigma(W^rh_{N_v}^t + U^r h _v ^ {t - 1})\\ h_v^t = tanh(Wh_{N_v}^t + U^r(t_v^t h_v^{t - 1}))\\ h_v^t = (1 - z_v^t) h_v ^{t - 1} + z_v^t h_v^t\\ \]

Tree LSTM :

graph LSTM :

S-LSTM :

传播模块-跳跃连接

为了得到更好的效果,许多应用会展开或堆叠图神经网络层,这是因为更深的网络可以为节点聚合更多的信息(例如,k 层网络可以聚合 k 跳邻居的信息)。然而,许多实验证明,更深的模型不一定会具有更好的性能,其结果可能恰恰相反。这主要是因为更深的网络也可能从以指数形式增长的邻居向节点传播噪声信息。这可能会引起过平滑问题, 因为当模型深入是,节点在聚合操作之后往往具有相似表示。因此,许多方法都试图添加 跳跃连接以使 GNN 模型更深入。

Highway GCN :

JKN :

DeepGCNs :

采样模块

GNN 模型从上一层的邻域中聚集每个节点的消息。直观地说,如果我们回溯多个 GNN 层,支持邻居的大小将随深度呈指数增长。要缓解这种“邻居爆炸”问题,一种有效的方法就是抽样。此外,当我们处理大型图时,我们不能总是存储和处理每个节点的所有邻域信息,因此需要采样模块来进行传播。在这一部分中,我们介绍了三种图形采样模块:结点采样、图层采样和子图采样。

节点采样

减少相邻节点大小的一种直接方法是从节点的邻域中选择一个子集

GraphSAGE : 对固定数量的邻居进行采样,确保每个节点的邻居大小为 2 到50 . 为了减少抽样方差,提出一种基于控制变量的 GCN 随机逼近方法,该方法利用节点的历史激活作为控制变量,该方法将感受长限制在 1 跳邻域内, 并使用历史隐藏状态作为负担得起近似值

PinSage : 提出了基于重要性的抽样方法;通过模拟从目标节点开始的随机游走,该方法选择归一化访问次数最高的前 T 个节点

层采样

层采样不是对每个节点的邻居进行采样,而是在每个层中保留一小组节点进行聚合,以控制扩展因子。

FastGCN : 直接采样每一层的接受野。它使用重要性采样,其中重要节点更有可能被采样。与上述固定抽样方法相比,Huang 等引入参数化可训练采样器,以前一层为条件进行分层采样。此外,该自适应采样器可以在优化采样重要性的同时减小方差。Zou等人打算通过从节点的邻居联盟生成样本来缓解分层采样中的稀疏性问题

子图采样

与对建立在整个图上的节点和边进行采样不同,另一种根本不同的方式是对多个子图进行采样,并将邻域搜索限制在这些子图内。而不是在完整的图上进行节点采样或边采样 .

ClusterGCN: 通过图聚类算法采样子图,

GraphSAINT: 直接对节点或边采样以生成子图

池化模块

在计算机视觉领域中,我们往往在卷积层后加入一个池化层,从而得到更加通用的特征,复杂的大规模图通常具有丰富的层次化结构,这对节点级和图级别的分类任务十分重要

直接池化模块

直接池化模块直接地使用不同的节点选择策略根据节点学习图级别的表征,也被称为读出功能。

简单节点池化:简单节点池化通常用在许多模型,在这些模型中,对节点特征进行逐节点的最大/平均/求和/注意力操作,以获得全局图表示。

Set2et

SortPoolong : 首先根据节点的结构角色对节点嵌入进行排序,然后将排序后的嵌入反馈到 CNN 以获得表示。

层次池化模块

直接池化只是直接从节点学习到图的表示,并没有考虑到图结构的层次性,而层次池化则是按层学习图的表示。

Graph Corsening :

ECC(Edge-Conditioned Convolution) : 设计了既有递归下采样操作的池化模块。下采样方法是根据拉普拉斯的最大特征向量符号化将图形分割成为两个分量

DiffPool : 通过在每一层训练分配矩阵 \(S^t\) 来使用科学系的分成聚类模块

gPool : 使用一个项目向量来学习每个节点的投影分数,并选择得分最高的节点,与 diffPool 相比,它在每一层使用一个向量而不是一个矩阵,从而降低了存储复杂度,但是投影过程没有考虑图形结构

EigenPoolong : 被设计为联合使用节点特征和局部结构,它采用局部图傅里叶变换来提取子图信息,但存在图特征分解效率低的问题

SAGPool : 联合使用特征和拓扑来学习图表示,它使用基于自我注意力的方法

图类型

有向图

有向图比无无向图包含更多信息,例如,在知识图谱中,若头部实体和尾实体的父类,则边的方向会提供这种偏序关系的信息,我们可以分别对边的两个方向建模,而不是简单的卷积操作中使用不对成的邻接矩阵

DGP : 才有两种权重矩阵 \(W_p\)\(W_c\) 进行正反向卷积

异构图

当节点和便具有多种类别,存在多种模态时,我们需要处理异构图,具体而言,每个节点都带有类型信息,每条边也带有类型信息。

元路径

最广为使用的异构图学习方法是基于元路径的方法。元路径指定了路径中每个位置的节点类型。在训练过程中,元路径被实例化为节点序列,我们通过链接一个元路径实例两端的节点来捕获两个可能并不直接相连的节点的相似度。这样一来,一个异构图可以被化简为若干个同构图,我们可以在这些同构图上用用图学习算法。

HAN : 首先在每个元路径下对基于元路径的邻居进行图关注,然后在所有元路径方案下对节点的输出嵌入使用语义关注来生成节点的最终表示。

MAGNN : 建议将元路径中的中间节点考虑在内。它首先使用神经模块沿着元路径聚集信息,然后在与节点相关联的不同元路径实例上执行关注,最后在不同元路径方案上执行关注

GTN : 提出了一种新的图形转换器层,它在学习节点表示的同时识别未连接节点之间的新连接。学习到的新连接可以连接彼此相距几跳但紧密相关的节点,这些节点充当元路径

基于边

它们为不同的邻居节点和边使用不同的采样函数、聚合函数 。

HetGNN : 通过在采样、特征编码和聚合步骤中直接区别对待不同类型的邻居来解决这一挑战

HGT : 将元关系定义为两个相邻节点及其链接的类型。它为不同的元关系分配不同的关注度矩阵,使模型能够考虑类型信息。

关系图方法

一些图的边可能包含比类型更多的信息,或者类型的数量可能太大,这给基于元路径或元关系的方法的应用带来了困难。我们将这种图称为关系图

G2S : 将原始图转换为二部图,其中原始边也成为节点,并且一条原始边被分成两条新边,这意味着在边缘节点和开始/结束节点之间有两条新边。经过这种转换后,它使用门图神经网络和递归神经网络将含有边信息的图形转换成句子.

R-GCN : 不需要转换原始的图形格式。它为不同类型的边上的传播分配不同的权重矩阵。然而,当关系的数量很大时,模型中的参数数量会爆炸。为此,引入了两种正则化方法来减少关系建模的参数个数:基-块-对角分解

多路复用图

多路复用图的方法在更复杂的情况下,图中的一对节点可以与不同类型的多条边相关联。通过在不同类型的边下查看,图形可以形成多个层,其中每个层代表一种关系类型。因此,多路复用图也可以称为多视图(多维图)。例如,在 YouTube 中,两个用户之间可以有三种不同的关系:共享、订阅和评论。边类型不是彼此独立的假设,因此简单地将图分割成具有一种边类型的子图可能不是最佳解决方案

MGCN : 介绍了GNN各层节点的一般表示法和特定于维的表示法。具体维度的表示是使用不同的投影矩阵,然后聚合形成下一层的一般表示

动态图

其中图结构(例如边和节点的存在)随着时间的推移而不断变化。为了将图结构数据与时间序列数据一起建模

DCRNN、STGCN : 首先通过 GNN 收集空间信息,然后将输出馈入序列模型

DGNN : 将来自 GCN 的每个节点的输出嵌入馈送到单独的 LSTM。LSTM 的权重在每个节点之间共享

EvolveGCN : 直接对节点表示的动态进行建模将阻碍模型在节点集不断变化的图上的性能。因此,它不是将节点特征作为 RNN 的输入,而是将 GCN 的权重反馈到 RNN 中,以捕捉图交互的内在动力学

其他图
超图
带符号图
大图
posted @ 2021-09-29 11:57  owo_owo  阅读(508)  评论(0编辑  收藏  举报