Adversarial Graph Augmentation to Improve Graph Contrastive Learning

https://arxiv.org/pdf/2106.05819

https://github.com/susheels/adgcl

Adversarial Graph Augmentation to Improve Graph Contrastive Learning,2021,arxiv preprint

总结:作者提出了一种对抗图对比学习框架AD-GCL,其实可以看做一种自适应数据增强GCL。具体来说,和其他自适应数据增强不同(在DA策略集合中选取最优组合),作者针对某一种数据增强策略,把数据增强看做一个可学习过程,用GNN-based augmenter学习一个最优增强策略。以Drop Edge这种数据增强策略为例,在AD-GCL框架下,我们不需要预先设计好增强策略的各种超参,而是利用一个augmenter自动学习最优超参。2021年CVPR有一篇名为“AdCo: Adversarial Contrast for Efficient Learning of Unsupervised Representations from Self-Trained Negative Adversaries”的文章,这篇文章感觉又是把CV里面的策略搬到图学习中。

1. 简介

1.1 摘要

Self-supervised learning of graph neural networks (GNN) is in great need because of the widespread label scarcity issue in real-world graph/network data. Graph contrastive learning (GCL), by training GNNs to maximize the correspondence between the representations of the same graph in its different augmented forms, may yield robust and transferable GNNs even without using labels. However, GNNs trained by traditional GCL often risk capturing redundant graph features and thus may be brittle and provide sub-par performance in downstream tasks. Here, we propose a novel principle, termed adversarial-GCL (AD-GCL), which enables GNNs to avoid capturing redundant information during the training by optimizing adversarial graph augmentation strategies used in GCL. We pair AD-GCL with theoretical explanations and design a practical instantiation based on trainable edge-dropping graph augmentation. We experimentally validate AD-GCL1 by comparing with the state-of-the-art GCL methods and achieve performance gains of up-to 14% in unsupervised, 6% in transfer, and 3% in semi-supervised learning settings overall with 18 different benchmark datasets for the tasks of molecule property regression and classification, and social network classification.

由于现实世界的图数据广泛存在标签稀疏问题,因此GNN下的自监督学习用处很大。图对比学习GCL通过最大化同一个图不同增强形式之间的一致性,可以让GNNs在不需要使用标签的情况下变大强大、可迁移。但是,使用传统GCL训练GNNs经常会捕获冗余的图特征,这使得GNNs可能很脆弱,并且在下游任务中表现不佳。在这里我们提出了一种新的原理,称为AD-GCL。通过使用对抗图增强策略,可以避免GNN在训练过程中捕获冗余信息。我们将AD-DGL和理论解释结合到一起,并基于可训练edge-dropping图增强设计了一个实例。在18个不同数据集上,我们通过实验证明了AD-GCL的有效性。和SOTA GCL方法相比,在无监督设定下获得了最高14%,在迁移设定下最高6%,在半监督设定下最高3%的性能提升。

1.2 本文工作

背景: 图表示学习在很多应用中都展现了其强大能力,但是现有的大部分GNNs都采用端到端的有监督训练方式,需要大量有标签数据。然而,数据表及往往代价昂贵。虽然也有一些传统无监督图学习方法,但是它们基本都是通过重构输入图的结构来学习节点表示,过度强调了节点邻近性。近两年,研究用于GNNs的自监督学习成了最近十分热门的方向之一,尤其是图对比学习的研究。

动机: GCL通过最大化样本不同增强形式间的一致性(最大化两者间互信息)来学习节点表示。但是有研究发现这种方式存在风险:可能会使得编码器捕获和下有任务无关的冗余信息。这种冗余信息可以帮助模型实现InfoMax,但是可能严重降低模型在下游任务中的性能。针对这个问题,作者想到了另外一种技术IB(information bottleneck),可以让编码器捕捉minimal sufficient information用于下游任务。但是基于IB的GNNs需要下游任务相关的知识,而这可能无法获取到。作者希望提出一种新的GCL框架,在下游任务知识不可知的情况下,训练一个不含冗余信息的GNNs。

本文工作: 作者将GCL和对抗训练结合到一起,提出了如下图1所示的AD-GCL框架。AD-GCL主要针对于graph-level任务,但是这个思想也可以拓展到node-level任务中。

具体来说AD-GCL包含两个组件:

  • GNN编码器: 右边蓝色方框,学习节点表示
  • GNN-based增强器: 左下角黄色方框,学习合适的增强策略

另外,作者设计了AD-GCL的实例化模型,不仅通过大量实验证明了AD-GCL的有效性,还提供了AD-GCL的相关理论解释。

2. 方法

2.1 动机&理论

2.1.1 动机

现有对比学习方法基本都是遵循如下InfoMax原则:

 InfoMax: maxfI(G;f(G)), where GPG\text { InfoMax: } \max _{f} I(G ; f(G)), \quad \text { where } G \sim \mathbb{P}_{\mathcal{G}} \text {. }

在CV中已经有研究表明,和图像标签完全无关的表示也能最大化互信息,但是这种表示对于图像分类任务完全没用。同样地问题也出现在图标学习中。为了观察这一现象,作者进行了如下实验。

作者设计了两组实验:

  1. 按照普通GCL目标,即InfoMax,训练GNN
  2. 按照普通GCL目标训练GNN,但是同时再GNN后面追加一个分类器,使用随机标签进行有监督训练

训练完毕后,为了测试这两个GNN是否保证了互信息最大化,作者分别对比了两个GNN输出的所有图表示。作者发现任意两个输出之间的差异都大于1个数字精度。这表明两个GNN都能保持输入图和输出图表示之间的一一对应,即保证互信息最大化。

作者进一步在下游任务中使用真实标签测试两个GNN编码器。作者在上述两个GNN编码器上施加两个线性分类器来预测真实标签。两个分类器具有相同的架构、超参和初始化。两个模型表现如下图所示:

可以发现,在GCL中也存在这个问题。

2.1.2 理论分析

GDA定义: 对于图gGg\in\mathcal GT(G)T(G)表示对于G的一种图数据增强策略,可以将这种增强策略看做定义在G\mathcal G上,条件为GG的分布。我们用t(g)Gt(g)\in\mathcal G表示T(G)T(G)的一个实例。

给定两种GDA T1T_1T2T_2,GCL的目标就是:

 GDA-GCL: maxfI(f(t1(G));f(t2(G))), where GPG,ti(G)Ti(G),i{1,2}(5)\text { GDA-GCL: } \max _{f} I\left(f\left(t_{1}(G)\right) ; f\left(t_{2}(G)\right)\right), \text { where } G \sim \mathbb{P}_{\mathcal{G}}, t_{i}(G) \sim T_{i}(G), i \in\{1,2\}\tag 5

在实际应用中我们通常根据领域知识和经验预定义好增强策略,但是选取了不合适的GDA会严重影响模型在下游任务中的表现。

和其他预定义GDA的GCL方法不同,作者受GIB的启发,把GDA的选取看做一个学习过程,让编码器ff捕获minimal sufficient information。作者基于此想法,定义了一个新的原则AD-GCL:

 AD-GCL: minTTmaxfI(f(G);f(t(G))), where GPG,t(G)T(G)(6)\text { AD-GCL: } \quad \min _{T \in \mathcal{T}} \max _{f} I(f(G) ; f(t(G))), \quad \text { where } G \sim \mathbb{P}_{\mathcal{G}}, t(G) \sim T(G)\tag 6

其中T\mathcal T表示一个GDA family(即一种GDA策略,比如drop edge/mask feature/subgraph等等)。T\mathcal T表示不同GDAs TΦ()GDAs\ T_\Phi(·)构成的集合,Φ\Phi为这种增强策略下的参数,TΦ()TT_\Phi(·)\in\mathcal T表示在参数Φ\Phi下的一种具体GDA。

这里用通俗点的语言解释下GDA family:通常我们都是预先定义其超参,以drop edge为例,比如设置0.5的概率保留边。但是如果我们把drop edge看做一个可学习过程,让模型去学习这个超参,那么此时drop edge这种增强策略就可以表示成T\mathcal TT0.5T_{0.5}表示按照0.5概率保留边,T0.8T_{0.8}表示按照0.8概率保留边。这只是1个简化的例子,实际模型比这个会复杂很多,如前文图1黄色方框所示。

AD-GCL定义的min-max准则旨在训练编码器即使在GDA非常激进的情况下依旧能最大化原始图和增强图之间的互信息。和GDA-GCL相比,AD-GCL将原始图看做锚点,同时让增强图尽可能远离锚点。这种自动搜索TTT\in\mathcal T的方法可以节省很多用于评估不同GDA组合上付出的努力。

原文还对AD-GCL准则进行了理论分析,提出了一个定理。这块比较复杂,又能里的可以看原文。作者提出的定理有两个结论:

  1. AD-GCL可以保证一个模型捕获到下游任务无关信息的上界(即minimal)
  2. AD-GCL可以保证一个学习到的表示和标签支架互信息的下界(即sufficient)

2.2 Edge Perturbation实例化AD-GCL

如上图1所示,AD-GCL有两个目标函数:

  1. 最大化原始图和增强图之间互信息来优化编码器ff
  2. 最小化互信息来优化增强策略T(G)T(G)

