动机
- 学习算法需要在现实世界中应用
- 对于噪声应具有鲁棒性
- 能够应付恶意攻击
- 应用诸如垃圾邮件分类、恶意软件检测、网络入侵检测等
攻击
1.如何做?
- $x$
->
Network->
class a - $x+\delta x$
->
Network->
class b
2.攻击损失函数
- 训练:$L_{train}(\theta)=C(y^{0},y^{true})$
=>
$x$固定不变,调整$\theta$ - 无目标攻击:$L({x}’)=-C({y}’,y^{true})$
=>
$\theta$固定不变,调整$x$ - 有目标攻击:$L({x}’)=-C({y}’,y^{true})+C({y}’,y^{false})$
- 距离约束:$d(x^{0},{x}’)\leqslant \varepsilon $
=>
保证攻击不被发现
3.约束
- L2-norm
- L-infinity
- 具体采用何种距离约束取决于不同的任务。就视觉系统来说,L-infinity更好。
4.如何攻击
- 跟训练神经网络类似,只不过这里不是训练网络参数$\theta$,而是训练输入数据$x$
- 目标函数:$x^{*}=arg \underset{d(x^{0},{x}’)\leqslant \varepsilon}{min} L({x}’)$
- 梯度下降
5.example
- 原图加噪声,猫还是猫
- 原图加攻击
- $x^{0}$是原图,理解为超平面上的一个点。在随机方向上前进一段距离,还是猫,只不过种类不同。在特定方向上前进一段距离,就变成键盘了。
6.攻击方法
- FGSM (https://arxiv.org/abs/1412.6572)
- Basic iterative method (https://arxiv.org/abs/1607.02533)
- L-BFGS (https://arxiv.org/abs/1312.6199)
- Deepfool (https://arxiv.org/abs/1511.04599)
- JSMA (https://arxiv.org/abs/1511.07528)
- C&W (https://arxiv.org/abs/1608.04644)
- Elastic net attack (https://arxiv.org/abs/1709.04114)
- Spatially Transformed (https://arxiv.org/abs/1801.02612)
- One Pixel Attack (https://arxiv.org/abs/1710.08864)
7.FGSM
- 计算各维上的偏导
- 一次更新,只取1或-1
- 可以理解为使用较大的学习率,得到$x^1$,然后$d>\epsilon$,再使用距离$x^1$ 最近的点$x^*$代替
8.黑盒 vs 白盒
- 前面的攻击,我们需要知道参数$\theta$,来找最优的$x^$,称为*白盒攻击
- 黑盒攻击:
- 如果有训练数据,则可以训练代理网络,使用代理网络生成攻击目标
- 通过目标网络收集输入/输出组合
- 可以通过a网络生成的攻击目标,通常用来攻击b网络也是有效的
9.more
- 通用对抗攻击:https://arxiv.org/abs/1610.08401
- Adversarial Reprogramming:Gamaleldin F. Elsayed, Ian Goodfellow, Jascha Sohl-Dickstein, “Adversarial
Reprogramming of Neural Networks”, ICLR, 2019 - 现实中的攻击[1][2][3]
- 针对音频的攻击[4][5]
- 文本攻击[6]
防御
1.防御
- 对抗攻击无法使用正规化,dropout或者模型集成来防御
- 两种防御方式:
- 被动防御:不修改模型,找到攻击图像(异常检测的特殊情形)
- 主动防御:训练一个具有对抗攻击鲁棒性的模型
2.被动防御
- 针对输入图像加filter
- Feature Squeeze[7]
- Randomization at Inference Phase[8]
3.主动防御
learn more
- Reference
- https://adversarial-ml-tutorial.org/ (Zico Kolter and Aleksander Madry)
- Adversarial Attack Toolbox:
引用
[1].https://www.youtube.com/watch?v=zQ_uMenoBCk&feature=youtu.be
[2].https://www.cs.cmu.edu/~sbhagava/papers/face-rec-ccs16.pdf
[3].https://arxiv.org/abs/1707.08945
[4].https://nicholas.carlini.com/code/audio_adversarial_examples/
[5].https://adversarial-attacks.net/
[6].https://arxiv.org/pdf/1707.07328.pdf
[7].https://arxiv.org/abs/1704.01155