Exploratory Adversarial Attacks on Graph Neural Networks


依赖training loss的最大梯度的这种基于梯度的策略,在攻击GNN模型时候,可能不会产生一个好的结果。

原因在于图结构的离散的特点。
⇓\Downarrow ⇓
我们可不可以推导出一种有效的方法,来选择攻击GNN的扰动?

我们提出一种新颖的exploratory adversarial attack命名为EpoAtk。

专注于poisoning attack 和 global attack。继承基于梯度攻击效率高的优势,克服最大梯度方法的不足。

概括为三个阶段:generation,evaluation,recombination

  1. 利用training loss的一阶导数,EpoAtk生成一个扰动候选集,而不仅仅是一个具有最大梯度的扰动。
  2. 在evaluation阶段,提出一个有效的评估函数,来评估候选集中的每个元素
  3. 为了进一步提高evaluation的有效性,引入recombination,从长远的角度来看,避免training loss的局部最大值。

无向图

每个节点有一个F维的特征向量,和一个class label(1~C)
X:代表一个节点特征矩阵,VxF
CLC_LCL​:代表有标签节点VLV_LVL​的one-hot label矩阵

在半监督节点分类任务中,给定A,X,VL,CLA,X,V_L,C_LA,X,VL​,CL​,GNN的目标就是学到一个分类器fwf_wfw​,来预测无标签节点的label,www是模型的参数集合。

为了满足扰动不易被发现,假定攻击者最多修改M次。

根据代表性的全局攻击[24]、[28],攻击者使用一系列修改过程,按照贪婪的方式来得到最终的图G(M)。

在每一步,只允许增加或者删除一条边,由于图的离散结构,这可能不能获得最优攻击结果,所以提出EpoAtk。

模型

Generation部分

引入一个梯度矩阵B(k)∈R∣V∣×∣V∣B^{(k)} \in R^{|V| \times |V|}B(k)∈R∣V∣×∣V∣

与以往方法不同的是,不只是选择最大的梯度,而是依次选择Δ\DeltaΔ个满足条件的来构成候选集。

Evaluation部分

先在原始图上学习到一个可控模型,并且预测无标签节点,作为ground truth。

评估函数如下:

fw∗f_{w^*}fw∗​:在修改过的图上学到的分类器
ZZZ:在修改过的图上学到的分类器给出的预测结果。

GaG_aGa​可能就是候选集里最有效的扰动

Recombination部分

攻击者在公式5的一系列修改中,可能陷入局部最大值。引入recombination来增加决策的不确定性。在此基础上,将对recombination阶段产生的每个元素进行精确评估,以克服上述难题。

recombination阶段是以概率kβM−1\frac{k \beta}{M-1}M−1kβ​发生的。k∈[1,M−1]k \in [1,M-1]k∈[1,M−1],β\betaβ是超参数。

也就是说:我们有1−kβM−11-\frac{k \beta}{M-1}1−M−1kβ​的概率直接选取Gak+1G_a^{k+1}Gak+1​作为Gk+1G^{k+1}Gk+1。

如果recombination发生,就需要扩大搜索空间,而不是简单地选取Gak+1G_a^{k+1}Gak+1​作为Gk+1G^{k+1}Gk+1。

除了Gak+1G_a^{k+1}Gak+1​外,再从候选集中按照如下分布sample另外一个修改过的对抗图Gbk+1G_b^{k+1}Gbk+1​:

注:Gak+1G_a^{k+1}Gak+1​和Gbk+1G_b^{k+1}Gbk+1​与GkG^kGk只有一个边不同。

把这两条边记作(ua,va)(u_a,v_a)(ua​,va​)和(ub,vb)(u_b,v_b)(ub​,vb​)(假设四个点不同,如果不满足则重新sample)。

在Gak+1G_a^{k+1}Gak+1​和Gbk+1G_b^{k+1}Gbk+1​的基础上,再生成两个扰动图:

(用这种方法,还可以生成更多的扰动图,但是为了高效和容易实现,只考虑了这两个图)

从这个集合SmS^mSm中选择最有效的扰动

