论文阅读《Multi-Scale Contrastive Siamese Networks for Self-Supervised Graph Representation Learning》


论文信息

论文标题:Multi-Scale Contrastive Siamese Networks for Self-Supervised Graph Representation Learning
论文作者:Ming Jin,Yizhen Zheng,Yuan-Fang Li,Chen Gong,Chuan Zhou,Shirui Pan
论文来源: 2021,IJCAI
论文地址:download
论文代码:download


一、Abstract

问题:现有的图表示学习技术严重依赖标记信息。
解决:本文提出了一种新的自监督方法,通过多尺度对比学习增强孪生网络自蒸馏来学习节点表示。具体来说,首先从输入图生成两个增强视图,这两个增强视图分别是基于局部和全局视图的。然后采用两个目标,即跨视图(cross-view)和跨网络(cross-network)的对比性,最大化不同视图和网络的节点表示之间的一致性。

  • 多尺度:cross-view中视图内和视图间两种尺度的对比学习,不同视图下cross-network的对比学习。
  • 孪生网络:狭义的孪生神经网络(siamese network)由两个结构相同,且权重共享的神经网络拼接而成。广义的孪生神经网络,或伪孪生神经网络(pseudo-siamese network),可由任意两个神经网拼接而成,不共享权值。孪生神经网络用于处理两个输入"比较类似"的情况。伪孪生神经网络适用于处理两个输入"有一定差别"的情况。siamese network的初衷是计算两个输入的相似度,。传统的siamese network使用Contrastive Loss。
  • 自蒸馏(Self Distillation)是三种知识蒸馏学习方法的一种:离线蒸馏(Offline Distillation)、在线蒸馏(Online Distillation)、自蒸馏(Self Distillation)。这三种蒸馏方法区别是:
    离线蒸馏(Offline Distillation): teacher模型是已经预训练好的,已经有很好的效果。再让teacher模型来指导student模型进行学习,完成知识蒸馏。
    在线蒸馏(Online Distillation):teacher模型没有预训练,准备和student模型一同进行训练,在一同训练的过程中来指导student模型进行学习,完成知识蒸馏。
    自蒸馏(Self Distillation):teacher模型和student模型是一个模型,也就是一个模型来指导自己进行学习,完成知识蒸馏。

二、Introduction

图表示学习:学习节点或图的低维嵌入,以保存底层的结构和属性信息。
在本文中,为了缓解现有GCL(图对比学习)方法的缺点,并利用孪生网络中的bootstrapping,我们提出了一个简单但强大的框架来学习节点级表示,我们称之为多尺度对比孪生网络(MERIT)。
我们的方法旨在优化两个目标,即跨网络和跨视图的对比。首先,考虑到现有的GCL方法严重依赖于负样本来避免表示崩溃,我们建议使用动量驱动的孪生体系结构作为我们的主干,分别从online network和target network的不同视图最大化节点表示之间的相似性。
背后的直觉是,在我们的框架中缓慢移动的target network充当了一个稳定的“平均教师”来编码历史观察,这引导online network学习探索更丰富和更好的表示,而不依赖额外的负样本来避免表示崩溃。然而,仅仅优化这个目标会忽略丰富的底层图拓扑信息。为了部分地缓解这个问题,我们注入额外的负样本,在两个网络的不同视图中推开不同的节点。
其次,我们建议进一步利用节点连通性,并在online network中引入视图内和视图间的多尺度对比学习,以规范我们方法中上述bootstrapping目标的训练。

bootstrapping:用原样本自身的数据抽样得出新的样本及统计量。在现实问题中,对总体进行多次抽样常常是不方便的甚至是无法实施的,所以就只进行一次抽样得到一个样本,再在这个样本中进行多次有放回地抽样,得到多个“样本的样本”,这样通过统计这些小样本的分布,就能得到总体的估计量(例如方差、标准差等)。
平均教师

三、Notations

在这里插入图片描述

四、framework(MERIT)

framew模型主要由三部分组成:图增强、跨网络对比学习和跨视图对比学习。

(一)Graph Augment

1.Graph Diffusion(GD)

图扩散:
S = ∑ k = 0 ∞ θ k T k ∈ R N × N S=\sum_{k=0}^{\infty} \theta_{k} T^{k} \in \mathbb{R}^{N \times N} S=k=0θkTkRN×N
θ \theta θ是控制局部和全局信号分布的参数;
T ∈ R N × N T \in \mathbb{R}^{N \times N} TRN×N是传递邻接矩阵的转移矩阵。
本文采用Personalized PageRank(PPR)kernel来支持图扩散,上式重新表述为:
S = α ( I − ( 1 − α ) D − 1 / 2 A D − 1 / 2 ) − 1 S=\alpha\left(I-(1-\alpha) D^{-1 / 2} A D^{-1 / 2}\right)^{-1} S=α(I(1α)D1/2AD1/2)1
A A A为邻接矩阵, I I I为单位矩阵, D D D为度矩阵, α \alpha α为随机游走传送概率的可调参数。

