当前位置:   article > 正文

论文笔记:DROPEDGE TOWARDS DEEP GRAPH CONVOLUTIONAL NETWORKS ON NODE CLASSIFICATION_gcn dropedge实现

gcn dropedge实现

前言

GCN近年来迅速发展,由于其本身的优越的结构特点使其能够以应用与越来越多的场景。因此提升GCN的性能是非常重要的研究方向。此文中提出了一种DropEdge的方法用于减少过拟合和过平滑问题,使图卷积网络能够更加深入
论文链接:https://openreview.net/forum?id=Hkx1qkrKPr
代买链接:https://github.com/DropEdge/DropEdge

主要贡献

1.提出能够使图卷积神经网络变深的方法DropEdge。该方法通过作用图卷积层实现
2.解释DropEdge方法可以解决过拟合和过渡平滑问题的原理,尤其针对于过渡平滑问题。通过数学原理展示了DropEdge方法的优势

DropEdge原理

1.综述

在训练的每一代,DropEdge方法随机舍弃固定概率的边(假设一共有10条边,已经确定要舍弃5条,但是具体为哪五条随机取定)。在邻接矩阵 A A A上取 V p V_p Vp个非零元素点进行相应操作。其中 V V V是邻接矩阵 A A A的总边数, p p p是舍弃的概率。总结为公式形式可以简单的表示为如下形式
在这里插入图片描述

其中 A ′ A' A是通过原始边的集合随机取的固定个数的子集 V p V_p Vp。同时受切比雪夫不等式一阶近似拟合卷积核的启发。为了避免出现梯度爆炸/消失的现象,对DropEdge后的邻接矩阵进行归一化处理。

2.避免过拟合

DropEdge实现了图链接的各种扰动,最直观的结果就是它会产生输入数据的不同随机变形,这可以被认为是一种针对于图的数据增强方法。作者为了解释它的有效性,提出了一种直观的解释:GCN中的关键是汇总每个节点的邻居信息,从这一角度出发,可以看出DropEdge在GNN训练时使用的是随机的邻居子集进行聚合,而没有使用所有的邻居。DropEdge删边率为p,对邻居聚合的期望是由p改变的。在对权重进行归一化后就不会再使用p。因此,DropEdge没有改变邻居聚合的期望,是用于GNN训练的无偏的数据增强方法,可以有效防止GNN训练时的过拟合问题。类似于经典的图像数据增强方法:rotation, cropping, flapping。

3.逐层进行DropEdge

上述公式进行推导的前提是建立在所有层共用一个邻接矩阵的前提上,但是如果在第一层就进行DropEdge操作自然而然地会想到邻接矩阵发生了改变。因此作者提出也可以在每层上进行DropEdge操作,如此可以为数据带来更多的随机性,后续的实验中将此种方法和最原始所有层共享邻接矩阵的方法进行了对比。同时作者指出DropEdge方法有助于解决层数加多导致的过拟合问题,原理方面会在后面进行介绍,前提仍为所有层共享一个邻接矩阵。

4.避免过平滑

过平滑指的是随着网络的不断加深,节点的表示最终会收敛到一个固定点。这种不必要的收敛使得深度GCNs的输出只和图的拓扑结构有关,独立于输入的节点特性,这会损害GCNs的表示能力。此处作者提出了子空间的概念,此概念也是继承前人研究此问题提出的相关概念。
所谓子空间就是为了让深层的卷积层将节点特征收敛到一个子空间而并非一个固定点。
子空间的相关定义

  1. 子空间(subspace) M : = { E C ∣ C ϵ R M ∗ C } {\mathcal{M}}:=\{EC|C{\epsilon}{\mathbb{R}}^{M*C}\} M:={ECCϵRMC}是空间 R N ∗ C {\mathbb{R}}^{N*C} RNC中的 M M M维的子空间( N N N是节点数, C C C是节点特征的维度)。其中 E ϵ R N ∗ M E{\epsilon}{\mathbb{R}}^{N*M} EϵRNM是正交矩阵, E T E = I M , M < = N E^TE=I_M,M<=N ETE=IM,M<=N

  2. ϵ − s m o o t h i n g {\epsilon}-smoothing ϵsmoothing 给定独立于输入特征的子空间 M \mathcal{M} M若第lll层的隐层矩阵 H ( l ) {H}^{(l)} H(l)中的所有向量的距离不超过 ϵ ( ϵ > 0 ) 则 称 G C N 中 的 节 点 特 征 发 生 了 \epsilon(\epsilon>0)则称GCN中的节点特征发生了 ϵ(ϵ>0)GCN\epsilon-smoothing , 总 结 为 公 式 形 式 如 下 图 所 示 , 其 中 ,总结为公式形式如下图所示,其中 ,d_{\mathcal{M}} 是 计 算 输 入 矩 阵 和 子 空 间 是计算输入矩阵和子空间 \mathcal{M}$间的距离。
    在这里插入图片描述

  3. the ϵ − s m o o t h i n g \epsilon-smoothing ϵsmoothinglayer
    给定子空间 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))<ϵ} 基于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

  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。其中,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)衡量了信息的损失量,这个差越大说明信息损失越严重。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会遇到$\epsilon-smoothing问题。然后,下面不等式的任意一个在删除足够多的边后仍然成立。
在这里插入图片描述

定理1的证明基于Oono & Suzuki[1]的推导和随机游走理论中的mixing time,具体见论文附录。定理1表明DropEdge要么降低了过拟合的收敛速度,要么缓解了过平滑带来的信息损失。因此,DropEdge使得我们可以有效地训练深层的GCNs。

比较DropEdge与其他相关概念

比较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在每次训练时会随机删除输入图中的一些边,而图稀疏性的方法需要复杂的优化过程来决定删除掉哪些边。

实验

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)时过平滑的收敛速度明显减缓了。

图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。
在这里插入图片描述

总结

本文的工作非常有意义,在解决图卷积网络不能加深的问题上迈出了重要的一步。DropEdge和Dropout有异曲同工之妙,思路简单,但是非常有效。

本文提出DropEdge机制,有助于图卷积网络的加深,以用于节点分类任务。具体操作是在每次训练时随机删除图中固定比例的一些边。DropEdge增加了输入数据的多样性,从而缓解了过拟合问题;还减少了图卷积时信息的传递,从而缓解了过平滑问题。

在多个数据集上进行实验,证明了在已有的GCN模型上使用DropEdge,可以提升原有模型的性能。

大部分参考此篇博客结合论文进行理解(感谢!)

https://blog.csdn.net/byn12345/article/details/105444937/

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/241398
推荐阅读
相关标签
  

闽ICP备14008679号