伯克利人工智能研究:针对深度神经网络的物理对抗例子
2018年01月02日 由 yining 发表
46011
0
深度神经网络(DNNs)在各种应用领域都取得了巨大的进展,包括图像处理、文本分析和语音识别。深度神经网络也被作为许多网络物理系统的重要组成部分。例如,自动驾驶汽车的视觉系统可以利用深度神经网络来更好地识别行人、车辆和路标。然而,最近的研究表明,深度神经网络很容易受到对抗例子的影响:在输入过程中加入精心设计的对抗干扰,可能会误导目标深度神经网络在运行时错误地标记它们。这种对抗的例子在在现实世界中应用深度神经网络时提高了安全性。例如,对抗干扰的输入可能会误导自动驾驶车辆的感知系统,从而使道路标志错误地分类,并可能带来灾难性的后果。
几项技术已经提出了一些方法来生成对抗的例子,并对它们进行防御。在这篇文章中,我们将简要介绍最先进的算法来生成数字对抗的例子,并讨论我们的算法,在不同的环境条件下,在真实的物体上产生物理对抗的例子。我们还将提供一个更新,以便为对象探测器生成物理上的对抗示例。
数字对抗的例子
在白箱设置中,提出了不同的方法来生成对抗的例子,在这种情况下,对抗目标完全可以访问深度神经网络。白箱设置假定有一个强大的对抗目标,因此可以为开发未来的傻瓜式的防御系统打下基础。这些方法有助于理解数字对抗的例子。
Goodfellow等人提出了一种快速的梯度法,该方法应用了损失函数的一阶近似来构造对抗的样本。他们还提出了基于优化的方法,以产生针对目标攻击的敌对干扰。具体来说,这些攻击形成了一个目标函数,它的解决方案寻求最大限度地提高输入的真实标记和攻击者的目标标记之间的差异,同时对一些输入相似的定义最小化输入的不同程度。在计算机视觉分类问题中,一个常用的测量方法是输入向量的L2范数。通常,低L2范数距离的输入将更接近于彼此。因此,可以计算出与人眼非常相似的输入,但是对于分类器来说,是非常不同的。
最近的研究已经检验了数字对抗例子的黑箱转移性,在黑箱设置中产生对抗的例子也是可能的。这些技术涉及以白箱方式生成另一个已知模型的对抗示例,然后将它们运行到目标未知模型中。
物理对抗的例子
为了更好地理解这些弱点,有大量的研究表明,对抗的例子可能会如何影响在物理世界中部署的深度神经网络。Kurakin等人指出,通过智能手机摄像头可以看到打印(printed)的对抗例子可以被错误地分类。Sharif等人通过在眼镜框上印出对抗的干扰来破坏面部识别系统。他们的研究显示,在相对稳定的物理条件下,它们的物理状况很好,相机和光线的形式、距离和角度都不太大。这有助于对稳定环境中的物理示例的理解。
最近的一项“对深度学习模型的物理世界攻击”研究已经显示出对分类器的物理攻击(如下)。
[video width="1280" height="720" mp4="http://imgcdn.atyun.com/2018/01/hhhh.mp4"][/video]
作为下一个逻辑步骤,我们将对对象检测器进行攻击。这些计算机视觉算法可以识别场景中的相关物体,并预测物体的位置和种类。与分类器相比,探测器在处理整个图像时更具有挑战性,并且可以在预测中使用上下文信息(contextual information),比如说,目标对象的方位和位置。
我们演示了针对YOLO探测器的物理对抗示例,这是一种很受欢迎的最新算法,具有良好的实时性能。我们的例子采用了sticker干扰的形式,把它应用到一个真正的STOP标志上。下面的图像显示了我们的物理对抗的干扰。
我们还通过录制视频来测试检测性能,从而进行动态测试。正如上面视频中所看到的,YOLO网络在几乎所有的帧中都没有察觉到STOP标志。如果一辆真正的自动驾驶汽车以这样一个对抗性的状态行驶在路上,它就不会看到STOP标志,可能会导致在十字路口发生撞车事故。我们所创建的干扰对于改变距离和角度是非常强大的,距离和角度是自动驾驶场景中最常见的变化因素。
更有趣的是,为YOLO探测器生成的物理对抗的例子也可以愚弄标准的Faster-RCNN。我们的演示视频包含了一个关于Faster-RCNN的物理对抗例子动态测试。由于这是对Faster-RCNN的黑箱攻击,所以这次攻击并不像在YOLO案例中那么成功。这是预期的行为。我们相信,通过附加的技术(如整体训练),黑箱攻击可以变得更有效。另外,特别优化对Faster-RCNN的攻击将会产生更好的效果。下面的图片是一个Faster-RCNN没有察觉到STOP标志的例子。
在这两种情况下(YOLO和Faster-RCNN),只有当摄像机非常靠近标志(大约3到4英尺远)时才会检测到STOP信号。在实际环境中,这种距离太近,车辆无法采取有效的纠正措施。
攻击算法概述
这个算法是基于之前我们的攻击分类器的工作。从根本上说,我们采用了一种优化方法来生成对抗的示例。然而,我们的实验经验表明,为探测器生成鲁棒性的物理对抗的例子需要模拟一套比傻瓜分类器所需要的更大的物理条件。这很可能是因为一个探测器在生成预测时,会将更多的上下文信息考虑进去。该算法的关键属性包括指定物理条件模拟序列的能力,以及指定平移不变性属性的能力。也就是说,无论目标对象位于场景中的哪个位置,一个干扰都应该是有效的。由于对象可以取决于查看器在场景中自由地移动,当对象移动时,不为该属性优化的干扰可能会中断。
潜在的防御
考虑到在数字和物理中这些对抗的例子,潜在的防御方法也得到了广泛的研究。其中,不同类型的对抗训练方法是最有效的Goodfellow等人第一次提出了对抗训练,这是一种有效的方法来提高深度神经网络的鲁棒性,而Tramèr等人则将其扩展到集体对抗学习。Madry等人也通过与对抗的例子进行了迭代训练,提出了强大的网络。为了进行一场对抗训练的防御,需要大量的对抗的例子。此外,这些对抗的例子可以使防御更具鲁棒性,如果它们来自不同的模型,就像集成训练所建议的那样。集成对抗训练的好处是增加了对抗实例的多样性,使模型能够充分地探索对抗的例子空间。还有其他类型的防御方法,但这些现有的防御方法都没有足够的防御能力。
总的来说,我们还需要很长一段时间才能找到对抗这些敌对例子的最佳防御策略。
对YOLO的物理对抗sticker干扰例子
[video width="720" height="720" mp4="http://imgcdn.atyun.com/2018/01/videoplayback.mp4"][/video]
对YOLO的物理对抗STICKER干扰例子(2)
[video width="1280" height="720" mp4="http://imgcdn.atyun.com/2018/01/videoplaybaxaxack.mp4"][/video]
黑箱转移到Faster RCNN,为YOLO生成的物理对抗的例子
[video width="720" height="720" mp4="http://imgcdn.atyun.com/2018/01/videoplxzZayback.mp4"][/video]