【Paper-Attack】Exploratory Adversarial Attacks on Graph Neural Networks相关推荐

  1. 【论文阅读】A Gentle Introduction to Graph Neural Networks [图神经网络入门](2)

    [论文阅读]A Gentle Introduction to Graph Neural Networks [图神经网络入门](2) Graphs and where to find them 图以及在 ...

  2. 【论文阅读】A Gentle Introduction to Graph Neural Networks [图神经网络入门](7)

    [论文阅读]A Gentle Introduction to Graph Neural Networks [图神经网络入门](7) Into the Weeds Other types of grap ...

  3. 【论文阅读】A Gentle Introduction to Graph Neural Networks [图神经网络入门](6)

    [论文阅读]A Gentle Introduction to Graph Neural Networks [图神经网络入门](6) GNN playground Some empirical GNN ...

  4. 【论文阅读】A Gentle Introduction to Graph Neural Networks [图神经网络入门](5)

    [论文阅读]A Gentle Introduction to Graph Neural Networks [图神经网络入门](5) Graph Neural Networks 图神经网络 Now th ...

  5. 【论文阅读】A Gentle Introduction to Graph Neural Networks [图神经网络入门](4)

    [论文阅读]A Gentle Introduction to Graph Neural Networks [图神经网络入门](4) The challenges of using graphs in ...

  6. 【论文阅读】A Gentle Introduction to Graph Neural Networks [图神经网络入门](3)

    [论文阅读]A Gentle Introduction to Graph Neural Networks [图神经网络入门](3) What types of problems have graph ...

  7. 【论文阅读】A Gentle Introduction to Graph Neural Networks [图神经网络入门](1)

    [论文阅读]A Gentle Introduction to Graph Neural Networks [图神经网络入门](1) 最近读了一篇Distill网站上的一篇文章,讲的是图神经网络的入门, ...

  8. 【论文】A Comprehensive Survey on Graph Neural Networks

    A Comprehensive Survey on Graph Neural Networks 1 Introduction 2 Definition 3 Categorization GNN分类 框 ...

  9. 【全文翻译】Composite Adversarial Attacks

    复合对抗攻击 1. Abstract 2.Introduction 3.Preliminaries and Related work(准备工作和相关工作) Adversarial Attack Aut ...

最新文章

  1. AutoML自定义搜索网络类(如何在一个大的网络中搜索一个网络)
  2. 一道浅浅的山脊 —— 游戏3D造型艺术的工业化进程
  3. Spring Cloud Alibaba基础教程:Sentinel Dashboard中修改规则同步到Nacos
  4. redis命令执行流程分析
  5. PDF虚拟打印机是如何打印文件的
  6. Java NIO 详解
  7. python爬取豆瓣Top250-改进版
  8. 没有利空的股票,为什么有时会突然跌停?
  9. 网易,这次你让粉丝们失望了
  10. 用CSS添加鼠标样式-箭头、小手、十字 CSS实现虚线之dotted边框-点虚线、dashed边框-破折号虚线
  11. 备战2018|春招or跳槽?大学生和职场新人最后的机会!
  12. 从小白到数据分析师的成长之路
  13. 计算机丢失client,FsPiscesClient.dll
  14. Unity牧师与魔鬼小游戏(动作分离版)
  15. python中idx+=1_在Python中为apos;循环访问索引 Dovov编程网
  16. 五一出游,“我”的隐私被扒干净了
  17. Vivado ILA Advanced Trigger的使用
  18. 【Linux:CentOS7】查看JDK版本信息报错解决
  19. 5G MEC UPF选择及本地分流技术分析
  20. Python绘制流程图

热门文章

  1. PAT (Basic Level) Practice (中文)1022 D进制的A+B (20 分)
  2. loc与iloc函数的使用
  3. Entity Framework 4中的Code-First, Model-First和Database-First模式(转)
  4. [转]ubuntu network is unreachable 解决记
  5. openlayers 中的一些方法
  6. idea怎么运行eclipse的web项目_Apache Storm v2.0入门项目的开发、测试和运行(IDEA/Maven)...
  7. IAR 下根据官方库建立 STM32的工程
  8. 基础编程题目集 6-2 多项式求值 (15 分)
  9. 苏州大学文正学院计算机专业,苏州大学文正学院有哪些专业及什么专业好
  10. java中字节码_Java字节码浅析(—)