论文信息

论文标题:Measuring and Relieving the Over-smoothing Problem for Graph NeuralNetworks from the Topological View
论文作者:Deli Chen, Yankai Lin, Wei Li, Peng Li, Jie Zhou, Xu Sun
论文来源:2020, AAAI
论文地址:download
论文代码:download

1 Introduction

  过平滑的标准定义:当 GNN 叠加多层时,不同类的图节点的表示将变得难以区分。

  产生过平滑问题的原因:融合结构信息所带来噪声,即类内的交互可以带来有用的信息,而类间的交互可能会导致类之间难以区分的表示。

2 Measuring Over-smoothing Problem from the Topological View

  在本节中,将研究产生过平滑的原因。为此提出两个指标 MAD 和 MADGap 去测量图表示的平滑(smoothness)和过平滑(over-smoothness)。

2.1 MAD: Metric for Smoothness

  Mean Average Distance (MAD) ,MAD 通过计算从节点到其他节点的平均距离的平均值来反映图表示的平滑性。

  首先,计算余弦距离:

    $D_{i j}=1-\frac{\boldsymbol{H}_{i,:} \cdot \boldsymbol{H}_{j,:}}{\left|\boldsymbol{H}_{i,:}\right| \cdot\left|\boldsymbol{H}_{j,:}\right|} \quad i, j \in[1,2, \cdots, n]    $

  其中:

    • $\boldsymbol{H} \in \mathbb{R}^{n \times h}$ 代表图表示矩阵;
    • $\boldsymbol{D} \in \mathbb{R}^{n \times n}$ 代表着距离矩阵;
    • $D_{i j}\in [0,2]$ ;

  其次,将 $D$ 和掩模矩阵(mask matrix)做哈达玛积:

    $\boldsymbol{D}^{t g t}=\boldsymbol{D} \circ M^{t g t}\quad\quad\quad(2)$

  其中,$\boldsymbol{M}^{\text {tgt }} \in   \{0,1\}^{n \times n}$ ,$\boldsymbol{M}_{i j}^{t g t}=1$ 代表着需要计算节点 $i$ 和节点 $j$ 之间的余弦距离。【可以从局部领域考虑平滑性,也可以从全局考虑平滑性】

  然后,沿着 $\overline{\boldsymbol{D}}^{\text {tgt }} $ 中每一行的非零值的平均距离 $\boldsymbol{D}^{\text {tgt }}$:

    $\overline{\boldsymbol{D}}_{i}^{t g t}=\frac{\sum_{j=0}^{n} \boldsymbol{D}_{i j}^{t g t}}{\sum_{j=0}^{n} \mathbb{1}\left(\boldsymbol{D}_{i j}^{t g t}\right)} \quad\quad\quad(3)$

  其中,如果 $x>0$ , $\mathbb{1}(x)=1$ ,否则为 $0$。

  最后计算整个图的 MAD:

    $\operatorname{MAD}^{\mathrm{tgt}}=\frac{\sum_{i=0}^{n} \overline{\boldsymbol{D}}_{i}^{t g t}}{\sum_{i=0}^{n} \mathbb{1}\left(\overline{\boldsymbol{D}}_{i}^{t g t}\right)} \quad\quad\quad(4)$

  通过考虑所有节点对来计算 MAD 值 $MAD^{Glogal}$,即 $ M^{tgt}$ 中的所有值都是 $1$,以度量学习图表示的全局平滑性。在 Cora 数据集上的 MAD 如下所示:

  

  结果显示:多层 GNN 的 MAD 值接近于 $0$,说明所有的节点表示都变得难以区分。

