对抗模型,要对抗的是:
- 噪音
- human制造出来的有恶意的攻击
1. 什么是攻击
输入正常的x0,NN会得到正确的结果
但通过经心设计,使得NN会在上犯错,而人类无法分辨和x。
2. 怎样攻击
- 正常训练
x是固定的,调整
- 无目标攻击
是固定的,调整x
- 有目标攻击
- 额外限制
不要被发现
2.1. d是怎么定义的?
图像应用上,L-infinity比L2-norm更合适
2.2. 怎样求解x
2.2.1. 方法一:梯度下降法
这是一个带限制的最优化问题
- 将x'初始化为x0
用梯度下降法更新xt
增加限制
如果{d(x^0, x') > \epsilon},则xt = fix(xt)
2.2.2. 方法二:FGSM
Fast Gradient Sign Method
直观解释:
FGSM不在意的值,只在意它的方向
例如指向左右任意一个方向,x*都会走到右上角
可以看任是一个LR巨大的一次GD
3. White Box VS Black Box
3.1. 白盒攻击 - 知道NN的参数
以上方法都是白盒攻击
3.2. 黑盒攻击 - 不知道NN的参数,有NN的训练集
- 用training data训练一个NN proxy
- 用白盒攻击方法找到能攻击NN proxy的图像
- 用这张图像去攻击NN
3.3. 黑盒攻击 - 不知道NN的参数,没有NN的训练集
- 用自己的training data喂NN,得到output
- 用自己的training data + NN的output得到labelled data
- 用labelled data训练NN proxy
- 用白盒攻击方法找到能攻击NN proxy的图像
- 用这张图像去攻击NN
4. 其它攻击方法
4.1. Universal Adversal Attack
不是针对某个样本制作攻击
制作一张通过的图像
这张图像叠加到任意图像上都有攻击作用
可以用于white或者black
4.2. Adversarial Reprogramming
通过攻击改变一个NN的功能