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

                                                 消融实验

相关文章
|
机器学习/深度学习 算法 数据挖掘
图神经网络02-图与图学习(下)
图神经网络02-图与图学习(下)
489 0
图神经网络02-图与图学习(下)
|
3月前
|
计算机视觉 Python
目标检测笔记(四):自适应缩放技术Letterbox完整代码和结果展示
自适应缩放技术Letterbox通过计算缩放比例并填充灰边像素,将图片调整为所需尺寸,保持原始比例不变,广泛应用于目标检测领域。
72 1
目标检测笔记(四):自适应缩放技术Letterbox完整代码和结果展示
|
6月前
|
人工智能 算法
图搜算算法分类
图搜索算法是计算机科学中用于遍历或搜索图结构(由节点和边组成的数学结构)的技术,常应用于路径规划、网络分析、人工智能等领域。下面是对几种常见图搜索算法的简要说明:
|
存储 数据可视化 atlas
maftools | 从头开始绘制发表级oncoplot(瀑布图)
maftools | 从头开始绘制发表级oncoplot(瀑布图)
447 0
|
机器学习/深度学习 开发工具
通过VISO来绘制神经网络图模型
通过VISO来绘制神经网络图模型
|
机器学习/深度学习 存储 数据可视化
可视化CNN和特征图
卷积神经网络(cnn)是一种神经网络,通常用于图像分类、目标检测和其他计算机视觉任务。CNN的关键组件之一是特征图,它是通过对图像应用卷积滤波器生成的输入图像的表示。
172 0
可视化CNN和特征图
|
数据可视化
R可视化学习(3)--误差棒图
篇介绍如何利用R软件和ggplot2制作误差线的条形图,我们可以使用如下几个函数制作不同类型的误差线图形: • geom_errorbar() • geme_linerange() • geom_pointrange() • geom_crossbar() • geom_errorbarh()
300 0
|
机器学习/深度学习 图计算
图神经网络学习笔记-02图游走类模型
图神经网络学习笔记-02图游走类模型
394 0
图神经网络学习笔记-02图游走类模型
|
数据可视化 计算机视觉 网络可视化
|
机器学习/深度学习 数据可视化 固态存储
感受野和特征图的深度理解
​ 经典目标检测和最新目标跟踪都用到了RPN(region proposal network),锚框(anchor)是RPN的基础,感受野(receptive field, RF)是anchor的基础。本文介绍感受野及其计算方法,和有效感受野概念。同时也向大家补充特征图的相关知识~ ​
417 0
感受野和特征图的深度理解

热门文章

最新文章