【论文翻译】KDD2019 - HetGNN - Heterogeneous Graph Neural Network 异质图神经网络

文章目录

  • 摘要
  • 1 引言
  • 2 问题定义
    • 2.1 内容相关的HetG (Content-associated Heterogeneous Graphs)
    • 2.2 异质图表示学习
  • 3 HetGNN
    • 3.1 采样异构邻居
    • 3.2 编码异质的内容信息
  • 4 实验
  • 5 相关工作
  • 6 结论

论文题目: Heterogeneous Graph Neural Network
论文来源:KDD 2019
代码链接:

关键词:HIN, GNN, Graph Embedding

【注】本篇文章与HAN于同年先后提出,可结合看。
相关文章解读

摘要

异构图中的表示学习旨在为每个节点追求有意义的向量表示,为链接预测、个性化推荐、节点分类等下游应用提供便利。然而,这项任务具有挑战性,不仅因为需要合并由多种类型的节点和边组成的异构结构(图)信息,而且还因为需要考虑异构属性或内容(e.д。,文本或图像)与每个节点关联。虽然在同质(或异构)图嵌入、属性图嵌入以及图神经网络等方面已经做了大量的研究,但很少有研究能够有效地结合考虑每个节点的异构结构(图)信息和异构内容信息。本文提出一种异构图神经网络模型HetGNN来解决这一问题。具体来说,我们首先引入带重启策略的随机游走 ,对每个节点的强相关异构邻居进行固定大小的采样,并根据节点类型将它们分组。其次,我们设计了一个包含两个模块的神经网络结构来聚合采样的邻近节点的特征信息。第一个模块对异构内容的“深度”特征交互进行编码,生成面向每个节点的内容嵌入。第二个模块对不同相邻组(类型)的内容(属性)嵌入进行聚合,并考虑不同组(类型)的影响进行组合,得到最终节点嵌入。最后,我们利用一个图上下文丢失和一个小批量梯度下降过程以端到端方式训练模型。在多个数据集上进行的大量实验表明,HetGNN在各种图挖掘任务中,即链路预测、推荐、节点分类聚类和归纳节点分类聚类,都能优于最先进的基线。

1 引言

异构图(HetG)包含丰富的多类型节点之间具有结构关系(边)的信息,以及与每个节点相关联的非结构化内容。
传统上,各种各样的HetG任务都依赖于来自于手工特征工程任务的特征向量。这需要对HetG的不同统计数据或特性进行规范和计算,作为下游机器学习或分析任务的特征向量。然而,这可能是非常有限的,不能推广。最近,出现了一种表示学习方法,可以自动完成特征工程任务,从而促进大量下游的机器学习或分析任务。从同构图[6,20,29]开始,图表示学习已经扩展到异构图[1,4]、属性图[15,34]以及特定图[22,28]。例如,“浅”模型e.д。, DeepWalk[20],最初开发的目的是向SkipGram模型[19]提供一组图上的短随机漫步,以近似这些漫步中的节点共生概率,获得节点嵌入。接下来是语义感知方法,e.д。提出了metapath2vec[4],以解决异构图中的节点和关系异构问题。此外,content-aware方法e.д。, ASNE[15],利用“潜在”特征和属性来学习节点嵌入图。
这些方法直接学习节点的“潜在”嵌入,但在获取丰富的邻域信息方面有局限性。图神经网络(GNNs) 利用深度神经网络对相邻节点的特征信息进行聚合,使得聚合后的嵌入更加强大。此外,GNNs可以很自然地应用于推理性任务,包括训练期间不存在的节点。GCN、GraphSage、GAT分别采用卷积算子、LSTM架构和自注意机制对相邻节点的特征信息进行聚合。GNN的发展和应用主要集中在同构图上。目前最先进的gnn还没有很好地解决HetG所面临的以下挑战,我们在本文中解决了这些问题。

  • HetG中的许多节点可能不能连接到所有类型的邻居。另外,每个节点的相邻节点数量也不相同。 例如,在图1(a)中,任何author节点都没有直接连接到venue节点。同时,在图1(b)中,节点a有5个直接邻居,而节点c只有2个。现有的gnn大多只聚合直接相邻节点(firstorder)的特征信息,而特征的传播过程可能会削弱较远相邻节点的影响。此外,“hub”节点的嵌入生成受到弱相关邻居(“噪声”邻居)的影响,而“冷启动”节点的嵌入由于邻居信息有限而不能充分表示。因此,挑战1是:如何对HetG中每个节点的嵌入生成具有强相关性的异构邻居进行采样,如图1(b)中的C1所示。
  • HetG中的节点可以承载非结构化异构内容,例如属性、文本或图像。此外,与不同类型的节点相关联的内容可以是不同的。因此,如何为HetG中带有异质内容信息的不同节点设计节点内容信息的encoder
  • (C3)不同类型的邻居对HetG中的节点嵌入有不同的贡献。例如,在图1(a)的学术图中,作者和论文的邻域应该对作者节点的嵌入有更大的影响,因为地点节点包含不同的主题,因此具有更普遍的嵌入。目前大多数gnn主要关注同构图,不考虑节点类型的影响。因此,挑战3是:如何考虑不同节点类型的影响,聚合异构邻居的特征信息,
    【论文翻译】KDD2019 - HetGNN - Heterogeneous Graph Neural Network 异质图神经网络_第1张图片
    为了解决这些挑战,我们提出了HetGNN,一种异构图神经网络模型,用于HetG中的表示学习。
  • 首先设计了一个带重启的随机游走策略,为HetG中的每个节点采样固定数量的强关联的异质邻居
  • 接着设计了两个模块组成的异质GNN,聚合采样邻居的特征信息。
    第一个模块使用了RNN编码节点异质内容信息间深度的特征交互信息,得到每个节点的内容(content)嵌入。
    第二个模块使用另一个RNN,聚合不同类别的邻居节点的嵌入,并且运用了注意力机制,为不同类型的异质邻居节点分配不同的注意力,得到最终的节点嵌入。
  • 最后使用基于图上下文的损失函数loss,运用mini-batch梯度下降法训练模型。
    总而言之,我们工作的主要贡献是:
  • 定义了同时涉及图结构的异质性节点内容异质性的异质图表示学习问题。
  • 提出HetGNN模型,用于HetG上的表示学习,实现了同时捕获异质的结构和节点内容,并且适用于直推式任务(transductive tasks)和归纳式任务(inductive tasks)。表1对比了HetGNN和其他模型。
  • 多个图数据挖掘任务实现state-of-the-art
    【论文翻译】KDD2019 - HetGNN - Heterogeneous Graph Neural Network 异质图神经网络_第2张图片

