论文总结(一):用于图数据增强的图对比学习 [NIPS] Graph Contrastive Learning with Augmentations

时间:2024-04-03 15:23:00

论文总结(一):用于图数据增强的图对比学习 2020[NIPS] Graph Contrastive Learning with Augmentations

Abstract

​ 对图结构化数据的通用性可传递性鲁棒性表示学习仍然是当前图神经网络(GNN)面临的挑战。与针对卷积神经网络(CNN)开发的图像数据不同,针对GNN的自我监督学习和预训练的探索较少。在本文中,我们提出了一种图对比学习(GraphCL)学习框架,用于学习图数据的无监督表示。我们首先设计四种类型的图扩充,以结合各种先验。然后,我们在四种不同的情况下系统地研究图扩充的各
种组合对多个数据集的影响:半监督,无监督和转移学习以及对抗性攻击。结果表明,即使不调整扩展范围或不使用复杂的GNN架构,与最新方法相比,我们的GraphCL框架也可以生成具有相似或更好的通用性,可传递性和鲁棒性的图形表示。我们还研究了参数化图形扩充程度和模式的影响,并在初步实验中观察到了进一步的性能提升。

Code:https://github.com/Shen-Lab/GraphCL
Paper: https://arxiv.org/abs/2010.13902
Appendix: https://yyou1996.github.io/files/neurips2020_graphcl_supplement.pdf

Introduction

研究意义与难点

​ GNN几乎没有自监督的预训练的研究(有一篇Hu et al. 2019[arxiv]Pre-training graph neural networks)。预训练通常用于训练受梯度消失、爆炸影响的深层影响,而大多数研究的图数据集的大小通常收到限制,为了防止over-smoothing和信息丢失,GNN结构尚浅。但是GNN预训练是十分有意义的。特定于某种图任务的标签往往十分稀缺,而通过预训练可能是一种缓解该问题的手段。

​ 关于GNN预训练将会越来越有意义:

  1. 真实世界的图数据往往是巨大的,即使是基准数据集也变的越来越大;
  2. 即使对于浅层模型,预训练也可以在更好的attraction basin中初始化参数,以更好的寻得局部最小值。

​ 与图像数据不同,图是具有多种性质的原始数据的抽象表示,故图形数据中存在各种各样的context,很难设计一种对下游任务普遍有利的GNN预训练方案。而针对图任务的naive GNN预训练方案一般为重构顶点的临接信息(如GAE和GraphSAGE)。但这种过于强调邻居的方案并不总是有益处的,还可能会损害结构信息。故,需要一个设计合理的预训练框架来捕获图结构数据中的高度异构信息。

贡献

在本文中,我们针对GNN预训练开发了具有增强功能的对比学习,以解决图中数据的异质性问题。

  1. 由于数据增强是进行对比学习的前提,但在图数据中却未得到充分研究,因此我们首先设计四种类型的图数据增强,每种类型都强加了一定的先于图数据,并针对程度和范围进行了参数化;
  2. 利用不同的增强手段获得相关view,我们提出了一种用于GNN预训练的新颖的图对比学习框架(GraphCL),以便可以针对各种图结构数据学习不依赖于专业扰动的表示形式;
  3. 证明了GraphCL实际上执行了互信息最大化,并且在GraphCL和最近提出的对比学习方法之间建立了联系;
  4. 证明了GraphCL可以重写为一个通用框架,从而统一了一系列基于图结构数据的对比学习方法;
  5. 评估在各种类型的数据集上对比不同扩充的性能,揭示性能的基本原理,并为采用特定数据集的框架提供指导;
  6. GraphCL在半监督学习,无监督表示学习和迁移学习的设置中达到了最先进的性能,此外还增强了抵抗常见对抗攻击的鲁棒性。

概念补充

对比学习(Contrastive Learning):在适当的变换下使得表现形式彼此一致。通过在不同的扩充view下最大化特征的一致性来学习表示,而这些view是在保持特征不变性的情况下通过特定于数据或者任务的扩充手段获得。对于图数据而言,尝试重建顶点的传统方法被视为一种局部对比,而过分强调邻接信息却同时也受邻接信息所制约。

