摘要
最近的研究发现,图神经网络(GNN)容易受到对抗攻击。通过对原始图做修改,可以使得GNN最后得到错误的预测结果。GNN的这种脆弱性使得很多对于安全性要求很高的应用场景都开始产生担忧,很多人也开始在这个方面做研究。所以很有必要对已有的图对抗攻击做一个overview,并且采取一定的对抗手段。在本文中,作者对已有的攻击和防御做了分类,并且总结了相关的state-of-art方法。
Introduction
图在很多的领域都有应用,比如社会科学(社交网络),自然科学(物理系统和蛋白质网络)和知识图谱。随着图神经网络的兴起,需要对于相关的下游任务做研究,这些下游任务包括节点分类,图分类,链路预测和推荐。GNN是将深度学习应用于图领域,来学习图表示。GNN的魅力在于它可以同时学习图结构和结点特征,而不是单单的学习结点的表示。具体来说,GNN是使用了一种消息传递方案,那就是每一层的结点都会聚合该结点周围邻居的信息。GNN通过使用多层,可以使得信息在整个的图结构上进行传播,并且可以将结点嵌入表达成低维表示。结点的表示之后可以被输入到任何的预测层从而使得整个模型是一个end-to-end形式的。由于GNN具有极强的学习能力,所以它在数据挖掘,自然语言处理,计算机视觉,健康防护以及生物学上都有应用。 跟传统的DNN类似的是,GNN也可以很好的学习图的表示。传统的DNN就很容易受到对抗攻击。换句话说,对抗攻击可以在训练或者是测试阶段加入微小的扰动,然后DNN模型就会发生预测的失误。很明显的是,GNN也有这种脆弱性。而这种脆弱性会给一些金融系统或者是风险管理系统 带来很大的挑战。例如,在一个信用评估系统中,一些欺诈用户可以通过建立自己跟一些信用高的用户之间的联系从而躲避一些欺诈检测。垃圾广告者也可以通过创建一些假(fake)的关注者从而使得假新闻可以更好的在网络中被传播。因此,现在迫切需要来研究图对抗攻击和防御。
定义
node-level的分类:图神经网络中的节点分类是,基于已有的带标签的训练集(例如
V
L
V_L
VL?)来学习一个图模型,再使用这个模型对测试集进行分类。训练的目标函数可以就是一个交叉熵损失函数。 很少有人讨论基于图分类的对抗攻击,这是因为,本来大家就更加关注于节点分类,而且图分类攻击存在很多挑战,一个是图结构是很抽象的,而且图中的结点之间并不独立,而且对于图的扰动很难判断这个扰动是可见还是不可见。
白盒攻击
(1)有目标攻击
FGA方法就是直接从GCN中提取链路梯度信息,然后贪婪的选择有最大梯度的结点对,再对图进行修改。基于Q-Attack的遗传算法就是直接攻击社区检测算法。基于梯度信息的IGA方法是直接利用图编码器中的梯度信息来攻击链路预测的结果。基于GNN的推荐系统也容易受到对抗攻击。之前的对于图像的对抗攻击是直接计算模型的梯度来找到对抗样本,但是因为图数据的抽象属性,直接计算模型的梯度是会出错的。所以就有人提出来,通过使用整合梯度来更好的找到对抗边和特征扰动。在攻击阶段,攻击者会迭代的寻找最有效的边和特征来造成最强的攻击效果。在图中,有一部分结点叫做“bad actor”结点,会对GNN模型带来很大的威胁。比如,在维基百科中,有一部分假文章和真实的文章之间的连接很少,只要可以修改这部分假文章的连接就可以使得系统对真实的文章产生错误预测结果。
(2)无目标攻击
目前,在无目标的白盒攻击领域还没有太多的研究,topology attack(拓扑攻击)就是其中的一个代表。它会构造一个二元的对称扰动矩阵S,其中每个位置的元素可以是0也可以是1。如果是1的话就表示要对i,j这条边做翻转(有边则去边,无边则加边),如果是0就不需要做修改。在整个过程中,它使用了PGD算法来寻找最优的S。所以这个过程就可以转变成一个min-max的问题,内部就对攻击损失函数做最大化,外部就通过PGD做最大化。
灰盒攻击
(1)有目标攻击
早期的有目标灰盒攻击工作包括图聚类。通过对DNS系统加入噪声来降低模型的表现。后来就有人提出了Nettack攻击方法。这个方法是直接最大化一个损失函数。 直接就最大化目标节点v分类成为i标签的概率,并且一直重复这个优化过程,直到扰动达到了最大扰动限制。并且作者也发现,这种图攻击是可以从一个模型迁移到另一个模型的。(感觉黑盒攻击会比较注重迁移性) 作者也做了对比实验,发现直接修改目标节点比修改目标节点周围的结点要有效很多。 但是Nettack方法不能对大规模的图进行攻击,因为它的时间复杂性比较高。之后提出了Fasttack攻击方法可以对较大规模的图进行攻击。直接就是对所有的扰动进行排序,最终选择可以造成最大影响的扰动。之后提出的AFGSM方法有更低的时间成本,可以往图中线性的添加对抗结点。 有一部分人在研究对于图的后门攻击。在实施后门攻击的时候,攻击者会在训练样本中注入trigger从而实现对这部分样本的误分类,并且使得测试样本也能被误分类。
(2)无目标攻击
Metattack是一种无目标的投毒攻击,它是使用meta-gradient元梯度。它是直接将图结构矩阵视作是一个超参数,直接就对图结构进行求导。之后就提出了一种NIPA方法,直接往图中注入假的结点。
黑盒攻击
RL-S2V是第一个使用强化学习来做黑盒攻击的。对于node-level的攻击而言,整个MDP的过程定义如下: state:
思考
(1)攻击的时间复杂度不能太高,因为要应用于大规模的图就不能使用太复杂的方法。 (2)黑盒攻击要注重迁移性,一个图模型上训练得到的对抗样本可以迁移到其他图模型上。 (3)添加的扰动不能太大,必须要在一定的范围内。 (4)要能实现物理攻击,也就是可以在实际中实施这个攻击,而不只是理论上的。
|