当前位置: 代码迷 >> 综合 >> 【论文学习】图神经网络对抗攻击顶会论文汇总(2018-2021年)
  详细解决方案

【论文学习】图神经网络对抗攻击顶会论文汇总(2018-2021年)

热度:54   发布时间:2023-12-17 15:33:50.0

图对抗攻击

在信贷领域,结合贷款人的金钱交易来评估他的信用情况,人与人的交易记录就是用图来表示。
对于图来说,特征往往是离散的(例如图的结构特征,一条边要么存在,要么不存在)。
对于图来说,很难定义图上的微小扰动。
在图像对抗攻击领域,通常是在训练好的模型上输入扰动图片使其预测错误evasion attack,但是在图对抗攻击领域是让扰动后的图上重训练的模型性能变差,这种攻击被称为投毒攻击。

图卷积网络

图卷积网络被用来解决半监督结点分类问题。

经典的论文

(1)Adversarial Attacks on Neural Networks for Graph Data

KDD18的best paper,是图对抗攻击的开山之作。研究的是属性图上针对某个结点的结点分类攻击。通过对图(加边,减边),对结点属性(加属性,减属性),使得结点分类错误。
定义扰动代价:(1)对于一张图而言,最重要的是degree distribution。如果原图和扰动图都属于同一分布的采样,那么这两张图在结构上就是不可分辨的。采用log likelihood。(2)结点属性的扰动代价,特征的共现关系,在原图中从未共现的特征在扰动图中出现了。对于与大量其他特征共现的特征,要削弱它的加权贡献。

(2)Adversarial Attacks on Graph Neural Networks via Meta Learning

ICLR19论文,与KDD18的论文出自同一个团队。这篇文章研究对模型整体分类性能的攻击(侧重于测试集结果)。上一篇文章固定了模型的权重参数,没有考虑到bi-level优化问题(对于投毒攻击而言,扰动后模型参数要重新训练。)
由于要降低模型对于测试集的泛化性能,但是测试集的label是未知的,所以可以借助自学习self-learning方式,让攻击后模型的预测结果尽可能和原模型的预测结果不同。
由于图的性质,对图的修改的动作空间是很大的,所以穷举是不现实的。并且是离散的(加边和减边),很难用梯度优化方法做修改。用到了meta-learning元学习中的meta-gradient元梯度。由于图的离散性,在更新图的时候每一步还是根据贪心策略执行离散的更新,对于每一个点对,计算S(u,v),每一轮选择S(u,v)最大的点对执行更新(原来有边就删除,无边就加边)。

(3)Topology Attack and Defense for Graph Neural Networks: An Optimization Perspective

IJCAI19的论文,前两篇都是采用贪心策略(通过梯度信息或者是对loss的贡献)在每一轮施加一个扰动,本文则采用基于优化的方式实现图对抗攻击。本来对于图中结点对之间是否添加扰动,这是一个离散的问题(0表示没有扰动,1表示有扰动),但是可以将这个二值的离散量松弛到0,1之间的离散量,这样就可以用优化的方法求解了。可以循环使用映射梯度下降法,得到最终的扰动图。

(4)Attacking Graph-based Classification via Manipulating the Graph Structure

CCS19的论文。考虑的是collective classification(同时预测多个对象的标签),前面的论文考虑的都是GCN。

(5)Adversarial Examples on Graph Data: Deep Insights into Attack and Defense

IJCAI19的论文。对于攻击而言,离散问题可以通过引入综合的梯度来转换成连续问题,这个梯度可以反映对指定结点属性或者边添加扰动时带来的影响,对于防御而言,有目标攻击下的adversarially manipulated graph和正常的图是不一样的。防御方法是可以恢复添加的扰动。

(6)Topology Attack and Defense for Graph Neural Networks: An Optimization Perspective

IJCAI21的论文。由于图的离散型,传统的一阶连续优化方法不能直接应用于使用边操作的攻击(拓扑攻击),作者提出了一个通用的一阶攻击生成框架。可以攻击已经训练好的GNN(基于投影梯度下降PGD的拓扑攻击)和攻击可重训练的GNN(min-max拓扑攻击)。同时提出了对应的一种防御方法。

(7)Data Poisoning Attack against Knowledge Graph Embedding

