本文介绍的论文是《Graph Transformer Networks》。
该篇文章作者提出了一个新型图网络GTNs,它可以实现异构图转为同构图,同时能够以端到端的方式学习新的图上的节点表示,而且以实验表明,GTNs即使没有领域知识数据和任务学习的图结构,依旧能够通过在新图上进行卷积产生强大的节点表示,而且GTNs在3个节点分类任务上都取得了最好的性能。
一、背景 |
近几年,图神经网络已经被广泛用于各种图任务当中,例如图分类、节点分类、边缘预测等,在大多数开源图数据集上GNN都表现出了很好的性能。
然而,大多数的GNN会存在一个局限性:就是它们只能处理同构图,同构图就是所有节点和边都是同类型,但是生活中会有很多场景是异构的,例如论文引用,这里会存在两种节点,一种是论文,另外一种节点是作者,很显然他在传统的图结构上多了一层信息,就是节点类型,所以传统GNN大多不能处理这种关系,但是有些做法就是忽略这些节点和边缘类型,将它们看成同种类型也就是同构图进行处理,显然这种做法不好,丧失了原图中的信息。
现在有一种方法处理异构图就是采用元路径,这些元路径就是与异构边缘连接的路径,所以解决办法就是手工将异构图转化为由元路径定义的同构图,然后再使用传统的GNN方法进行处理,但是现在很多办法都是手工设计元路径,费时费力。
所以该篇文章提出了Graph Transformer Network,并以端到端的方式学习图上的节点表示。
二、模型方法 |
Graph Transformer Layer
对于Graph Transformer Layer做的事就是根据异构图计算出一张同构图,它的实现方式就是:
Q的计算方式:
Q = F ( A ; W ϕ ) = ϕ ( A ; s o f t m a x ( W ϕ ) ) Q=F(A;W_{\phi})=\phi (A;softmax(W_{\phi})) Q=F(A;Wϕ)=ϕ(A;softmax(Wϕ))
这就是一个一维卷积运算,首先将一维卷积核进行归一化softmax,然后使用这个卷积核对异构图进行卷积运算,得到对应的 Q i Q_i Qi,最后让得到的两个 Q Q Q 矩阵进行矩阵乘法得到最终的同构图。
Graph Transformer Networks
作者提出GTN就是为了将异构图数据转化为同构图,然后再利用GNN对其进行处理完成相对应的下游任务,上图就可以看出首先利用GTN得到同构图 A A A,然后将 A A A 的每一张图都使用同一个GCN进行处理,然后将处理后的图进行拼接,得到最终图结构输出,之后就可以拿着这个做不同的任务,如果做分类就可以使用读出函数读出,然后送入线性层进行分类。
但是这个图与上图有点不同,就是一维卷积核的通道数变多了,这样做是为了能够学习到更加全面的图结构数据。
三、实验结果 |
在节点分类任务上的评估结果( F1分数)
基于GNN的方法,如GCN、GAT、HAN和GTN,其性能优于随机移走(Random walk-based)网络嵌入方法。此外,GAT通常比GCN表现更好。这是因为GAT可以为邻居节点指定不同的权重,而GCN只是对邻居节点进行平均。有趣的是,尽管HAN是针对异构图的改进GAT,但GAT通常比HAN表现更好。这一结果表明,使用预先定义的元路径作为HAN可能会对性能造成不利影响。相比之下,尽管GTN模型只使用了一个GCN层,而GCN、GAT和HAN至少使用了两层,但我们的GTN模型在所有数据集上都取得了最好的性能。这表明GTN可以学习一个新的图结构,该结构由有用的元路径组成,用于学习更有效的节点表示。
四、总结 |
作者提出了用于学习异构图上节点表示的图变换网络。
该方法将一个异构图转换为由任意边类型和任意长度的元路径定义的多个新图,这些元路径的长度不超过Graph Transformer层的数量,同时通过对学习到的元路径图进行卷积学习节点表示。
学习到的图结构导致更有效的节点表示,从而在没有任何来自领域知识的预定义元路径的情况下,在异构图上的所有三个基准节点分类上取得了最新的性能。
由于Graph Transformer层可以与现有的GNNs结合,相信框架为GNNs开辟了新的途径,可以自己优化图结构,根据数据和任务来操作卷积,而不需要任何人工的努力。