最新综述 | 图数据上的对抗攻击与防御

2023-05-16

Lichao Sun and Yingtong Dou and Carl Yang and Ji Wang and Philip S. Yu and Bo Li,  Adversarial Attack and Defense on Graph Data: A Survey. arXiv:1812.10528

阅读更多,欢迎关注公众号:论文收割机(paper_reader)
因为排版问题,很多图片和公式无法直接显示,欢迎关注我们的公众号点击目录来阅读原文。

引言


 

我们之前在公众号中陆续介绍了图数据对抗攻击与防御的相关文章,包括最受关注的 KDD 2018 Best Paper 和 ICML 2018 关于图数据上攻击的两篇论文。以及 2019 年 ICML 和 KDD 关于图模型鲁棒性的两篇论文。

 

我们还介绍过于2018 年底公开的一篇图数据对抗攻击与防御的综述。彼时,只有六篇左右相关工作,而到了一年半以后的今天,图数据对抗与攻击已经有七十多篇工作。

 

上面这篇综述于2020年4月更新了第二版,增加了对35 篇攻击 30 篇防御论文的分类和总结。我们这篇推送主要介绍其文章架构和内容特色,感兴趣的读者可在 ArXiv 上下载原文进行阅读(点击文末阅读原文可直接前往)。

 

 

背景


 

对于机器学习的模型的攻击,最早主要是计算机安全的研究方向。随着深度学习在计算机视觉上的成功应用以及对抗生成网络(GAN)的提出,在机器学习和数据挖掘领域,越来越多的人开始关注模型的安全问题。

 

随着 2017 年图神经网络横空出世,因为其相对于图片和文本信息的拥有更离散化的结构特征,对图神经网络的安全研究自然而然成为一个独立且颇具研究价值的方向。

 

根据目前大部分工作对于图数据攻击的定义,我们可以将其概括为:通过修改图数据的某些特征(例如加边,删边),从而逃避目标模型(例如 GCN)的检测,或者降低目标模型的整体表现(例如降低分类准确率)。

 

相对应的,图数据上的防御就是提出一些措施来降低攻击的效果,提升模型的鲁棒性。

 

当然,在图数据上面的攻击和防御有不同的图类型,不同的任务,不同的目标,不同的策略,不同的手段,以及不同的评价指标。这也是这篇综述的特点之一,即从各个维度对目前的工作进行了分类和总结。

 

表1:根据文章是否基于 GNN 进行分类

 

 

文章架构


 

本文采用了总分的结构。第一章介绍背景和文章贡献,第二章介绍了图的基本概念以及图上的学习任务和应用场景


第三章主要介绍图数据上的攻击的定义,以及相关工作。因为图数据的攻击研究比较早,而且相关工作较多,所以攻击的介绍涵盖了图数据对抗学习的基本类别和术语。例如攻击的任务,目标,知识,方法等等。

 

第四章介绍了图数据的防御,根据相关工作采取的防御措施的异同分了几个主要类别来讲。例如最主流的对抗训练方法(Adversarial Training)还有攻击检测方法(Attack Detection)方法。

 

第三第四章在介绍所有方法之后,在各自的最后一小节还对所有的方法进行了综合分析,分析了其的局限性和未来的研究方向。

 

为了让读者快速上手图对抗学习的研究和实践,该综述在第五章和第六章分别总结了现有文章使用的评价指标数据集

 

介绍评价指标(Evaluation Metric),是因为在评价图数据对抗攻击和防御表现的时候,除了传统的分类、排序、聚类等指标外,还有一些特有的指标来衡量攻击和防御的效果。例如,目前最常用的 Average Success Rate (平均成功率),即成功攻击的次数占所有攻击次数的比例。

 

介绍数据集,是为了让读者更快地了解现有工作主要基于什么任务和数据集,帮助确定自己的研究方向。综述还列出了一些关注度比较低的数据集和应用场景,作为未来研究方向供读者参考。

 

