返回介绍

数学基础

统计学习

深度学习

工具

Scala

二十一、HAN [2019]

发布于 2023-07-17 23:38:24 字数 132279 浏览 0 评论 0 收藏 0

  1. 现实世界中的数据很多包含图结构,如社交网络、引文网络、万维网。图神经网络 GNN 作为一种强大的图结构数据的深度representation learning 方法,在图数据分析中表现出卓越的性能,并引起广泛的研究。例如,一些工作(《A new model for learning in graph domains》、《Gated graph sequence neural networks》、《The graph neural network model》)利用神经网络来学习基于节点特征和图结构的 node representation 。一些工作(《Convolutional neural networks on graphs with fast localized spectral filtering》GraphSAGEGCN)通过将卷积推广到图来提出图卷积网络。

    深度学习的最新研究趋势是注意力机制,该机制可以处理可变大小的数据,并鼓励模型更关注于数据中最重要的部分。注意力机制已被证明在深度神经网络框架中的有效性,并广泛应用于各个领域,如文本分析、知识图谱、图像处理。Graph Attention Network: GAT 是一种新颖的卷积式图神经网络,它利用注意力机制来处理仅包含一种类型的节点或边的同质图。

    尽管注意力机制在深度学习中取得成功,但是目前的异质图神经网络架构尚未考虑注意力机制。事实上,现实世界中的图通常带有多种类型的节点和边,这通常被称作异质信息网络heterogeneous information network: HIN或异质图 heterogeneous graph。异质图包含更全面的信息和更丰富的语义,因此被广泛应用于许多数据挖掘任务中。由于异质图的复杂性,传统的 GNN 模型无法直接应用于异质图。

    metapath 表示了不同类型对象之间的关系,它是一种广泛用于捕获语义的结构。以电影数据集 IMDB 为例,它包含三种类型的节点:电影 Movie、演员 Actor、导演 Director

    • metapath “电影-演员-电影” MAM 表示两部电影之间的共同演员关系。
    • metapath “电影-导演-电影”MDM 表示两部电影之间的共同导演关系。

    可以看到:采用不同的 metapath,异质图中节点之间的关系可以具有不同的语义。

    由于异质图的复杂性,传统的图神经网络无法直接应用于异质图。

    基于以上分析,在为异质图设计具有注意力机制的神经网络体系结构时,需要满足以下需求:

    • 图的异质性:异质性heterogeneity是异质图的固有属性,即图中包含各种类型的节点和边。例如,不同类型的节点具有不同的特征,它们的特征可能位于不同的特征空间。如何同时处理如此复杂的异质图结构信息,同时保持多样化的特征信息是需要解决的问题。

    • semantic-level 注意力:异质图涉及不同的有意义和复杂的语义信息,这些语义信息通常以 metapath 来刻画。因此,异质图中不同的 metapath 可以抽取不同的语义信息。如何选择最有意义的 metapath,并为 task-specific 融合语义信息是需要解决的问题。

      semantic-level 注意力旨在了解每个 metapath 的重要性,并为其分配适当的权重。如,电影 “《终结者》” 可以通过 Movie-Actor-Movie 连接到 “《终结者2》” (都是由施瓦辛格主演),也可以通过 Movie-Year-Movie 连接到 “《Birdy》” (都是在 1984 年拍摄)。但是在影片分类任务中,MAM 通常要比 MYM 更重要。

      因此,均匀对待所有 metapath 是不切实际的,这会削弱某些有用的 metapath 提供的语义信息。

    • node-level 注意力:在异质图中,节点可以通过各种类型的关系来连接。给定一个 metapath,每个节点多有很多基于该 metapath 的邻居。我们需要知道如何区分邻居之间的重要性,并选择一些信息丰富的邻居。对于每个节点,node-level 注意力旨在了解 metapath-based 邻居的重要性,并为他们分配不同的注意力值。

    为解决这些问题,论文《Heterogeneous Graph Attention Network》提出了一个新的异质图注意力网络 Heterogeneous graph Attention Network,简称 HANHAN 同时考虑了 同时考虑了node-level 注意力和 semantic-level 注意力。具体而言,给定节点特征作为输入:

    • 首先,HAN 使用 type-specific 转换矩阵将不同类型节点的特征投影到相同的特征空间。
    • 然后,HAN 使用 node-level 注意力机制来获得节点及其 metapath-based 邻居之间的注意力得分。
    • 然后,HAN 使用 semantic-level 注意力机制来获得各 metapath 针对具体任务的注意力得分。

    基于这两个级别学到的注意力得分,HAN 可以通过分层hierarchical 的方式获得邻居和多个 metapath 的最佳组合,使得学到的 node embedding 可以更好地捕获异质图中复杂的结构信息和丰富的语义信息。之后,可以通过端到端的反向传播来优化整个模型。

    论文的主要贡献:

    • 据作者所知,这是研究基于注意力机制的异质图神经网络的首次尝试。论文的工作使图神经网络能够直接应用于异质图,并进一步促进了基于异质图的应用。
    • 论文提出了一种新颖的异质图注意力网络 heterogeneous graph attention network: HAN ,它同时包含 node-level attentionsemantic-level attention 。受益于这种分层的注意力机制,所提出的 HAN 可以同时考虑节点重要性和 metapath 重要性。此外,HAN 模型效率高效,其复杂度是 metapath-based 节点 pair 对的数量的线性复杂度,因此可以应用于大规模异质图。
    • 论文进行了广泛的实验来评估所提出模型的性能。通过与 state-of-the-art 模型进行比较,结果表明了 HAN 的优越性。更重要的是,通过分析分层注意力机制,HAN 展示了它对于异质图分析的潜在的量向好可解释性。
  2. 相关工作:

    • GNN

      • 《new model for learning in graph domains》《The graph neural network model》 中介绍了旨在扩展深度神经网络以处理任意图结构数据的图神经网络GNN
      • 《Gated graph sequence neural networks》 提出了一种传播模型,该模型可以融合 gated recurrent unit: GRU 从而在所有节点上传播信息。

      最近很多工作在图结构数据上推广卷积运算。图卷积神经网络的工作一般分为两类,即谱域spectral domain卷积和非谱域non-spectral domain卷积。

      • 一方面,谱域卷积利用图的 spectral representation 来工作。

        • 《Spectral networks and locally connected networks on graphs》 通过找到图的傅里叶基Fourier basis从而将卷积推广到一般的图。
        • 《Convolutional neural networks on graphs with fast localized spectral filtering》 利用K$ K $ 阶切比雪夫多项式在谱域中近似 approximate 平滑的滤波器。
        • 《Semi-Supervised Classification with Graph Convolutional Networks》 提出了一种谱方法,称作图卷积网络Graph Convolutional Network: GCN。该方法通过普卷积的局部一阶近似来设计图卷积网络。
      • 另一方面,非谱域卷积直接在图上定义卷积。

        • 《Inductive Representation Learning on Large Graphs》 提出了 GraphSAGE,它在固定大小的节点邻域上执行基于神经网络的聚合器。它可以通过聚合来自节点局部邻域的特征来学习一个函数,该函数用于生成 node embedding

      注意力机制(如 self-attentionsoft-attention)已经成为深度学习中最有影响力的机制之一。先前的一些工作提出了用于图的注意力机制,如 《Aspect-Level Deep Collaborative Filtering via Heterogeneous Information Network》《Leveraging Meta-path based Context for Top-N Recommendation with A Neural Co-AttentionModel》。受到注意力机制的启发,人们提出 Graph Attention Network: GAT 来学习节点与其邻居之间的重要性,并融合 fuse 邻居进行节点分类。

      但是,上述图神经网络无法处理多种类型的节点和边,它们仅能处理同质图。

    • Network Embeddingnetwork embedding,即 network representation learning: NRL ,用于将网络嵌入到低维空间中并同时保留网络结构和属性,以便将学到的 embedding 应用于下游网络任务。如,基于随机游走的方法(node2vec, Deepwalk)、基于深度神经网络的方法(《Structural deep network embedding》)、基于矩阵分解的方法(《Asymmetric transitivity preserving graph embedding》,《Community Preserving Network Embedding》)、以及其它方法(LINE)。然而,所有这些算法都是针对同质图提出的。

      异质图嵌入主要聚焦于保留 metapath-based 的结构信息。

      • ESim 接受用户定义的 metapath 作为指导,在用户偏好 user-preferredembedding 空间中学习 node embedding 从而进行相似性搜索。即使 ESim 可以利用多个 metapath,它也无法了解 metapath 的重要性。为了达到最佳性能,ESim 需要进行网格搜索从而找到所有的 metapath 的最佳权重。
      • metapath2vec 设计了一种 metapath-based 随机游走,并利用 skip-gram 来执行异质图嵌入。但是,metapath2vec 只能使用一个 metapath,可能会忽略一些有用的信息。
      • metapath2vec 类似,HERec 提出了一种类型约束策略type constraint strategy来过滤节点序列并捕获异质图中反应的复杂语义。
      • HIN2Vec 执行多个预测的训练任务,同时学习节点和 metapath 的潜在向量。
      • 《PME: Projected Metric Embedding on Heterogeneous Networksfor Link Prediction》 提出了一个叫做 PME 的投影度量嵌入模型projected metric embedding model ,该模型可以通过欧式距离来保持节点邻近性。PME 将不同类型的节点投影到同一个关系空间 relation space 中,进行异质链接的预测。
      • 为了研究如何全面地描述异质图,《Easing Embedding Learning by Comprehensive Transcription of Heterogeneous InformationNetworks》 提出了 hEER,它可以通过 edge representation 来嵌入异质图。
      • 《Gotcha-sly malware!: Scorpion a metagraph2vec based malware detection system》 提出了一个嵌入模型 metapath2vec,其中网络结构和语义都被最大限度地保留从而用于恶意软件检测。
      • 《Joint embedding of meta-path and meta-graph for heterogeneous information networks》 提出了 metapath-basednetwork embedding 模型,该模型同时考虑了 meta-graph 的所有 meta 信息的隐藏关系 hidden relation

      综上所述,上述所有算法都没有考虑异质图 representation learning 中的注意力机制。

