GNN在深度学习领域表现出了优越的性能。但是,在包含不同类型节点和边的异质图的图神经网络中,GNN还不够完善。本文首先提出了一种异质图神经网络分层注意力机制,涉及到节点级别和语义级别。具体来说,节点级注意力学习节点及其基于元路径的邻居之间的重要性,而语义级注意力能够学习不同元路径的重要性。 然后,该模型可以通过分层的方式从基于元路径的邻居中聚合特征来生成节点嵌入。
现实世界的图通常带有多类型的节点和边,称为异构信息网络(HIN)。由于异质图包含更全面的信息和丰富的语义,它已广泛应用于许多数据挖掘任务中。元路径(meta-path),连接两个对象的复合关系,是一种广泛使用的结构,用来捕捉语义。
从上图可以看出,基于元路径,异质图中节点之间的关系可以具有不同的语义。
图的异质性
异质性是异质图的一种性质,即各种类型的节点和边。例如,不同类型的节点具有不同的特征,它们的特征可能落在不同的特征空间中。例如在图1中,演员的特征可能涉及性别、年龄和国籍,而电影的特征可能涉及情节和演员。 如何处理这种复杂的结构信息,同时保存多样的特征信息,是一个亟待解决的问题。
语义级注意力
异质图中不同的元路径可以提取不同的语义信息。语义级注意力旨在了解每个元路径的重要性,并为它们分配适当的权重。例如在图1中,《终结者》可以通过电影-演员-电影连接到《终结者2》(二者都由施瓦辛格主演),也可以通过电影-年-电影连接到《鸟》(两者都在1984年拍摄)。然而,当识别电影《终结者》的类型时, M A M MAM MAM通常扮演更重要的角色,而不是 M Y M MYM MYM。因此,平等对待不同的元路径是不切实际的,会削弱一些有用的元路径提供的语义信息。
节点级注意力
给定一个元路径,每个节点都有许多基于元路径的邻居。如何区分邻居的细微差别,选择一些信息量大的邻居是必要的。对于每个节点,节点级注意力旨在学习基于元路径的邻居的重要性,并为它们分配不同的注意力值。例如在图1中,当使用元路径电影-导演-电影时,《终结者》可通过导演詹姆斯·卡梅隆连接到《泰坦尼克号》和《终结者2》。为了更好地将《终结者》的体裁识别为科幻电影,模型应该更多地关注《终结者2》,而不是《泰坦尼克号》。因此,如何设计一个能够发现邻居的细微差异并正确学习其权重的模型,是必须的。
本文提出了一种新型的异质图注意力网络,命名为 H A N HAN HAN,它同时考虑了节点级和语义级的注意力。
受注意力机制的启发,提出了图注意网络(GAN)来学习节点与其邻居之间的重要性,并融合相邻节点来进行节点分类。然而,上述图神经网络不能处理各种类型的节点和边,只能应用于齐次图。
网络嵌入,即网络表示学习(Network Representation Learning,NRL),是在保留网络结构和属性的前提下,将网络嵌入到一个低维空间中,使学习到的嵌入可以应用到下游的网络任务中。例如,随机游走,深度神经网络,矩阵因式分解等。但是,这些方法都是针对齐次图的。
异质图嵌入主要集中在保留基于元路径的结构信息上。接下来列举了一系列异质图嵌入的例子,但都没用到注意力机制。
G = ( V , E ) G=(V,E) G=(V,E),包含节点集 V V V和连接集 E E E。异质图还包含一个节点类型映射函数 ϕ : V → A ϕ:V→A ϕ:V→A和一个连接类型映射函数 ψ : E → R ψ:E→R ψ:E→R。 A A A和 R R R表示预定义的对象类型和连接类型的集合,其中 ∣ A ∣ + ∣ R ∣ > 2 |A|+|R|>2 ∣A∣+∣R∣>2。
例子:
如图1所示,该异质图由多种类型的对象(演员(A)、电影(M)、导演(D))和关系(电影与导演之间的拍摄关系、演员与电影之间的角色扮演关系)。
在异质图中,两个对象可以通过不同的语义路径连接,称为元路径。
元路径 Φ Φ Φ定义为 A 1 R 1 → A 2 R 2 → . . . R l → A l + 1 \text{ }A_1\text{ }\underrightarrow{R_1}\text{ }A_2\text{ }\underrightarrow{R_2}\text{ }...\text{ }\underrightarrow{R_l}\text{ }A_{l+1} A1 R1 A2 R2 ... Rl Al+1(缩写为 A 1 A 2 ⋅ ⋅ A l + 1 A_1A_2··A_{l+1} A1A2⋅⋅Al+1),它描述了对象 A 1 A_1 A1和 A l + 1 A_{l+1} Al+1之间的复合关系 R = R 1 ◦ R 2 ⋅ ⋅ R l R=R_1◦R_2··R_l R=R1◦R2⋅⋅Rl,其中 ◦ ◦ ◦表示关系上的组合算子。
例子:
如图1所示,两部电影可以通过多条元路径连接,例如电影-演员-电影(MAM)和电影-导演-电影(MDM)。不同的元路径总是揭示不同的语义。例如,MAM是指角色扮演关系,而MDM是指它们由同一个导演指导。
给定一个元路径 Φ Φ Φ,每个节点都存在一组基于元路径的邻居,它们可以在异质图中揭示不同的结构信息和丰富的语义。
在异质图中,给定一个节点 i i i和一个元路径 Φ Φ Φ,基于元路径的节点 i i i的邻居 N i Φ N_i^Φ NiΦ被定义为通过元路径 Φ Φ Φ与节点 i i i连接的节点集。请注意,节点的邻居包括自己。
例子:
如图1(d)所示,给定元路径电影-演员-电影, m 1 m_1 m1基于元路径的邻居包括 m 1 m_1 m1(本身)、 m 2 m_2 m2和 m 3 m_3 m3。同样,基于元路径电影-导演-电影的 m 1 m_1 m1邻居包括 m 1 m_1 m1和 m 2 m_2 m2。显然,基于元路径的邻居可以利用异质图中结构信息的不同方面。【我们可以通过邻接矩阵序列的乘法得到基于元路径的邻居。】?
本节提出了一种新的针对异质图的半监督图神经网络。该模型遵循一个层次化的注意结构:节点级注意 → → →语义级注意。图2展示了 H A N HAN HAN的整个框架。首先,提出了一个节点级注意力来学习基于元路径的邻居的权重,并将它们聚合起来,以获得特定语义的节点嵌入。之后,HAN可以通过语义级注意力来判断元路径的差异,并得到特定任务的特定语义的节点嵌入的最优加权组合。
在聚合每个节点的基于元路径的邻居的信息之前,应该注意到每个节点的基于元路径的邻居起着不同的作用,并且在学习特定任务的节点嵌入时表现出不同的重要性。此处,我们引入的节点级注意力可以了解基于元路径的邻居对于异质图中每个节点的重要性,并聚合这些有意义的邻居的表示以形成节点嵌入。
由于节点的异质性,不同类型的节点具有不同的特征空间。因此,对于每一种类型的节点(如类型为 ϕ i ϕ_i ϕi的节点),我们设计特定类型的变换矩阵 M ϕ i M_{ϕ_i} Mϕi来将不同类型节点的特征投影到同一特征空间。特定类型的变换矩阵 M ϕ i M_{ϕ_i} Mϕi是基于节点类型的,而不是边类型的。投影过程可表示为:
其中, h i h_i hi和 h i ′ h_i' hi′分别是节点 i i i的原始特征和投影特征。通过特定类型的投影操作,节点级注意力可以处理任意类型的节点。
之后,利用自我注意力来学习各种节点之间的权重。给定一个通过元路径 Φ Φ Φ连接的节点对 ( i , j ) (i,j) (i,j),节点级注意 e i j Φ e^Φ_{ij} eijΦ可以学习重要性 e i j Φ e^Φ_{ij} eijΦ,即节点 j j j对节点 i i i的重要性。基于元路径的节点对 ( i , j ) (i,j) (i,j)的重要性可以表述如下:
其中, a t t n o d e att_{node} attnode表示执行节点级注意力的深度神经网络。给定元路径 Φ Φ Φ,所有基于元路径的节点对都共享 a t t n o d e att_{node} attnode。 这是因为在一个元路径下有一些相似的连接模式。上述等式(2)表明给定元路径 Φ Φ Φ,基于元路径的节点对 ( i , j ) (i,j) (i,j)的权重取决于它们的特征。请注意, e i j Φ e^Φ_{ij} eijΦ是不对称的,即节点 i i i对节点 j j j的重要性和节点 j j j对节点 i i i的重要性可能是完全不同的。它表明,节点级注意力可以保持不对称性,这是异质图的一个关键性质。
接下来,通过masked attention将结构信息注入模型,这意味着我们只计算节点 j ∈ N i Φ j∈N_i^Φ j∈NiΦ的 e i j Φ e^Φ_{ij} eijΦ,其中 N i Φ N_i^Φ NiΦ表示节点 i i i的基于元路径(包括它自身)的邻居。在获得基于元路径的节点对之间的重要性后,我们通过softmax函数将它们标准化以获得权重系数 α i j Φ α^Φ_{ij} αijΦ:
其中, σ σ σ表示激活函数, ∥ ∥ ∥表示级联操作, a Φ a_Φ aΦ是元路径 Φ Φ Φ的节点级注意向量。注意, a i j Φ a^Φ_{ij} aijΦ也是不对称的。不仅是因为分子中的连接顺序,而且还因为它们有不同的邻居,所以规范化项(分母)将会很不同。
然后,基于元路径的节点 i i i的嵌入可以由邻居的投影特征聚合,相应的系数如下:
为了更好地理解节点级的聚合过程,论文在图3(a)中进行了简要说明。每个节点的嵌入都来自邻居节点。由于注意力权重 α i j Φ α^Φ_{ij} αijΦ是为单个元路径生成的,因此它是针对语义的,并且能够捕获一种语义信息。
由于异质图是无标度的(scale free),所以会有很高的方差。为了解决这个问题,论文将节点级注意力扩展到多头注意力,使训练过程更加稳定。具体来说,重复节点级注意力 K K K次,并且连接学习到的嵌入作为特定语义的嵌入:
给定元路径集 { Φ 0 , Φ 1 , . . . , Φ P } \{Φ_0,Φ_1,...,Φ_P\} {Φ0,Φ1,...,ΦP},在将节点特征输入节点级注意力之后,我们可以获得 P P P组特定语义的节点嵌入,表示为 { Z Φ 0 , Z Φ 1 , . . . , Z Φ P } \{Z_{Φ_0},Z_{Φ_1},...,Z_{Φ_P}\} {ZΦ0,ZΦ1,...,ZΦP}。
通常,异质图中的每个节点都包含多种类型的语义信息,而特定语义的节点嵌入只能从一个方面反映节点。为了学习更全面的节点嵌入,我们需要融合多个语义,这些语义可以通过元路径来揭示。为了解决异质图中元路径选择和语义融合的问题,我们提出了一种新的语义级注意力来自动学习不同元路径的重要性并将其融合到特定任务中。将从节点级注意力中学习到的 P P P组特定语义的节点嵌入作为输入,每个元路径 ( β Φ 0 , β Φ 1 , . . . , β Φ P ) (β_{Φ_0},β_{Φ_1},...,β_{Φ_P}) (βΦ0,βΦ1,...,βΦP)的学习权重可以显示如下:
其中, a t t s e m att_{sem} attsem表示执行语义级注意力的深层神经网络。它表明,语义级注意力可以捕捉异质图背后的各类语义信息。
为了学习每个元路径的重要性,首先通过一个非线性变换(例如,一层MLP)来转换特定语义的嵌入。然后,我们将特定语义的嵌入的重要性度量为转化后的嵌入与语义级注意力向量 q q q的相似度。此外,对所有特定语义节点嵌入的重要性进行平均,这可以解释为每个元路径的重要性。每个元路径的重要性 w Φ i w_{Φ_i} wΦi如下:
其中, W W W是权重矩阵, b b b是偏置向量, q q q是语义级注意力向量。
在获得每个元路径的重要性后,通过softmax函数对它们进行标准化。元路径 Φ i Φ_i Φi的权重 β Φ i β_{Φ_i} βΦi可以通过使用softmax函数归一化所有元路径的上述重要性来获得:
上式可以解释为元路径 Φ i Φ_i Φi对特定任务的贡献。显然, β Φ i β_{Φ_i} βΦi越高,元路径 Φ i Φ_i Φi就越重要。注意,对于不同的任务,元路径 Φ i Φ_i Φi可能有不同的权重。以学习到的权重为系数,可以融合这些特定语义的嵌入,得到最终的嵌入 Z Z Z如下:
为了更好地理解语义级的聚合过程,在图3(b)中进行了简要说明。最终的嵌入是由所有特定语义的嵌入进行聚合而成的。
然后,我们可以将最终嵌入应用于特定的任务,并设计不同的损失函数。对于半监督节点分类,我们可以通过最小化所有标记节点的ground-truth和预测之间的交叉熵来训练:
其中, C C C是分类器的参数, y L y_L yL是带标签节点的索引集, Y l Y^l Yl和 Z l Z^l Zl是标记节点的标签和嵌入。在标记数据的指导下,我们可以通过反向传播来优化模型,并学习节点嵌入。
本实验用到了DBLP、ACM、IMDB三个数据集。
参考博客:
异构图注意力网络 Heterogeneous Graph Attention Network