对抗网络
参照2013年的论文《Intriguing properties of neural networks》的论文中指出神经网络的两个特性
1.神经网络中包含语义信息的部分并不是在每个独立的神经元,而是整个空间;
2.神经网络学习到的从输入到输出的映射在很大程度上是不连续的。
其造成的结果简单直观地用图表示如图1:
对抗攻击中的混淆分类器( 由Biggo和Szegedy都提出的攻击策略 ):
x
∗
=
a
r
g
m
i
n
x
g
^
(
x
)
,
s
.
t
.
d
(
x
,
x
0
)
≥
d
m
a
x
x^∗=argmin_x\hat g(x),s.t.d(x,x^0) \geq d_{max}
x∗=argminxg^(x),s.t.d(x,x0)≥dmax
寻找一个对抗样本x,使它尽可能被分类为目标类别,并且与某个原来的样本
x
0
x_0
x0在样本空间距离小于
d
m
a
x
d_{max}
dmax。
KaTeX parse error: No such environment: alignat at position 8: \begin{̲a̲l̲i̲g̲n̲a̲t̲}̲{} Minimize||r|…
对于给定的某个样本
x
x
x,找到离它最近的样本,使得被分类为标签
l
l
l。
此时应用梯度下降法( 或者牛顿法,BFGS,L-BFGS等)
当
f
(
x
)
在
x
k
附
近
连
续
可
微
,
令
x
=
x
k
+
a
d
,
d
为
单
位
方
向
,
如
果
g
k
=
∇
f
(
x
k
)
≠
0
由
泰
勒
展
开
得
f
(
x
)
=
f
(
x
k
)
+
(
∇
f
(
x
k
)
)
T
(
x
−
x
k
)
+
o
(
∥
x
−
x
k
∥
)
改
写
为
f
(
x
+
α
d
)
=
f
(
x
k
)
+
α
g
k
T
d
+
o
(
α
)
,
α
>
0
当f(x)在x_k附近连续可微,令x=x_k+ad,d为单位方向,\\\\ 如果g_k=\nabla f(x_k) \not=0 \\\\ 由泰勒展开得 \quad f(x)=f(x_k)+(\nabla f(x_k))^T(x-x_k)+o(\parallel x-x_k \parallel) \\\\ 改写为 \quad f(x+\alpha d)=f(x_k)+\alpha g_k^T d + o(\alpha),\alpha>0 \\\\
当f(x)在xk附近连续可微,令x=xk+ad,d为单位方向,如果gk=∇f(xk)=0由泰勒展开得f(x)=f(xk)+(∇f(xk))T(x−xk)+o(∥x−xk∥)改写为f(x+αd)=f(xk)+αgkTd+o(α),α>0
设
θ
\theta
θ为
d
d
d与
−
g
k
-g_k
−gk之间的夹角,则有$g_k^T=-g_kcos\theta
,
显
然
,显然
,显然\cos\theta=1
时
,
时,
时,g_k^T
下
降
最
快
,
从
而
下降最快,从而
下降最快,从而f(x)
下
降
最
快
,
此
时
下降最快,此时
下降最快,此时d=-g_k$ 。
联系混淆分类器,即
f
(
x
+
r
)
=
f
(
x
k
)
+
α
g
k
T
d
+
o
(
α
)
,
α
>
0
f(x+r)=f(x_k)+\alpha g_k^T d + o(\alpha),\alpha>0
f(x+r)=f(xk)+αgkTd+o(α),α>0
从《 Evasion attacks against machine learning at test time 》可知对抗攻击并非神经网络独有。(本人认为是传统的机器学习方法在低纬度的线性空间中表现不明显或者从效果上来说还没有达到需要大量关注对抗攻击的地步。)
对于低纬度空间,可以简单地增加神经元数量通过变换空间完成分类,而实际问题中的数据可能很复杂,某些较宽的神经网络对于这种问题避重就轻地拉伸解决,问题图示和拉伸之后如图2:
-
在学习期间使用经过改良的训练,或者在测试期间使用经过改良的输入。
-
修改网络,例如,通过添加更多的层/子网络,更改损失/激活功能等。
-
在对看不见的示例进行分类时,使用外部模型作为网络预处理。
-
增强神经网络本身的鲁棒性
Box-constrained L-BFGS优化算法可以找到对抗样本的途径,解决对抗攻击最直观的方法是 增强神经网络本身的鲁棒性 ,即将对抗样本加入到训练集中。
以ogistic regression为例训练对抗样本。如果我们要训练一个模型来识别标签 y ∈ − 1 , 1 y ∈ − 1 , 1 , P ( y = 1 ) = σ ( w ⊤ x + b ) P ( y = 1 ) = σ ( w ⊤ x + b ) y∈{−1,1}y∈{−1,1}, P(y=1)=σ(w⊤x+b)P(y=1)=σ(w⊤x+b) y∈−1,1y∈−1,1,P(y=1)=σ(w⊤x+b)P(y=1)=σ(w⊤x+b),其中 σ σ σσ σσ为 s i g m o i d sigmoid sigmoid函数,然后在
E x , y ∼ p d a t a ζ ( − y ( w ⊤ x + b ) ) E x , y ∼ p d a t a ζ ( − y ( w ⊤ x + b ) Ex,y∼pdataζ(−y(w⊤x+b)) \\\\ Ex,y∼pdataζ(−y(w⊤x+b) Ex,y∼pdataζ(−y(w⊤x+b))Ex,y∼pdataζ(−y(w⊤x+b)
上作梯度下降,其中 ζ ( x ) = l o g ( 1 + e x p ( z ) ) ζ ( x ) = l o g ( 1 + e x p ( z ) ) ζ(x)=log(1+exp(z))ζ(x)=log(1+exp(z)) ζ(x)=log(1+exp(z))ζ(x)=log(1+exp(z))是softplus函数。下面将 x x xx xx代替为 x x xx xx上面的线性扰动,推到出的解析式为
E x , y ∼ p d a t a ζ ( y ( ϵ ∣ ∣ w ∣ ∣ 1 − w ⊤ x − b ) ) Ex,y∼pdataζ(y(ϵ||w||1−w⊤x−b)) Ex,y∼pdataζ(y(ϵ∣∣w∣∣1−w⊤x−b)) -
预处理
例如:PixelDefend将对抗图像输入分类器之前,将其转换为清晰的图像;高阶表征引导去噪器(HGD)消除察觉不到的扰动视为噪声。
一般而言,预处理的方法更实用,因为它们不需要重新训练神经网络。然而,在训练降噪器时,HGD 仍然需要大量的对抗图像。因此,在对抗图像较少的情况下很难获得良好的 HGD。PixelDefend 的主要思想是模拟图像空间的分布,当空间太大时,模拟结果会很差。
截止至2018年,表现最优异的防御对抗攻击方法是图像压缩
由于局部结构中相邻像素之间具有很强的相似性和相关性,因此图像压缩可以在保留显著信息的同时减少图像的冗余信息。在此基础上,论文《 a simple and accurate method to fool deep neural networks》中设计了 ComDefend利用图像压缩来消除对抗扰动或打破对抗扰动的结构 ,如图
在清晰的图像上添加不可察觉的扰动可能会欺骗训练有素的深度神经网络。本文主要的思想是提出了一种端到端的图像压缩模型来防御对抗性示例。所提出的模型由压缩卷积神经网络(ComCNN)和重建卷积神经网络(ResCNN)组成。ComCNN用于维护原始图像的结构信息并消除对抗性干扰(预处理降噪)。ResCNN用于重建高质量的原始图像。ComDefend将对抗图像转换为其最原始的图像,然后将其输入经过训练的分类器中。预处理模块,并且不会在整个过程中修改分类器的结构。因此,将其与其他特定于模型的防御模型结合使用,以共同提高分类器的鲁棒性。
参考资料
- Akhtar, N., & Mian, A. (2018). Threat of Adversarial Attacks on Deep Learning in Computer Vision: A Survey. IEEE Access, 1–1.
- Szegedy, C., Zaremba, W., Sutskever, I., Bruna, J., Erhan, D., Goodfellow, I., & Fergus, R. (2013, December 21). Intriguing properties of neural networks.
- Goodfellow, I. J., Shlens, J., & Szegedy, C. (2014, December 20). Explaining and Harnessing Adversarial Examples.
- Neural Networks, Manifolds, and Topology
- cleverhans blog
- How Adversarial Attacks Work
- Adversarial Attacks and Defences for Convolutional Neural Networks
- Adversarial Training-Fast gradient sign method
- Adversarial examples in deep learning
- 对抗样本与对抗训练
- 《深度学习 卷积神经网络从入门到精通》
- 图像对抗样本的生成(FGSM)
- Jia X , Wei X , Cao X , et al. ComDefend: An Efficient Image Compression Model to Defend Adversarial Examples[J]. 2018.
- Szegedy C, Zaremba W, Sutskever I, et al. Intriguing properties of neural networks[J]. arXiv preprint arXiv:1312.6199, 2013.
- Huang L, Joseph A D, Nelson B, et al. Adversarial machine learning[C]//Proceedings of the 4th ACM workshop on Security and artificial intelligence. ACM, 2011: 43-58.
- Goodfellow I J, Shlens J, Szegedy C. Explaining and harnessing adversarial examples[J]. arXiv preprint arXiv:1412.6572, 2014.
- Moosavi-Dezfooli S M, Fawzi A, Frossard P. Deepfool: a simple and accurate method to fool deep neural networks[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2016: 2574-2582.