21.1 模型

  1. 异质图是一种特殊类型的信息网络,包含多种类型的节点或多种类型的边。

    定义异质网络G=(V,E)$ \mathcal G = (\mathcal V, \mathcal E) $ ,其中V$ \mathcal V $ 为节点集合,E$ \mathcal E $ 为边的集合。

    • 节点有多种类型,节点类型集合为A$ \mathcal A $ 。节点vV$ v\in \mathcal V $ 的类型为ϕ(v)A$ \phi(v)\in \mathcal A $ 。
    • 边有多种类型,边类型集合为R$ \mathcal R $ 。边eE$ e\in \mathcal E $ 的类型为ψ(e)R$ \psi(e)\in \mathcal R $ 。

    对于异质网络,有|A|+|R|>2$ |\mathcal A| + |\mathcal R| \gt 2 $ 。

  2. 定义 metapathΦ$ \Phi $ 为路径:A1R1A2R2RlAl+1$ A_1\stackrel{R_1}{\longrightarrow} A_2\stackrel{R_2}{\longrightarrow}\cdots \stackrel{R_l}{\longrightarrow} A_{l+1} $ ,简称A1A2Al+1$ A_1A_2\cdots A_{l+1} $ ,其中AiA,RiR$ A_i\in \mathcal A, R_i\in \mathcal R $ 。

    metapath 定义了A1$ A_1 $ 到Al+1$ A_{l+1} $ 之间一个关系R=R1R2Rl$ R = R_1\circ R_2\circ\cdots\circ R_l $ ,其中$ \circ $ 表示关系的组合composition

    metapath 表示不同对象之间的语义路径semantic path

  3. 定义 metapath-based 邻居:给定一个 metapathΦ$ \Phi $ 以及异质图中一个节点v$ v $ ,则节点v$ v $ 的 metapath-based 邻居NvΦ$ \mathcal N_v^\Phi $ 定义为节点v$ v $ 通过 metapathΦ$ \Phi $ 连接的邻居节点。注意:这里的邻居包含节点自身。

    如下图所示,我们构建了IMDB 的一个异质图,它包含多种类型的节点(演员Actor:A,电影Movie:M,导演 Director:D ),以及多种类型的关系。

    • 两个电影可以通过多种 metapath 连接,如 MAM, MDM
    • 不同的 metapath 通常表示不同的语义,如:MAM 表示两部电影是同一个演员参演的;MDM 表示两部电影是同一个导演主导的。
    • d 中,给定 metapath MAM 的情况下,m1$ m_1 $ 的 metapath-based 邻居包含m1,m2,m3$ m_1,m_2,m_3 $ (其中包含m1$ m_1 $ 自身);给定 metapath MDM 的情况下,m1$ m_1 $ 的 metapath-based 邻居包含m1,m2$ m_1,m_2 $ (其中包含m1$ m_1 $ 自身)。

  4. 现有的图神经网络可以处理任意图结构数据,但是它们都是针对同质网络来设计。由于 metapathmetapath-based 邻居是异质图的两个基本结构,因此我们为异质图设计一种新的半监督图神经网络 HAN

    HAN 采用 hierarchical attention 结构:node-level 注意力机制、semantic-level 注意力机制。下图给出了 HAN 的整体框架:

    • 首先我们提出 node-level 注意力,从而获取 metapath-based 邻居的权重,并在特定语义下(每个metapath 对应一个语义)聚合这些邻居从而得到节点的 embedding
    • 然后我们提出 semantic-level 注意力,从而区分 metapath 的权重。从而最终结合了 node-level 注意力和 semantic-level 注意力来获取 node embedding 的最佳加权组合。