数据增强(Data Augmentation):通过应用某些合理的转换,在不影响语义标签的情况下创建新颖而现实的数据

Method

图的数据增强

​ 这里我们专注于图层级的数据增强。给定M个图的数据集中的一个图 G ∈ { G m : m ∈ M } G \in \{G_m:m \in M\} G{Gm:mM},我们可以构造满足以下条件的扩充图 G ^ : G ^ ∼ q ( G ^ ∣ G ) \widehat{G}:\widehat{G}\sim q(\widehat{G}|G) G :G q(G G),其中 q ( ⋅ ∣ G ) q(\cdot|G) q(G) 是原始条件下的扩充分布,这事预先定义的,代表着数据分布的人类先验。例如,对于图像分类,旋转和裁剪的应用先对人们进行编码,然后人们将从旋转的图像或其局部补丁中获取相同的基于分类的语义知识。

​ 图数据集来自不同领域,估较难获取图像中直观且通用的图数据增强方式。下图是本文总结的4种数据增强手段:

论文总结(一):用于图数据增强的图对比学习 2020[NIPS] Graph Contrastive Learning with Augmentations

  1. 节点失活:随机从图中去除掉部分比例的节点来扰动 G G G的完整性,每个节点的失活概率服从i.i.d的均匀分布;
  2. 边扰动:随机增加或删除一定比例的边来扰动 G G G的连通性,每个边的增加或者删除的概率亦服从i.i.d的均匀分布;
  3. 属性屏蔽:随机去除部分节点的属性信息,迫使模型使用上下文信息来重新构建被屏蔽的顶点属性。
  4. 子图划分:使用随机游走的方式从 G G G中提取子图的方法。有以下3种方法。
    论文总结(一):用于图数据增强的图对比学习 2020[NIPS] Graph Contrastive Learning with Augmentations

图对比学习GraphCL

如下图所示,通过潜在空间中的对比损失来最大化同一图的两个扩充view之间的一致性,来进行预训练。

论文总结(一):用于图数据增强的图对比学习 2020[NIPS] Graph Contrastive Learning with Augmentations

