这篇论文是我这周读的最顺畅的一篇,不是因为他的idea特别突出,而是文章的思路很清楚,讲的很详细,所以让我感觉到很顺畅,我觉得有必要多写一点论文解读来记录一下。
这篇文章中作者自己提出了三个问题,然后在对模型的讲述中详细地解决了这三个问题
1. How to construct multi-length meta-paths dexterously via learning multiple high-order adjacency matrices and their fusion?
对于建立元路径(meta-paths)的原理,作者举了如下图所示的例子
我的理解是A2是通过添加边为两个原本没有联系的节点添加一个中间节点,然后使得原本没有联系的两个节点通过元路径建立起联系。
对这一定理进行推广,可以得到l阶的元路径的矩阵:
为了更加灵活的运用元路径,作者对原始矩阵进行了添加参数的处理:
其中
并且
若原图为无向图,还需要对添加过元路径的矩阵做如下处理:
2. How to build a multi-order GCN that efficiently propagates node information over learned multi-length meta-paths?
这里作者是基于SGC模型进行改进的,这一模型比GCN更加简单轻便(没有ReLU层)
将原本的邻接矩阵替换为元路径融合了不同关系的A的矩阵,并且对每一层使用共享的可训练矩阵W,可以得到如下公式:
其中:
3. How to adopt node attributes to supervise the fusion of highorder adjacency matrices?
作者并不满足了仅仅聚合了不同关系的属性信息,他认为节点属性不应该仅仅添加在GNN层中直接学习,应当利用节点的同质性信息,具体方法是利用如下公式构建语义邻接矩阵:
这一信息可以用作监督,应用在loss函数的计算中,具体的loss函数如下:
主要原理都是计算交叉熵损失函数。
综合上述三种陈述,具体的算法流程如下:
作为对比,引入一下MHGCN( Multiplex Heterogeneous Graph Convolutional Network)模型
与本文中采用元路径融合不同关系的邻接矩阵不同MHGCN对邻接矩阵的处理直接得多:
,其中β是可训练参数,同时这篇文章也欠缺一些对节点属性嵌入的融合考量。
PS:综合以上讨论,我开始慢慢对如何产生一个新的idea有了一点点自己的想法,每一个新的idea都是建立在巨人的肩膀上的,要广泛而大量的阅读文章,在已有的文章中发掘别人的问题,然后针对相应的问题尝试着产生属于自己的解决方案,希望后面自己能做的更好吧