2.2 Information-to-noise Ratio Largely Affects Over-smoothness

  过平滑的标准定义:当 GNN 叠加多层时,不同类的图节点的表示将变得难以区分。

  信噪比 (information-to-noise ratio):

    • 局部邻居角度:在二阶时,每个节点的信息噪比是同一类节点在所有一阶和二阶邻居中的比例;
    • 全图角度:整个图的信息噪比是两步节点对在所有节点对中可以接触的类内对的比例;

  $\text{Figure 3}$ 将展示在 Core 数据集上的不同 $\text{order}$ 的全图的信噪比:

   

  观察结果:发现在低阶上有更多的类内节点对,反之亦然。当模型层数变大时,信噪比变小,高阶邻居之间的相互作用带来了太多的噪声,稀释了有用的信息,这是导致过度平滑问题的原因。

  基于上述分析,提出 MADGap 去测量图表示过平滑。从 $\text{Figure 3}$ 中我们注意到,两个拓扑距离较小的节点(低阶邻居)更有可能属于同一类别。因此,我们建议利用图的拓扑结构来近似节点类别,并计算区分远程节点和邻居节点的 MAD 值的间隙来估计图表示的过光滑性:

    $\mathrm{MADGap}=\mathrm{MAD}^{\mathrm{rmt}}-\mathrm{MAD}^{\mathrm{neb}} \quad\quad\quad(5)$

  其中,$MAD^{\text {rmt }}$ 为图拓扑中远程节点的 $MAD$ 值,$MAD^{\text {neb }}$ 为相邻节点的 $MAD$ 值。本文基于 $orders  \leq 3$ 的节点计算 $MAD^{\text {neb }}$,基于 $orders  \geq 8$ 的节点计算 $MAD^{\text {rmt }}$。

  根据假设,$\text{MADGap}$ 值越大($\ge 0$),表示节点接收到的有用信息要大于噪声。此时,GNN 进行了合理程度的平滑处理,模型表现良好。相反,小的或负的 $\text{MADGap}$ 值意味着过度平滑和较差的性能。

  为了验证 $\text{MADGap }$ 的有效性,我们计算了 $\text{MADGap}$ 值,并计算了 $\text{MADGap}$ 与预测精度之间的皮尔逊系数。

  在 Table 2 中报告了在 CORA、CiteSeer 和 PubMed 数据集上具有不同层的 GNN 的皮尔逊系数。

    

  可以发现 MADGap 与模型性能之间存在显著的高相关性,这表明 MADGap 是度量图表示过平滑度的可靠度量。此外,MADGap 还可以作为一个观察指标,在不看到标签的情况下,基于图的拓扑结构来估计模型的性能。需要注意的是 $1$ 层 GNN 的 MADGap 和预测精度通常较小( Figure 1),这是由于信息不足造成的,而高层GNN的过平滑问题是由于接收过多的噪声造成的。

  在 Figure 4 中,我们展示了在同一模型中具有不同信息-噪声比的节点集的 MADGap 和预测精度。我们可以发现,即使使用相同的模型和传播步长,信息噪比率较高的节点通常具有较高的预测精度,过平滑度较小。

  

  为了验证我们的假设,我们通过去除类间边和添加基于标签的类内边来优化图的拓扑结构。在 CORA 数据集上的结果如 Figure 5 所示。

  

  可以发现,随着更多的类间边被删除,MADGap 值不断上升添加了更多的类内边,从而获得更好的模型性能。因此,优化图的拓扑结构有助于缓解过平滑问题,提高模型的性能。

  综上所述,我们发现图的拓扑结构对图表示的平滑性和模型的性能有很大的影响。然而,在自然连接和下游任务之间仍然存在不一致。现有的工作主要集中在设计新的 GNN 架构,而较少关注已建立的图拓扑。因此,我们进一步研究通过优化图拓扑来提高 GNN 的性能。

3 Relieving Over-smoothing Problem from the Topological View

  受前面分析的启发,我们提出了两种方法来从拓扑的角度缓解过度平滑问题:

    • MADReg:我们在训练目标中添加了一个 MADGap-based 的正则化器;
    • Adaptive Edge Optimization (AdaEdge):通过迭代训练 GNN 模型,并根据预测结果进行边缘去除/添加操作,从而自适应地调整图的拓扑结构;

3.1 MADReg: MADGap as Regularizer

  我们在训练目标中添加了 MADGap,使图节点接收到更多有用的信息和更少的干扰噪声:

    $\mathcal{L}=\sum-l \log p(\hat{l} \mid \boldsymbol{X}, \boldsymbol{A}, \Theta)-\lambda \mathrm{MADGap} \quad\quad\quad(6)$

  其中,$\boldsymbol{X}$ 为输入特征矩阵,$\boldsymbol{A}$ 为邻接矩阵,$\hat{l}$ 和 $l$ 分别为节点的预测标签和真实标签。$\Theta$ 是GNN的参数,$\lambda$ 是控制 MADReg 影响的正则化系数。我们在训练集上计算 MADGap,以与交叉熵损失相一致。

