目录
介绍
在大多数图形级任务场景中,GNN都是在监督下进行端到端训练的。端到端指的是输入是原始数据,输出是最后的结果
从输入端(输入数据)到输出端会得到一个预测结果,与真实结果相比较会得到一个误差,这个误差会在模型中的每一层传递(反向传播),每一层的表示都会根据这个误差来做调整,直到模型收敛或达到预期的效果才结束,中间所有的操作都包含在神经网络内部,不再分成多个模块处理。由原始数据输入,到结果输出,从输入端到输出端,中间的神经网络自成一体(也可以当做黑盒子看待),这是端到端的。参考:深度学习端到端模型
很少有人探索(自我监督的)预训练
,这是一种常用于训练受梯度消失/爆炸影响的深层结构的正则化技术。(GNN预训练有相关研究)
原因可能在于1)GNN通常为浅层架构(避免过度平滑和信息丢失)2)数据集大小有限
对于图数据集来说,特定于任务的标签(和我们要做的任务相关的标签)可能较为稀少,预训练能够很好地解决这种问题。在GNN使用预训练的必要性:1. 数据集越来越庞大 2. 即便对于浅层架构,预训练能够让模型得到更好的结果
和视觉领域中图片数据集不同,图数据集有丰富的结构和上下文信息,并且图是具有不同性质的原始数据的抽象表示。也就是说图数据较为复杂,难以找到一个较好的pre-training模型。
目前的GAE和GraphSAGE需要重构图邻居信息,这种模型具有一定的局限性,其过分依赖过分强调邻居,并且会丢失部分图原始结构信息。
手工制作的pretext tasks(前置任务)
会影响表示学习的普遍性。对比学习
与此不同,其旨在最大化数据的不同增强视图之间的特征一致性。如将对比学习扩展到图的pre-training中,可能能够克服上述基于近邻的方法的局限性。
pretext tasks 通常被翻译作“前置任务”或“代理任务”, 有时也用“surrogate task”代替。这种训练并不是原本训练任务,但是他可以促进我们的训练,达到更好的效果。
本文贡献
为GNN预训练开发了带有增强功能的对比学习,以应对图中数据异构的挑战
- 设计了四种类型的图数据增强,每种增强都对图数据有一定的先验性
- 提出了用于GNN预训练的图对比学习框架,以便于对于不同的图结构数据学习到稳定的表示。
- 系统研究旨在评估不同类型数据集上对比不同增强的性能,揭示性能的基本原理,并为特定数据集采用框架提供指导
- GraphCL在半监督学习、无监督表征学习和迁移学习环境下取得了最先进的性能。此外,它还增强了抵御常见对手攻击的鲁棒性
相关工作
GNN
GNN主要思想为聚合领域信息
无向图表示为
G
=
{
V
,
E
}
\mathcal {G=\left\{V,E\right\}}
G={V,E},对于顶点
x
n
x_n
xn的特征向量为
x
n
=
X
[
n
,
:
]
T
x_n=X[n,:]^T
xn=X[n,:]T,K层的GNN表示为:
a
n
(
k
)
=
A
G
G
R
E
G
A
T
I
O
N
(
k
)
(
{
h
n
′
(
k
−
1
)
:
n
′
∈
N
(
n
)
}
)
,
h
n
(
k
)
=
C
O
M
B
I
N
E
(
k
)
(
h
n
(
k
−
1
)
,
a
n
(
k
)
)
a_n^{(k)}=AGGREGATION^{(k)}(\left\{h_{n'}^{(k-1)}:n'\in \mathcal{N}(n)\right\}),h_n^{(k)}=COMBINE^{(k)}(h_n^{(k-1)},a_n^{(k)})
an(k)=AGGREGATION(k)({hn′(k−1):n′∈N(n)}),hn(k)=COMBINE(k)(hn(k−1),an(k))
N
(
n
)
\mathcal{N}(n)
N(n)为顶点的邻居集合。得到的emmbedding经过READOUT函数再放入MLP进行分类
Graph data augmentation
一些方法:采用训练过的模型来注释数据、在对抗学习下训练分类器网络生成假结点、在图结构上对节点特征产生对抗性扰动
Pre-training GNNs
GNN上预训练的研究较少(在此文之前)。有研究仅限于在迁移学习环境中研究预训练,但是本文认为在GNN中采用迁移是不太合理的,因为图数据通常来自不同的领域,在迁移过程中,培训前和下游任务都需要大量的领域知识,否则可能导致负迁移
Contrastive learning
对比学习的主要思想是在适当的转换下使表征彼此一致,这引起了人们对视觉表征学习的兴趣。在图中,重建结点邻接信息的方式可以看做一种拒不对比,但这种方式忽视了结构信息。可以在局部和全局表征之间进行对比学习,从而更好地捕捉结构信息。
然而,图对比学习还没有从强化扰动不变性的角度进行探索
方法
数据增强
数据增强旨在不影响语义标签的情况下,通过一定的转换来创建新的且合理的数据。在不实质性的增加数据的情况下,让有限的数据产生等价于更多数据的价值。
由于图数据是从不同领域中抽象出来的,难以找到一种普遍的数据增强方式。我们主要关注三类:生化分子(例如化合物、蛋白质)、社交网络和图像超像素图
本文提出下面四种数据增强方式:
数据增强方法 | 类型 | 先验知识 |
---|---|---|
Node dropping | 随机丢弃结点的某些部分和连接 | 结点的部分缺失不影响整体 |
Edge perturbation | 随机减少一些边 | 具有连通性变化的语义鲁棒性 |
Attribute masking | 遮蔽一些属性信息 | 部分属性缺失不影响模型预测 |
Subgraph | 基于随机游走抽取子图 | 语义可以在子图中得到保留 |
GCL
模型主要分为下面几个部分:
- 数据增强。对于给定的图 G \mathcal{G} G,采用两种不同的增广方式,得到 G i ^ ∼ q i ( ⋅ ∣ G ) \hat{\mathcal{G_i}}\sim q_i(\cdot |\mathcal{G}) Gi^∼qi(⋅∣G)以及 G j ^ ∼ q j ( ⋅ ∣ G ) \hat{\mathcal{G_j}}\sim q_j(\cdot |\mathcal{G}) Gj^∼qj(⋅∣G)。
- GNN-based encoder。将GNN作为encoder,提取 G i , G j G_i,G_j Gi,Gj的特征向量 h i , h j h_i,h_j hi,hj
- 投影头。非线性变换 g ( ⋅ ) g(\cdot) g(⋅)将特征向量映射到另一个空间来计算对比损失,采用两层MLP来得到 z i , z j z_i,z_j zi,zj
- 损失函数。定义为正样本的一致性远远大于负样本,这里采用NT-Xent作为损失函数。
在GNN预训练期间,在图中进行随机采样N个图,并得到2N个增强图。负样本不进行显示生成,对于一个样本
i
i
i而言,其它的N-1个生成的增广图为其负样本
余弦相似函数为
s
i
m
(
z
n
,
i
,
z
n
,
j
)
=
z
n
,
i
T
z
n
,
j
∣
∣
z
n
,
i
∣
∣
∣
∣
z
n
,
j
∣
∣
sim(z_{n,i},z_{n,j})=\frac{z_{n,i}^Tz_{n,j}}{||z_{n,i}||\ ||z_{n,j}||}
sim(zn,i,zn,j)=∣∣zn,i∣∣ ∣∣zn,j∣∣zn,iTzn,j:
l
n
=
−
l
o
g
e
x
p
(
s
i
m
(
z
n
,
i
,
z
n
,
j
)
/
τ
)
∑
n
′
=
1
,
n
′
≠
n
N
e
x
p
(
s
i
m
(
z
n
,
i
,
z
n
′
,
j
)
/
τ
)
\mathcal{l}_n=-log\frac{exp(sim(z_{n,i},z_{n,j})/\tau)}{\sum_{n'=1,n'\ne n}^Nexp(sim(z_{n,i},z_{n',j})/\tau)}
ln=−log∑n′=1,n′=nNexp(sim(zn,i,zn′,j)/τ)exp(sim(zn,i,zn,j)/τ)
τ
\tau
τ表示温度参数,可以用来放缩概率(温度归一化因子)。
余弦相似度:范围为[-1,1],当值趋于1时,两个样本越相似。
discussion
GraphCL可以被看作是两类增广图的潜在表示之间互信息最大化的一种方式
损失函数被改写为期望形式:
其中
T
(
⋅
)
T(\cdot)
T(⋅)为科学系函数,将
s
i
m
(
⋅
)
,
τ
,
g
(
⋅
)
sim(\cdot),\tau,g(\cdot)
sim(⋅),τ,g(⋅)作为其参数
实验
数据增强作用
数据集:
数据增强的好处
在半监督环境下,从头开始训练,对数据增强的作用进行比较:
上图中的数值为相比于base-line准确度的增长值。
-
数据增强在图形对比学习中至关重要 。右上角的数据为没有采用数据增强的模型。第一行和最右边一列为采用一种数据增强的方式。可以看到采用数据增强的对比学习效果更好,合成原始图及其适当的扩充可以提高下游性能。从图2中最上面的行或最右边的列来看,使用单一最佳增强的图形对比学习在没有彻底的超参数调整的情况下取得了相当大的改进:NCI1为1.62%,PROTEINS为3.15%,COLLAB为6.27%,RDT-B为1.66%。
在没有增广的情况下,graphCL只是将两个原始样本作为负对进行比较(正对损失变为零),从而导致均匀地将所有图形表示相互推开,这是不直观的。重要的是,当应用适当的增广时,数据分布的相应先验被灌输,通过最大化图与其增广之间的一致性,强制模型学习对期望扰动不变的表示 -
组合不同的增强会带来更多好处。NCI1的准确度增加为2.10%,PROTEINS为3.15%,COLLAB为7.11%,RDT-B为1.85%。与不同类型的增强对(非对角线)相比,应用相同类型的增强对(参见图2的对角线)的性能相对更差。
对比损失曲线
对比不同增强对的损失曲线。可以看出相同的增强对比总是导致最快的损失下降。对于不同类型的增强对,对比损失总是比相同类型的增强对下降得慢。这一结果表明,组成不同类型的增强对确实对应于“更难”的对比预测任务。(在后面会对“更难”进行量化)
有效图增强的类型、范围和模式
(最)有益的增强类型组合可以是特定于数据集的,这与我们的直觉相匹配,因为图形结构数据具有高度异构性。本文进一步分析了给定类型的图扩充的范围和/或模式的影响。
-
Edge perturbation有益于社交网络,但会破坏某些生化分子结构。Edge perturbation作为配对增强的一种,改善了社交网络数据COLLAB和ROT-B以及生物分子数据PROTEINS的性能,但损害了其他生物分子数据NCI1。NCI1中的单边变化对应于共价键的移除或添加,这可以极大地改变化合物的身份,甚至有效性,相比之下,社交网络的语义更能容忍个体边缘干扰。
下图为对利用原始图以及原始图与Edge perturbation进行的对比实验,调整edge perturbation的比率,得到的准确率曲线图。可以看到,对于数据集NCI1而言,edge perturbation总是会降低性能。而对于COLLAB中,edge perturbation能够提升性能。
-
在更密集的图中应用attribute masking可以获得更好的性能。对于社交网络数据集,组成相同的图和属性掩蔽对于协作(平均程度更高)来说可以实现5.12%的改进,而对于RDT-B来说只有0.17%。与NCI1相比,对于密度更高的PROTEINS也有类似的结果。
下图为利用原始图以及原始图与attribute masking进行的对比实验。对数据集RDT-B而言,采用masking对其改进不大,而在COLLAB中masking有较为明显的改进
猜想:masking度更高的结点会比masking度更低的结点效果更好,因此不采用均匀分布的概率来进行mask,而是采用一个和度相关的分布: d e g n α deg_n^\alpha degnα。 α \alpha α为控制因子,当其为正时,mask选取度更高的结点的概率更高。实验结果如下图。
-
Node dropping 和 subgraph 通常为有益的。对于Node dropping,我们强调了缺少某些顶点(例如化合物中的一些氢原子或社交网络的边缘用户)不会改变语义信息的先验知识。对于subgraph ,加强局部(我们提取的子图)和全局信息一致性有助于表示学习,