Model Degradation Hinders Deep Graph Neural Networks(AIR)论文阅读笔记

文章目录

  • 链接
  • 一、摘要
  • 二、引言
  • 前言
  • 四、过平滑问题的实证分析
  • 五、大的D_{t}背后原理是什么?
  • 六、自适应的初始残差(AIR)
  • 七、评估AIR
  • 八、总结
  • 总结

红色部分为个人的一些解读,不足之处请多多指点!


链接

论文题目:模型退化阻碍深度图神经网络(AIR)(2022KDD)

论文链接:Model Degradation Hinders Deep Graph Neural Networks (arxiv.org)

代码链接:PKU-DAIR/AIR (github.com)

作者讲解:Model Degradation Hinders Deep Graph Neural Networks作者视频讲解_哔哩哔哩_bilibili

一、摘要

        图神经网络 (GNN) 在各种图挖掘任务中取得了巨大成功。然而,当GNN堆叠多层时,总是会观察到性能急剧下降。因此,大多数GNN只有浅层架构,这限制了它们的表达能力和对深层邻域的利用。最近的研究将深度GNN的性能下降归因于过度平滑问题。在本文中,作者将传统的图卷积操作分解为两个独立的操作:传播(P)和变换(T)。分解之后,GNN的深度就可以分为传播深度 propagation depth(gif.latex?D_%7Bp%7D)和变换深度transformation depth(gif.latex?D_%7Bt%7D)。通过大量实验,我们发现深度GNN性能下降的主要原因是高的gif.latex?D_%7Bt%7D引起的模型退化问题,而不是主要由高的gif.latex?D_%7Bp%7D引起的过度平滑问题。此外,我们提出了自适应初始残差 (AIR),这是一个与各种GNN架构兼容的即插即用模块,以同时缓解模型退化问题和过度平滑问题。六个真实世界数据集的实验结果表明,得益于高的gif.latex?D_%7Bp%7Dgif.latex?D_%7Bt%7D的优势,配备AIR的GNN优于大多数具有浅层架构的GNN,而与AIR相关的时间成本可以忽略不计。

        目前主流的GNN框架一般都是二层和三层的结构,一方面二层和三层的结构最终的模型性能表现还不错,另一方面若层数增加,就会带来模型性能下降问题以及计算量过大问题。但是直观的感觉来说,如果一个节点能用上更多的邻居对它最后的预测是有帮助的。作者把GNN深度分为传播深度和变换深度,传播深度指的是节点训练时要取到多少阶邻居,这是之前认为过平滑问题的原因就在于节点聚合了过多的邻居信息造成的;变换深度指的是激活操作(激活函数)和降维操作(左乘参数矩阵)的次数。通常的GNN传播深度和变换深度是耦合的,即二层GCN需要二阶邻居,三层GCN需要三层邻居,作者把这两个深度解耦开来,思想和ShaDowGNN有点像。

二、引言

        图神经网络 (GNN) [53] 最近的成功促进了对图数据的各种数据挖掘和知识发现任务的研究。GNN 提供了一个通用框架来处理节点级、边级和图级任务,包括社交网络分析 [33]、化学和生物学分子预测 [10]、推荐系统 [19、40]、自然语言处理 [2]、和计算机视觉。

        近年来,图卷积网络(GCN)[20]提出的图卷积操作逐渐成为大多数GNN模型中层设计的规范形式。具体来说,GCN 中的图卷积操作可以分解为两个独立的操作:传播(P)和变换(T)。 P 操作可以看作是拉普拉斯平滑[30] 的一种特殊形式,之后附近节点的表示将变得相似。P操作大大降低了下游任务的难度,因为大多数现实世界的图都遵循同质假设[26],即连接的节点往往属于相似的类。 T 操作将非线性变换应用于节点表示,从而使模型能够捕获训练样本的数据分布。解开之后,GNN 的深度被分成传播深度(gif.latex?D_%7Bp%7D)和变换深度(gif.latex?D_%7Bt%7D)。具有较大gif.latex?D_%7Bp%7D 的 GNN 使每个节点能够利用来自更深邻域的信息,并且较大的gif.latex?D_%7Bt%7D使模型具有更高的表达能力。

        P操作其实就是一种平滑,原本节点已有的特征属性不足以应对下游任务,比如说节点分类。根据同质性假设,图中相连的节点拥有类似的性质,于是就用该节点的邻居来平滑该节点的特征,以达到预期的效果,平滑就是节点自身特征和其邻居特征的一种特殊聚合。T操作就是原始MLP里面的激活函数以及将特征降到特定的维度。

        尽管 GNN 取得了显著成功,但深度 GNN 很少应用于各种任务,因为简单地堆叠许多图卷积操作会导致性能急剧下降。因此,当今大多数 GNN 仅具有浅层架构 [20、38、39],这限制了它们的性能。已经提出了许多新颖的架构和策略来缓解这个问题,但他们在深度 GNN 性能下降的主要原因上存在分歧。在这些原因中,大多数现有研究 [4, 5, 8, 11, 13, 28, 34, 42, 54] 认为过度平滑问题是深度GNN性能下降的主要原因。过度平滑问题[23]是指经过多次图卷积操作后节点表示变得无法区分的现象。在[50]中证明了节点表示之间的差异仅由应用无穷P操作后的节点度数决定。

        最终一句的证明可查看我的另一篇博客(两篇文章为同一个作者):Node Dependent Local Smoothing for ScalableGraph Learning(NDLS)论文阅读笔记_刘大彪的博客-CSDN博客

        在本文中,我们对深度GNN中的过度平滑问题进行了全面分析,并试图找出深度GNN性能下降的主要原因。我们发现在数十次P操作后确实会出现过度平滑问题,但深度GNN的性能下降远远早于过度平滑问题的出现。因此,过度平滑问题并不是深度 GNN 性能下降的主要原因。

