论文标题:Graph Contrastive Learning with Augmentations
论文链接:https://arxiv.org/abs/2010.13902
论文来源:NeurIPS 2020
一、概述
预训练在深度模型的训练过程中相当于作为一个正则化器以避免梯度消失或爆炸。而对于GNN而言,很少有关于(自监督)预训练相关技术的研究。究其原因可能是图数据集通常规模较小,而且GNN模型通常在结构上设计较浅以避免过平滑(over-smoothing)或者信息损失。对于图数据集来说,数据的标注(比如化学和生物领域内的分子标注)是困难的,预训练的方法可以缓解这一问题,因而本文着力研究图数据集上的自监督预训练方法。
图是具有不同性质的原始数据的抽象表示,数据可能来自各个领域(比如化学分子或者社交网络),在图的上下文中存在极为丰富的信息,因而不容易设计一个能够应用在各种下游任务的通用框架。一种比较朴素的预训练方式如GAE、GraphSAGE,主要通过重构节点邻接信息来实现,这种方式是非常有限的,因为其过分强调接近性,这并不总是有效的,有时候会忽略和损伤结构信息。因此,需要一个设计良好的预训练框架来捕获图结构数据中的高度异构信息。
本文提出的GraphCL作为一种图的预训练框架,采用对比学习的方法作为基础,并且实验采用了四种不同的图数据增强方式,同时应用互信息最大化的方法来进行训练。
二、方法
- 图神经网络
- 数据增强
在图上与图像上类似,对于图数据的数据增强应该保证增强后的图数据不应该丢失对于分类或者回归任务很关键的信息。不过对于图数据来说,由于其来自多个不同的领域,因此不容易像图像那样找到统一的数据增强方式。换句话说,对于不同类别的图数据集,某些数据增强可能比其他类型更需要。本文主要关注三类图数据集:生物化学分子(例如化合物、蛋白质)、社交网络以及图片super-pixel图。另外在实验中采用了四种不同的数据增强方式,分别对应不同的四种先验:
数据增强
四种数据增强用到的比例默认设置为0.2。
- GraphCL
本文提出的graph contrastive learning(GraphCL)框架利用对比学习的方法来最大化图的两个不同视图之间的一致性以学习图的表示。下图展示了GraphCL的框架:
框架
GraphCL可以看做最大化互信息的一种方式,可以将损失函数写成下列形式:
三、实验
- 数据集统计
本文实验采用下列数据集:
数据集
- 数据增强的组合和选择
下图实验探究了不同数据增强组合的影响:
实验
下列实验表明,对于不同类型的增强对,对比损失的下降速度总是比相同类型的增强对慢,这说明模型更难识别不同类型的数据增强:
实验
- 数据增强的类型、范围和模式
下列实验数据增强的类型、范围和模式对效果的影响:
实验
实验
有以下结论:
①Edge perturbation对社会网络数据集有益,但会伤害生物分子数据集的性能;
②在密度较大的图中应用attribute masking可以获得更好的性能;
③Node dropping和subgraph对所有数据集都有益。
- 与SOTA方法的对比
- 半监督学习
实验如下:
实验
- 无监督学习
实验如下:
实验
- 迁移学习
实验如下:
实验
- 对抗鲁棒性
实验如下:
实验