模型由4部分组成:

  1. 图数据增强:见上节;

  2. 基于GNN的编码器:GNN范式,先聚合邻居再readout成图的embedding;

    聚合步: 论文总结(一):用于图数据增强的图对比学习 2020[NIPS] Graph Contrastive Learning with Augmentations
    读出步: 论文总结(一):用于图数据增强的图对比学习 2020[NIPS] Graph Contrastive Learning with Augmentations

  3. 投影头:使用双层MLP表示;

  4. Contrastive loss: L ( ⋅ ) \mathcal{L}(\cdot) L(),使得与负样本对相比正样本对之间的一致性最大化(这里是指的两种数据增强方式之间的一致性)
    l i , j = − l o g e x p ( s i m ( z i , z j ) / τ ∑ k = 1 N e x p ( s i m ( z i , z k ) / τ l_{i,j}=-log \frac{exp(sim({\bf z}_i,{\bf z}_j)/ \tau}{\sum^N_{k=1}{exp(sim({\bf z}_i,{\bf z}_k)/ \tau}} li,j=logk=1Nexp(sim(zi,zk)/τexp(sim(zi,zj)/τ
    这里 τ \tau τ指的是temperature parameter,最终损失是在小批量中所有正对之间的和表示。

算法流程图如下:

论文总结(一):用于图数据增强的图对比学习 2020[NIPS] Graph Contrastive Learning with Augmentations

​ GraphCL可以被视为两种增强图的潜在表示之间相互信息最大化的一种方式,见附录F,这里不提供详细介绍。损失改写如下:
论文总结(一):用于图数据增强的图对比学习 2020[NIPS] Graph Contrastive Learning with Augmentations
上述loss本质为最大化 h i = f i ( G ^ ) {\bf h}_i=f_i(\widehat{\mathcal{G}}) hi=fi(G ) h j = f 2 ( G ^ ) {\bf h}_j=f_2(\widehat{\mathcal{G}}) hj=f2(G )的互信息下界。此外,通过重新解释上式,可以将GraphCL重写为一个通用框架,以统一针对图结构化数据的对比学习方法。

Discussion

图对比学习中数据增强扮演的角色

​ 数据集介绍见下表。
论文总结(一):用于图数据增强的图对比学习 2020[NIPS] Graph Contrastive Learning with Augmentations

​ 本节评估了GraphCL框架中图的数据增强作用。如图所示,以半监督人物为例,横轴、纵轴分别表示框架图中的两个增强方式的具体实施方案,其中Identical表示原图数据,不同的数值变化表示相比于与baseline之间的精度波动。

论文总结(一):用于图数据增强的图对比学习 2020[NIPS] Graph Contrastive Learning with Augmentations

我们可以看到一些有趣的现象:

  1. 数据扩充对图对比学习至关重要。当应用适当的扩充时,会灌输数据分布上的相应先验,从而通过最大化图及其扩充之间的一致性来使模型学习对所需扰动不变的表示。
  2. 组合不同的扩充方式会带来更多的性能收益。与图中对角线的增益相比,最优的增益往往在应用不同的数据扩充方式进行对比学习时获得。这点在视觉对比学习任务中也有类似的结论,组合不同的扩充方式会避免学习到的特征过于拟合low-level的"shortcut",从而使得特征更加的具有通用性。此外,训练不同的特征之间的对比学习模型会使得收敛速度下降。

有效图扩充的类型、范围和模式

​ 直接上实验和结论:

  1. 边缘扰动有益于社交网络,但会伤害一些生化分子图。这取决于边的重要程度(图4左2)。
  2. 应用属性遮罩可在更密集的图中实现更好的性能(图4右2)。
    论文总结(一):用于图数据增强的图对比学习 2020[NIPS] Graph Contrastive Learning with Augmentations
  3. 节点删除和子图通常对图数据集有益。节点删除在丢失某些顶点不会更改语义信息的先验条件下直观的迎合了我们的认知。子图刻意增强局部(即子图)和全局信息的一致性有助于表示学习。
    论文总结(一):用于图数据增强的图对比学习 2020[NIPS] Graph Contrastive Learning with Augmentations
    1. 过于简单的对比任务无济于事

Comparsion

数据集信息请从补充材料获得。

  1. 半监督任务
    论文总结(一):用于图数据增强的图对比学习 2020[NIPS] Graph Contrastive Learning with Augmentations

  2. 无监督任务
    论文总结(一):用于图数据增强的图对比学习 2020[NIPS] Graph Contrastive Learning with Augmentations
    论文总结(一):用于图数据增强的图对比学习 2020[NIPS] Graph Contrastive Learning with Augmentations

  3. 迁移学习任务
    论文总结(一):用于图数据增强的图对比学习 2020[NIPS] Graph Contrastive Learning with Augmentations

  4. 对抗鲁棒性测试任务
    论文总结(一):用于图数据增强的图对比学习 2020[NIPS] Graph Contrastive Learning with Augmentations

Conclusion

​ 在本文中,我们进行了明确的研究,以探索针对GNN预训练的对比学习,因为它面临着图结构化数据中的独特挑战。 首先,提出了几种图形数据扩充方法,并在介绍某些特定的人类数据分布先验的基础上进行了讨论。 随着新的扩充,我们为GNN预训练提出了一种新颖的图对比学习框架(GraphCL),以促进不变表示学习以及严格的理论分析。 我们系统地评估和分析了我们提出的框架中数据扩充的影响,揭示了其原理并指导了扩充的选择。 实验结果验证了我们提出的框架在通用性和鲁棒性方面的最新性能.

Broader Impact

​ 借助深度学习来对图结构数据进行推理和预测具有广泛的兴趣和广泛的应用,例如推荐系统,神经体系结构搜索和药物发现。 所提出的带有增强的图对比学习框架有助于通过模型预训练潜在地有益于图神经网络的有效性和效率的通用框架。 数值结果和分析也将启发设计适当的扩充,以实现对下游任务的积极知识转移。

edited date: 2020-11-04