图神经网络(10)- relational GCN

目录

Heterogeneous Graphs(异质图)——有多种类型的边

relational GCN

一种关系的有向图

有多种关系的有向图

总结


摘要:从普通的GNN拓展到可以处理异质图的GNN

Heterogeneous Graphs(异质图)——有多种类型的边

        我们之前提到处理的图,都是只有一种边的类型,但是实际上图是可以有很多类型的边,当然节点可以有很多不同的类型。那么这种图我们称之为异质图。在这里,我们把不同类型的边称之为不同的关系。

图神经网络(10)- relational GCN_第1张图片

下面展示一些异质图(感觉跟数据的关系图有点像):

图神经网络(10)- relational GCN_第2张图片

relational GCN

        下面我们将拓展GCN,得到relational GCN,用它来处理有多种边(关系)的异质图。

一种关系的有向图

首先,我们先看看,只有一种关系的有向图应该怎么处理。其实非常的简单,只要信息传递的时候沿着有向边就行,其他的和普通的GCN一样。同样有计算图。也就是是说,此时这个图对应的邻接矩阵就不再像无向图一样是对称矩阵了。

图神经网络(10)- relational GCN_第3张图片

有多种关系的有向图

        那有多种关系的有向图我们怎么处理呢??对于不同类型的关系类型,我们用不同的NN权重。也就是说,在信息传递时,通过不同类型的边传递消息,我们采取不同的处理方式。

图神经网络(10)- relational GCN_第4张图片

 计算图的结构也没有变化,只是各个NN的权重不是完全相同了。

 图神经网络(10)- relational GCN_第5张图片

 relational GCN的公式如下:

图神经网络(10)- relational GCN_第6张图片

 RGCN公式比较简单,和普通的GCN差不多,除了Wr有一些变化。

RGCN中的权重矩阵数量是普通GCN的R倍(R表示关系种类数目),可能造成过拟合。

图神经网络(10)- relational GCN_第7张图片

 下面给出两种方法去改善权重Wr,一种是使用块对角矩阵(使得每个W的参数变少),第二种是在不同关系中使用共享的权重

方法一: 块对角矩阵

图神经网络(10)- relational GCN_第8张图片

 思路非常的清晰简单,他这个维度的变化我没看懂。然后呢,这样做也会随之带来一个问题,因为是这种块对角矩阵,在算HW时(H的维度为Nxd  N个节点,每个节点d维),每个节点的d维并不能同时与W中的参数相乘,就只有块里面的对应的位置的对应维度才能有相互作用 。可能需要多进行几遍这种变换才能使得d维都参与。

方法二:共享矩阵

图神经网络(10)- relational GCN_第9张图片

 这个思路就像是,共享矩阵为基,不同的权重矩阵通过基,用不同的坐标表示。这样学习的参数就只有共享矩阵和一些系数,学习的参数极大地缩减。

总结

RGCN可以很好的应用于异质图上,并且这种思路是可以拓展到其他类型的GNN上。(RGraphSAGE,RGAT等等)

你可能感兴趣的:(GNN,知识图谱,人工智能)