21.1.1 node-level attention

  1. 每个节点的 metapath-based 邻居扮演了不同的角色,并且在 task-specific node embedding 学习中表现出不同的重要性。因此,我们考虑 node-level 注意力,它能够学习异质图中每个节点的 metapath-based 邻居的重要性,并聚合这些重要的邻居 embedding 从而生成node embedding

  2. 由于节点的异质性,不同类型节点具有不同的特征空间。因此,对于类型为ϕiA$ \phi_i\in \mathcal A $ 的节点,我们设计 type-specific 转换矩阵Mϕi$ \mathbf M_{\phi_i} $ ,从而将不同类型节点的特征投影到相同的特征空间。注意:这里的转换矩阵是基于节点类型,而不是连接类型。

    节点特征的投影过程为:

    xi=Mϕixi

    其中:xi$ \mathbf{\vec x}_i $ 为节点vi$ v_i $ 的原始特征,xi$ \mathbf{\vec x}_i^\prime $ 为节点vi$ v_i $ 转换后的特征。

    通过type-specific 特征投影过程,node-level 注意力可以处理任意类型的节点。

  3. 然后,我们利用self-attention 机制来学习 metapath-based 邻居之间的重要性。

    给定一对节点(vi,vj)$ (v_i,v_j) $ ,假设它们通过 metapathΦ$ \Phi $ 连接,定义node-level 注意力ei,jΦ$ e_{i,j}^{\Phi} $ 为:对于节点vi$ v_i $ 而言,节点vj$ v_j $ 的重要性。

    基于 metapath 的节点 pair(vi,vj)$ (v_i,v_j) $ 的重要性可以表示为:

    ei,jΦ=attnode(xi,xj;Φ)

    其中:

    • attnode$ \text{att}_{\text{node}} $ 表示执行 node-level 注意力的深度神经网络。

      给定 metapathΦ$ \Phi $ ,attnode$ \text{att}_{\text{node}} $ 在所有 metapath-based 节点 pair 对之间共享,这是因为在 metapathΦ$ \Phi $ 下存在一些类似的连接模式。

    • metapath 节点重要性是非对称的,即ei,jΦej,iΦ$ e_{i,j}^\Phi \ne e_{j,i}^\Phi $ 。这表明 node-level 注意力可以保留异质图的不对称性,而这种不对称性是异质图的关键特性。

      即使ei,jΦ=ej,iΦ$ e_{i,j}^\Phi = e_{j,i}^\Phi $ ,由于不同节点具有不同的邻居集合,因此归一化之后的αi,jΦαj,iΦ$ \alpha_{i,j}^\Phi\ne \alpha_{j,i}^\Phi $ 。

    • 给定 metapathΦ$ \Phi $ , metapath-based 节点 pair(vi.vj)$ (v_i.v_j) $ 的权重取决于它们的特征。

    通常我们选择attnode()$ \text{att}_{\text{node}} (\cdot) $ 函数为:

    ei,jΦ=attnode(xi,xj;Φ)=σ(aΦ[xi||xj])

    其中:

    • aΦ$ \mathbf{\vec a}_\Phi $ 为 metapathΦ$ \Phi $ 的 node-level 注意力向量attention vector ,它是 metapath-specific 的。
    • σ()$ \sigma(\cdot) $ 为非线性激活函数。
    • [||]$ [\cdot||\cdot] $ 为向量拼接操作。
  4. 然后,我们通过masked attention 将结构信息注入到模型,这意味着我们计算ei,jΦ$ e_{i,j}^\Phi $ 时仅考虑节点jNiΦ$ j\in \mathcal N_i^\Phi $ ,其中NiΦ$ \mathcal N_i^\Phi $ 表示节点vi$ v_i $ 的metapath-based 邻居(包括其自身)。

    在获得 metapath-based 节点 pair 对的重要性之后,我们通过 softmax 函数对其进行归一化,从而获得权重系数αi,jΦ$ \alpha_{i,j}^\Phi $ :

    αi,jΦ=softmaxj(ei,jΦ)=exp(σ(aΦ[xi||xj]))kNiΦexp(σ(aΦ[xi||xk]))

    可以看到:

    • 权重系数αi,jΦ$ \alpha_{i,j}^\Phi $ 依赖于节点vi,vj$ v_i,v_j $ 的特征向量。
    • 权重系数αi,jΦ$ \alpha_{i,j}^\Phi $ 是非对称的,即αi,jΦαj,iΦ$ \alpha_{i,j}^\Phi\ne \alpha_{j,i}^\Phi $ 。这种不对称性不仅因为分子中的向量拼接顺序不同,还因为分母中归一化项有很大差异(不同节点具有不同的邻居集合)。
    • 由于权重系数αi,jΦ$ \alpha_{i,j}^\Phi $ 是针对单个metapath 生成的,因此它是 semantic-specific 的,并且能够捕获一种语义信息。
  5. 最后,节点vi$ v_i $ 的 metapath-based embedding 可以通过邻居的投影后的特征和相应的权重系数进行聚合:

    ziΦ=σ(jNiΦαi,jΦxj)

    其中ziΦ$ \mathbf{\vec z}_i^\Phi $ 为节点vi$ v_i $ 针对 metapathΦ$ \Phi $ 学到的 embedding

  6. 为更好地理解 node-level 聚合过程,我们以下图 (a) 为例进行简要说明。每个节点的 embedding 均由其 metapath-based 邻居的特征聚合而来。由于注意力权重αi,jΦ$ \alpha_{i,j}^\Phi $ 是为单个 metapath 而生成的,因此它是 semantic-specific 并且能够捕获一种语义信息。

  7. 由于异质图的数据规模可大可小,其规模的方差很大。为使得 HAN 能够应用到各种规模的异质图,我们将 node-level 注意力扩展为 multi-head 注意力,从而使得训练过程更为稳定。

    具体而言,我们重复 node-level 注意力K$ K $ 次,并将学到的 embedding 拼接,从而作为最终的 semantic-specific embedding

    ziΦ=k=1Kσ(jNiΦαi,jΦ,kxj)

    其中αi,jΦ,k$ \alpha_{i,j}^{\Phi,k} $ 为第k$ k $ 个 head 学到的权重系数。

  8. 给定 metapath 集合{Φ0,Φ1,,ΦP}$ \{\Phi_0,\Phi_1,\cdots,\Phi_P\} $ ,经过 node-level 注意力机制之后,我们可以获得P$ P $ 组 semantic-specific node embedding,记作{ZΦ0,ZΦ1,,ZΦP}$ \{\mathbf Z_{\Phi_0},\mathbf Z_{\Phi_1},\cdots, \mathbf Z_{\Phi_P}\} $ 。其中每组 semantic-specific node embedding包含了图中所有的节点。

    如何确定这个 metapath 集合,论文并未给出任何答案或方向。

