文章目录

  • 摘要
  • 1 引言
    • 3 现有异构GNN的问题
    • 3.1 节点分类
      • 3.1.1 [HAN](https://blog.csdn.net/yyl424525/article/details/103804574)
      • 3.1.2 [GTN](https://blog.csdn.net/qq_36291847/article/details/115731620)
      • 3.1.3 [RSHN](https://blog.csdn.net/qq_36291847/article/details/118224354)
      • 3.1.4 [HetGNN](https://blog.csdn.net/qq_36291847/article/details/115719021)
      • 3.1.5 [MAGNN](https://blog.csdn.net/qq_36291847/article/details/116612454)
      • 3.1.6 HGT
      • 3.1.7 [HetSANN](https://blog.csdn.net/qq_36291847/article/details/116495890)
    • 3.2 链接预测
      • 3.2.1 R-GCN
      • 3.2.2 GATNE
    • 3.3 知识感知的推荐
    • 3.4 小结
  • 4 异构图基线
    • 4.1 动机和概览
    • 4.2 数据集构建
      • 4.2.1 节点分类
      • 4.2.2 链路预测
      • 4.2.3 知识感知推荐
    • 4.3 特征预处理
    • 4.4 下游解码器和损失函数
  • 5 一个简单的异构GNN
    • 5.1 可学习的边类型嵌入
    • 5.2 残差连接
    • 5.3 L2正则
  • 6 实验
  • 7 讨论和总结

论文链接: Are we really making much progress? Revisiting, benchmarking, and refining heterogeneous graph neural networks
论文作者:来自清华大学、中科院、阿里
打脸HGNNs研究之作

摘要

异构图神经网络(hgnn)近年来蓬勃发展,但每项工作使用的独特数据处理和评估设置阻碍了对其进展的充分理解。在这项工作中,我们使用官方代码、数据集、设置和超参数对12个最近的HGNN进行了系统的复制,揭示了关于HGNNs进展的惊人发现。我们发现,简单的同构GNNs,如GCN和GAT,由于设置不当而大大低估了。具有适当输入的GAT通常可以在各种情况下匹配或超过所有现有的HGNNs。为了促进HGNN研究的健壮性和可重现性,我们构建了异构图基准(HGB)1,由11个不同的数据集组成,有三个任务。HGB规范了异构图数据分割、特征处理和性能评估的过程。最后,我们引入了一个简单但非常强的基线Simple-HGN,它显著优于之前所有的HGN模型,以加速未来HGN的发展。

1 引言

由于图神经网络(GNNs)[2,21]近年来已经占据了图挖掘研究的中心阶段,研究者开始关注其在异构图(即异构信息网络)上的潜力[8,12,19,36,40,43]。异构图由具有不同边信息的多种类型节点和边组成,将新颖有效的图学习算法与嘈杂复杂的工业场景(如推荐)连接起来。
为了应对异质性的挑战,人们提出了各种异构gnn (hgnn)[36, 40, 43]来解决相关任务,包括节点分类、链接预测和知识感知推荐。以节点分类为例,HAN[36]、GTN[43]、RSHN[45]、HetGNN[44]、MAGNN[12]、HGT[20]、HetSANN[17]等众多hgnn都是在近两年发展起来的。
尽管开发了各种各样的新模型,但我们对它们如何实际取得进展的理解迄今为止一直受到每个模型所采用的独特数据处理和设置的限制。为了全面描绘这一领域的进展,我们利用12个最流行的HGNN模型的原始论文发布的代码、数据集、实验设置、超参数全面重现了它们的实验。令人惊讶的是,我们发现这些最先进的hgnn生成的结果并没有预期的那么令人兴奋(Cf. Table 1),:

  • 简单同构gnn,即GCN[21]和GAT[32]的性能被严重低估。在大多数情况下,只要有适当的输入,即使是原始GAT也能超过现有的HGNN
  • 由于设置不当或数据泄漏,导致之前部分工作的性能报告错误。

我们的进一步调查还表明:

  • 在大多数异构数据集中不需要元路径。
  • HGNNs仍有相当大的改进空间。

我们认为,出现上述情况很大程度上是因为每项工作的单个数据和实验设置阻碍了不同技术的公平和一致的验证,从而极大地阻碍了HGNNs的发展。

为了促进健壮和开放的HGNN开发,我们构建了异构图基准(HGB)。HGB目前包含11个异构图数据集,这些数据集的异构性(节点和边缘类型的数量)、任务(节点分类、链接预测和知识感知推荐)和领域(例如,学术图、用户项目图和知识图)各不相同。HGB为数据加载、特征处理和评价提供了统一的接口,为HGNN模型的比较提供了方便和一致的方法。与OGB[18]类似,HGB也有一个排行榜(https://www.biendata.xyz/hgb),用于发布可复用的最先进的HGNNs。


综上所述,本工作有以下贡献:

  • 我们重新审视HGNNs,找出阻碍进展的问题;
  • 我们通过HGB对HGNNs进行基准测试,以获得稳健的发展;
  • 我们通过设计Simple-HGN模型来改进HGNN

3 现有异构GNN的问题

我们分析了流行的异构gnn (hgnn),由它们旨在解决的任务组织。对于每个HGNN,我们将重点分析其在使用其官方代码、与原始论文相同的数据集、设置和超参数复制其结果的过程中发现的缺陷,如表1所示。

3.1 节点分类

3.1.1 HAN

异构图注意网络(HAN)是处理异构图的早期尝试之一。首先,HAN需要人类专家选择多个元路径。然后HAN使用分层注意机制来捕获节点级和语义级的重要性。对于每个元路径,节点级的注意力由GAT在其相应的元路径邻居图上实现。给出最终表示的语义级关注是指所有元路径邻居图的节点级结果的加权平均。
HAN的一个缺陷是它将HAN与GAT进行了不公平的比较。由于HAN可以被看作是许多元路径近邻图上GAT的加权集合,为了证明其有效性,必须与原始GAT进行比较。然而,本文的GCN基线和GAT基线仅以一个元路径邻居图作为输入,尽管它们报告了最佳元路径邻居图的结果,但却丢失了原始图中的大部分信息。
为了进行公平的比较,我们将原始图输入GAT,忽略类型,只保留目标类型节点的特征。我们发现这种简单的同构方法始终优于HAN,这表明同构GNN在很大程度上被低估了(详见表1)
接下来的大部分工作也都遵循HAN的设置,与同构GNN进行比较,同样存在“同构基线信息缺失”的问题,导致对HGNNs的性能进展存在积极的认知偏差。

3.1.2 GTN

图转换器网络(GTN)能够自动发现有价值的元路径,而不是像HAN那样依赖人工选择。直观地说,元路径邻接图可以由几个子图的邻接矩阵相乘得到。因此,GTN采用软子图选择和矩阵乘法步骤生成元路径近邻图,然后通过GCNs对其进行编码。
GTN的主要缺点是它消耗大量的时间和内存。例如,在DBLP上训练GTN需要120 GB内存和12小时,而DBLP只有18000个节点。相比之下,GCN和GAT只占用1gb内存和10秒的时间。
此外,我们使用GTN的官方代码对GTN和GAT进行了5次测试,从表1可以看出,虽然GTN消耗多于GAT400倍的时间和120倍的内存,但GTN和GAT的平均得分没有显著差异。

3.1.3 RSHN

关系结构感知异质图神经网络(RSHN)首先构建粗化的线图来获取边缘特征,然后使用一种新的消息传递神经网络(MPNN)[13]来传播节点和边缘特征。

根据官方规范,RSHN实验存在严重问题。首先,它不使用验证集,只是在测试集上调优超参数。其次,在论文中报告了在测试集上准确率最高的时代。如表1所示,在AIFB和BGS数据集上,我们调优的GAT在这种不恰当的设置下甚至可以达到100%的准确率,远远优于他们的论文中报道的91.67%和66.32%。

3.1.4 HetGNN

异构图神经网络(Heterogeneous graph neural network, HetGNN)首先使用带重启的随机游走为节点生成邻居,然后利用Bi-LSTM聚合每种类型和类型之间的节点特征。
HetGNN和HAN一样存在“同质基线中信息缺失”的问题:当与GAT比较时,将一个抽样图而不是原始的全图馈送给GAT。如表1所示,具有正确输入的GAT显然可以获得更好的性能。

3.1.5 MAGNN

元路径聚合图神经网络(MAGNN)是一种增强的HAN。其动机是,HAN在处理元路径邻居图时,只考虑元路径的两个端点,而忽略中间节点。MAGNN提出了几个元路径编码器来编码路径上的所有信息,而不仅仅是端点。
然而,在实验中存在两个问题。首先,MAGNN继承了HAN的“同质基线中信息缺失”问题,并且在正确输入的情况下也表现不佳。
更严重的是,MAGNN在链路预测中存在数据泄漏问题,因为它使用批量归一化,在训练和测试期间依次加载正链路和负链路。通过这种方式,小批中的样本要么全部为正,要么全部为负,批标准化中的均值和方差将提供额外的信息。如果我们洗牌测试集,使每个小批随机包含阳性和阴性样本,MAGNN的AUC在Last.fm数据集上从98.91急剧下降到71.49。

3.1.6 HGT

异构图转换网络(HGT)提出了一种基于transformer的处理具有异构子图采样的大型学术异构图的模型。由于HGT主要关注通过图抽样策略处理大规模的图[14,42],其论文中使用的数据集(> 10,000,000节点)对于大多数hgnn来说是无法承受的,除非通过子图抽样来适应它们。为了消除子图采样技术对性能的影响,我们将HGT及其官方代码应用于其论文中没有使用的相对较小的数据集,与GAT相比,产生了混合的结果(见表3)。

【注】此处解释有点牵强,HGT本就是适应于大规模异构网络的

3.1.7 HetSANN

基于注意的异质结构学习图神经网络(HetSANN)利用特定类型的图注意层进行局部信息聚合,避免了人工选择元路径。HetSANN在论文中被指出有很好的表现。
然而,数据集和预处理细节并没有随官方代码发布,截止本作品提交时,作者的回复也没有收到。因此,我们直接将HetSANN与标准超参数调优相结合,在其他数据集中给出了不太理想的结果(见表3)。

3.2 链接预测

3.2.1 R-GCN

关系图卷积网络(RGCN)将GCN扩展到关系(多边类型)图。RGCN中的卷积可以解释为不同边类型的普通图卷积的加权和。对每个节点i,第l层的卷积可以定义如下:

3.2.2 GATNE

一般的属性多路异构网络嵌入(GATNE)利用图的卷积运算来聚合邻居的嵌入。它通过跳跃图分别学习一般的嵌入、特定的嵌入和属性的嵌入,最后融合所有的嵌入。实际上,GATNE更像是一种网络嵌入算法,而不是gnn式的模型。

3.3 知识感知的推荐

推荐是异构GNN的主要应用,但大多数相关工作[9,10,24,25]只关注其特定的工业数据,导致数据集不开放,模型可移植性有限。知识感知推荐是一个新兴的子领域,旨在通过将项目与开放知识图中的实体链接起来来改进推荐。在本文中,我们主要对这一主题的模型进行了综述和基准分析。

3.4 小结

总而言之,现有的hgnn的主要共同问题是缺乏与同构gnn的公平比较,在某种程度上,其他工作鼓励新模型装备新颖但冗余的模块,而不是更多地关注性能的进步。此外,不可忽视的一部分工作存在个别问题,例如,数据泄漏[12],测试集的调优[45],以及两个数量级的内存和时间消耗,但效率没有提高[43]。
鉴于这些差异,我们主动建立了异构图基准(HGB),在不同的数据集上执行这三项任务,以进行开放的、可重复的异构图研究(见§4)。受简单GAT相对于专用和相对复杂的异构GNN模型的优势启发,我们提出了一个简单的异构GNN模型,以GAT为骨干,提供了HGB的有前景的结果(见§5)。

4 异构图基线

4.1 动机和概览

现有数据集的问题:几种类型的数据集——学术网络(如ACM、DBLP)、信息网络(如IMDB、Reddit)和推荐图(如Amazon、MovieLens)——是最常用的数据集,但详细的任务设置可能在不同的论文中有很大的不同。例如,HAN[36]和GTN[43]丢弃了ACM中的引文链接,而其他的则使用原始版本。此外,数据集的不同分割也导致了无法比较的结果。最后,最近的图基准测试OGB[18]主要集中于对同构图的图机器学习方法的基准测试,并没有专门针对异构图。

现有流水线的问题 为了完成任务,hgnn之外的组件也可以发挥关键作用。例如,MAGNN[12]发现并非所有类型的节点特征都是有用的,基于验证集的预选可能是有帮助的(参见§4.3)。RGCN[28]使用DistMult[39]代替点积进行链路预测训练。为了进行公平的比较,我们需要控制管道中的其他组件。

HGB 针对这些实际问题,我们提出了异构图基准(HGB),用于开放、可复制的异构GNN研究。我们通过建立HGB“特征预处理→HGNN编码器→下游解码器”的流水线,规范了数据分割、特征处理、性能评价的流程。对于每个模型,HGB根据其在验证集上的性能选择最适合的特征预处理和下游解码器。

4.2 数据集构建

HGB收集了11个被广泛认可的中等规模的数据集,这些数据集具有预定义的元路径,可以用于各种类型的HGNNs。统计数据汇总于表2。

4.2.1 节点分类

4.2.2 链路预测

4.2.3 知识感知推荐

4.3 特征预处理

如§4.1所述,输入特征的预处理对性能有很大的影响。我们的预处理方法如下。
线性转换 由于不同类型节点的输入特征在维度上可能存在差异,我们使用对每个节点类型有偏差的线性层将所有节点特征映射到一个共享特征空间。这些线性层中的参数将随着下面的HGNN进行优化。
有用的特征选择 在许多数据集中,只有部分类型的特征对任务有用。我们可以选择一个节点类型子集来保留其特征,并将其他类型节点的特征替换为一个one-hot向量。结合线性变换,置换等价于对未选择类型的每个节点学习一个单独的嵌入。理想情况下,我们应该枚举类型的所有子集,并根据在验证集上的性能报告最佳的子集,然而由于训练时间问题,我们决定只枚举三种选择,即使用所有给定的节点特征,只使用目标节点类型的特征,或将所有节点特征替换为one-hot 向量。

4.4 下游解码器和损失函数

5 一个简单的异构GNN

受到简单GAT相对于高级专用异构gnn的优势的启发,我们提出了一种简单有效的异构图建模方法Simple-HGN。Simple-HGN采用GAT作为主干网,并对三种知名技术进行了改进:可学习的边类型嵌入,残差连接,输出嵌入的L2正则。

5.1 可学习的边类型嵌入

虽然GAT在异构图建模方面具有强大的能力,但由于忽略了节点或边类型,它可能不是异构图的最佳模型。为了解决这个问题,我们扩展了原来的图注意力机制,将边类型信息加入到注意力计算中。

5.2 残差连接

由于过度平滑和梯度消失的问题,gnn很难加深[23,38]。在计算机视觉中解决这一问题的一个著名的方法是残差连接[15]。而原始GCN论文[21]对图卷积的残差连接结果为负。最近的[22]研究发现,设计良好的预激活实现可以使gnn中的残差连接再次强大

5.3 L2正则

对于基于检索的任务,输出嵌入的归一化是非常常见的,因为归一化后的点积等价于余弦相似度。但我们也发现它在分类任务上的改进,这也在计算机视觉[26]中被观察到

6 实验

7 讨论和总结

在本文中,我们识别了异构gnn中被忽略的问题,建立了异构图基准(HGB),并引入了一种简单的强基线simple - hgn。这项工作的目标是通过促进可重复性和健壮性的研究来理解和推进异构gnn的发展。
尽管得到了广泛和有前景的结果,但异构gnn和广泛异构图表示学习仍然存在一些问题。
显式类型信息有用吗? 表6的消融研究表明,类型嵌入只带来微小的改善。我们假设主要原因是节点特征的异质性已经暗含了不同的节点和边缘类型。另一种可能是当前的图注意力机制[32]太弱,无法将类型信息与特征信息融合。我们把这个问题留到以后研究
元路径或其变体在GNNs中仍然有用吗? 提出了元路径[29]来分离具有人类先验的不同语义。而(graph)神经网络的前提是通过提取数据隐含的有用特征来避免特征工程过程。前几节的结果还表明,基于元路径的GNN并不产生优于同质GAT的性能。是否有比现有方法更好的方法来利用异构gnn中的元路径?将来异构gnn是否仍然需要元路径?替代方法是什么?


总结
这篇文章对于后续HGNN的研究具有很大的指导意义,有些打脸之前HGNN研究的意思哈

本篇文章具有极高的研究价值,值得仔细研读

HGB

【KDD2021】Are we really making much progress? Revisiting, benchmarking, and refining HGNNs相关推荐

  1. 【CentOS】利用Kubeadm部署Kubernetes (K8s)

    [CentOS]利用Kubeadm部署Kubernetes (K8s)[阅读时间:约10分钟] 一.概述 二.系统环境&项目介绍 1.系统环境 2.项目的任务要求 三.具体实验流程 1 系统准 ...

  2. 【Spring】框架简介

    [Spring]框架简介 Spring是什么 Spring是分层的Java SE/EE应用full-stack轻量级开源框架,以IOC(Inverse Of Control:反转控制)和AOP(Asp ...

  3. 【C#】类——里式转换

    类是由面对对象程序设计中产生的,在面向结构的程序设计例如C语言中是没有类这个概念的!C语言中有传值调用和传址调用的两种方式!在c语言中,主方法调用方法,通过传递参数等完成一些操作,其中比较常用的的数据 ...

  4. 【C#】Out与ref是干什么的?

    关于return: 1.最后没有写 return 语句的话,表示程序正常退出 2.不需要返回值时,存在return的作用 例子 void main() {return; //return退出该程序的作 ...

  5. 【软件工程】RUP与软件开发5大模型

    软件开发的5大模型 1.瀑布模型:按照人的思维一步一步的开发下去,如果需求分析得当,每个阶段顺利,结果还不错! 2.快速原型模型:后来人们发现,自己不可能一下子就把所有的需求搞清楚,总是在开发的过程中 ...

  6. 【VB】学生信息管理系统5——数据库代码

    这次学生信息管理系统在代码的理解过程中遇到了一些问题.总结如下: 1. sql server的安装过程各个步骤的意思.在安装SQL Server的时候按照网上的步骤,我觉得这个需要学完整个数据库再返回 ...

  7. 白化(预处理步骤)【转】

    白化(预处理步骤)[转] 介绍 我们已经了解了如何使用PCA降低数据维度.在一些算法中还需要一个与之相关的预处理步骤,这个预处理过程称为白化.举例来说,假设训练数据是图像,由于图像中相邻像素之间具有很 ...

  8. 【Tensorflow】tf.nn.atrous_conv2d如何实现空洞卷积?膨胀卷积

    介绍 关于空洞卷积的理论可以查看以下链接,这里我们不详细讲理论: 1.Long J, Shelhamer E, Darrell T, et al. Fully convolutional networ ...

  9. 兑换量子计算机,阅读 | 【量子计算机】构造置换量子门

    原标题:阅读 | [量子计算机]构造置换量子门 量子计算机的一个基本组成单位叫量子门(quantum gate),下面简单介绍些基本概念. 量子比特和量子态 量子计算机的信息存储单元是一种叫做量子比特 ...

  10. 【Gamma】“北航社团帮”展示博客

    目录 团队介绍 项目愿景 整个项目的预期典型用户 功能展示 原预期用户数量 项目使用情况数据分析 用户量变化 学生认证人数 社长认证人数 入社申请数 活动发布 新闻发布 网页端使用情况 小程序打开次数 ...

最新文章

  1. IntelliJ IDEA 2020.2.1 发布,Lombok插件可能被官方支持
  2. 飞秋 包括《java就业培训课程》
  3. azure centos 7安装mariadb
  4. vscode上传GitHub
  5. keil5 字体颜色设置 背景黑色
  6. 解决input输入中文时,拼音在输入框内会触发input事件的问题
  7. python uci_UCI机器学习数据库的Python API介绍
  8. 线性二次调节器(LQR)
  9. Ubuntu 18.10 下安装CUDA10/CUDA10.1
  10. (转载)位图的光栅操作及ROP码解析
  11. ASU计算机科学专业大学排名,2013年U.S.News美国大学排名--计算机科学专业研究生排名...
  12. “当高启强遇到陈书婷”与TCP协议
  13. springboot多环境配置--bunny0728
  14. Mac Edge 浏览器开启几秒后自动关闭问题
  15. java.lang.RuntimeException: A TaskDescription‘s primary color should be opaque
  16. 宝藏下载神器,python一键下载B站视频
  17. 隔夜茶为什么不能喝?
  18. Win11服务Windows Update禁用后自动开启怎么办
  19. 振动位移传感器IEPE加速度3轴采集模块
  20. rk3288 gpio操作

热门文章

  1. 搞定 office 2007 错误 1706
  2. 大数据和人工智能的概念
  3. 如果北京的房价下跌,到底能跌多少?
  4. OpenGL学习整理------着色器
  5. Markdown中插入excel表的简便方法
  6. word之中快速插入已有公式的几种方法
  7. win10计算机初始输入法,Win10默认输入法怎么设置?
  8. pytracking系列跟踪算法的配置(LWL, KYS, PrDiMP, DiMP and ATOM Trackers)(Ubuntu版本)
  9. mod() SQL中取余的函数
  10. 2020switch电信最快的dns_《2020switch电信最快的dns》电影_2020switch电信最快的dns正片免费观看-扬州人才服务网...