论文阅读:ICLR 2020 图神经网络论文

论文阅读:ICLR 2020 图神经网络论文

  图神经网络已经成为图数据分析领域的经典算法了,各大顶会上相关的论文也层出不穷。但是,这些工作主要关注点都在如何在简单无向图上设计一个更新颖更复杂的模型,而没有从图数据的复杂程度来考虑。
  图数据在现实世界中广泛存在,图神经网络(GNNs)也在相关的机器学习任务中取得了不错的效果,但简单地“将数据给模型、希望其拟合出来可以得到预期结果”的一整套函数在某种程度上是不负责任的。更好地理解GNNs适合与不适合哪些问题可以帮助我们更好地设计相关模型。实际生活中的图往往更加复杂。比如,知识图谱上的有向多关系图

  总结的思维导图如下
在这里插入图片描述

1.Contrastive Learning of Structured World Models

  Thomas Kipf 的论文《Contrastive Learning of Structured World Models
》论文地址:https://arxiv.org/abs/1911.12247

1.1 问题场景

  学习结构化的世界模型(Structured World Model)。这属于表征学习的一个方向,希望基于raw (pixcl) data 提取出状态的抽象表征,可以表达状态中的各个物体 (object)、及每一个物体的信息 (比如旋转角度),以及各个物体的相互关系(relation)等概念。

1.2 挑战

  挑战有三方面:

1 )图像处理本身
2) 复杂关系、物体信息的处理
3) 无监督信号

1.3 贡献

  1. 新的有效的网络结构设计:使用 CNN + MLP + graph neural network来进行object + relation 的提取;
  2. Contrastive 在该方向的首次成功探索
  3. 实验结果不错,不论从物体识别还是转移的提取,模型都表现出令人满意的结果

1.4 GCN 之后 C-SWMs

  Thomas Kipf 的论文《Semi-Supervised Classification with Graph Convolutional Networks》。而他们这篇新的工作提出了一个叫做 Contrastively-trained Structured World Models(C-SWMs)的模型。从对象、关系和层次结构上对世界的结构化理解是人类认知重要的组成部分。但是,让机器从原始的感官数据中学习结构化的世界模型是非常有挑战性的。所以他们提出了 C-SWMs。该模型利用对比的方法在有组合结构的环境中进行表示学习。文章将每个状态 embedding 为一组对象及其关系的表示,并用图神经网络来建模。他们在包含多个交互对象的组合环境中评估了C-SWMs

在这里插入图片描述

  C-SWM 模型的组成包括一个基于 CNN 的对象提取器,一个基于MLP 的对象编码器,一个基于GNN 的关系转换模型,一个对象分解对比损失

  论文中提到了世界模型这个概念,如果不能理解世界模型的概念,那么可以参考关于《world model》这篇论文:https://arxiv.org/pdf/1803.10122.pdf

  本文C-SWM 的代码链接:https://github.com/tkipf/c-swm

2.The Logical Expressiveness of Graph Neural Networks

  论文地址:https://openreview.net/forum?id=r1lZ7AEKvB

  这篇论文是,由常年战斗在图领域的大佬 Pablo Barceló 团队贡献的。图神经网络(GNN)区分图节点的能力最近已经通过用于检查图同构性的Weisfeiler-Lehman(WL)测试进行了表征。但是,这种表征并不能解决哪些布尔节点分类器可以由 GNN 来表示 (即,将图中的节点分类为真或假的函数)的问题。这篇文章专注于研究布尔分类器来解决上述问题。首先研究的是流行的GNNs(文中称为 AC-GNNs) 开始,在该类 GNN 中仅根据邻居的特征,在连续的层中更新图中每个节点的特征

  GNNs经常被和检测图同构的Weisfeiler-Lehman(WL)算法联系起来,具体地,WL检测通过为图中的每个节点逐步地构造标签,并通过比较两个图中的节点标签来判断二者是否同构,而GNNs通过聚合邻居的特征向量并和本节点的特征向量结合起来的过程与此相似。我们称这种GNNs为aggregate-combine GNNs,即AC-GNNs。研究发现,如果两个节点在WL检测中的标签相同则他们通过AC-GNNs产生的节点向量也是相同的。因为存在AC-GNNs可以产生WL检测的结果,从而AC-GNNs被认为和WL检测一在区分节点方面一样强大。但这并不是说AC-GNNs捕捉到每一种节点分类器的模式,一个简单的反例为这种分类器将所有节点分类为true当且仅当这个图中有孤立节点。

  从而AC-GNNs可以捕捉到怎样的节点分类器呢?以及是否存在一种GNN可以捕捉到AC-GNNs所不可以捕捉到的分类器呢?

  作者在逻辑分类器的层面回答了这些问题,使用FOC2逻辑度量(详见论文)AC-GNNs的表现力,同时,FOC2和WL检测的关系如下:一个图中的两个节点可以被WL测试分到一类当且仅当他们严格满足一个相同的一元FOC2式子
  从而作者说明:

(1)一种特定种类的FOC2可以被AC-GNNs表达,这种逻辑称为分级模态逻辑
(2)使用一种非常简单的方式,即允许全局readouts,每一层同时也计算一个整个图的全局特征向量并将其和局部的聚合结合。这种GNNs被称为ACR-GNNs

在这里插入图片描述

  为展现理论上证明的ACR-GNNs的表现力AC-GNNs与ACR-GNNs的区别,作者选择在合成数据集上进行实验,具体如下:一个展现ACR-GNNs可以学习到而AC-GNNs不能学习到的一个简单的FOC2节点分类器的实验和一个涉及到更加复杂的FOC2分类器去学习更多直接相关的readout函数的实验

在这里插入图片描述

  实验表明,这类 GNN 太弱而无法捕获所有 FOC2(一种一阶逻辑研究) 分类器,并提供了 AC-GNNs 可以捕获的 FOC2 分类器最大子类的语法表征。然后,研究人员研究了,需要在 AC-GNNs 中添加什么来实现捕获所有的 FOC2 分类器,实验表明,添加 readout 就可以了。不仅可以更新节点的邻居,还可以更新全局属性向量。文章称这类 GNNs 为 ACR-GNNs

3.Geom-GCN: Geometric Graph Convolutional Networks

  论文链接:https://openreview.net/forum?id=S1e2agrFvS

3.1 引言

  图神经网络(Graph Neural Network)已经成为深度学习领域最热⻔的方向之一。作为经典的 Message-passing 模型,图神经网络通常包含两步:从邻居节点收集消息 message,然后利用神经网络来更新节点表示。但是 Message-passing 模型有两个基础性的问题:

  1. 丢失了节点与其邻居间的结构信息
  • 主要指拓扑模式相关的信息;
  • GNN 的结构捕获能力已经有了相关论文,下图来自 19 ICLR GIN How Powerful are Graph Neural Networks
    在这里插入图片描述
  1. 无法捕获节点之间的⻓距离依赖关系
  • 大多数 MPNNs 仅仅聚合 k 跳内的节点邻居消息来更新节点表示。但是,图上两个节点可能具有相似的结构(社区中心、桥节点),即使他们的距离很远;
  • 可能的解法是将现有的 GNN 堆叠多层,但是这可能带来过平滑问题。

  针对上述问题,本文提出了一种 geometric aggregation scheme,其核心思想是:将节点映射为连续空间的一个向量(graph embedding),在隐空间查找邻居并进行聚合

  本文的主要贡献:

  • 提出了一种geometric aggregation scheme,其可以同时在真实图结构/隐空间来聚合信息来克服 MPNNs 两个基础性缺陷;
  • 提出了一种基于 geometric aggregation scheme 的图神经网络 Geom-GCN
  • 实验验证了模型的效果。

3.2 模型

  Geometric Aggregation Scheme
  如下图所示,Geometric aggregation scheme 主要包含 3 个部分:node embedding (panel A1-A3),structural neighborhood (panel B) 和 bi-level aggregation (panel C)

在这里插入图片描述
  A1->A2:利用 graph embedding 技术将图上的节点(如节点 v)映射为隐空间一个向量表示Zv 。
  A2->B1:针对某一个节点 v(参看 B2 中的红色节点)周围的一个子图,我们可以找到该节点的一些邻居在这里插入图片描述

  B2:圆形虚线(半径为 ρ)内的节点代表了红色节点在隐空间的邻居:

在这里插入图片描述

  圆形虚线外的节点代表了节点在原始图上的真实邻居 。既然节点已经表示为向量,那么不同节点之间就有相对关系。在 B2 的 3x3 网格内,不同节点相对于红色节点有 9 种相对位置关系在这里插入图片描述
,关系映射函数为 :
在这里插入图片描述

  B3:基于 Bi-level aggregation 来聚合邻居 N(v) 的信息并更新节点的表示。
Low-level aggregation p:聚合节点 v 在某个关系 r 下的邻居的信息。这里用一个虚拟节点的概念来表示。
在这里插入图片描述

  High-level aggregation q:聚合节点在多种关系 R 下的邻居的信息。
在这里插入图片描述

  Non-linear transform:非线性变化一下。
在这里插入图片描述

  其中,hvl 是节点 v 在第 l 层 GNN 的表示。
  这里本质上:先针对一种关系 r 来学习节点表示,然后再对多个关系下的表示进行融合

  Geom-GCN: An implementation of the scheme
  这里将上一节中很抽象的 Low-level aggregation p 和 High-level aggregation q 以及关系映射函数 τ。给出了具体的形式:

  关系映射函数 τ 考虑了 4 种不同的位置关系。
在这里插入图片描述

  Low-level aggregation p 其实就是 GCN 中的平均操作。
在这里插入图片描述

  High-level aggregation q 本质就是拼接操作。
在这里插入图片描述

  How to distinguish the non-isomorphic graphs once structural neighborhood
  本文 argue 之前的工作没能较好的对结构信息进行描述,这里给了一个 case study 来说明 Geom-GCN 的优越性。

在这里插入图片描述

  假设所有节点的特征都是 a。针对节点v1来说,其邻居分别为{v2,v3} 和{v2,v3,v4} 。假设采用 mean 或者 maximum 的 aggregator。
  之前的映射函数 f:
在这里插入图片描述

  则两种结构无法区分。
  本文的映射函数 fi :

在这里插入图片描述

  可以区分。
  更多关于 GNN 表示能力的论文参⻅:19 ICLR GIN How Powerful are Graph Neural Networks

3.3 实验

  本文主要对比了 GCN 和 GAT,数据集⻅下表:

在这里插入图片描述

  不同数据集的 homophily 可以用下式衡量。

在这里插入图片描述

  本文为 Geom-GCN 选取了 3 种 graph embedding 方法:

  • Isomap (Geom-GCN-I)
  • Poincare embedding (Geom-GCN-P)
  • struc2vec (GeomGCN-S)

  实验结果⻅下表:
在这里插入图片描述

  作者又进一步测试了两个变种:

  • 只用原始图上邻居,加上后缀 -g。如 Geom-GCN-I-g;
  • 只用隐空间邻居,加上后缀 -s。如 Geom-GCN-I-s。

  结果⻅下图:
在这里插入图片描述

  可以看出:隐空间邻居对 β 较小的图贡献更大。

在这里插入图片描述

  然后,作者测试了不同 embedding 方法在选取邻居上对实验结果的影响。

在这里插入图片描述

  可以看出:这里并没有一个通用的较好 embedding 方法。需要根据数据集来设置,如何自动的找到最合适的 embedding 方法是一个 feature work。

  最后是时间复杂度分析。本文考虑了多种不同的关系,因此,Geom-GCN 的时间复杂度是 GCN 的 2|R| 倍。另外,和 GAT 的实际运行时间相差无几,因为 attention 的计算通常很耗时。

3.4 总结

  本文针对 MPNNs 的两个基础性缺陷设计了Geom-GCN 来更好地捕获结构信息和⻓距离依赖。实验结果验证了 Geom-GCN 的有效性。但是本文并不是一个 end-to-end 的框架,有很多地方需要手动选择设计。