3.2 AdaEdge: Adaptive Edge Optimization

  如前一节中所讨论的,在基于真实标签优化拓扑之后(添加类内边,并去除类间边),过平滑问题明显缓解,模型性能大大提高。受此启发,我们提出了一种名为 AdaEdge 的自训练算法,基于模型的预测结果来优化图的拓扑结构,以自适应地调整图的拓扑结构,使其对特定的任务目标更加合理。具体来说,我们首先在原始图上训练GNN,并根据模型的预测结果,通过删除类间边和添加类内边来调整图的拓扑结构。然后,我们从头开始在更新后的图上重新训练GNN模型。我们将多次执行上述图的拓扑优化操作。AdaEdge算法的详细介绍如下:

  

3.3 Relieving Over-smoothing in High-order Layers

  为了验证这两种方法的有效性,我们在CORA/CiteSeer/PubMed数据集上对所有10个基线GNN模型进行了对照实验。我们计算了 4 层、过平滑问题严重的GNN模型的预测精度和 MADGap 值。结果如 $\text{Figure 6}$ 所示。由于空间限制,我们给出了 10 个模型中的 6 个结果。可以发现,在过平滑问题严重的高阶层情况下,MADReg 和 AdaEdge 方法可以有效地缓解过平滑问题,提高所有三个数据集中大多数模型的模型性能。MADReg 和 AdaEdge 的有效性进一步验证了我们的假设,并为缓解过平滑问题提供了一个普遍而有效的解决方案。

  

3.4 Improving Performance of GNNs

  在 $\text{Table 3}$ 中,我们展示了在所有 7 个数据集上训练的 GNN 模型和在 AdaEdge 方法上训练的更新图模型的受控实验。我们在原始图上训练 GNN 时选择最佳的超参数,并在更新的图上进行训练时修复所有这些超参数。

  

  实验结果表明,AdaEdge方法在大多数情况下都可以有效地提高模型的性能,这证明了图拓扑结构的优化对提高模型的性能有很大的帮助。我们分析了 AdaEdge 方法几乎没有改进或没有改进的情况,发现这是由于调整拓扑时的错误操作不当造成的。因此,当错误操作的比例太大时,会对模型训练造成严重的干扰,导致很少或没有改善。

  

  在 $\text{Table 3}$ 中,展示了 MADReg 的结果。通常,基线在少量的 GNN 层下达到了最好的性能,其中过平滑问题并不严重。在这种情况下,MADReg 很难通过扩大 MADGap 值来提高性能。然而,当过平滑问题变得更严重,而 GNN 层数变得更大时,MADReg 仍然能够显著地提高基线的性能。最重要的是,AdaEdge 和MADReg 都能有效地提高 GNN 的性能,并且当过平滑问题不严重时,AdaEdge 可以更好地推广。

4 Conclusion

  在这项工作中,我们对gnn所面临的过度平滑问题进行了系统和定量的研究。我们首先设计了两个定量指标:光滑度的MAD和过平滑度的MADGap。从多个gnn和图数据集的定量测量结果中,我们发现平滑是gnn的本质;过光滑性是由信息和噪声的过度混合造成的。此外,我们发现MADGap与模型性能之间存在显著的高相关性。此外,我们还证明了信息噪比与图拓扑有关,并通过优化图拓扑来使其更适合下游任务,从而缓解过平滑问题。接下来,我们提出了两种方法来缓解gnn中的过平滑问题:MADReg方法和AdaEdge方法。大量的研究结果证明,这两种方法可以有效地缓解过平滑问题,并在一般情况下提高模型的性能。

  虽然我们已经证明了优化图拓扑是提高gnn性能的有效方法,但我们提出的AdaEdge方法仍然存在错误的图调整操作问题。如何减少这些操作是一个很有前途的研究方向。

