Disentangled Contrastive Learning on Graphs论文阅读笔记

Disentangled Contrastive Learning on Graphs论文阅读笔记

Abstract

​ 存在的问题:现有的gnn自监督学习方法本质上是整体的,忽略了潜在因素的纠缠,导致学习表示对下游任务的次优,难以解释。用自监督学习学习解耦图表示提出了巨大的挑战,在很大程度上被现有文献所忽视。

​ 解决的方案:在本文中,我们引入了解耦图对比学习(DGCL)方法,该方法能够学习具有自我监督的解耦图级表示。特别地,我们首先识别输入图的潜在因素,并推导出其分解表示。每个因子分解表示描述了与图的特定潜在因素相关的潜在和解耦的方面。在此基础上,我们提出了一种新的因子识别目标,它可以迫使因子分解表示独立地反映来自不同潜在因素的表达信息。

Introduction

​ 再次强调存在的问题:尽管现有的图对比学习方法取得了显著的成功,但通常采用整体方案,即学习的表示将图描述为一个感知整体,忽略了图不同方面之间的细微差别。事实上,在现实世界中,一个图的形成通常遵循一个关系过程,由许多复杂的潜在因素驱动。例如,在社交网络中,一个社会群体可能有几个来自不同关系的社区(例如,朋友、同事等)。或兴趣(例如,体育、游戏等)一个分子图可以由代表不同功能单位的不同原子组和键组成。多个潜在因素之间的复杂关系带来了在对比图表示学习中解耦这些因素的冲动,这仍然没有被现有的整体工作所探索。因此,现有方法学习到的图表示包含了纠缠因素的混合,损害了可解释性,导致涉及整个图表示的预测任务的次优性能

​ 在本文中,我们首次提出学习解耦对比图表示。虽然解开表示学习,旨在描述各种潜在的解释因素背后的观察数据的不同部分分解表示,已被证明是更可解释的和可推广的,解耦图对比学习面临以下两个挑战。

​ (1)用于解耦对比学习的定制图编码器。图编码器应精心设计,使其能够充分表达,以推断出图中解开的潜在因素。

​ (2)为解耦图对比学习而量身定制的识别任务。由于任务依赖的标签在自我监督设置中不可用,解耦图对比学习只能利用有限数量的自我监督信息。这意味着识别任务应该是精心设计的用于图上的解耦对比表示学习。

​ 为了解决这些挑战,我们提出了一种新的解耦图对比学习模型(DGCL),能够在图上解耦对比学习。特别地,我们首先设计了一个解耦图编码器,其关键成分是一个多通道消息传递层。每个通道都只能从一个解耦的潜在因素来聚合特征。然后在每个通道中单独读出操作,根据相应的潜在因素总结图的具体方面,从而产生解耦图表示。接下来,我们在由每个因子独立具有特征的每个表示子空间中进行对比学习,而不是在整个表示空间中进行。这种新的因子对比方法可以确保向量化表示中的每一个解耦因子仅在整个图的一个特定方面下才具有足够的判别性。因此,鼓励分解表示,并最好地描述与图的潜在因素相关的方面。与现有的方法相比,我们提出的DGCL模型编码一个具有多个解耦表示的图,使其探索每个通道的意义成为可能,这有利于产生图表示的可解释性。

​ 本文的贡献如下:

  • 我们提出了一种解耦图对比学习模型(DGCL),它能够通过因子级对比学习来学习解耦图的表示。据我们所知,我们是第一个研究解耦自监督图表示学习。
  • 我们提出了一种解耦图编码器,通过学习图上的解耦潜在因子来捕获图的多个方面。我们进一步提出了针对每个潜在因素的定制辨别任务的因素级对比学习方法。

Problem Formulation

​ 大多数自监督学习表示方法的关键,是生成一个图编码器,目的是让生成的表示能够更好的表示原始的图,在我们的方法中,我们的目的是学习一个多通道的图编码器\(f_{\theta}(\cdot)\),输出的\(z_i\)是一个解耦表示,也就是\(f_\theta(\cdot)=\{f_\theta^{(k)}(\cdot)\}_{k=1}^K\),K是通道数,.具体来说,zi预计将由K个独立的成分组成,\(\mathbf{z}_i=[\mathbf{z}_{i,1},\mathbf{z}_{i,2},\ldots,\mathbf{z}_{i,K}]\text{, where }\mathbf{z}_{i,k}=f_\theta^{(k)}(G_i)\in\mathbb{R}^{\Delta d},k\in[1,K],\Delta d=d/K\),第k个分量zi,k用于描述与因子k相关的Gi的方面。如果输入图Gi不包含任何因子k的信息,我们还假设zi,k的值将仅仅是一个白噪声向量。

