GTN-Graph Transformer Networks

han通过将异构图转换为由元路径构造的齐次图来学习图表示学习。但是这些方法领域专家手动选择元路径,因此可能无法捕获每个问题所有有意义的关系。同样,元路径的选择也会显着影响性能。与这些方法不同的是GTN可以在异构图上运行并且转化为任务转换图,同时以端到端的方式学习转换图上节点的表示形式。

算法简述

算法名称:GTN(Graph Transformer Network),2019 NeurIPS

传统GNN处理静态同构图,但面对misspecified图和异构图时却无能为力。本文提出的GTN其要点主要有3个:

  • GTN可生成新的图结构,如识别出原图中无相连但实际有潜在用处的边。

  • Graph Transformer Layer基于边类型的软选择和组合,可以生成各种meta-paths

  • GTN中meta-path自动生成且不依赖领域知识,它比许多预定义meta-path类算法效果好。

前置知识

GTN的输入不要求图结构预先确定。它基于若干候选邻接矩阵生成新的图结构(识别有效meta-path),进而执行卷积操作产出节点的embedding。

1.meta-path

meta-path就是作用于一个节点序列上的组合边类型。如下所示:

img

meta-path可通过其邻接矩阵进行表示,其形式为组合边中各边对应邻接矩阵乘积。如下式:

img

2.GCN

GCN网络中第l+1层的节点嵌入可用下式表示:

img

若为有向图,则邻接矩阵非对称(采用入度对角阵的逆归一化),第l+1层节点嵌入表示为:

img

常规GCN网络的卷积操作(上式红框内容)是由图结构决定的,是不可学习的。而GTN算法由于图结构是学到的,因此可应用多种卷积操作。

算法原理

 GTN:

GTN如何选meta-path:

1.Graph Transformer Layer(下图是聚合一次的meta_pass)

img

图1 Graph Transformer Layer架构图

 第三图和A矩阵加权求和得到第四个图,也可以理解为如图1中绿框所示为一个Graph Transformer Layer。输入有K个通道,每个通道为N*N矩阵,然后经过1*1K的卷积进行处理生成N*N*1的中间态邻接矩阵Q1。而卷积核是由W经softmax处理得到。Q的计算公式如下所示:

img

更具体地可表示为:

img

2.meta-path生成

如图1所示,我们得到两个软选择的邻接矩阵Q1,Q2。因此,新生成meta-path图对应的邻接矩阵就是A(1)=Q1*Q2。考虑到数据稳定性,可进行归一化处理。于是乎,给定任意长度l,它的meta-path图对应的邻接矩阵可表示为:

img

上述过程可参考图2中A(l)的生成过程进行理解(注意:图2中1*1卷积为C通道,因此Q为C通道,A(l)也为C通道)。

(下图是聚合三次的meta_pass,然后加入一个gcn,进行分类)

img

图2 Graph Transformer Network架构图

如图2如果需要得到的是N*N*C的,前面就要N*N*1的。

但上述meta-path生成方式不能包含原始图中的边信息,也会丢失短meta-path信息。解决此问题可在原始图的邻接矩阵集合中添加单位矩阵E。

3.GTN框架

如图2所示,A(l)有C个通道,可记为C个meta-path图。然后对每个通道应用GCN算法生成对应node embedding,再把C个embedding进行拼接,即可得到node的最终表示。如果下游任务为节点分类,可以再接MLP+softmax进行处理。node的最终embedding计算公式为:

img

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值