对比GCN讲解RGCN的基本思想。GCN通过将图的邻接矩阵与节点特征结合,利用统一的权重矩阵W来更新节点的特征,从而捕获图中的拓扑结构信息。这种方法在处理同质图时非常有效,即所有节点和边被假定具有相同的类型和属性。然而,GCN不直接处理图中的异质性或复杂的关系类型。

与GCN不同,RGCN(Relational Graph Convolutional Neural Network)被设计用来处理具有多种关系的异构图。此时,节点或边的种类有很多种情况,每种类型可能有其特定的属性和语义。例如,在生物医学的异构图中,不同类型的节点(如药物分子、疾病名称、蛋白质名称、生物通路等)和边(如促进、抑制、治疗、包含等)包含丰富的语义信息。RGNN能够对这些不同类型的实体和关系分别学习表示,这样能够更好地理解它们各自以及它们之间的复杂关系。用公式表示为:

G=(V,E,R,T)

其中V为节点集,每个节点在下文表示为νiE为边集,边(νi,r,νj)ET(νi)为节点类型;R为边类型集合,ri在下文表示每个边的属性。

【例1】边有三种不同的类型(r1,r2,r3),分别用三种不同的线段格式表示,如图1所示。例如,节点A通过类型为r1 的边与节点B和D相连,通过类型为r2 的边与节点C相连等等。图1中也展示了关系图卷积网络(RGCN)的一个关键特点:不同类型的边使用不同的权重矩阵(Wr1,Wr2,Wr3)来处理信息。这意味着,当更新一个节点的特征时,RGCN 会根据边的类型使用不同的权重矩阵。值得注意的是,在这个例子中,r1 有三种类型,但这并不意味着要维护三个独立的神经网络。实际上,Wr1,Wr2,Wr3可以共同组成一层神经网络的参数。假设用于更新边信息的神经网络输入输出都是由12个神经元组成的网络层,那么第1-3个神经元可以用于更新第一种边类型;第4-6个神经元用于更新第二种边类型;第7-9个神经元用于更新第三种边类型。

图1 节点映射

RGCN为每种类型的边引入了不同的权重矩阵,以此来捕获不同关系类型之间的细微差异。每一种关系类型的权重矩阵负责编码特定类型的边对节点特征更新的贡献。这样,RGCN能够综合节点的特征以及与其相连的各种类型边的信息,生成更丰富的节点表征。实际上,RGNN更像是一种思想,而不是固定的模型,它可以扩展到其它GNN模型上,如GraphSAGE、RGAT等。节点i的特征更新规则在RGCN中可以表示为:

hi(l+1)=σ(rRjNr(i)1ci,rWr(l)hj(l))

其中:

  • hj(l)是节点j在第l层的特征向量。
  • Wr(l)是关系类型r对应的权重矩阵,在第l层中用于转换特征。
  • Nr(i)表示与节点i相连的特定关系类型r的邻居节点集合。
  • ci,r是一个归一化项,通常是节点i的类型r关系的邻居数量,用于平衡不同节点之间不同数量邻居的影响。
  • σ是一个非线性激活函数, 如ReLU。

在每一层中,对于每种类型的关系r,我们首先使用权重矩阵Wr(l)来转换与节点i相连的每个邻居节点j的特征。然后,我们将所有这些转换后的特征进行加权求和,其中每个邻居的特征向量除以归一化常数ci,r,以避免不同数量的邻居对聚合结果的不均衡影响。最终,我们对所有关系类型的累加结果应用非线性激活函数,以得到节点i在下一层的新特征向量hi(l+1)。这种机制允许RGCN分别学习不同类型的关系如何影响节点特征,而不是像GCN那样对所有边一视同仁,或者像GraphSAGE那样只是简单地聚合邻居节点的特征。

发表回复

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

作者

arwin.yu.98@gmail.com

相关文章

zh-CN Chinese (Simplified)