Adversarial examples in the physical world
作者:互联网
文献链接: https://arxiv.org/abs/1607.02533
摘要
现有的大多数机器学习分类器极易受到对抗样本的攻击。当前,很多对抗样本是直接将数据输入至分类器中,但是在现实中,并不能直接将图片数据输入系统,而是通过相机等传感器将信号输入系统的。本文在基于此类现实环境做出相关研究。发现在此种情况下,机器学习模型仍然也是很容易受到对抗样本的攻击。作者通过手机摄像头获得对抗样本的图像,然后输入ImageNet Inception分类器中,通过分类精度来证实了,即使通过摄像机观察,也有很大一部分对抗样本被误分类。
1.引言
当前,机器学习和神经网络在文字、图像和视频等领域能够解决很多重要的实际问题。然而,机器学习模型对于对抗样本是脆弱的。特别是分类器类型的模型尤为凸显脆弱。而该问题可概括为:假设M
为机器学习系统,C
干净的输入样本,A
为构造的对抗样本,视觉上与C
无异。则有
M
(
C
)
=
y
t
r
u
e
,
M
(
A
)
≠
y
t
r
u
e
M(C)=y_{true},M(A)\neq y_{true}
M(C)=ytrue,M(A)=ytrue,而对抗样本被错误分类的概率远远高于受到噪声干扰的样本,即使噪声的幅度远远大于对抗性扰动。对抗样本对于机器学习应用产生许多潜在的威胁。特别是研究表明对抗样本具有多模型泛化性,且在实际环境中已验证。
之前基于对抗样本的所有研究都是攻击者直接向机器学习模型中输入对抗样本数据的威胁模型,这样的威胁模型可以描述一些攻击完全发生在计算机中的场景,例如避开垃圾邮件过滤器或恶意软件检测器,而在现实环境中,许多机器学习系统是运行现实世界中的,例如机器人通过各类传感器来感知世界等等。在这种情况下,攻击者不能依赖对输入数据进行细粒度每像素修改的能力。因此产生了一个问题:是否仍有可能对在现实世界中运行并通过各种传感器而不是数字表示来感知数据的机器学习系统产生对抗样本并执行对抗性攻击?
在2016年,Sharif等人与本文做出一些比较相似的工作,Sharif et 等人将对抗样本的图像打印在纸上,并证明打印的图像在拍摄时攻击了图像识别系统。与之比较,与sharif等人的工作存在的不同点是:
(1) 我么在大多数实验中使用代价较低的封闭式攻击,而Sharif et等人使用基于优化算法的更高代价的攻击。
(2)我们没有特别的修改对抗样本,以提高他们在印刷和摄影过程中留存几率。我们仅做了一个科学观察,很多对抗样本在没有任何干预的情况下是保留下来的。而Sharif et等人引入额外的特征,使其攻击更加有效地针对人脸识别系统。
(3) Sharif等人虽然限制了图片的可修改像素区域(仅限眼镜架上的像素),但可以大量修改这些像素;而我们限制了我们可以修改一个像素的数量,但可以修改任何像素。
我们使用了预先训练的ImageNet Inception分类器进行了实验(Szegedy等,2015)。为此模型生成对抗样本,然后通过手机摄像头将这些样本提供给分类器,并测量分类准确性。此场景是一个简单的物理世界系统,该系统通过摄像机感知数据,然后进行图像分类。我们发现,即使通过相机感知,为原始模型生成的大部分对抗样本仍然分类错误。
结果的局限性在于假设了一种威胁模型,攻击者完全了解模型的体系结构和参数值。这主要是因为可以在所有实验中使用单个Inception v3模型,而无需设计和训练其他高性能模型。对抗样本转移属性意味着实验的结果可以小幅扩展到攻击者无法访问模型描述的情况(Szegedy等,2014; Goodfellow等,2014; Papernot等,2016b)。虽然我们没有进行详细的实验来研究物理对抗样本的可移植性,但是我们能够构建一个简单的电话程序来演示物理世界中潜在的对抗黑盒攻击。
为了更好地了解由相机引起的普通图像变换如何影响对抗样本的可传递性,我们进行了一系列其他实验,研究了对抗样本如何在几种特定类型的合成图像变换之间进行传递。
2.生成对抗图像的方法
此节主要描述在实验中用到的生成对抗样本的不同的方法。需要注意的是,所有方法都不能保证生成的图像会被模型误分类。我们称所有生成的图像为“对抗图像”。
在本文的符号:
- X X X——输入图像,通常是三维张量(宽×高×深),像素值在[0,255]范围。
- y t r u e y_{true} ytrue—— X X X图像的正确分类类别
- J ( X , y ) J(X,y) J(X,y)——神经网络的交叉熵代价函数,(省略模型参数 θ \theta θ,因为整个对抗样本实验过程模型参数是不改变的。)
- C l i p X , ϵ { X ′ } Clip_{X,\epsilon}\{X'\} ClipX,ϵ{X′}——剪裁函数,对图像 X ′ X' X′的每个像素进行剪裁。
精确的裁剪公式为:
C l i p X , ϵ { X ′ } ( x , y , z ) = m i n { 255 , X ( x , y , z ) + ϵ , m a x { 0 , X ( x , y , z ) − ϵ , X ′ ( x , y , z ) } } Clip_{X,\epsilon}\{X'\}(x,y,z)=min\{255,X(x,y,z)+\epsilon,max\{0,X(x,y,z)-\epsilon,X'(x,y,z)\}\} ClipX,ϵ{X′}(x,y,z)=min{255,X(x,y,z)+ϵ,max{0,X(x,y,z)−ϵ,X′(x,y,z)}}
2.1 Fast Method
此方法是《Explaining and Harnessing Adversarial Examples》描述的FGSM法,即:
X a d v = X + ϵ s i g n ( Δ X J ( X , y t r u e ) ) X^{adv}=X+\epsilon sign(\Delta_X J(X,y_{true})) Xadv=X+ϵsign(ΔXJ(X,ytrue))
其中
ϵ
\epsilon
ϵ为超参数
具体文献可参考原文《Explaining and Harnessing Adversarial Examples》,本人文献笔记博文《Explaining and Harnessing Adversarial Examples》
2.2 Basic Iterative Method
该方法是对“Fast Method”的一种扩展。以较小的步长多次相乘,并在每一步之后对中间结果的像素值进行裁剪,以确保它们位于原始图像的 ϵ \epsilon ϵ邻域内:
X 0 a d v , X N + 1 a d v = C l i p X , ϵ { X N a d v + α s i g n ( ∇ X J ( X N a d v , y t r u e ) ) } X_0^{adv},\ \ \ \ X_{N+1}^{adv}=Clip_{X,\epsilon}\left\{X_{N}^{adv}+\alpha sign(\nabla_XJ(X_{N}^{adv},y_{true}))\right\} X0adv, XN+1adv=ClipX,ϵ{XNadv+αsign(∇XJ(XNadv,ytrue))}
实验中, α = 1 \alpha=1 α=1,迭代次数为 m i n ( ϵ + 4 , 1.25 ϵ ) min(\epsilon+4,1.25\epsilon) min(ϵ+4,1.25ϵ),次迭代次数是启发式选择;
此方法我们称其为“Basic Iterative Method”
2.3 Iterative Least-Likely Class Method
前两种方法都是在试图增加正确分类的代价,从而达到误分类的效果,但是该方法有两个缺点:
- 没有制定误分类的类;
- mnist等小类别的数据集上效果较好,但是在ImageNet类的多类的数据集上会出现无意义的误分类。
为了生成更加有意义的误分类,就引入“Iterative Least-Likely Class Method”,此法能够生成被分类无特定目标类的对抗图像,此类别即为图像X在模型预测中的最不可能类别:
y L L = a r g min y { p ( y ∣ X ) } y_{LL}=arg \min_{y}\left\{p(y|X)\right\} yLL=argymin{p(y∣X)}
对于一个训练好的分类器,最不可能的类通常与真正的类有很大的不同,所以这种攻击方法会导致更意义的错误。
通过在 s i g n { ∇ X l o g p ( y L L ∣ X ) } sign\left\{\nabla_X log p(y_{LL}|X)\right\} sign{∇Xlogp(yLL∣X)}的方向上进行迭代来最大化 l o g p ( y L L ∣ X ) log p(y_{LL}|X) logp(yLL∣X)。对于具有交叉熵损失的神经网络,最终表达式为: s i g n { − ∇ X l o g p ( y L L ∣ X ) } sign\left\{-\nabla_X log p(y_{LL}|X)\right\} sign{−∇Xlogp(yLL∣X)}。因此,有以下表达式:
X 0 a d v , X N + 1 a d v = C l i p X , ϵ { X N a d v − α s i g n ( ∇ X J ( X N a d v , y L L ) ) } X_0^{adv},\ \ \ \ X_{N+1}^{adv}=Clip_{X,\epsilon}\left\{X_{N}^{adv}-\alpha sign(\nabla_XJ(X_{N}^{adv},y_{LL}))\right\} X0adv, XN+1adv=ClipX,ϵ{XNadv−αsign(∇XJ(XNadv,yLL))}
此法的迭代过程,与“Basic Iterative Method”的 α \alpha α相同以及有相同的迭代次数。
此方法我们称其为“Iterative Least-Likely Class Method”
2.4 Comparison of Method of Generation Adversarial Examples
基于Inception v3模型,使用不同的方法和 ϵ \epsilon ϵ产生的对抗样本分类准确率比较。
3.Photos of Adversarial Examples
3.1 Destruction Rate of Adversarial Images
引入破坏率(“Destruction Rate”)来研究任意变换对对抗图像的影响,其可定义为经变换后不再被误分类的部分对抗图像,表达式如下:
d = ∑ k = 1 n C ( X k , y t r u e k ) C ( X a d v k , y t r u e k ) ‾ C ( T ( X a d v k ) , y t r u e k ) ∑ k = 1 n C ( X k , y t r u e k ) C ( X a d v k , y t r u e k ) ‾ d=\frac{\sum_{k=1}^{n}C(X^k,y_{true}^{k})\overline{C(X_{adv}^k,y_{true}^{k})}C(T(X_{adv}^k),y_{true}^{k})}{\sum_{k=1}^{n}C(X^k,y_{true}^{k})\overline{C(X_{adv}^k,y_{true}^{k})}} d=∑k=1nC(Xk,ytruek)C(Xadvk,ytruek)∑k=1nC(Xk,ytruek)C(Xadvk,ytruek)C(T(Xadvk),ytruek)
- n n n表示图像数
- X k X^k Xk表示数据集中的一个图像
- y t r u e k y_{true}^{k} ytruek表示此图像的真实分类
- X a d v k X_{adv}^k Xadvk表示相对应的对抗图像
- T ( ⋅ ) T(\cdot) T(⋅)函数表示任意图像转换,文中研究各类图像转换,包括打印图像和拍照
- C ( X , y ) C(X,y) C(X,y)函数是一个指示函数,返回图像是否正确,表达式如下:
C ( X , y ) = { 1 , i f i m a g e X i s c l a s s i f i e d a s y ; 0 , o t h e r w i s e . C(X,y)=\begin{cases} 1,\ \ if\ image\ X\ is\ classified\ as\ y;\\ 0,\ \ otherwise. \end{cases} C(X,y)={1, if image X is classified as y;0, otherwise.
- C ( X , y ) ‾ \overline{C(X,y)} C(X,y)函数是 C ( X , y ) C(X,y) C(X,y)求反,故 C ( X , y ) ‾ = 1 − C ( X , y ) \overline{C(X,y)}=1-C(X,y) C(X,y)=1−C(X,y)
3.2 Experimental Setup
如图三种方法进行实验:
- 打印清晰图片和对抗图像
- 用相机拍照上述图片
- 裁剪拍的照片
主要计算了图像变换前后对干净图像与对抗图像的准确度,以及经过图像变换后对抗图像的破坏率(DR)。
对于对抗样本生成方法和 ϵ \epsilon ϵ的每个组合,我们进行了两组实验:
- 平均实例(Average case)
- 预过滤实例(Prefiltered case)
3.3 Experimental Results On Photos Of Adversarial Images
实验发现:
- “Fast”方法生成的对抗图像通过拍照转换比迭代方法生成的图像更具鲁棒性,因为迭代方法能生成更加微小的扰动,使得通过拍照转换忽略这些微小的转换。
- 在某些情况下,“Prefiltered case”中的对抗性破坏率高于“Average case”。
3.4 Demonstration Of Black Box Adversarial Attack In The Physical Worls
黑盒场景是许多安全威胁的更现实的模型。我们通过黑盒攻击,证明了物理对抗样本欺骗了一个不同不同架构的模型。实验通过一个开源的图片分类手机App进行展示。
4 Artificial Image Transformations
为了更好地理解,通过一系列的实验来测量人工图像变换的对抗性破坏率。研究了以下一组变换:对比度和亮度的变化、高斯模糊、高斯噪声和JPEG编码。
实验过程是:在验证集中随机选择1000张图像作为子集,基于此子集,进行多对对抗方法和变换的实验,然后对于每一对给定的方法与变换,生成对抗样本,然后将变换应用于对抗样本上,计算破坏率。
则观察结果如下:
- 在拍照转换下,“fast method”是最鲁棒的,而“iterativa least-likely”是最不鲁棒的。
- top-5的破坏率通常高于top-1的破坏率
- 对比度和亮度的改变对对抗样本没有很大的影响。
- 相比于对比度和亮度的改变,模糊、噪声和JPEG编码有更高的破坏率。
5 Conclusion
在这篇论文中,我们探讨了为在物理世界中运行的机器学习系统创建对抗样本的可能性。使用手机摄像头拍摄的图像作为图像分类神经网络的输入。发现,在这样的设置中,使用原始网络制作的对抗性图像中有相当一部分被误分类,甚至当通过相机输入分类器时也是如此。这一发现证明了物理世界中机器学习系统可能存在对抗性的样本。在未来的工作中,期望能够出现除了打印在纸上的图像之外,使用其他种类的物理对象的攻击,针对不同种类的机器学习系统的攻击,例如复杂的强化学习代理,在没有访问模型参数和架构的情况下执行的攻击(大概是使用传输属性)和物理攻击,通过在对抗性示例构建过程中显式地建模物理转换来实现更高的成功率。当然在今后的工作中,针对以上攻击需要发展有效的方法来防范这种攻击。
附录
文献中,扰动图像对比与说明:
对文献做一个笔记,激励自己阅读文献和代码实现,大佬请略过……
图片均来自论文截图!
标签:adv,epsilon,模型,样本,Adversarial,图像,world,对抗,physical 来源: https://blog.csdn.net/xiaokan_001/article/details/114162732