相比GCN,GraphSAGE可以处理Inductive类型的任务。Inductive任务的关键在于设计能够良好泛化到未见过的图或节点上的模型。其挑战在于模型需要能够处理图的结构和特征在训练集和测试集之间可能有显著差异的情况。因此,适用于Inductive任务的GNN模型在设计时,应该侧重于学习能够代表单个节点的通用表示,而不是依赖于整个图的结构。这意味着模型应该能够从节点的局部邻域信息中学习其表示,而不是从整个图的全局结构中学习,GCN利用整个邻接矩阵这一做法就违反了这一点。GraphSAGE对此则进行了改进,更新节点信息的方式就不依赖于图的全局结构。具体来说,其更新过程主要分三步:

(1)聚合邻居节点的信息,聚合函数有三种,将在下文展开解释;

(2)将聚合后的信息与自身的节点信息进行拼接,进行特征的融合;

(3)送入神经网络模型中进行映射,得到更新后的节点信息。

例如:图数据如图1所示,现在使用GraphSAGE对节点1进行更新。

图1 图数据

节点1特征向量的更新步骤如下三步:

(1)聚合邻居节点:\(h_{\mathcal{N}(1)}^1\leftarrow\mathrm{AGGREGATE}(h_3^0,h_4^0,h_5^0,h_6^0)\)

(2)拼接自身信息:\(h_1^1\leftarrow\mathrm{CONCAT}(h_1^0,h_{\mathcal N(1)}^0)\)

(3)经过神经网络映射:\(h_1^1\leftarrow\sigma(W^1\cdot\mathrm{CONCAT}(h_1^0,h_{N(1)}^0))\)

假设步骤1中聚合函数AGGREGATE是Mean函数,则代数得:

\(h_{N(1)}^1\leftarrow\mathrm{AGGREGATE}(h_3^0,h_4^0,h_5^0,h_6^0)=\mathrm{Mean}([0.3,0.4],[0.2,0.2],[0.7,0.8],[0.5,0.6])\)

另外,在这个计算流程中有两个地方需要额外注意。第一,GraphSAGE在聚合某节点邻居信息的时候,并不是聚合全部的邻居,而是聚合K个邻居,K是一个超参数。举例,在图1中,若K等于3,则在聚合节点1的周围邻居时,随机从节点3、4、5、6中选择3个进行聚合。若K等于5,则除了选择节点1的周围4个邻居以外,再重复从这4个邻居中抽样一个节点。这样做的好处是,当图数据非常庞大时,选取某节点的全部邻居做聚合是非常耗时耗力的,若只选择其中的K个邻居,可以更快的进行计算。超参数K本质上是计算精度和计算速度之间的一种权衡。

第二个需要注意的是GraphSAGE定义了三种不同的聚合函数:

\(\begin{aligned}&(1) \mathrm{Mean:}\quad AGG=\sum_{u\in N(\nu)}\frac{h_{u}^{(l)}}{\mid N(\nu)\mid} \leftarrow\\&(2) \mathrm{Pool:}\quad A GG=\gamma\left(\{\mathrm{MLP}(h_{u}^{(l)}),\forall u\in N(\nu)\}\right) \leftarrow\\&(3) \mathrm{LSTM:}\quad A GG=\mathrm{LSTM}\left([h_{u}^{(l)},\forall u\in\pi\left(N(\nu)\right)]\right) \leftarrow\end{aligned}\)

Mean操作就是简单的对节点的邻居信息做平均,上文也做过举例说明。Pool操作就是先把节点的邻居节点向量送入一个MLP中,对MLP的输出结果做\gamma操作得到聚合后的节点向量,这个\gamma就是池化的算子,可以是Mean,也可以是Max,分别对应平均池化和最大池化,它们的实际使用效果都差不多。至于第三种LSTM的聚合方式与第二种Pool聚合类似,区别在于把MLP换成了LSTM模型。LSTM模型的特征是能够对序列信息进行更好的建模,通过维护一个内部状态(记忆单元)来捕捉序列中的顺序依赖性。在图结构中,这意味着如果节点的连接具有某种逻辑或时间顺序,LSTM可能能更好地利用这种信息。而且,LSTM能够根据序列中每个元素的重要性动态调整其内部状态,这允许它在聚合邻居特征时给予不同邻居不同的重视程度。最后,LSTM可以灵活处理任何长度的输入序列,它在处理具有不同数量邻居的节点时不需要额外的填充或截断操作,这是处理不规则图数据的一个优势。

总结一下,GraphSAGE的重要性体现在灵活的节点聚合框架上,展示了在图神经网络(GNN)中节点信息聚合的多样化可能性。GraphSAGE不仅局限于使用简单的平均(Mean)操作来聚合节点特征,还提出了使用带参数的网络结构,如MLP(多层感知器)和LSTM(长短期记忆网络),以增强聚合过程的表达能力和灵活性。这开启了使用更复杂的模型来处理图中节点的可能性。当然也可以尝试换成其他的网络结构,可以根据具体任务的需求和数据的特点进行定制,以实现最佳性能。例如,对于那些节点间交互非常复杂或图结构快速变化的应用场景,使用高级的聚合策略如Transformer可能更加有效,下一小节的讲解的GAT模型便是由此得到启发被提出的模型。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

作者

arwin.yu.98@gmail.com

相关文章

LEFTNet

1、三种图同构问题 图同构问题是图论中的一个...

读出全部

ClofNet

1、局部坐标系 ClofNet的作者指出,在...

读出全部