907c06955c1d49dea3ba6311029030a6.png

         这里作者把GCN模型gif.latex?X%3D%5Csigma%5Cleft%28W%5Chat%7BA%7DX%5Cright%29中的权重参数W和激活层gif.latex?%5Csigma%20%5Cleft%20%28%20%5Cright%20%29去掉,去掉以后剩下的其实才是GCN多做的事情,而左乘权重矩阵和非线性变换其实就是MLP。

        相反,实验结果表明,性能下降的主要原因是大gif.latex?D_%7Bt%7D(即堆叠许多T操作)引起的模型退化问题。模型退化问题自2018年1月1日讨论以来就为社区所熟知。它是指随着网络层数的增加,训练准确率和测试准确率都下降的现象。虽然两者都是由增加层数引起的,但模型退化问题与过拟合问题不同,因为后者的训练精度仍然很高。已经有许多研究解释了深度神经网络中出现模型退化问题的原因。

        这里作者把过平滑和模型退化分为两个问题,即过平滑会引起模型退化,但是模型退化不一定全是由过平滑引起的。

        为了帮助GNN享受大型gif.latex?D_%7Bp%7Dgif.latex?D_%7Bt%7D的好处,我们提出了自适应初始残差 (AIR),这是一种即插即用的模块,可以轻松地与各种GNN架构相结合。AIR在P和T操作之间引入了自适应跳跃连接,同时缓解了模型退化问题和过度平滑问题。六个真实世界数据集的实验结果表明,配备AIR的简单GNN方法优于大多数仅具有浅层架构的GNN。此外,随着gif.latex?D_%7Bp%7Dgif.latex?D_%7Bt%7D的增加,配备AIR的简单GNN方法显示出更好或至少稳定的预测准确性,这验证了 AIR 在对抗模型退化问题和过度平滑问题方面的积极作用。

        那么到底什么是AIR呢?空气吗?当然不是!

三、前言

        在本节中,我们首先解释问题的表述。然后我们将GCN中的图卷积操作分解为两个独立的操作:传播(P)和变换(T)。这种解耦将GNN模型的深度分为传播深度(gif.latex?D_%7Bp%7D)和变换深度(gif.latex?D_%7Bt%7D)。之后,将简要讨论扩大gif.latex?D_%7Bp%7Dgif.latex?D_%7Bt%7D的理论好处。最后,我们根据P和T操作的顺序将现有的GNN架构分为三类。

3.1问题形式化

        在本文中,我们考虑一个无向图gif.latex?G%3D%20%5Cleft%20%28%20%5Cnu%20%2C%5Cvarepsilon%20%5Cright%20%29 和gif.latex?%5Cleft%20%7C%20%5Cnu%20%5Cright%20%7C%3D%20N个节点和gif.latex?%5Cleft%20%7C%20%5Cvarepsilon%20%5Cright%20%7C%3DM条边。 gif.latex?Agif.latex?G的邻接矩阵,也管理着加权与否。每个节点可能有一个特征向量gif.latex?%5Cin%20R%5E%7Bd%7D,叠加成一个gif.latex?N%5Ctimes%20d特征矩阵gif.latex?Xgif.latex?X_%7Bi%7D表示节点gif.latex?i的特征向量。gif.latex?D%3D%20diag%5Cleft%20%28%20d_%7B1%7D%2Cd_%7B2%7D%2C...%2Cd_%7Bn%7D%20%5Cright%20%29gif.latex?%5Cin%20R%5E%7BN%5Ctimes%20N%7D表示gif.latex?A的度矩阵,其中gif.latex?d_%7Bi%7D%3D%5Csum%20_%7Bj%5Cin%20%5Cnu%20%7DA_%7Bij%7D是节点gif.latex?i的度。在本文中,我们专注于半监督节点分类任务,其中只有gif.latex?%5Cnu中的部分节点被标记。gif.latex?%5Cnu%20_%7Bl%7D表示标记节点集,gif.latex?%5Cnu%20_%7Bu%7D表示未标记节点集。此任务的目标是在gif.latex?%5Cnu%20_%7Bl%7D中节点标签的有限监督下预测gif.latex?%5Cnu%20_%7Bu%7D中节点的标签。

3.2图卷积运算

        继图信号处理领域[35]的经典研究之后,图卷积运算首次在[3]中被提出。然而,特征分解的过高计算成本阻碍了[3]的实际应用。图卷积网络(GCN)[20]提出了一个大大简化的先前对图结构数据的卷积操作的版本,使其成为GNN的第一个可行尝试。近年来,GCN提出的图卷积操作逐渐成为大多数GNN架构的规范形式[27,43,44,47,48]。

        GCN中的图卷积运算公式为:

gif.latex?Graph%20Convolution%5Cleft%20%28%20X%20%5Cright%20%29%3D%20%5Csigma%20%5Cleft%20%28%20%5Chat%7BA%7D%20XW%5Cright%20%29%2C%5Cquad%20%5Chat%7BA%7D%3D%20%5Ctilde%7BD%7D%5E%7B-%5Cfrac%7B1%7D%7B2%7D%7D%5Ctilde%7BA%7D%5Ctilde%7BD%7D%5E%7B-%5Cfrac%7B1%7D%7B2%7D%7D(1)

        其中gif.latex?%5Chat%7BA%7D是归一化的邻接矩阵,gif.latex?%5Ctilde%7BA%7D%3D%20A+I_%7BN%7D是添加了自环的邻接矩阵gif.latex?Agif.latex?I_%7BN%7D是单位矩阵。gif.latex?%5Chat%7BD%7Dgif.latex?%5Chat%7BA%7D的对应度矩阵。 gif.latex?W是可学习的变换矩阵,gif.latex?%5Csigma是非线性激活函数。

        从直观上看,GCN中的图卷积操作首先将每个节点的表示传播到其邻域,然后通过非线性变换将传播的表示转换为特定维度。 “GCN 中的图卷积操作”如果没有特别说明,在本文的其余部分称为“图卷积操作”。

        这里结合图1就能很好的理解整个图卷积操作。

