图卷积神经网络+图深度学习对抗攻击Adversarial Attacks on Neural Networks for Graph Data

图卷积神经网络

GCN入门了解的一个超级好的博客
https://www.jianshu.com/p/89fbed65cd04?winzoom=1

在这篇论文Adversarial Attacks on Neural Networks for Graph Data中,总结了GCN:
论文中描述了一个单隐层的目的是用来做节点分类的GCN

Adversarial Attacks on Neural Networks for Graph Data

主要成果

此论文是第一个研究attributed graph上进行adversarial attack的工作。

在node的feature和graph的结构上生成微小的adversarial perturbation扰动,来迷惑神经网络,使其无法正常工作。也就是加入小的扰动后,使得GCN无法正常将节点分类。

perturbation都是微小的,网络重要的数据特征都是可以被保留的。

攻击模型 attack model

  1. 扰动的增加就是将原图G=(A,X)变成G=(A’,X’)
  • A是邻接矩阵,改变A就是对图的结构进行改变structure attack

  • X是每个节点的特征,改变X就是对图的特征进行改变 feature attacks

攻击的分类:

  • direct attack:目的是不让影响V0的分类,对V0实施扰动,就是进行直接攻击
  • influencer attack:对V0相关的但不是目标的节点实施扰动,就是间接攻击
  1. 由于增加扰动的目的是让神经网络分错类,但我们并不能够完全改变全来的图,因此必须有扰动改变的限制
    图卷积神经网络+图深度学习对抗攻击Adversarial Attacks on Neural Networks for Graph Data_第1张图片

  2. 问题的目标公式
    让神经网络对添加扰动以后的图的点的分类预测 与 神经网络对原图的点的分类预测 差别最大:
    图卷积神经网络+图深度学习对抗攻击Adversarial Attacks on Neural Networks for Graph Data_第2张图片

扰动

Graph structure preserving perturbations

作者认为最明显的结构就是图的度degree distribution,并且degree distribution遵从power-law
如果两个图的power-law完全不同,那么图也完全不同
作者想要增加扰动后,使得前后的两个图有相同的power-law

过程:

  1. 估计出原图的power-law的指数 α \alpha α
    估计一个图的power-law的指数 α \alpha α的近似公式如下:
    图卷积神经网络+图深度学习对抗攻击Adversarial Attacks on Neural Networks for Graph Data_第3张图片
    同样,将两个图联合起来,也可以估计一个联合的 α \alpha α

  2. 给出 α \alpha α,来估计样本Dx的log-likelihood:在这里插入图片描述
    有了log-likelihood 公式,我们可以进行显著性测试,估计两个graph是不是来自于同一个power-law distribution。也就是看一看两个图是不是遵守同一个power-law 图卷积神经网络+图深度学习对抗攻击Adversarial Attacks on Neural Networks for Graph Data_第4张图片

  3. 重点–structure扰动的核心:

添加的structure扰动要满足上述要求,也就是在添加扰动后,两图power-law下的卡方检验的参数t<0.004

Feature statistics preserving perturbations

采用probabilistic random walker on the co-occurence graph C
也就是使用了在一个特征co-occurence graph上的随机游走

  1. feature co-occurence graph F
    C=(F,E)
    F是特征的集合,E就是F的邻接矩阵
  2. 加入特征i,使得这个特征符合unnoticeable:
    要使得他满足unnoticeable,就要满足下面的式子:
    图卷积神经网络+图深度学习对抗攻击Adversarial Attacks on Neural Networks for Graph Data_第5张图片
    也就是说在graph C上进行一步随机行走,要是有相当大的概率能够到达feature i,那么将feature i加入到node u的feature set中就可以认为是unnoticeable的。
    我们可以理解成,加入了一个特征,这个特征和其他的特征联系比较大,这样在新图中,更多的点会存在这个特征,相比只有少数的点存在这个特征,更多的有此特征的点的图和原图更相似。

以上,通过采用这两者扰动,来使得形成扰动,来攻击神经网络。具体的很多细节、之后的实验和一些复杂的推导就不再列出来了。这些推导中我还有许多细节看不懂,希望自己数学水平提升之后能够彻底弄懂他们!

你可能感兴趣的:(对抗攻击)