zl程序教程

您现在的位置是:首页 >  Java

当前栏目

Graph对比学习——新一代的图无监督预训练方法

2023-02-18 16:34:16 时间

图预训练已经被证明是非常有实力的一项技术,特别是在搜索推荐场景中,应用非常广泛。例如在电商场景中,通过构造商品、用户、搜索词等多种实体的大规模异构图,结合无监督预训练,可以学习到良好的节点表征,用于下游的召回、预估等任务中。

随机游走是无监督图预训练的常用做法,我在之前的文章图表示学习经典工作梳理——基础篇进行过这类方法的详细介绍,感兴趣的同学可以详细阅读这篇文章。然而,基于随机游走的图预训练也有一些缺陷。例如,通过随机游走构造正样本,其实就是在诱导模型学习那些图中相近的节点表示向量也应该相近的特点,而这忽略了图的结构信息。

随着对比学习的兴起,有一批工作将对比学习应用到了图的无监督预训练上。基于对比学习的图预训练,可以解决基于随机游走预训练存在的问题。今天这篇文章就给大家介绍3篇典型的对比学习图无监督预训练方法,帮助大家理解对比学习图预训练的核心思路。

1

Graph Informax

DEEP GRAPH INFOMAX(ICLR 2019)首次将体系化的对比学习思想应用到图无监督预训练上。这篇文章借鉴的是Deep Infomax的表示学习方法,具体论文为LEARNING DEEP REPRESENTATIONS BY MUTUAL INFORMATION ESTIMATION AND MAXIMIZATION(ICLR 2019,DIM)。这篇工作我在表示学习这篇文章中也详细介绍过,核心思路是将一个图像经过卷积后,让中间某层的表示向量和输出向量的互信息最大,以此建立局部编码信息和全局的关系。

Graph Infomax借鉴了这个思路,让节点的表示向量能够考虑到整个图结构的信息。具体的实现思路为,让图中中心节点的表示向量和整个图结构的表示向量互信息最大,以此让中心节点的表示包含整个图结构的信息,解决了基于随机游走无法考虑图结构信息的问题。如下图,对于原来的图,通过某种变换生成另一个图,在两个图中都计算出中心节点的表示,并利用一个readout函数生成原图整体的表示,原图和中心节点互为正样本,经过变换的图和中心节点为负样本。

文中整理了Graph Infomax的核心步骤如下:

对比下面的Deep Infomax示意图,我们可以发现核心思路是相同的,只不过输入数据的格式从图像变成了图结构,核心仍然是局部编码和全局编码的互信息最大:

2

图对比学习

Graph contrastive learning with augmentations(NIPS 2020)是另一篇基于对比学习的图无监督预训练方法,它更接近MoCo等对比学习思路,构造一个样本不同的view,不同的view互为正样本,并采样负样本的方式进行对比学习。

对比学习的核心就是如何进行数据增强,因此本文用了比较大的的篇幅介绍如何对图进行数据增强。文中共提出了下表所列的4种图数据增强方法,每种方法都是对原始图进行操作后,生成一个可以视为正样本的其他图,涵盖了一种数据不变性的假设。

Node dropping即对于一个图随机丢弃一些节点,以及这些节点相关的边。这其中的先验假设是,图中一些节点的缺失不会影响整个图的语义。

Edge perturbation指的是对图中的边进行随机的删减或者增加。其先验假设为图的语义信息应该对图中边连接具有一定鲁棒性,一些边的增删不应该对原始图的语义有比较大的影响。

Attribute masking指的是随机mask掉图节点的一些属性信息,缺少部分属性信息不应该对图造成太大影响。

Subgraph指的是从原始图中采样一个子图,这里面的假设是根据子图信息可以对获取全图信息有一定的指导作用,即子图和全图的关联性,其实类似于Graph Infomax的核心思路。

有了上述数据增强策略后,后面对的预训练其实就遵循一般的对比学习框架。对于一个图,通过上述数据增强手段生成不同的view,这些view互为正样本,并随机采样其他图作为负样本。训练一个图Encoder生成图的表示,再套用对比学习的损失函数。

3

图对比学习的公平性

今年NIPS的一篇文章Uncovering the Structural Fairness in Graph Contrastive Learning(NIPS 2022)探讨了基于图的对比学习方法对于图预训练公平性的益处。大部分图都存在很多长尾节点,这些长尾节点的度较小,即与它们连边的其他节点比较少。基于随机游走的图预训练方法对于长尾节点并不友好。而基于对比学习的图预训练方法,却能显著缩小头部节点和长尾节点之间的效果差异(如下图)

文中通过理论证明了图对比学习有效的原因在于,通过拉近正样本之间的距离增强了图中类内聚集性。而通过数据增强构造的正负样本关系增强了对不同类簇之间的离散型。本文在数据增强进一步提出优化方法,利用表示衡量节点之间的相似程度。对于尾部节点,利用与其相似的其他节点,扩充尾部节点的邻居,为其建立边关系。而对于头部节点,丢弃和其相似度较低的邻居节点。通过这种数据增强方式,增强类内聚集性边,减少类簇间的边。

在上述数据增强方法下,对于一个node,获取在原graph和增强后graph的embedding表示,视作正样本,其他节点的embedding视作负样本,利用对比学习损失函数进行优化。

4

总结

本文介绍了图对比学习3篇经典的工作。相比基于随机游走的图预训练方法,基于对比学习的图预训练更好的保留了图结构的信息,并且对尾部节点的表示学习更加友

END