论文信息
题目
Heterogeneous Graph Attention Network
基于注意力机制的异构图神经网络
作者
Xiao Wang, Houye Ji,Chuan Shi等
论文水平
WWW 2019
其他
论文下载地址:https://arxiv.org/pdf/1903.07293.pdf
github:https://github.com/Jhy1993/HAN
ABSTRACT
当前图神经网络的缺点:未充分考虑异构图。
作者提出了一种基于层次注意力的异构图神经网络,包含节点级别和语义级别的注意力机制。节点级别的注意力旨在学习节点与其基于元路径的邻居之间的重要性,而语义级别的注意力可以学习不同元路径之间的重要性。
该模型聚合来自元路径的邻居的特征,然后生成节点的embeding。实验证明该模型达到了SOTA水平并具有很好的可解释性。
INTRODUCTION
异构图不同类型的节点具有不同的特征,它们的特征可能属于不同的特征空间中。
由于异构图的复杂性,传统的图神经网络无法直接应用于异构图。
故作者提出了Heterogeneous graph Attention Network(HAN)模型,一种基于层次注意力的异构图神经网络,包含节点级别和语义级别的注意力机制。
节点级别的注意力旨在学习每个节点其邻节点(包含自身节点)的相对重要性,并为其分配不同的注意力值。
语义级别的注意力旨在学习每个元路径的重要性并为其分配适当的权重,因为平等对待不同的元路径是不切实际的,并且会削弱某些有用的元路径提供的语义信息。
给定节点特征作为模型输入,使用特定类型的转换矩阵将不同类型的节点特征映射到同一空间中。
该模型可以以分层的方式的得到邻节点与多个元路径的最佳组合,从而使生成的节点embedding能够更好地捕获异构图中复杂的结构和丰富的语义信息。
该论文的主要贡献:
- 基于注意力机制的异构图神经网络研究的首次尝试。
- 提出HAN模型,该模型可同时考虑到节点和元路径的重要性,并且模型很高效,与节点对数呈线性复杂度。
- 模型具有较好的可解释性。
RELATED WORK
主要介绍了图神经网络和网络嵌入的相关工作,略。
PRELIMINARY
介绍了一下该论文中用到的一些概念。
介绍了什么是异构图、什么是元路径、什么是邻节点。
在异构图中,两个节点可以通过不同的语义路径(称为元路径)连接。
文中用到的符号释义:
THE PROPOSED MODEL
HAN模型结构图如下所示:
节点embedding计算过程图:
Node-level Attention
node-level attention可以学习每个节点其不同邻居节点的重要性,并将这些邻居节点的信息聚合起来生成node embedding。
对于每个类型的节点 Φ i \Phi_i Φi,通过特定类型转换矩阵将不同类型节点的特征映射到同一特征空间,这样node-level attention便可处理任意类型的节点。原节点特征记作 h i h_i hi,转化后的节点特征记为 h i ′ h_i^{'} hi′。
之后,利用自注意力机制计算各节点的权重。 e i j Φ e_{ij}^{\Phi} eijΦ表示节点i,j之间的重要性。 a t t n o d e att_{node} attnode表示执行node-level attention的神经网络。
node-level attention可以保留非对称的特性,因此节点i对于节点j的重要性与节点j对节点i的重要性是不相等的。
计算出 e i j Φ e_{ij}^{\Phi} eijΦ后,使用softmax函数进行归一化,计算出权重系数 α i j Φ \alpha_{ij}^{\Phi} αijΦ。
其中, σ \sigma σ表示激活函数, ∣ ∣ || ∣∣表示连接操作, α Φ \alpha_{\Phi} αΦ表示针对元路径 Φ \Phi Φ的节点级别注意力向量。
利用邻居节点转后的特征与其对应的权重系数相乘,然后求和得到针对元路径 Φ \Phi Φ的节点i的embedding z i Φ z_i^{\Phi} ziΦ:
由于异构图具有无标度的特性,因此图数据的方差很大,为了解决这个问题,作者引入了多头注意力机制,可以使得训练过程更加稳定。
重复node-level attention注意力K次,并将学习到的嵌入连接为特定于语义的嵌入semantic-specific embedding:
给定一个元路径集合{
Φ 0 \Phi_0 Φ0, Φ 1 \Phi_1 Φ1,…, Φ p \Phi_p Φp},通过node-level attention可计算出最终的semantic-specific node embeddings集合{
z Φ 0 z_{\Phi_0} zΦ0, z Φ 1 z_{\Phi_1} zΦ1,…, z Φ p z_{\Phi_p} zΦp}。
计算过程示意图如下图所示:
Semantic-level Attention
semantic-specific node embedding只融合了一类语义信息,故作者使用meta-path attention来学习不同元路径的权重,并将其融合在一起。
将node-level attention 得到的semantic-specific node embeddings集合{
z Φ 0 z_{\Phi_0} zΦ0, z Φ 1 z_{\Phi_1} zΦ1,…, z Φ p z_{\Phi_p} zΦp}作为输入,通过semantic-level attention计算出每个semantic-specific node embeddings对应的权重{
β Φ 0 \beta_{\Phi_0} βΦ0, β Φ 1 \beta_{\Phi_1} βΦ1,…, β Φ p \beta_{\Phi_p} βΦp}:
其中 a t t s e m att_{sem} attsem表示执行semantic-level attention的神经网络。
为了计算出每个元路径的权重,首先将semantic-specific embedding进行一个非线性变化,然后通过以下公式计算出:
其中 W W W表示权重矩阵, b b b是偏置, q q q是semantic-level attention向量。
通过softmax函数归一化,得到各元路径对应的权重:
元路径 Φ i \Phi_i Φi越重要,对应的 β Φ i \beta_{\Phi_i} βΦi越大,对于不同的任务,求得的各元路径权重会有所不同。
得到权重系数后,可将所有的semantic-specific embedding融合在一起,得到最终的node embedding Z Z Z:
计算过程示意图如下图所示:
HAN模型的算法流程:
Analysis of the Proposed Model
HAN非常的高效,利用多头注意力可并行计算。
层次注意力模块在整个异构图中共享使用,因此该模块的参数数量不受异构图规模影响。
HAN模型具有很好的可解释性。
EXPERIMENTS
Datasets
Baselines
Implementation Details
- 随机初始化参数
- Adam
- Learning rate :0.005
- 正则参数:0.001
- semantic-level attention 向量q的维度:128
- attention head :8
- dropout of attention : 0.6
Classification
使用KNN 进行节点分类,每个实验重复10次并采用Macro-F1和Micrl-F1评估。HAN在所有的数据上都达到了SOAT,由表3可以看出,去掉level或semantic level attention 的HAN变形模型表现都不如HAN。
Clustering
由于缺少对节点或元路径重要性的区分,metapath2vec和GCN表现性能较差。
Analysis of Hierarchical Attention Mechanism
为了更好的理解邻居节点和元路径的重要性,作者对层次注意力机制进行了详细的分析。
由图4 注意力的权重可以看出,除P831自身之外,P699 and P133被分配的权重最大,因为它们都属于同一类别。
由图5可以看出,表现性能越好的元路径,注意力机制给其分配的注意力值越大。
Visualization
t-SNE(t-distributed stochastic neighbor embedding)是用于降维的一种机器学习算法,非常适用于高维数据降维到2维或者3维,便于进行可视化。
作者利用t-SNE将得到的Node embedding 降维到2维空间进行可视化展示,如图6所示:
由图可以看出,GCN和GAT效果不佳,HAN模型不同类型的节点边界最清晰。
Parameters Experiments
调查参数的敏感性。
- 随着embedding维度的增加,模型的性能先增后减。
- semantic-level attention vector q 设置为128时,性能最佳。
- 随着attention head的增加,HAN的性能也会缓慢的提升,使用多头注意力机制可以使训练更加稳定。
结果如下图所示: