当前位置:   article > 正文

自动驾驶模型下的对抗性攻击和防御【文献阅读】_对抗样本攻击中的自动驾驶

对抗样本攻击中的自动驾驶

题目:An Analysis of Adversarial Attacks and Defenses on Autonomous Driving Models

引用:Deng Y, Zheng X, Zhang T, et al. An analysis of adversarial attacks and defenses on autonomous driving models[C]//2020 IEEE international conference on pervasive computing and communications (PerCom). IEEE, 2020: 1-10.
注:本篇文章是一篇B类会议。

0.摘要

针对通用CNN的分类模型容易受到对抗性攻击。然而不确定回归模型(在自动驾驶的驱动模型中)在多大程度上容易受到对抗性攻击、现有防御技术的有效性以及对系统和中间件构建者的防御含义。

②本文在三种驱动模型上对五种对抗性攻击和四种防御方法进行了深入分析。

③实验结果表明这些模型仍然容易受到对抗性攻击的影响;并且防御方法的有效性也不高。

1.介绍

目前自动驾驶广泛使用的是基于CNN的回归模型,不幸的是,CNN很容易被对抗性示例所欺骗,对抗样本是通过对输入图像施加小的像素级扰动来构建的。尽管人眼无法察觉,但这种对抗样本会导致CNN做出完全错误的决定

为了防御对抗性攻击,已经提出了几种技术来强化神经网络。然而,以往的研究主要集中在图像分类模型上。目前尚不清楚这些对抗性攻击和防御在多大程度上对回归模型(例如,自动驾驶模型)有效。这种不确定性暴露了潜在的安全风险,并增加了研究机会。

本文综合分析了自动驾驶模型的五种对抗性攻击方法和四种防御方法。

攻击:通过对三种驱动模型进行系统实验,我们发现除了ITFGSM外,其他所有攻击,包括Opt、Opt uni、AdvGAN、AdvGAN uni在白盒设置下都能有效生成平均成功率为98%的对抗样本。因此,自动驾驶的回归模型也极易受到对抗性攻击。但是研究发现黑盒攻击情况下,所有的攻击成功率都明显偏低,其驱动模型就不容易受到对抗性攻击。

防御这四种防御方法都不能有效地检测所有五种攻击

本文的工作:

①复现了五种对抗性攻击方法和四种防御技术,并进行了适当的调整,以适应基于回归的驱动模型。

②我们对五种对抗性攻击和四种防御进行了综合实验,并总结了实验结果。

③我们提出了未来自动驾驶模型对抗性攻击和防御研究的三个系统构建含义。

2.背景和相关工作

2.1自动驾驶模型

图1显示了自动驾驶模型的概述。其自动驾驶过程为:通过传感器(如激光雷达和摄像头)的输入数据,利用深度神经网络来预测车辆的决策,如转向角度和速度

自动驾驶机器学习的应用:文中表示CNN是目前自动驾驶的主流神经网络架构,其驾驶模型主要应用在感知控制模块中,并通过车辆网关远程更新模型架构。

目前在自动驾驶中应用CNN模型:①common.ai提出了一种基于CNN的驾驶模型来预测转向角度;②Nvidia提出了一个DAVE2模型。

2.2对抗性攻击

攻击目标:通过在原始图像中添加小的扰动,对抗性攻击可以欺骗目标模型,从而产生完全错误的预测。
在这里插入图片描述
传统的对抗样本攻击:如上图所示,对抗样本攻击,主要集中在图像分类上;其数学形式表示为:给定一个目标模型M和原始数据集x∈X,其目标分类结果为c,攻击者构建一个不可察觉的对抗性扰动δ,形成一个对抗样本x’ = x + ε,然后可以使得目标模型 M 将对抗样本 x’ 误分类为 c’ 。

攻击者知识:可以分为白盒攻击和黑盒攻击。白盒攻击需要目标模型的所有细节来执行攻击,包括训练数据、神经网络架构、参数和超参数,以及收集模型的梯度和预测结果的特权。黑盒攻击只需要查询任意输入数据的模型,就可以得到预测结果

不过,攻击者可以基于目标模型的输入输出,来构建替代模型,在自己的模型上实现白盒攻击,从而构建出黑盒的攻击。(听上去很拗口,换句话解释就是如果我们了解生成式对抗网络(GAN)的话,我们就可以理解,我们通过已知的机器学习模型来生成一个未知的机器学习模型,当攻击者对这个生成的这个机器学习模型施加攻击算法,则有很大可能会提高黑盒(未知的)机器学习模型的攻击成功率)

2.3对抗性防御

防御目标:分为主动防御和反应防御。

主动防御旨在提高神经网络对敌对示例的鲁棒性。常见的方法是使用具有对抗性示例的数据集重新训练模型;在目标模型中添加正则化组件。

反应性方法旨在检测对抗性样本。DNN可以通过验证输入图像的属性或检测Softmax层的状态来确定模型是否受到攻击。

3.方法

3.1自动驾驶模型的对抗性攻击

通用对抗样本的攻击效果:对抗性图像和原始图像分类为不同类别时,表示攻击成功。

自动驾驶模型中的特点:由于自动驾驶在行驶的过程中需要连续的向模型注入数据(也就是自动驾驶模型需要处理连续帧问题)。因此自动驾驶模型也是预测连续值的回归模型。

自动驾驶对抗性攻击:驾驶模型的对抗性攻击是根据可接受的误差范围(称为对抗性阈值)来定义的。因此,如果原始预测与对抗样本的预测之间的偏差高于对抗性阈值,则认为对驱动模型的对抗性攻击成功。

自动驾驶对抗样本攻击方式:

①基于Fast Gradient Sign的方法:通过对原始图像上的每个像素加上损失梯度的符号,直接生成对抗性示例。

②基于优化的方法:将对抗性示例构建作为一个优化问题来表述。

③基于生成模型的方法:提出利用生成模型的强大功能,如生成对抗网络(GAN)和自动编码器网络来生成对抗样本。

作者实现了五种对抗性攻击,形成了一套全面的回归模型对抗性攻击。

目标快速梯度符号法(IT-FGSM),经典快速梯度符号法的变体(FGSM):它只是将损失梯度相对于原始图像上的每个像素的符号相加。ITFGSM对目标FGSM进行多次应用,以获得更强大的对抗样本。

基于优化的方法(Optimization Based Approach, Opt)该方法通过求解式(1)中的优化问题,计算分类模型的对抗扰动。

a r g m i n ‖ ϵ ‖ 2 s . t . f ( x + ϵ ) = c ′ , x + ϵ ∈ [ 0 , 1 ] m argmin‖ϵ‖_2 s.t.f(x+ϵ)=c' ,x+ϵ∈[0,1]^m argminϵ2s.t.f(x+ϵ)=c,x+ϵ[0,1]m

对于回归模型,将c’改为 f(x)+Δ,并将公式①改编为公式②,并应用Adam优化器来解决优化问题。

a r g m i n ‖ ϵ ‖ 2 + J θ ( C l i p ( x + ϵ ) , f ( x ) + ∆ ) argmin‖ϵ‖_2+J_θ (Clip(x+ϵ),f(x)+∆) argminϵ2+Jθ(Clip(x+ϵ),f(x)+)

AdvGAN:AdvGAN生成一个对抗样本G(x),从一个原始图像通过整合另一个目标 L y = J θ ( G ( x ) , f ( x ) + ∆ ) L_y=J_θ (G(x),f(x)+∆) Ly=Jθ(G(x),f(x)+)转化为目标函数
L A d v G A N = L y + α L G A N L_{AdvGAN}=L_y+α L_{GAN} LAdvGAN=Ly+αLGAN
其中α表示每个目标的参数值。经过训练,生成器G可以生成一个与原始图像相似的对抗样例x’,但预测f(x‘)偏离f(x)。

通用对抗扰动(Opt_uni):通过基于优化的方法实现这种攻击。首先在一个图像上生成一个扰动v。然后,对于数据集中的每张图像,我们计算最小变化∆v,并将v适应为v + δv。当对整个数据集进行迭代时,得到了一个泛化扰动。

⑤AdvGAN 通用对抗扰动(Adv-GAN_uni):Poursaeed等人提出使用GAN生成通用对抗性摄动。而不是使用生成器为每个输入图像构造一个唯一的扰动(G(x)),生成器输出一个通用的对抗性扰动。在本研究中,我们基于AdvGAN架构实现了这种方法

3.2自动驾驶模型的对抗性防御

由于自动驾驶的特性,目前很多防御方法也不适用自动驾驶模型

作者重新实现了自动驾驶的四种防御方法:主动防御方法两种;反应性防御方法两种

①对抗性训练(Adversarial Training):通过对抗性样本对原模型进行再训练,新模型学习到对抗性样本的特征,具有更好的泛化和鲁棒性。在这项研究中,作者添加了由上文提出的5种攻击产生的对抗示例来训练一个新的模型。

②防御性蒸馏(Defensive Distillation):防御性蒸馏使用原始模型预测的类别概率作为软标签来训练新模型。

③异常检测(Anomaly Detection):自动驾驶车辆通常配备运行时监控系统来检查车辆状态。具体:我们监控由对抗性攻击引起的模型预测延迟。或者,由于自动驾驶汽车资源受限,可通过监控GPU内存使用和GPU利用率的峰值,来检测由对抗性攻击引起的额外计算。

④特征压缩(Feature squeezing):目前有两种对抗防御的特征压缩方法。第一种方法将原来的24位颜色压缩到1位到8位颜色。通过这样做,随着比特深度的减小,对抗性噪声变得更容易被感知。第二种方法采用中值空间平滑,将滤波器在原始图像上移动,并将中心像素值修改为滤波器中像素值的中值。如果两种方法中的任何一种对原始图像的预测结果与压缩后图像的预测结果的差值超过预定义的阈值T,则给定的输入很可能是一个对抗性示例。

4.实验(实验代码的详细代码解读请看下节)

实验代码链接

数据集:使用Udacity数据集来训练三个自动驾驶模型并生成对抗性样本。

数据集内容:包含由安装在车辆上的前置摄像头采集的真实道路图像,数据集被Udacity拆分为训练集和测试集。训练集包含33805帧,测试集包含5614帧。每一帧的转向角度从1度归一化为−1 ~ 1之间的值。

自动驾驶模型:使用Pytorch实现并训练了三个驾驶模型Epoch、Nvidia DAVE-2和VGG16。

①Epoch是参加过Udacity挑战赛;②英伟达DAVE-2是一款众所周知的公开自动驾驶模型;③VGG16采用高度鲁棒的神经网络架构,广泛应用于图像分类的迁移学习。我们通过将VGG16的最后一层替换为三层前馈网络来适应回归驱动模型。

在这里插入图片描述

对抗性攻击和防御设置:所有攻击和防御都在Pytorch中实现。我们将对抗阈值∆设为0.3。换句话说,如果对抗性示例的转向角预测与原始预测之间的差异大于0.3,我们认为攻击成功。图2显示了阈值对攻击成功率的影响。随着阈值的增加,攻击成功率的限制变得严格,攻击成功率下降。当阈值小于0.3时,通用扰动攻击和AdvGAN攻击的成功率保持稳定。

5.攻击结果

暂无。。。。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/365727
推荐阅读
相关标签
  

闽ICP备14008679号