InfoGCL: Information-Aware Graph Contrastive Learning

https://arxiv.org/pdf/2110.15438

InfoGCL: Information-Aware Graph Contrastive Learning ,2021,NIPS

总结:本质上还是一种自适应GCL方法。现有的GCL方法基本都是被精心设计,用于某种特定的数据集或者图学习任务。GCL主要由增强、编码和对比三部分构成,而每个组件都有很多种可选项,因此当我们拿到某种特定图学习任务中,我们很难寻找这些组件间的最优组合,来设计一个最优GCL模型。本文作者就是针对这个问题,提出了三条准则,称之为“InfoGCL principle”,分别对应GCL中三个组件。按照作者提出的三条准则来,我们就能设计出用于特定任务的最优GCL模型。

1. 简介

1.1 摘要

Various graph contrastive learning models have been proposed to improve the performance of learning tasks on graph datasets in recent years. While effective and prevalent, these models are usually carefully customized. In particular, although all recent researches create two contrastive views, they differ greatly in view augmentations, architectures, and objectives. It remains an open question how to build your graph contrastive learning model from scratch for particular graph learning tasks and datasets. In this work, we aim to fill this gap by studying how graph information is transformed and transferred during the contrastive learning process and proposing an information-aware graph contrastive learning framework called InfoGCL. The key point of this framework is to follow the Information Bottleneck principle to reduce the mutual information between contrastive parts while keeping task relevant information intact at both the levels of the individual module and the entire framework so that the information loss during graph representation learning can be minimized. We show for the first time that all recent graph contrastive learning methods can be unified by our framework. We empirically validate our theoretical analysis on both node and graph classification benchmark datasets, and demonstrate that our algorithm significantly outperforms the state-of-the-arts.

最近几年,研究人员提出了各种图对比学习模型用于提高图数据集上学习任务的性能。虽然大多数方法都很有效,但是这些方法通常都是精心定制的。尤其是,虽然最近这些GCL方法都是成成两个对比视角,但是它们在增强、架构和目标函数上差异很大。如何从头构建一个用于某个特定图学习任务和数据集的GCL模型仍然是一个开放性问题。本文,我们旨在通过研究对比学习过程中图信息是如何转换和转移的,并提出一种信息感知GCL框架称之为InfoGCL,来填补这一空白。InfoGC框架的关键在于其遵循Information Bottleneck原则,在减少对比项之间互信息的同时,可以保持各个模块和整个框架的任务相关信息完整性,来最小化图表示学习期间的信息损失。我们首次展示了最近所有GCL方法都能统一到我们提出的框架中。我们在节点分类和图分类的标准数据集上的实验证明了我们的理论分析,并且我们的方法要优于SOTA方法。

1.2 本文工作

背景: 受对比学习在视觉和语言领域成功应用的启发,最近几年研究人员提出了很多种GCL方法。虽然这些方法性能很好,但是它们的增强策略、架构、对比目标都存在差异。并且这些GCL模型都是被精心设计的,用于某个特定图学习任务或者数据集。

动机: GCL方法中包含很多组件,比如数据增强和数据编码,并且这些组件有很多可选项,这些众多变体导致难以设计出有效、鲁棒性强的模型。本文作者解决的问题就是:如何设计一种高鲁棒性GCL框架,可以用于各种图学习任务。

本文工作: 信息瓶颈(IB)是表示学习中一条重要原则,它鼓励从任务相关信息中学习表示,同时抑制从任务无关信息中学习表示。作者将IB拓展到GCL中,提出了信息感知图对比学习框架InfoGCL。作者提出了在GCL中寻找最优模块的切实可行原则,并证明了这些原则可以统一目前所有的图对比学习方法:(1)增强视角需要尽肯能包含任务相关信息,并且不同视角之间共享的信息要尽可能少;(2)编码器要任务相关,并且尽可能简单;(3)对比模式在完成对比后要尽可能保持更多的任务相关信息。(看到这里,个人觉得这三条规则有点扯。)另外作者还调查了负采样在GCL中的角色,认为负采样技术不是必须的,尤其在图数据不是很稀疏的情况下。最后,实验表明作者提出的InfoGCL方法无论在node-level还是graph-level任务中都表现优秀。

2. 方法

上图1展示了一种常规的GCL框架,作者将它分成三部分:增强、编码和对比。其实还有个负采样,也比较重要。但是最近CV中一些工作表明显示负采样可有可无,GCL中也有一些相关研究。作者在后面弄了一个discussion单独讨论GCL中的负采样。

图1中三个组件可选项都有很多,导致最终的GCL模型有很多选择。针对如何设计一个用于特定图学习任务或者数据集的GCL方法,作者尝试回答下面三个问题:(1)什么样的增强视角是最优的?(2)什么样的编码器是最优的?(3)什么样的对比模式是最优的?

