论文笔记之Heterogeneous Graph Attention Network
论文笔记之Heterogeneous Graph Attention Network
一、本文贡献
- 提出了一种基于分层注意的异构图神经网络(HAN),包括节点级和语义级注意,同时考虑了节点和元路径的重要性,并具有较高的效率。
- 该算法在异构图分析中具有良好的可解释性。
Note:异构性是异构图的内在属性,即具有各种类型的节点和边。不同类型的节点具有不同的特征,其特征可能落在不同的特征空间中。
二、主要方法
-
节点级注意:
节点级注意的目的是了解基于元路径的邻居节点的重要性,并为它们分配不同的注意值。节点级注意可以保持非对称性,这是异质图的一个重要特性。 -
语义级注意:
语义级注意的目的是学习不同元路径的权重。异构图中不同的元路径能够表达不同的语义信息。
元路径是连接两个对象的复合关系,是一种广泛使用的捕获语义的结构。根据元路径的不同,异构图中节点之间的关系可能具有不同的语义。 -
HAN过程:
a) 首先将输入中不同类型的节点特征使用特定类型的转换矩阵,映射 到到同一空间中。
b) 接着使用节点级注意,学习节点与其基于元路径的邻居节点之间的注意值。
c) 然后使用语义级注意,学习异构图中特定任务的不同元路径的注意值。
d) 基于在两层上学习到的注意值,得到邻居节点和多个元路径的最优组合。
e) 最后通过端到端反向传播的方式对整个模型进行优化。
Note:网络嵌入,即网络表示学习(NRL),是将网络嵌入到一个低维空间中,同时保持网络的结构和性质,从而将学到的嵌入内容应用到下游网络任务中。
三、HAN模型
定义:
Heterogeneous Graph : 图G = (V, E) 包含节点集V和连接集E,异构图还包含一个节点映射函数和一个连接映射函数。
Meta-path:简单来说即是从节点A到节点B所经过的一系列点的序列。
Meta-paht based Neighbors:基于一条meta-path的邻居节点,默认一个节点的邻居节点包括其自身。
Input: Heterogeneous graph, node feature, Meta-path, the number of attention head.
Output: embedding Z, node-level attention weight α, semantic-level attention weight β.
Node-level Attention and Aggregating:
在具体任务中,一个节点在元路径上的邻居节点有不同的权重。节点级注意能够学习一个节点基于元路径的邻居节点的表示作为该节点的节点嵌入。由于图中包含不同类型的节点,所以首先通过转换矩阵将所有节点转换到统一的特征空间。
给定一个节点对(i , j),节点级注意能学习到节点j相对于节点i的权重,即(i , j),而且它的权重是非对称的。也就是说,节点i对j的权重和节点j对i的权重是不相同的。因为非对称性是异构图的重要属性。
Semantic-Level Attention and Aggregating:
异构图中每一个节点包含多种类型得语义信息,具体的语义节点嵌入只能从一方面来反映节点的信息。为了学到一个更加全面的节点嵌入,需要融合基于元路径的多种语义信息,也就是语义级注意和聚合。
Loss函数:
参数分析:
- 最终嵌入Z的维度,模型性能随着维度的增加而先上升后下降,较大的维度可能会引入冗余,因此,需要通过调参选择一个合适的维度。
- 语义级注意向量q的维度,性能随着维度的增加而增加,q维度为128时,性能最佳,维度过高会出现过拟合。
- 多注意头的数量,随着多注意头数量的增加,性能仅仅是稍微提高,因此可以认为多注意头能够使训练过程更加稳定。
四、HAN优势
-
该模型能够处理各种类型的节点和关系,并在异构图中融合丰富的语义。
-
HAN具有很高的效率,易于并行化。
-
整个异构图共享分层注意,也就是说,模型中参数不依赖与该异构图的规模,并且模型可以为之前未见的节点甚至未见的图生成节点嵌入。
-
该模型对已学习的节点嵌入具有潜在的良好可解释性,这是异构图的一大优势。