JOAO:自动化选择数据增强的GraphCL

论文标题:Graph Contrastive Learning Automated
论文链接:https://arxiv.org/abs/2106.07594
论文来源:ICML 2021

之前的相关博客:GraphCL:基于数据增强的图对比学习

一、概述

与图片数据不同,图数据来源于多个不同的领域,不同来源的图数据性质差异很大,因此在进行数据增强时不同的数据集可能会适应不同的方式。在GraphCL中采用了多种不同的数据增强方式,但是对于具体的数据集来说需要通过手工挑选特定的增强方式。数据增强方式的选择遵循经验法则,通常是从每个数据集的反复试验中总结出来的。对于这个问题,本文提出了 JOint Augmentation Optimization (JOAO)框架来进行数据增强方式的自动选择。JOAO是一个基于对抗方式的min-max双层训练框架,其特点是:
①自动的,完全不需要人工选择数据增强的方式;
②自适应的,平滑泛化处理不同的图数据;
③动态的,允许在不同的训练阶段选用不同的数据增强。

另外需要强调两点:
①JOAO不一定要与GraphCL绑定,也可以与其他图对比学习框架结合;
②JOAO主要关注数据增强方式的自动化选择,其目标是能够达到SOTA的效果,而不一定要超越它。

二、方法

  1. GraphCL

对于图,其节点特征为,。一个GNN被定义为映射,是图所在的空间。我们期望学习一个GNN encoder来讲图映射为一个维向量。

本文采用的GraphCL框架如下图所示,具体可以参考前面的链接:

GraphCL

具体的,模型的输入图为,从经验分布里得到。从里采样两个增强操作。GraphCL优化一下目标函数:

min_{\theta }\mathcal{L}(G,A_1,A_2,\theta )\\ =min_{\theta } \{-E_{P_{G}\times P_{(A_1,A_2)}}sim(\underset{\mathrm{positive\: pairs}}{\underbrace{T_{\theta ,1}(G),T_{\theta ,2}(G)}})\\ +E_{P_{G}\times P_{A_1}}log(E_{P_{G^{'}}\times P_{A_2}}exp(sim(\underset{\mathrm{negative\: pairs}}{\underbrace{T_{\theta ,1}(G),T_{\theta ,2}(G^{'})}})))\}

这里的由参数化,是共享的GNN和非线性映射,是余弦相似度,相当于负采样分布,和是边缘分布。经过对比学习预训练后,用来做下游任务的微调。

在GraphCL中,通过手工挑选和预定义来确定,换句话说是一个Dirac分布。对于一个数据集来说,只采用一个对来进行学习。

  1. JOAO
  • 框架

JOAO框架能够动态和自动地学习优化,其主要依赖以下双层优化框架:

上层的与GraphCL中的损失一样,当然也可以是其他框架的对比损失,下层目标优化采样分布。JOAO只从自监督训练本身获取信息,不会接触到下游标注数据。

JOAO受对抗训练的启发,采用交替梯度下降的min-max优化框架,始终利用当前对比损失的最具挑战性的数据增强:

min_{\theta }\mathcal{L}(G,A_1,A_2,\theta ),\\ s.t.\; P_{(A_1,A_2)}\in argmax_{P_{(A_{1}^{'},A_{2}^{'})}}\{\mathcal{L}(G,A_{1}^{'},A_{2}^{'},\theta )\\ -\frac{\gamma }{2}dist(P_{(A_{1}^{'},A_{2}^{'})},P_{prior})\}

这里的,是所有可能的增强组合的概率分布,以及是距离函数。在本文中采用均匀分布作为,目的是希望能够保证选择的多样性。采用平方欧式距离,也就是,这里的。

采用交替梯度下降算法(AGD)来交替优化上层最小化和下层最大化,如下:

算法
  • 上层优化

对于上层对比损失,采用常规的梯度下降算法:

这个式子就是算法中的(4)式,这里的是学习率。

  • 下层优化

由于按照原来的损失函数,很难去直接优化,所以首先我们把对比损失重写为:

\mathcal{L}(G,A_1,A_2,\theta )=\sum_{i=1}^{|\mathcal{A}|}\sum_{j=1}^{|\mathcal{A}|}{\color{Green}{p_{ij}}}\{-E_{P_{G}}sim(T_{\theta }^{i}(G),T_{\theta }^{j}(G))\\ +E_{P_{G}}log(\sum_{j^{'}=1}^{|\mathcal{A}|}{\color{Red}{p_{j^{'}}}}E_{P_{G^{'}}}exp(sim(T_{\theta }^{i}(G),T_{\theta }^{j^{'}}(G^{'}))))\}

这里的,边缘分布。这种重写的方式实质上是将采样增强对的方式改成了概率加权的形式,然而改写的形式中出现了边缘概率,对此的解决方法是采用对比损失中负样本对的下界:

E_{P_{G}\times P_{A_1}}log(E_{P_{G^{'}}\times P_{A_2}}exp(sim(T_{\theta ,1}(G),T_{\theta ,2}(G^{'}))))\\ \geq E_{P_{G}\times P_{A_1}\times P_{A_2}}log(E_{P_{G^{'}}}exp(sim(T_{\theta ,1}(G),T_{\theta ,2}(G^{'}))))\\ \approx E_{P_{G}\times P_{(A_1,A_2)}}log(E_{P_{G^{'}}}exp(sim(T_{\theta ,1}(G),T_{\theta ,2}(G^{'}))))

上面的转化用到了Jensen不等式。最终我们得到对比损失的近似形式:

\mathcal{L}(G,A_1,A_2,\theta )\approx \sum_{i=1}^{|\mathcal{A}|}\sum_{j=1}^{|\mathcal{A}|}p_{ij}\ell (G,\mathcal{A}^{i},\mathcal{A}^{j},\theta )\\ =\sum_{i=1}^{|\mathcal{A}|}\sum_{j=1}^{|\mathcal{A}|}p_{ij}\{-E_{P_{G}}sim(T_{\theta }^{i}(G),T_{\theta }^{j}(G))\\ +E_{P_{G}}log(E_{P_{G^{'}}}exp(sim(T_{\theta }^{i}(G),T_{\theta }^{j}(G^{'}))))\}

那么现在下层优化的形式为:

P_{(A_{1},A_{2})}\in argmax_{p\in \mathcal{P},p=[p_{ij}],i,j=1,\cdots ,|\mathcal{A}|}\{\psi (p)\}\\ \psi (p)= \sum_{i=1}^{|\mathcal{A}|}\sum_{j=1}^{|\mathcal{A}|}p_{ij}\ell (G,\mathcal{A}^{i},\mathcal{A}^{j},\theta )-\frac{\gamma }{2}\sum_{i=1}^{|\mathcal{A}|}\sum_{j=1}^{|\mathcal{A}|}(p_{ij}-\frac{1}{|\mathcal{A}|^{2}})^{2}

这里的是一个强凹函数。现在可以使用梯度下降来更新采样分布:

这个式子就是算法中的(9)式。上面的过程相当于先梯度下降然后进行概率的归一化。这里的是学习率,是的根,是element-wise非负运算符。可以通过bi-jection方法高效查找。

  • JOAO中的多映射头

原来的GraphCL只采用一个增强对,而现在应用了JOAO后会采用各种不同的增强对,这会导致数据增强对数据的原始分布扭曲地非常剧烈,如此训练的模型性能可能会不好。为了解决这个问题,JOAO引入了多个线性映射的head以及增强感知的选择模式。具体的,就是采用个线性映射,每一个对应一种增强类型,在训练时一旦某种增强方式被选用,那么它就只会通过和更新其对应的线性映射。

用数学形式来表达就是线性映射同样服从分布,,代表线性映射的参数。那么现在就有。引入多映射head的JOAO记作JOAOv2,其大致框架图如下:

JOAOv2

损失函数为:

min_{\theta }\mathcal{L}(G,A_1,A_2,\theta ^{'},\Theta _{1}^{''},\Theta _{2}^{''}),\\ s.t.\; P_{(A_1,A_2)}\in argmax_{P_{(A_{1}^{'},A_{2}^{'})}}\{\mathcal{L}(G,A_{1}^{'},A_{2}^{'},\theta ^{'},\Theta _{1}^{''},\Theta _{2}^{''})\\ -\frac{\gamma }{2}dist(P_{(A_{1}^{'},A_{2}^{'})},P_{prior})\},\\ P_{(g_{\Theta _{1}^{''}},g_{\Theta _{2}^{''}})}=P_{(A_{1},A_{2})}

三、实验

  1. JOAO与GraphCL手工选择的对比

下图对比了GraphCL论文中实验结果与JOAO选择的结果:

对比
  1. 半监督学习

半监督学习实验:

半监督学习
  1. 无监督学习

无监督学习实验:

无监督学习
  1. 迁移学习

迁移学习实验:

迁移学习
  1. 大规模数据集

半监督大规模数据集实验:

大规模数据及
  1. 总体实验结果
实验

你可能感兴趣的:(JOAO:自动化选择数据增强的GraphCL)