【论文解读 WWW 2020 | HGT】Heterogeneous Graph Transformer

提出HGT,一种适用于大规模异质图的Transformer架构,自动学习元路径,处理动态图,引入时间编码,设计高效采样算法,实现在Web-scale数据集上的GNN训练。

低功耗蓝牙项目,需要一块懂省电的板

思澈 SF32LB52 芯片,BLE 协议栈深度优化,上手即开发

论文题目:Heterogeneous Graph Transformer

论文来源:WWW 2020

论文链接:https://arxiv.org/abs/2003.01332

代码链接:https://github.com/acbull/pyHGT

关键字:GNN,HIN,表示学习,图嵌入,Graph Attention,动态图



1 摘要

本文提出异质图转换架构(Heterogeneous Graph Transformer, HGT),用于建模Web-scale的异质图。并且无需人工构建元路径。

为了对异质的节点和边进行建模,作者设计了和节点类别、边类别有关的参数,来表征在每个边上的异质性的注意力。这使得HGT可以为不同类型的节点和边生成专用的表示。

HGT还可以处理动态的异质图。作者在HGT中引入相对时间编码技术,可以捕获到任意时间段内的动态结构依赖关系。

为了能够处理Web-scale的图数据,还设计了mini-batch图采样算法——HGSampling,实现高效并可扩展的训练。

在多个下游任务的实验中(Open Academic Graph of 179 million nodes and 2 billion edges)超越使用GNN的state-of-the-art方法。


2 引言

现有的GNN方法的不足:

以HAN, GTNs, HetGNN等方法为例。

(1)大多数方法需要为异质图设计元路径(GTNs除外);

(2)要不就是假定不同类别的节点/边共享相同的特征和表示空间,要不就是单独为某一类型的节点和边设计不同的不可共享的参数。这样的话不能充分捕获异质图的属性信息;

(3)大多数方法都没有考虑异质图的动态特征

(4)不能建模Web-scale的异质图。


鉴于以上挑战,作者进行了异质图神经网络的研究,目的是:(1)保留节点和边类型的有依赖关系的特征;(2)捕获网络的动态信息;(3)避免自定义元路径;(4)并且可扩展到大规模(Web-scale)的图上。

作者提出:

提出HGT架构解决上述所有问题,具体解决方法如下

(1)为了解决图的异质性问题,引入节点类型和边类型有依赖的注意力机制。

HGT中的异质相互注意力不是参数化每种类别的边,而是根据元关系三元组将每个边 e = ( s , t ) e=(s, t) e=(s,t)分解来定义。(例如 <s的节点类别, s和t之间的边e的类型, t的节点类型>)。图1就展示了异质学术图的元关系。

使用元关系参数化权重矩阵,用于计算每条边的注意力系数。

因此,不同类型的节点和边就可以维护其特定的表示空间。同时,通过不同的边相连的节点仍然可以交互、传递、聚合信息,并且不受它们之间分布差异的限制

HGT的天然结构,让其可以通过跨层的信息传递合并不同类型的高阶邻居的信息,这可以看作是**“软”元路径**(“soft” meta paths)。

也就是说,尽管HGT只将一跳的边作为输入并且不人为设计元路径,本文提出的注意力机制可以针对具体的下游任务自动地、隐式地学习并抽取出更重要的“元路径”


(2)为了处理动态图,在HGT中引入相对时间编码(RTE)技术。

并不是将输入图按不同的时间戳分片处理,而是将在不同时间出现的所有的边看成一个整体。设计RTE策略,建模任意时间长度的结构性的时间依赖关系,甚至包含不可见的和未来的时间戳

通过端到端的训练,RTE使得HGT自动学习到异质图的时序依赖关系以及异质图随时间的演化。


(3)为了处理Web-scale的图数据,作者设计了第一个异质的子图采样算法——HGSampling,用于mini-batch的GNN训练。

以往的在同质图上的GNN采样方法(例如 GraphSage, FastGCN, LADIES)会导致节点和边类型的高度不平衡HGSampling可以使得采样的不同类型的节点有着相似的分布

同时,该方法还可以保持采样子图的密度,以最小化信息损失

使用HGSampling的采样方法,所有的GNN模型,包括本文的HGT模型,都可以在任意大小的异质图上进行训练和推断。


2 定义

(1)异质图

G = ( V , E , A , R ) G=(V,E,A,R) G=(V,E,A,R),类型映射函数: τ ( v ) : V → A , ϕ ( e ) : E → R \tau(v): V\rightarrow A, \phi(e): E\rightarrow R τ(v):VA,ϕ(e):ER

(2)元关系

对于从 s s s t t t的连边 e = ( s , t ) e=(s, t) e=(s,t),它的元关系定义为 < τ ( s ) , ϕ ( e ) , τ ( t ) > <\tau(s), \phi(e), \tau(t)> <τ(s),ϕ(e),τ(t)> ϕ ( e ) − 1 \phi(e)^{-1} ϕ(e)1表示 ϕ ( e ) \phi(e) ϕ(e)的逆。

经典的元路径范式就是这种元关系组成的序列。

(3)动态异质图

在时间戳为 T T T时有边 e = ( s , t ) e=(s, t) e=(s,t),说明在 T T T时刻节点 s s s连向了节点 t t t。若 s s s是第一次出现,则将 T T T分配给 s s s s s s可以和很多个时间戳相关联。

假定边的时间戳是不变的,表示该边创建的时间。但是可以给节点分配不同的时间戳


3 相关工作

普遍的GNN框架

H l [ t ] H^l[t] Hl[t]为节点 t t t在第 l l l层GNN的节点表示,从 l − 1 l-1 l1层到 l l l层的更新过程如下:

先抽取信息,再聚和信息。例如GCN, GraphSAGE, GAT。


异质的GNNs

(1)已有的一些方法

建模知识图谱的关系图卷积网络(RGCN),为每种类型的边都维护了一个线性的映射权重。

HetGNN为不同类型的节点应用不同的RNNs来整合多模的特征。

HAN为不同的元路径定义的边维护了不同的权重,同时使用了语义级别的注意力机制,有区分性地聚合来源于不同元路径的信息。


(2)这些方法的不足

尽管这些方法都比GCN和GAT表现好,但是它们都没有充分利用异质图的属性信息。都是为边类型和节点类型单独地分配GNN权重矩阵

但是不同类型的节点数目和不同类型的边的数目差别很大,对于那些共现次数不多的关系类型,就很难为它们学习到准确的权重


(3)考虑参数共享以实现更好的泛化

为了解决上述问题,提出参数共享。对于给定的边 e = ( s , t ) e=(s, t) e=(s,t),其元关系为 < τ ( s ) , ϕ ( e ) , τ ( t ) > <\tau(s), \phi(e), \tau(t)> <τ(s),ϕ(e),τ(t)>。若使用三个交互矩阵分别建模 τ ( s ) , ϕ ( e ) , τ ( t ) \tau(s), \phi(e), \tau(t) τ(s),ϕ(e),τ(t

低功耗蓝牙项目,需要一块懂省电的板

思澈 SF32LB52 芯片,BLE 协议栈深度优化,上手即开发

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值