2.Edge Modification(EM)

在邻接矩阵中删除边,并添加了相同数量的边。通过这种方式,可以保持原始图的属性,同时使用额外的边使增强视图复杂化。具体来说,给定邻接矩阵 A A A和修改率 P P P,我们在原始图中随机删除现有边的 P / 2 P/2 P/2部分,然后在图中随机添加相同部分的新边。我们的边缘下降和添加过程都遵循独立的均匀分布。

3.Subsampling(SS)

在邻接矩阵中随机选择一个节点索引作为拆分点,然后使用它裁剪原始图,创建一个固定大小的子图作为扩充图视图。

4.Node Feature Masking(NFM)

给定特征矩阵 X X X和增强比 P P P,我们随机选择 X X X中节点特征维度的P部分,然后用零屏蔽它们。

SS+EM+NFM应用于第一个视图,并将SS+GD+NFM应用于第二个视图。这样,我们的模型可以通过对比学习对局部和全局信息进行编码。

(二)Cross-Network Contrastive Learning

在这里插入图片描述 G ~ 1 = ( X ~ 1 , A ~ 1 ) \tilde{\mathcal{G}}_{1}=\left(\tilde{X}_{1}, \tilde{A}_{1}\right) G~1=(X~1,A~1)经过online network的Encoder: Z 1 = p θ ( g θ ( X ~ 1 , A ~ 1 ) ) Z^{1}=p_{\theta}\left(g_{\theta}\left(\tilde{X}_{1}, \tilde{A}_{1}\right)\right) Z1=pθ(gθ(X~1,A~1)),再经过Predictor: H 1 = q θ ( Z 1 ) H^{1}=q_{\theta}\left(Z^{1}\right) H1=qθ(Z1)

同理, Z 2 Z^{2} Z2 G 2 ~ \tilde{\mathcal{G}_{2}} G2~经过online network的Encoder的表示, H 2 H^{2} H2为再经过online network后的表示。

Z ^ 1 = p ζ ( g ζ ( X ~ 1 , A ~ 1 ) ) \hat{Z}^{1}=p_{\zeta}\left(g_{\zeta}\left(\tilde{X}_{1}, \tilde{A}_{1}\right)\right) Z^1=pζ(gζ(X~1,A~1)) G 1 ~ \tilde{\mathcal{G}_{1}} G1~经过Target Network后的表示, Z ^ 2 = p ζ ( g ζ ( X ~ 2 , A ~ 2 ) ) \hat{Z}^{2}=p_{\zeta}\left(g_{\zeta}\left(\tilde{X}_{2}, \tilde{A}_{2}\right)\right) Z^2=pζ(gζ(X~2,A~2)) G 2 ~ \tilde{\mathcal{G}_{2}} G2~经过Target Network后的表示。
在这里插入图片描述positive pair: ( h v 1 1 , z ^ v 1 2 ) + \left(h_{v_{1}}^{1}, \hat{z}_{v_{1}}^{2}\right)^{+} (hv11,z^v12)+,背后的直觉是通过两个网络将同一节点从不同视图的表示拉近,从历史观察中提取知识,并稳定的online encoder训练。为了便于实现这一点,target network在训练期间不会直接接收梯度。相反,通过利用动量更新机制来更新其参数:
ζ t = m ⋅ ζ t − 1 + ( 1 − m ) ⋅ θ t \zeta^{t}=m \cdot \zeta^{t-1}+(1-m) \cdot \theta^{t} ζt=mζt1+(1m)θt
其中 m m m ζ ζ ζ θ θ θ分别是动量、target network参数和onlie network参数。