4.LambdaNet: Probabilistic Type Inference using Graph Neural Networks

  论文链接:https://openreview.net/forum?id=Hkx6hANtwH

  这篇文章研究的是用图神经网络进行推理,具体的场景是进行代码的类型注释,比如在 Python 或者 Typescript 之类的语言中。文章提出了一种基于图神经网络的概率型Typescript 推理方案。首先使用轻量级的源代码分析来生成程序抽象——类型依赖图,该图将类型变量与逻辑约束以及名称和使用信息链接在一起。给定该程序抽象之后,使用图神经网络在相关类型变量之间传播信息,并最终进行类型预测

在这里插入图片描述

4.1 已有方法的缺点

  本文使用的是TypeScript,是Javascript的一种变形,该语言有大量的类型注释的程序作为训练数据。已经有一些使用机器学习为TypeScript推断类型标注的方法,但这些方法都有一些缺点:

(1)推断的结果来源于有限的类型词典,即推断的类型都是在训练过程中出现过的,不能推断出用户定义的数据类型
(2)即使不考虑用户定义的类型,这些方法的准确率也不高
(3)这些方法可能会产生不一致的结果,对于相同的变量可能因为出现位置的不同,导致预测出来的类型不同。

4.2 作者提出

  使用GNN对TypeScript进行类型推断,避免了上述问题。

  本文的方法先使用轻量级的源代码分析,将程序转换成类型依赖图。图由节点和有标签的超边(hyperedges)组成,图中的节点代表类型变量,节点间的关系编码在了超边里。类型依赖图中除了表达了逻辑约束之外,还结合了设计命名和变量使用的上下文提示。

  给定类型依赖图后,使用GNN为每种类型变量计算出一个向量表示,然后使用类似指针网络的结构进行类型预测

  GNN本身需要处理各种类型的超边(有些具有可变数量的参数),为此作者定义了恰当的图传播操作

  在预测层比较了类型变量的向量表示和候选类型的向量表示,从而可以灵活地处理在训练阶段未出现过的用户定义的类型。

  另外,模型的预测结果具有一致性,因为模型进行的是变量级别的预测,而不是位置级别的预测

4.3 贡献

  (1)提出了一个TypeScript的概率类型推断算法)(LambdaNet),使用了深度学习的方法,根据程序对应的类型依赖图的表示进行预测。
  (2)使用GNN方法进行了类型变量的向量表示的计算,并且提出类似指针网络的方法对用户定义的类型进行预测
  (3)实验证明了LambdaNet的有效性以及和之前的方法相比的优越性。

5.What graph neural networks cannot learn: depth vs width

  论文链接:https://arxiv.org/pdf/1907.03199.pdf

  机器学习中一个很基础的问题是判断什么是一个模型可以学习和不能学习的。在深度学习中,已经有很多工作在研究如RNNs、Transformers以及Neural GPUs的表现力。我们也可以看到有工作在研究普遍意义上的GNNs相关的理论,如以图作为输入的神经网络。普遍性的表述使得我们可以更好地研究模型的表现力。

  理论上,给定足够的数据和正确的训练方式,一个这种架构下的网络可以解决任何它所面对的任务。但这并不应该是一切,只是知道”一个足够大的网络可以被用来解决任何问题”无法使我们合理地设计这个网络,而另一方面,我们需要通过研究他们的局限来获取更多关于这个模型的认知。

  本文研究了基于信息传递的图神经网络GNNmp的表达能力,包括GCN、gated graph neural networks等,并回答了如下问题:

  (1)什么是GNNmp可以计算的? 本文证明了在一定条件下,GNNmp可以计算任何可以被图灵机计算的函数。这个证明通过建立GNNmp和LOCAL之间的关系来实现。而LOCAL是一个经典的分布式计算中的模型,本身是具有图灵普遍性的。简言之,GNNmp如果满足如下的几个较强的条件,即具有足够多的层数和宽度、节点之间可以相互区分,即被证明是普遍的。
  (2)什么是GNNmp不可以计算的? 本文证明了如果乘积dw被限制,GNNmp的能力会损失很大一部分。具体的,本文对于以下的几个问题展示了dw的下限,即检测一个图中是否含有一个指定长度的环,确认一个子图是否是联通的、是否包含环、是否是一个二分图或是否具有哈密顿回路等。