21.1.2 semantic-level attention

  1. 通常异质图中每个节点都包含多种类型的语义信息,并且 smantic-specific node embedding仅能反映节点某个方面的语义。为学到更全面的节点 embedding,我们需要融合各种类型语义。

    为解决多种类型语义融合的挑战,我们提出一种新的 semantic-level attention 机制,可以自动学习 task-specific 下不同 metapath 的重要性,从而融合多种类型的语义。

  2. 考虑 node-level 注意力下学到的P$ P $ 组semantic-specific node embedding{ZΦ0,ZΦ1,,ZΦP}$ \{\mathbf Z_{\Phi_0},\mathbf Z_{\Phi_1},\cdots, \mathbf Z_{\Phi_P}\} $ ,令每个 metapath 的重要性为{βΦ0,,βΦP}$ \{\beta_{\Phi_0},\cdots, \beta_{\Phi_P}\} $ ,则有:

    (βΦ0,βΦ1,,βΦP)=attsem(ZΦ0,ZΦ1,,ZΦP)

    其中attsem$ \text{att}_{\text{sem}} $ 表示执行 semantic-level 注意力的深度神经网络。

    为学习 metapath 的重要性:

    • 我们首先通过非线性变换(如单层 MLP)来转换 semantic-specifc node embedding
    • 然后,我们将转后的 embedding 和一个 semantic-level 注意力向量 attention vectorq$ \mathbf{\vec q} $ 计算相似性从而得到重要性。
    • 最后我们聚合所有 semantic-specific node embedding的重要性,从而得到每个 metapath 的重要性。

    metapathΦi$ \Phi_i $ 的重要性为wΦi$ w_{\Phi_i} $ ,则有:

    wΦi=1|V|viVqtanh(WziΦ+b)

    其中:

    • W$ \mathbf W $ 为权重向量,b$ \mathbf{\vec b} $ 为偏置向量。
    • q$ \mathbf{\vec q} $ 为 semantic-level 的注意力向量。

    注意:为进行有意义的比较,所有的 metapathsemantic-specific node embedding都共享相同的{W,b,q}$ \left\{\mathbf W, \mathbf{\vec b},\mathbf{\vec q} \right\} $ 。

    上式重写为:wΦi=q[1|V|viVtanh(WziΦ+b)]$ w_{\Phi_i} = \mathbf{\vec q}\cdot\left[\frac{1}{|\mathcal V|} \sum_{v_i\in \mathcal V} \tanh\left(\mathbf W \mathbf{\vec z}_i^\Phi + \mathbf{\vec b}\right)\right] $ 。因此是对 metapathΦ$ \Phi $ 计算 metapath-levelembedding1|V|viVtanh(WziΦ+b)$ \frac{1}{|\mathcal V|} \sum_{v_i\in \mathcal V} \tanh\left(\mathbf W \mathbf{\vec z}_i^\Phi + \mathbf{\vec b}\right) $ ,然后和q$ \mathbf{\vec q} $ 计算内积。

    这里对不同 metapath 共享相同的投影矩阵W$ \mathbf W $ 而没有采用不同的投影矩阵Wϕ$ \mathbf W_\phi $ ,因为这里ziϕ$ \mathbf{\vec z}_i^\phi $ 已经被投影到相同的特征空间了。

    在得到每个 metapath 重要性之后,我们通过 softmax 函数对其进行归一化。metapathΦi$ \Phi_i $ 的权重为βΦi$ \beta_{\Phi_i} $ 为:

    βΦi=exp(wΦi)j=1Pexp(wΦj)

    βΦi$ \beta_{\Phi_i} $ 可以解释具体任务下 metapathΦi$ \Phi_i $ 的贡献,显然βΦi$ \beta_{\Phi_i} $ 越大则 metapathΦi$ \Phi_i $ 越重要。注意:对于不同的任务,metapathΦi$ \Phi_i $ 可以具有不同的权重。

    使用学到的权重作为系数,我们可以融合这些 semantic-specifc node embedding,从而得到最终的 embedding 为:

    Z=i=1PβΦiZΦi
  3. 为更好地理解 sementic-level 聚合过程,我们在下图的 (b) 中进行简要说明。最终的 embedding 由所有 semantic-specific node embedding进行聚合。

  4. 对于不同的任务,我们可以设计不同的损失函数。对于半监督节点分类任务,我们可以使用交叉熵损失函数:

    L=vVYyvln(θczv)

    其中:

    • VY$ \mathcal V_Y $ 为所有的标记节点集合。
    • yv$ \mathbf{\vec y}_v $ 为节点v$ v $ 的真实labelone-hot 向量。
    • zv$ \mathbf{\vec z}_v $ 为节点v$ v $ 的 embedding向量。
    • θc$ \vec\theta_c $ 为分类器的参数。

    在标记数据的指导下,我们可以通过反向传播优化 HAN 模型,并学习 node embedding

  5. HAN 算法:

    • 输入:

      • 异质图G=(V,E)$ \mathcal G = (\mathcal V, \mathcal E) $
      • 所有节点的特征{xi,viV}$ \left\{\mathbf{\vec x}_i,v_i\in\mathcal V\right \} $
      • metapath 集合{Φ0,Φ1,,ΦP}$ \{\Phi_0,\Phi_1,\cdots,\Phi_P\} $
      • multi-head 数量K$ K $
    • 输出:

      • 最终的 node embedding 矩阵Z$ \mathbf Z $
      • node-level 每个 head 的注意力权重{αi,jΦp,k}$ \left\{\alpha_{i,j}^{\Phi_p,k}\right\} $
      • semantic-level 的注意力权重{βΦp}$ \{\beta_{\Phi_p}\} $
    • 算法步骤:

      • 迭代metapathΦ{Φ0,Φ1,,ΦP}$ \Phi \in \{\Phi_0,\Phi_1,\cdots,\Phi_P\} $ ,迭代过程为:

        • 迭代多头k=1,,K$ k=1,\cdots,K $ ,迭代过程为:

          • 进行 type-specific 转换:xiMΦxi$ \mathbf{\vec x}_i^\prime \leftarrow \mathbf M_{\Phi } \mathbf{\vec x}_i $

          • 遍历所有节点viV$ v_i\in \mathcal V $ :

            • 找到 metapath-based 邻域集合NiΦ$ \mathcal N_i^\Phi $

            • 对于vjNiΦ$ v_j\in \mathcal N_i^\Phi $ ,计算αi,jΦ$ \alpha_{i,j}^\Phi $ :

              αi,jΦ=softmaxj(ei,jΦ)=exp(σ(aΦ[xi||xj]))kNiΦexp(σ(aΦ[xi||xk]))
            • 计算 semantic-specific 节点 embedding

              ziΦσ(jNiΦαi,jΦxj)
        • 拼接多头学到的 semantic-specific 节点 embedding

          ziΦ=k=1Kσ(jNiΦαi,jΦ,kxj)
      • 计算 metapathΦi$ \Phi_i $ 的注意力权重βΦi$ \beta_{\Phi_i} $ :

        βΦi=exp(wΦi)j=1Pexp(wΦj)
      • 融合semantic-specific node embeddingZi=1PβΦiZΦi$ \mathbf Z \leftarrow \sum_{i=1}^P \beta_{\Phi_i} \mathbf Z_{\Phi_i} $

      • 计算交叉熵损失:L=vVYyvln(θczv)$ \mathcal L = -\sum_{v\in \mathcal V_Y} \mathbf{\vec y}_v\cdot \ln\left(\vec\theta_c\cdot\mathbf{\vec z_v}\right) $

      • 反向传播并更新参数

      • 返回Z$ \mathbf Z $ ,{αi,jΦp,k}$ \left\{\alpha_{i,j}^{\Phi_p,k}\right\} $ ,{βΦp}$ \{\beta_{\Phi_p}\} $