表 4:主流数据集统计信息及类别

 

本文在附录中还列举了现有工作的开源代码链接

 

表 5:现有算法开源代码链接

 

 

内容亮点


 

亮点 1:本文用两张分别占一整页的表格对现有攻击和防御工作进行了细致的分类总结。

 

在攻击部分,表格根据攻击的模型,任务,策略,手段,基线,评价指标,数据集进行分类。


值得注意的是,所有文章是基于公开时间升序排列,有助于读者了解研究发展脉络。表格对攻击的策略(Strategy)手段(Approach)进行区分,策略是指设计攻击方法的算法思想(例如使用强化学习),而手段是指具体攻击时采用的方法(例如加边减边)。

 

表 2: 攻击文献分类总结(部分)

 

 

在防御相关工作总结部分,表格介绍了防御的任务,模型,对应的攻击,防御策略,基线,评价指标和数据集。

 

介绍防御对应的攻击,有助于读者快速现有工作主要对哪些攻击方法做防御。

 

表 3: 防御文献分类总结(部分)

 

亮点 2:本文对用一个统一的框架对图数据上的攻击进行了定义(3.1 章)。

 

因为对图数据的攻击不仅限于图神经网络,也不仅限于节点分类任务,所以本文用一个高度概括的的公式对攻击任务进行总结:

 

其中,f 是图数据上的任务,可以是节点/图的分类任务,也可以是链路预测和节点聚类任务,c 代表的是攻击的目标,可以是节点,边,或者模型,G 表示图数据,y 代表数据的标签信息,L 是损失函数,\theta 代表整个任务中的所有参数,\Theta 代表图数据的干扰空间。

 

所以,对图数据的攻击可以概括为一个 minimax 问题,即寻找到最优的参数\theta,使得其在原始图上的 loss 最小,在受干扰的图上的 loss 最大。上面的公式几乎可以概括目前所有图数据攻击的的形式。

 

亮点 3:本文对评价指标和数据集做了细致分类和总结。

 

本文除了对常用评价指标进行分类,还对相关工作提出或者使用到的特殊指标进行细致总结,一共总结了14 种特殊指标。并且每种指标都列出了使用它的相关工作。

 

在数据集部分,该综述也总结了每个数据集的应用任务,列出了使用数据集的相关工作信息。

 

亮点 4:本文使用GitHub对最新文章进行追踪。

 

因为该领域发展迅速,本文为了更好地追踪最新工作信息,还建立了一个每周更新的 GitHub Repo 列表对最新工作进行总结整理。列表链接如下:

 

https://tinyurl.com/r34fm5z

 

 

总结


 

图数据对抗与攻击是一个新兴研究领域,目前大部分工作都对 GCN 的节点分类任务进行攻击与防御。在未来,攻击与防御应该可以拓展更多的任务和场景中,同样,一些更加实际的,复杂的对抗场景也有待进一步研究。

 

阅读更多,欢迎关注公众号:论文收割机(paper_reader)
因为排版问题,很多图片和公式无法直接显示,欢迎关注我们的公众号点击目录来阅读原文。


往期文章:

  • WSDM'20 | 如何构建推荐系统中的商品知识图谱

  • KDD 2019' 异构信息网络上的对抗生成学习

  • 图卷积网络背后的奥秘(附相关资料&论文推荐)

  • KDD’19 | 图神经网络预测知识图谱中的节点重要性

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

