对抗攻击方法BIM与PGD的区别
2022/6/27 6:23:17
本文主要是介绍对抗攻击方法BIM与PGD的区别,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
Basic iterative method(BIM):论文地址 笔记地址
Projected gradient descent(PGD):论文地址 笔记地址
区别1
来自于:https://www.sciencedirect.com/science/article/pii/S209580991930503X
1)BIM 将一步的FGSM直接扩展为多步方法:
BIM 每次迭代以很小的步长执行FGSM,将对抗样本剪裁和更新到一个合法的范围内;迭代 \(T\) 次,\(\alpha T = \epsilon\),\(\alpha\) 是每次迭代中扰动的大小。
2)PGD是FGSM的多步变体:
\[x'_{t+1} = \Pi _{x+\mathcal{S}} \left ( x'_{t}+\alpha \;{\rm sign}(\bigtriangledown_x J(\theta,x'_{t}, y)) \right ) \tag{2} \]为了约束对抗扰动的大小,PGD 不使用 \(\alpha T = \epsilon\)的方式,而是将对抗性样本投影到 \(x\) 的 \(l_\infty\)-ball(\(\epsilon-l_\infty\) neighbor) 中,因此对抗扰动的大小\(< \epsilon\)。如公式(2)中的 \(\mathcal{S} \subseteq \mathbb{R}^d\) 为扰动集合。
区别2
来自于:https://github.com/MadryLab/mnist_challenge/issues/3
-
PGD每次迭代会选择\(\epsilon-l_\infty\)- ball 内的一个随机点,并从那里继续执行 PGD。
-
PGD添加了一个均匀分布的随机噪声作为初始化。
这篇关于对抗攻击方法BIM与PGD的区别的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南