在这里插入图片描述

  本文展现了GNNmp在和合成数据上的实验结果,选取4-cycle分类问题,即将图根据它们是否包含有4个节点的回路来将其分类的问题来检验GNNmp的能力,目的在于验证GNNmp的dw乘积,节点数n和GNNmp解决问题的能力之间的关系。

在这里插入图片描述

6.What Can Neural Networks Reason About?

  论文链接:https://arxiv.org/pdf/1905.13211.pdf

  近来,有很多关于构建可以学会推理的神经网络的尝试。推理任务多种多样,如视觉或文本问答、预测物体随时间的演化、数学推理等。神奇的是那些在推理任务中表现较好的神经网络通常具有特定的结构,而很多成功的模型均采用GNN的架构,这种网络可以显示的建模物体两两之间的关系,并可以逐步的通过结合某个物体和其它物体的关系来更新该物体的表示。同时,其他的模型,如neural symbolic programs、Deep Sets等,也都可以在特定问题上取得较好的效果。但是关于模型泛化能力和网络结构之间关系的研究仍然较少,我们自然会问出这样的问题:怎样的推理任务可以被一个神经网络学习到?这个问题的回答对我们如何理解现有模型的表现力和其局限性至关重要。本文通过建立一个理论框架来回答这个问题,我们发现如果可以在推理问题和网络之间建立良好的对应关系,那么这个问题可以被很好地解决。

在这里插入图片描述

  例如,在Bellman-Ford算法求解任意两点间最短路径的问题上,虽然证明MLP可以表示任何GNN可以表示的函数,但GNN的泛化能力更强,而后者决定了GNN的效果更好,或者说,GNN学到了如何去推理。究其原因,GNN可以通过学习一个很简单的步骤,即该算法中的松弛过程,来很好地模拟Bellman-Ford算法,而与此相对应地,MLP却必须去模拟整个for循环才可以模拟Bellman-Ford算法。
在这里插入图片描述

7.DropEdge: Towards Deep Graph Convolutional Networks on Node Classification

  论文链接:https://arxiv.org/pdf/1907.10903.pdf

  GCNs在图的很多任务上取得了SOTA的表现,如节点分类、社交推荐、关联预测等,而over-fitting和over-smoothing是两个阻碍GCNs在节点分类等任务上进一步发展的问题。

  over-fitting来源于使用一个具有过多参数的模型去拟合一个受限的训练集数据分布,其削弱了模型的泛化能力,而over-smoothing则是另一个极端,它指的是因为图卷积操作将一个节点和它邻居的特征向量混合起来,从而在有限步之后所有节点的表示都会收敛到一个相同的值的现象,这同时也会导致梯度消失,直接使得我们无法构建比较深的GCNs,实际上经典的GCNs是比较浅的。受启发于深层的CNNs在图像分类任务上的良好表现,我们也希望探索在节点分类任务上如何可以建构出深层的GCNs。通过探索这两个阻碍GCNs变深的因素—over-fitting与over-smoothing,本文提出了DropEdge,可以同时缓解如上的两个问题,一方面,它可以看做是一种无偏的数据增强方式,通过随机地将原图变形,可以增加输入数据的多样性,从而可以缓解over-fitting的现象;另一方面,它可以减少信息在节点间传递,使得节点之间的连接更加稀疏,从而可以一定程度上避免over-smoothing
在这里插入图片描述
  我们在四个数据集上验证DropEdge的效果,说明其可以提高GCNs的表现里并确实具有防止over-smoothing的作用。

在这里插入图片描述

8.Composition-based Multi-Relational Graph Convolutional Networks

  论文链接:https://arxiv.org/abs/1911.03082
  源码链接:https://github.com/malllabiisc/CompGCN

  下图对比了几种图神经网络的特点,可以看出:学习关系的表示是CompGCN 独有的特点。
在这里插入图片描述

  总的来说,本文的贡献有 3 点:

  • 设计了 CompGCN 模型,一种可以考虑多种关系信息的图神经网络框架,来同时学习节点和关系的表示。
  • 证明了 CompGCN 与之前的多关系 GNN 之间的联系
  • 实验验证了 CompGCN 的有效性

