Adversarial Cross-View Disentangled Graph Contrastive Learning

https://arxiv.org/pdf/2209.07699

Adversarial Cross-View Disentangled Graph Contrastive Learning,2022,arxiv preprint

总结: 信息论(IB)角度出发,故事讲得比较完整,说的挺有道理的,disentangled可以自圆其说。至于adversarial,感觉是拿来凑数的,从消融实验也可以看出,添加对抗训练后,并没有给模型性能带来太大提升。

作者的disentanglement我觉得还挺有意思的,从数据增强出发,引出两个视角之间的InfoMax会引入标签无关的冗余信息。作者通过对图编码器学习到的图嵌入z\mathbf z进行disentangle,得到augmentation-induced factors对应的表示zaug\mathbf z^{aug}和图essential factors对应的表示zinv\mathbf z^{inv},然后对比两个视角的inv嵌入来优化模型。感觉这个点创新性比较足,而且非常符合我们的直觉。

1. 简介

1.1 摘要

Graph contrastive learning (GCL) is prevalent to tackle the supervision shortage issue in graph learning tasks. Many recent GCL methods have been proposed with various manually designed augmentation techniques, aiming to implement challenging augmentations on the original graph to yield robust representation. Although many of them achieve remarkable performances, existing GCL methods still struggle to improve model robustness without risking losing task-relevant information because they ignore the fact the augmentation-induced latent factors could be highly entangled with the original graph, thus it is more difficult to discriminate the task-relevant information from irrelevant information. Consequently, the learned representation is either brittle or unilluminating. In light of this, we introduce the Adversarial Cross-View Disentangled Graph Contrastive Learning (ACDGCL), which follows the information bottleneck principle to learn minimal yet sufficient representations from graph data. To be specific, our proposed model elicits the augmentation-invariant and augmentation-dependent factors separately. Except for the conventional contrastive loss which guarantees the consistency and sufficiency of the representations across different contrastive views, we introduce a cross-view reconstruction mechanism to pursue the representation disentanglement. Besides, an adversarial view is added as the third view of contrastive loss to enhance model robustness. We empirically demonstrate that our proposed model outperforms the state-of-the-arts on graph classification task over multiple benchmark datasets.

对比学习经常被用于解决图学习任务中监督信息短缺的问题。最近许多带有各种手动设计的增强策略的GCL方法被提出,目的在于在原始图上实施有挑战行的增强,以学习高鲁棒表示。尽管很多方法都取得了显著的效果,现有的GCL方法仍然很难在不丢失任务相关信息的情况下提高模型的鲁棒性,因为他们忽略了增强引发的latent factors可能和原始图高度纠缠在一起这一事实,因此很难识别出任务相关信息。这导致学习到的表示要么是脆弱的,要么是没有启发性的。鉴于此,我们提出了一种对抗跨视角解耦图对比学习方法ACDGCL,遵从信息瓶颈规则从图数据中学习minimal but sufficient表示。具体来说,我们提出的模型可以分别引出增强不变和增强依赖因素。除了通过传统的对比损失来保证表示的一致性和充分性,我们引出了一种跨视角重构机制,引领模型学习disentangled表示。另外,我们添加了一个对抗视角作为第三个view,来提高模型鲁棒性。多个标准数据集上的图分类任务表明,和SOTA方法相比,我们的模型表现更优。

1.2 本文工作

背景: 图表示学习(GRL)由于其在现实世界中的广泛应用,最近得到了很多关注。现有的SOTA有监督GRL方法基本都是基于GNNs来作的。虽然取得了显著效果,但是这些方法通常依赖于大量有标签数据,在某些场景下很难甚至无法获取到足够多的的有标签数据。因此,最近许多工作研究如何利用无标签数据学习有效的节点表示,其中最多的就是以对比学习为代表的的自监督学习方法。

动机: 这块作者扯得比较复杂,从信息论角度出发,画了一堆文氏图,我这里谈谈我的理解。

GCL的一个基础假设:假设t1(G)t_1(G)t2(G)t_2(G)表示原始图的两个增强视角,那么t1(G)t_1(G)t2(G)t_2(G)之间应该是mutually redundant。所谓“mutually redundant”,一种正式的定义如下:

I(t1(G);yt2(G))=I(t2(G);yt1(G))=0I\left(t_1(G) ; y \mid t_2(G)\right)=I\left(t_2(G) ; y \mid t_1(G)\right)=0

通俗点理解就是:两个视角中关于标签y的信息应该是完全一样的(我的理解,不一定对)。理想状态下,下图b中绿色部分应该都是空的。

这种理想假设的成立条件是:增强操作对图的原始语义没有任何破坏。

但是我们知道图增强或多或少肯定会影响原始图的一些语义或者数据分布。所以使用InfoMax对比上图中z1z_1z2z_2,很容易导致编码器捕捉一些冗余信息(增强引入的信息),这些信息对标签识别完全没有帮助。

这就是现有GCL方法存在的一个弊端,也是本文需要解决的问题。

本文工作: 为了解决上面这个问题,作者提出了ACDGCL模型,核心有两个:一是对抗训练,二是跨视角disentangled。这里对抗训练,我觉得是拿来凑数的,没有太大创新意义。这里比较有趣的是作者提出的disentangled方法。

前面我们提到数据增强可能会破坏原始图的数据分布,引入一些任务无关的信息,并且这种augmentation-induced latent factors可能和图essential factors纠缠在一起。作者的方法就是,把图编码器学习到的节点嵌入zz进行distangle,提取出zaugz^{aug}zinvz^{inv}两部分,前者对应augmentation-induced factor(标签无关),后者对应essential factor(标签相关)。然后使用InfoMax对比z1invz_1^{inv}z2invz_2^{inv}即可。

2. 方法

ACDGCL框架如下图所示,架构还是比较简单清晰的。这里面我们需要关注的主要有两点:

  1. 两个Extractor怎么设计的?如何设计损失函数保证distanglement的正确性?
  2. 对拷是怎么做的?即zadvz_{adv}如何生成的。

2.1 Disentanglement

Extractor的设计非常简单,以图嵌入为输入,用一个MLP-based网络学习disentangled embedding:

[zaug=gaug(f(t(G))),zinv=ginv(f(t(G)))]\left[\mathbf{z}^{a u g}=g_{a u g}(f(t(G))), \mathbf{z}^{i n v}=g_{i n v}(f(t(G)))\right]

其中f()f(\cdot)就是图编码器,本文用的是GIN。

可以看到disentanglement非常简单,关键是如何设计目标函数,保证disentanglement的正确性。

作者基于信息论,从重构的角度来设计损失函数,优化模型。具体包括以下两个重构过程:

zwr=gr(zwaugzwinv),zwcr=gr(zwaugzwinv)\mathbf{z}_w^r=g_r\left(\mathbf{z}_w^{a u g} \odot \mathbf{z}_w^{i n v}\right), \mathbf{z}_w^{c r}=g_r\left(\mathbf{z}_w^{a u g} \odot \mathbf{z}_{w^{\prime}}^{i n v}\right)

其中gr()g_r(\cdot)表示重构模型。第一个公式表示使用同一个视角中的aug和inv重构原始嵌入。第二个公式表示cross-view重构,即用第1个视角中的aug和第2个视角中的inv重构原始嵌入,或者用第1个视角中的inv和第2个视角中的aug重构原始嵌入。

通过最小化熵H(zwzwaug,zwinv)=Ep(zw,zwaug,zwinv)[logp(zwzwaug,zwinv)]H\left(\mathbf{z}_w \mid \mathbf{z}_w^{a u g}, \mathbf{z}_{w^{\prime}}^{i n v}\right)=-\mathbb{E}_{p\left(\mathbf{z}_w, \mathbf{z}_w^{a u g}, \mathbf{z}_{w^{\prime}}^{i n v}\right)}\left[\log p\left(\mathbf{z}_w \mid \mathbf{z}_w^{a u g}, \mathbf{z}_{w^{\prime}}^{i n v}\right)\right]对模型进行优化。

但是我们不知道条件概率p(ZwZwaug,Zwinv)p\left(\mathbf{Z}_w \mid \mathbf{Z}_w^{a u g}, \mathbf{Z}_{w^{\prime}}^{i n v}\right)服从怎样的分布,所以用变分分布去作近似,找到H(zwzwaug,zwinv)H\left(\mathbf{z}_w \mid \mathbf{z}_w^{a u g}, \mathbf{z}_{w^{\prime}}^{i n v}\right)的一个上界,通过最小化上界,近似达到最小化熵的目的。

这个是distanglement相关方法的常规操作,通过variation distribution对后验概率作近似。这里作者定义了如下上界:

H(zwzwaug,zwinv)zwgr(zwaugzwinv)22 where w=w or wwH\left(\mathbf{z}_w \mid \mathbf{z}_w^{a u g}, \mathbf{z}_{w^{\prime}}^{i n v}\right) \leqslant\left\|\mathbf{z}_w-g_r\left(\mathbf{z}_w^{a u g} \odot \mathbf{z}_{w^{\prime}}^{i n v}\right)\right\|_2^2 \text { where } w=w^{\prime} \text { or } w \neq w^{\prime} \text {. }

关于这块的理论证明,大家可以自己看原文。这样最终重构损失定义为:

Lrecon =12Ni=1Nw=12[zw,izw,ir22+zw,izw,icr22].\mathcal{L}_{\text {recon }}=\frac{1}{2 N} \sum_{i=1}^N \sum_{w=1}^2\left[\left\|\mathbf{z}_{w, i}-\mathbf{z}_{w, i}^r\right\|_2^2+\left\|\mathbf{z}_{w, i}-\mathbf{z}_{w, i}^{c r}\right\|_2^2\right] .

2.2 对抗视角的生成

其实也已经有文章在研究对抗图对比学习了。我们知道模型训练过程就是最小化损失函数的过程,对抗训练的就是让给模型训练加点挑战,不让你轻松的减小模型损失。这种在逆境中训练出来的模型,鲁棒性通常会更好。

图对比学习中的对抗目标定义如下:

δ=argmaxδϵLadv (t1(G),t2(G),G+δ),\delta^*=\underset{\|\delta\|_{\infty} \leqslant \epsilon}{\operatorname{argmax}} \mathcal{L}_{\text {adv }}\left(t_1(G), t_2(G), G+\delta\right),

其实就是找到一个扰动参数,让对比损失最大,对比损失越大,模型训练的挑战就越大,最终学习到的模型性能也就越好。

关于如何加扰动,作者采用的现有一篇论文中的方法,在第一个隐藏层的输出h(1)\mathbf h^{(1)}上加扰动。然后使用min-max训练策略进一步提高模型鲁棒性,最终对比目标定义如下:

Ladv=1Ni=1Nmaxδ[LCL(z1,iinv,G+δ)+LCL(z2,iinv,G+δ)]\mathcal{L}_{\mathrm{adv}}=\frac{1}{N} \sum_{i=1}^N \max _{\delta *}\left[\mathcal{L}_{\mathrm{CL}}\left(\mathrm{z}_{1, i}^{i n v}, G+\delta^*\right)+\mathcal{L}_{\mathrm{CL}}\left(\mathrm{z}_{2, i}^{i n v}, G+\delta^*\right)\right]

其中max操作通过PGD来实现。

至此,将上述所有损失函数结合到一起,就可以得到ACDGCL的整体损失:

minf,gEGG[Linv+λrLrecon+λamaxδϵLadv]\min _{f, g} \mathbb{E}_{G \in \mathbf{G}}\left[\mathcal{L}_{\mathrm{inv}}+\lambda_r \mathcal{L}_{\mathrm{recon}}+\lambda_a \max _{\|\delta\|_{\infty} \leqslant \epsilon} \mathcal{L}_{\mathrm{adv}}\right]

其中LinvL_{inv}表示两个视角之间inv嵌入的对比损失,LreconL_{recon}表示重构损失,LadvL_{adv}表示对抗损失。

3. 实验

3.1 基础对比

  1. 无监督

  2. 半监督

3.2 消融实验

  • w/o Intra-view:表示只进行跨视角重构
  • w/o Inter-view:表示只进行同视角重构
  • w/o Adv.Training:表示不使用对抗训练

3.3 鲁棒性分析

打赏
  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!
  • Copyrights © 2021-2022 Yin Peng
  • 引擎: Hexo   |  主题:修改自 Ayer
  • 访问人数: | 浏览次数:

请我喝杯咖啡吧~

支付宝
微信