3.3传播 (P) 和转换 (T) 操作

        从以上小节的直观观点来看,图卷积操作可以分解为两个实现不同功能的连续操作:传播(P)和变换(T)。它们对应的公式形式如下:

Propagation\left ( X \right )=P\left ( X \right)=\hat{A}X(2)

Transformation\left ( X \right )= T\left ( X \right )= \sigma \left ( XW \right )(3)

        其中\hat{A},W\sigma与等式1中的含义相同。显然,进行图卷积操作等价于先进行P操作,再进行T操作,可以表示为:

Graph \quad Convolution\left ( X \right )= T\left ( P\left ( X \right ) \right )

        GCN 将其模型深度定义为模型中图卷积操作的数量,因为它将一个图卷积操作视为一层。然而,在解开之后,我们可以通过两个新指标更精确地描述 GNN 的深度:传播深度(gif.latex?D_%7Bp%7D)和转换深度(gif.latex?D_%7Bt%7D)。

        图1显示了一个两层 GCN 的说明性示例。需要注意的是,如果将归一化邻接矩阵\hat{A}设置为单位矩阵I_{N},则GCN将降级为MLP,即删除模型中的所有P操作。

3.4深度 GNN 的理论优势

        仅由两层或三层组成的GCN实现了最佳性能。最近有许多旨在设计深度GNN的研究,其中一些 [25, 55] 在各种任务上实现了最先进的性能。在本小节中,我们将简要讨论深度GNN的理论优势,并解释扩大gif.latex?D_%7Bp%7Dgif.latex?D_%7Bt%7D都会增加模型的表达能力。

3.4.1扩大gif.latex?D_%7Bp%7D的好处。

        扩大gif.latex?D_%7Bp%7D相当于扩大了每个节点的感受野。在[29]中证明,GCN具有与一阶Weisfeiler-Lehman 图同构测试相同的表达能力。因此,扩大每个节点的感受野使模型更容易区分两个不同的节点,因为它们更有可能具有高度不同的感受野。 [9]证明,一旦模型经过适当的训练,GCN的表达能力会随着感受野的扩大而随着层数的增加而严格增长。综上所述,扩大gif.latex?D_%7Bp%7D增加了模型的表达能力,这可以从Weisfeiler-Lehman检验的观点来证明。

        以Weisfeiler-Lehman检验的观点来说,就好比两个节点它们的一阶邻居一样,二阶邻居一样,三阶邻居一样,而四阶邻居不一样,那么四阶邻居的传播深度相对于二阶三阶就能更好的区分两个节点的区别。

3.4.2扩大gif.latex?D_%7Bt%7D的好处。

        分析 放大gif.latex?D_%7Bt%7D时模型表现力的变化比分析放大gif.latex?D_%7Bp%7D时更容易。众所周知,多层感知器(Multi-Layer Perceptron,MLP)的表达能力严格随着层数的增加而增长。如上一小节所述,gif.latex?D_%7Bt%7D代表模型中包含的非线性变换的数量。因此,扩大gif.latex?D_%7Bt%7D,即增加非线性变换的数量,也增加了模型的表达能力。

3.5三类GNN架构

        根据模型排列P和T操作的顺序,我们将现有的GNN架构大致分为三类:PTPT、PPTT 和 TTPP。

3.5.1PTPT

        PTPT架构是GCN[20]提出的原始GNN设计,并被GraphSAGE[14]、GAT[38]和GraphSAINT等主流GNN广泛采用。PTPT架构仍然使用GCN中的图卷积操作,其中P和T操作是纠缠在一起的。在更一般的观点中,P和T操作按照PTPT架构中的PTPT...PT的顺序组织。因此,PTPT架构具有gif.latex?D_%7Bp%7D= gif.latex?D_%7Bt%7D的严格限制。比如模型想要放大每个节点的感受野,自然的想法就是放大gif.latex?D_%7Bp%7D。但是,在PTPT架构中扩大gif.latex?D_%7Bp%7D需要同时扩大gif.latex?D_%7Bt%7D。它将为模型添加大量训练参数,从而加剧训练难度。

3.5.2PPTT

        PPTT架构最早由SGC[39]提出,声称GNN的优势主要不在于T操作,而在于P操作。它解开了图卷积操作并呈现了PPTT架构,其中P和T操作被安排为PP...PTT...T。这种架构随后被许多最近的GNN研究[49]采用,例如GAMLP[51]、SIGN[12]、S^{2}GC[55]和GBP。与PTPT架构相比,PPTT架构打破了gif.latex?D_%7Bp%7D= gif.latex?D_%7Bt%7D的链条,因此具有更灵活的设计选择。对于模型想要扩大每个节点的感受野的相同场景,PPTT 架构可以在不改变gif.latex?D_%7Bt%7D的情况下增加堆叠P操作的数量(即扩大gif.latex?D_%7Bp%7D),从而避免增加训练难度。此外,P 操作在预处理过程中只需要执行一次,因为它们可以完全脱离训练过程。 PPTT 架构的这一宝贵特性使其具有高可扩展性和高效率。