21.1.3 分析

  1. HAN 可以处理异质图中各种类型的节点和各种类型的关系,并融合了丰富的语义信息。信息可以通过多种关系从一种类型的节点传播到另一种类型的节点。得益于这种异质的图注意力网络,不同类型节点的 embedding 能够不断相互促进提升。

  2. HAN 是高效的,可以轻松并行化。每个节点的注意力可以独立地并行化,每条 metapath 的注意力也可以独立地计算。

    给定一个 metapathΦ$ \Phi $ ,node-level 注意力的时间复杂度为O(|VΦ|F1F2K+|EΦ|F1K)$ O(|\mathcal V_\Phi| F_1F_2 K + |\mathcal E_\Phi| F_1 K) $ ,其中:

    • |VΦ|$ |\mathcal V_\Phi| $ 为属于 metapathΦ$ \Phi $ 的节点数量,|EΦ|$ |\mathcal E_\Phi| $ 为属于 metapathΦ$ \Phi $ 的 节点 pair 对的数量。
    • K$ K $ 为 multi-head 的数量。
    • F1,F2$ F_1, F_2 $ 分别为MΦ$ \mathbf M_{\Phi} $ 的行数和列数。

    总体复杂度和metapath 中节点数量成线性,和 metapath 中节点pair 对的数量成线性。

  3. 分层注意力的参数在整个异质图上共享,这意味着 HAN 的参数规模不依赖于异质图的大小,并且 HAN 可以应用于 inductive learning

  4. HAN 对于学到的node embedding具有潜在的良好解释性,这对于异质图的分析是一个很大的优势。

    有了节点重要性和 metapath 重要性,HAN 可以在具体任务下更关注于一些有意义的节点或 metapath,并给异质图一个更全面的描述。

    根据注意力值,我们可以检查哪些节点或 metapath 为任务做出了更多(或更少)的贡献,这有助于分析和解释我们预测的结果。

