当前位置:网站首页>【图攻防】《Backdoor Attacks to Graph Neural Networks 》(SACMAT‘21)
【图攻防】《Backdoor Attacks to Graph Neural Networks 》(SACMAT‘21)
2022-07-25 11:11:00 【chad_lee】
Backdoor Attacks to Graph Neural Networks (SACMAT’21)
Neil Zhenqiang Gong团队工作。
本文主要攻击用于图分类任务的GNN模型,任务场景是交易欺诈、社交网络检测虚假用户、恶意软件检测等,这些任务都是对一个图进行分类。本文的backdoor attack就是在图中注入一个子图结构当作trigger,然后测试集如果出现了相同的子图结构,就会预测到目标label。注入子图的方法也比较简单,就是随机方法。接着文章提出了防御方法,利用Randomized Subsampling实现可验证防御。
攻击者的目标就是backdoored GNN模型应该在clean testing graph上准确度尽可能高,但是在注入了trigger的testing graph上ASR应该尽可能高。
生成trigger方法
首先添加trigger是只修改图结构,比如选择4个节点作为trigger 子图,那么不管这四个节点之前是什么结构,现在就改成这个结构。控制trigger子图的四个参数
Trigger size:trigger子图的节点个数 t t t。
Trigger density:trigger图的稠密度 ρ \rho ρ。 ρ = 1 \rho=1 ρ=1 就是每个节点和其余所有节点都有一条边相连。
Trigger synthesis method M M M:生成trigger子图的方法,用ER随机图生成。基本就是随机生成。
投毒的密度 γ \gamma γ :注入了trigger的图占训练集的百分比。
攻击流程
设定好Trigger size t t t和Trigger density ρ \rho ρ,然后用ER随机图生成一个trigger子图模版(只做一次);然后在训练集中随机选择若干图作为待投毒数据;然后在每个待投毒图上随机选择 t t t 个节点作为,让它们变成trigger。有两点需要解释:
1、训练和测试的trigger子图结构是完全一模一样的。作者尝试用相同的参数fix trigger或者多生成几种random trigger,发现指标影响不大,降低的很少,作者解释说GNN可以把结构相似的trigger和label联系在一起。
2、选择哪些节点构成trigger是随机的。作者尝试随机选择 t t t个、选择degree最大/最小的 t t t、选择相互连接稠密度最高的 t t t个节点,发现不同数据集上还是随机最稳定,其他策略都有不行的数据集。
Certified Defense
作者接着提出利用SOTA防御方法的可验证来防御他的backdoor attack。
可验证防御是利用Randomized smoothing 来smooth模型,本文利用 Randomized Subsampling来smooth GNN。具体做法就是对训练集中的每张图进行随机采样,用随机生成的子图进行训练,然后预测的时候用投票的方式决定预测标签。

这种Randomized Subsampling的防御方法可以一定程度上降低攻击效果,但是和数据集、trigger size有很大关系,当trigger size大于某个阈值的时候,Certified Defense就完全失效了,这就是GNN里Certified Defense的安全半径。

可验证防御与对比学习
可以看出图上的对比学习其实有一些Randomized smoothing的意思,通过扩增不同的子图,保持相同的feature输出,来Randomized smoothing GNN encoder。
边栏推荐
- JaveScript循环
- 'C:\xampp\php\ext\php_ zip. Dll'-%1 is not a valid Win32 Application Solution
- The bank's wealth management subsidiary accumulates power to distribute a shares; The rectification of cash management financial products was accelerated
- PHP curl post x-www-form-urlencoded
- "Mqtt protocol explanation and Practice (access to onenet)" of wiznet w5500 series training activities
- Make a reliable delay queue with redis
- [MySQL learning 09]
- 【GCN-RS】MCL: Mixed-Centric Loss for Collaborative Filtering (WWW‘22)
- Meta-learning(元学习与少样本学习)
- W5500通过上位机控制实现调节LED灯带的亮度
猜你喜欢

Video Caption(跨模态视频摘要/字幕生成)

30 sets of Chinese style ppt/ creative ppt templates

Hardware connection server TCP communication protocol gateway

Meta-learning(元学习与少样本学习)

教你如何通过MCU配置S2E为TCP Server的工作模式

Teach you how to configure S2E as the working mode of TCP client through MCU
![[electronic device notes 5] diode parameters and selection](/img/4d/05c60641dbdbfbfa6c3cc19a24fa03.png)
[electronic device notes 5] diode parameters and selection

Multi-Label Image Classification(多标签图像分类)

Management of software defects

dirReader. Readentries compatibility issues. Exception error domexception
随机推荐
The JSP specification requires that an attribute name is preceded by whitespace
Risks in software testing phase
Hardware connection server TCP communication protocol gateway
Oracle parsing XML with the same name
软件缺陷的管理
LeetCode 50. Pow(x,n)
What is the global event bus?
阿里云技术专家秦隆:可靠性保障必备——云上如何进行混沌工程
【高并发】我用10张图总结出了这份并发编程最佳学习路线!!(建议收藏)
基于TCP/IP在同一局域网下的数据传输
教你如何通过MCU配置S2E为TCP Server的工作模式
brpc源码解析(六)—— 基础类socket详解
Javescript loop
什么是全局事件总线?
Onenet platform control w5500 development board LED light
Learning to Pre-train Graph Neural Networks(图预训练与微调差异)
Reflection reflection
【无标题】
JS 面试题:手写节流(throttle)函数
擎创科技加入龙蜥社区,共建智能运维平台新生态