3.5.3TTPP

        TTPP是另一种解耦的GNN架构,由APPNP首次提出。作为PPTT架构的对偶等价物,TTPP架构将P和T操作排序为TT...TPP...P,其中堆叠的P操作的行为可以被视为标签传播。DAGNN[25]、AP-GCN[37]、GPR-GNN[8]和许多其他GNN模型都遵循TTPP架构。虽然TTPP架构也享受了图卷积操作解开带来的灵活性,但它的可扩展性远不如 PPTT 架构,因为堆叠的P操作与训练过程纠缠在一起,这阻碍了其在大图上的应用。从积极的方面来说,堆叠的T操作可以显着降低输入特征的维数,从而提高了TTPP架构在后面的堆叠P操作中的效率。

        这三个架构包含了几乎所有的主流GCN变体,作者归纳的非常好,以这篇文章作为起点的话,之后再去阅读相关文章就会很快抓住模型的核心部分。

四、过平滑问题的实证分析

        在本节中,我们首先定义平滑度级别并引入指标以在节点和图形级别对其进行测量。然后,我们回顾了过平滑问题及其发生的原因。本节的其余部分是一个实证分析,试图弄清楚过平滑问题是否是深度 GNN 性能下降的主要原因。

4.1平滑度测量

        平滑度衡量图中节点对之间的相似性。具体来说,较高的平滑度表明从给定节点集中随机选取的两个节点相似的概率较高。

        在这里,我们借用DAGNN[25]的指标来评估节点级别和图形级别的平滑度。然而,我们将[25]中的欧几里得距离替换为余弦相似度,以更好地衡量引文网络中两篇论文之间的相似度,因为节点的特征总是由词频构成。我们正式定义“Node Smoothness Level (NSL)”和“Graph Smoothness Level (GSL)”如下:

        定义 3.1(节点平滑级别)。节点i的节点平滑级别NSL_{i}定义为:

NSL_{i}= \frac{1}{N-1}\sum_{j\in \nu ,j\neq i}^{}\frac{X_{i}\cdot X_{j}}{\left | X_i{} \right |\left | X_{j} \right |}(4)

        余弦相似度,通过计算两个向量的夹角余弦值来评估他们的相似度

        定义 3.2(图形平滑级别)。整个图的 Graph Smoothing Level GSL定义为:

GSL= \frac{1}{N}\sum_{i\in \nu } NSL_{i}(5)

        NSL_{i}​测量节点i与图中每个其他节点之间的平均相似度。相对应于NSL_{i}​,GSL测量图中节点对之间的平均相似度。请注意,这两个指标都与平滑度呈正相关。

4.2审视过平滑问题

        过平滑问题[23]描述了节点的输出表示在应用GNN模型后变得无法区分的现象。当GNN模型堆叠了许多层时,总是会出现过平滑问题。

        在GCN采用的常规PTPT架构中,gif.latex?D_%7Bp%7D​和gif.latex?D_%7Bt%7D​被限制为具有相同的值。但是,在本文解开图卷积操作之后,分析仅放大gif.latex?D_%7Bp%7D​或gif.latex?D_%7Bt%7D​所带来的各自影响是可行的。在下面的分析中,我们将展示一个巨大的gif.latex?D_%7Bp%7D​是过度平滑问题出现的真正原因。

4.2.1扩大gif.latex?D_%7Bp%7D

        在P操作(等式 2)中,每次归一化邻接矩阵\hat{A}与输入矩阵X相乘,可以为每个节点多获取一跳邻居的信息。但是,如果我们无限次地应用 P 操作,同一连接组件内的节点表示将达到静止状态,从而导致无法区分的输出。具体而言,当采用\hat{A}= \tilde{D}^{r-1}\tilde{A}\tilde{D}^{-r}时,\hat{A}^{\infty }遵循:

\hat{A}_{i,j}^{\infty }= \frac{\left ( d_{i}+1 \right )^{r}\left ( d_{j}+1 \right )^{1-r}}{2m+n}(6)

        这表明当gif.latex?D_%7Bp%7D接近\infty时,节点j对节点i的影响仅取决于它们的节点度数。相应地,每个节点的唯一信息被完全平滑,导致节点表示无法区分,即过平滑问题。

        该处出自作者的另一篇论文,可查看我的另一篇博客:Node Dependent Local Smoothing for ScalableGraph Learning(NDLS)论文阅读笔记_刘大彪的博客-CSDN博客

4.2.2扩大gif.latex?D_%7Bt%7D

        放大gif.latex?D_%7Bt%7D,非线性变换的数量,对过度平滑问题的出现没有直接影响。为了支持这一说法,我们在流行的Cora[45]数据集上评估了完全解耦的PPTTGNN 模型、SGC和相应的GSL的分类精度。我们放大SGC的gif.latex?D_%7Bt%7D,同时将其gif.latex?D_%7Bp%7D= 3以排除gif.latex?D_%7Bp%7D对输出的影响。图3中的实验结果表明,GSL仅在很小的区间内波动。没有迹象表明仅当gif.latex?D_%7Bt%7D增加时会发生过度平滑问题。

        在PTPT架构下进行,[31]证明了可学习变换矩阵W的奇异值和非线性激活函数\delta也与过平滑问题的出现相关。然而,[31]采用的假设在现实世界场景中相当罕见(例如,假设一个密集图)。在真实世界的数据集Cora上,上述实验表明,在完全解开的PPTT架构下,扩大gif.latex?D_%7Bt%7D与过度平滑问题没有相关性。

Model Degradation Hinders Deep Graph Neural Networks(AIR)论文阅读笔记_第1张图片

