语义上的对抗样本 -- SemanticAdv

语义上的对抗样本 – SemanticAdv

这次介绍的是ECCV2020的一篇文章,SemanticAdv: Generating Adversarial Examples via Attribute-conditioned Image Editing

介绍

我们知道,对抗样本一直以来对深度网络来说是一个不小的威胁,通过一个微小的、人眼不可区分的扰动,最终使得神经网络的结果出错(当然,不限于分类任务)。

有关于对抗样本,可以查看我的这篇文章

形式化来说,可以写成
f ( x + δ ) = f ( x a d v ) ≠ f ( x ) ∣ ∣ δ ∣ ∣ ≤ ε f(x+\delta)=f(x_{adv})\neq f(x)\\ ||\delta||\leq \varepsilon f(x+δ)=f(xadv)=f(x)δε
在以往的对抗样本攻击之中,我们通常通过一个范数来约束这个扰动,使得这个扰动尽可能地小,同时造成的影响尽可能大。

这些扰动,都是类似于噪声,是一种像素级别的扰动,实际场景中可能很难构造出来,比如自动驾驶任务,你很难对摄像头所拍摄的帧上施加上对应的像素级别扰动。那么有没有一种扰动,是在语义级别上进行扰动的呢?

语义级别的扰动,你可以理解为,一张图片中,一个人的存在与否,这种实体级别的扰动。

这里给出语义级别扰动的例子

image-20210415165526243

如上图所示,左右列的图片的区别是一种语义上的不同,比如是否有一辆行驶中的汽车。

生成语义级别的扰动

从先前的示例可以看到,图片发生了十分自然的变化,聪明的读者肯定想到了,这里肯定是采用了GAN!

这里直接给出,SementicAdv的Pipeline

image-20210415170002877

如上图所示,可以看到在输入层面,有一个属性向量(Attribute Vector)以及初始图像,通过修改这个属性向量,得到不同的中间特征,然后对两个中间特征进行融合得到了一个对抗图像。

有点类似StarGAN系列,即输入有一个属性向量,控制着语义变换的方向

那么如何构造攻击呢?

我们已经知道了如何生成语义级别上的扰动,但是我们如何利用梯度信息,对语义扰动的方向进行指导呢?

我们给出文章中的定义 (这个定义是在目标任务为身份识别 (Identity Verification) 的情况下)
x a d v = arg ⁡ min ⁡ x ∗ L ( x ∗ ) L ( x ∗ ) = L a d v ( x ∗ ; M , y t g t ) + λ ⋅ L s m o o t h ( x ∗ ) x_{adv} = \arg\min_{x^*}\mathcal{L}(x^*)\\ \mathcal{L}(x^*) = \mathcal{L}_{adv}(\mathcal{x^*;M, y^{tgt}})+\lambda\cdot \mathcal{L}_{smooth}(x^*) xadv=argxminL(x)L(x)=Ladv(x;M,ytgt)+λLsmooth(x)
其中 y t g t y^{tgt} ytgt 是目标的标签向量, M \mathcal{M} M 是我们想要攻击的嵌入模型 (模型会输出一个向量,用来刻画该图片), L s m o o t h \mathcal{L}_{smooth} Lsmooth 误差用来优化生成的图像质量。

更为细节地
L a d v ( x ∗ ; M , y t g t ) = max ⁡ { k , Φ M i d ( x ∗ , x t g t ) } \mathcal{L}_{adv} (x^*;\mathcal{M},y^{tgt})=\max\{k, \Phi_{\mathcal{M}}^{id}(x^*, x^{tgt})\} Ladv(x;M,ytgt)=max{k,ΦMid(x,xtgt)}
其中 Φ M i d ( x ∗ , x t g t ) \Phi_{\mathcal{M}}^{id}(x^*, x^{tgt}) ΦMid(x,xtgt) 度量由模型 M \mathcal{M} M 产生的嵌入向量的距离。

接下来我们只需要对属性向量对于上述误差求偏导数即可,然后基于反向传播和梯度下降就可以对该向量进行优化。

结果分析

我们先来看一下一些示例

image-20210415174055220

如上图所示,最左边的两列分别是源图像和目标图像,我们的目标是在源图像上施加语义变换,使得源图像被识别为目标图像。

以第一行为例,我们通过使得皮肤变白,上调发际线,重度化妆的变换来使得网络出错。

这样的操作使得对抗样本具备了语义,进一步促进了真实场景下攻击

文章还和传统的黑盒攻击进行了对比

image-20210415174748703

这个对比其实不是特别有意义,因为在这个语义攻击下,像素的修改的幅度并没有什么限制

那么迁移性呢?

image-20210415175104645

可以看到,类似网络结构下具备一定的迁移性。

融合语义分割的ORB-SLAM2是一种在视觉SLAM(Simultaneous Localization and Mapping,即同时定位与建图)系统中引入语义分割信息的方法。ORB-SLAM2是一个经典的基于特征点的SLAM系统,它利用摄像头的视觉信息进行实时定位和建图。 语义分割是一种计算机视觉任务,目标是将图像中的每个像素分配到预定义的语义类别中。在融合语义分割的ORB-SLAM2中,通过将语义分割的结果与ORB-SLAM2的特征点匹配进行融合,可以提供更丰富的场景理解和语义感知。 具体来说,融合语义分割的ORB-SLAM2通常包括以下几个步骤: 1. 预处理:对输入图像进行语义分割处理,得到每个像素的语义类别。 2. 特征提取与匹配:使用ORB-SLAM2提取特征点,并对特征点进行描述子计算。同时,根据语义分割结果,筛选出具有特定语义类别的特征点。 3. 运动估计与优化:使用筛选后的特征点进行相机运动估计和地图优化,得到相机的姿态和三维地图。 4. 语义一致性检测:利用语义分割结果对地图进行语义一致性检测,即保证地图中的语义类别与实际场景一致。 通过融合语义分割信息,ORB-SLAM2可以提供更准确和丰富的场景理解。例如,在室内场景中,可以区分墙壁、地板、家具等不同的语义类别,从而提高定位和建图的精度,并为机器人或无人车等应用提供更多语义感知的能力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值