最新综述 | 图数据上的对抗攻击与防御 的相关文章

  • bug解决: ffmpeg 在window下使用 PRId64 报错

    在timestamp h 中 调用 av ts make string报错 error expected before PRId64 原因 xff1a 该宏定义给c用的 xff0c C 43 43 要用它 xff0c 就要定义一个 STDC
  • qt: error: C2001: 常量中有换行符

    PS 这两天搞工程系统移植 xff0c 搞得疯掉了 xff0c 代码复用还不如重写呢 如下一句带有中文的程序 xff0c mingw 43 linux 运行没有任何问题 xff0c window下msvc 运行就报错C2001 time s
  • Eigen内存分配器aligned_allocator

    在使用Eigen的时候 xff0c 如果STL容器中的元素是Eigen数据库结构 xff0c 比如下面用vector容器存储Eigen Matrix4f类型或用map存储Eigen Vector4f数据类型时 xff1a vector lt
  • Ubuntu 升级cmake 版本

    PS 在编译一些包时需要更高的版本 xff0c 需要升级 cmake 千万别执行下面的命令 xff0c 这样会把之前用 cmake 编译好的包都给卸载掉 xff0c 包括ros sudo apt get autoremove cmake 比
  • 视觉slam十四讲(ch6) Ubuntu18.04安装 g2o库 报错error: FixedArray ... has no member named ‘fill’

    ps 再学习14讲第二版的时候 xff0c 运行g2o 报错 error FixedArray aka class ceres internal FixedArray lt double 6 gt has no member named f
  • 无人驾驶学习笔记-NDT 配准

    目录 1 NDT 的算法处理流程 2 NDT 公式推导 3 NDT 实例 3 1 常规NDT的位姿估计 3 2 front end node 1 ROS常规初始化 2 初始化操作 xff1a 读取传感器数据 获取lidar to imu变换
  • KD 树原理以及在三维激光点云中的应用

    目录 1 介绍 2 原理 2 1 数据结构 2 2 构建KD树 2 3 实例 3 程序示例 4 参考链接 1 介绍 kd tree简称k维树 xff0c 是一种空间划分的数据结构 常被用于高维空间中的搜索 xff0c 比如范围搜索和最近邻搜
  • slam 基础知识整理之- 最小二乘问题的引出与求解方法

    目录 1 最小二乘引出 2 线性最小二乘 及 求解方法 3 非线性最小二乘 编辑 3 1 求解思路 3 2 常用四种方法 3 3 四种方法总结 4 参考链接 在SLAM的过程中 xff0c 我们可以构建机器人状态过程 通过对其概率的计算 x
  • 无人驾驶学习笔记 - LOAM 算法论文核心关键点总结

    目录 1 框架 2 特征点提取 3 点云去畸变 4 帧间匹配 特征关联与损失函数计算 a 线特征 b 面特征 5 运动估计 6 建图 7 姿态融合 8 LOAM 优劣势 9 参考连接 1 框架 loam框架核心是两部分 xff0c 高频率的
  • 动态窗口法的理解和一些细节

    机器人局部路径规划 动态窗口法 动态窗口法 xff08 Dynamic Window Approach xff0c DWA xff09 是一类经典的机器人局部路径规划算法 它的过程主要分为两部分 xff1a 速度空间 v
  • 无人驾驶学习笔记 - A-LOAM 算法代码解析总结

    目录 1 概述 2 scanRegistration cpp 2 1 代码注释 2 1 1 主函数 2 1 2 removeClosedPointCloud xff08 雷达周边过近点移除 xff09 2 1 3 laserCloudHan
  • 无人驾驶学习笔记-LeGO-LOAM 算法源码学习总结

    目录 1 概述 2 lego loam的贡献 3 系统框图 4 ros graph中的节点关系表 5 lego loam 的文件系统架构 6 各部分方法原理及代码注释 6 1 点云投影与目标分割 1 总结概述 2 代码注释 2 1 copy
  • Boost 中 signal2 用法

    boost 函数与回调 xff08 三 xff09 signals2
  • 树莓派学习笔记

    文章目录 树莓派基础入门笔记无显示屏使用方式基础教程5 树莓派文件传输 配置编译环境使用U盘直接传输使用vnc传输文件FTP文件传输协议Python配置编译环境C C 43 43 配置编译环境Linux常用终端命令nano和vi编辑器的使用
  • 22.IO与显示器

    README 1 本文内容总结自 B站 操作系统 哈工大李治军老师 xff0c 内容非常棒 xff0c 墙裂推荐 xff1b 2 显示器是输入型外设 xff1b 3 本章主要内容是讲 显示器是如何被驱动的 xff1b 或操作系统是如何让用户
  • BGP协议基础配置—学习

    BGP重要概念 IGP是运行在AS内部的路由协议 xff0c 主要有RIP OSPF及IS IS xff0c 着重于发现和计算路由 EGP是运行在AS之间的路由协议 xff0c 通常是BGP xff0c 它是实现路由控制和选择最好的路由协议
  • STM32 Not a genuine ST Device! Abort connection 错误解决方案

    STM32 Not a genuine ST Device Abort connection 错误解决方案 网上解决方案晶振设置不匹配导致Connect setting to with Pre reset降低MAX Clock 我自己的解决
  • VMware的.vmdk文件只赠不减的处理方法

    VMware虚拟机的虚拟磁盘的大小会随着使用时间不断变大 xff0c 而且只赠不减 即使在虚拟系统中删除了磁盘中的文件 xff0c 虚拟磁盘的大小仍然不会变小 释放空闲磁盘的方法如下 xff1a VMWare Tools中的 Shrink功
  • 使用码云(Gitee)进行代码管理,以及VsCode关联Git

    一 安装git Git的下载 安装与配置 git 简明指南 二 注册码云 1 xff09 注册码云账号 xff1a 码云官网 2 xff09 绑定邮箱 xff1a 右上角 头像 设置 邮箱管理 三 本地项目与码云关联 1 本地项目上传至码云
  • 删掉带页眉的空白页结果把所有页眉都删掉解决办法

    点击视图 大纲 会发现在之前的操作中有两个分节符 xff0c 把上面那个删掉即可 参考链接https zhidao baidu com question 105591450 html 小问题也蛮耗时的

