用于异质图嵌入的元路径聚合图神经网络

  • 摘要
  • 1 引言
  • 2 准备工作
  • 3 相关工作
    • 3.1 GNN
    • 3.2 异质图嵌入
  • 4 方法
    • 4.1 节点内容转换
    • 4.2 元路径内部聚合
    • 4.3 元路径间的聚合
    • 4.4 元路径实例编码器
    • 4.5 训练
      • 4.5.1 半监督学习
      • 4.5.2 无监督学习
  • 5 实验

摘要

异质图嵌入是将异质图丰富的结构和语义信息嵌入到低维节点表示中。针对此问题,本文提出了一种新的模型MAGNN。具体来说,MAGNN使用了三个主要组件:

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

在三个真实的异质图数据集上进行了大量的节点分类、节点聚类和链路预测实验表明,MAGNN有更准确的预测结果。

1 引言

现有的模型通常是在异质图中定义多个元路径,以捕获复合关系(语义)并指导邻域选择。虽然这些基于元路径的嵌入方法在节点分类和链路预测等各种任务上优于传统的网络嵌入方法,但它们仍然存在以下至少一个限制:

  • 忽略节点内容特征,因此很少在具有丰富节点内容特征的异质图上表现良好(e.g.,metapath2vec,ESim,HIN2vec,HERec)。
  • 只考虑两个端节点,从而丢弃了元路径上的所有中间节点,从而导致信息丢失(e.g.,HERec,HAN)。
  • 只依赖于单个元路径,因此需要人工选择元路径,丢失了来自其他元路径的部分信息,导致性能不佳(e.g.,metapath2vec)。

为了解决以上问题,本文提出了一种新的用于异质图嵌入的元路径聚合图神经网络(MAGNN)。

MAGNN由三个部分组成:

  1. 节点内容转换
  2. 元路径内部聚合
  3. 元路径间的聚合

具体来说,MAGNN首先利用特定类型的线性变换,将不同类型节点的可能不同维度的属性信息投影到相同的潜在向量空间。接下来,对每个元路径应用具有注意力机制的元路径内部聚合。在元路径内部聚合过程中,每个目标节点都会从连接该节点与其基于元路径的邻居的元路径实例中提取和组合信息。通过这种方式,MAGNN从邻居节点和两者之间的元路径上下文中捕获异质图的结构和语义信息。在元内聚合之后,MAGNN进一步利用注意力机制进行元路径间的聚合,将从多条元路径获得的潜在向量融合到最终的节点嵌入中。

贡献:

  • 提出了一种新的用于异质图嵌入的元路径聚合图神经网络。
  • 设计了几个候选编码器函数,用于从元路径实例中提取信息,其中一个基于复杂空间中的关系旋转思想。
  • 在IMDb和DBLP数据集上进行了大量的节点分类和节点聚类的实验,并且在Last.fm数据集上进行了链路预测,以评估提出的模型的性能。实验表明,MAGNN学习到的节点嵌入始终优于其他最先进的 BaseLine 生成的节点嵌入。

2 准备工作

本节给出了与异质图相关的一些重要术语的正式定义。相关定义的图示见图1。

异质图(Heterogeneous Graph):
G=(V,E)G=(V,E)G=(VE),包含节点集VVV和连接集EEE。异质图还包含一个节点类型映射函数ϕ:V→Aϕ:V→AϕVA和一个连接类型映射函数ψ:E→Rψ:E→RψERAAARRR表示预定义的对象类型和连接类型的集合,其中∣A∣+∣R∣>2|A|+|R|>2A+R>2

元路径(Metapath):
元路径PPP定义为A1R1→A2R2→...Rl→Al+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

R1A2

R2
...

Rl
Al+1(缩写为A1A2⋅⋅Al+1A_1A_2··A_{l+1}A1A2Al+1),它描述了对象A1A_1A1Al+1A_{l+1}Al+1之间的复合关系R=R1◦R2⋅⋅RlR=R_1◦R_2··R_lR=R1R2Rl,其中◦◦表示关系上的组合算子。

元路径实例(Metapath Instance):
给定异质图的元路径PPPPPP的元路径实例ppp被定义为图中遵循PPP定义的模式的节点序列。

基于元路径的邻居(Metapath-based Neighbor):
给定异质图的元路径PPP,节点vvv的基于元路径的邻居NvPN_v^PNvP被定义为通过PPP的元路径实例与节点vvv连接的节点集。由两个不同的元路径实例与vvv相连的同一个邻居节点,被视为NvPN_v^PNvP中的两个节点。注意,如果PPP是对称的,NvPN_v^PNvP包括vvv本身。