8.1 相关工作回顾

  首先,作者回顾了多关系图及多关系图神经网络的做法

  多关系图中的边可以表示为 (u,v,r),代表存在一条从节点 u 指向节点 v 的类型为 r 的边,其中 r∈R。同时,也存在一个相应的反向边 在这里插入图片描述

  多关系图神经网络,也是分别聚合特定关系 r 下的邻居:
在这里插入图片描述

  其中, Wr 是针对关系 r 的参数矩阵。而经典的单关系 GCN 聚合公式如下:
在这里插入图片描述

  可以看出,两者主要差异就在 Wr 和 W。假设关系的种类非常多,那么参数矩阵 Wr 的个数也会非常多,引入了非常多的参数,不利于模型学习。

8.2 模型COMPGCN

  本文综合考虑多关系图上的 3 种边类型:有向边 R,如 (u,v,r);反向边 Rinv ,如(u,u,r-1) ;自连边T ,如(u,u,T) 。自连边指的是一个节点可以连接到自身,这种连接关系类型为T 。
在这里插入图片描述

  有了边的集合,相应的邻居集合也就可以得到了。进一步,多关系图神经网络中聚合邻居的过程如下:
在这里插入图片描述

  其中,(u,r)∈N(v) 是节点 v 的在关系 r 下的邻居集合,N(v)是节点 v 的表示, hu 是节点 u 的表示, Wr 是针对关系 r 的投影矩阵。这里的 hu综合考虑节点及边关系的影响,即:
在这里插入图片描述

  本文设计了 3 种不同的函数:
在这里插入图片描述

  考虑邻居节点的表示和边类型的区别,新的聚合公式如下:
在这里插入图片描述

  其中,λ® 是边的类型。回忆之前介绍的三种边类型:有向边,反向边,自连边。相应的投影矩阵也有 3 种。
在这里插入图片描述

  下图清晰展示了有向边和反向边的聚合过程:

在这里插入图片描述

  为了能够统一的对节点和边进行运算,我们需要把边的表示从边空间(如Zr)投影到节点空间(如hr)。
在这里插入图片描述

  其中,Wrel 是一个边空间->节点空间的投影矩阵。
  CompGCN 为了降低大量边带来的参数复杂度,这里作者设计了一组基向量 在这里插入图片描述
。所有的边的表示都可以由一组基向量加权表示。
在这里插入图片描述

  其中, αbr代表关系 r 在基向量 vb上的系数。

  上述过程实际描述的是 CompGCN 第一层的聚合过程,涉及到节点/ 边的空间投影及边的组合表示。在第二层及之后的聚合过程中并不需要投影/组合表示,聚合函数也有所不同。
在这里插入图片描述
在这里插入图片描述

  最后作者分析了 CompGCN 与之前的一些模型的异同。可以看出,之前的很多图神经网络实际都可以认为是 CompGCN 的特例。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

8.3 实验

  这里,作者分别在链路预测,节点分类,图分类上进行了实验。

在这里插入图片描述

  在链路预测任务上(⻅Table 3),CompGCN 在大部分情况下取得了最优的效果。
  作者进一步测试了不同 composition operator 的影响,⻅ Table 4。

在这里插入图片描述
  当采取 CovE+CompGCN (Corr) 的时候,模型取得了最佳的效果。
  CompGCN 的一个特点就是利用基向量来表示各个关系。作者进一步测试了基向量的个数对模型效果的影响。
在这里插入图片描述

  Figure 3 可以看出,在基向量个数设置为 100 的时候,模型可以保持 99。4% 的效果。如果进一步降低基向量的个数,模型效果会持续下降。
  作者也测试了固定 5 个基向量的 CompGCN 与 R-GCN 的表现,⻅ Figure 4。可以看出,即使只有 5 个基向量,CompGCN 的效果也优于考虑所有关系的 R-GCN。

在这里插入图片描述
  最后,作者也测试了 CompGCN 在节点分类/图分类上的效果,⻅ Table 5。在大部分情况下,CompGCN 都取得了最好的效果。

在这里插入图片描述

8.4 结论

  本文提出了一种针对多关系图的图神经网络 CompGCN,可以同时学习到节点和边的表示。通过一组基向量,CompGCN 可以用较少的参数实现对大量关系的描述。最后,作者通过大量的实验验证了 CompGCN 的有效性。