2.1 数据增强

数据增强的目标就是通过一些转换方法得到新的数据,但是这些转换不会影响数据本质上的语义标签。本文作者针对的还是GCL中常用的4种增强手段:Node dropping,Edge perturbation,Attribute masking和Subgraph sampling。为了寻找最适合某种下游任务的增强策略,作者提出了一个“optimal augmented views”推论。

具体来说,作者认为最优增强视角应该尽可能包含任务相关信息,并且不同视角之间共享的信息必须是任务相关的。基于这个动机,作者得出如下推论:

Corollary 1. (Optimal Augmented Views) For a downstream task TT whose goal is to predict a semantic label yy, the optimal views, viv_i^{*} , vjv_j^{*}, generated from the input graph G are the solutions to the following optimization problem :

\begin{align} \left(\mathbf{v}_{i}^{*}, \mathbf{v}_{j}^{*}\right)=& \underset{\mathbf{v}_{i}, \mathbf{v}_{j}}{\arg \min } I\left(\mathbf{v}_{i} ; \mathbf{v}_{j}\right)\\ \text { s.t. } & I\left(\mathbf{v}_{i} ; y\right)=I\left(\mathbf{v}_{j} ; y\right) \\ & I\left(\mathbf{v}_{i} ; y\right)=I(\mathcal{G} ; y) \end{align}

第一行公式表示最小化两个视角间共享信息,第二行表示两个视角包含相同数量任务相关信息,第三行表示两个视角包含的任务相关信息要和输入图包含的信息量一致。(这块作者说附录中有证明,原文没找到附录)如下图2所示:

2.2 编码器

GCL中编码器的作用就是学习两个视角的节点或图嵌入,可以选择的类型有很多,比如GCN、GAT、GIN等等。同样地,为了选取最优编码器,作者提出了一个“optimal view encoder”推论。

具体来说,作者认为最优编码器生成的表示应该包含两个视角共享的所有信息,同时保证这些信息都是任务相关的。基于这个动机,作者提出如下推论:

Corollary 2. (Optimal View Encoder) Given the optimal views, $v^∗_i $, vjxv_j^x , for a downstream task TT whose goal is to predict a semantic label yy, the optimal view encoder for view viv^∗_i is the solution to the following optimization problem:

fi=argminfiI(fi(vi);vi) s.t. I(fi(vi);vj)=I(vi;vj)\begin{gathered} f_{i}^{*}=\underset{f_{i}}{\arg \min } I\left(f_{i}\left(\mathbf{v}_{i}^{*}\right) ; \mathbf{v}_{i}^{*}\right) \\ \text { s.t. } I\left(f_{i}\left(\mathbf{v}_{i}^{*}\right) ; \mathbf{v}_{j}^{*}\right)=I\left(\mathbf{v}_{i}^{*} ; \mathbf{v}_{j}^{*}\right) \end{gathered}

公式1最小化视角和嵌入之间共享的信息量,公式2表示两个视角间共享的信息,在两个视角嵌入之间依旧共享。如下图3所示:

2.3 对比模式

对比模式可以表示成(ci(),cj())(c_i(\cdot),c_j(\cdot)),其中ci()c_i(\cdot)cj()c_j(\cdot)分别表示聚合操作。作者总结5中对比模式:global-global,local-global,local-local,multi-scale,hybrid-mode。其中multi-scale表示将一个视角的图表示和另一个视角的中间表示对比,hybrid-mode表示同时使用global-global和local-global。为了寻找最优对比模式,作者提出了一个“optimal contrastive mode”推论。

具体来说,作者认为最优的对比模式在聚合节点表示后应该能保留大部分任务相关信息。基于这个动机提出了如下推论:

Corollary 3. (Optimal Contrastive Mode) Given the latent representations, ziz^∗_i , zjz^∗_j, extracted by the optimal view encoders, i.e., zi=fi(vi)z^∗_i = f^∗_i (v^∗_i ), zj=fj(vj)z^∗_j = f^∗_j (v^∗_j) , and a downstream task T with label y, the optimal contrastive mode is the solution to the following optimization problem, where cic_i, cjc_j are the aggregation operations applied to the latent representations:

(ci,cj)=argmin(ci,cj)I(ci(zi);cj(zj))\left(c_{i}^{*}, c_{j}^{*}\right)=\underset{\left(c_{i}, c_{j}\right)}{\arg \min }-I\left(c_{i}\left(\mathbf{z}_{i}^{*}\right) ; c_{j}\left(\mathbf{z}_{j}^{*}\right)\right)

