按照攻击算法在图中添加扰动的不同阶段,可以将图对抗攻击分为两类,分别为逃逸攻击和投毒攻击。其中逃逸攻击是攻击者构造对抗样本在模型测试简短欺骗目标模型,而投毒攻击是攻击者在模型训练阶段向训练集中注入对抗样本,使得训练后的模型具有误导性。
经典的图对抗攻击主要有如下几种:
Nettack:利用图卷积网络的梯度信息修改图数据,使得目标节点被错误分类为指定类别。这种攻击方法是对属性图进行攻击的算法。
Metattack:利用元学习将图作为优化目标产生用于攻击的图数据。
RL-S2V:将强化学习引入图对抗攻击,把攻击过程抽象成为马尔可夫决策过程。
Q-Attack:利用遗传算法攻击链路预测模型的攻击方法。
根据现有模型采用的不同防御策略,可以分为四类,分别为:攻击检测、
对抗训练、可认证鲁棒性和免疫防御。
通过检测并消除图数据中的恶意节点和边,从而恢复近似原始图的数据来提高GNN模型的鲁棒性。主要方法有如下几种:
GraphSAC:随机子图抽样共识机制;限制随机抽样的次数。优点:随机采样子图可以并行运行,同时通过限制采样字数保证性能,因此算法可扩展至大规模图。缺点:由于模型使用了半监督学习模块,因此需要保证抽样子图中有足够多的节点被正确分类。应用于异常检测。
CRIAGE:通过添加或删除知识图谱中改变目标预测的“扰动事实”,为了提高算法效率,构造解码器还原知识图谱嵌入的拓扑信息和特征信息,基于梯度算法识别“扰动事实”。优点:通过识别出对目标事实最具影响力的相关事实,为模型的预测提供了可解释性。缺点:模型引入额外的自编码器模型,用于将嵌入解码为相应的子图,导致训练较复杂。应用于链路预测。
GraphRFI:利用GCN和神经随机森林构建端到端的学习系统。其中GCN模块利用用户信息和评价信息来捕获用户的爱好信息,随机森林模块用于检测恶意用户。优点:欺诈者检测模块的结果可以用于确定用户评分数据在推荐组件中的权重,以统一的方式进行鲁棒性的推荐和恶意用户检测。缺点:模型包含较多全连接层,需要较高的计算资源;模型表现与嵌入的维度有关,维度增加引入的过多网络参数可能导致过拟合问题。应用于推荐系统。
对抗训练则是通过在训练数据集中添加扰动样本进行训练以增强模型的泛化能力。主要有如下几种:
GraphAT:基于图动态正则化进行对抗训练。优点:通过减小被攻击的目标与邻居间的预测差异,使预测结果更为平滑,显著增强了模型的泛化能力。缺点:异构图的异构型导致模型在异构图数据集上性能不佳。可能会加剧模型欠拟合。应用于节点分类。
DWNS_AdvT:在嵌入空间中添加扰动进行对抗训练。优点:在离散空间中强制重构对抗样本,从而增加了对抗训练过程的可解释性。缺点:限制扰动的方向为图节点嵌入的子集。在一定程度上消弱了正则化的效果。应用于图嵌入。
GraphDefense:在对抗训练中使用部分预测标签作为训练标签。优点:利用邻近采样的思想,可扩展性好,可用于大规模图。缺点:在对抗训练时需要保证对抗样本和原始图在数据集中有合适的比例。应用于图分类。
LAT-GCN:对网络隐藏层输出注入扰动进行对抗训练。优点:不需要针对图结构进行对抗修改,通过修改网络中的潜在表示,降低扰动注入计算的复杂度。缺点:由于是在网络的隐藏层注入连续空间的扰动来获得对抗样本,因此此模型的解释性较差。应用于节点分类和链路预测。
GCNSVAT:对GCN损失函数运用VAT正则化。优点:利用半监督学习分类充分利用未标记数据,可用于含有较多未标记节点的图中。缺点:仅考虑特征攻击,而目前更多的攻击算法采用拓扑攻击,因此具有较大局限性。应用于节点分类。
可认证鲁棒性是通过验证GNN或节点的鲁棒性来了解图数据的攻击容忍度。
PH-U:为节点提供证书确保节点属性受到扰动时不改变预测结果。优点:利用线性规划的对偶性,提高证书计算的效率,可以为大多数节点提供严格鲁棒性证书。缺点:仅考虑特征攻击,没有考虑更为常见的拓扑攻击,因此实用性较差。应用于节点分类。
LOU:通过随机扰动图结构提高社团探测算法的鲁棒性。优点:认证值计算严格,可以使社团探测模型对拓扑攻击具有鲁棒性,从而同时防御分裂攻击和合并攻击。缺点:准确率相比原社团探测模型较低,需要在精确性和健壮性之间进行折中。应用于社团检测。
目前多数防御算法采用修改模型策略,部分算法利用进化数据的策略来提高模型性能,这几种策略由于可以防御针对模型训练阶段的攻击,因此可以统称为免疫防御。