2 问题定义

在本节中,我们介绍了将在本文中使用的与内容相关的异构图的概念,然后正式定义异构图表示学习的问题。

2.1 内容相关的HetG (Content-associated Heterogeneous Graphs)

C-HetG定义为 G = ( V , E , O V , R E ) G = ( V , E , O_V , R_E ) G=(V,E,OV,RE) G = ( V , E , O V , R E ) G = ( V , E , O_V , R_E ) G=(V,E,OV,RE)
分别代表节点类型集合边类型集。每个节点都有异质的内容信息,比如属性、文本、图片。

2.2 异质图表示学习

给定C-HetG G = ( V , E , O V , R E ) G = ( V , E , O_V , R_E ) G=(V,E,OV,RE)和节点内容集 C CC,目标就是学习到参数为 Θ Θ Θ的函数 F Θ F_Θ FΘ ,该函数可为每个节点学习到d维的嵌入,以用于多种下游任务。并且该模型能够编码异质的图结构信息以及节点中异质的无结构的内容信息

3 HetGNN

在本节中,我们正式介绍HetGNN来解决第1节中描述的三个挑战。HetGNN包括四个部分:(1)对异构邻居进行抽样;(2)对节点异构内容进行编码;(3)聚合异构邻居;(4)制定目标,设计模型训练流程。图2说明了HetGNN的框架。
【论文翻译】KDD2019 - HetGNN - Heterogeneous Graph Neural Network 异质图神经网络_第3张图片

3.1 采样异构邻居

大多数图神经网络(GNNs)的核心思想是从一个节点的直接(一阶)邻居(如GraphSAGE[7]或GAT[31])聚集特征信息。然而,直接将这些方法应用于异构图可能会引发几个问题:

  • 它们不能直接从不同类型的邻居中获取特征信息。例如,在图1(a)中,作者没有直接与当地作者和场地邻居建立联系,这可能导致代表性不足。
  • 他们被不同数量的邻居削弱了。一些作者写了很多论文,而一些只有很少的论文在学术图表。有些条目被许多用户审阅,而有些条目在审阅图表中只收到很少的反馈。“中心”节点的嵌入可能会被弱关联的邻居破坏,“冷启动”节点的嵌入可能无法充分表示
  • 它们不适合聚合具有不同内容特性的异构邻居。异构邻居可能需要不同的特征转换来处理不同的特征类型和维度。

针对这些问题,为了解决挑战C1,我们设计了一种基于带重启的随机漫步(RWR)异构邻居采样策略。它包含两个连续的步骤:

  • 步骤1 使用RWR采样固定长度的路径
    从节点v出发进行随机游走,以迭代的方式每一步走向当前节点的邻居节点,或者以p的概率返回到起始节点,迭代直到采样到了固定数量的节点为止,生成的序列记为 R W R ( v ) RWR(v) RWR(v) 。同时保证 R W R ( v ) RWR(v) RWR(v) 中每种类型的节点都有,也就是采样到了所有类型的节点。
  • 步骤2 将这些采样到的邻居节点按类型进行分类
    针对每种节点类型t,根据其在 R W R ( v ) RWR(v) RWR(v)中出现的频次,选取top k t k_t kt
    ​个节点,将这些邻居节点就是和节点v vv强相关的类型为t tt的邻居节点。

