当前位置:网站首页>【图攻防】《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。
边栏推荐
- Functions in JS
- 【多模态】《TransRec: Learning Transferable Recommendation from Mixture-of-Modality Feedback》 Arxiv‘22
- Transformer变体(Sparse Transformer,Longformer,Switch Transformer)
- 图神经网络用于推荐系统问题(IMP-GCN,LR-GCN)
- 软件测试阶段的风险
- Go 垃圾回收器指南
- Intelligent information retrieval(智能信息检索综述)
- JS中的对象
- 软件缺陷的管理
- 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

JS process control

dirReader. Readentries compatibility issues. Exception error domexception

brpc源码解析(七)—— worker基于ParkingLot的bthread调度

Miidock Brief

微星主板前面板耳机插孔无声音输出问题【已解决】

Oil monkey script link

W5500 is in TCP_ In server mode, you cannot Ping or communicate in the switch / router network.

Teach you how to configure S2E as the working mode of TCP client through MCU

【GCN-RS】MCL: Mixed-Centric Loss for Collaborative Filtering (WWW‘22)
随机推荐
Classification parameter stack of JS common built-in object data types
Onenet platform control w5500 development board LED light
【对比学习】Understanding the Behaviour of Contrastive Loss (CVPR‘21)
session和cookie有什么区别??小白来告诉你
硬件连接服务器 tcp通讯协议 gateway
LeetCode第303场周赛(20220724)
Brief description of model deployment
Chapter 4 linear equations
【无标题】
信号与槽机制==PYQT5
brpc源码解析(六)—— 基础类socket详解
brpc源码解析(一)—— rpc服务添加以及服务器启动主要过程
flink sql client 连接mysql报错异常,如何解决?
浅谈低代码技术在物流管理中的应用与创新
Power BI----这几个技能让报表更具“逼格“
[electronic device notes 5] diode parameters and selection
软件测试阶段的风险
教你如何通过MCU将S2E配置为UDP的工作模式
硬件外设=maixpy3
【IMX6ULL笔记】--内核底层驱动初步探究