Multi-Scale Contrastive Siamese Networks for Self-Supervised Graph Representation Learning

https://arxiv.org/pdf/2105.05682

https://github.com/GRAND-Lab/MERIT

Multi-Scale Contrastive Siamese Networks for Self-Supervised Graph Representation Learning,2021,arxiv preprint

总结:作者将孪生网络和图对比学习结合到一起,提出了一种新的图对比学习方法MERIT。希望利用BYOL模型中自举机制解决现有图对比学习方法中负样本需要刻意选择的问题(但是我理解的这篇文章并没有用到BYOL中的思想,也没有解决这一问题)。具体来说,一方面通过孪生GNNs,设计了一种跨网络对比来从历史表示中提取知识;另一方面,为了进一步丰富自监督信号,引入了另一种不同尺度下的跨视角对比。总的来说,本文的创新点可以看做是两种工作的合并,实验结果还不错。

1. 简介

1.1 摘要

Graph representation learning plays a vital role in processing graph-structured data. However, prior arts on graph representation learning heavily rely on labeling information. To overcome this problem, inspired by the recent success of graph contrastive learning and Siamese networks in visual representation learning, we propose a novel self-supervised approach in this paper to learn node representations by enhancing Siamese self-distillation with multi-scale contrastive learning. Specifically, we first generate two augmented views from the input graph based on local and global perspectives. Then, we employ two objectives called cross-view and cross-network contrastiveness to maximize the agreement between node representations across different views and networks. To demonstrate the effectiveness of our approach, we perform empirical experiments on five real-world datasets. Our method not only achieves new state-of-the-art results but also surpasses some semi-supervised counterparts by large margins. Code is made available at https://github.com/GRAND-Lab/MERIT.

图表示学习在图结构数据任务中占有十分重要的地位,但是现有的图表示学习方法过度依赖于标签信息。为了克服这个问题,受图对比学习和孪生神经网络(CV)成功经验的启发,本文作者提出了一种新的自监督方法,通过使用多尺度对比学习增强Siamese自我蒸馏来学习节点表示。具体来说,我们首先分别基于输入图的局部和全局信息生成两个增强视角。然后我们使用两个目标函数,称为跨视图和跨网络对比,来最大化不同视角和网络下节点表示的一致性。为了证明我们提出的方法的有效性,我们在真实数据集上进行了多组实验。我们的方法不仅取得了最优效果,甚至大大超过了一些同类半监督模型。

1.2 本文工作

背景: 由于数据标注代价过大,有监督图表示学习方法的应用存在很大限制,而一些传统的无监督方法存在一些弊端。比如,DeepWalk、Node2Vec这些基于随机游走和skip-gram的模型强调相邻节点必须要有相似的表示;GraphSAGE这些基于矩阵重构的方法过度强调了图的邻近性,没有考虑更global的子图之间的关系。为了解决这些问题,近年来人们基于MI和contrastive learning,提出了多种图对比学习方法,比如MVGRL、GMI,GRACE等等。

动机: 现有的图对比学习方法存在一些弊端:一是这些基于MI的方法比如DGI、GMI、MVGRL等通常需要选择MI计算器,其计算代价比较大,另外会让模型对评判器的选择比较敏感;二是现有的GCL过度依赖于大量负样本来避免模型学习到的知识过于简单。也就是说,在对比学习中,负节点和负图是必不可少的,需要刻意选择。为了避免上述问题,在CV领域有人提出了BYOL模型,无需负样本,可以利用自举机制实现图像上的无监督表示学习。在视觉领域,对于自监督表示学习方法,有人采用了孪生网络。但是这一方法还没有被应用于图学习中。

本文工作: 本文作者为了克服前文提到的现有GCL方法存在的弊端,利用孪生网络中的自举机制,提出了一种简单有效的图对比学习框架来学习节点表示,称之为Multi-scale Contrastive Siamese Network(MERIT)。

3. 方法

如上图所示,作者提出的MERIT模型包含三个组件:图增强、跨网络对比、跨视角对比。模型训练流程为:

  1. 通过数据增强策略生成两种不同视角的图;
  2. 分别利用孪生网络中的在线网络和目标网络处理两个视角下的图(这里作者没作什么改变,和传统孪生网络类似);
  3. 在不同尺度下对比两个视图下节点表示,如上图1最右边所示。

下面详细介绍下模型中这三个组件。

3.1 图增强

这块比较常规,作者从Graph Diffusion、Edge Modification、Subsampling和Node Feature Masking四种增强策略中随机选取两种不同策略。

对于这些增强策略的详细介绍可以参照之前的论文笔记,这里不做赘述。