Model Degradation Hinders Deep Graph Neural Networks(AIR)论文阅读笔记_第2张图片

        图2第一张图和图3,说明gif.latex?D_%7Bt%7D并不能导致过平滑;图2的后两张图,第一张是让gif.latex?D_%7Bp%7D=2gif.latex?D_%7Bt%7D,说明如果大的gif.latex?D_%7Bp%7D导致的过平滑是模型性能下降的原因,那么此处 gif.latex?D_%7Bp%7D=2gif.latex?D_%7Bt%7D 的准确率应该更低于Vanilla GCN的准确率,但实际上不是,增大gif.latex?D_%7Bp%7D ,模型性能没有明显变化,第二张是固定gif.latex?D_%7Bt%7D,增加gif.latex?D_%7Bp%7D,可以看出模型准确率下降的很慢,红的是单独增加gif.latex?D_%7Bp%7D,黑的是在增加gif.latex?D_%7Bp%7D的同时增加gif.latex?D_%7Bt%7D,说明大的gif.latex?D_%7Bp%7D不是模型性能退化的主要原因。

4.3过平滑是主要原因吗?

        大多数先前的研究[23, 52]声称过平滑问题是深度GNN失败的主要原因。已经有一系列旨在设计深度GNN的工作。例如,DropEdge[34]在训练期间随机删除边缘,而Grand[11]在传播之前随机删除节点的原始特征。尽管它们能够在保持甚至实现更好的预测准确性的同时更深入,但对其有效性的解释在一定程度上具有误导性。在本小节中,我们实证分析过度平滑问题是否是深度GNN性能下降的主要原因。

4.3.1gif.latex?D_%7Bp%7DGSL之间的关系。

        在第4.2节中,我们已经说明当gif.latex?D_%7Bp%7D接近\infty时,总是会发生过平滑问题。然而,当gif.latex?D_%7Bp%7D从一个相对较小的值增长时,出现过平滑问题(即图表的GSL)的风险变化趋势并未揭示。为了评估放大 gif.latex?D_%7Bp%7D对图的GSL的单一效果,我们在PPTT GNN模型SGC[39]中放大gif.latex?D_%7Bp%7D,并在所有P操作之后测量中间节点表示的GSL。在Cora数据集上的实验结果如图2(a)所示,随着gif.latex?D_%7Bp%7D的增长,GSL呈现出单调增加的趋势。

        备注 1:出现过度平滑问题的风险随着gif.latex?D_%7Bp%7D的增长而增加。

4.3.2过大的gif.latex?D_%7Bp%7D可能不是主要原因。

        为了研究平滑度和节点分类准确度之间的关系,我们增加了普通GCN (gif.latex?D_%7Bp%7D= gif.latex?D_%7Bt%7D) 和修改后GCN两者的图卷积操作数量,其中\hat{A}^{2}为PubMed数据集上的归一化邻接矩阵(即gif.latex?D_%7Bp%7D= 2gif.latex?D_%7Bt%7D)。假设过平滑问题是深度GNN性能下降的主要原因,那么gif.latex?D_%7Bp%7D= 2gif.latex?D_%7Bt%7D的GCN的分类准确率应该远低于 Vanilla GCN的分类准确率。实验结果如图2(b)所示。我们可以看到,即使gif.latex?D_%7Bp%7D较大(即平滑度较高),当gif.latex?D_%7Bt%7D从1增长到8,gif.latex?D_%7Bp%7D= 2gif.latex?D_%7Bt%7D的GCN分类精度与 vanilla GCN (gif.latex?D_%7Bp%7D=gif.latex?D_%7Bt%7D)分类精度相当,并且过多的P操作似乎只有当gif.latex?D_%7Bp%7D超过16 (2 × 8) 时才开始主导性能下降。然而,当gif.latex?D_%7Bp%7D超过2时,Vanilla GCN的性能开始急剧下降,远小于16(出现图 2(b)中的性能差距)。

        备注2:考虑到深度GNN的性能下降经常发生在层数小于10的情况下,过度平滑问题可能不是其主要原因。

        此处结合上面图2就可以很好的理解。

4.3.3大的gif.latex?D_%7Bt%7D导致性能下降。

        为了挖掘深度GCN的实际局限性,我们采用了两层GCN。在这个GCN模型的第一层中,归一化的邻接矩阵\hat{A}设置为\left ( \tilde{D}^{-\frac{1}{2}}\tilde{A}\tilde{D}^{-\frac{1}{2}} \right )^{\left [ \frac{D_{p}}{2} \right ]};并且\hat{A}在第二层设置为\left ( \tilde{D}^{-\frac{1}{2}}\tilde{A}\tilde{D}^{-\frac{1}{2}} \right )^{\left [ \frac{D_{p}}{2} \right ]}。在接下来的分析中,这个GCN的修改版本将被称为“gif.latex?D_%7Bt%7D=2的GCN”。我们展示了Vanilla GCN和“gif.latex?D_%7Bt%7D=2的GCN”的 gif.latex?D_%7Bp%7D在图2(c) 中增加过程中的分类精度。实验结果表明," gif.latex?D_%7Bt%7D=2的GCN"的精度确实随着gif.latex?D_%7Bp%7D的增长而下降,但下降幅度相对较小,而Vanilla GCN(固定gif.latex?D_%7Bp%7D=gif.latex?D_%7Bt%7D)的精度面临急剧下降。因此,可以推断出,尽管单独扩大gif.latex?D_%7Bp%7D会增加出现过度平滑问题的风险,正如前面的分析所显示的那样,性能只受到轻微影响。然而,如果我们同时增加gif.latex?D_%7Bt%7D,性能将急剧下降。

        备注3:大的gif.latex?D_%7Bp%7D会损害深度GNN的分类精度,但下降的幅度相对较小。相反,大的gif.latex?D_%7Bt%7D是导致深度GNN性能下降的主要原因。

五、 大的D_{t}背后原理是什么?

        为了了解大的D_{t}造成的基本限制,我们首先评估了PubMed数据集上的深度MLPs的分类准确性,然后将结论扩展到深度GNNs。

