本文主要是介绍论文《Adversarial Examples on Graph Data: Deep Insights into Attack and Defense》笔记,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
【IG-Attack 2019 IJCAI】本文提出了一种基于integrated gradients的对抗攻击和防御算法。对于攻击,本文证明了通过引入integrated gradients可以很容易解决离散问题,integrated gradients可以准确反映扰动某些特征或边的影响,同时仍然受益于并行计算。对于防御,本文观察到目标攻击的被攻击图在统计上不同于正常图。在此基础上,本文提出了一种防御方法,即检查并恢复潜在的对抗性扰动。
本文发表在2019年IJCAI会议上,作者学校:University of New South Wales,引用量:426。
IJCAI会议简介:全称International Joint Conference on Artificial Intelligence(国际人工智能联合会议),人工智能顶会,CCF A。
查询会议:
-
会伴:https://www.myhuiban.com/
-
CCF deadline:https://ccfddl.github.io/
原文和开源代码链接:
- paper原文:https://arxiv.org/abs/1903.01610
- 开源代码:https://github.com/DSE-MSU/DeepRobust/blob/master/deeprobust/graph/global_attack/ig_attack.py.backup
0、核心内容
- 引言:介绍了图数据在现实世界关系建模中的普遍性,例如社交网络、引文网络和程序流程控制。图卷积网络(GCN)在节点分类等任务上取得了显著的性能,但与其他深度学习模型一样,容易受到对抗性攻击的影响。
- 对抗性攻击:论文提出了一种基于**积分梯度(Integrated Gradients)**的攻击方法,解决了图数据中特征和边的离散性问题。该方法能够准确反映在并行计算中扰动特定特征或边的效果。
- 对抗性防御:论文观察到,对抗性操作的图在统计上与正常图不同。基于这一观察,提出了一种防御方法,通过检查图并恢复潜在的对抗性扰动来进行防御。
- 图卷积网络(GCN):介绍了GCN的基本原理,包括邻接矩阵、特征矩阵和图卷积层的聚合规则。
- 基于梯度的对抗性攻击:讨论了如何利用损失函数或模型输出相对于输入数据的梯度来攻击深度学习模型,例如FGSM和JSMA攻击。
- 对抗性示例的防御:虽然对抗性攻击在图神经网络上是一个相对较新的话题,但论文提出了一些防御策略,包括输入预处理和对抗性训练。
- 积分梯度引导的攻击:详细介绍了基于积分梯度的攻击方法,包括IG-FGSM和IG-JSMA,以及如何选择扰动的特征或边。
- 对抗性图的防御:提出了一种预处理方法,通过检查邻接矩阵并移除连接特征差异大的节点的边来防御对抗性攻击。
- 评估:在CORA-ML、CITESEER和Polblogs等数据集上评估了所提出的攻击和防御方法的有效性。
- 结论和讨论:总结了图神经网络在图数据分析中的性能提升,同时指出了其在鲁棒性方面的问题,并讨论了所提出的攻击和防御方法的有效性。
1、IG-JSMA攻击算法(方法论)
积分梯度(Integrated Gradients)的定义:
积分梯度是通过累积路径上所有点上的所有梯度而得到的。
IG-JSMA攻击算法的三个步骤:
① 计算边和特征的积分梯度作为扰动分数(compute the gradients as the perturbation scores for edges and features);
② 按照扰动分数排序(sort nodes and edges according to their scores);
③ 选择扰动的边或特征进行扰动(decide which to perturb)。
2、实验部分
数据集:
采用JSMA攻击方法和IG-JSMA攻击方法攻击后的分类正确率:
不同攻击算法得到的classification margin。
不同攻击算法针对不同数据集的CM和ER:
3、心得
本文最最核心的创新点就是提出了积分梯度(Integrated Gradients)的方法来解决由于图结构的离散性不能直接求梯度的问题。
论文的这一段把为什么不能直接将FGSM和JSMA算法迁移到图结构数据上讲得很清楚,因为特征矩阵和邻接矩阵的元素都是0和1,具有离散性,直接求梯度的话会失效。可以好好看一下这一段:
从另外一篇该论文的CSDN笔记的评论区截的图:
发现这样理解就很通俗易懂。
因为本文是建立在针对图像(image)的对抗攻击方法FGSM和JSMA之上的,因此需要理解算法的更细节的部分需要参考这两篇论文。
防御部分暂时没有看。
再留个坑,等代码复现完了加一个代码的解析部分。
4、参考资料
-
kimi:https://kimi.moonshot.cn/
-
【论文学习】Adversarial Examples on Graph Data: Deep Insights into Attack and Defense论文学习:https://blog.csdn.net/qq_38391210/article/details/122296473
-
论文《Explaining and Harnessing Adversarial Examples》笔记:先留个坑,写完放链接。
-
论文《The limitations of deep learning in adversarial settings》笔记
-
论文《Axiomatic attribution for deep networks》笔记
这篇关于论文《Adversarial Examples on Graph Data: Deep Insights into Attack and Defense》笔记的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!