3.2 跨网络对比学习

如上图1所示,在作者提出的框架中包含一个孪生结构,该结构包含两个单独的encoders(gθg_\thetapθp_\thetaggpp),其中online encoder包含一个额外的预测器qθq_\theta。首先利用孪生网络中的在线网络和目标网络分别计算两个视角下的图表示,得到H1H^1H2H^2Z1Z^1Z2Z^2

得到四种图表示后,跨网络对比学习操作如下图a所示:

其中H1=qθ(Z1)H^1=q_\theta(Z^1)Z1=p0(g0(X~1,A1~))Z^{1}=p_{0}\left(g_{0}\left(\tilde{X}_{1}, \tilde{A_{1}}\right)\right)表示视角1通过online网络得到的节点嵌入;Z^2=pζ(gζ(X~2,A2~))\hat{Z}^{2}=p_{\zeta}\left(g_{\zeta}\left(\tilde{X}_{2}, \tilde{A_{2}}\right)\right)表示视角2通过target网络得到的节点嵌入。

具体来说,图中红色虚线表示正例对,其背后直觉是拉近不同网络、不同视角下相同节点的嵌入,这有利于从历史观察中获取知识,并提高在线编码器的稳定性。为了方便起见,作者不直接利用梯度下降更新目标网络的参数,而是通过动量更新机制来优化其参数:

ζt=mζt1+(1m)θt\zeta^{t}=m \cdot \zeta^{t-1}+(1-m) \cdot \theta^{t}

其中mmζ\zetaθ\theta分别表示动量、目标网络参数、在线网络参数。

为了进一步探究H1H^1Z^2\hat Z^2之间的对比关系,作者通过构建额外的负样本来正则化基本的正则损失,即:

Lcn1(vi)=logexp(sim(hvi1,z^vi2))j=1Nexp(sim(hvi1,z^vj2))\mathcal{L}_{c n}^{1}\left(v_{i}\right)=-\log \frac{\exp \left(\operatorname{sim}\left(h_{v_{i}}^{1}, \hat{z}_{v_{i}}^{2}\right)\right)}{\sum_{j=1}^{N} \exp \left(\operatorname{sim}\left(h_{v_{i}}^{1}, \hat{z}_{v_{j}}^{2}\right)\right)}

Lcn2(vi)=logexp(sim(hvi2,z^vi1))j=1Nexp(sim(hvi2,z^vj1))\mathcal{L}_{c n}^{2}\left(v_{i}\right)=-\log \frac{\exp \left(\operatorname{sim}\left(h_{v_{i}}^{2}, \hat{z}_{v_{i}}^{1}\right)\right)}{\sum_{j=1}^{N} \exp \left(\operatorname{sim}\left(h_{v_{i}}^{2}, \hat{z}_{v_{j}}^{1}\right)\right)}

Lcn1(vi)\mathcal{L}_{c n}^{1}\left(v_{i}\right)表示对比H1H^1Z^2\hat Z^2Lcn2(vi)\mathcal{L}_{c n}^{2}\left(v_{i}\right)表示对比H2H^2Z^1\hat Z^1。这样整个模型的cross-network损失定义为:

Lcn=12Ni=1N(Lcn1(vi)+Lcn2(vi))\mathcal{L}_{c n}=\frac{1}{2 N} \sum_{i=1}^{N}\left(\mathcal{L}_{c n}^{1}\left(v_{i}\right)+\mathcal{L}_{c n}^{2}\left(v_{i}\right)\right)

3.3 跨视角对比学习

由于目标网络不直接进行梯度更新,因此跨视角对比学习只在在线网络中进行,如下图2b所示:

跨视角对比包含intra-和inter-view两个部分,这和GRACE一文中的方法类似但又有所不同。对于增强策略,作者这里不仅考虑采用局部结构和属性增强,还考虑通过图扩散注入全局拓扑信息。

  • inter-view contrasitive

    Linter 1(vi)=logexp(sim(hvi1,hvi2))j=1Nexp(sim(hvi1,hvj2))\mathcal{L}_{\text {inter }}^{1}\left(v_{i}\right)=-\log \frac{\exp \left(\operatorname{sim}\left(h_{v_{i}}^{1}, h_{v_{i}}^{2}\right)\right)}{\sum_{j=1}^{N} \exp \left(\operatorname{sim}\left(h_{v_{i}}^{1}, h_{v_{j}}^{2}\right)\right)}

    这里和前文中跨网络对比损失类似,分母负样本对只包含跨网络负样本对(首尾节点嵌入上标分别是1和2)。

  • intra-view contrasitive

    Linlra1(vi)=logexp(sim(hvi1,hvi2))exp(sim(hvi1,hvi2))+ΦΦ=j=1N1ijexp(sim(hvi1,hvj1))\begin{aligned}\mathcal{L}_{i n l r a}^{1}\left(v_{i}\right) &=-\log \frac{\exp \left(\operatorname{sim}\left(h_{v_{i}}^{1}, h_{v_{i}}^{2}\right)\right)}{\exp \left(\operatorname{sim}\left(h_{v_{i}}^{1}, h_{v_{i}}^{2}\right)\right)+\Phi} \\\Phi &=\sum_{j=1}^{N} \mathbb{1}_{i \neq j} \exp \left(\operatorname{sim}\left(h_{v_{i}}^{1}, h_{v_{j}}^{1}\right)\right)\end{aligned}

    公式分母中负样本对只包含同一视角网络中的负样本对(首尾节点嵌入上标都是1)。