5.1深度MLPs也表现糟糕

        我们在PubMed数据集上,随着gif.latex?D_%7Bt%7D,即MLP层数的增加,评估MLP的预测精度,图4(a)中的黑线表示评估结果。从结果可以得出,当gif.latex?D_%7Bt%7D增加时,MLP的分类精度也急剧下降。因此,大的gif.latex?D_%7Bt%7D引起的性能下降在MLP中也存在。这提醒我们,缓解深度MLP训练的方法可能也有助于缓解深度GNN中大gif.latex?D_%7Bt%7D引起的性能下降。

5.2跳跃连接可以提供帮助

        广泛使用的缓解深层MLP训练的方法是在层之间添加跳跃连接。在这里,我们在MLP中加入了残差和密集连接,并产生了两个MLP变体。分别是 "MLP+Res "和 "MLP+Dense"。图4(a)显示了这两个模型随着gif.latex?D_%7Bt%7D增长的分类准确率。与普通的深度MLP相比,"MLP+Res "和 "MLP+Dense "的分类准确率在gif.latex?D_%7Bt%7D增加时没有遇到大规模下降。评估结果说明,增加残差连接或密集连接可以有效地缓解深层MLP中因大的gif.latex?D_%7Bt%7D造成的性能下降问题。

        残差连接就是本来一个数据经过权重层和激活层之后会变成一个另一个新的数据,加上残差连接之后,得到的新的数据要与原来数据进行相融,这样的操作可以在多层MLP中很好的保留数据的原始特征,提高模型性能。在GNN中就是一个节点聚合邻居信息的时候也要保留一部分自身的信息。

5.3扩展到深度GNNs

        第4.3节的实证分析表明,大的gif.latex?D_%7Bt%7D是导致深度GNNs性能下降的主要原因。然而,广泛使用的缓解深度MLPs训练的方法是否也能缓解深度GNNs的问题,这仍然是一个悬而未决的问题。因此,在PubMed数据集上,我们评估了[22]中的 "ResGCN "和 "DenseGCN "的分类准确率,这两种方法分别在GCN层之间增加了残差和密集连接。图4(b)中的实验结果说明,与GCN的大规模性能下降相比,"ResGCN "和 "DenseGCN "的性能下降几乎可以忽略不计。

5.4跳跃连接在这里能帮助什么?

5.4.1过拟合?

        我们很自然地猜测,过拟合问题是造成大的gif.latex?D_%7Bt%7D性能下降的主要原因。具体来说,过拟合问题来自于这样的情况:一个过度参数化的模型试图用有限的、有偏见的训练数据来拟合一个分布,这导致了很大的泛化误差。为了验证过拟合问题的背后是否存在大的gif.latex?D_%7Bt%7D,我们评估了GCN在PubMed数据集上随着层数增加的训练精度和测试精度。评估结果如图5所示。图5显示,当模型层数超过4层时,不仅测试精度,而且训练精度也迅速下降。训练准确率的下降说明,大的gif.latex?D_%7Bt%7D引起的性能下降背后的实际原因不是过拟合问题。

Model Degradation Hinders Deep Graph Neural Networks(AIR)论文阅读笔记_第3张图片

        如果是因为过拟合问题导致的模型精度下降,那么训练集的精度应该会越来越高的,结果并不是,说明不是过拟合的原因。

5.4.2模型退化!

        模式退化问题首次在文中正式提出。它指的是,随着模型的深入,模型的性能得到饱和,然后迅速退化的现象。它与过拟合问题的区别在于,训练精度和测试精度都会下降,而不仅仅是测试精度会大量下降。[15]并没有解释模型退化问题出现的原因,只是提出了一个巧妙的解决方案--跳跃连接。最近的许多研究都试图探索模型退化问题的主导原因是什么,其中大部分都是从梯度的角度来探究这个问题。深度GCN的训练精度和测试精度的趋势恰恰与模型退化问题所指的现象一致。

        备注4:大的gif.latex?D_%7Bt%7D背后的模型退化问题是导致深层GNNs性能退化的主要原因。此外,在层与层之间增加跳跃连接可以有效地缓解深层GNN的性能退化。

六、自适应的初始残差(AIR)

        根据上述结论,我们提出了一个即插即用的模块,称为自适应初始残差(AIR),它在P和T操作之间增加了自适应初始残差连接。P操作之间的自适应初始残差连接旨在缓解过度平滑问题,并以节点自适应的方式利用更深层次的信息,而T操作之间的自适应跳跃连接的主要目的是缓解模型退化问题。我们将在本节的剩余部分详细介绍AIR。之后,还将讨论AIR在三种GNN架构中的应用。

6.1在P和T操作之间的AIR

        在对图卷积操作进行拆分后,几乎所有的GNN都可以被拆分成连续的部分,其中每个部分都是连续的P操作或T操作的序列。与[15]中的跳跃连接不同,我们直接从下面的原始输入中构造出一个连接。

6.1.1在P操作之间构造

        对于连续的P操作序列,我们在每个P操作中取出节点i的输入特征H_{i}^{\left ( 0 \right )}= X_{i}的自适应部分。将节点i在第\left ( l-1 \right )次操作中的表示记为H_{i}^{\left ( l-1 \right )}。然后,节点i在第l次操作时的自适应部分\alpha _{i}^{\left ( l \right )}\in R的计算方法如下:

\alpha _{i}^{\left ( l \right )}= sigmoid\left [ \left ( H_{i}^{\left ( l-1 \right )} \mid H_{i}^{\left ( 0 \right )} \right ) U \right ](7)

        其中,U是一个可学习的向量,将串联的向量转化为标量。

        这里扒了下代码,两个特征之间是一个拼接操作,U是一个可训练的线性函数y= wx+b,sigmoid激活函数把值都投影到0~1区间,\alpha _{i}^{\left ( l \right )}是一个0~1之间的数,最终每次的\alpha _{i}^{\left ( 1 \right )} ,\alpha _{i}^{\left ( 2 \right )},\alpha _{i}^{\left ( 3 \right )},...,\alpha _{i}^{\left ( l-1 \right )}相加的和等于1,相当于把原始的特征拆分成了很多部分,依次加入每次的P操作中。

        自适应加权矩阵\alpha ^{\left ( l \right )}的第i行向量\alpha _{i}^{\left ( l \right )}的所有位置都被同一个元素\alpha _{i}^{\left ( l \right )}占据。

\alpha _{i}^{\left ( l \right )}=\left [ \alpha _{i}^{\left ( l \right )},\alpha _{i}^{\left ( l \right )},\alpha _{i}^{\left ( l \right )}...,\alpha _{i}^{\left ( l \right )}\right ]

        因为\alpha _{i}^{\left ( l \right )}是一个数,所以和特征做哈达玛积的时候就用这个数与节点特征的每个元素相乘,比如说节点特征维度为1433,就用\alpha _{i}^{\left ( l \right )} 分别与1433个元素相乘 。

        那么,对于每个l\geq 2,部件内配备AIR的l次P操作可以表述如下:

H^{\left ( l \right )}=\hat{A}\left [ \left ( 1-\alpha ^{\left ( l-1 \right )}\right ) \bigodot H^{\left ( l-1 \right )}+\alpha ^{\left ( l-1 \right )}\bigodot H^{\left ( 0 \right )}\right ](8)

        其中H^{\left ( l \right )}H^{\left ( l-1 \right )}是后面的表示矩阵l次和l-1次操作。1是一个全为1的矩阵,并且\odot表示哈达玛积。\hat{A}是方程2中的标准化邻接矩阵,H^{\left ( 0 \right )}是该部分的输入矩阵。

        \alpha _{i}^{\left ( l \right )}每次与原始特征相乘然后添加到每次的P操作之后,而原始的P操作之后获得的新特征也要乘以(1-\alpha _{i}^{\left ( l \right )}),然后两个相乘后所得的特征相加。比如说原来特征是A,经过一次P操作之后变为了B,添加了AIR以后,应该变为  (1-\alpha _{i}^{\left ( l \right )})B+\alpha _{i}^{\left ( l \right )}A

        配备AIR后,连续P操作相当于首先计算传播输入\left [ H^{0},\hat{A}H^{\left ( 0 \right )},\hat{A}^{2}H^{\left ( 0 \right )},... \right ],然后以节点自适应的方式,给它们分配可学习系数。根据这种观点,AIR显然可以帮助缓解过平滑问题。对于需要深层信息的节点,该模型可以将较大的系数分配给深层传播的输入。对于只需要本地信息的节点,可以将深度传播特征的系数赋值为零左右。

6.1.2在T操作之间构造

        与P操作之间的自适应初始残差不同,T操作之间的连接不包括输入特征的可学习系数,而是采用固定系数,因为这两种方法在这种情况下几乎是等效的。

        与上面介绍的P操作类似,对于每个l\geq 2,该l层内配备AIR的T操作可公式化如下:

H^{\left ( l \right )}= \sigma\left [ \left ( H^{\left ( l-1 \right )} + H^{\left ( 0 \right )}\right )W\right ](9)

        这里其实也是添加残差的思想,与P操作添加残差的思想不同,T操作是直接把原始特征添加到每次的T操作之后,做一个相加,若两个特征维度不一样,则用一个线性投影层把原始特征维度转换成和T操作之后一样的维度再相加。

        其中W是可学习变换矩阵,\sigma是非线性激活函数。注意,输入和潜在表示的特征维度可能不同。在这种情况下,一个线性投影层被用于将输入特征维度转换为给定的特征维度。

        我们在这里采用的初始残差连接[7]与[15]中的残差连接具有相同的直觉,即深度模型应至少达到与浅层模型相同的性能。因此,采用带AIR的T操作有望缓解大的gif.latex?D_%7Bt%7D引发的模型退化问题。

6.2应用到现有的GNN模型

6.2.1PPTT和TTPP

        对于没有纠缠在一起的PPTT和TTPP的GNN结构,模型可以分为两部分,一部分只包含P操作,另一部分只包含T操作。因此,P和T操作可以很容易地被上一小节中介绍的配备AIR的P和T操作所取代。

        配备AIR的P操作将适量的原始输入直接加到操作上,并将其与由前一P操作生成的表示矩阵融合。融合后的矩阵被认为是l次P操作的新输入。配备AIR的T操作将前一次T操作的输出与固定数量的原始输入相加。

        图6(A)和图6(B)分别给出了在PPTT和TTPP架构下采用AIR的示例。

6.2.2PTPT

        PTPT的GNN架构AIR与PPTT和TTPP的GNN架构AIR略有不同,因为P和T操作在PTPT架构中纠缠在一起。PTPT体系结构下的GNN模型可以看作是一系列的图卷积运算。因此,我们直接在图的卷积运算之间构造自适应初始残差连接。

        如果输入和潜在表示的维度不同,则使用线性投影层将输入转换到给定的维度。对于每个l\geq 2,配备AIR的l层图卷积运算可以表示为:

H^{\left ( l \right )}= \sigma \left [ \hat{A}\left ( \left ( 1-\alpha ^{\left ( l-1 \right )} \right ) \bigodot H^{\left ( l-1 \right )} + \alpha ^{\left ( l-1 \right )} \bigodot H^{\left ( 0 \right )} \right ) W \right ](10)     

        这相当于连续应用配备了AIR的P操作(公式8)和T操作(公式3)。

        图6(c)概述了如何在PTPT的GNN架构下采用AIR。

