HGT 是一种用于建模异构图的图神经网络。
目录
[HGT 架构](#HGT 架构)
[Web规模 HGT 训练](#Web规模 HGT 训练)
基础知识
异构结构(Heterogeneous Structure):图中存在多种类型的节点或多种类型的边,而不是只有一种类型
齐次图:齐次图只有一种节点类型、一种关系类型
现有的问题
第一,大多数方法需要人为设计元路径。
针对不同类型的异构图,都需要依赖领域知识手动设计元路径结构。
第二,许多方法无法充分建模异构性。
有些方法假设不同类型的节点或边共享相同的特征空间和表示空间;而有些方法仅对节点类型或边类型之一设置独立参数。这些设计都不足以全面刻画异构图的复杂结构。
第三,大多数方法忽略了图的动态特性。
现实世界中的图结构通常会随着时间不断变化。
第四,现有模型难以扩展到 Web 规模的图数据。
HGT 架构

主要分为三个核心组件
异构互注意力
该模块用于计算源节点和目标节点之间的信息重要性。
在异构图中,不同类型的节点和边具有不同的语义,因此 HGT 会根据节点类型和边类型构建对应的注意力权重。通过这种方式,模型可以自动判断哪些邻居节点对目标节点更重要,并为不同关系分配不同的注意力权重
异构消息传递
得到注意力权重后,模型会从源节点向目标节点传递信息。与传统 GNN 不同,HGT 会根据节点类型和边类型采用不同的消息映射方式,从而更好地建模不同关系之间的语义差异,使节点能够从不同类型邻居中获取有效信息
目标节点特定聚合
在消息传递完成后,目标节点会根据注意力权重对来自各个邻居节点的信息进行加权聚合,从而形成新的节点表示。该过程能够综合不同邻居节点的信息,使目标节点获得更加丰富的上下文表示,为后续的下游任务提供基础
简单来说,HGT 的整体过程是先通过注意力机制判断邻居的重要性,然后从邻居节点传递信息,最后对这些信息进行加权聚合,得到新的节点表示
相对时间编码(RTE)机制
动态图建模方式是:在同一张图中保留不同时间发生的所有边,并允许具有不同时间戳的节点和边之间进行交互。
因此为 HGT 引入 相对时间编码(Relative Temporal Encoding, RTE) 技术,以处理动态图结构,即将节点之间的时间差作为编码信息加入节点表示中
Web规模 HGT 训练
HGS采样
传统的全批量 GNN 训练需要在每一层计算所有节点的表示,因此无法扩展到 Web 规模的大图。
作者提出了一种异构小批量图采样算法 HGSampling,该方法通过为不同节点类型设置独立的采样预算,并使用重要性采样策略,从原始大图中采样出规模较小但结构信息较完整的子图。同时保证不同类型节点数量相对均衡,并尽量保持子图的稠密
什么叫稠密?子图中节点之间的连接关系比较多,不稀疏
归纳式时间戳分配方法
在实际异构图中,并不是所有节点都有明确的时间信息。为了解决这一问题,论文提出归纳式时间戳分配方法:如果节点本身具有时间戳(如论文发表时间),则直接使用;如果节点没有固定时间(如会议或机构),则继承与其连接的事件节点的时间戳。
总结
总结文章创新点:
- 提出异构图 Transformer 模型(HGT)
- 设计元关系感知的异构注意力机制
- 引入相对时间编码
- 提出 HGSampling
- 提出归纳式时间戳分配方法