该策略能够避免上述问题,因为:

  • 为每个节点都采样到了所有类型的邻居节点;
  • 每个节点采样到的邻居节点数是固定的,并且从中选择出了频次最高的邻居节点,也就是和该节点强相关的邻居节点。
  • 将相同类型的邻居分组,以便应用type-based aggregation

其次,我们设计了一个异构图神经网络结构,该结构包含两个模块,用于聚合每个节点的异构邻居采样特征信息

3.2 编码异质的内容信息

4 实验

实验目的

回答4个问题:

  • HetGNN和state-of-the-art baseline相比,在链接预测、个性化推荐、节点分类和聚类任务上效果如何?
  • HetGNN在inductive图挖掘任务上,例如inductive节点分类和聚类,和state-of-the-art baseline相比效果如何?
  • 节点的异质内容信息编码和异质邻居聚合是如何影响模型性能的?
  • 不同的超参数,如嵌入向量的维度、采样的邻居数目是如何影响模型性能的?

数据集

使用了两种HetG,学术图和评论图。
【论文翻译】KDD2019 - HetGNN - Heterogeneous Graph Neural Network 异质图神经网络_第4张图片
对比方法
metapath2vec(MP2V, 异质图), ASNE(属性图), SHNE(属性图),GraphSAGE(GSAGE), GAT

实验结果

(1)链接预测
【论文翻译】KDD2019 - HetGNN - Heterogeneous Graph Neural Network 异质图神经网络_第5张图片
(2)推荐实验结果
【论文翻译】KDD2019 - HetGNN - Heterogeneous Graph Neural Network 异质图神经网络_第6张图片

(3)节点分类和聚类
【论文翻译】KDD2019 - HetGNN - Heterogeneous Graph Neural Network 异质图神经网络_第7张图片

(4)inductive的节点分类和聚类
【论文翻译】KDD2019 - HetGNN - Heterogeneous Graph Neural Network 异质图神经网络_第8张图片
(5)消融实验
【论文翻译】KDD2019 - HetGNN - Heterogeneous Graph Neural Network 异质图神经网络_第9张图片
(6)超参数设置对模型效果的影响
【论文翻译】KDD2019 - HetGNN - Heterogeneous Graph Neural Network 异质图神经网络_第10张图片

5 相关工作

相关研究包括:(1)异构图挖掘;(2)图表示学习;(3)图形神经网络。
异构图挖掘。在过去的十年中,许多工作致力于挖掘异构图(HetG)用于不同的应用,如关系推理[2,25,33,35],个性化推荐[10,23],分类[36]等。例如,孙等人[25]利用基于元路径的方法来提取拓扑特征和预测学术图中的引用关系。陈等人[2]设计了一个基于HetG的匿名论文作者排名模型。张等[36]在HetG中提出了一种用于集体分类的深度卷积分类模型。
图表示学习。图表示学习[3]已经成为过去几年中最流行的数据挖掘主题之一。基于图结构的模型[4,6,20,29]被提出来学习矢量化的节点嵌入,其可以进一步被用于各种图挖掘任务的研究。例如,受word2vec [19]的启发,Perozzi等人[20]开发了创新的DeepWalk,它在图中引入了节点上下文概念(类似于单词上下文),并将图中的一组随机行走(类似于“句子”)馈送给SkipGram,以获得节点嵌入。后来,为了解决图结构的异构性,董等人[4]引入了元路径引导行走,并提出了用于HetG中表示学习的元路径2vec。此外,属性图嵌入模型[14,15,34]已经被提出来利用图结构和节点属性来学习节点嵌入。除了这些方法,已经提出了许多其他方法[1,18,21,28,32],例如通过矩阵分解学习节点嵌入的NetMF [21]和使用对立正则化自动编码器学习节点嵌入的NetRA [32],等等。
图形神经网络。最近,随着深度学习的出现,图形神经网络(GNNs) [5,7,12,16,24,31]得到了很多关注。与以前的图形嵌入模型不同,GNNs背后的关键思想是通过神经网络聚集来自节点本地邻居的特征信息。例如,GraphSAGE [7]使用神经网络,例如д。,LSTM,聚集邻居的特征信息。此外,GAT [31]采用自我注意机制来衡量不同邻居的影响,并结合他们的影响来获得节点嵌入。此外,一些任务相关的方法。用于恶意账户检测的GEM [16]已经被提出来为特定任务获得更好的节点嵌入。

6 结论

本文介绍了异构图表示学习问题,并提出了一种异构图神经网络模型HetGNN来解决这个问题。HetGNN联合考虑了节点异构内容编码、基于类型的邻居聚合和异构类型组合。在训练阶段,使用图上下文loss和mini-batch梯度下降过程来学习模型参数。对各种图挖掘任务(即链接预测、推荐、节点分类和聚类以及归纳节点分类和聚类)的大量实验表明,HetGNN可以优于现有的方法。

你可能感兴趣的:(GNN,深度学习)