IJCAI19的论文。知识图嵌入(KGE)可以在知识图上学习实体的连续嵌入和关系的嵌入。之前对于图数据的攻击方法不能直接用来对知识图嵌入进行攻击,因为知识图是有异质的特征。

(8)A Unified Framework for Data Poisoning Attack to Graph-based Semi-supervised Learning

NIPS19的论文。文章研究了两个重要的问题:基于l2-norm限制的投毒回归任务和基于l0-norm限制的分类任务。

(9)A Restricted Black-box Adversarial Framework Towards Attacking Graph Embedding Models

AAAI20的论文。文章提出了受限黑盒攻击情形下,针对多种图嵌入模型进行统一对抗攻击的框架。这篇论文的亮点在于采用了黑盒攻击,无法知道模型的参数,也无法直接模型的预测结果。现有的图嵌入模型的对抗攻击大部分都是局限于白盒攻击,这篇文章是黑盒攻击。GF-Attack以图的邻接矩阵和特征矩阵作为输入,攻击的核心任务是破坏模型输出的图嵌入向量的质量。作者把图嵌入模型统一的看作是利用图滤波器和特征变化产生新的图信号的过程,其实就是将图嵌入模型建模为一种特殊的图信号处理的过程,所以是直接对图信号滤波器进行攻击。作者分别以图卷积神经网络GCN和基于采样的图嵌入模型DeepWalk为例,构造了攻击。

(10)Towards More Practical Adversarial Attacks on Graph Neural Networks

NIPS20的论文。在探究了GNN的反向传播和随机游走random walk之间的联系后,作者发现,常见的基于梯度的白盒攻击可以通过建立梯度和重要性分数之间的联系从而泛化推广到黑盒攻击。文章强调的是实施一种实用的对抗攻击,其实就是将文章的攻击方法应用于一个真实世界的数据集上。

(11)Graph Backdoor

后续补充,看了看摘要,还是没看懂这篇论文讲的啥。。。

(12)TDGIA:Effective Injection Attacks on Graph Neural Networks

KDD21的论文,提出了GIA这个攻击方案。GIA的作用并不是修改已有的链路结构或者是结点的属性(可以看到之前的论文都是直接对这些进行修改。),文章是直接往图上注入对抗结点(adversarial node)。之后文章还分析了GIA攻击的脆弱性,并且提出了拓扑的针对有缺陷图的注入攻击(TDGIA)从而实现injection attack。TDGIA首先把跟注入(inject)的结点有关联的原始结点挑出来,然后得到注入的结点的特征。作者实验表明,TDGIA的表现明显优于之前的一些攻击baseline。
(这篇文章的想法较之前比较新颖,记下来,之后组会可以分享这篇论文。)
代码开源:https://github.com/THUDM/tdgia

(13)Graph Adversarial Attack via Rewiring

KDD21的论文。之前的论文在产生对抗图的时候都是直接在图上添加或者删除一些边,但是作者认为这样的攻击很容易被察觉,所以这篇文章侧重于对图上的边做重新连接(难道重新连接就不容易察觉了吗??这里还有待商榷)然后作者使用强化学习来学习攻击策略。
(这篇文章和上面12的思路有点类似,都是直接抛弃原来的修改原图的方法,重新提出自己的方法,所以看着新颖性较大?但是两篇论文都没有开源代码不知道做起来会不会比较难。)

思考

该领域的研究,一部分人在考虑使用新的方法对图结构进行修改(从而使得扰动更加的不可见,这也是对抗攻击一直要努力的点,只有扰动足够的不可见才能实用),一部分人在考虑非GCN的攻击(毕竟GNN太火,大家都在搞GNN,这些人就另辟蹊径),一部分人在考虑黑盒攻击(因为刚开始大部分人研究的是白盒攻击)。一部分人在研究贪心策略和优化攻击。感觉不管是图领域还是图像领域的对抗攻击的重点研究内容都是类似的,黑盒攻击和扰动的不可见。

论文和代码汇总链接

https://github.com/safe-graph/graph-adversarial-learning-literature
https://github.com/gitgiter/Graph-Adversarial-Learning
https://github.com/safe-graph/graph-fraud-detection-papers
https://github.com/ChandlerBang/awesome-graph-attack-papers

  相关解决方案