9.PairNorm: Tackling Oversmoothing in GNNs

  论文链接:https://arxiv.org/pdf/1909.12223.pdf

  众所周知,GNNs的表现随着层数的增加而有所下降,这在一定程度上归结于over-smoothing这一问题,重复图卷积这一操作会使得节点的表示最终变得不可区分。作者希望通过采取两种不同的理解方式来量化over-smoothing这一问题,并提出解决这一问题的方法。在仔细地研究过图卷积这一操作之后,作者提出了一种新奇的normalization layer—PairNorm,来防止节点的表示变得过于相似。除此之外,PairNorm具有高效且易于实现的特点,不需要对于整个模型架构做太多的改变,也不需要增加额外的参数,广泛地适用于所有的GNNs。

  文章的贡献主要如下:

  (1)提出一种normalization的方法来解决GNNs over-smoothing的问题;这一想法的关键点在于控制全部的两两节点间的特征向量的距离和为一个常数,这样可以使得距离较远的节点的特征向量的距离也比较远;
  (2)高效并具有广泛应用的价值:直观来看(1)提出的方法,其实现过程像是需要对于每两个点之间的特征向量均计算距离,而后将其加入loss项中进行优化,但这一操作的复杂度为O(n2),这是难以接受的。作者基于对于卷积操作前后的节点特征向量关系的理论分析,提出一种center-scale的方法,来使得这一过程变得高效,不需要增加额外的参数,并容易实现,从而具有了应用的价值;
  (3)分析怎样的问题适合更加深层的GNNs:在现实数据集上的实验证明虽然PairNorm的方法确实可以处理over-smoothing这一问题,但GNNs的表现并不能随着层数的增加而上升,我们仍然无法从深层的GNNs中获益,据此作者分析了什么怎样的网络适合深层的GNNs,并构造数据验证了这一结论。
  此外,作者提出了一种理解over-smoothing的视角,并从节点之间的特征向量的距离和一个节点的特征向量之间的差异来量化over-smoothing这一问题,而作者也正是从这一角度出发,提出了PairNorm的方法。同时作者还给出了节点特征向量经过图卷积这一操作之后所具有的性质—GRLS问题的近似解。

在这里插入图片描述

Figure 1:Graph-Regularized Least Squares(GRLS)问题

10.Strategies for Pre-training Graph neural networks

  论文链接:https://arxiv.org/pdf/1905.12265.pdf

  预训练是通过大量无标注的数据进行模型的训练,得到一套模型参数,利用这套参数对模型进行初始化,再根据具体任务在现有语言模型的基础上进行精调(MSRA)。预训练的方法在自然语言处理与计算机视觉领域,都被证明拥有更好的效果。不过,在图的表示学习领域,预训练仍然是一个具有挑战性的问题。本文提出了一个在多图分类任务上的图神经网络预训练模型,希望得到节点级别和图级别的高质量预训练参数,可以鲁棒的迁移到下游任务。

10.1 动机

  模型的预训练主要分为节点级预训练图级别预训练两步。

  现有的用于图结构的预训练方法要么只关注node-level导致在图表示空间没有区分度,要么只关注graph-level导致在节点表示空间没有区分度。一种优质的节点表示应该保证不仅在节点层面有良好的区分度,而且由这些节点表示生成的图的表示在全图层面也有良好的区分度,所以预训练过程应同时考虑到node-level和graph-level

在这里插入图片描述

10.2 模型

  本文提出的模型主要包括node-level预训练和graph-level预训练两部分,其中node-level预训练包括context prediction和attribute masking两种实现方法。

  在节点级上,预训练时分别考虑图的结构特征以及属性特征。在结构特征方面,文中将常见的“节点-邻居”模型扩展为“节点邻居子图+上下文子图”,用节点邻居子图与上下文子图的相似性衡量结构相似性,分别用图神经网络学习两个子图的特征。节点邻居子图和上下文子图之间的锚节点(“context anchor nodes”) 体现了节点邻居子图和上下文子图之间的信息关联。在属性特征方面,利用 “MASK-PREDICT”的方法 ,通过分别mask节点和边的属性来学习图的属性特征,这种方法可以是的帮助模型对domain knowledge的学习。

