MVGRL:多视图图对比学习

简介: MVGRL:多视图图对比学习

论文标题:Contrastive Multi-View Representation Learning on Graphs


论文链接:https://arxiv.org/abs/2006.05582


论文来源:ICML 2020


之前的相关博客:


MINE:随机变量互信息的估计方法


Deep InfoMax:基于互信息最大化的表示学习


Deep Graph Infomax:互信息最大化的无监督图对比学习


InfoGraph:基于互信息最大化的无监督和半监督图表示学习


一、概述


基于互信息最大化的图对比学习模型近来在图表示学习任务上取得了SOTA的效果,比如Deep Graph Infomax以及InfoGraph,这些方法的特点是需要一个特定的encoder,并且需要最大化图表示与节点表示之间的互信息。而本文的方法从另一个角度出发,最大化图的不同视图之间的互信息,并且不需要使用特定类型的encoder。


本文通过实验得出以下几个结论:


①增加视图的数量超过两个并不会提高模型的性能,而在对比一阶邻域以及图的diffusion视图时能够取得最好的性能;


②相较于对比图与图或者图的多尺度表示,对比不同视图之间的节点和图的表示时能够取得更好的效果;


③简单的图readout方式能够比一些较复杂的方式(比如DiffPool)更能取得较好的效果;


④应用正则化(不包括early stopping)或标准化层会对性能产生负面影响。


二、方法


  1. 框架


本文的方法依靠对比一个视图的节点表示与另一个视图的图表示来学习图的节点与图表示,是一种依靠正负样本对的对比学习方法。下图展示了本文方法的框架:


image.png

                                                    框架


下图展示了直推式配置下的过程(多图数据集类似),由上图可见本文提出的方法主要包括以下几个组件:


①数据增强模块,这个模块将一个图转换成这个图的不同的视图,我们只将这种增强应用在图的结构上,也就是说不会改变图节点的原始特征,这个模块之后接着进行下采样,具体就是对于图的两个视图采样相同的节点(类似于视觉领域内的裁剪操作);


②两个专用的GNN,也就是图的encoder,两个视图单独使用各自的encoder,后面接着是一个共享的MLP层,用来学习节点表示;


③图的池化层,也就是readout函数,后面也是接着一个共享的MLP层,用来学习图表示;


④一个discriminator,用来区分正负样本对,正负样本对来自于视图的节点表示与图表示之间的两两组合。


  1. 数据增强


本文考虑的图数据增强获取新视图的方法主要分为两种:


①特征空间增强:在节点的原始特征上进行操作,比如mask或者添加高斯噪声等等;


②结构空间增强:对图的结构进行操作,比如增删连接,下采样或者使用最短距离或者扩散矩阵生成全局视图等等。


第一种增强的方法有时会遇到问题,这是由于一些图数据集并没有节点的特征,另外实验发现对节点特征mask或者添加噪声的方法会对模型的性能产生负面的影响。因此,本文选择的数据增强方式是生成一个全局视图,然后再进行下采样。实验结果证明最有效的数据增强方式是将邻接矩阵转换成扩散矩阵(diffusion matrix),将这两个矩阵看做同一个图的两个视图。这样的做法有效的原因可能是邻接矩阵和扩散矩阵分别提供了图结构的局部和全局视图,最大化从这两个视图中学习到的表示的一致性能够使得表示编码丰富的局部和全局信息。


image.png

image.png


对于下采样的方法,我们从一个视图采样节点和它们之间的边,从另一个视图采样同样的相应的节点以及边。


  1. Encoder


image.png


image.png


然后就可以使用这些表示用于下游任务。


  1. 训练


对比学习的训练过程沿用Deep InfoMax的训练方式,具体就是对比一个视图的节点表示与另一个视图的图表示,这种对比的方式比对比不同视图之间的图表示或者多尺度表示取得的效果都要好。具体的目标为:


image.png


MI估计器实验测试了四种不同的方式,其中JSD估计最为有效。


用来进行对比学习的正样本对是当前图的一个视图的节点表示与当前图的另一个视图的图表示,负样本对是当前图的一个视图的节点表示与其他图的另一个视图的图表示。下图展示了本文方法的算法:

image.png

image.pngimage.png

                                          算法


三、实验


  1. 数据集


下表展示了使用的数据集统计情况:


image.png

                                        数据集


  1. 实验结果


下面的表展示了各类实验的结果:


image.png

                                           实验


image.png

                                                  实验


image.png

                                                        实验


  1. 消融实验


另外本文进行了一系列消融实验来探索不同的互信息估计器、对比方式以及数据增强方式的影响:


image.png

                                                 消融实验

相关文章
|
12月前
|
机器学习/深度学习 数据挖掘
这图怎么画| 一个用于展示多种机器学习模型结果的热图
这图怎么画| 一个用于展示多种机器学习模型结果的热图
125 0
|
机器学习/深度学习 算法 数据挖掘
图神经网络02-图与图学习(下)
图神经网络02-图与图学习(下)
475 0
图神经网络02-图与图学习(下)
|
3月前
|
人工智能 算法
图搜算算法分类
图搜索算法是计算机科学中用于遍历或搜索图结构(由节点和边组成的数学结构)的技术,常应用于路径规划、网络分析、人工智能等领域。下面是对几种常见图搜索算法的简要说明:
|
4月前
|
数据可视化 测试技术 uml
如果更好的绘制UML图
如果更好的绘制UML图
37 0
|
5月前
Visio绘制论文文献技术路线图流程图
Visio绘制论文文献技术路线图流程图
173 1
|
存储 数据可视化 atlas
maftools | 从头开始绘制发表级oncoplot(瀑布图)
maftools | 从头开始绘制发表级oncoplot(瀑布图)
357 0
论文技术路线图如何绘制?
本文介绍基于Visio软件绘制技术路线图、流程图、工作步骤图等的方法~
527 1
离散数学_十章-图 ( 2 ):图的术语和几种特殊的图(一)
离散数学_十章-图 ( 2 ):图的术语和几种特殊的图(一)
99 0
|
机器学习/深度学习
离散数学_十章-图 ( 2 ):图的术语和几种特殊的图(二)
离散数学_十章-图 ( 2 ):图的术语和几种特殊的图(二)
2148 0
|
机器学习/深度学习 算法 数据可视化
可视化图布局算法浅析
图算法在前端领域考察的较少,一般除非是要写框架或者打包工具对依赖关系处理(DAG)会用到,前端对图算法的考察一般是比较少的,而对于可视化领域而言,图又是必不可少的一种展示方式,其中对于边和节点的展示布局方案结合美学效果会有不同的算法实现,本文旨在介绍一些常见的通用布局算法,其中的每个小的布局方案也会有不同的分支实现
419 0