21.2 实验

  1. 数据集:

    • DBLP:我们提取了 DBLP 的子集,其中包含 14328 篇论文(paper:P)、 4057 位作者(author:A)、20个会议(conference:C)、8789 个术语 (term:T) 。作者分为四个领域:数据库 database、数据挖掘 data mining、机器学习 machine learning、信息检索 information retrieval。我们根据作者提交的会议来标记每个作者的研究领域。

      作者的特征是他们发表文档的关键词的 bag-of-word。这里我们使用 metapath 集合{APA,APCPA,APTPA}$ \{\text{APA},\text{APCPA},\text{APTPA}\} $ 进行实验。

    • ACM:我们提取在 KDD, SIGMOD, SIGCOMM, MobiCOMM, VLDB 中发表的论文,并将论文分为三个类别:数据库 database、无线通信 wireless commmunication、数据挖掘 data mining。然后我们构建一个包含 3025 篇论文(paper:P)、5835名作者(auther:A)、56个主题(subject:S)的异质图,论文标签为它被发表的会议。

      论文的特征为关键词的 bag-of-word。这里我们使用 metapath 集合{PAP,PSP}$ \{\text{PAP},\text{PSP}\} $ 进行实验。

    • IMDB:我们提取 IMDB 的子集,其中包含 4780 部电影(movie:M)、5841 名演员(actor:A)、2269 位导演(director:D)。电影根据类型分为三个类别:动作片 Action、喜剧 Comedy、戏剧 Drama

      电影的特征为电影情节的 bag-of-word。这里我们使用 metapath 集合{MAM,MDM}$ \{\text{MAM},\text{MDM}\} $ 进行实验。

    数据集的统计结果如下所示:

  2. baseline 方法:我们和一些最新的 baseline 方法比较,其中包括:同质网络 embedding、异质网络 embedding、基于图神经网络的方法。为分别验证 node-level 注意力和 semantic-level 注意力,我们还测试了 HAN 的两个变体。

    • DeepWalk:一种基于随机游走的网络 embedding 方法,仅用于同质图。这里我们忽略节点的异质性,并在整个异质图上执行 DeepWalk

    • ESim:一种异质图的embedding 方法,可以从多个 metapath 捕获语义信息。

      由于难以搜索一组 metapath 的权重,因此我们将 HAN 学到的 metapath 权重分配给ESim

    • metapath2vec:一种异质图 embedding 方法,该方法执行metapath-based 随机游走,并利用 skip-gram 嵌入异质图。

      这里我们测试 metapath2vec 的所有 metapath并报告最佳性能。

    • HERec:一种异质图 embedding方法,该方法设计了一种类型约束策略来过滤节点序列,并利用 skip-gram 来嵌入异质图。

      这里我们测试了HERec 的所有metapath并报告了最佳性能。

    • GCN:用于同质图的半监督图神经网络。

      这里我们测试了 GCN 的所有 metapath,并报告了最佳性能。

    • GAT:用于同质图的半监督神经网络,它考虑了图上的注意力机制。

      这里我们测试了 GAT 的所有 metapath,并报告了最佳性能。

    • HANnd$ \text{HAN}_{\text{nd}} $ :HAN 的一个变体,它移除了 node-level注意力机制,并给节点的每个邻域赋予相同的权重。

    • HANsem$ \text{HAN}_{\text{sem}} $ :HAN 的一个变体,它移除了 semantic-level 注意力机制,并给每个metapath 赋予相同的权重。

    • HAN:我们提出的半监督图神经网络,它同时采用了 node-level 注意力和 semantic-level 注意力。

    这里有些 baseline 是无监督的、有些是半监督的。将半监督方法和无监督方法进行比较是不公平的,因为半监督方法可以获得部分的 label 信息,因此半监督方法通常都会比无监督方法更好。

  3. 实验配置:

    • HAN

      • 随机初始化参数并使用 Adam 优化器,学习率为 0.005,正则化参数为 0.001
      • semantic-level 注意力向量q$ \mathbf{\vec q} $ 的维度为 128multi-head 数量K=8$ K=8 $
      • attention dropout 比例为 dropout rate = 0.6
      • 执行早停策略,早停的 patience = 100。即:如果 100 个连续的 epoch 中,验证集损失没有降低则停止训练。
    • 对于 GCN,GAT,我们使用验证集来调优其超参数。

    • 对于 GCN,GAT,HAN 等半监督图神经网络,我们使用完全相同的训练集、验证集、测试集,从而确保公平性。

    • 对于 DeepWalk, ESim, metapath2vec, HERec 等基于随机游走的方法,我们将每个节点开始的随机游走数量设为 40,每个随机游走序列长度为 100,上下文窗口大小为 5,负样本的采样数量为 5

    • 为公平起见,我们将上述所有方法的 embedding 维度设为 64