论文解读《Measuring and Relieving the Over-smoothing Problem for Graph NeuralNetworks from the Topological View》的更多相关文章

  1. 《Population Based Training of Neural Networks》论文解读

      很早之前看到这篇文章的时候,觉得这篇文章的思想很朴素,没有让人眼前一亮的东西就没有太在意.之后读到很多Multi-Agent或者并行训练的文章,都会提到这个算法,比如第一视角多人游戏(Quake ...

  2. ImageNet Classification with Deep Convolutional Neural Networks 论文解读

    这个论文应该算是把深度学习应用到图片识别(ILSVRC,ImageNet large-scale Visual Recognition Challenge)上的具有重大意义的一篇文章.因为在之前,人们 ...

  3. 《Deep Feature Extraction and Classification of Hyperspectral Images Based on Convolutional Neural Networks》论文笔记

    论文题目<Deep Feature Extraction and Classification of Hyperspectral Images Based on Convolutional Ne ...

  4. Quantization aware training 量化背后的技术——Quantization and Training of Neural Networks for Efficient Integer-Arithmetic-Only Inference

    1,概述 模型量化属于模型压缩的范畴,模型压缩的目的旨在降低模型的内存大小,加速模型的推断速度(除了压缩之外,一些模型推断框架也可以通过内存,io,计算等优化来加速推断). 常见的模型压缩算法有:量化 ...

  5. Training Deep Neural Networks

    http://handong1587.github.io/deep_learning/2015/10/09/training-dnn.html  //转载于 Training Deep Neural ...

  6. Training (deep) Neural Networks Part: 1

    Training (deep) Neural Networks Part: 1 Nowadays training deep learning models have become extremely ...

  7. [CVPR2015] Is object localization for free? – Weakly-supervised learning with convolutional neural networks论文笔记

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px "Helvetica Neue"; color: #323333 } p. ...

  8. Training spiking neural networks for reinforcement learning

    郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布! 原文链接:https://arxiv.org/pdf/2005.05941.pdf Contents: Abstract Introduc ...

  9. CVPR 2018paper: DeepDefense: Training Deep Neural Networks with Improved Robustness第一讲

    前言:好久不见了,最近一直瞎忙活,博客好久都没有更新了,表示道歉.希望大家在新的一年中工作顺利,学业进步,共勉! 今天我们介绍深度神经网络的缺点:无论模型有多深,无论是卷积还是RNN,都有的问题:以图 ...

  10. 论文翻译:BinaryConnect: Training Deep Neural Networks with binary weights during propagations

    目录 摘要 1.引言 2.BinaryConnect 2.1 +1 or -1 2.2确定性与随机性二值化 2.3 Propagations vs updates 2.4 Clipping 2.5 A ...

随机推荐

  1. linux设置java环境变量与开机自启

    一.下载jdk并放置在指定位置 二.编辑profile文件 vim /etc/profile  或者  将/etc下的profile 文件修改好再上传覆盖源文件 修改方式即添加以下内容至文件最底部即可 ...

  2. java -的字符串hei

    字符串的不可变 String 对象是不可变的.查看 JDK 文档你就会发现,String 类中每一个看起来会修改 String 值的方法,实际上都是创建了一个全新的 String 对象,以包含修改后的 ...

  3. Linux运维最常用150个命令

    线上查询及帮助命令(2个) man 查看命令帮助,命令的词典,更复杂的还有info,但不常用. help 查看Linux内置命令的帮助,比如cd命令. 文件和目录操作命令(18个) ls 全拼list ...

  4. 谷歌浏览器postman插件安装,亲测可用

    将谷歌浏览器进入扩展程序,将crx文件拖入即可. https://pan.baidu.com/s/1rIEe9RSby5EgTkygSx_dDA 百度云链接: https://pan.baidu.co ...

  5. java后台解决上传图片翻转90的问题,有demo,经过测试可用

    1.需要加入 依赖 metadata-extractor.jar 依赖如下 <dependencies> <!-- Extracts Exif, IPTC, XMP, ICC and ...

  6. 4.1 ROS元功能包

    4.1 ROS元功能包 场景:完成ROS中一个系统性的功能,可能涉及到多个功能包,比如实现了机器人导航模块,该模块下有地图.定位.路径规划...等不同的子级功能包.那么调用者安装该模块时,需要逐一的安 ...

  7. C语言思维导图—自己整理的

  8. Architecture Principles

    Architecture Principles - Completed Components Name Statement Rationale Implications TOGAF Principle ...

  9. nginx开启gzip和缓存配置

    # 开启gzip gzip on; # 启用gzip压缩的最小文件,小于设置值的文件将不会压缩 gzip_min_length 1k; # gzip 压缩级别,1-10,数字越大压缩的越好,也越占用C ...

  10. Codepen 每日精选(2018-4-20)

    按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以打开原始页面. 图书打开的交互效果https://codepen.io/jcoulterde... 进度条交互效果http ...