在这里插入图片描述

  在图级别上,文中提出了2种与训练过方法。一种为在图级进行有监督的多任务学习(multi-task learning)。在该场景下一般要求预训练时的任务与实际的下游任务存在较好的关联性,才能取得较好的预训练效果。另一种方法为计算不同图的相似性(比如图的编辑距离或者图的结构相似性等)来进行训练,这种方法的难点在于如何合理地衡量两个图之间的相似性。文中采取的预训练方式为,先进行节点级的预训练,然后利用有监督的多任务学习进行图级别的预训练。作者认为,直接进行多任务图级别的预训练可能会造成negative transfer。

10.3 实验

  1. 数据集
      数据集包括生物和化学两个领域,生物领域的任务是蛋白质功能预测,化学领域的任务是分子属性预测

  2. 实验结果
      a. ROC-AUC performance

在这里插入图片描述

    b. Negative transfer
      加入graph-level预训练后,可以很好地防止Negative transfer(使用预训练效果反而差于不使用预训练的效果)的出现。

在这里插入图片描述

    c. 收敛性
      采用本文中的预训练策略能够有效加快收敛速度。

在这里插入图片描述

10.4 结论

  作者在论文公布的数据集上用常见的图神经网络模型进行了实验。可以看出,pre-training使得GIN、GCN和GraphSAGE的模型表现均取得了提升,GAT的表现显著下降。作者认为,GIN的表达力更强,在多数据和领域的pre-training上能够取得更好的提升。本文首次提出了大规模图神经网络预训练模型,对未来的相关研究具有参考意义。

11.GraphZoom: A Multi-level Spectral Approach for Accurate and Scalable Graph Embedding

  论文链接:https://arxiv.org/pdf/1910.02370.pdf
  代码地址:https://github.com/cornell-zhang/GraphZoom

  图嵌入越来越多地被应用在非结构数据的表示学习上。图嵌入旨在将图中的节点映射到低位向量编码空间中并尽可能地保留节点的特征。

  “如何同时有效地利用图的结构性和节点属性特征来提升表达力”以及“如何提高图嵌入的效率”一直是图嵌入关注的问题。

  提高图嵌入的质量和效率常常是正交的两个问题,也是一直以来被关注的两个问题。一方面,图嵌入应该利用图的结构性特征以及节点的属性特征来提升嵌入的质量;另一方面,提高图嵌入方法的效率和可扩展性使其能够应用到超大规模的图上。因此,本文希望能够同时提升图嵌入的效率和质量。

  文章提出了一个无监督的多级学习框架GraphZoom,能够在现有无监督图嵌入方法的基础上提高其质量和效率。GraphZoom包含以下四个过程:

在这里插入图片描述

  1) 图融合(Graph fusion)。利用节点属性相似度构建特征相似矩阵,与邻接矩阵结合的到包含结构特征和属性特征的混合邻接矩阵:
在这里插入图片描述

  2) 谱粗化(Spectral coarsening)。利用“局部谱嵌入”高效地利用混合邻接矩阵进行图嵌入,即用高斯-赛德尔迭代法解k个线性方程组得到k维特征表示。然后对谱亲和性更高的节点进行局部聚类,得到节点数更少的图(邻接矩阵)。如此反复。
  3) 利用现有图嵌入方法(DeepWalk, DGI等) 对谱粗化后的图进行嵌入。
  4) 嵌入细化(Embedding refinement) 。利用拉普拉斯平滑将3)中得到的节点表示映射到原图的每一个节点上,得到原图节点的嵌入表示。

在这里插入图片描述
  GraphZoom在多个方法以及数据集上均实现了嵌入质量和效率的提升谱粗化和嵌入细化两个过程一方面融合了结构和属性特征,另一方面以较低的代价将图的表示学习转化为更小规模图的嵌入,提升学习效率。GraphZoom在DeepWalk和Node2vec方法上实现了20×以上的效率提升,在DGI上实现了~10×的效率提升。

参考资料:

ICLR 2020:https://www.aminer.cn/conf/iclr2020/news

猜你喜欢

转载自blog.csdn.net/weixin_42691585/article/details/108532821