21.2.1 分类任务

  1. 我们使用k=5$ k=5 $ 的 KNN 分类器对节点进行分类,分类器的输入为模型学到的node embedding。由于图结构数据的方差可能很大,因此我们重复该过程 10 次,并报告平均的 Macro-F1Micro-F1

    • HAN 在所有数据集中超越了其它baseline
    • 对于传统的异质图 embedding 方法,能够利用多个 metapathESimmetapath2vec 表现更好。
    • 通常结合了图结构信息性和节点特征信息的图神经网络(如 GCN,GAT)要优于异质图 embedding 方法。
    • 相较于 GCNHANnd$ \text{HAN}_{\text{nd}} $ 这些考虑节点邻居的均匀权重,GATHAN 可以对邻居进行适当地加权,从而提高了学到的 embedding 的性能。
    • GAT 相比,为异质图设计的 HAN 能够成功地捕获丰富的语义信息并展示其优越性。
    • 在没有 node-level 注意力 (HANnd$ \text{HAN}_{\text{nd}} $ ) 、或者没有 semantic-level 注意力 (HANsem$ \text{HAN}_{\text{sem}} $ ) 的情况下,二者性能会比 HAN 更差。这表明 node-level 注意力建模和 semantic-level 注意力建模的重要性。
    • 相比 DBLPHANACM,IMDB 数据集的效果提升更明显,这是因为在 DBLP 中, metapath APCPA 比其它的 metapath 重要得多,因此仅针对该 metapathHERec/GCN/GAT 已经能够取得很好的效果。。我们在下文通过分析 semantic-level 注意力来解释该现象。

    因此,结论证明了在异质图中捕获node-levelsemantic-level 的重要性非常重要。

21.2.2 聚类

  1. 我们还对学到的node embedding执行聚类,从而评估embedding 的聚类效果。这里我们使用 KMeans 聚类算法,聚类数量设为节点的类别数量。我们使用节点的真实类别为真实的聚类类别,并使用 NMIARI 来评估聚类结果的质量。

    • 归一化互信息 NMI

      NMI(X, Y)=2I(X,Y)H(X)+H(Y)

      其中:H(X)=ip(xi)logp(xi)$ H(X) = -\sum_{i}p(x_i)\log p(x_i) $ 为熵;I(X,Y)=xyp(x,y)logp(x,y)p(x)p(y)$ I(X,Y) = \sum_x\sum_y p(x,y)\log \frac{p(x,y)}{p(x)p(y)} $ 为互信息。

    • ADjusted Rand index:ARI

      RI=a+bC2nARI=RIE[RI]max(RI)E[RI]

      其中:

      • C2n$ C_2^n $ 为所有标记节点对的组合,n$ n $ 为标记节点数量。
      • a$ a $ 为真实类别相同的一对节点、且聚类类别也相同的节点对的数量;b$ b $ 为真实类别不同的一对节点、且聚类类别也不同的节点对的数量。
      • max(RI)$ \max(\text{RI}) $ 为所有情况下 RI 指标的最大值;E[RI]$ \mathbb E[\text{RI}] $ 为随机拆分的 RI 指标的期望。这是为了使得随机聚类的情况下该指标为零。

    由于 KMeans 的性能受到初始质心的影响,因此我们将该过程随机重复执行 10 次,并报告平均结果。

    结论:

    • HAN 在所有数据集上始终优于其它 baseline
    • 基于图神经网络的算法通常可以获得更好的性能。
    • 由于不区分节点和 metapath 的重要性,因此 metapath2vecGCN 的聚类效果较差。
    • 在多个 metapath 的指导下,HAN 的性能明显优于 GCN/GAT
    • 如果没有 node-level 注意力 (HANnd$ \text{HAN}_{\text{nd}} $ ) 、或者没有 semantic-level 注意力 (HANsem$ \text{HAN}_{\text{sem}} $ ) ,则 HAN 的性能会退化。这表明 node-level 注意力建模和 semantic-level 注意力建模的重要性。

    基于上述分析,我们发现 HAN 可以对异质图进行全面描述,并取得显著改善。

