Hassani K, Khasahmadi A H. Contrastive multi-view representation learning on graphs[C]//International Conference on Machine Learning. PMLR, 2020: 4116-4126.
摘要导读
通过对比图的结构视图,本文引入了一种学习节点和图级别表示的自监督方法。与视图表示学习不相同的是,对于图结构的对比学习来讲,增加对比视图的数量或者增加对比编码的尺寸并不能提高性能。本文发现,最佳性能是通过对比一阶邻居的编码和图扩散来实现的。
Intro
GNNs需要依赖于任务标签信息来学习丰富的数据表示,而标注图数据具有一定的难度。因此,将GNNs从视觉领域迁移到图数据上存在挑战性。故而需要专门的编码器来对节点和图级别的表示进行学习。
目前图像处理领域使用的方法是对同一张图片进行数据增强,得到多个视图的表示,然后通过对比学习获得更好的表示特征。
Model
本文提出的方法通过最大化一个视图的节点表示和另一个视图的图表示之间的MI来学习节点和图表示,反之亦然。图扩散用于生成样本图的附加结构视图,该视图与常规视图一起被子采样,并提供给两个专用的GNN,然后由一个共享的MLP来学习节点表示。然后将学习到的特征输入图池层,然后输入共享的MLP来学习图表示。鉴别器将一个视图的节点表示与另一个视图的图表示进行对比,反之亦然,并对作为训练信号的表示之间的一致性进行评分。如图所示,该方法包含以下几个组件:
- 数据增强机制将原始的样本图转化为一个相关联的图。这里只对图的结构进行了扩充,并没有重新初始化节点特征。接下来是一个采样器,它从两个视图中对相同的节点进行子采样,即,类似于在视觉域中的裁剪。
- 两个专用的图编码器GNN,每个视图对应一个,然后是一个共享的MLP,即投影部分,以学习两个视图的节点表示。
- 一个图池化层(readout function)加一个共享的MLP,即投影部分,以学习两个视图的图表示。
- 判别器使用对比的方式,将一个视图的节点表示与另外一个视图的图表示进行对比,并对其进行一致性评分。
- Augmentations
图的数据增强可以分为对节点特征的增强操作( masking or adding Gaussian noise,一般情况下会降低性能)和对结构特征的增强操作(通过添加或删除连接、子采样或使用最短距离或扩散矩阵生成全局视图,在图结构上操作损坏)
作者指出,在大多数情况下,最好的结果是通过将邻接矩阵转化为扩散矩阵,并将这两个矩阵视为同一图的结构的两个一致视图。因为邻接矩阵和扩散矩阵分别提供了图结构的局部和全局视图,从这两种视图中学习到的表示之间最大限度的一致性鼓励模型同时编码丰富的局部和全局信息。
本文采用的是将邻接矩阵转换为扩散矩阵,并将扩散矩阵的两个矩阵视为同一图结构的两个同等视图。
给定邻接矩阵和度矩阵,图扩散的两个实例Personalized PageRank (PPR)和heat kernel可以根据,和,其中,表示随机游动中的传送概率,为扩散时间。PPR扩散和heat的扩散的封闭解分别表示为: - Encoders
如图可见,分别设计了两个graph encoder应用于不同的视图:,对应的两个GCN的层定义为和用于学习节点表示。
其中,,,是的度矩阵,是对应于的扩散矩阵,是节点特征矩阵,是网络参数,是RELU激活函数。学到的表示紧接着被喂入到一个共享的映射,其结构为两个带有RELU的全连接层。至此,可以得到对应于同一graph的两个节点表示矩阵
在推断阶段,通过加和操作聚合每个视图的表示(图表示和节点表示): - Training
为了以端到端的方式训练编码器,在下游任务不可知的情况下学习有意义的节点表示和图表示,本文利用深度InfoMax方法,通过对比一个视图的节点表示和另外一个视图的图表示最大化两个视图之间的MI,反之亦然。
MI被建模为一个判别器即输入的来自两个视图的节点表示和图表示最后会得到一个关于一致性的得分,这里使用了向量之间的dot product来计算得分:作者指出,当判别器和映射head被整合到双线性层时候,在节点分类任务上略有改善。
正负例构造:正例从联合分布中产生;负例从边际分布的乘积中产生。最终,通过小批量随机梯度下降来优化模型参数。整体算法如下:
大佬的图画的很精致,虽然有的部分看起来很平凡,但是整体的算法流程和模块设计未落俗套。值得学习!!关于邻接矩阵是数据的局部信息,而PPR那种图扩散矩阵则被看做是数据的全局信息,还有待证实。