论文阅读—Multi-Source Adversarial Sample Attack on Autonomous Vehicles
发表位置:IEEE TRANSACTIONS ON VEHICULAR TECHNOLOGY,2021
摘要
深度学习在自动驾驶汽车的目标检测和分类方面有着突出的表现。然而,深度学习模型对对抗样本的脆弱性导致自动驾驶汽车易遭受严重的安全威胁。虽然先前地研究者已经提出了一些针对对抗性样本的研究工作,但只有少数被指定用于自动驾驶汽车的场景。不仅如此,现有的对抗攻击模型只关注单个数据源,没有考虑多个数据源之间的相关性。为了填补这一空白,作者提出了两种多源对抗样本攻击模型,包括并行攻击模型和融合攻击模型,以同时攻击自主车辆的图像和激光雷达感知系统。
背景
自动驾驶技术已经经历了深刻的创新,并正在逐步应用于汽车行业。到2020年底,自动驾驶汽车的市场份额将超过40%,价值将超过610亿美元。这种爆炸性的进展得益于复杂的深度学习模型强大的计算能力。尽管自动驾驶汽车已经取得了如此成功,但是它们仍然不完美。在先前的研究中,用于自动驾驶汽车感知系统的深度神经网络容易受到敌对样本的干扰,通过轻微修改样本来误导目标检测和分类原始数据。一旦自动驾驶汽车受到敌对样本的攻击,错误的检测或分类不仅会导致系统安全问题,还会导致道路安全问题(如交通事故),对社会和个人造成严重后果。因此,研究对抗攻击能够帮助我们理解感知漏洞,制定防御策略,提高自动驾驶汽车的安全性和安全性能。
方案
作者主要研究数字对抗性样本攻击,假设攻击者有足够的能力获取先验知识,并将生成的对抗样本注入到与受害者自动驾驶汽车感知模型等价的模型中。例如,自动驾驶汽车的驾驶员可能攻击其他车辆。考虑这一假设来自两个重要的事实:(i)用户或防御者很难或不切实际地估计攻击者的实际能力;(2)在强大攻击者存在的情况下,我们可以深入了解自动驾驶汽车感知系统的脆弱性,从而帮助设计强大的防御策略。(白盒攻击的意义)
1. 攻击场景介绍
车载网络中的车辆通信包括车对车(V2V)、车对基础设施(Vehicle-to-Infrastructure)(V2I)和基础设施到车辆(I2V)三种类型,这三种技术为自动驾驶带来了很多好处,但也面临安全问题。
(1) V2I/I2V中威胁场景介绍
恶意RSU可以通过与车辆通信来发送操纵数据,攻击车辆的感知系统。在VANETs中,RSU有足够的计算能力进行复杂的计算,有足够的空间存储附近车辆通过V2I通信上传的车辆感知数据(如摄像头数据和激光雷达数据)。这些数据可以被恶意的RSU作为训练数据来提取先验知识。然后,恶意RSU利用对抗性样本生成方法,通过I2V通信将由图像和激光雷达数据组成的对抗性样本成对注入目标自主车辆中。恶意车辆以数据共享的方式通过V2V通信注入敌对样本,对其附近的受害者车辆发起对抗攻击。
(2) V2V中威胁场景介绍
值得注意的是,与V2I/I2V攻击场景相比,V2V攻击场景在实际应用中更具实用性。
(1)VANETs内的任何自动车辆都可以充当攻击者;相反,部署一个恶意的RSU可能不是一件容易的工作。
(2)恶意车辆不需要来自受害者车辆的任何训练数据,因为它们已经有足够的感官数据在其感知系统内进行训练。
(3)恶意车辆无论有无受害者车辆的原始数据,都可以生成对抗性样本。由于恶意车辆可以在V2V通信范围内靠近受害者车辆,因此恶意车辆与受害者车辆捕获的数据具有一定(高)相似性。因此,恶意车辆可以利用自己的感知数据本地生成对抗样本。
2. 问题描述
定义f(I)和g(F)分别为图像语义分割模型和LiDAR检测模型,其中,I和F分别为街景的图像和LiDAR数据。在本文中的图像和雷达数据主要包括两个部分:目标类(车辆)和非目标类(除车辆以外的部分)。
在目标类为 y t {y_t} yt语义分割模型f(I)中, I y t = { ( i , j ) ∣ f ( I ) = y t } {I_{{y_t}}} = \{ (i,j)|f(I) = {y_t}\} Iyt={(i,j)∣f(I)=yt}表示对于车辆的像素部分,其余部分定义为 I b g = I − I y t {I_{bg}} = I - {I_{{y_t}}} Ibg=I−Iyt。在LiDAR模型g(F)中,目标类车辆 y t {y_t} yt用黄色方框内的面积表示。
作者的目标是在黑盒设置中修改图像和激光雷达数据,攻击自动驾驶汽车的图像和激光雷达感知模型,使受害车辆在正确分类非目标类别的同时,错误地将目标类别分类为非目标类别。也就是说,除了车辆,受害者应该正确地分类其他物体。在形式上,我们提出的问题可以定义如下,
(1) 自动驾驶汽车中多元对抗样例问题的定义:
图像和雷达数据的对抗样本分别定义为 I ′ {I^{'}} I′和 F ′ {F^{'}} F′。
对于
I
′
{I^{'}}
I′,
arg
min
I
′
∣
∣
I
−
I
′
∣
∣
p
,
s
.
t
.
,
(
i
)
∀
p
i
x
e
l
∈
I
y
t
′
,
f
(
I
y
t
′
)
≠
y
t
,
a
n
d
(
i
i
)
∀
p
i
x
e
l
∈
I
b
g
′
,
f
(
I
b
g
′
)
=
f
(
I
b
g
)
\arg {\min _{{I^{'}}}}||I - {I^{'}}|{|_p},s.t.,(i)\forall pixel \in I_{{y_t}}^{'},f(I_{{y_t}}^{'}) \ne {y_t},and(ii)\forall pixel \in I_{bg}^{'},f(I_{bg}^{'}) = f({I_{bg}})
argminI′∣∣I−I′∣∣p,s.t.,(i)∀pixel∈Iyt′,f(Iyt′)=yt,and(ii)∀pixel∈Ibg′,f(Ibg′)=f(Ibg);
对于
F
′
{F^{'}}
F′,
arg
min
F
′
∣
∣
F
−
F
′
∣
∣
p
,
s
.
t
.
,
(
i
)
f
(
F
′
)
≠
y
t
\arg {\min _{{F^{'}}}}||F - {F^{'}}|{|_p},s.t.,(i)f({F^{'}}) \ne {y_t}
argminF′∣∣F−F′∣∣p,s.t.,(i)f(F′)=yt,其中
∣
∣
⋅
∣
∣
p
|| \cdot |{|_p}
∣∣⋅∣∣p为p范式。
针对上述问题,在街景高维数据上使用基于优化方法的效率是极其低下的,无法使用自动驾驶汽车中对抗样本的生成。为了加快自动驾驶汽车中对抗样本的生成效率,作者采用了一种基于生成的方法,一旦生成模型经过训练,这种方法比基于优化的方法效率更高。
另一方面,**由于单一传感器无法满足复杂城市环境下目标可靠检测的要求,多传感器融合方法在自动驾驶汽车中得到了广泛的应用。**目前,自动驾驶汽车感知系统中用于数据融合的主流技术有两种:低级融合(low-level fusion, LLF)和高级融合(high-level fusion, HLF)。特别是LLF-style方法对多个异构的感官数据分别进行多个检测管道,然后对每个管道的结果进行整合,其中感官数据通常具有不同的特征,需要考虑有效的结果组合。而HLF-style方法的目的是为不同传感器类型的多感觉数据找到统一的表示,其中应包含异构感觉数据的基本信息,如形状、位置、语义信息等。
为了实现上述目标,作者提出了一种针对 LLF的并行攻击模型和针对HLF的融合攻击模型。
(2) 针对 LLF的并行攻击模型 —Parallel Attack Model
在该问题中,目标是生成与原始数据分布相似的对抗性样本,要求对目标类对象分类错误(对车辆分类错误),但对非目标类对象分类正确。该方案的结构图如下图所示,
A 针对图像数据
在图(a)部署了三个神经网络,生成器 G I {G_I} GI、判别器 D I {D_I} DI 和图像分类器 f ( I ) f(I) f(I)(对抗攻击的目标模型)。一个图像I的输出为 f ( I ) = y f(I) = y f(I)=y,其中 y y y 的形状与I的形状相同, y y y 的每一个像素为这个像素的类概率。
生成器 G I {G_I} GI 以真实的样本数据 I I I 作为输入来生成对抗样本 I ′ = G I ( I ) {I^{'}} = {G_I}(I) I′=GI(I),对于 I ′ {I^{'}} I′模型的预测标签为 y ′ = f ( I ′ ) {y^{'}} = f({I^{'}}) y′=f(I′),然后将 I ′ {I^{'}} I′和 I I I同时输入到判别器 D I {D_I} DI 和模型 f ( ⋅ ) f( \cdot ) f(⋅)中进行训练。
对于生成对抗样本的要求,作者使用等式(1)最小化损失函数:
L A D V = E I , I ′ [ L ( f ( I b g ) , f ( I b g ′ ) ) − L ( f ( I y t ) , f ( I y t ′ ) ) ] {L_{ADV}} = {E_{I,{I^{'}}}}[L(f({I_{bg}}),f(I_{bg}^{'})) - L(f({I_{yt}}),f(I_{yt}^{'}))] LADV=EI,I′[L(f(Ibg),f(Ibg′))−L(f(Iyt),f(Iyt′))] (1)
等式(1)用于保证只修改目标类别,背景图像不发生变化。
其中,
L
(
⋅
)
L(\cdot)
L(⋅)原始数据预测分布
I
I
I
和生成数据
I
′
{I^{'}}
I′预测分布的交叉熵损失。在训练过程中,
L
(
f
(
I
b
g
)
,
f
(
I
b
g
′
)
)
L(f({I_{bg}}),f(I_{bg}^{'}))
L(f(Ibg),f(Ibg′))越小,表明
针对非目标类无法感知的修改的
I
b
g
{I_{bg}}
Ibg 和
I
b
g
′
I_{bg}^{'}
Ibg′ 之间具有较高的相似性,而
L
(
f
(
I
y
t
)
,
f
(
I
y
t
′
)
)
L(f({I_{yt}}),f(I_{yt}^{'}))
L(f(Iyt),f(Iyt′)) 之间差值越大表明
I
y
t
{I_{yt}}
Iyt 和
I
y
t
′
I_{yt}^{'}
Iyt′针对目标类的对抗攻击差值越大。当
I
y
t
{I_{yt}}
Iyt 和
I
y
t
′
I_{yt}^{'}
Iyt′足够大时,
I
y
t
{I_{yt}}
Iyt 和
I
y
t
′
I_{yt}^{'}
Iyt′将会完全不同,进而实现成功的攻击。
为了实现想要的攻击同时隐藏攻击者的行为, 期望 G I {G_I} GI的输出 I ′ {I^{'}} I′与原始图像 I I I 针对目标类 y t {y_t} yt具有较大的差异,但与原始图像 I I I 相似。也就是说, I ′ {I^{'}} I′和 I I I针对目标类的像素是不相同的,但底层的图像结构几乎是一样的。
为实现上述目的,作者使用 “U-Net” 来处理复杂的数据(生成器)。在 “U-Net” 中,使用编码器压缩输入图像,解码器用于从隐藏层中回复输出图像,隐藏层用于存储输入和输出公共的底层结构。判别器 D I {D_I} DI 使用等式(2)来判定其输入数据是是否为真实或虚假数据,
L G A N I = E I [ log D I ( I ) ] + E I ′ [ log ( 1 − D I ( I ′ ) ) ] L_{GAN}^I = {E_I}[\log {D_I}(I)] + {E_{{I^{'}}}}[\log (1 - {D_I}({I^{'}}))] LGANI=EI[logDI(I)]+EI′[log(1−DI(I′))] (2)
等式(2)用来保证生成的图像尽可能真实。
为了最大化等式(2),作者鼓励 D I {D_I} DI给真实数据 I I I 赋一个大值,给生成的对抗样本 I I I 赋一个小值。
另外,还需要一个损耗函数来控制对原始数据的修改幅度。 作者使用等式(3)来量化真实数据和生成数据的差距,
L P = E I , I ′ ∣ ∣ I − I ′ ∣ ∣ p {L_P} = {E_{I,{I^{'}}}}||I - {I^{'}}|{|_p} LP=EI,I′∣∣I−I′∣∣p (3)
作者使用的 L 2 {L_2} L2范数。综上所述,生成器 G I {G_I} GI的损失函数为,
L I m a g e = L G A N I + λ 1 L A D V + λ 2 L p {L_{{\rm{Image}}}} = L_{GAN}^I + {\lambda _1}{L_{ADV}} + {\lambda _2}{L_p} LImage=LGANI+λ1LADV+λ2Lp (4)
其中, λ 1 {\lambda _1} λ1 和 λ 2 {\lambda _2} λ2用于控制 L P {L_P} LP 和 L A D V {L_{ADV}} LADV 来调整损失函数的幅度。训练过程结束后,可以得到一个最优的生成器,
G I ∗ = arg min G I max D I [ L G A N I + λ 1 L A D V + λ 2 L p ] G_I^* = \arg \mathop {\min }\limits_{{G_I}} \mathop {\max }\limits_{{D_I}} [L_{GAN}^I + {\lambda _1}{L_{ADV}} + {\lambda _2}{L_p}] GI∗=argGIminDImax[LGANI+λ1LADV+λ2Lp] (5)
等式(4)能够从任何原始数据有效地生成对抗样本。利用 G I ∗ G_I^* GI∗ 攻击者可以生成对抗样本来入侵自动驾驶车辆中的图像模型 f ( ⋅ ) f(\cdot) f(⋅)。
B 针对LiDAR数据
由于LiDAR数据以 3D point cloud 的格式表示,无法直接用于深度学习模型,因此,需要将3D point cloud data 变换成到 3D voxels来进行分析,然后将3D voxels通过voxel feature encoding layer 将3D voxels 转化为统一的特征表示 F F F, 这些压缩的特征表示 F F F,作为LiDAR数据中车辆检测的输入特征。因此,为了误导LiDAR模型,应该尽可能寻找能误导目标模型且与原始特征 F F F 相似的对抗特征表示 F ′ F^{'} F′。
针对LiDAR数据的对抗攻击方法也包含三部分:生成器 G F {G_F} GF、判别器 D F {D_F} DF 和图像分类器 g ( ⋅ ) g(\cdot) g(⋅)(对抗攻击的目标模型)。如图(b)所示,基于VAE的生成器 G F {G_F} GF 以真实的样本数据 F F F 作为输入来生成对抗样本 F ′ = G F ( F ) {F^{'}} = {G_F}(F) F′=GF(F),然后将 F ′ {F^{'}} F′和 F F F同时输入到判别器 D F {D_F} DF 和模型 g ( ⋅ ) g( \cdot ) g(⋅)中进行训练。
基于VAE的生成器中编码器和解码器的损失函数定义为,
L V A E F ′ = − E Z ∼ q ( z ∣ F ) [ log p ( F ′ ∣ z ) + K L ( q ( z ∣ F ) ∣ ∣ p ( z ) ) ] L_{VAE}^{{F^{'}}} = - {E_{Z \sim q(z|F)}}[\log p({F^{'}}|z) + KL(q(z|F)||p(z))] LVAEF′=−EZ∼q(z∣F)[logp(F′∣z)+KL(q(z∣F)∣∣p(z))] (6)
其中, z z z 表示预定义的低维向量, K L ( ) KL() KL()表示分布 q ( z ∣ F ) q(z|F) q(z∣F) 和 p ( z ) p(z) p(z) 之间的 K L KL KL 散度。为了提高生成特征 F ′ F^{'} F′ 的质量,作者在对抗性训练中集成了基于VAE的生成器 G F G_F GF和鉴别器 D F D_F DF,使得 F ′ F^{'} F′ 和 F F F 尽可能相似,
L G A N F = E F [ log D F ( F ) ] + E F ′ [ log ( 1 − D F ( F ′ ) ) ] L_{GAN}^F = {E_F}[\log {D_F}(F)] + {E_{{F^{'}}}}[\log (1 - {D_F}({F^{'}}))] LGANF=EF[logDF(F)]+EF′[log(1−DF(F′))] (7)
等式(6)和(7)用于保证生成的对抗表示尽可能真实。
在LiDAR数据的VoxelNet模型中,唯一的输出标签是车辆的位置,用黄色盒子表示,如下图所示。
因此,攻击LiDAR模型相当于降低检测黄盒子的准确性。采用VoxelNet,在输出中每辆车的黄色方框可以用7元组
(
x
,
y
,
z
,
h
,
w
,
l
,
r
)
(x, y, z, h,w, l, r)
(x,y,z,h,w,l,r) 表示。其中
(
x
,
y
,
z
)
(x, y, z)
(x,y,z) 为激光雷达传感器的三维位置;
h
h
h、
w
w
w、
l
l
l 分别为车辆在三维空间中的高度、重量、长度;
r
r
r 是
y
y
y 坐标下的旋转角度。令
B
o
x
o
Bo{x_o}
Boxo 和
B
o
x
a
Bo{x_a}
Boxa分别表示对特征表示
F
F
F 和
F
′
F^{'}
F′的检测结果。对于每一个被检测车辆,
B
o
x
o
Bo{x_o}
Boxo 和
B
o
x
a
Bo{x_a}
Boxa的重叠部分定义为
B
o
x
o
l
Bo{x_ol}
Boxol。LiDAR数据的 utility 用于度量LiDAR数据的对抗样本和原始样本之间的相似性,计算为,
B
o
x
o
l
/
B
o
x
o
Bo{x_{ol}}/Bo{x_o}
Boxol/Boxo,攻击性能被计算为
(
1
−
B
o
x
o
l
/
B
o
x
a
)
(1-Bo{x_{ol}}/Bo{x_a})
(1−Boxol/Boxa),用于度量特征表示修改对车辆检测的影响。其中,
B
o
x
o
=
h
×
w
×
l
Bo{x_o} = h \times w \times l
Boxo=h×w×l
B
o
x
a
=
h
′
×
w
′
×
l
′
Bo{x_a} = {h^{'}} \times {w^{'}} \times {l^{'}}
Boxa=h′×w′×l′
B
o
x
o
l
=
o
l
h
×
o
l
w
×
o
l
l
×
cos
(
r
−
r
′
)
Bo{x_{ol}} = o{l_h} \times o{l_w} \times o{l_l} \times \cos (r - {r^{'}})
Boxol=olh×olw×oll×cos(r−r′)
o
l
h
=
(
min
{
h
,
h
′
}
−
(
z
′
−
z
)
)
o{l_h} = (\min \{ h,{h^{'}}\} - ({z^{'}} - z))
olh=(min{h,h′}−(z′−z))
o
l
w
=
(
min
{
w
,
w
′
}
−
(
y
′
−
y
)
)
o{l_w} = (\min \{ w,{w^{'}}\} - ({y^{'}} - y))
olw=(min{w,w′}−(y′−y))
o
l
l
=
(
min
{
l
,
l
′
}
−
(
x
′
−
x
)
)
o{l_l} = (\min \{ l,{l^{'}}\} - ({x^{'}} - x))
oll=(min{l,l′}−(x′−x))
然后最小化等式(8)来提升对抗样本的攻击性能
L A D V = E F , F ′ [ B o x o l / B o x a − B o x o l / B o x o ] {L_{ADV}} = {E_{F,{F^{'}}}}[Bo{x_{ol}}/Bo{x_a} - Bo{x_{ol}}/Bo{x_o}] LADV=EF,F′[Boxol/Boxa−Boxol/Boxo] (8)
其中, B o x o l / B o x a Bo{x_{ol}}/Bo{x_a} Boxol/Boxa用于最大化攻击性能, B o x o l / B o x o Bo{x_{ol}}/Bo{x_o} Boxol/Boxo用于保证修改后的特征表示 F ′ F^{'} F′ 无法被感知,因此,LiDAR数据的目标函数可表达为:
L L i D A R = L G A N F + η 1 L V A E F ′ + η 2 L A D V {L_{LiDAR}} = L_{GAN}^F + {\eta _1}L_{VAE}^{{F^{'}}} + {\eta _2}{L_{ADV}} LLiDAR=LGANF+η1LVAEF′+η2LADV (9)
(3) 针对HLF的融合攻击模型 —Fusion Attack Model
对于一对图像数据和LiDAR数据,从同一位置捕捉同一场景,它们嵌入在潜在空间的基本信息应该是相同的。由于这两类数据的本质包含相同的信息,可以使用相同的latent vector来表示信息,然后从相同的latent vector恢复图像数据和LiDAR数据。
在Fusion Attack Model中,为了联合攻击图像模型和LiDAR模型,作者采用了VAE-GAN模型,并修改了Parallel attack model 的图像数据方法,如下图所示
图像发生器
G
I
{G_I}
GI和LiDAR生成器
G
F
{G_F}
GF均由编码器和解码器构成,其中编码器将原始数据
I
I
I和
F
F
F分别映射到低维表示
z
I
{z_I}
zI和
z
F
{z_F}
zF。然后解码器
D
e
c
I
{Dec_I}
DecI和
D
e
c
F
{Dec_F}
DecF将
z
I
{z_I}
zI和
z
F
{z_F}
zF分别恢复到对抗样本
I
′
I^{'}
I′和
F
′
F^{'}
F′。判别器和目标模型与Parallel attack model 中的操作相同。需要注意的是
z
I
{z_I}
zI和
z
F
{z_F}
zF应该被损失函数所限制。
生成器 G I {G_I} GI 的损失函数定义如下:
L V A E I ′ = − E z ∼ q ( z ∣ I ) [ log ( I ′ ∣ z ) ] + K L ( q ( z ∣ I ) ∣ ∣ p ( z ) ) L_{VAE}^{{I^{'}}} = - {E_{z \sim q(z|I)}}[\log ({I^{'}}|z)] + KL(q(z|I)||p(z)) LVAEI′=−Ez∼q(z∣I)[log(I′∣z)]+KL(q(z∣I)∣∣p(z)) (10)
其中, z z z为预定义潜在空间的分布, z ∼ N ( 0 , 1 ) z \sim N(0,1) z∼N(0,1)。
对于生成的数据 I ′ I^{'} I′ ,使用如下等式提高攻击性能
L G A N I = E I [ log D I ( I ) ] + E I ′ [ log ( 1 − D I ( I ′ ) ) ] L_{GAN}^I = {E_I}[\log {D_I}(I)] + {E_{{I^{'}}}}[\log (1 - {D_I}({I^{'}}))] LGANI=EI[logDI(I)]+EI′[log(1−DI(I′))] (2)
因此,融合攻击模型中Fusion Attack Model的损失函数表示为:
L i m a g e = L G A N I + L V A E I ′ + λ 1 L A D V + λ 2 L P {L_{image}} = L_{GAN}^I + L_{VAE}^{{I^{'}}} + {\lambda _1}{L_{ADV}} + {\lambda _2}{L_P} Limage=LGANI+LVAEI′+λ1LADV+λ2LP
然后,为了将image pipeline和LiDAR pipeline连接起来,迫使这两个管道将两种类型的数据编码到同一潜在空间点,编码结果 z I {z_I} zI和 z F {z_F} zF应尽可能接近。
这启发我们如何定义图像数据与LiDAR数据之间的latent content loss,即
L Z = E z ∣ ∣ z I − z F ∣ ∣ 2 {L_Z} = {E_{\rm{z}}}||{z_I} - {z_F}|{|_2} LZ=Ez∣∣zI−zF∣∣2
通过过最小化 L Z {L_Z} LZ,可以迫使低维表示 z I {z_I} zI 和 z F {z_F} zF 相似。
I
′
=
D
e
c
I
(
z
)
{I^{'}} = De{c_I}(z)
I′=DecI(z)
F
′
=
D
e
c
F
(
z
)
{F^{'}} = De{c_F}(z)
F′=DecF(z)
实验
数据集:KITTI
评价指标:平均效益、平均准确性和平均图像处理时间和对应的方差
对比方法:one optimization-based method in [1], termed Iterative Gradient Sign Optimization (IGSO), and one generation-based adversarial sample attack of [2], termedGenerativeAdversarial Perturbations (GAP)
参考文献
[1] V. Fischer, M. C.Kumar, J. H. Metzen, and T. Brox, “Adversarial examples for semantic image segmentation,” 2017, arXiv:1703.01101.
[2] O. Poursaeed, I. Katsman, B. Gao, and S. Belongie, “Generative adversarial perturbations,” in Proc. IEEE Conf. Comput. Vis. Pattern Recognit.,2018, pp. 4422–4431.