例如,考虑到图1中的元路径UATA,艺术家Queen是用户Bob的基于元路径的邻居。 这两个节点通过元路径实例Bob-Beatles-Rock-Queen连接,Beatles和Rock为这个元路径实例的中间节点。

基于元路径的图(Metapath-based Graph):
给定异质图GGG的元路径PPP,基于元路径的图GPG^PGP是由图GGG中所有基于元路径PPP的邻居对构造的图(去掉了元路径实例的中间节点,只保留了元路径实例两端的节点,并在两点间建立起连边)。注意,如果PPP是对称的,则GPG^PGP是齐次图。如图1(d)所示。

异质图嵌入(Heterogeneous Graph Embedding):
给定异质图G=(V,E)G=(V,E)G=(VE)以及节点属性矩阵XAi∈R∣VAi∣×dAiX_{A_i}∈R^{|V_{A_i}|×d_{A_i}}XAiRVAi×dAi,其中Ai∈AA_i∈AAiA表示节点类型,异质图嵌入是为了学习所有v∈Vv∈VvVddd维节点表示hv∈Rdh_v∈R^dhvRdd≪∣V∣d≪|V|dV),以捕获GGG中涉及的丰富的结构信息和语义信息。

表1总结了本文中常用的符号,以便快速参考。

3 相关工作

3.1 GNN

GNN的目标是为每个节点vvv学习一个低维向量表示hvh_vhv,它可以用于许多下游任务,如节点分类、节点聚类和链路预测。这背后的原理是每个节点自然地由其自身的特征及其邻域来定义。遵循这一思想,并基于图信号处理,首次开发了基于频谱的GNNs,用于在图的傅里叶域中进行图卷积。ChebNet利用切比雪夫多项式对图傅里叶域中的图信号(节点特征)进行滤波。GCN约束和简化了ChebNet的参数,以缓解过拟合问题,提高性能。然而,基于频谱的GNNs具有较差的可扩展性和泛化能力,因为它们需要整个图作为每一层的输入,并且它们的滤波器依赖于图拉普拉斯的特征基,这与特定的图结构密切相关。

基于空域的GNNs可以解决这两个问题。这类GNN通过聚合每个节点的邻居的特征信息,直接在图域中定义卷积,从而模仿CNN对图像数据的卷积操作。下面列举了一系列基于空域的方法。

以上提到的所有GNN要么是为齐次图而构建的,要么是为具有特殊结构的图而设计的,就像在用户-商品推荐系统中一样。由于大多数现有的GNN在相同的共享嵌入空间中操作节点特征,因此它们不能自然地适应具有节点特征位于不同空间中的异质图。

3.2 异质图嵌入

异质图嵌入的目的是将异质图中的节点投影到低维向量空间中。metapath2vec生成由单个元路径引导的随机游走,该随机游走随后被输入到skip-gram模型来生成节点嵌入。给定用户定义的元路径,ESIM通过从采样的正、负元路径实例中学习来生成节点嵌入。HIN2vec执行多个预测训练任务来学习异质图的节点和元路径的表示。给定一个元路径,HERec将异质图转换为基于元路径的邻居的齐次图,并应用DeepWalk模型来学习目标类型的节点嵌入。与HERec一样,HAN以类似的方式将异质图转换为多个基于元径的齐次图,但它使用图注意力网络体系结构来聚合来自邻居的信息,并利用注意力机制组合各种元路径。PME通过将节点嵌入投影到相应的关系空间以及优化投影节点之间的接近性来学习节点嵌入。

然而,上述异质图嵌入方法都有以下局限性:要么忽略节点内容特征,要么丢弃元路径上的所有中间节点,要么只使用单个元路径。

4 方法

图2说明了单个节点的嵌入生成。

4.1 节点内容转换

对于与节点属性相关联的异质图,不同的节点类型可能具有不同的特征向量维数。即使它们恰好是相同的维度,它们也可能位于不同的特征空间中。例如,texts的n1n_1n1维 bag-of-words向量和images的n2n_2n2维强度直方图向量即使n1=n2n_1=n_2n1=n2也不能直接一起操作。在一个统一的框架中处理不同维度的特征向量是很麻烦的。因此,需要先将不同类型的节点特征投影到相同的潜在向量空间中。

因此,在将节点向量输入MAGNN之前,对每一种类型的节点应用特定类型的线性变换,以将特征向量投射到同一个潜因子空间中。对于节点v∈VAv∈V_AvVA,进行如下的转换:

其中,xv∈RdAx_v∈R^{d_A}xvRdA是原始特征向量,hv′∈Rd′h'_v∈R^{d'}hvRd是节点vvv的投影潜在向量。WA∈Rd′×dAW_A∈R^{d'×d_A}WARd×dAAAA类型节点的参数权值矩阵。

节点内容转换处理源自节点内容特征的图的异构性。应用此操作后,所有节点的投影特征都共享相同的维度,从而方便了下一个模型组件的聚合过程。

4.2 元路径内部聚合

给定一个元路径PPP,元路径内部聚合层通过编码PPP的元路径实例,学习在目标节点中嵌入的结构信息和语义信息,基于元路径的邻居,以及它们之间的上下文。设P(v,u)P(v,u)P(v,u)是连接目标节点vvv和基于元路径的邻居u∈NvPu∈N_v^PuNvP的元路径实例,P(v,u)P(v,u)P(v,u)的中间节点为{mP(v,u)}=P(v,u)\{u,v}\{m^{P(v,u)}\}=P(v,u)\backslash\{u,v\}{mP(v,u)}=P(v,u)\{u,v}。元路径内部聚合使用一个特殊的元路径实例编码器,将沿着元路径实例的所有节点特征转换为单个向量,

其中,hP(v,u)∈Rd′h_{P(v,u)}∈R^{d'}hP(v,u)Rd。为了简单起见,这里使用P(v,u)P(v,u)P(v,u)表示单个实例,尽管可能有多个实例连接这两个节点。第4.4节介绍了几种元路径实例编码器的选择。

将元路径实例编码为向量表示后,利用一个图注意力层对针对目标节点vvv的且元路径为PPP的多个元路径实例进行加权和。关键思想是,不同的元路径实例将在不同程度上有助于目标节点的表示。可以通过学习每个元路径实例的归一化重要性权重αvuPα_{vu}^PαvuP,然后对所有实例进行加权求和来建模:

其中,aP∈R2d′a_P∈R^{2d'}aPR2d是元路径PPP的参数化注意力向量,∥∥表示向量连接操作。evuPe_{vu}^PevuP元路径实例P(v,u)P(v,u)P(v,u)对节点vvv的重要性,然后用softmax函数对所有u∈NvPu∈N_v^PuNvP进行了归一化。然后,上述归一化重要性权重αvuPα_{vu}^PαvuP被用来计算关于节点vvv的元路径实例的表示的加权组合。最后,通过一个激活函数σ(⋅)σ(·)σ()输出。

上述注意力机制也可以扩展到多头,这有助于稳定学习过程,减少图的异质性引入的高方差。也就是说,执行KKK个独立的注意力机制,然后将它们的输出进行串联,得出如下公式:

其中,[αvuP]k[α_{vu}^P]_k[αvuP]k是元路径实例P(v,u)P(v,u)P(v,u)对第kkk个注意力头处节点vvv的归一化重要性。

总结:
给定投影特征向量hu′∈Rd′,∀u∈Vh'_u∈R^{d'},∀u∈VhuRduV以及以节点类型AAA开始或结束的一组元路径PA={P1,P2,...,PM}P_A=\{P_1,P_2,...,P_M\}PA={P1,P2,...,PM},元路径内部聚合为目标节点v∈VAv∈V_AvVA生成MMM个针对特定元路径的向量表示,记做{hvP1,hvP2,...,hvPM}\{h^{P_1}_v,h^{P_2}_v,...,h^{P_M}_v\}{hvP1,hvP2,...,hvPM}。每个hvPi∈Rd′h^{P_i}_v∈R^{d'}hvPiRd(假设K=1K=1K=1)可以解释为节点vvvPiP_iPi-元路径实例的总结,展示了节点vvv所包含的语义信息的一个方面。

4.3 元路径间的聚合

在聚合了每个元路径内的节点和边数据后,需要使用一个元路径间聚合层来组合所有元路径所显示的语义信息。从上一步可知,对于节点类型AAA,生成了∣VA∣|V_A|VA组潜在向量:{hvP1,hvP2,...,hvPM}\{h^{P_1}_v,h^{P_2}_v,...,h^{P_M}_v\}{hvP1,hvP2,...,hvPM},其中v∈VAv∈V_AvVAMMMAAA类型节点的元路径的数量。一种直接的元路径间聚合方法是采用这些节点向量的元素平均值。我们通过利用注意力机制来为不同的元路径分配不同的权重来扩展这种方法。这种操作是合理的,因为元路径在异质图中并不同等重要。

首先,针对每条元路径Pi∈PAP_i∈P_APiPA,对所有节点v∈VAv∈V_AvVA在特定元路径下的节点向量进行转换,然后取平均:

其中,MA∈Rdm×d′M_A∈R^{d_m×d'}MARdm×dbA∈Rdmb_A∈R^{d_m}bARdm都是可学习的参数。

然后,利用注意力机制融合节点vvv的特定元路径的节点向量:

其中,qA∈Rdmq_A∈R^{d_m}qARdmAAA类型节点的参数化注意向量。βPi\beta_{P_i}βPi可以解释为元路径PiP_iPiAAA类型节点的相对重要性。在计算出每个Pi∈PAP_i∈P_APiPAβPi\beta_{P_i}βPi后,就可以对vvv的所有特定元路径的节点向量进行加权和。

最后,MAGNN使用线性转换和一层非线性函数,将节点嵌入投影到所需输出维数的向量空间:

其中,Wo∈Rdo×d′W_o∈R^{d_o×d'}WoRdo×d是权重矩阵。这个映射针对具体任务有所不同,可以看成是用于节点分类的线性分类器,也可以看成是用于链路预测的具有节点相似性度量的空间投影。

4.4 元路径实例编码器

本节对应4.2节(2)中的元路径实例编码函数fθf_θfθ,作者给出了三个候选的编码函数:

  • Mean encoder: 该函数取沿元路径实例P(v,u)P(v,u)P(v,u)的节点向量的元素均值。
  • Linear encoder: 对Mean encoder的扩展,附加一个线性变换。
  • Relational rotation encoder: 本文还研究了一种基于在复杂空间的关系旋转的元路径实例编码器,这是一种知识图嵌入操作。上面介绍的Mean encoder和Linear encoder将元路径实例视为一个集合,从而忽略了元路径序列结构中嵌入的信息。关系旋转提供了一种建模这种知识的方法。给定P(v,u)=(t0,t1,...,tn)P(v,u)=(t_0,t_1,...,t_n)P(v,u)=(t0,t1,...,tn)t0=ut_0=ut0=utn=vt_n=vtn=v,令RiR_iRi为节点ti−1t_{i-1}ti1tit_iti之间的关系,rir_iriRiR_iRi的关系向量,关系旋转编码器表示为

    其中,hti′h'_{t_i}htirir_iri均为复杂向量,⊙⊙表示元素间乘积。可将一个维数为d′d'd的实向量看作一个维数为d′/2d'/2d/2的复向量,其前d′/2d'/2d/2维为真实的部分,后d′/2d'/2d/2维为虚构的部分。

MAGNN前向传播算法如下:

4.5 训练

经过上述的三个部分,得到了最终的节点表示,可用于下游任务。根据不同任务的特点和节点标签的可用性,我们可以在两种主要的学习范式中训练MAGNN,即半监督学习和无监督学习。

4.5.1 半监督学习

在一小部分标记节点的指导下,可以通过反向传播和梯度下降来最小化交叉熵来优化模型的权重,从而学习针对异质图的有意义的节点嵌入。这种半监督学习的交叉熵损失被表述为:

其中,VLV_LVL是带标签的节点集,CCC是类数,yvy_vyv是节点vvv的one-hot标签向量,hvh_vhv是节点vvv的预测概率向量(输出向量表示)。

4.5.2 无监督学习

在没有任何节点标签的情况下,可以通过负采样技术来最小化如下的损失函数:

其中,σ(⋅)σ(·)σ()是sigmoid函数,ΩΩΩ是观察到的(正)节点对的集合,Ω−Ω^-Ω是从所有未观察到的节点对中采样的负节点对的集合(ΩΩΩ的补充)。

5 实验

实验旨在解决问题:

  1. MAGNN在节点分类任务上表现如何?
  2. MAGNN在节点聚类任务上表现如何?
  3. MAGNN在预测节点对之间的合理链接(链路预测)任务上表现如何?
  4. MAGNN的三个主要组成部分对其有什么样的影响?
  5. 如何理解不同图嵌入方法的表示学习能力?

IMDbIMDbIMDbDBLPDBLPDBLP数据集用于节点分类和节点聚类,Last.fmLast.fmLast.fm用于链路预测。




参考博客:
【论文解读 WWW 2020 | MAGNN】Metapath Aggregated Graph Neural Network for Heterogeneous Graph Embedding
论文笔记:WWW 2020 MAGNN: Metapath Aggregated Graph Neural Network for Heterogeneous Graph Embedding

【论文阅读】MAGNN: Metapath Aggregated Graph Neural Network for Heterogeneous Graph Embedding相关推荐

  1. 异构神经网络(3)MAGNN: Metapath Aggregated Graph Neural Network for Heterogeneous Graph Embedding

    MAGNN: Metapath Aggregated Graph Neural Network for Heterogeneous Graph Embedding这篇文章发表于WWW 2020. Mo ...

  2. 【PaperReading】MAGNN: Metapath Aggregated Graph Neural Network for Heterogeneous Graph Embedding

    MAGNN: Metapath Aggregated Graph Neural Network for Heterogeneous Graph Embedding 用于异质图嵌入的元路径聚合图神经网络 ...

  3. 【论文笔记】MAGNN: Metapath Aggregated Graph Neural Network for Heterogeneous Graph Embedding

    1.Task 异构图表示学习 2.Motivation 先前的工作存在如下问题: 忽略节点的属性特征 舍弃元路径内部节点,仅使用元路径中的头尾节点 仅使一种元路径 3.Methodology 为解决上 ...

  4. 论文阅读 [TPAMI-2022] ManifoldNet: A Deep Neural Network for Manifold-Valued Data With Applications

    论文阅读 [TPAMI-2022] ManifoldNet: A Deep Neural Network for Manifold-Valued Data With Applications 论文搜索 ...

  5. 知识图谱论文阅读(二十)【WWW2020】Heterogeneous Graph Transformer

    题目: Heterogeneous Graph Transformer 论文链接: https://arxiv.org/abs/2003.01332 代码链接:https://github.com/a ...

  6. 论文阅读:A Primer on Neural Network Models for Natural Language Processing(1)

    前言 2017.10.2博客园的第一篇文章,Mark. 由于实验室做的是NLP和医疗相关的内容,因此开始啃NLP这个硬骨头,希望能学有所成.后续将关注知识图谱,深度强化学习等内容. 进入正题,该文章是 ...

  7. 论文阅读笔记《Siamese Convolutional Neural Network for Camera Pose Estimation and Visual Servoing》

    小样本学习&元学习经典论文整理||持续更新 核心思想   该文使用基于孪生网络结构的CNN来实现相机的位姿估计和视觉伺服,过程也比较好理解,输入是当前位置的图像和期望位置的图像,输出的是两个图 ...

  8. Reinforcement Learning Enhanced Heterogeneous Graph Neural Network阅读笔记

    强化学习增强异质图神经网络 代码源:https://github.com/zhiqiangzhongddu/RL-HGNN 摘要 异构信息网络(HINs)涉及多种节点类型和关系类型,在许多实际应用中非 ...

  9. 论文《Bilinear Graph Neural Network with Neighbor Interactions》阅读

    论文<Bilinear Graph Neural Network with Neighbor Interactions>阅读 论文概况 Introduction Bilinear Grap ...

最新文章

  1. 负载均衡故障诊断:一个MSS值引发的疑案
  2. ubuntu14.04交叉编译vlc2.1.5源码,编译出在win32下运行的程序
  3. 搜索引擎学习(五)Lucene操作索引
  4. MyBatis动态SQL-foreach-数组/List
  5. 代码习惯---打印参数
  6. 旅游社交网站 游范儿
  7. 互联网晚报 | 12月28日 星期二 | 百度首次在元宇宙开会;快手美团达成互联互通合作;新能源车险交易平台正式上线...
  8. ubuntu 修改 ssh默认端口号
  9. 诗与远方:无题(八十二)- 遇到你真好
  10. 总结:常用的通用数据处理指令
  11. ROS的学习(七)ROS的话题
  12. CRM是什么?CRM客户管理系统主要的功能,作用,特点分别有哪些?
  13. 我的世界java平台缺少证书_解决https安全证书缺少的问题
  14. HTML文件mhl,比HDMI更强!MHL与HDMI技术解析
  15. 自然语言处理(NLP):国内会议
  16. 不规则图形面积的计算
  17. linux安装frps服务,ubuntu搭建frps服务
  18. 如何让60岁老人学会使用智能手机
  19. 手机如何压缩照片?压缩方法分享
  20. Java 以任意数量空格分割字符串方式

热门文章

  1. 【吐槽系列】如何用最贱蛋的方式将web程序变为桌面应用
  2. 傅盛:猎豹持有猎户星空约34%股权 未来或获控股权
  3. vscode 新版eslint自动修复_vscode自动修复eslint规范的插件及配置
  4. matlab编程 查普曼 pdf,电气工程及其自动化必看书单!
  5. c语言 点运算符,C语言点运算符和箭头运算符
  6. 深度学习【16】YAD2K,pytorch-caffe-darknet-convert,转换后概率不一样的问题
  7. 如何设计二进制文件格式
  8. 中兴面试经历(回忆版) -20160628
  9. 如何用苹果app完成ipa安装
  10. 课堂随机提问回答问题神器三