论文笔记-理解和解决图卷积网络的性能退化问题

论文标题:Understanding and Resolving Performance Degradation in Graph Convolutional Networks
论文链接:arxiv
代码链接:github

更多图神经网络和深度学习内容请关注:
在这里插入图片描述

摘要

图卷积网络(GCN)由数层神经网络堆叠而成,在每层中执行传播操作(PROP,PROPagation)和变换操作(TRAN,TRANsformation),用以学习图结构数据上的节点表示(表征)。图卷积网络(GCN)虽然功能强大,但是深层GCN往往存在性能下降问题。以往的研究主要集中在传播(PROP,PROPagation)阶段研究和缓解这一问题,但对变换操作(TRAN,TRANsformation)的作用却鲜有研究。

在这篇论文中,我们通过实验研究只堆叠变换操作或传播操作是如何工作的,用于研究 GCNs 的性能退化问题。论文发现,在GCN中变换操作对性能下降的影响显著超过了传播操作,且更倾向于放大节点特征的方差,导致方差膨胀(variance inflammation),而方差膨胀是导致性能下降的主要原因

论文提出了一种称为节点归一化(NodeNorm)的方差控制技术,该技术使用每个节点的标准差来缩放每个节点的特征。

关键词:Graph-structured data, deep graph convolutional networks, performance degradation

简介

随着模型深度的增加,现有GNN模型的性能往往会下降。这个问题首先在GCN中发现,后来Chen等人发现其他流行的GNN架构(如GraphSage和GAT)也会出现这种性能下降问题。

对这一问题的研究大多基于GCNs,现有的研究主要集中在GCNs中的传播操作(PROP,PROPagation)如何影响节点表示并导致模型性能下降。Lietal认为GCN中的传播操作本质上是拉普拉斯平滑,因此传播操作使深层GCN中的节点嵌入不可区分,导致模型性能下降,即过平滑
为了减少过平滑,现有的方案有:

  1. Chenet等人引入了一种额外的损失来抑制远处节点之间的相似性;
  2. DropEdge在训练过程中随机删除了图中的边;
  3. PairNorm

除了过平滑外,Lietal还认为梯度消失是性能下降的另一个原因,也被广泛认为是传播操作的平滑效果造成的。与传播操作(PROP,PROPagation)相比,变换操作(TRAN,TRANsformation)在这一问题中的作用很少受到关注。

一些工作试图设计新的GNN架构用以解决深层图卷积网络性能退化问题,例如:

  1. JKNet
  2. GCNII
  3. GEN

理解和解决图卷积网络的性能退化问题

神经网络通常随着深度的增加表现得更好,然而GCNs在模型深度越大的情况下表现越差。

图卷积网络的性能退化问题

论文使用消融实验(ablative experiments,ablation experiments:类似一种控制变量法),研究了传播操作(PROP,PROPagation)相比,变换操作(TRAN,TRANsformation)在性能下降中的作用。根据实验结果,论文认为变换操作引起的方差膨胀(variance inflammation)问题是主要原因而不是目前主流认为的主要原因是传播操作。论文提出了一种方差控制技术来缓解这一问题,提高深层GCNs的性能。