随机推荐

  • ROS之多个订阅数据同步

    做传感器数据融合时 xff0c 常常会需要用到多个数据 xff0c 即需要同时订阅多个话题 那么 xff0c 如何同步这些传感器数据的时间辍 xff0c 并将它们放入一个回调函数中进行处理呢 xff1f 参考文档 xff1a http wi
  • C++中使用strtok函数分割字符串String

    C 43 43 中使用strtok函数分割字符串String string str getline cin str vector lt string gt vec char p 61 strtok char str c str 34 34
  • 利用python获取IP资源池的方法

    在使用爬虫的时候 xff0c 经常会遇到IP被禁止的情况 xff0c 所以一般都需要一个资源池来提高降低风险 以下代码中 xff0c 基于python3 7 xff0c 数据库用的是POSTGRESQL11 xff0c 为了效率使用了队列
  • DNS笔记(一):yum方式安装DNS与简单设置

    思路 客户端主机 gt DNS服务端主机 gt 后台主机 DNS服务端主机防火墙 iptables I INPUT 4 m state state NEW p tcp dport 53 j ACCEPT iptables I INPUT 4
  • Linux基础知识之df和du的差异

    创建文件前统计 xff0c 可以看出磁盘总共50G xff0c 已使用13G root 64 payne du sh 2 gt dev null 13G root 64 payne df h Filesystem Size Used Ava
  • Linux网络异常排查手段

    网络不通常用工具 xff1a ping mtr nmap telnet curl 域名IP服务器解析工具 xff1a nslookup dig 1 ping 启动方式及解释 xff1a ping c3 www baidu com PING
  • Prometheus学习(一):单节点部署与配置+Grafana安装

    Prometheus学习 xff08 一 xff09 xff1a 单节点部署与配置 43 Grafana安装 一 配置前准备1 下载软件2 主机列表3 同步时间4 创建账户 二 安装与配置1 node exporter安装与配置2 Serv
  • ELK笔记(一):Centos7部署elasticsearch-7.8.0集群

    Centos7部署elasticsearch 7 8 0集群 1 部署前准备1 1 系统选择1 2 主机列表1 3 下载 解压缩安装包1 4 创建用户 2 修改配置文件2 1 elastic search配置文件2 2 OS配置文件 3 启
  • centos8安装ansible-awx:9.0.1

    为什么要这要贴出来呢 xff0c 因为这个鬼东西我真的不知道为什么能跑成功 xff0c 先是在centos7上安装 xff0c 结果重复多次后成功了 xff0c 然后重新装一遍 xff0c 又失败了 真的不知道怎么装了 xff0c 甚至连在
  • 使用helm创建elastic

    coding https gitee com pangfaheng devops coding tree master kubernets elastic git https github com elastic helm charts 1
  • jstatd监控jvm内存消耗

    env localhost MacOS11 6 remote server run a centos7 server in vmware use MacOS monitoring remote server remote server op
  • 深度强化学习笔记之PPO算法理解(1)

    深度强化学习笔记之PPO算法理解 xff08 1 xff09 笔记内容来源于李宏毅老师的深度强化学习的PPT 关于PPO xff08 Proximal Policy Optimization xff09 xff0c 李老师分为了三个部分进行
  • apt install 报无法修正错误

    E 无法修正错误 xff0c 因为您要求某些软件包保持现状 xff0c 就是它们破坏了软件包间的依赖关系 很可能是ubuntu更换软件源出了问题 问题在于软件源设置不对 xff0c 装好Linux后 xff0c 人们都会去修改 etc ap
  • ubantu系统服务器系统搭建详情及配置步骤(DELL poweredge r730服务器)

    实验室新到了一批显卡 xff0c 周末跟着几位师兄在机房混迹学着ubantu系统系统服务的部署 xff0c 配置 xff0c 搭建 xff0c 现记录于博客备忘 准备 xff1a ubantu镜像文件 ubuntu 16 04 3 serv
  • 树莓派升级(安装)Python3.6

    如果你的树莓派或者其他Linux主机上安装的Python版本比较低 xff0c 那么在安装Homeassisant等软件时 xff0c 会出现一些故障导致无法安装 xff0c 所以本文讲解如何在python版本比较低的树莓派上升级树莓派的版
  • 研究了几天CEF的感受

    cef搞到现在 xff0c 用已经勉强用上了 xff0c 性能也很好 xff0c 但是最大的问题是js在render进程里跑 xff0c 这一点和Electron是一样的 xff0c 也是chrome这类浏览器标准做法 xff0c 其实是不
  • Jenkins安装过程

    一 什么是自动化测试平台 前言 xff1a 在一些做嵌入式产品的公司里 xff0c 为了确保开发主线代码的稳定 xff0c 在做版本升级的时候要考虑到代码改动对主线功能造成的影响 xff0c 避免造成严重的版本问题 xff0c 需要在每次代
  • ldd nm strip strings readelf file查看信息

    ldd lt 可执行文件名 gt 查看可执行文件链接了哪些 系统动态链接库 nm lt 可执行文件名 gt 查看可执行文件里面有哪些符号 strip lt 可执行文件名 gt 去除符号表可以给可执行文件瘦身 strip后使用nm查看不到符号
  • linux console输出重定向到串口ttyS0

    在linux系统中使用virsh创建和管理虚拟机时 xff0c 除了使用ssh 连接虚拟机 xff0c 还可以使用 virsh console 虚机名 的方式连接虚拟机 xff0c 不过需要在虚机镜像中开启将console重定向到串口的设置
  • 最新综述 | 图数据上的对抗攻击与防御

    Lichao Sun and Yingtong Dou and Carl Yang and Ji Wang and Philip S Yu and Bo Li Adversarial Attack and Defense on Graph