Model Degradation Hinders Deep Graph Neural Networks(AIR)论文阅读笔记_第4张图片

七、评估AIR

        在这一部分中,我们将在三种不同的GNN架构下对提出的AIR进行评估。我们将AIR应用于三种GNN模型:SGC[39](PPTT)、APPNP[21](TTPP)和GCN[20](PTPT),它们分别是三种GNN体系结构的代表性GNN模型。首先,我们介绍了所使用的数据集和实验装置。然后,我们比较了SGC+AIR、APPNP+AIR和GCN+AIR与基线方法在预测精度、深入能力、对图形稀疏性的稳健性和效率方面的差异。

7.1实验设置

        数据集。我们采用了三个流行的引文网络数据集(Cora,Citeseer,PubMed)[36]和三个大型OGB数据集(ogbn-arxiv,ogbn-Products,ogbn-Paps100M)[17]来评估每种方法对节点分类任务的预测精度。附录B.1中的表2概述了这六个数据集。

        基线。我们选择以下基线:GCN[20]、GraphSAGE[14]、JK-Net[41]、ResGCN[22]、APPNP[21]、AP-GCN[37]、DAGNN[25]、SGC[39]、SIGN[12]、S2GC[55]和GBP。SGC+AIR、APPNP+AIR、GCN+AIR以及所有基线方法的超参数细节可在附录B.3中找到。

7.2端到端的比较

        表1总结了GCN+AIR、APPNP+AIR、SGC+AIR和所有比较基线在六个数据集上的评估结果。配备AIR后,GCN、APPNP和SGC的性能都远远好于它们各自的原始版本。例如,在PubMed数据集上,GCN+AIR、APPNP+AIR和SGC+AIR的预测精度分别比其原始版本高0.9%、0.9%和2.2%。此外,GCN+AIR,APPNP+AIR和SGC+AIR在它们自己的GNN架构中也优于或达到了与最先进的基线方法相当的性能。

        值得注意的是,在两个最大的数据集ogbn-Products和ogbn-Papers100M上,SGC+AIR相对于比较基线方法的性能优势比在较小数据集上的更显著。这种对比是因为AIR能够在GNN中实现更大的gif.latex?D_%7Bp%7Dgif.latex?D_%7Bt%7D,这有助于该模型利用关于大型数据集的更有价值的深层信息。

Model Degradation Hinders Deep Graph Neural Networks(AIR)论文阅读笔记_第5张图片

7.3对模型深度的分析

        在本小节中,我们在ogbn-arxiv数据集上进行实验,以验证简单的GNN方法在配备AIR时可以支持大的gif.latex?D_%7Bp%7D和大的gif.latex?D_%7Bt%7D

        我们首先在PPTT和TTPP架构下分别增加gif.latex?D_%7Bp%7Dgif.latex?D_%7Bt%7D。在图7(a)中,我们固定gif.latex?D_%7Bt%7D=3,并将gif.latex?D_%7Bp%7D从1增加到20。图7(a)显示,SGC+AIR在整个实验过程中都优于SGC,而当gif.latex?D_%7Bp%7D超过10时,APPNP+AIR的性能开始超过APPNP。实验结果清楚地说明,AIR可以大大降低过度平滑问题出现的风险。

        在图7(b)中,我们将gif.latex?D_%7Bp%7D固定为10,并将gif.latex?D_%7Bt%7D从1增加到10。当gif.latex?D_%7Bt%7D超过4时,SGC和APPNP都遇到了明显的性能下降,而当gif.latex?D_%7Bt%7D增长时,SGC+AIR和APPNP+AIR的预测准确率保持甚至更高。这种鲜明的对比说明,AIR可以大大缓解模型退化的问题。因此,配备了AIR,SGC和APPNP可以更好地利用深度信息,实现更高的预测精度。

       在PTPT架构下,我们同时增加了gif.latex?D_%7Bp%7Dgif.latex?D_%7Bt%7D,因为在这个架构中,P和T操作是纠缠在一起的。实验结果显示在图7(c)。与基线方法GCN、JK-Net和ResGCN相比,随着层数的增加,GCN+AIR的预测准确率呈稳定上升趋势,这再次验证了AIR的有效性。

Model Degradation Hinders Deep Graph Neural Networks(AIR)论文阅读笔记_第6张图片

7.4对性能和效率的分析

        在本小节中,我们评估了AIR在ogbn-arxiv数据集上的效率。这里我们只报告训练时间,因为在真实世界的场景中,训练阶段总是消耗最多的资源。SGC、APPNP和GCN在有或没有AIR的情况下训练时间结果展示在图8。所有比较的方法中,gif.latex?D_%7Bp%7Dgif.latex?D_%7Bt%7D都固定为3,每种方法都训练了500个epochs。

Model Degradation Hinders Deep Graph Neural Networks(AIR)论文阅读笔记_第7张图片

 八、总结

        在本文中,我们对当前的GNN进行了实证分析,并找到了导致深度GNN性能下降的根本原因:大的转换深度(gif.latex?D_%7Bt%7D)引起的模型退化问题。大的传播深度(gif.latex?D_%7Bp%7D)引起的过平滑问题确实损害了预测的准确性。然而,我们发现,当gif.latex?D_%7Bp%7Dgif.latex?D_%7Bt%7D以类似的速度增加时,模型退化问题总是比过平滑问题发生得更早。基于上述分析,我们提出了自适应初始残差(AIR),一个即插即用的模块,帮助GNN同时支持大的传播和转换深度。在六个真实世界的图数据集上进行的广泛实验表明,配备了AIR的简单GNN方法优于最先进的GNN方法,与AIR相关的额外时间成本可以被忽略。

未完,待更新。

你可能感兴趣的:(图神经网络论文阅读笔记,论文阅读,深度学习,人工智能)