深度图卷积网络系列文章(二)---DropEdge:Toward Deep Graph Convolutional Networks on Node Classification

深度图卷积网络系列文章(二)---DropEdge:Toward Deep Graph Convolutional Networks on Node Classification

DropEdge:关于节点分类的深度图卷积网络

今天分享的一篇文章是DropEdge:Toward Deep Graph Convolutional Networks on Node Classification,ICLR2020。
文章地址:https://iclr.cc/virtual_2020/poster_Hkx1qkrKPr.html
本文提出了一种随机边删除技术,通过随机去掉一定比率的边,DropEdge增加了输入数据的多样性,以防止过拟合,并减少了图形卷积中的消息传递,以缓解过平滑。
目前大部分图卷积网络都是浅层网络,即使使用残差连接,模型的分类效果也会随着深度的增加而变差。图卷积无法做到过深的原因是过拟合和过平滑,过拟合削弱了小数据集的泛化能力,随着网络深度的增加,过平滑会使输出表示与输入特征分离,阻碍了模型的训练。
深度图卷积网络系列文章(二)---DropEdge:Toward Deep Graph Convolutional Networks on Node Classification
虚线部分是原始的 4 层和 8 层 GCN 在 Cora 数据集上的训练曲线(这里为了更好展示过拟合和过平滑,取消了 GCN 层中的 bias),可以看到,在 GCN-4 上,验证集的损失函数在训练经过一定轮数后反向增长。这个增长是优于过拟合的。而在 GCN-8 上,训练集的损失函数则根本没有下降,这是因为过平滑的存在,导致 GCN-8 上训练失效。

过拟合

拟合训练数据的效果很好,但是对测试数据的推广很差,例如GCN-4。

过平滑

GCN的思想是聚合邻居节点和节点自身的特征信息来学习节点的表示,所以随着网络的加深,节点的表示具有趋同性,节点之间的区别会变小。最终,所有节点将会收敛到一个固定点,这样节点的表示便与输入特征无关,并且也会导致梯度消失,如GCN-8。

DropEdge

随机边删除技术,在每个epoch随机地从输入图中删除一定数量(固定比例)的边,就像一个数据增强器,同时也是一个消息传递减少器。DropEdge可以与其它骨干模型(GCN/ResGCN/GraphSAGE/JKNet)一起配置,虽然整体的精度还是随着层数的增加而降低,但是相对来说每一层的精度都提高了,那么网络的深度相对来说就会提高。
形式上,随机地选取邻接矩阵 A A A V p V_p Vp个非零元素,将其置0。其中 V V V是边的总数, p p p是删除率,删除之后得到的邻接矩阵为 A d r o p A_{drop} Adrop,那么有 A d r o p = A − A ′ A_{drop}=A-A' Adrop=AA。其中 A ′ A' A是一个由原始边 ϵ \epsilon ϵ中大小为 V p V_p Vp的随机子集展开的稀疏矩阵。我们也对 A d r o p A_{drop} Adrop进行了归一化,得到了 A ^ d r o p {\hat{A}}_{drop} A^drop。取代 H l + 1 = σ ( A ^ H l W l ) H^{l+1}=\sigma ( \hat{A}H^{l}W^{l}) Hl+1=σ(A^HlWl)中的 A ^ \hat{A} A^,则公式变为 H l + 1 = σ ( A ^ d r o p H l W l ) H^{l+1}=\sigma ({\hat{A}}_{drop}H^{l}W^{l}) Hl+1=σ(A^dropHlWl),其中的 A ^ d r o p {\hat{A}}_{drop} A^drop用于传播和训练,当验证和测试时,DropEdge不再使用。

数据增强器

在训练过程中对原始图中的边进行不同的随机删除,也就增强了输入数据的随机性和多样性,可以缓解过拟合的问题。

消息传递减少器

相邻节点之间的消息传递是通过边实现的,随机删除一些边可以让节点的连接更加稀疏,在一定程度上缓解了过平滑问题。

Layer-wise DropEdge

上面的DropEdge公式是所有层共享一个邻接矩阵。实际上,我们可以对每个单独的层执行dropedge。不同的层可以有不同的邻接矩阵。这种分层的版本带来了更多的随机性和原始数据的变形。实验中将layer-wise DropEdge和原始的DropEdge进行了对比。

DropEdge vs Dropout

Dropout是对特征向量中的某些维度随机置零,可以缓解过拟合,但是不能缓解过平滑,因为它没有改变邻接矩阵。DropEdge可以看成Dropout向图数据的推广,将删除特征维度变换成删除边,有助于缓解过拟合和过平滑问题。实际上两者是互补关系,实验中对两者进行了比较。

实验结果

表1总结了所有数据集的结果。由于空间限制,我们只报告了2/8/32层模型的性能。
另外,没有DropEdge的32层IncepGCN导致了内存不足(OOM)问题,而有DropEdge的模型却幸存了下来,这显示了DropEdge通过使邻接矩阵稀疏来节省内存消耗的优势。
深度图卷积网络系列文章(二)---DropEdge:Toward Deep Graph Convolutional Networks on Node Classification
在图2a中,我们通过DropEdge在不同层数的每个数据集上计算了所有主干的平均提升值。例如,在Citeseer上,DropEdge为更深层的架构提供了进一步的改进;对于2层的模型,它获得了平均0.9%的改进,而对于64层的模型,它获得了显著的13.5%的改进。
此外,Cora上所有四层模型的验证损失如图2b所示。应用DropEdge后,训练期曲线明显下降,这也解释了DropEdge有减轻过拟合的作用。
深度图卷积网络系列文章(二)---DropEdge:Toward Deep Graph Convolutional Networks on Node Classification
DropEdge与SOTAs的准确度(%)比较。括号中的数字为有DropEdge模型的网络深度。
深度图卷积网络系列文章(二)---DropEdge:Toward Deep Graph Convolutional Networks on Node Classification
图3a表示随着层数的增加,GCN中的过度平滑现象变得更加严重,这与我们的推测是一致的。与没有DropEdge( p = 0 p = 0 p=0)的模型相比,具有DropEdge( p = 0.8 p = 0.8 p=0.8)的模型显示的距离更长,收敛速度较慢,这暗示了DropEdge对缓解过度平滑的重要性。
图3b显示了150次训练后的结果。对于不带DropEdge的GCN,第5层和第6层的输出之间的差异等于0,这表示隐藏特征已收敛到某个固定点。相反,带有DropEdge的GCN的效果令人惊叹,因为当层数增加时,dislance不会一直为0。它可能已经成功地学习了有意义的节点表示,也可以通过图3c中的训练损失来验证。深度图卷积网络系列文章(二)---DropEdge:Toward Deep Graph Convolutional Networks on Node Classification
我们对GCN-4进行了消融研究,验证损失如图4a所示。Dropout和DropEdge都能够促进GCN的训练,而DropEdge的改善更为显著。如果同时采用,则损失进一步降低,说明Dropedge与Dropout的兼容性。
深度图卷积网络系列文章(二)---DropEdge:Toward Deep Graph Convolutional Networks on Node Classification
从图4b中可以看出,LW DropEdge比原始版本的训练损失更低,而两个模型之间的验证值是可以比较的,这说明LW DropEdge比原始版本的DropEdge更有利于训练。然而。我们宁愿使用DropEdge而不是LW变体,这样不仅避免了过度拟合的风险,而且降低了计算复杂度,因为LW DropEdge需要对每一层进行采样,花费更多的时间。