目录
摘要
本文研究了图上的对抗鲁棒自监督学习问题。在对比学习框架中,我们引入了一种新的方法,通过i)对抗性转换和ii)不仅移除而且插入边的转换来提高学习到的表示的对抗鲁棒性。我们在一组初步的实验中评估了学习到的表示,得到了性能优异的实验结果。我们认为,这项工作在将鲁棒性作为图对比学习的可行辅助任务方面迈出了重要的一步。
1 引言
与对比性学习类似,对抗性攻击的主题也围绕着identity-preserving(难以察觉的)转换而发展。然而,对抗性攻击的目的是发现难以察觉的转换,尽管看起来是无辜的,但会导致模型中的错误预测。研究表明,即使是高精度的神经网络也很容易受到攻击,因此不可靠。这导致了人们对建立鲁棒性模型的极大兴趣,即那些不太容易受到对抗性攻击的模型。在对比学习设置中,有研究者最近证明了使用对抗性转换可以让我们学习鲁棒表示。
本文的贡献如下:
- 提出了图鲁棒对比学习(GROC),一种完全自监督的图算法,旨在实现对对抗性攻击的鲁棒性。
- 在几个流行的 transductive节点分类数据集上对GROC进行了评估。初步结果表明,GROC提高了对对抗性攻击的鲁棒性,同时在干净的示例上保持了可比的性能。
- 我们概述了未来可能的发展方向。我们计划扩展我们的工作,以提高我们的方法的效率,并扩展我们的实验,包括一套更全面的基线和评估设置。
2 相关工作
2.1 图自监督学习
本文所关注的GRACE,是通过随机移除边和掩蔽节点特征来生成同一图的两个视图,其中,正对是两个视图中的相应节点,而负对是在同一视图或另一视图中的所有其他节点。不过,与我们的工作相比,该方法在训练过程中不具有鲁棒性。
最近有研究者提出了一种新的自监督方法,不需要负对,提高了对比方法的结果。这种方法随后适用于图的领域。
2.2 图的对抗性攻击和防御
关于鲁棒性的主要见解是,即使是高精度的网络也容易受到对抗性攻击,可以直接转移到图中。
RL-S2V,是一种通过强化学习进行边缘插入和删除来学习创建错误分类的攻击。Nettack,通过扰乱图结构和改变节点特征来制作对抗性的例子。Meta-Attack,使用meta-learning来产生对抗性的例子。
为了应对这些攻击,研究人员提出了各种图形纯化(graph purification)程序,以及对抗性防御,旨在提高神经网络的鲁棒性,通常通过在训练过程中对抗性地增加干净的例子来实现。然而,由于图中边和节点的离散性质,在训练过程中有效地生成对抗性的例子是困难的。Dai等人通过使用随机丢弃边的例子来缓解这个问题。Robust GCN,它使用高斯分布作为网络每层的节点表示来缓解对抗性扰动。后来,Jin等人通过真实图的内在属性,如低秩邻接矩阵、稀疏图或同质性,来清理扰动图,提高了图神经网络的对抗性鲁棒性。最近,Zhang and Zitnik提出了一种更一般的方法,能够抵御对异质图的攻击。
提高网络鲁棒性的目标也扩展到了自监督对比学习方法。最近,研究人员认为,通过在对比学习过程中使用对抗性转换,深度神经网络模型可以实现对图像对抗性攻击的最先进的鲁棒性。在图领域中,You等人将对比学习方法的评估纳入对抗性攻击的设置中。然而,它们只关注图的分类,更值得注意的是,它们并没有明确地将对抗性鲁棒性作为其训练的目标。
3 Graph Robust Contrastive Learning
GROC建立在之前的图对比学习工作的基础上,旨在提高图神经网络对对抗性攻击的鲁棒性。
3.1 Background
图 G = ( V , X , A ) \mathcal{G}=(V,\pmb{X},\pmb{A}) G=(V,XXX,AAA),节点集 V = { v 1 , v 2 , . . . , v n } V=\{v_1,v_2,...,v_n\} V={v1,v2,...,vn},节点特征矩阵 X ∈ R n × d \pmb{X}∈\mathbb{R}^{n×d} XXX∈Rn×d,非加权邻接矩阵 A ∈ { 0 , 1 } n × n \pmb{A}∈\{0,1\}^{n×n} AAA∈{0,1}n×n。
目标:学习图节点的高阶表示(嵌入) Z ∈ R n × d ′ \pmb{Z}∈\mathbb{R}^{n×d'} ZZZ∈Rn×d′ ,其中 d ′ < < d d'<<d d′<<d。
为此,我们学习了一个自监督编码器 f θ ( G ) = Z f_{\theta}(\mathcal{G})=\pmb{Z} fθ(G)=ZZZ,其中 f f f是一个由 θ \theta θ参数化的GNN。我们将节点 v v v的嵌入表示为 f θ ( v ) f_{\theta}(v) fθ(v)。
然后,我们定义了一组 identity-preserving 转换 T T T,其中两个这样的转换 τ 1 , τ 2 ∈ T \tau_1,\tau_2∈T τ1,τ2∈T 将 G \mathcal{G} G映射到同一底层图的两个新视图,即 τ 1 \tau_1 τ1和 τ 2 \tau_2 τ2不改变 G \mathcal{G} G和节点identities的基本结构。因此,我们期望 τ 1 \tau_1 τ1和 τ 2 \tau_2 τ2下相同节点的嵌入是相似的。同时,我们期望不同节点的嵌入在两个图视图内是不同的。
设
N
e
g
(
v
)
=
{
τ
1
(
u
)
∣
u
∈
V
\
{
v
}
}
∪
{
τ
2
(
u
)
∣
u
∈
V
\
{
v
}
}
Neg(v)=\{\tau_1(u)|u∈V\backslash\{v\}\}∪\{\tau_2(u)|u∈V\backslash\{v\}\}
Neg(v)={τ1(u)∣u∈V\{v}}∪{τ2(u)∣u∈V\{v}} 为两个视图中除
v
v
v以外的节点的嵌入,
σ
\sigma
σ是一个相似性度量。我们可以通过以下优化来获得
θ
\theta
θ:
其中,
z
1
≡
f
θ
(
τ
1
(
v
)
)
z_1\equiv f_{\theta}(\tau_1(v))
z1≡fθ(τ1(v)),
z
2
≡
f
θ
(
τ
2
(
v
)
)
z_2\equiv f_{\theta}(\tau_2(v))
z2≡fθ(τ2(v))。
由于转换 T T T 的搜索空间较大,且缺乏优化算法,上述优化问题难以解决。我们遵循GRACE方法来解决这个问题。
σ
\sigma
σ是将两个嵌入输入到一个二层MLP后它们之间的余弦相似度。从
T
T
T中采样两个转换
τ
1
\tau_1
τ1和
τ
2
\tau_2
τ2,我们可以为每个节点定义一个对比损失
L
(
v
,
τ
1
\mathcal{L}(v,\tau_1
L(v,τ1,
τ
2
)
\tau_2)
τ2),如下:
最后,为了推导一个基于梯度的
θ
\theta
θ更新,我们的目标是最小化下式:
GRACE和GCA都遵循这个框架,考虑了随机移除部分边和用0随机掩蔽部分节点特征的转换。在GRACE中,边被均匀地移除。在GCA中,作者研究了三个变量,其中边去除概率与基于度、基于特征向量或基于PageRank的边中心性得分成反比。
3.2 Motivation
虽然前面描述的对比学习方法在没有访问标签的情况下,在各种任务上获得了好的结果,但它们的准确性在对抗性攻击下迅速下降。
回想一下,在对比学习中使用的转换的目的是产生一个不同于输入但也不易感知的视图,也就是说,转换不应该从根本上改变其identity,或者在图的情况下,改变节点的identity。对于大多数领域,都出现了许多定义不可感知性概念的方法,包括 L p L_p Lp范数扰动( L p L_p Lp norm perturbations)和各种图像转换。然而,由于图的离散性质,正确地定义这一概念仍然是一个挑战。许多方法诉诸于特征和边的独立扰动,通常是简单地执行随机边缘去除和随机特征掩蔽。在对抗性防御的背景下,我们重视这样的转换,它们增加了优化过程试图最小化的损失。我们发现前面描述的选择在这方面缺乏,这将对对抗性的鲁棒性产生了负面影响。为了部分缓解这个问题,我们对转换 τ 1 \tau_1 τ1和 τ 2 \tau_2 τ2的选择引入了几个改进。
3.3 Method
我们将每个 τ i ∈ T \tau_i∈T τi∈T表示为一个组成 τ i = τ i ′ ◦ τ i ′ ′ \tau_i=\tau_i'◦\tau_i'' τi=τi′◦τi′′。也就是说,我们首先应用随机转换 τ 1 ′ \tau_1' τ1′和 τ 2 ′ \tau_2' τ2′,然后是对抗性转换 τ 1 ′ ′ \tau_1'' τ1′′和 τ 2 ′ ′ \tau_2'' τ2′′,从而生成两个不同的视图。对于 τ i ′ \tau_i' τi′,我们只是使用了随机特征掩蔽。对于 τ i ′ ′ \tau_i'' τi′′,我们使用了两种基于边的转换。
首先,我们像前面一样执行边缘删除。然而,我们使用梯度信息来选择更明智的边来删除。即,我们在应用 τ i ′ \tau_i' τi′后进行一次初步的forward-backward传递,以获得边上的梯度。当我们最小化公式(1)时,我们删除一个具有最小梯度值的边的子集。我们将稍后讨论要删除的边数的选择。
接下来,我们引入边缘插入,再次使用梯度信息来选择要插入的边。然而,为了从插入的候选集
S
+
S^+
S+中获得边上的梯度,我们需要包含图中非零权值的边。使用所有不存在的边作为候选集是不切实际的。为了解决这个问题,我们通过处理大小为
b
b
b的随机批量中的节点来调整训练过程,构造
N
e
g
(
v
)
Neg(v)
Neg(v)和公式(1)时仅考虑当前批次(anchors)中的节点。通过这个设置,我们将
S
+
S^+
S+限制在边集合
(
u
,
v
)
(u,v)
(u,v),其中
v
v
v是一个anchor节点,而
u
u
u在一些anchor
v
′
≠
v
v'≠v
v′=v 的
l
−
h
o
p
l-hop
l−hop 邻域内,而不在
v
v
v的
l
−
h
o
p
l-hop
l−hop 邻域内。我们暂时将所有这些边以
1
/
∣
S
+
∣
1/|S^+|
1/∣S+∣的权值插入图中,在初步传递后,除了具有最大梯度值的边子集之外,将它们移除。请注意,
∣
S
+
∣
|S^+|
∣S+∣的上界是
n
b
nb
nb,对于较小的
b
b
b与
O
(
n
2
)
\mathcal{O}(n^2)
O(n2)相比,这是一个显著的改进,另外减少了候选边缘对初步传递结果的影响。此外,我们假设节点批处理有一个额外的好处,因为这大大减少了每个
v
v
v的
N
e
g
(
v
)
Neg(v)
Neg(v)中的负例的数量,使
v
v
v更多地关注它在另一个视图中的表示。GROC算法如图1所示,详见算法1。