给定图G=(V,E)G=(V,E)TΦ(G)T_\Phi(G)表示参数Φ\Phi下的一个增强策略,t(G)TΦ(G)t(G)\sim T_\Phi(G)表示增强后的一个图。对于每条边eEe\in E,在增强过程中被删除的概率为peBernoulli(we)p_e\sim Bernoulli(w_e),服从伯努利分布,当且仅当pe=1p_e=1时,边ee被保留。

伯努利分布的参数wew_e通过一个GNN计算得到,称之为GNN-augmenter。具体计算方法如下:

ωe=MLP([hu(K);hz(K)]), where e=(u,z) and {hv(K)vV}= GNN-augmenter (G)(7)\omega_{e}=\operatorname{MLP}\left(\left[h_{u}^{(K)} ; h_{z}^{(K)}\right]\right), \quad \text { where } e=(u, z) \text { and }\left\{h_{v}^{(K)} \mid v \in V\right\}=\text { GNN-augmenter }(G)\tag 7

为了能够端到端训练T(G)T(G),作者使用 Gumbel-Max reparametrization trick 将离散的pep_e转换成[0,1][0,1]间的连续变量。具体来说令pe=Sigmoid((logδlog(1δ)+ωe)/τ)p_{e}=\operatorname{Sigmoid}((\log \delta-\left.\left.\log (1-\delta)+\omega_{e}\right) / \tau\right),其中δ Uniform (0,1)\delta \sim \text { Uniform }(0,1)

由前面理论分析可知,一个合理的GDA应该保留一定数量和下游任务相关的信息。因此drop edge下的GDA不能太激进,删掉过多的边。为了防止GDA过于激进,作者在目标函数中增加一个边的限制项:

minΦmaxΘI(fΘ(G);fΘ(t(G)))+λregEG[eFωe/E], where GPG,t(G)TΦ(G)(8)\min _{\Phi} \max _{\Theta} I\left(f_{\Theta}(G) ; f_{\Theta}(t(G))\right)+\lambda_{\operatorname{reg}} \mathbb{E}_{G}\left[\sum_{e \in F} \omega_{e} /|E|\right], \text { where } G \sim \mathbb{P}_{\mathcal{G}}, t(G) \sim T_{\Phi}(G)\tag 8

I(fΘ(G);fΘ(t(G)))I^=1mi=1mlogexp(sim(zi,1,zi,2))i=1,iimexp(sim(zi,1,zi,2))(9)I\left(f_{\Theta}(G) ; f_{\Theta}(t(G))\right) \rightarrow \hat{I}=\frac{1}{m} \sum_{i=1}^{m} \log \frac{\exp \left(\operatorname{sim}\left(z_{i, 1}, z_{i, 2}\right)\right)}{\sum_{i^{\prime}=1, i^{\prime} \neq i}^{m} \exp \left(\operatorname{sim}\left(z_{i, 1}, z_{i^{\prime}, 2}\right)\right)}\tag 9

算法伪代码如下图所示:

3. 实验

3.1 实验结果

作者提出两种类型AD-GCL:

  • AD-GCL-FIX: 固定正则化权重λreg=5\lambda_{reg}=5
  • AD-GCL-OPT: 用验证集从{0.1,0.3,0.5,1.0,2.0,5.0,10.0}\{0.1,0.3,0.5,1.0,2.0,5.0,10.0\}中选取最合适的

NAD-GCL表示使用不带adversarial的edge dropping作为增强策略。同样有NAD-GCL-FIX和NAD-GCL-OPT两个版本。F-GIN表示使用全监督的GIN模型。所有情况下,作者的方法都取得了最优效果。

值得一提的时,GraphCL需要人工选择最优增强策略组合,而实验结果表明使用AD-GCL方法,这种选择不是必要的。另外,对比AD-GCL-FIX和AD-GCL-OPT,可以发现两者性能相差不多,说明AD-GCL对λreg\lambda_{reg}的选取是不敏感的。

作者在实验中发现,下游任务中使用不同分类器,会导致模型性能不同。InfoGraph和GraphCL原文使用非线性SVM模型作为分类器,得到的实验结果比表1中的结果要好。下表2是使用SVM作为分类器的实验结果:

3.2 Case Study

3.2.1λreg\lambda_{reg}对模型的影响

这部分更丰富的实验可以看原文附录。

3.2.2 迁移学习

现在一个数据集上利用自监督学习进行预训练,然后在其他数据集上微调。结果如下表3:

3.2.3 半监督学习

先在某个数据集上利用自监督学习进行预训练,然后在相同数据集上使用10%标签进行有监督微调。结果如下表4:

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

请我喝杯咖啡吧~

支付宝
微信