论文标题:Contrastive Multi-View Representation Learning on Graphs
论文链接:https://arxiv.org/abs/2006.05582
论文来源:ICML 2020
之前的相关博客:
Deep Graph Infomax:互信息最大化的无监督图对比学习
InfoGraph:基于互信息最大化的无监督和半监督图表示学习
一、概述
基于互信息最大化的图对比学习模型近来在图表示学习任务上取得了SOTA的效果,比如Deep Graph Infomax以及InfoGraph,这些方法的特点是需要一个特定的encoder,并且需要最大化图表示与节点表示之间的互信息。而本文的方法从另一个角度出发,最大化图的不同视图之间的互信息,并且不需要使用特定类型的encoder。
本文通过实验得出以下几个结论:
①增加视图的数量超过两个并不会提高模型的性能,而在对比一阶邻域以及图的diffusion视图时能够取得最好的性能;
②相较于对比图与图或者图的多尺度表示,对比不同视图之间的节点和图的表示时能够取得更好的效果;
③简单的图readout方式能够比一些较复杂的方式(比如DiffPool)更能取得较好的效果;
④应用正则化(不包括early stopping)或标准化层会对性能产生负面影响。
二、方法
- 框架
本文的方法依靠对比一个视图的节点表示与另一个视图的图表示来学习图的节点与图表示,是一种依靠正负样本对的对比学习方法。下图展示了本文方法的框架:
框架
下图展示了直推式配置下的过程(多图数据集类似),由上图可见本文提出的方法主要包括以下几个组件:
①数据增强模块,这个模块将一个图转换成这个图的不同的视图,我们只将这种增强应用在图的结构上,也就是说不会改变图节点的原始特征,这个模块之后接着进行下采样,具体就是对于图的两个视图采样相同的节点(类似于视觉领域内的裁剪操作);
②两个专用的GNN,也就是图的encoder,两个视图单独使用各自的encoder,后面接着是一个共享的MLP层,用来学习节点表示;
③图的池化层,也就是readout函数,后面也是接着一个共享的MLP层,用来学习图表示;
④一个discriminator,用来区分正负样本对,正负样本对来自于视图的节点表示与图表示之间的两两组合。
- 数据增强
本文考虑的图数据增强获取新视图的方法主要分为两种:
①特征空间增强:在节点的原始特征上进行操作,比如mask或者添加高斯噪声等等;
②结构空间增强:对图的结构进行操作,比如增删连接,下采样或者使用最短距离或者扩散矩阵生成全局视图等等。
第一种增强的方法有时会遇到问题,这是由于一些图数据集并没有节点的特征,另外实验发现对节点特征mask或者添加噪声的方法会对模型的性能产生负面的影响。因此,本文选择的数据增强方式是生成一个全局视图,然后再进行下采样。实验结果证明最有效的数据增强方式是将邻接矩阵转换成扩散矩阵(diffusion matrix),将这两个矩阵看做同一个图的两个视图。这样的做法有效的原因可能是邻接矩阵和扩散矩阵分别提供了图结构的局部和全局视图,最大化从这两个视图中学习到的表示的一致性能够使得表示编码丰富的局部和全局信息。
对于下采样的方法,我们从一个视图采样节点和它们之间的边,从另一个视图采样同样的相应的节点以及边。
- Encoder
然后就可以使用这些表示用于下游任务。
- 训练
对比学习的训练过程沿用Deep InfoMax的训练方式,具体就是对比一个视图的节点表示与另一个视图的图表示,这种对比的方式比对比不同视图之间的图表示或者多尺度表示取得的效果都要好。具体的目标为:
MI估计器实验测试了四种不同的方式,其中JSD估计最为有效。
用来进行对比学习的正样本对是当前图的一个视图的节点表示与当前图的另一个视图的图表示,负样本对是当前图的一个视图的节点表示与其他图的另一个视图的图表示。下图展示了本文方法的算法:
算法
三、实验
- 数据集
下表展示了使用的数据集统计情况:
数据集
- 实验结果
下面的表展示了各类实验的结果:
实验
实验
实验
- 消融实验
另外本文进行了一系列消融实验来探索不同的互信息估计器、对比方式以及数据增强方式的影响:
消融实验