论文《Adversarial Examples on Graph Data: Deep Insights into Attack and Defense》笔记

本文主要是介绍论文《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》笔记的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1118114

相关文章

AI hospital 论文Idea

一、Benchmarking Large Language Models on Communicative Medical Coaching: A Dataset and a Novel System论文地址含代码 大多数现有模型和工具主要迎合以患者为中心的服务。这项工作深入探讨了LLMs在提高医疗专业人员的沟通能力。目标是构建一个模拟实践环境,人类医生(即医学学习者)可以在其中与患者代理进行医学

【学习笔记】 陈强-机器学习-Python-Ch15 人工神经网络(1)sklearn

系列文章目录 监督学习:参数方法 【学习笔记】 陈强-机器学习-Python-Ch4 线性回归 【学习笔记】 陈强-机器学习-Python-Ch5 逻辑回归 【课后题练习】 陈强-机器学习-Python-Ch5 逻辑回归(SAheart.csv) 【学习笔记】 陈强-机器学习-Python-Ch6 多项逻辑回归 【学习笔记 及 课后题练习】 陈强-机器学习-Python-Ch7 判别分析 【学

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

论文翻译:arxiv-2024 Benchmark Data Contamination of Large Language Models: A Survey

Benchmark Data Contamination of Large Language Models: A Survey https://arxiv.org/abs/2406.04244 大规模语言模型的基准数据污染:一项综述 文章目录 大规模语言模型的基准数据污染:一项综述摘要1 引言 摘要 大规模语言模型(LLMs),如GPT-4、Claude-3和Gemini的快

论文阅读笔记: Segment Anything

文章目录 Segment Anything摘要引言任务模型数据引擎数据集负责任的人工智能 Segment Anything Model图像编码器提示编码器mask解码器解决歧义损失和训练 Segment Anything 论文地址: https://arxiv.org/abs/2304.02643 代码地址:https://github.com/facebookresear

数学建模笔记—— 非线性规划

数学建模笔记—— 非线性规划 非线性规划1. 模型原理1.1 非线性规划的标准型1.2 非线性规划求解的Matlab函数 2. 典型例题3. matlab代码求解3.1 例1 一个简单示例3.2 例2 选址问题1. 第一问 线性规划2. 第二问 非线性规划 非线性规划 非线性规划是一种求解目标函数或约束条件中有一个或几个非线性函数的最优化问题的方法。运筹学的一个重要分支。2

【C++学习笔记 20】C++中的智能指针

智能指针的功能 在上一篇笔记提到了在栈和堆上创建变量的区别,使用new关键字创建变量时,需要搭配delete关键字销毁变量。而智能指针的作用就是调用new分配内存时,不必自己去调用delete,甚至不用调用new。 智能指针实际上就是对原始指针的包装。 unique_ptr 最简单的智能指针,是一种作用域指针,意思是当指针超出该作用域时,会自动调用delete。它名为unique的原因是这个

查看提交历史 —— Git 学习笔记 11

查看提交历史 查看提交历史 不带任何选项的git log-p选项--stat 选项--pretty=oneline选项--pretty=format选项git log常用选项列表参考资料 在提交了若干更新,又或者克隆了某个项目之后,你也许想回顾下提交历史。 完成这个任务最简单而又有效的 工具是 git log 命令。 接下来的例子会用一个用于演示的 simplegit

记录每次更新到仓库 —— Git 学习笔记 10

记录每次更新到仓库 文章目录 文件的状态三个区域检查当前文件状态跟踪新文件取消跟踪(un-tracking)文件重新跟踪(re-tracking)文件暂存已修改文件忽略某些文件查看已暂存和未暂存的修改提交更新跳过暂存区删除文件移动文件参考资料 咱们接着很多天以前的 取得Git仓库 这篇文章继续说。 文件的状态 不管是通过哪种方法,现在我们已经有了一个仓库,并从这个仓

忽略某些文件 —— Git 学习笔记 05

忽略某些文件 忽略某些文件 通过.gitignore文件其他规则源如何选择规则源参考资料 对于某些文件,我们不希望把它们纳入 Git 的管理,也不希望它们总出现在未跟踪文件列表。通常它们都是些自动生成的文件,比如日志文件、编译过程中创建的临时文件等。 通过.gitignore文件 假设我们要忽略 lib.a 文件,那我们可以在 lib.a 所在目录下创建一个名为 .gi