Multi-Scale Contrastive Siamese Networks for Self-Supervised Graph Representation Learning
摘要
受图对比学习和Siamese networks(孪生神经网络)在视觉表示学习中成功的启发,本文提出了一种新的自监督方法,通过多尺度(multi-scale)对比学习增强Siamese自蒸馏来学习节点表示。
具体来说,我们首先根据局部和全局的角度从输入图中生成两个增强视图。然后,我们采用了两个目标,称为跨视图和跨网络对比度,以最大限度地提高不同视图和网络之间的节点表示的一致性。
1 引言
2 相关工作
Siamese network是一种神经架构,它包含两个或多个相同的结构(例如,图1中的在线和目标编码器),以进行多类预测或实体比较。传统上,它被用于监督任务,如签名验证和人脸匹配。最近,该架构被用于自监督学习视觉表示,并在不使用负样本的情况下取得了显著的改进。为了充分了解BYOL的潜在机制,验证了在线网络中额外的预测器和目标网络中的停止梯度机制是在没有负样本帮助的情况下防止崩溃的关键。
3 方法
- 问题定义
G = ( X , A ) \mathcal{G}=(X,A) G=(X,A),特征矩阵为: X ∈ R N × D X∈\mathbb{R}^{N×D} X∈RN×D,邻接矩阵: A ∈ R N × N A∈\mathbb{R}^{N×N} A∈RN×N。
目标:在没有标签信息的情况下,学习一个编码器 g θ : R N × D × R N × N → R N × D ′ g_\theta:\mathbb{R}^{N×D}×\mathbb{R}^{N×N}→\mathbb{R}^{N×D'} gθ:RN×D×RN×N→RN×D′。其中 D ′ < < D D'<<D D′<<D。所得到的表示 H = g θ ( X , A ) = { h 1 , h 2 , . . . , h N } H=g_\theta(X,A)=\{h_1,h_2,...,h_N\} H=gθ(X,A)={h1,h2,...,hN}可以直接用于下游任务,如节点分类。
- 整体框架
我们提出了一种新的算法——MERIT,利用bootstrapping和多尺度图对比学习来学习节点表示。
如图1所示,我们的模型主要由三个部分组成:图增强,跨网络对比学习,和跨视图对比学习。
为了训练我们的模型,我们首先生成两个增强的图视图,表示为 G ~ 1 \tilde{\mathcal{G}}_1 G~1和 G ~ 2 \tilde{\mathcal{G}}_2 G~2。之后,通过在线网络和目标网络对这两个视图进行处理,我们在潜在空间的多个尺度上构建了不同的图对比路径,如图1的最右部分所示。
3.1 图增强
为了便于在图上的对比学习,我们提出了四种增强方法,如下所示,以增强图的拓扑和属性信息。
(1)Graph Diffusion (GD)
我们通过扩散变换一个图,以生成一个全等的视图。这种方法的有效性可能归因于由扩散视图提供的额外的全局信息。该过程的表述如下:
其中,
θ
θ
θ是控制局部和全局信号分布的参数,
T
∈
R
N
×
N
T∈\mathbb{R}^{N×N}
T∈RN×N是转换邻接矩阵的变换矩阵。本文采用个性化PageRank(PPR)核来促进图扩散。形式上,给定邻接矩阵
A
A
A,单位矩阵
I
I
I和度矩阵
D
D
D,方程(1)可以重新表述为:
其中,
α
α
α是随机游走传送概率的可调参数。
(2)Edge Modification (EM)
我们不仅在邻接矩阵中删除边,而且添加相同数量的删除边。这样,我们可以维护原始图的属性,同时使用附加边使增强视图复杂化。
具体来说,给定邻接矩阵 A A A和修改比例 P P P,我们在原始图中随机删除现有边的 P / 2 P/2 P/2部分,然后在图中随机添加相同部分的新边。
我们的边缘丢弃和添加过程都遵循一个独立同分布的均匀分布。
(3)Subsampling (SS)
与图像裁剪相似,我们在邻接矩阵中随机选择一个节点索引作为分割点,然后使用它裁剪原始图,以创建一个固定大小的子图作为增广图视图。SS的一个优点是使批处理能够处理大小可能超过GPU内存容量的大图形。
(4)Node Feature Masking (NFM)
给定特征矩阵 X X X和增强比例 P P P,我们随机选择 X X X中节点特征维数的 P P P部分,然后用零掩码。
本文将SS、EM和NFM应用于第一个视图,并将SS、NFM、GD应用于第二个视图。通过这样做,我们的模型可以通过对比学习同时编码局部和全局信息。通过这样做,我们的模型可以通过对比学习同时编码局部和全局信息。
3.2 跨网络对比学习
首先,将在线网络中一个视图的节点表示视为锚,然后最大化和目标网络中另一个视图对应的表示之间的余弦相似度,形成基本的bootstrapping对比。
这种对比学习过程如图2(a)所示,其中 H 1 = q θ ( Z 1 ) H^1=q_\theta(Z^1) H1=qθ(Z1)和 Z ^ 2 \hat{Z}^2 Z^2表示来自两个不同网络的 G ~ 1 \tilde{\mathcal{G}}_1 G~1和 G ~ 2 \tilde{\mathcal{G}}_2 G~2的表示。具体来说,我们使用 Z 1 = p θ ( g θ ( X ~ 1 , A ~ 1 ) ) Z^1=p_\theta(g_\theta(\tilde{X}_1,\tilde{A}_1)) Z1=pθ(gθ(X~1,A~1))和 Z ^ 2 = p ζ ( g ζ ( X ~ 2 , A ~ 2 ) ) \hat{Z}^2=p_\zeta(g_\zeta(\tilde{X}_2,\tilde{A}_2)) Z^2=pζ(gζ(X~2,A~2))来表示在线编码器和目标编码器中视图1和视图2输出的节点嵌入。两个 v 1 v_1 v1节点之间的红色虚线表示基于 v 1 v_1 v1构建的正对 ( h v 1 1 , z ^ v 1 2 ) + (h_{v_1}^1,\hat{z}_{v_1}^2)^+ (hv11,z^v12)+。
背后的原理是,拉近两个网络的不同视图中同一节点的表示,以从历史观察中提取知识,并稳定在线编码器的训练。为了便于实现这一点,我们的目标网络在训练期间并没有直接接收到梯度。相反,我们利用动量更新机制来更新其参数(和BGRL的指数移动平均数一样):
其中,
m
m
m、
ζ
\zeta
ζ、
θ
\theta
θ分别是动量、目标网络参数和在线网络参数。
为了进一步探索
H
1
H^1
H1和
Z
^
2
\hat{Z}^2
Z^2中节点表示之间丰富的对比关系,我们构建了额外的负样本来规范化基本的bootstrapping损失,即图2(a)中红色锚节点和蓝色节点之间的蓝色虚线,即
(
h
v
1
1
,
z
^
v
j
2
)
−
(h_{v_1}^1,\hat{z}_{v_j}^2)^-
(hv11,z^vj2)−,我们的目标是将它们相互推远。因此,上述过程可以采用以下损失函数:
其中,
L
c
n
1
\mathcal{L}^1_{cn}
Lcn1和
L
c
n
2
\mathcal{L}^2_{cn}
Lcn2是两个对称的损失,它们代表了不同视图上的多尺度跨网络对比性。此外,
h
v
i
1
∈
H
1
h_{v_i}^1∈H^1
hvi1∈H1,
h
v
i
2
∈
H
2
h_{v_i}^2∈H^2
hvi2∈H2,
z
^
v
i
1
∈
Z
^
1
\hat{z}_{v_i}^1∈\hat{Z}^1
z^vi1∈Z^1,
z
^
v
i
2
∈
Z
^
2
\hat{z}_{v_i}^2∈\hat{Z}^2
z^vi2∈Z^2,
s
i
m
(
⋅
)
sim(·)
sim(⋅)表示余弦相似度。
最终的跨网络对比目标函数定义如下:
3.3 跨视图对比学习
不需要在目标网络中包含两个视图之间的对比关系,因为它不会直接接收梯度,而我们的最终目标是在在线编码器中训练 g θ g_θ gθ。
图2(b)说明了我们的跨视图对比设计,从两个角度提出了鉴别方案,即视图内和视图间的对比。与GRACE相似但不同的是,我们不仅考虑了局部结构和属性(如边缘修改和特征掩蔽),还考虑了通过图扩散注入全局拓扑信息。
计算视图间对比时,定义正对为
(
h
v
1
1
,
h
v
1
2
)
+
(h_{v_1}^1,h_{v_1}^2)^+
(hv11,hv12)+(红线),负对为
(
h
v
1
1
,
h
v
j
2
)
−
(h_{v_1}^1,h_{v_j}^2)^-
(hv11,hvj2)−(蓝线)。视图1的视图间对比损失如下所示:
我们可以以类似的方式获得
L
i
n
t
e
r
2
(
v
i
)
\mathcal{L}_{inter}^2(v_i)
Linter2(vi)。
对于视图内对比,正对和视图间相同,负对为同一视图中除锚节点
v
1
v_1
v1的所有节点,即
(
h
v
1
1
,
h
v
j
1
)
−
(h_{v_1}^1,h_{v_j}^1)^-
(hv11,hvj1)−(绿线)。视图1的视图内对比损失如下所示:
类似地,我们可以计算视图2的
L
i
n
t
r
a
2
(
v
i
)
\mathcal{L}_{intra}^2(v_i)
Lintra2(vi)。
最终的跨视图对比目标函数定义如下:
其中,
L
c
v
1
(
v
i
)
\mathcal{L}^1_{cv}(v_i)
Lcv1(vi)和
L
c
v
2
(
v
i
)
\mathcal{L}^2_{cv}(v_i)
Lcv2(vi)是两个对称损失,代表这两个视图上的多尺度跨视图对比性:
3.4 模型训练
为了以端到端的方式训练我们的模型并学习下游任务的节点表示,我们联合利用了跨视图和跨网络对比损失。具体来说,总体目标函数定义为:
我们的目标是在优化过程中最小化
L
\mathcal{L}
L,其中
β
β
β是一个平衡因子。
4 实验