论文笔记:WWW 2020 MAGNN: Metapath Aggregated Graph Neural Network for Heterogeneous Graph Embedding

13 篇文章 15 订阅

1. 前言

论文链接:https://dl.acm.org/doi/10.1145/3292500.3330673
github:https://github.com/cynricfu/MAGNN

异质图嵌入是将异质图的丰富结构信息嵌入到低维节点表示中。现有的模型通常是定义一个异质图中的多个元路径,用于捕获复合关系和指导邻域选择。然而,这些模型存在着几个问题

  • 省略节点内容特性
  • 沿着元路径丢弃中间节点
  • 只考虑一个元路径

为了解决这三个问题,本文提出了一种新的异质图神经网络(MAGNN)模型来提高算法的性能。具体来说,MAGNN使用了三个主要组件

  • 用于封装输入节点属性的节点内容转换
  • 用于合并中间语义节点的路径内聚合
  • 用于合并来自多个元路径的元路径间聚合。

2. 背景

目前许多基于元路径的异质图嵌入方法被提出,虽然这些基于元嵌入方法在节点分类、链路预测等任务上的性能都优于传统的网络嵌入方法,但他们至少有以下限制之一

  • (1)该模型没有充分利用节点内容特征,因此在节点内容特征丰富的异构图(如元ath2vec[9]、ESim[22]、HIN2vec[11]、HERec[23])上表现不佳
  • (2)模型只考虑两个端点节点,抛弃了沿元路径的所有中间节点,导致信息丢失(如HERec[23]和HAN[31])
  • (3)模型依靠单一元路径来嵌入异质性图。因此,在需要考虑多条元路径的异质图上会丢失来自其他元路径的信息,导致性能不佳(例如,metapath2vec[9])。

为了解决这些问题,本文提出了一种新的用于异构图嵌入的元路径图神经网络(MAGNN)。MAGNN通过应用节点内容转换、元区域内聚合和元区域间聚合来生成节点嵌入,解决了上述所有问题。特别是,MAGNN首先将特定类型的线性转换应用于将异构节点属性(不同节点类型的维数可能不相等)投影到相同的潜在向量空间。接下来,MAGNN对每个元数据使用注意机制应用元数据内聚合。在此元节点内聚合过程中,每个目标节点从连接节点与其基于元节点的邻居的元节点实例中提取并组合信息

本文的主要创新点如下:

  • (1)提出了一种用于异构图嵌入的元路径图神经网络。

  • (2)本文设计了几个候选的用于从元数据实例中提取信息的编码器函数,其中包括一个基于复杂空间关系旋转思想的编码器函数。

  • (3)MAGNN 在IMDB和DBLP数据集上进行了大量的节点分类和节点聚类实验,最后也进行了大量的实验。Last.fm数据集用于链路预测,以评估模型的性能。在所有这些数据集和任务上的实验表明,MAGNN学习到的节点嵌入始终比其他最先进的 BaseLine 生成的节点嵌入要好。

3. MAGNN

在这里插入图片描述

3.1 Heterogeneous Graph Embedding

异质图嵌入是将异质图中的节点投影到低维向量空间中。这一具有挑战性的课题已被许多研究所探讨。例如,metapath2vec 在单一元路径的引导下生成随机游动,然后将其反馈给 Skip-gram 以生成节点嵌入。。HIN2vec[11]执行多个预测训练任务,以学习异构图的节点和元数据表示。给定一个元路径,HERec[23]将一个异质图转换为基于异质图的邻域,并应用 DeepWalk 模型来学习目标类型的节点嵌入。与HERec一样,HAN[31]以类似的方式将一个异质图转换为多个基于元数据的同质图,但使用图注意网络架构来聚合来自相邻图的信息,并利用注意机制来组合各种元数据。另一种模型,PME[6],通过将节点投影到对应的关系空间中,并优化投影节点之间的接近度来学习节点嵌入。

