理解和解决深度图卷积的性能下降问题

Understanding and Resolving Performance Degradation in Deep Graph Convolutional Networks

1. 文章概述

图卷积网络(GCN)堆叠几层,在每一层中执行传播操作(PROPagation operation)和变换操作(TRAN),用于学习图结构数据上的节点表示。尽管功能强大,但当模型深入时,GCN的性能往往会下降。先前的工作认为引起性能下降的主要原因是PROP过程造成的过平滑问题和梯度消失问题导致的,本文作者通过多组对照实验,分别比较了PROP过程和TRAN过程对gcn性能下降造成的影响,并发现了TRAN对GCN深度增加导致性能下降产生的影响更大,并提出了一种归一化方法解决该问题

2. 理解和解决深GCNS的性能退化

2.1 问题

首先给出GCN两个过程PROPTRAN的定义,在图卷积过程中给定一个图的邻接矩阵和度量矩阵,图卷积可以定义为:
H ( l ) = ReLU ⁡ ( A ^ H ( l − 1 ) W ( l ) ) H^{(l)}=\operatorname{ReLU}\left(\hat{A} H^{(l-1)} W^{(l)}\right) H(l)=ReLU(A^H(l1)W(l))
其中 H l ∈ R n × d H^l\in R^{n \times d} HlRn×d表示第l层的特征矩阵, W l W^{l} Wl是可学习的权值矩阵。其他PROP和TRAN操作可分别定义如下:
H ˉ ( l − 1 ) = A ^ H ( l − 1 ) ( P R O P ) H ( l ) = ReLU ⁡ ( H ˉ ( l − 1 ) W ( l ) ) ( T R A N ) \bar{H}^{(l-1)} =\hat{A} H^{(l-1)}(\mathrm{PROP}) \\ H^{(l)} =\operatorname{ReLU}\left(\bar{H}^{(l-1)} W^{(l)}\right)(\mathrm{TRAN}) Hˉ(l1)=A^H(l1)(PROP)H(l)=ReLU(Hˉ(l1)W(l))(TRAN)
PROP操作传播和聚集来自每个单个节点的 1 1 1 跳邻居的信息,而TRAN通过线性变换随后是非线性ReLU激活函数来变换聚集的嵌入。通常,使用更多的GCN层,节点特征信息可以传播到更远的节点。这有助于聚集来自远处节点的信息,因此提高了GCNs的性能。然而,一些实际观察与这种直觉相矛盾——堆叠更多的层会导致GCNs的性能严重下降。

2.2 两种模型比较

本文作者为了探究两个过程对GCN随着深度的增加导致的性能下降的影响,分别定义了一个只包含PROP操作的模型P-GCN和一个只包含TRAN操作的模型T-GCN如下:
H ( L ) = G C ( T ∘ ⋯ ∘ T ⏟ L − 2 ( G C ( X ) ) ) ( T − G C N ) H ( L ) = G C ( A ^ L − 2 G C ( X ) ) ( P − G C N ) \begin{aligned} &H^{(L)}=\mathrm{GC}(\underbrace{\mathrm{T} \circ \cdots \circ \mathrm{T}}_{L-2}(\mathrm{GC}(X))) \quad(\mathrm{T}-\mathrm{GCN}) \\ &H^{(L)}=\mathrm{GC}\left(\hat{A}^{L-2} \mathrm{GC}(X)\right) \quad(\mathrm{P}-\mathrm{GCN}) \end{aligned} H(L)=GC(L2 TT(GC(X)))(TGCN)H(L)=GC(A^L2GC(X))(PGCN)
两个模型随着深度的加深效果如下:

在这里插入图片描述

可以很明显的观察到随着深度的加深T-GCN模型的性能下降最为明显,由此作者得出结论,TRAN过程是造成GCN性能下降的主要原因。

2.3 转化操作导致variance inflammation原因分析

本文通过实验检验了TRANS对节点表示的影响,发现trans倾向于放大节点方向的特征方差。结果,随着GCN模型变得更深,它包含更多的转换,因此它的输出节点特征方差通常变得越来越大。其中节点特征方差定义如下:
var ⁡ i ( l ) = 1 d l ∑ j = 1 d l ( h i j ( l ) − μ i ( l ) ) 2 \operatorname{var}_{i}^{(l)}=\frac{1}{d_{l}} \sum_{j=1}^{d_{l}}\left(h_{i j}^{(l)}-\mu_{i}^{(l)}\right)^{2} vari(l)=dl1j=1dl(hij(l)μi(l))2
h i j ( l ) h_{i j}^{(l)} hij(l)表示第l层图卷积的第i个节点第j个特征的值, μ i ( l ) \mu_{i}^{(l)} μi(l)表示第i个节点所有特征的平均值。本文通过实验论证的节点方差对GCN性能的影响,安装节点在64层的方差将节点分为五类,比较其于第二层的性能差异,发现方差越高性能下降越严重。

image-20211116211751289

2.4 节点归一化

为了缓解TRAN过程中出现的特征方差变大的问题本文提出了节点归一化的方法,定义如下
 NodeNorm  ( h i ) = h i ( σ i ) 1 p \text { NodeNorm }\left(\mathbf{h}_{i}\right)=\frac{\mathbf{h}_{i}}{\left(\sigma_{i}\right)^{\frac{1}{p}}}  NodeNorm (hi)=(σi)p1hi
其中 σ 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 = σ i 1 − 1 / p σ_i=σ_i^{1-1/p} σi=σi11/p ,如果 σ i > 1 σ_i>1 σi>1 ,则标准化后会小于原来的方差,现有的层归一化:
 LayerNorm  ( h i ) = α ⊙ h i − μ i σ i + β \text { LayerNorm }\left(\mathbf{h}_{i}\right)=\alpha \odot \frac{\mathbf{h}_{i}-\mu_{i}}{\sigma_{i}}+\beta  LayerNorm (hi)=ασihiμi+β
其方差缩放在本质上也是节点归一化

3. 实验结果

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值