2.4 InfoGCL

基于上述分析,作者提出了几条规则,只要按照这些规则来,我们就能为我们的图数据和任务设计一个最优的GCL模型,作者称之为“InfoGCL Principle”。因为在真实世界中,由于数据噪声、模型限制等原因,作者只能单独为每个节点设计最佳解决方案,并且实际应用中这种最优只是近似最优。

  • 命题1: 给定任务TT,标签为yy,以及一系列增强策略{q1(),q2(),}\{q_1(\cdot),q_2(\cdot),\cdot\cdot\cdot\}vi,vj\mathbf v_i,\mathbf v_j表示生成的两个视角,qi()q_i(\cdot)qj()q_j(\cdot)表示推荐的最优增强策略,这两个策略会最大化I(vi;y)+I(vj;y)I(vi;vj)I\left(\mathbf{v}_{i} ; y\right)+I\left(\mathbf{v}_{j} ; y\right)-I\left(\mathbf{v}_{i} ; \mathbf{v}_{j}\right),即图2中A+B+DA+B+D区域。
  • 命题2: 给定任务TT,标签为yy,以及一系列编码器{fi1(),fi2(),}\{f_i^1(\cdot),f_i^2(\cdot),\cdot\cdot\cdot\}zi\mathbf z_i表示视角vi\mathbf v_i的输出,最优编码器应该要最大化vi,zi,y\mathbf v_i,\mathbf z_i,y之间的互信息。对于vj\mathbf v_j视角同理。
  • 命题3: 给定任务TT,标签为yy,提取出的表示zi,zjz_i,z_j以及一系列聚合操作{c1(),c2(),}\{c_1(\cdot),c_2(\cdot),\cdot\cdot\cdot\},最优对比模式(ci,cj)(c_i,c_j)应该最大化ci(zi),cj(zj),yc_i(\mathbf z_i),c_j(\mathbf z_j),y之间的互信息。

2.5 负采样扮演的角色

现有的GCL方法非常依赖于负样本选取(不准确,有些方法也是不依赖于显示负采样),但是视觉领域对比学习的最新进展表明显示的负采样不是必须的。作者遵循SimSiam中的方法,重新定义了损失函数:

L=1Nn=1Nzi,nzi,nzj,nzj,n\mathcal{L}=-\frac{1}{N} \sum_{n=1}^{N} \frac{\mathbf{z}_{i, n}}{\left\|\mathbf{z}_{i, n}\right\|} \cdot \frac{\mathbf{z}_{j, n}}{\left\|\mathbf{z}_{j, n}\right\|}

这种损失函数可以避免显示负采样。和GCL中最近一篇工作比较类似,不同的是本文作者同时关注与节点分类和图分类任务。

3. 实验

3.1 数据集

这块作者不太严谨,Cora和Citeseer搞反了。

3.2 实验结果

3.3 InfoGCL Principle

作者发现他们提出的InfoGCL Principle可以统一现有的GCL方法:最近所有GCL方法的都能划分成作者提出的三个阶段,虽然他们架构不同,但是都implicitly遵循InfoGCL Principle。下面作者从InfoGCL Principle角度,对现有的GCL方法进行解释,实验在附录中。

  1. GCA,在下游任务中使用图增强比不使用图增强性能更好,因为使用图增强可以实现更小的I(vi;vj)I(v_i;v_j),即命题1。
  2. GCA,使用不同的增强方式,模型性能更好,因为两种增强方式可以进一步减小I(vi;vj)I(v_i;v_j),即命题1。
  3. GCA,node dropping和subgraph sampling更通用一些,因为和属性mask,边扰动相比,它们对图语义的影响更小,I(vi;y)I(v_i;y)I(vj;y)I(v_j;y)更大,即命题1。
  4. GCA,edge perturbation对社交网络有效,但是对分子网络有负面影响。因为社交网络的语义信息对边扰动比较robust,但是某些分子网络的语义非常依赖局部结构,对变扰动很敏感,会导致I(vi;y)I(v_i;y)大幅降低。
  5. MVGRL,node-graph对比模式往往比其他对比模式好。因为node-graph对比可以提取更多图结构信息,有利于任务标签的预测,即命题3.(这个不太明白,感觉有点扯)

3.4 负样本消融

在图分类数据集上负采样对模型性能几乎不产生影响,在三个节点分类数据集上负采样会提高模型性能。通过对比表1中数据集统计,可以发现这三个节点分类数据集拓扑结构和节点特征(one-hot)都更加稀疏。因此,作者猜测对于拓扑结构或者节点特征非常稀疏的数据集,负采样可以提高模型性能。

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

请我喝杯咖啡吧~

支付宝
微信