因此在将节点向量输入到 MAGNN 之前,通过将特征向量投影到相同的潜在因子空间,对每一种类型的节点进行一种特殊的线性变换,对于节点 v ∈ V A , A ∈ A v \in \mathcal{V}_A ,A\in \mathcal{A} vVA,AA,具体公式为:
在这里插入图片描述
对应维度为 x v ∈ R d A , h v ′ ∈ R d ′ , W A ∈ R d ′ × d A x_v \in \mathbb{R}^{d_A},h^{'}_v \in \mathbb{R}^{d^{'}},W_A \in \mathbb{R}^{d^{'}\times d_A} xvRdAhvRdWARd×dA。简单来说就是不同属性节点映射到同一特征空间的特征维度变换过程。

3.2 Intra-metapath Aggregation

该过程主要分为两个步骤

  • 求解关于目标节点的所有元路径级节点嵌入
  • 根据求得的元路径级的节点嵌入利用注意力机制生成目标节点的特征嵌入

3.2.1 元路径级节点嵌入

在这里插入图片描述

给出一个元路径 P P P ,基于目标节点,基于元路径的邻居来对该条元路径之于目标节点进行编码。具体形式为
在这里插入图片描述
简单来说就是 h P ( v , u ) h_P(v,u) hP(v,u) 代表这条元路径的源路径嵌入信息,嵌入信息是利用一个编码函数将起始点特征( h v ′ h_v^{'} hv),终点特征( h u ′ h_u^{'} hu),中间所有节点特征( h t ′ , t ∈ { m P ( v , u ) } h_t^{'},t \in \{m^{P(v,u)}\} htt{mP(v,u)})所综合起来的一种表达方式,在本文的3.4共介绍了三种编码函数的方式。

3.2.2 注意力机制的目标节点特征嵌入

将元路径编码成向量表示后,采用图注意层对目标节点 v v v 相关的 P P P 的元进行加权求和。关键思想是,不同的元路径将有助于目标节点的表示。我们可以通过学习每个元路径表达的的归一化重要性权重a来建模,然后对所有实例进行加权求和:

在这里插入图片描述
这里采用了非常经典的图注意力表达范式,其中 a p ∈ R 2 d ′ a_p \in \mathbb{R}^{2d^{'}} apR2d 代表对于元路径的注意力向量,之所以是 2 d ′ 2d^{'} 2d 是因为注意力机制中采取了将目标节点和想要求解注意力权重的表达向量进行了拼接 [ h v ′ ∣ ∣ h P ( v , u ) ] [h_v^{'}||h_{P(v,u)}] [hvhP(v,u)],求解出来的 e v u P e_{vu}^P evuP 代表了元路径 P ( v , u ) P(v,u) P(v,u) 对于目标节点 v v v 的重要性。接下来为了统一比较进行 softmax 的归一化处理得到了 α v u P \alpha_{vu}^P αvuP 。一旦得到了所有目标节点的基于元路径的邻居 u ∈ N v P u \in \mathcal{N}_v^P uNvP 的表示,他们就可以被用来进入下一个步骤。最后综合所有基于元路径的邻居和注意力权重我们得到了目标节点的嵌入向量表示,当然最外层加上了一个激活函数 σ ( ⋅ ) \sigma(\cdot) σ()

当然这种注意机制也可以扩展到多头注意力机制,这有助于稳定学习过程和减少由图的异质性引入的高方差。即执行 K K K 个独立注意机制,然后将它们的输出连接起来,得到如下公式:
在这里插入图片描述
其中 [ α v u P ] k [\alpha_{vu}^P]_k [αvuP]k 代表归一化的对于目标节点的 v v v 基于 p ( v , u ) p(v,u) p(v,u) 这条元路径的第 k k k 级注意力头。

综上所述,给出一个投影后的特征向量 h u ′ ∈ R d ′ ∀ , u ∈ V h_u^{'} \in \mathbb{R}^{d^{'}} \forall,u \in \mathcal{V} huRduV,并且给出一个元路径集合 P A = { P 1 , P 2 , . . . , P M } \mathcal{P}_A = \{P_1,P_2,...,P_M\} PA={P1,P2,...,PM},其中所有元路径的起点和终点都是相同的节点类型 A ∈ A A \in \mathcal{A} AA。MAGNN的元区间内聚合生成目标节点 v ∈ V A v \in \mathcal{V}_A vVA 的元区间特定向量表示 { h v P 1 , h v P 2 , . . . , h v P M } \{h_v^{P_1},h_v^{P_2},...,h_v^{P_M}\} {hvP1,hvP2,...,hvPM},在这里假设注意力头的数量为1,并且 h v P i ∈ R d ′ h_v^{P_i} \in \mathbb{R}^{d^{'}} hvPiRd。可以解释为节点 v v v P i P_i Pi-元路径的包含信息的汇聚,展示了节点 v v v 所包含的语义信息的一个方面。图2解释得非常清楚。

3.3 Inter-metapath Aggregation

在聚合每个元路径内的节点和边数据后,我们需要使用元路径间聚合层来组合所有元路径所显示的语义信息。此时对于一个节点类型 A A A,我们得到了包含此类节点的潜在的向量 { h v P 1 , h v P 2 , . . . , h v P M } \{h_v^{P_1},h_v^{P_2},...,h_v^{P_M}\} {hvP1,hvP2,...,hvPM}。其中 M M M 代表对于该类节点的元路径的数量。一种直接的元数据间聚合方法是采用这些节点向量的元素平均值。本文扩展了这一方法,利用注意机制为不同的元路径表示分配不同的权重。这个操作是合理的,因为meta- paths不是同等重要的。

首先,通过对所有节点的转换后的元路径节点向量进行平均
在这里插入图片描述
其中 M A ∈ R d m × d ′ M_A \in \mathbb{R}^{d_m \times d^{'}} MARdm×d b A ∈ R d m b_A \in \mathbb{R}^{d_m} bARdm 是可学习的参数。之后进行注意力机制的运算,然后使用注意机制来融合 v v v 的元路径特征向量,如下所示:
在这里插入图片描述
这里的注意力思想与前文的大致相同因此不再赘述。

最后,MAGNN采用附加的带有非线性函数的线性变换,将节点嵌入映射到所需输出维数的向量空间:

在这里插入图片描述
其中 W o W_o Wo 作为可学习的权重矩阵主要作用是将特征向量输出到我们所希望的表示维度。这个投影是特定于任务的。它可以被解释为用于节点分类的线性分类器,也可以被看作是用于链接预测的带有节点相似性度量的空间的投影

4.4 Metapath Instance Encoders

为了对4.2节中的每个元编码实例进行编码,本文检查了三个候选的编码器函数:

  • Mean encoder:该函数取沿元路径 P ( v , u ) P (v,u) P(v,u) 的节点向量的元素平均:
    在这里插入图片描述
  • Linear encoder:这个函数是对Mean encoder的扩展,附加一个线性变换:
    在这里插入图片描述
  • Relational rotation encoder .:本文还研究了一种基于复杂空间关系旋转的元路径编码器,这是一种通过旋转实现知识图嵌入的操作。上面介绍的均值编码器和线性编码器基本上把元数据实例当作一个集合来处理,从而忽略了嵌入在元数据序列结构中的信息。关系旋转提供了一种建模这类知识的方法。给出一条元路径 P ( v , u ) = ( t 0 , t 1 , . . . t n ) P(v,u)=(t_0,t_1,...t_n) P(v,u)=(t0,t1,...tn) 其中 t 0 = u , t n = v t_0=u,t_n=v t0=u,tn=v,使 R i R_i Ri 代表节点 t i − 1 t_{i-1} ti1 t i t_i ti 之间的关系。令 r i r_i ri 代表 R i R_i Ri 关系变量,此种关系旋转编码器可以表示为
    在这里插入图片描述
    其中 h t i ′ , r i h_{t_i}^{'},r_i htiri 均为复杂向量 , ⊙ \odot 代表维度相同的矩阵进行点乘。我们可以很容易地将维数为a的实向量解释为维数为b的复向量,方法是将该向量的前半部分作为实部,后半部作为虚部。–说实话这里没怎么看懂,好像作者的思路来自于这篇论文–
    Zhiqing Sun, Zhi-Hong Deng, Jian-Yun Nie, and Jian Tang. 2019. RotatE: Knowledge Graph Embedding by Relational Rotation in Complex Space. In ICLR.

4.5 Training

根据不同任务的特点和节点标签的可用性,可以用两种主要的学习范式来训练MAGNN,即半监督学习和无监督学习。

对于半监督学习,利用节点分类任务来训练模型
在这里插入图片描述

对于无监督模型利用负采样策略来训练模型
在这里插入图片描述
其中 Ω \Omega Ω 为正样本, Ω − \Omega^{-} Ω 为负样本

5. 实验

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值