第l层图卷积网络可以表示为: H ( l ) = R e L U ( A ′ H ( l − 1 ) W ( l ) ) H^{(l)}= ReLU(A'H^{(l−1)}W^{(l)}) H(l)=ReLU(AH(l1)W(l)),其中A为邻接矩阵,W为可训练权重, H ( l − 1 ) H^{(l-1)} H(l1)为第 l − 1 l-1 l1层结点的表征。

GCN每一层执行以下两个基本操作:

  1. 传播操作(PROP,PROPagation,传播和聚合来自每个节点的1跳邻居的信息): H ′ ( l − 1 ) = A ′ H ( l − 1 ) ( P R O P 操 作 ) H'^{(l−1)}=A'H^{(l−1)} (PROP操作) H(l1)=AH(l1)(PROP)
  2. 变换操作(TRAN,TRANsformation,通过一个线性转换和一个非线性ReLU激活函数对聚合的嵌入进行转换): H ( l ) = R e L U ( H ( l − 1 ) W ( l ) ) ( T R A N 操 作 ) H^{(l)}= ReLU( H^{(l−1)}W^{(l)})(TRAN操作) H(l)=ReLU(H(l1)W(l))(TRAN)

GCN模型是通过堆叠多个GCN层构建的,直觉上认为随着GCN层的增加,节点的特征信息可以传播到更远的节点,从而提高GCNs的性能。然而一些实验结果表明:深层GCN存在严重的性能下降,被称为深层GCN的性能退化问题。

为了研究变换操作在性能退化问题中的作用,论文使用消融实验分离了这两种基本操作(传播操作和变换操作),并构建了两种GCN 变体:

  1. 仅在每个隐藏层中执行传播操作的T-GCN ;
  2. 仅在每个隐藏层中执行变换操作的P-GCN 。

两种GCN 变体可表示为如下的公式,其中GC为图卷积层,X为输入结点的特征矩阵,T()为传播操作,注:两个模型在不同层中的参数是不共享的。
在这里插入图片描述
论文在Cora数据集上训练了三中不同层数的模型,分别为vanilla GCN(初代GCN)、P-GCN和T-GCN,模型层数从2到64层。可以发现T-GCN相对于GCN性能退化更为严重。64层T-GCN的精度降至0.4,而64层GCN的精度为0.6,相比之下P-GCNs精度为0.72。实验结果说明在GCN中变换操作对性能下降的影响显著超过了传播操作
在这里插入图片描述
论文认为变换操作倾向于放大节点特征方差,对于更深层的GCN模型来时,它包含多个变换操作,因此它的输出节点特征方差通常变得越来越大。即方差膨胀(variance inflammation)。这里的节点特征方差是指每个节点特征的方差。在形式上,第l层节点特征的方差可定义为:
在这里插入图片描述
论文认为缓解方差膨胀(variance inflammation),即防止指节点特征的方差过大,有助于缓解深层GCN的性能退化问题。

解决图卷积网络的性能退化问题-缓解方差膨胀技术

论文提出的方案是:用每个节点特征的标准差的开p次方来缩放每个节点的特征向量,其中p>1,论文称其为节点规范化(NodeNorm),形式上可表示为
在这里插入图片描述
其中 σ i σ_i σi为节点的表征 h i h_i hi的标准差,即 σ i = v a r i 1 / 2 σ_i = var_i^{1/2} σi=vari1/2,此处为了清晰起见,省略了层索引 l l l

在使用NodeNorm标准化之后,节点 i i i的标准偏差为 σ i 1 − 1 / p σ_i^{1-1/p} σi11/p,如果 σ i > 1 σ_i>1 σi>1,则标准化后的标准差小于 σ i σ_i σi。因此,一个较小的 p p p可更严格地控制方差膨胀。当 p = 1 p=1 p=1时,所有节点的方差标准化为 1 1 1

现有的层归一化(LayerNorm)(引用J. L. Ba, J. R. Kiros, and G. E. Hinton, “Layer normalization,”arXivpreprint arXiv:1607.06450, 2016.)也执行节点的方差缩放操作,形式上,层归一化形式上可表示为
在这里插入图片描述
其中的 ⊙ ⊙ 为按元素乘法, α = ( α 1 , ⋅ ⋅ ⋅ α d ) α= (α_1,···α_d) α=(α1,αd) β = ( β 1 , ⋅ ⋅ ⋅ β d ) β= (β_1,···β_d) β=(β1,βd)为可学习的参数, d d d为h的维度, σ i σ_i σi为标准差, u i u_i ui为平均值。一个层归一化由三个基本操作组成:方差缩放、均值减法和特征线性变换(α和β是斜率和偏差)。特别是,LayerNorm中的方差缩放(variance-scaling)本质上是我们的NodeNorm。

ps:这篇论文写作是真的不太行,看论文的过程太累了。

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值