21.2.3 分层 attention

  1. HAN 的一个显著特性是结合了分层 attention 机制,从而在学习 embedding 时同时考虑了节点邻居的重要性和 metapath 的重要性。为了更好地理解邻居重要性和 metapath 重要性,我们对分层注意力机制进行详细的分析。

  2. node-level 注意力:如前所述,HAN 可以学到 metapath 中节点及其邻居之间的注意力值。对于具体的任务,重要的邻居往往具有更大的注意力值。

    这里我们以 ACM 数据集中的论文 P831 为例。给定一个描述不同论文的 author 关系的 metapath Paper-Author-Paper ,我们枚举了论文 P831metapath-based 邻居,其注意力值如下图所示。不同颜色表示不同的类别,如绿色表示数据挖掘、蓝色表示数据库、橙色表示无线通信。

    • 从图 a 中可以看到:

      • P831 链接到 P699P133,它们都属于数据挖掘。
      • P831 链接到 P2384P2328,它们都属于数据集。
      • P831P1973 相连,它们都属于无线通信。
    • 从图 b 中可以看到:

      • P831node-level 注意力中获得最大的注意力值,这意味着 P831 自身在学习其 embedding 中起着最重要的作用。

        这是合理的,因为通常节点类别主要由其本身的特性决定,而邻居信息仅作为一种补充。

      • P699P133node-level 注意力种获得第二、第三大的注意力值。这是因为 P699P133 也属于数据挖掘,它们为识别 P831 的类别做出重大贡献。

      • 其余邻居的注意力较小,无法为识别 P831 的类别做出重要贡献。

    根据以上分析,我们可以看到 node-level 注意力可以区分邻居之间的差别,并为某些有意义的邻居分配更大的权重。

  3. semantic-level 注意力:如前所述,HAN 可以学到 metapath 对特定任务的重要性。为验证 semantic-level 注意力的能力,我们以 DBLPACM 为例,给出了单个 metapath 聚类结果(NMI),以及对应注意力值。

    • 显然,单个 metapath 的性能和它的注意力权重之间存在正相关。

    • 对于 DBLPHAN 赋予 APCPA 更大的权重,这意味着 HAN 认为 APCPA 是确定作者研究领域的最关键的 metapath。这是有道理的,因为作者的研究领域和他们提交的会议是高度相关的。如,一些 NLP 研究人员主要将其论文提交给 ACLEMNLP;另一些数据挖掘研究人员可能将其论文提交给 KDDWWW

      另外,APA 很难准确地确定作者的研究领域。因此,如果我们平等地对待这些 metapath (如HANsem$ \text{HAN}_{\text{sem}} $ ) , 则模型性能大大下降。

      根据每个 metapath 的注意力值,我们发现 metapath APCPAAPA, APTPA 有用的多。因此,即使 HAN 将这些 metapath 聚合在一起,APCPA 在确定作者研究领域方面仍然起着主导作用。

      这也是为什么在 DBLP 中,HAN 性能可能不如 ACMIMDB 中提升得那么多。

    • 对于 ACM,我们也得出类似得结论。对于 ACMPAP 的权重更高。

      由于 PAP 的性能略好于 PSP,因此HANsem$ \text{HAN}_{\text{sem}} $ 可以通过简单的平均操作获得良好的性能。

21.2.4 可视化

  1. 为直观地进行比较,我们执行可视化任务,从而在低维空间中可视化异质图。具体而言,我们基于模型学习节点 embedding,并将学到的 embedding 映射到二维空间。这里,我们使用 t-SNE 来可视化 DBLPauthor 节点,并根据节点类别来进行染色。

    结论:

    • 为同质图设计的 GCNGAT 效果不佳,属于不同研究领域的作者彼此混杂。

    • metapath2vec 的性能比上述同质图的神经网络效果好得多,它表明适当的 metapath(如 APCPA) 对异质图分析做出重要贡献。

      但是,由于 metapath2vec 仅考虑一条 metapath,因此不同类别节点之间的边界仍然模糊。

    • HAN 的可视化效果最好。在多种 metapath 指导下,HAN 学到的 embedding 具有高度的簇内相似性,并将具有不同研究领域学者的边界的区分开来。

21.2.5 参数敏感性

  1. 这里我们研究参数敏感性,并报告了不同参数下,ACM 数据集上的聚类NMI 结果。

  2. 最终 embeddingZ$ \mathbf Z $ 的维度:可以看到,随着 embedding 维度的增加,HAN 性能先提高后下降。

    原因是:HAN 需要一个合适的维度来编码语义信息,但是维度过大之后可能会引入额外的冗余(即,过拟合)。

  3. semantic-level 注意力向量维度:可以看到,HAN 的性能首先随着 semantic-level 注意力向量q$ \mathbf{\vec q} $ 维度的增加而增加,当维度为 128 时达到最佳性能;然后随着维度的增加而下降,这可能是因为过拟合导致。

  4. multi-head 数量K$ K $ :可以看到,K$ K $ 越大则 HAN 性能越好。但是随着K$ K $ 的增加, HAN 的性能略有改善(改善幅度不大)。同时,我们还发现 multi-head attention 可以使得训练过程更为稳定。

    注意:当K=1$ K=1 $ 时,multi-head 退化为单头。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文