论文阅读与模型复现——HAN
论文阅读
论文链接:https://arxiv.org/pdf/1903.07293.pdf
tensorflow版代码Github链接:https://github.com/Jhy1993/HAN
介绍视频:https://www.bilibili.com/video/av53418944/
参考博客:https://blog.csdn.net/yyl424525/article/details/103804574
文中提出了一种新的基于注意力机制的异质图神经网络 Heterogeneous Graph Attention Network(HAN),可以广泛地应用于异质图分析。注意力机制包括节点级注意力和语义级注意力。节点的注意力主要学习节点及其邻居节点间的权重,语义级的注意力是来学习基于不同meta-path的权重。最后,通过相应地聚合操作得到最终的节点表示。
ABSTRACT
最近,深度学习中最令人兴奋的进步之一是注意机制,它的巨大潜力在各个领域。
本文首先提出了一种基于层次注意的异构图神经网络,包括节点级注意和语义级注意。具体地说:
- 节点级注意旨在学习节点与其基于元路径的邻居之间的重要性
- 语义级注意能够学习不同元路径的重要性
通过从节点级和语义级两个层次上学习重要性,可以充分考虑节点和元路径的重要性。该模型通过对基于元路径的邻域特征进行分层聚合,生成节点嵌入。在三个真实世界的异质图上的大量实验结果不仅显示了我们所提出的模型比现有的模型更优越的性能,而且也显示了它潜在的良好的图分析的可解释性
1 INTRODUCTION
现实世界中的数据通常与图表结构(如社交网络、引文网络和万维网)结合在一起。图形神经网络(GNN)作为一种强大的图形数据深度表示学习方法,在网络分析方面表现出了优异的性能,引起了广泛的研究兴趣。例如,[10,20,24]利用深度神经网络来学习基于节点特征和图结构的节点表示。一些文献[6,14,18]将卷积运算推广到图上,提出了图卷积网络。深度学习的一个最新研究趋势是注意机制,它处理可变大小的数据,并鼓励模型关注数据中最显著的部分。它在深层神经网络框架中的有效性得到了证明,并被广泛应用于文本分析[1]、知识图[25]和图像处理[38]等领域。图注意网络(GAT)[35]是一种新颖的卷积型图神经网络,它利用了只包含一类节点或链接的齐次图的注意机制。
尽管注意机制在深度学习中取得了成功,但在异构图的图神经网络框架中却没有得到考虑。事实上,现实世界中的图通常带有多种类型的节点和边,也被广泛称为异构信息网络(HIN)[28]。为了方便起见,本文统一称之为异构图。由于异构图包含的信息更加全面,语义更加丰富,因此在许多数据挖掘任务中得到了广泛的应用。元路径[32]是连接两个对象的复合关系,是一种广泛使用的语义捕获结构。根据元路径的不同,异构图中节点之间的关系可以有不同的语义。由于异构图形的复杂性,传统的图形神经网络不能直接应用于异构图形。基于以上分析,在设计具有注意机制的异构图神经网络体系结构时,需要解决以下新的需求。
Heterogeneity of graph
异构性是异构图的一个内在属性,即各种类型的节点和边。例如,不同类型的节点具有不同的特征,其特征可能落在不同的特征空间中。仍然以IMDB为例,演员的特征可能涉及性别、年龄和国籍。另一方面,电影的特点可能涉及到情节和演员。如何处理这些复杂的结构信息,同时保留不同的特征信息,是一个亟待解决的问题。
Semantic-level attention
异构图涉及到不同的有意义和复杂的语义信息,这些信息通常由元路径反映[32]。异构图中不同的元路径可以提取不同的语义信息。如何选择最有意义的元路径并融合特定任务的语义信息是一个有待解决的问题[4,19,26],语义级的关注旨在了解每个元路径的重要性并为它们分配适当的权重。仍然以IMDB为例,终结者可以通过电影演员电影(均由施瓦辛格主演)连接到终结者2,也可以通过电影年电影(均拍摄于1984年)连接到伯蒂。然而,在确定电影类型的终结者,妈妈通常扮演更重要的角色,而不是我的。因此,平等地对待不同的元路径是不现实的,会削弱某些有用的元路径所提供的语义信息
Node-level attention
在异构图中,节点可以通过各种类型的关系(如元路径)连接。给定一个元路径,每个节点都有很多基于元路径的邻居。如何区分邻域间的细微差别,选择一些信息量大的邻域是必需的。对于每个节点,节点级注意的目的是学习基于元路径的邻居的重要性,并为它们分配不同的注意值。仍然以IMDB为例,当使用元路径电影导演电影(电影与同一导演在一起)时,终结者将通过导演James Cameron连接到泰坦尼克号和终结者2。为了更好地将《终结者》的类型确定为科幻电影,模型应该更多地关注《终结者2》,而不是《泰坦尼克号》,因此,如何设计一个模型来发现邻居们之间的细微差别并正确地学习他们的权重将是一个值得研究的问题。
本文提出了一种同时考虑节点级和语义级注意的异构图注意网络HAN。特别是,给定输入的节点特征,我们使用类型特定的转换矩阵将不同类型的节点特征投影到同一空间。然后,节点级注意能够学习节点与其基于元路径的邻居之间的注意值,而语义级注意旨在学习异构图中特定任务的不同元路径的注意值。基于这两个层次的学习注意值,我们的模型能够以层次化的方式得到邻域和多个元路径的最优组合,使得学习节点嵌入能够更好地捕捉到异构图中复杂的结构和丰富的语义信息。在此之后,整个模型可以以端到端的方式进行优化,我们的工作总结如下:•据我们所知,这是基于注意机制的异构图神经网络研究的第一次尝试,我们的工作使图神经网络能够直接应用于异构图,进一步促进了异构图的应用节点级和语义级注意。由于这种层次性的关注,被提议的han可以同时考虑节点和元路径的重要性。此外,我们的模型是高效的,对于基于元路径的结点对的数目具有线性复杂度,可以应用于大规模的异构图。通过与现有模型的比较,证明了该模型的优越性。更重要的是,通过分析层次注意机制,提出的HAN证明了它对异质图分析具有潜在的良好解释能力。
2 RELATED WORK
2.1 Graph Neural Network
图神经网络(GNNs)旨在扩展深度神经网络来处理任意图结构的数据。李玉佳等。[20] 提出了一种包含门控递归单元的跨节点信息传播模型。近年来,在图结构数据上出现了大量的广义卷积运算。图卷积神经工作一般分为两类,即谱域和非谱域。一方面,谱方法处理图的谱表示。琼·布鲁纳等人。[2] 通过寻找相应的fourier基,将卷积推广到一般图。Michaël等人。〔6〕利用K阶切比雪夫多项式在谱域中逼近平滑滤波器。Kipfet等人。〔18〕提出了一种谱图卷积网络,它是通过谱图卷积的一阶近似来设计一个图卷积网络,另一方面,我们也有非谱方法,它直接在图上定义卷积,在空间上的近邻组上操作。Hamilton等人。[14] 介绍graphsage,它在固定大小的节点邻居上执行基于神经网络的聚合器。它可以学习一个函数,该函数通过聚集来自节点Zs局部邻域的特征来生成嵌入。注意力 机制,如自我注意[34]和软注意[1],已经成为深度学习中最有影响力的机制之一。已有的一些工作介绍了基于图的应用的注意机制,如建议[15,16],受注意机制的启发,提出了图注意网络[35]来学习节点与其邻域之间的重要性,并融合邻域进行节点分类。然而,上述图神经网络不能处理各种类型的节点和边,只能应用于齐次图。
2.2 Network Embedding
网络嵌入,即网络表示学习(NRL),是将网络嵌入到一个低维空间中,同时保留网络的结构和性质,从而将学习到的嵌入应用到下游网络任务中。例如,基于随机游走的方法[12,23]、基于深神经网络的方法[36]、基于矩阵分解的方法[22,37]和其他方法,例如LINE[33]。然而,所有这些算法都是针对齐次图提出的。一些详细的评论可以在[5,11]中找到。异构图嵌入主要关注基于元路径的结构信息的保存。
- ESim[26]接受用户定义的元路径作为指导,以便在用户首选的相似性搜索嵌入空间中学习顶点向量。即使ESim可以利用多个元路径,它也无法了解元路径的重要性。为了获得最佳性能,ESim需要进行网格搜索,以确定hmeta路径的最优权值。很难找到特定任务的最佳组合。
- Metapath2vec[7]设计了一种基于元路径的随机游走,并利用skip-gram(跳转图)进行异构图嵌入。但是,metapath2vec只能使用一个meta路径,可能会忽略一些有用的信息。与metapath2vec类似,本文[27]提出了一种类型约束策略来过滤节点序列并捕获异构图中反映的复杂语义。
- HIN2Vec[9]执行多个预测训练任务,同时学习节点和元路径的潜在向量。
- Chen等人。〔3〕提出了一种投影度量嵌入模型,称为PME,它可以通过欧氏距离来保持节点的邻近性。PME将不同类型的节点投影到同一关系空间中,进行异构链路预测。
- 为了研究异构图的综合描述问题,Chen等。[29]提出了一种通过边缘表示嵌入异构图的HEER算法。
- Fan等人。(8)提出了一种嵌入模型Meta AgRAP2VEC,其中最大限度地保留了结构和语义用于恶意软件检测。
- Sun等人。[30]提出了基于元图的网络嵌入模型,该模型同时考虑了元图中所有元信息的隐藏关系。
综上所述,这些算法都没有考虑异构图表示学习中的注意机制。
3 PRELIMINARY
4 THE PROPOSED MODEL
在这一部分中,我们提出了一种新的用于异构图的半监督图神经网络。该模型遵循一个层次注意结构:节点级注意→语义级注意。图2展示了HAN的整个框架。首先,我们提出了一种节点级的关注度来学习基于元路径的邻居的权重,并对其进行聚合得到语义指定的节点嵌入。 然后通过语义注意判断元路径的不同,得到特定任务的语义指定节点嵌入的最优加权组合。
4.1 Node-level Attention
在聚合每个节点的元路径邻居信息之前,我们应该注意到每个节点的基于元路径的邻居在特定任务的节点嵌入学习中起着不同的作用和重要性。在这里,我们引入了节点级的注意,它可以学习异质图中每个节点的基于元路径的邻居的重要性,并将这些有意义的邻居的表示聚合起来形成一个节点嵌入。由于节点的异质性,不同类型的节点具有不同的特征空间。因此,对于每一种类型的节点(例如,具有类型üi的节点),我们设计了类型特定转换矩阵Müi,以将不同类型节点的特征投影到相同的特征空间中。与[13]不同,类型指定的转换矩阵基于节点类型而不是边缘类型。投影过程如下:
其中hi和hi′分别是节点i的原始特征和投影特征。通过类型指定的投影操作,节点级的注意可以处理任意类型的节点。之后,我们利用自我注意来学习各种节点之间的权重。给定通过元路径Φ连接的节点对(i,j),节点级注意eijΦ可以学习重要性eijΦ,这意味着节点j对节点i有多重要。基于元路径的节点对(i,j)的重要性可以表述如下:
这里attnode表示执行节点级注意的深层神经网络。给定元路径Φ,所有基于元路径的节点对共享attnode。这是因为在一个元路径下有一些相似的连接模式。上述公式(2)表明,给定元路径Φ,基于元路径的节点对(i,j)的权重取决于它们的特征。请注意,e i jΦ是不对称的,即节点i对节点j的重要性和节点j对节点i的重要性可能有很大的不同。结果表明,节点级注意可以保持非对称性,这是异质图的一个重要性质。
然后我们通过屏蔽注意将结构信息注入到模型中,这意味着我们只计算节点j∈NiΦ的eijΦ,其中NiΦ表示节点i(包括自身)的基于元路径的邻居。在得到基于元路径的节点对之间的重要性之后,我们通过softmax函数对它们进行规范化,得到权重系数αΦij:
其中σ表示激活函数,∥表示连接操作,aΦ表示元路径Φ的节点级注意向量。从式(3)可以看出,(i,j)的权重系数取决于它们的特征。另外请注意,重量系数αijΦ是不对称的,这意味着它们对彼此的贡献不同。不仅因为分子中的连接顺序不同,而且因为它们有不同的邻域,所以规范化项(分母)会有很大的差别。
然后,节点i的基于元路径的嵌入可以由邻居的投影特征与相应的系数聚合,如下所示:
其中zΦi是元路径Φ的节点i的学习嵌入。为了更好地理解节点级的聚合过程,我们在图3(a)中也给出了一个简单的解释。每个节点嵌入都由其邻居聚合。由于注意权αijΦ是为单个元路径生成的,因此它具有语义的特殊性,能够承载一种语义信息。
4.2 Semantic-level Attention
一般来说,异构图中的每个节点都包含多种类型的语义信息,语义特定节点的嵌入只能从一个方面反映节点。为了学习更全面的节点嵌入,我们需要融合可以通过元路径显示的多种语义。为了解决异构图中元路径选择和语义融合的难题,我们提出了一种新的语义层次注意,自动学习不同元路径的重要性,并将它们融合到特定的任务中。以从节点级注意中学习到的P组语义特定节点嵌入为输入,计算出每个元路径(βΦ0,βΦ1,. . ,βΦP)可表示如下:
这里attsem表示执行语义级注意的深层神经网络。结果表明,语义级的注意可以捕捉到异构图背后的各种类型的语义信息。
为了了解每个元路径的重要性,我们首先通过非线性变换(例如,一层MLP)来变换语义规范嵌入。然后测量语义特定点嵌入的重要性作为转换嵌入与语义级注意向量q的相似度,并对所有语义特定点嵌入的重要性进行平均,可以解释为每个元路径的重要性。每个元路径的重要性表示为wΦi,如下所示:
其中W是权重矩阵,b是偏差向量,q是语义注意向量。请注意,对于有意义的比较,以上所有参数对于所有元路径和语义指定的嵌入都是共享的。在得到每个元路径的重要性之后,我们通过softmax函数对它们进行规范化。元路径Φi的权重,表示为βΦi,可以通过使用softmax函数规范化所有元路径的上述重要性来获得,
这可以解释为特定任务的元路径Φi的贡献。显然,βΦi越高,元路径Φi就越重要。注意,对于不同的任务,元路径Φi可能有不同的权重。以学习到的权重为系数,我们可以将这些语义指定的嵌入进行融合,得到最终的嵌入Z,如下所示:
为了更好地理解语义层的聚合过程,我们在图3(b)中也给出了简要的解释。最终的嵌入由所有语义指定的嵌入聚合。然后将模糊神经网络嵌入到特定的任务中,设计不同的损失函数。对于半监督节点分类,我们可以最小化所有标记节点上的交叉熵,即地面真实值和预测值之间的交叉熵:
其中C是Classifier的参数,YL是有标签的节点索引集,YL和Zl是有标签节点的标签和嵌入。在标记数据的引导下,通过反向传播优化模型,学习节点的嵌入。在算法1中显示了HAN的整个过程。
未完待续
模型复现