【Attack】图神经网络的对抗性攻击:扰动及其模式

文章探讨了在图神经网络学习中对抗性攻击的挑战,包括如何在离散图结构中寻找扰动,以及如何设计不被察觉的扰动以影响节点分类。研究还提出了针对单个节点的攻击方法,强调了结构和特征攻击的重要性,以及在实际场景中如何通过限制更改数量和保持固有属性来检测和生成对抗图。
摘要由CSDN通过智能技术生成

在这里插入图片描述
Paper
KDD’18
Code

1 Challenges

  1. 和由连续特征组成的图像不同,图结构(通常还有节点的特征)是离散的(discrete)。因此,基于梯度的方法不适合寻找扰动。如何设计能够在离散域中找到对抗样本的有效算法?
  2. 对抗性扰动的目的是不被(人类)注意到。对于图像,通常会强制执行,例如,每像素值的最大偏差。如何捕捉(二进制和属性)图中“不可察觉的变化”的概念?
  3. 节点分类通常在转导(transductive)学习设置中执行。这里,在对特定测试数据执行预测之前,训练数据和测试数据被联合用于学习新的分类模型。这意味着主要执行的规避攻击evasion attack——其中分类模型的参数被假设为静态的——是不现实的。模型必须在操纵的数据上进行(重新)训练。因此,在转换环境中基于图的学习本质上与具有挑战性的中毒/因果攻击有关(具体来说,模型的训练阶段在攻击之后执行)。

2 Adversarial Attacks when Learning with Graphs

在这里插入图片描述
图结构和节点特征的小扰动会导致目标的错误分类☝️。(牵一发而动全身)

这项工作是针对单个节点的有针对性的攻击,目标是对图 G ( 0 ) = ( A ( 0 ) , X ( 0 ) ) G^{(0)}=(\textbf{A}^{(0)}, \textbf{X}^{(0)}) G(0)=(A(0),X(0))执行小扰动,从而得到 G ′ = ( A ′ , X ′ ) G^{'}=(\textbf{A}^{'}, \textbf{X}^{'}) G=(A,X),使得分类性能下降。对 A ( 0 ) \textbf{A}^{(0)} A(0) 的改变称为结构攻击,而对 X ( 0 ) \textbf{X}^{(0)} X(0)的改变称为特征攻击。

因为non-i.i.d.数据的性质,节点的预测结果不仅取决于节点本身。所以,攻击也不限于扰动目标节点,可以通过改变其他节点来实现攻击目标。事实上,这更好地反映了真实的世界场景,因为攻击者可能只能访问几个节点,而不能访问整个数据或目标节点本身。

为了确保攻击者不能完全修改图,通过预算 Δ \Delta Δ来限制允许的更改数量:
∑ u ∑ i ∣ x u i ( 0 ) − x u i ′ ∣ + ∑ u < v ∣ a u v ( 0 ) − a u v ′ ∣ ≤ Δ \sum_{u}\sum_{i}\left|x_{ui}^{(0)}-x_{ui}^{\prime}\right|+\sum_{u<v}\left|a_{uv}^{(0)}-a_{uv}^{\prime}\right|\leq\Delta ui xui(0)xui +u<v auv(0)auv Δ

问题定义:
在这里插入图片描述

3 Unnoticeable Perturbations

在图上,通过修改输入数据但又不容易被发现是更加困难的,因为:
(1)图结构是离散的,无法使用无穷小的微小变化;
(2)足够大的图不适合视觉检查。
只考虑预算 Δ \Delta Δ是不够的,特别是如果由于复杂的数据而需要大的预算,我们仍然希望逼真地观察扰动图 G ′ G^{'} G.
本研究的核心思想只允许那些保留输入图特定固有属性的扰动.

3.1 保持图结构的扰动

图结构最显著特征是其度分布。如果两个网络显示出截然不同的度分布,就很容易将它们区分开来
因此,我们的目标是生成与输入相似的幂律(power-law )行为的扰动。
参考双样本检验统计,即使用似然比检验来估计 G 0 G^{0} G0 G ′ G^{'} G的两个度分布是来自同一个分布还是不同分布

首先估计幂律分布 p ( x ) ∝ x − α p(x) \propto x ^{-\alpha} p(x)xα的缩放参数 α \alpha α,该参数指的是𝐺(0)的度分布(等同于𝐺 ′的度分布)。虽然在离散数据的情况下,没有精确的闭式解来估计 α \alpha α,但有文献推导出了一个近似表达式,对于我们的图 𝐺 来说,它可以转化为:
在这里插入图片描述

3.2 保持扰动的特征统计

虽然上述原则也可应用于节点特征(例如,保留特征出现的分布),但我们认为这样的程序局限性太大。尤其是,这样的测试不能很好地反映不同特征的相关性/共同性: 如果两个特征在𝐺 (0) 中从未同时出现,但在𝐺 ′ 中出现了一次,那么特征出现的分布仍然会非常相似。然而,这种变化很容易察觉。例如,两个词从来没有在一起使用过,但突然在 𝐺 ′ 中使用了。因此,我们称之为基于特征共现的检验。
在这方面,将特征设置为 0 是非关键性的,因为它不会引入新的co-occurences。问题是:节点𝑢 的哪些特征可以设为 1 以被视为不可忽略?为了回答这个问题,我们考虑在𝐺 (0) 的特征共现图 𝐶 = (F, 𝐸)上使用random walker,即 F 是特征集,𝐸 ⊆ F × F 表示迄今为止哪些特征一起出现过。我们认为,如果random walker从节点 𝑢 最初出现的特征开始,走一步到达一个特征 𝑖 的概率非常大,那么增加一个特征就不会被注意到
形式上,让 𝑆𝑢 = { 𝑗 | 𝑋𝑢𝑗 ≠ 0} 是节点 𝑢 最初存在的所有特征的集合。我们认为在节点 𝑢 上添加特征 𝑖 ∉ 𝑆 𝑢 是不可察觉的,如果
在这里插入图片描述其中,𝑑𝑗 表示共现图 𝐶 中的度数。也就是说,如果概率walker从任意特征𝑗 ∈ 𝑆𝑢 开始,那么在走完一步后,它将至少以𝜎 的概率到达特征𝑖。在我们的实验中,我们只需将𝜎选为最大可能达到概率的一半。
在这里插入图片描述

4 生成对抗图

我们提出了一种顺序方法,即首先攻击一个代理模型(surrogate model),从而得到一个攻击图(attacked graph)。
这个图随后被用来训练最终模型。事实上,这种方法可以直接视为transferability检查,因为我们并不特别关注所使用的模型,而只是关注代理模型。

对GCN进行线性化处理,使用一个简单的线性激活函数来替代非线性的𝜎(·),得到代理模型:
在这里插入图片描述
👇简化版GCN
在这里插入图片描述
攻击代理模型,使得原本的分类概率尽可能的小

在这里插入图片描述

灰盒攻击,攻击者不能得到被攻击模型的结构和参数,只能得到训练的数据。灰盒攻击通常不是直接攻击给定的模型,而是首先利用训练数据训练一个代理模型,然后攻击这个代理模型。

  • 19
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ca1m4n

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值