
论文题目:DROPEDGE: TOWARDS DEEP GRAPH CONVOLU-TIONAL NETWORKS ON NODE CLASSIFICATION
论文来源:ICLR 2020
论文链接:https://openreview.net/forum?id=Hkx1qkrKPr
代码链接:https://github.com/DropEdge/DropEdge
关键词:GNN的加深,过拟合,过平滑,DropEdge
文章目录
1 摘要
本文解决的是图神经网络无法加深的问题,提出DropEdge机制加深GNN,用于节点分类任务。
图神经网络无法加深主要有两个原因:过拟合(over-fitting)和过平滑(over-smoothing)。
本文提出了DropEdge机制,在模型训练时随机删减掉原始图中的边,来缓解这两个问题。
此外,作者还从理论上证明了DropEdge既可以降低过平滑的收敛速度,又可以减少由过平滑引起的信息损失。并且DropEdge可以用于许多GNN模型以增强其性能,例如JKNet、GCN、ResGCN、GraphSAGE。
实验结果显示DropEdge可以提升多个浅层和深层GCN模型的性能。
2 引言
GCNs的思想是:聚合节点邻居的信息及其自身的信息,进行消息传递,以获取到节点的高阶特征,生成节点的表示。GCNs已经成为图表示学习的重要方法,但是这些模型通常都是浅层的,限制了模型的表示能力。
最近,基于卷积神经网络里面的经验,有一些对图卷积网络做深的模型修改尝试。但是这些工作并没有真正去分析为什么图卷积网络很难做深以及去解释模型修改在图卷积网络里面是有效的。
本文的动机就是分析阻碍GCN加深的因素,并且提出方法来解决这些问题。导致GCN无法加深主要有过拟合(over-fitting)和过平滑(over-smoothing)两个原因。
(1)过拟合指的是使用复杂的模型去拟合少量数据时会造成泛化能力变差,是深度学习模型中常见的问题。
(2)过平滑是图神经网络中特有的问题,由于GCN的思想是聚合邻居节点和节点自身的信息来学习节点的表示,所以随着网络层数的加深,节点的表示有趋同性,节点表示的可区分性会变差。也就是说随着层数的不断加深,所有节点的表示最终会收敛到一个固定点,得到的节点表示就和输入特征无关了,而且还会导致梯度消失。

图1中虚线部分是原始的 4 层和 8 层 GCN 在 Cora 数据集上的训练曲线(这里为了更好展示过拟合和过平滑,取消了 GCN 层中的 bias),可以看到,在 GCN-4 上,验证集 (Validation Set) 的损失函数在训练经过一定轮数后反向增长。这个增长是优于过拟合。而在 GCN-8 上,训练集 (Training Set) 上的损失函数则根本没有下降,这是因为过平滑的存在,导致 GCN-8 上训练失效。
本文提出的DropEdge方法可以缓解这两个问题,主要思想是:在每次训练时,随机删除掉原始图中固定比例的边。在GCN训练过程中应用DropEdge有许多好处:
(1)DropEdge可以看成是数据增强技术。在训练过程中对原始图中的边进行不同的随机删除,也就增强了输入数据的随机性和多样性,可以缓解过拟合的问题。
(2)DropEdge还可以看成是一个消息传递减速器(message passing reducer)。GCNs中,邻接节点间的消息传递是通过连边实现的,随机删除掉一些边就可以让节点连接更加稀疏,在一定程度上避免了GCN层数加深引起的过平滑问题。
作者还在理论上证明了DropEdge既可以降低过平滑的收敛速度,又可以减少由过平滑引起的信息损失。
定义
-
图为 G = ( V , E ) \mathcal{G}=(\mathbb{V}, \mathcal{E}) G=(V,E)
-
节点特征定义为 X = { x 1 , . . . , x N } ∈ R N × C \mathbf{X}={\{x_1, ..., x_N}\}\in \mathbb{R}^{N\times C} X={x1,...,xN}∈RN×C
-
邻接矩阵定义为 A ∈ R N × N \mathbf{A}\in \mathbb{R}^{N\times N} A∈RN×N
-
节点度定义为 d = { d 1 , . . . , d N } \mathbf{d}={\{d_1, ..., d_N}\} d={d1,...,dN}, d i d_i di为和节点 i i i相连的边的权重和。 D \mathbf{D} D为度对角矩阵。
GCN
GCN的前向传播定义为:

-
H ( l + 1 ) = { h 1 ( l + 1 ) , . . . , h N ( l + 1 ) } \mathbf{H}^{(l+1)}={\{h^{(l+1)}_1, ..., h^{(l+1)}_N}\} H(l+1)={h1(l+1),...,hN(l+1)}是第 l l l层的隐层向量
-
A ^ = D ^ − 1 / 2 ( A + I ) D ^ − 1 / 2 \hat{\mathbf{A}}=\hat{\mathbf{D}}^{-1/2}(\mathbf{A}+\mathbf{I})\hat{\mathbf{D}}^{-1/2} A^=D^−1/2(A+I)D^−1/2
-
D ^ \hat{\mathbf{D}} D^是 A + I \mathbf{A}+\mathbf{I} A+I对应的度矩阵
-
W ( l ) ∈ R C l × C l − 1 \mathbf{W}^{(l)}\in \mathbb{R}^{C_l\times C_{l-1}} W(l)∈RCl×Cl−1是第 l l l层的卷积核矩阵, C l C_l Cl是第 l l l层的隐藏层单元数
3 DropEdge
3.1 METHODOLOGY
每次训练时,DropEdge机制会随机删除掉原始图中固定比例的边。(只在训练集上使用,在测试集和验证集上不使用DropEdge机制)也就是说随机选取邻接矩阵 A \mathbf{A} A中 V p Vp Vp个非零的元素,将其置零。其中, V V V是原始图中的总边数, p p p是删除率。删除后得到邻接矩阵 A d r o p \mathbf{A}_{drop} Adrop:

然后对 A d r o p \mathbf{A}_{drop} Adrop进行re-normalization得到 A ^ d r o p \hat{\mathbf{A}}_{drop} A^drop,替换式(1)中的 A ^ \hat{\mathbf{A}} A^。
3.1.1 阻止过拟合
DropEdge对图中的连接带来了扰动,它对输入数据产生了不同的随机变形,可以看成是数据增强。
GCNs的核心思想是对每个节点的邻居特征进行加权求和(权重和边有关),实现对邻居信息的聚合。从这一角度出发,可以看出DropEdge在GNN训练时使用的是随机的邻居子集进行聚合,而没有使用所有的邻居。
DropEdge删边率为 p p p,对邻居聚合的期望是由 p p p改变的。在对权重进行归一化后就不会再使用 p p p。因此,DropEdge没有改变邻居聚合的期望,是用于GNN训练的无偏的数据增强方法,可以有效防止GNN训练时的过拟合问题。类似于经典的图像数据增强方法:rotation, cropping, flapping。
3.1.2 Layer-Wise DropEdge
上述的DropEdge是所有层共享同一个邻接矩阵。我们也可以在每层上进行DropEdge,在第 l l l层得到邻接矩阵 A ^ d r o p ( l ) \hat{\mathbf{A}}^{(l)}_{drop} A^drop(l)。这样的话可以为原始数据带来更多的随机性。实验中将layer-wise DropEdge和原始的DropEdge进行了对比。
DropEdge还有助于缓解深层GNN带来的过平滑问题,接下来将进行介绍。但是后面的推导假设所有的图卷积层共享相同的邻接矩阵,对layer-wise DropEdge的探讨作为未来的研究工作。
3.2 阻止过平滑
过平滑指的是随着网络的不断加深,节点的表示最终会收敛到一个固定点。这种不必要的收敛使得深度GCNs的输出只和图的拓扑结构有关,独立于输入的节点特性,这会损害GCNs的表示能力。
Oono和Suzuki [1]同时考虑了非线性(例如ReLu函数)和卷积核,他们将过平滑看成是收敛到一个子空间,而不是收敛到一个固定点。本文使用的是这些学者提出的子空间的概念。
相关定义
(1)子空间(subspace)
令 M : = { E C ∣ C ∈ R M × C } \mathcal{M}:={\{EC|C\in \mathbb{R}^{M\times C}}\} M:={EC∣C∈RM×C}是空间 R M × C \mathbb{R}^{M\times C} RM×C中的 M M M维的子空间( N N N是节点数, C C C是节点特征的维度)。其中 E ∈ R N × M E\in \mathbb{R}^{N\times M} E∈RN×M是正交矩阵, E T E = I M , M ≤ N E^TE=I_M, M\leq N ETE=IM,M≤N。
(2) ϵ − s m o o t h i n g \epsilon-smoothing ϵ−smoothing
给定独立于输入特征的子空间 M \mathcal{M} M,若第 l l l层的隐层矩阵 H ( l ) \mathbf{H}^{(l)} H(l)中的所有向量的距离不超过 ϵ ( ϵ > 0 ) \epsilon(\epsilon>0) ϵ(ϵ>0),则称GCN中的节点特征发生了 ϵ − s m o o t h i n g \epsilon-smoothing ϵ−smoothing现象。

其中, d M ( ⋅ ) d_{\mathcal{M}}(\cdot) dM(⋅)是计算输入矩阵和子空间 M \mathcal{M} M间的距离。
(3)the ϵ − s m o o t h i n g \epsilon-smoothing ϵ−smoothing layer
给定子空间 M \mathcal{M} M和 ϵ \epsilon ϵ,我们将满足式(3)的GCN层的最小值称为the ϵ − s m o o t h i n g \epsilon-smoothing ϵ−smoothing layer。即, l ∗ ( M , ϵ ) : = m i n l { d M ( H ( l ) ) < ϵ } l^*(\mathcal{M}, \epsilon):=min_l{\{d_{\mathcal{M}}(\mathbf{H}^{(l)})<\epsilon}\} l∗(M,ϵ):=minl{dM(H(l))<ϵ}。( l ∗ ( M , ϵ ) l^*(\mathcal{M}, \epsilon) l∗(M,ϵ)是层数)
基于the ϵ − s m o o t h i n g \epsilon-smoothing ϵ−smoothing layer进行分析是很难的,因此我们将 l ∗ l^* l∗的上界定义为了the relaxed ϵ − s m o o t h i n g \epsilon-smoothing ϵ−smoothing layer。
(4)the relaxed ϵ − s m o o t h i n g \epsilon-smoothing ϵ−smoothing layer
给定子空间 M \mathcal{M} M和 ϵ \epsilon ϵ,我们将 l ^ ( M , ϵ ) = ⌈ l o g ( ϵ / d M ( X ) ) l o g s λ ⌉ \hat{l}(\mathcal{M}, \epsilon)=\lceil \frac{log(\epsilon/d_{\mathcal{M}}(\mathbf{X}))}{log s\lambda} \rceil l^(M,ϵ)=⌈logsλlog(ϵ/dM(X))⌉称为the relaxed ϵ − s m o o t h i n g \epsilon-smoothing ϵ−smoothing layer。其中, s s s是所有层卷积核奇异值的最小上界, λ \lambda λ是 A ^ \hat{\mathbf{A}} A^的第二大特征值。有 l ^ ≥ l ∗ \hat{l}\geq l^* l^≥l∗。
根据Oono & Suzuki 的结论,足够深的GCN在一些条件下,对于任意小的 ϵ \epsilon ϵ值,都会有 ϵ − s m o o t h i n g \epsilon-smoothing ϵ−smoothing问题。他们只是提出了深度GCN中勋在 ϵ − s m o o t h i n g \epsilon-smoothing ϵ−smoothing,但是没有提出对应的解决方法。
作者从两个角度解释了DropEdge有助于缓解 ϵ − s m o o t h i n g \epsilon-smoothing ϵ−smoothing问题:
(1)通过减少节点间的连接,DropEdge可以降低过平滑的收敛速度,也就是说使用DropEdge可以让the relaxed ϵ − s m o o t h i n g \epsilon-smoothing ϵ−smoothing layer的值增加(也就是层数增加);
(2)原始空间和收敛子空间的维度之差(例如 N − M N-M N−M)衡量了信息的损失量,这个差越大说明信息损失越严重。DropEdge可以增加子空间的维度,也就具有减少信息损失的能力。
总结如下:
定理 1:定义原始图为 G \mathcal{G} G,经过DropEdge删边后的图为 G ′ \mathcal{G}^{'} G′。给定一个小值 ϵ \epsilon ϵ,假定 G \mathcal{G} G和 G ′ \mathcal{G}^{'} G′关于子空间 M \mathcal{M} M和 M ′ \mathcal{M}^{'} M′会遇到 ϵ − s m o o t h i n g \epsilon-smoothing ϵ−smoothing问题。然后,下面不等式的任意一个在删除足够多的边后仍然成立。
定理1的证明基于Oono & Suzuki[1]的推导和随机游走理论中的mixing time,具体见论文附录。定理1表明DropEdge要么降低了过拟合的收敛速度,要么缓解了过平滑带来的信息损失。因此,DropEdge使得我们可以有效地训练深层的GCNs。
3.3 讨论
比较DropEdge和其他相关概念的不同,包括Dropout、DropNode和Graph Sparsification。
(1)DropEdge vs. Dropout
Dropout是对特征向量中的某些维度随机置零,可以缓解过拟合,但是不能缓解过平滑,因为它没有改变邻接矩阵。
DropEdge可以看成Dropout向图数据的推广,将删除特征维度变换成删除边,有助于缓解过拟合和过平滑问题。
实际上两者是互补关系,实验中对两者进行了比较。
(2)DropEdge vs. DropNode
作者将基于节点采样的方法称为DropNode(GraphSAGE, FastGCN, AS-GCN中均有使用)。DropNode的思想是采样子图用于mini-batch训练,和删除的节点相连的边也被删除了,因此它可以看成是删除边的特殊形式。
然而,DropNode中删除的边是面向节点(node-oriented)的且无向的。DropEdge是面向边(edge-oriented)的,它可以在训练时保留所有节点的特征,更具灵活性。
而且,现有的DropNode的方法通常是低效的,GraphSAGE的layer size是指数级增长的,AS-GCN每层都需要进行采样。DropEdge在加深层数时不会增加layer size,也不需要递归地采样,DropEdge对所有边的采样是并行的。
(3)DropEdge vs. Graph-Sparsification
图稀疏性的目标是去除掉不必要的边,以对图进行压缩,同时尽可能地保留原始输入图中的信息。
DropEdge在每次训练时会随机删除输入图中的一些边,而图稀疏性的方法需要复杂的优化过程来决定删除掉哪些边。
4 实验
1、数据集
(1)对papers的研究领域进行分类:Cora、Citeseer、Pubmed(transductive)
(2)预测社交网络中的帖子属于哪个社区:Reddit(inductive)
2、对比方法
GCN; ResGCN; JKNet; INcepGCN; GraphSAGE
3、实验结果
(1)在多个GCN方法中使用DropEdge,看性能是否有提升

(2)和SOTAs对比

(3)缓解过平滑
计算当前层输出和上一层输出的欧氏距离,来衡量过平滑的程度。距离越小说明过平滑现象越严重。
图3 a可以看出,随着层数的加深,过平滑现象越来越严重。但是使用DropEdge( p = 0.8 p=0.8 p=0.8)时过平滑的收敛速度明显减缓了。
图3 b显示,在训练之后,没有使用DropEdge的GCN第5层和第6层输出的差别为0,而使用了DropEdge的GCN随着层数的加深,不同层之间的差别并没有减为0。

(4)和Dropout的兼容性
在4层的GCN上进行消融实验。验证集上的损失如图4 a所示,结果表明若同时使用Dropout和DropEdge有助于GCN的训练。

(5)Layer-Wise的DropEdge
如图4 b所示,layer-wise的DropEdge比原始的DropEdge在训练时的损失更小,两者在验证集上表现差不多。这表明layer-wise的DropEdge有助于训练的进行。但是为了避免过拟合的风险,以及减小计算复杂度,作者倾向于使用原始的DropEdge而不是layer-wise的DropEdge。
5 总结
本文的工作非常有意义,在解决图卷积网络不能加深的问题上迈出了重要的一步。DropEdge和Dropout有异曲同工之妙,思路简单,但是非常有效。
本文提出DropEdge机制,有助于图卷积网络的加深,以用于节点分类任务。具体操作是在每次训练时随机删除图中固定比例的一些边。DropEdge增加了输入数据的多样性,从而缓解了过拟合问题;还减少了图卷积时信息的传递,从而缓解了过平滑问题。
在多个数据集上进行实验,证明了在已有的GCN模型上使用DropEdge,可以提升原有模型的性能。
参考文献
[1] Kenta Oono and Taiji Suzuki. On asymptotic behaviors of graph cnns from dynamical systems perspective. arXiv preprint arXiv:1905.10947, 2019.