Heterogeneous Graph Structure Learning for Graph Neural Networks (HGSL)论文笔记

目标:异质网络(子图)的嵌入,用于节点分类任务

方法:根据边(R)类型的的不同分解成多个子网络,对每个子网络使用GCN,进行联合优化,目标为是最小化交叉熵(目标是节点分类)

Heterogeneous Graph Structure Learning for Graph Neural Networks (HGSL)论文笔记_第1张图片

具体流程如图:

一、得到关系r1的子图

对于一类关系 r1  ,指的是连接两个节点的边,将这类关系的节点从异质图上挖下来构成一个子图。该子图的邻接矩阵为Ar1。

另外还融入了节点属性信息和节点间的语义信息。

二、得到融合节点属性的子图

对于一个关系 r1 ,节点的属性信息(文本、图像)先变成一个向量(如词嵌入,图像CNN等),然后用一层神经网络映射到同一特征空间。

如图(b)所示,得到了两个节点(h和t,h和t的节点类型可能一样也可能不一样)属性向量后,先进行一层神经网络映射(proj),然后计算向量相似度Heterogeneous Graph Structure Learning for Graph Neural Networks (HGSL)论文笔记_第2张图片

这个长得奇奇怪怪的函数就是利用余弦相似度计算向量的相似度。

相识度表明了两个节点的关系强弱,相似度高就表示两个节点的关系越强。理论上我们可以认为这两个节点之间存在一条边。

选定一个阈值,如果相似度大于这个阈值我们就认为他们存在边,小于阈值认为不存在边。从而我们重新构建一个新的邻接矩阵

上面讲的是两类节点h和t之间的邻接矩阵。如果h和t节点类型不一样,同样对h同类节点也需要一个邻接矩阵Heterogeneous Graph Structure Learning for Graph Neural Networks (HGSL)论文笔记_第3张图片

同理t类型的节点也需要一个邻接矩阵

然后计算(Ar表示的就是在r关系下的邻接矩阵)

关于这一步的意义论文这么解释:具有相似特征的两个节点可能具有相似的邻居。

因此,生成特征传播图的过程是双重的:首先,生成特征相似度图,即找到相似的节点;

其次,通过拓扑结构传播特征相似图,生成新的边,即寻找具有相似特征的节点的邻居(即)。

最后通过Attention机制融合这三个邻接矩阵

到这里,节点属性信息子图就构建完了。接下来根据语义信息(元路径)构建语义子图,如图(c)。

三、得到融合节点间语义信息的子图

第一步:利用MatePtah2Vec的方法根据选取的元路径不同(手工选择元路径),对每个节点进行向量化表示。

第二步:有了向量就可以像上面的套路一样构建邻接矩阵。

四、三个子图融合成一个子图

因为元路径有很多种,所以邻接矩阵就有很多个,最后再利用Attention机制融合成一个最终邻接矩阵

这里有一个疑问,既然只有一种关系r1,元路径不只有一种吗?对于t节点为(t-h-t),对于h节点为(h-t-h)

不管疑问,到这里就有了t和h节点的原始邻接矩阵和根据节点属性和语义信息的两个邻接矩阵。将这3个邻接矩阵融合(还是Attention机制)

五、对这个子图进行训练

最后把这个矩阵放入GCN进行训练,目标是最小化交叉熵Heterogeneous Graph Structure Learning for Graph Neural Networks (HGSL)论文笔记_第4张图片

另外还防止过拟合加入正则化

最终目标函数为 

六、重新选取关系r重复以上五步

以上为针对一类关系(边)r1,那么对不同的关系r2、r3...也这么做,优化目标都是一样的。

 

你可能感兴趣的:(Heterogeneous Graph Structure Learning for Graph Neural Networks (HGSL)论文笔记)