Method

模型的示意图如下:

pF2qM24.png

解耦图编码器

​ 解耦图编码器的关键是生成因子分解图表示,对于每个输入图Gi∈G。基于因子分解表示,我们可以推断出图背后的相关潜在因素。

​ 我们采用K个单独的通道来识别复杂的异构潜在因素,并捕获输入图的多个方面。对于每个通道,我们首先利用一个GNNk来用它自己的参数来传播信息:\(\mathbf{H}_k^{L+1}=\text{GNN}_k(\mathbf{H}^L,A)\),然后利用每个通道的读出函数(即池化函数)将所有获得的节点表示总结为一个固定长度的图级表示:\(\boldsymbol{h}_{G_i,k}=\text{READOUT}_k(\{\mathbf{H}_k^{L+1}\})\),最后,每个通道输出用一个单独的MLP分解的图表示:\(\mathbf{z}_{i,k}=\mathrm{MLP}_k(\boldsymbol{h}_{G_i,k})\)

​ 与现有的固有的整体的图编码器相比,我们的解耦图编码器由K个通道组成,排除了识别复杂的异构潜在因素和捕获图的多个方面的可能性。

解耦因子级别的对比学习

​ 与现有的对比学习方法不同,DGCL设计了一种新的因子实例区分任务,并学习在每个潜在因素下独立地解决该任务。这种设计不仅使相似的样本在表示空间中更接近和不同的样本,而且还鼓励学习到的表示合并因子级信息进行解耦。

​ 具体地说,我们假设真实世界图的形成通常是由多个潜在的异构因素驱动的。因此,实例鉴别任务应表示为对潜在因素下的几个子任务的期望:

\(p_\theta(y_i|G_i)=\mathbb{E}_{p_\theta(k|G_i)}\left[p_\theta(y_i|G_i,k)\right]\)

​ 这里的\(p_\theta(k|G_i)\)是输入图Gi的潜在因子上的概率分布。\(p_\theta(y_i|G_i,k)\)表示第k个潜在因子下的实例识别子任务。这里解释一下实例识别任务,将每个图当做一个类别,其它的图为另一个类别,本文的实验中的任务为图分类

​ 首先,给出了由解耦图编码器fθ(·)导出的Gi的表示zi,提出了一种基于原型的获得\(p_\theta(k|G_i)\)的方法。我们引入了K个潜在因子原型\(\{\mathbf{c}_{k}\}_{k=1}^{K}\),并将第K个潜在因子反映在Gi中的概率参数化为:

\(p_\theta(k|G_i)=\frac{\exp\phi(\mathbf{z}_{i,k},\mathbf{c}_k)}{\sum_{k=1}^K\exp\phi(\mathbf{z}_{i,k},\mathbf{c}_k)}\)

​ 然后,我们将第k个潜在因子下的实例识别子任务定义为:

\(p_\theta(y_i|G_i,k)=\frac{\exp\phi(\mathbf{z}_{i,k},\mathbf{z}_{y_i,k}^{\prime})}{\sum_{j=1}^N\exp\phi(\mathbf{z}_{i,k},\mathbf{z}_{y_j,k}^{\prime})},\)

\(\mathbf{z}_{i,k}\text{ and }\mathbf{z}_{y_i,k}^{\prime}\)是由共享图编码器产生的解耦表示。 \(y_i\)是图\(G_i\)唯一的代理标签,在我们的方法中,我们将yi实现为数据集中图的ID,即yi = i,为了便于表示,如果没有混淆的风险,我们以后不区分yi和i。

然后我们描述如何获取\(\mathbf{z}_{i,k}^{\prime}\)也就是\(\mathbf{z}_{y_i,k}^{\prime}\),这里也就是用增强后的图输入到解耦编码器中获得的

模型优化

我们的目的是最大化似然概率:\(\prod_{i=1}^Np(y_i|G_i)\)

这个也就是说图在因子k概率下的对比学习损失的期望,也就是说是每个因子下的嵌入的对比学习损失的加权平均,但是在本文中,图在因子k下的概率不好求,因为这里没有对c进行处理,于是我们退而求其次,使用ELBO来修改损失函数,不过还是有点不太明白,这样损失函数更复杂了,而且还是用到了潜在因子c。

损失函数为:\(\mathcal{L}(\theta,i)=\mathbb{E}_{q_\theta(k|G_i,y_i)}[\log p_\theta(y_i|G_i,k)]-D_{KL}(q_\theta(k|G_i,y_i)\parallel p_\theta(k|G_i))\)

posted @ 2024-03-18 08:58  ANewPro  阅读(1)  评论(0编辑  收藏  举报