为了进一步探索 H 1 H^{1} H1 Z ^ 2 \hat Z^{2} Z^2中节点表示之间的丰富对比关系,我们构建了额外的负样本来调整基本的bootstrapping损失,即图中红色锚节点和蓝色节点之间的蓝色虚线,即 ( h v 1 1 , z ^ v j 2 ) − \left(h_{v_{1}}^{1}, \hat{z}_{v_{j}}^{2}\right)^{-} (hv11,z^vj2), 我们的目标是彼此推开。因此,上述过程可以用以下损失函数表示:
L c n 1 ( v i ) = − log ⁡ exp ⁡ ( sim ⁡ ( h v i 1 , z ^ v i 2 ) ) ∑ j = 1 N exp ⁡ ( sim ⁡ ( h v i 1 , z ^ v j 2 ) ) \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)} Lcn1(vi)=logj=1Nexp(sim(hvi1,z^vj2))exp(sim(hvi1,z^vi2))
L c n 2 ( v i ) = − log ⁡ exp ⁡ ( sim ⁡ ( h v i 2 , z ^ v i 1 ) ) ∑ j = 1 N exp ⁡ ( sim ⁡ ( h v i 2 , z ^ v j 1 ) ) \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)} Lcn2(vi)=logj=1Nexp(sim(hvi2,z^vj1))exp(sim(hvi2,z^vi1))
L c n 1 \mathcal{L}_{cn}^{1} Lcn1 L c n 2 \mathcal{L}_{cn}^{2} Lcn2是代表了不同视图下的多尺度跨网络对比。 s i m ( ⋅ ) sim \left( \cdot \right) sim()表示余弦相似性。
最后,结合上述两种损失,最终确定了跨网络对比目标函数,定义如下:
L c n = 1 2 N ∑ i = 1 N ( L c n 1 ( v i ) + L c n 2 ( v i ) ) \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) Lcn=2N1i=1N(Lcn1(vi)+Lcn2(vi))

(三)Cross-View Contrastive Learning

在这里插入图片描述
除了两个网络之间的对比关系外,还没有考虑到Online Network中两个视图之间的联系,这对增强我们方法的学习能力起到了很强的调节作用。我们不必在Target Network中包含这种对比关系,因为它不会直接接收梯度,我们的最终目标是在Online Network的编码器中训练 g θ g_{\theta} gθ
视图间的 正对(红色虚线): ( h v 1 1 , h v 1 2 ) + \left(h_{v_{1}}^{1}, h_{v_{1}}^{2}\right)^{+} (hv11,hv12)+,负对(蓝色虚线): ( h v 1 1 , h v j 2 ) − \left(h_{v_{1}}^{1}, h_{v_{j}}^{2}\right)^{-} (hv11,hvj2)
视图间view 1: L inter  1 ( v i ) = − log ⁡ exp ⁡ ( sim ⁡ ( h v i 1 , h v i 2 ) ) ∑ j = 1 N exp ⁡ ( sim ⁡ ( h v i 1 , h v j 2 ) ) \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)} Linter 1(vi)=logj=1Nexp(sim(hvi1,hvj2))exp(sim(hvi1,hvi2))
视图间view 2: L inter  2 ( v i ) \mathcal{L}_{\text {inter }}^{2}\left(v_{i}\right) Linter 2(vi)

视图内的 正对(红色虚线): ( h v 1 1 , h v 1 2 ) + \left(h_{v_{1}}^{1}, h_{v_{1}}^{2}\right)^{+} (hv11,hv12)+,负对(绿色虚线): ( h v 1 1 , h v j 1 ) − \left(h_{v_{1}}^{1}, h_{v_{j}}^{1}\right)^{-} (hv11,hvj1)
视图内view 1: L i n t r a 1 ( v i ) = − log ⁡ exp ⁡ ( sim ⁡ ( h v i 1 , h v i 2 ) ) exp ⁡ ( sim ⁡ ( h v i 1 , h v i 2 ) ) + Φ Φ = ∑ j = 1 N 1 i ≠ j exp ⁡ ( sim ⁡ ( h v i 1 , h v j 1 ) ) \begin{aligned} \mathcal{L}_{i n t 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} Lintra1(vi)Φ=logexp(sim(hvi1,hvi2))+Φexp(sim(hvi1,hvi2))=j=1N1i=jexp(sim(hvi1,hvj1))
视图内view 2: L i n t r a 2 \mathcal{L}_{i n t r a}^{2} Lintra2

综上,跨视图对比目标函数公式如下:
L c v = 1 2 N ∑ i = 1 N ( L c v 1 ( v i ) + L c v 2 ( v i ) ) \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) Lcv=2N1i=1N(Lcv1(vi)+Lcv2(vi))
L c v k ( v i ) = L intra  k ( v i ) + L inter  k ( v i ) , 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\} Lcvk(vi)=Lintra k(vi)+Linter k(vi),k{1,2}

(四)Model Training

总体目标函数定义为:
L = β L c v + ( 1 − β ) L c n \mathcal{L}=\beta \mathcal{L}_{c v}+(1-\beta) \mathcal{L}_{c n} L=βLcv+(1β)Lcn
在推理过程中,我们将在线图编码器 g θ g_{\theta} gθ生成的表示进行聚合,同时将图邻接矩阵和扩散矩阵作为输入: H ~ = H 1 + H 2 ∈ R N × D ′ \tilde{H}=H^{1}+H^{2} \in \mathbb{R}^{N \times D^{\prime}} H~=H1+H2RN×D,用于下游任务。

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值