PAIRNORM : TACKLING OVERSMOOTHING IN GNNS

本文研究了图神经网络(GNN)中的过平滑问题,提出了一种名为PairNorm的规范化层,以防止节点特征变得过于相似。PairNorm通过对图卷积算子的分析,确保节点对的特征距离保持恒定,适用于各种GNN模型,尤其在深层GNN中能有效防止性能下降,提高处理缺失特征任务时的性能。

         一种规范化的方法来处理过平滑问题

  已知图神经网络(GNN)的性能随着层数的增加而逐渐降低。 这种衰减部分归因于过度平滑,其中重复的图形卷积最终使节点嵌入难以区分。 我们仔细研究了两种不同的解释,旨在量化过度平滑。 我们的主要贡献是PAIRNORM,这是一种新颖的归一化层,它基于对图卷积算符的仔细分析,可防止所有节点嵌入变得过于相似。 而且,PAIRNORM快速,易于实施,无需更改网络体系结构或任何其他参数,并且广泛适用于任何GNN。现实世界图上的实验表明,PAIRNORM使更深的GCN,GAT和SGC模型在防止过度平滑方面更具鲁棒性,并极大地提高了受益于更深的GNN的新问题的性能。
  本文处理深层GNN的过平滑问题,具体地,我们(据我们所知)提出了GNN的第一个规范化层,该层在训练期间应用在中间层之间。规范化有防止相隔较远的节点的输出特征变得相似或难以区分的效果,同时使得属于同一类相连的节点变得更相似,主要贡献为:
(1)规范化来处理GNN的过平滑: 我们提出的方案基于以下认识:大多数GNN都执行一种特殊形式的Laplacian平滑,这使得节点特征彼此之间更加相似。 PairNorm的关键思想是确保总的成对特征距离在各层之间保持恒定,使得相隔较远的节点对具有较少的相似特征,从而防止特征在整个群集中混合。
(2)速度和通用性: PairNorm能被直接的运用,并且不会引入额外的参数,它被简单地运用在每一层(除了最后一层)的输出特征上,由简单的操作组成,主要是中心化和缩放,它们和输入的大小成线性关系。PairNorm并不是针对某个特定的GNN作用的,而是能被广泛应用,本文主要将PairNorm用来处理GCN,GAT和SGGC模型的过平滑问题。
(3)更深层GNN的用例: 对于一些分类任务,运用浅层GNN就已经足够了,因此PairNorm虽然可以阻止性能随着层数增加显著下降,但是不一定能绝对提高性能。但是在现实世界中,有的分类任务,比如有一部分节点特征缺失,此时可能需要更广泛的邻域,也就是需要更深的层数,节点的特征才能被有效的恢复出来,这种情景下,深层GNN对分类任务更有效,这时运用PairNorm能显著超越其他模型,PairNorm的优势也就体现出来了。

理解过平滑

  很多文章都表明,GCN里面的过平滑是一种特殊形式的Laplacian平滑。标准形式是(I−λI)X+γArw~X\left ( I-\lambda I \right )X+\gamma \tilde{A_{rw}}X(IλI)X+γArw~X,图卷积就是γ=1\gamma =1γ=1, 使用对称规范化的Laplacian矩阵Asym~\tilde{A_{sym}}Asym~,得到X~=Asym~X\tilde{X}=\tilde{A_{sym}}XX~=Asym~X,即一个节点新的特征x~\tilde{x}x~是它本身和邻居特征的权值的平均。这种平滑效果使得属于同一类节点 变得更加相似,进而有助于提高集群假设下的SSNC(半监督节点分类)性能。然而,当层数增加时, 属于不同类节点的特征也会混合进去,遭遇过平滑问题,我们把这类节点特征变得太相似的问题叫做逐节点平滑问题。
另一种思考过平滑的方式是:重复运用拉普拉斯平滑法多次会使节点特征趋于一个稳定点,从而遗弃了特征的所有信息。具体为:X⋅j∈RnX_{\cdot j}\in R^{n}XjRn,代表特征矩阵XXX的第jjj列,则lim⁡k→∞Asymk~X⋅j=πj\lim_{k\rightarrow \infty }\tilde{A_{sym}^{k}}X_{\cdot j}=\pi _{j}limkAsymk~Xj=πj,并且πj∥πj∥1=π\frac{\pi _{j}}{\left \| \pi _{j} \right \|_{1}}=\piπj1πj=π。归一化的解π∈Rn\pi \in R^{n}πRn,满足πi=degiΣidegi\pi _{i}=\frac{\sqrt{deg_{i}}}{\Sigma _{i}\sqrt{deg_{i}}}πi=Σidegidegi。注意到π\piπ 独立于输入特征X⋅jX_{\cdot j}Xj,它仅仅是图结构的函数。换句话说,拉普拉斯平滑遗弃了所有特征之间的信息,使得特征之间不可分, 把这种情况叫做逐特征的平滑。
   因此,本文提出两种度量方式, row-diff和col-diff来定量描述这两种平滑现象。令H(k)∈Rn×dH^{\left ( k \right )}\in \mathbb{R}^{n\times d}H(k)Rn×dkkk次图卷积之后的特征矩阵,即H(k)=A~symkXH^{\left ( k \right )}=\tilde{A}_{sym}^{k}XH(k)=A~symkXhi(k)∈Rdh_{i}^{\left ( k \right )}\in \mathbb{R}^{d}hi(k)RdH(k)H^{\left ( k \right )}H(k)的第iii行,h⋅i(k)∈Rnh_{\cdot i}^{\left ( k \right )}\in \mathbb{R}^{n}hi(k)RnH(k)H^{\left ( k \right )}H(k)的第iii列,则 row-diff和col-diff被定义为:
在这里插入图片描述
  row-diff度量的是特征矩阵行之间的平均距离,即逐节点的平滑;col-dif度量的是特征矩阵列之间的平均距离,即逐特征的平滑。

在SGC模型上具体研究过平滑

  GCN性能随着层数增加急剧下降的原因可能是由于过平滑,也有可能是因为学习参数增多导致的过拟合,因此为了研究过平滑的影响,本文研究SGC模型上的过平滑问题。
SGC是GCN的简化模型,移除了GCN图卷积层的所有映射参数以及层之间的所有非线性激活函数,SGC的形式可以写为:
在这里插入图片描述
  KKK表示图卷积的次数,W∈Rd×cW\in \mathbb{R}^{d\times c}WRd×c代表由logistic回归分类器学习到的参数。注意到,SGC有固定数量的参数,它不依赖于图卷积的层数,因此当层数增加时他不会出现过拟合问题,那么深层性能下降就只能是过平滑的原因了。
在这里插入图片描述
  可以看出,大约4层之后,SGC的损失函数开始上升,精度开始下降,并且row-diff和col-diff的值急剧减小,说明节点和特征之间变得越来越相似了,充分说明了过平滑问题。

处理过平滑

1.提出PariNorm
  我们在图卷积和最优问题之间建立一个连接,即图规则化的最小二乘法(GRLS),令Xˉ∈Rn×d\bar{X}\in \mathbb{R}^{n\times d}XˉRn×d是节点新的特征矩阵,xiˉ\bar{x_{i}}xiˉ表示Xˉ\bar{X}Xˉ的第iii行,那么GRLS可以表示为:
在这里插入图片描述
  其中∥Z∥D~2=ZTD~Z\left \| Z \right \|_{\tilde{D}}^{2}=Z^{T}\tilde{D}ZZD~2=ZTD~Z,第一项可以看作是度数加权最小二乘。 第二个是图正则化,用于度量图结构上新特征的变化。这个优化问题的目标可以说是估计新的“降噪”特征xˉi\bar{x}_{i}xˉi,这些特征离输入特征xi{x}_{i}xi不太远并且在图结构上很平滑。
GRSL问题有一个封闭解Xˉ=(2I−A~rw)−1X\bar{X}=\left ( 2I-\tilde{A}_{rw} \right )^{-1}XXˉ=(2IA~rw)1X,其中A~rwX\tilde{A}_{rw}XA~rwX是一阶泰勒逼近,即A~rwX≈Xˉ\tilde{A}_{rw}X\approx \bar{X}A~rwXXˉ。将A~rw\tilde{A}_{rw}A~rw改为A~sym\tilde{A}_{sym}A~sym,得到同样形式的图卷积,X~=A~symX≈Xˉ\tilde{X}=\tilde{A}_{sym}X\approx \bar{X}X~=A~symXXˉ,这样,图卷积可以看作是(5)的近似解,其中它使图结构的变化最小,同时保持新的特征接近原始特征。
  上式中的优化问题有助于更深入理解图卷积的过度平滑问题,理想情况下,我们想使属于同一类的节点之间具有平滑性,尽量避免不同类节点间出现过平滑。但是上式的图正则化项(第二项)只能满足第一个目标,为了使这两个目标都能实现,我们引入一个负项,来计算非相连节点之间的距离和。即:
在这里插入图片描述
  λ\lambdaλ是一个平衡因子,用于说明两个目标的不同数量和重要性。我们提出一个通用且有效的方法,叫PariNorm,可以应用于具有过度平滑潜力的任何形式的图卷积。
X~\tilde{X}X~是图卷积层的输出,也是PariNorm的输入,X˙\dot{X}X˙是PariNorm的输出。图卷积层的输出X~=A~symX\tilde{X}=\tilde{A}_{sym}XX~=A~symXj仅仅实现了第一个目标,那么PariNorm充当一个归一化的层,对X~\tilde{X}X~实行一个归一化,来实现第二个目标,使得非相连节点对之间的特征不一致。并且经过PariNorm归一化后的总的节点特征距离应该和原节点特征距离一样,即:
在这里插入图片描述
  等式左边简记为TPD(X˙)TPD\left ( \dot{X} \right )TPD(X˙),右边简记为TPD(X)TPD\left ( X \right )TPD(X)。因为通过图卷积层后,实际上∑(i,j)∈ε∥xi˙−xj˙∥22\sum _{\left ( i,j \right )\in \varepsilon }\left \| \dot{x_{i}}-\dot{x_{j}} \right \|_{2}^{2}(i,j)εxi˙xj˙22小于∑(i,j)∈ε∥xi−xj∥22\sum _{\left ( i,j \right )\in \varepsilon }\left \| {x_{i}}-{x_{j}} \right \|_{2}^{2}(i,j)εxixj22,所以∑(i,j)∉ε∥xi˙−xj˙∥22\sum _{\left ( i,j \right )\notin \varepsilon }\left \| \dot{x_{i}}-\dot{x_{j}} \right \|_{2}^{2}(i,j)/εxi˙xj˙22得保证至少和原始值∑(i,j)∉ε∥xi−xj∥22\sum _{\left ( i,j \right )\notin \varepsilon }\left \| {x_{i}}-{x_{j}} \right \|_{2}^{2}(i,j)/εxixj22一样大。实际上,我们可以始终在所有层上保持恒定的TPD值C,而不是始终跟踪原始值TPD(X)。为了将X~\tilde{X}X~归一化为一个常数,需要首先计算TPD(X~)TPD\left ( \tilde{X} \right )TPD(X~),直接计算时间复杂度很高,因此将其转化为两步法,即:
在这里插入图片描述
证明:
在这里插入图片描述
忽略2n22n^{2}2n2,第一项表示节点特征的均方长度,第二项代表节点特征均值的均方长度。为了简化计算,对于每个xi~\tilde{x_{i}}xi~,减去逐行均值,即xic~=xi~−1n∑inx~i\tilde{x_{i}^{c}}=\tilde{x_{i}}-\frac{1}{n}\sum_{i}^{n}\tilde{x}_{i}xic~=xi~n1inx~i,这个转换并没有影响TPD的值,并且使得后面一项∥1n∑1nx~ic∥22\left \| \frac{1}{n}\sum_{1}^{n}\tilde{x}_{i}^{c} \right \|_{2}^{2}n11nx~ic22趋于零,那么计算可以简化为:
在这里插入图片描述
总结:我们提出的PariNorm能被表示为两步,中心化和放缩
在这里插入图片描述
缩放后,数据保持居中,即∥∑i=1nxi˙∥22=0\left \| \sum_{i=1}^{n}\dot{x_{i}} \right \|_{2}^{2}=0i=1nxi˙22=0,那么归一化的结果为:
在这里插入图片描述
  sss是决定CCC的超参数,因此X˙=PairNorm(X~)\dot{X}=PairNorm\left ( \tilde{X} \right )X˙=PairNorm(X~)逐行均值为0,总共的节点对距离为常数C=2n2s2C=2n^{2}s^{2}C=2n2s2,PairNorm的输出即为下一个卷积层的输入,整个PairNorm的过程可以用下图表示:
在这里插入图片描述
  从图中可以看出,PairNorm就是对图卷积的输出进行一个规范化处理,处理完后,节点间的总距离不变是个常数,而属于同一类的节点经过卷积层后更加平滑了,节点之间的距离变小,从而相隔较远,属于不同类的节点之间距离变大,这样就避免了过平滑问题。
我们还提出了PairNorm的一种变体形式,将Scale步骤中的∑i=1n∥xic~∥22\sum_{i=1}^{n}\left \| \tilde{x_{i}^{c}} \right \|_{2}^{2}i=1nxic~22替换成n∥xic~∥22n\left \| \tilde{x_{i}^{c}} \right \|_{2}^{2}nxic~22,使得Scale步的计算结果为:xi˙=s⋅xic~∥xic~∥2\dot{x_{i}}=s\cdot \frac{\tilde{x_{i}^{c}}}{\left \| \tilde{x_{i}^{c}} \right \|}_{2}xi˙=sxic~xic~2,将该形式称为PairNorm-S1,它对节点表示施加了更大限制。通过实验发现,PairNorm和PairNorm-S1在SGC模型上都表现得很好,但是在GCN和GAT模型上,PairNorm-S1得到的结果更稳定,原因可能是GCN和GAT具有更多的参数,更容易出现过拟合。所以在下面的实验中,我们在SGC上运用PairNorm,在GCN和GAT上运用PairNorm-S1。
在这里插入图片描述
  引入PairNorm后,能减缓模型性能下降的速度,说明有效应对了过平滑问题。但是观察到整个测试精度并没有提高, 是因为一些基本的分类问题深度一般都不超过4层,精度就已经很好了。因此下文给出一个用例,需要更深的模型才会有好的效果,这时,PairNorm的优势就显而易见了。