这样整个模型的跨视角对比损失可以定义为:

Lcv=12Ni=1N(Lcv1(vi)+Lcv2(vi))\mathcal{L}_{c v}=\frac{1}{2 N} \sum_{i=1}^{N}\left(\mathcal{L}_{c v}^{1}\left(v_{i}\right)+\mathcal{L}_{c v}^{2}\left(v_{i}\right)\right)

其中Lcvk(vi)=Lintra k(vi)+Linter k(vi),k{1,2}\mathcal{L}_{c v}^{k}\left(v_{i}\right)=\mathcal{L}_{\text {intra }}^{k}\left(v_{i}\right)+\mathcal{L}_{\text {inter }}^{k}\left(v_{i}\right), \quad k \in\{1,2\}。至此,整个模型的损失函数定义为:

L=βLcv+(1β)Lcn\mathcal{L}=\beta \mathcal{L}_{c v}+(1-\beta) \mathcal{L}_{c n}

其中β\beta为平衡因子。在推理阶段使用在线网络得到的两个嵌入用于下游任务,即H~=H1+H2RN×D\tilde{H}=H^{1}+H^{2} \in \mathbb{R}^{N \times D^{\prime}}作为推理器的输入。

3. 实验

3.1 实验设置

  1. 采用1层GCN作为graph encoders(gθg_\thetagζg_\zeta)的骨架
  2. 超参数β\beta{0.2,0.4,0.6,0.8}\{0.2,0.4,0.6,0.8\}中选取
  3. 数据集使用:Cora、CiteSeer、PubMed、Amazon Photo、Coauthor CS

3.2 节点分类实验

作者将MERIT和5种有监督方法和4中SOTA图对比学习方法进行对比,实验结果如下表所示:

可以看到作者提出的方法在所有数据集中都取得了最优结果。

3.3 参数敏感性

3.3.1 平衡因子β\beta和动量mm

观察上图,作者有如下发现:

  1. 给定一个固定的动量值m,β\beta通常取0.4~0.6,模型性能最好。这证明了同时使用两种尺度的对比学习,比单独使用一种,效果更好。
  2. 给定一个固定的β\beta值,mm取1时模型性能很差。作者猜测这可能是因为将动量值设为1会阻碍模型提取知识,从而影响模型的优化。
  3. mm取0时模型亦然取得不错的效果,作者猜测这可能是因为bootstrapping机制中真正起作用的时stop gradient和predictor。

3.3.2 改变比例

除了mmβ\beta,数据增强在对比学习中也扮演着十分重要的角色。

  • 上图4a展示了不同调整比例下模型性能的变化。

    红线表示edge modification,蓝线表示edge modification+node feature modification。

    • 在只使用EM策略时,调整比例越高,模型性能越好。这可能是对比学习的本质导致的,需要更具有挑战性的对比任务来获取更好的性能。
    • 在同时使用EM和NFM时,调整比例过高会降低模型性能,因为这会过度破坏图的结构和属性信息。
  • 上图4b展示了在使用EM、NFM的基础上添加Graph Diffusion时,模型性能的变化。

    • α=0.5\alpha=0.5时模型性能最好。
    • α=0\alpha=0时,即去掉Diffusion时,模型性能大幅下降。这证明了作者前文的猜想:即注入全局信息可以进一步提高模型的表达能力。

3.4 消融实验

为了验证MERIT中两种对比组件的有效性,作者提出了两种变体:MERIT w/o cross-network和MERIT w/o cross-view,分别表示只使用跨网络损失和只使用跨视角损失。实验结果如下表3所示:

另外作者为了验证MERIT的优越性,使用t-SNE对节点嵌入进行了可视化:

其中不同颜色代表不同节点类型。

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

请我喝杯咖啡吧~

支付宝
微信