2.一个更深层GNN更加有利的例子
  通常,过平滑会随着层数增加变得愈发严重,那么有一类任务当应用PairNorm之后,效果会很好,这类任务就是需要非常深的层来实现最好的性能,比较有代表的就是特征缺失任务,即节点中有一部分节点特征缺失,ppp表示缺失比率,我们把这类任务叫做带有缺失向量的半监督节点分类任务(SSNC-MV),这类任务通常需要足够多的传播步骤,即更深的GNN,才能充分恢复出节点缺失的特征。SSNC-MV在实际生活中是一种很通用且现实的问题,例如信贷问题里面的识别低风险和高风险客户的信用风险问题,就可以建模成一个SSNC-MV问题,它有大量的客户并没有提供有用的信息。事实上,很多基于图的分类任务都存在冷启动问题(即没有历史信息),这些就可以被描述为SSNC-MV问题,据我们所知,本文是第一篇利用GNN模型来处理SSNC-MV问题。
在这里插入图片描述
  该图描述了当缺失率ppp为1时,在SGC、GCN和GAT模型上运用PairNorm的效果,可以看出运用PairNorm后达到了更好的测试精度,并且可以达到很深的层。

实验

  实验部分主要是设计了更多的实验来验证在SSNC-MV任务下,在SGC、GCN和GAT模型上运用PairNorm的效果。
1.实验设置
数据集: 使用GNN领域里面比较有名的四个数据集,Cora, Citeseer, Pubmed和CoauthorCS。
模型: 使用三个不同的GNN模型作为基本模型,SGC,GCN,GAT。比较在这三个模型上使用PairNorm方法和残差连接方法的效果,(SGC模型上没有残差连接)。我们将重点放在基本模型与PairNorm增强模型之间的比较上,而不是实现SSNC和SSNC-MV的最佳性能比较上。
超参数: SGC模型中选择PairNorm中超参数sss的范围为{0.1,1,10,50,100}\left \{ 0.1,1,10,50,100\right \}{0.1,1,10,50,100} ,GCN,GAT这两个模型选择sss固定为1.
配置: 对于增强的PairNorm模型,我们在每个图卷积层之后(即激活层之后)应用PairNorm,对于带有ttt步跳跃的残差连接模型,我们将第lll层的输出和第(l+t)\left ( l+t \right )(l+t)层的输出连接起来,即Hnew(l+t)=H(l+t)+H(l)H_{new}^{\left ( l+t \right )}=H^{(l+t)}+H^{\left ( l \right )}Hnew(l+t)=H(l+t)+H(l)。在验证集和测试集上,随意地选择ppp值,丢弃一部分节点的特征信息,在训练集上保留所有节点特征不变。

2.实验结果
在这里插入图片描述
  可以看出当缺失率大的时候,PairNorm的优势就完全体现出来了,而且缺失率大,意味着层数更深,SGC模型到后面性能急剧下降,但是带有PairNorm的SGC模型能保持一个相对稳定的性能。
在这里插入图片描述
在这里插入图片描述
  这两张表表示的是在GCN和GAT模型上运用PairNorm-S1和运用残差连接效果的比较 ,可以观察得出:
(1) 当缺失率增加时,原始模型会遭遇性能下降问题。
(2) 残差连接和PairNorm-S1都能使得模型层数更深,并且能提高性能。
(3) 和仅仅使用残差相比,GCN-PN和GAT-PN实现了更好的性能。
(4)结合残差和PairNorm-S1,性能能得到进一步提升。

结论

  我们研究了GNN中的过度平滑问题,并提出了PairNorm,这是一种新颖的归一化层,可增强深层GNN抵抗过度平滑的鲁棒性。 PairNorm的计算速度很快,不需要更改网络体系结构,也不需要任何额外的参数,并且可以应用于任何GNN。 在现实世界中分类任务的实验证明了PairNorm的有效性,当任务受益于更多层时,它可以提高性能。 未来的工作将探索更深层GNN的其他用例,这些用例可能会进一步展示PairNorm的优势。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值