文章标题字数受限,因此有删减。原文标题为:
《Transferable, Controllable, and Inconspicuous Adversarial Attacks on Person Re-identification With Deep Mis-Ranking》
Abstract
本文通过提出学习错误排名公式(learning-to-mis-rank formulation)来扰乱系统输出的排名,来检查当前表现最佳的ReID模型的不安全性。
跨数据集可转移性在ReID领域至关重要,因此还开发一种新颖的多级网络架构来执行黑盒攻击,该架构将不同级别的特征金字塔化,以提取对抗性扰动的一般和可转移特征。
通过使用可微分多次采样(differentiable multi-shot sampling),本文的方法可以控制坏像素点的数量。
为了保证攻击不够明显,还提出了一种新得感知损失,以实现更好得视觉质量。
1 Introduction
ReID是否继承了DNN的弱点有待探索。DNN很容易被对抗攻击干扰。
有证据表明,戴包、戴帽子或戴眼镜的人可能会误导 ReID 系统,从而输出错误的预测。这些样本可以被看作是自然的对抗样本。
ReID被定义为排序问题,而不是分类问题。现有的图像分类、分割、检测和人脸识别攻击方法不适合排名问题。
图像域在不同时间和不同相机中会有所不同,应该考虑通过采用跨数据集黑盒攻击来检查ReID模型的鲁棒性。
现有的对抗性攻击方法往往可移植性较差,通常是为单一的任务域设计的(如dataset A),由于无法找到攻击的通用表示,因此不能重复用于另一个域(如dataset B)。
关注不起眼的攻击来检验ReID模型的不安全性,现有的攻击方法通常存在人类可感知的视觉质量缺陷。
为了解决上述问题,本文提出了可转移的、可控制的、不显眼的攻击来检验目前表现最好的ReID系统的安全性。
提出一种学习错误排名公式来扰乱ReID模型的排名预测,设计了一种新的错误排名损失函数来攻击潜在匹配的排名,这完美契合了ReID问题。
基于错误排名的攻击,是对现有的基于错误分类的攻击的补充。
为了增强攻击者的可迁移性,需要提高攻击者的表示学习能力,以提取对抗性扰动的通用特征。为此,通过金字塔不同级别的鉴别器的特征来开发一种新颖的多级网络架构,用于表示学习。该架构在复杂的ReID任务中的黑盒攻击展现出很突出的可转移性。这种可转移性产生了针对白盒和黑盒的联合解决方案。
为了使攻击不引人注目,从两个方面改进了现有的对抗性攻击者:
- 由于使用了可微分多次采样,因此在方法中,要攻击的目标像素的数量是可控的。通常,对抗攻击可以被看做是搜索可以用噪声污染的像素集合。为了使搜索空间连续,像Gumbel softmax那样放宽了对所有可能像素的选择,目标像素点的数量由softmax输出的动态阈值来决定,因此是可以控制的。
- 设计了一种新的感知损失,来提高受攻击图像的视觉质量,从而保证不显眼。
图1:AlignedReID的rank-10预测(其中一个SOTA ReID模型),在Market-1501数据集上,攻击前和攻击后的表现结果。绿色边框表示正确匹配,红色表示没有正确匹配。
一些攻击的结果在图1中展示。
贡献:
- 提出了一种学习错误排名的公式去扰乱系统输出的排名。
- 执行黑盒攻击以增强攻击者的可转移性
- 提出可微的多镜头采样来控制恶意像素的数量
3 Methodology
3.1 Overall Framework
图2(a),本文方法的主体框架。目标是生成一些噪声
P
\mathcal{P}
P去干扰输入图像
I
\mathcal{I}
I。被干扰的图像
I
^
\hat{\mathcal{I}}
I^可以通过视觉相似性来欺骗reid系统
T
\mathcal{T}
T。
本文方法的主体框架展现于图2(a)。目标是通过生成器
G
\mathcal{G}
G为每一个输入图像
I
\mathcal{I}
I生成噪声
P
\mathcal{P}
P。通过向图像
I
\mathcal{I}
I添加噪声
P
\mathcal{P}
P,获得对抗性样本
I
^
\hat{\mathcal{I}}
I^,使用它就可以欺骗ReID系统
T
\mathcal{T}
T输出错误的结果。
具体地,ReID系统
T
\mathcal{T}
T可以认为匹配的图像对不相似,同时不匹配的图像对相似。如图2(b)所示。
图2(b):不同分类的样本对的距离被最小化,相同分类的图像的距离被最大化。
整个框架是基于GAN训练的,包含一个生成器 G \mathcal{G} G和一个新的判别器 D \mathcal{D} D。3.3节会详细说明。
3.2 Learning-to-Mis-Rank Formulation For ReID
本文提出了干扰系统输出排名的learning-to-mis-rank formulation。一个全新的误导排名的损失函数被设计出来,用于攻击预测的排名,这对于ReID问题很适合。
我们的方法倾向于最小化不匹配的图像对的距离,最大化匹配的图像对的距离。有:
L
adv-etri
=
∑
k
=
1
K
∑
c
=
1
C
k
[
max
j
≠
k
,
j
=
1
⋯
K
,
c
d
=
1
⋯
C
j
∣
∣
T
(
I
^
c
k
)
−
T
(
I
^
c
d
j
)
∣
∣
2
2
−
min
c
s
=
1
⋯
C
k
∣
∣
T
(
I
^
c
k
)
−
T
(
I
^
c
s
k
)
∣
∣
+
Δ
]
+
(1)
\begin{aligned} \mathcal{L}_{\text{adv-etri}}&=\sum_{k=1}^K \sum_{c=1}^{C_k}[\max_{j\neq k, j=1\cdots K, c_d=1\cdots C_j} ||\mathcal{T}(\hat{\mathcal{I}}_c^k)-\mathcal{T}(\hat{\mathcal{I}}_{c_d}^j)||_2^2 \\ &-\min_{c_s=1\cdots C_k}||\mathcal{T}(\hat{\mathcal{I}}_{c}^k)-\mathcal{T}(\hat{\mathcal{I}}_{c_s}^k)||+\Delta]_+\tag{1} \end{aligned}
Ladv-etri=k=1∑Kc=1∑Ck[j=k,j=1⋯K,cd=1⋯Cjmax∣∣T(I^ck)−T(I^cdj)∣∣22−cs=1⋯Ckmin∣∣T(I^ck)−T(I^csk)∣∣+Δ]+(1)
其中
C
k
C_k
Ck是从第
k
k
k个人物ID下抽取的图像数量,
I
c
k
\mathcal{I}_c^k
Ick是一个小批量中第
k
k
k号人的第
c
c
c张图像,
c
s
c_s
cs和
c
d
c_d
cd是从相同ID和不同ID中抽取的图像集合,
∣
∣
⋅
∣
∣
2
2
||\cdot||_2^2
∣∣⋅∣∣22是L2范式的平方,用于表示距离度量,
Δ
\Delta
Δ是一个margin。
Eq.1通过triplet loss的形式攻击了排名,鼓励最容易区分的ID间图像对的距离变小,鼓励最不容易区分的ID内图像对的距离变大。
使用mis-ranking loss有很多优点。
- mis-ranking loss完美适配了ReID系统,ReID在训练和测试数据的设定上和图像分类任务有很大的不同。图像分类任务中,训练集和测试集享有相同的类别;ReID中,训练集和测试集之中没有类别的重叠,因此mis-ranking loss更适合攻击ReID。
- mis-ranking不仅适合攻击ReID问题,也适合攻击所有open-set问题。使用mis-ranking loss可能也有利于攻击者学习通用和可转移的特征。
总结来说,基于对抗攻击者的mis-ranking是对现有基于错误分类的攻击者的完美补充。
3.3 Learning Transferable Features for Attacking
为了增强攻击者的可转移性,需要提高攻击者的表示学习能力,以提取对抗性扰动的一般特征。
表示学习器由生成器
G
\mathcal{G}
G和判别器
D
\mathcal{D}
D组成。
生成器
G
\mathcal{G}
G使用ResNet50,判别器
D
\mathcal{D}
D使用了金字塔结构,通过金字塔不同级别鉴别器的特征,开发一种用于表示学习的新型多级网络架构。
图3:多层判别器的结构
具体地,多层判别器包含3个全卷积子网络,每个全卷积子网络包含5个卷积层,3个下采样层,还有一些归一化层。这三个子网络分别接收原始图像的
{
1
,
1
/
2
2
,
1
/
4
2
}
\{1,1/2^2,1/4^2\}
{1,1/22,1/42}的区域作为输入。然后,具有相同大小的子网络的特征图被组合到相同的阶段中。
这样就制定了具有一系列下采样结果的阶段金字塔(stage pyramid),其图像比例为
{
1
/
32
,
1
/
16
,
1
/
8
,
1
/
4
}
\{1/32, 1/16, 1/8, 1/4\}
{1/32,1/16,1/8,1/4}。
使用前一阶段的特征图,使用双线性上采样将空间的分辨率上采样2倍,并附加
1
×
1
1\times 1
1×1的卷积层以减少通道维度。
经过逐元素加法和
3
×
3
3\times 3
3×3卷积后,融合后的映射将被送入下一阶段。
最后,网络以两个atrous convolution(有跳跃地进行卷积)和一个
1
×
1
1\times 1
1×1卷积结束,以执行特征重新加权,其最终响应图
λ
\lambda
λ被送入3.4节中讨论的下采样器
M
\mathcal{M}
M中。
这三个子网路都通过标准损失进行了优化。
3.4 Controlling the Number of the Attacked Pixels
为了让攻击不明显,对现有的攻击进行了两个改进。
第一个角度是控制被攻击的目标像素数量,通过攻击找到要加的噪声和攻击的像素点。
这里展示了攻击搜索目标像素的公式。
为了让搜索空间连续,对所有可能的像素进行Gumbel softmax松弛操作:
p
i
,
j
=
exp
(
(
log
(
λ
i
,
j
+
N
i
,
j
)
)
/
τ
)
∑
i
,
j
=
1
H
,
W
exp
(
log
(
λ
i
,
j
+
N
i
,
j
)
/
τ
)
(2)
p_{i,j}=\frac{\exp((\log(\lambda_{i,j}+\mathcal{N}_{i,j}))/\tau)}{\sum_{i,j=1}^{H,W} \exp(\log(\lambda_{i,j}+\mathcal{N}_{i,j})/\tau)}\tag{2}
pi,j=∑i,j=1H,Wexp(log(λi,j+Ni,j)/τ)exp((log(λi,j+Ni,j))/τ)(2)
其中
i
∈
(
0
,
H
)
,
j
∈
(
0
,
W
)
i\in(0,H),j\in(0,W)
i∈(0,H),j∈(0,W)表示
H
×
W
H\times W
H×W特征图中的像素编号。表示一个像素是否被选择的概率
p
i
,
j
p_{i,j}
pi,j,通过
H
×
W
H\times W
H×W维度的softmax过的输出向量
λ
i
,
j
\lambda_{i,j}
λi,j来参数化。
N
i
,
j
=
−
log
(
−
log
(
U
)
)
\mathcal{N}_{i,j}=-\log(-\log(U))
Ni,j=−log(−log(U))是
(
i
,
j
)
(i,j)
(i,j)位置处的随机变量,在Gumbel distribution中采样(
U
∼
Uniform
(
0
,
1
)
U\sim \text{Uniform} (0,1)
U∼Uniform(0,1))。
τ
\tau
τ是一个温度参数,用来将均匀分布(uniform distribution)软化到分类分布(categorical distribution)
Gumbel distribution: 一种连续的概率分布,通常用于模拟极端值的分布情况,形状和尺度由两个参数决定: μ \mu μ是位置参数, β \beta β是尺度参数。是一种右偏的分布,具有单峰和尾部较长的特点。其概率密度函数为:
f ( x ∣ μ , β ) = 1 β exp ( − x − μ β − exp ( − x − μ β ) ) f(x|\mu, \beta)=\frac{1}{\beta}\exp(-\frac{x-\mu}{\beta}-\exp(-\frac{x-\mu}{\beta})) f(x∣μ,β)=β1exp(−βx−μ−exp(−βx−μ))
这样,攻击像素的数量可以由掩模
M
\mathcal{M}
M决定:
M
i
,
j
=
{
K
e
e
p
T
o
p
k
(
p
i
,
j
)
in forward propagation
p
i
,
j
in backward propagation
\mathcal{M}_{i,j} = \begin{cases} \mathcal{KeepTopk}(p_{i,j}) \qquad & \text{in forward propagation} \\ p_{i,j} \qquad & \text{in backward propagation} \end{cases}
Mi,j={KeepTopk(pi,j)pi,jin forward propagationin backward propagation
其中
K
e
e
p
T
o
p
k
\mathcal{KeepTopk}
KeepTopk是选择具有最高概率
p
i
,
j
p_{i,j}
pi,j的k个像素保留在
M
\mathcal{M}
M中,其他像素会在前向传播中被drop掉。
前向传播和反向传播的差异确保了可微性,通过将掩模
M
\mathcal{M}
M和初始的噪声
P
′
\mathcal{P}'
P′相乘,得到像素数量可控的最终噪声
P
\mathcal{P}
P。
3.5 Perception Loss for Visual Quality
为了控制攻击像素的数量,仍然关注视觉质量以确保攻击不够明显。受到MS-SSIM启发,能够为视觉感知提供良好的近似感知图像质量。本文加入了感知损失
L
VP
\mathcal{L}_{\text{VP}}
LVP,以提高视觉质量。
L
VP
=
[
l
L
(
I
,
I
^
)
]
α
L
⋅
∏
j
=
1
L
[
c
j
(
I
,
I
^
)
]
β
j
[
s
j
(
I
,
I
^
)
]
γ
j
\mathcal{L}_{\text{VP}}=[l_L(\mathcal{I,\hat{\mathcal{I}}})]^{\alpha_L}\cdot\prod_{j=1}^L [c_j(\mathcal{I},\hat{\mathcal{I}})]^{\beta_j}[s_j(\mathcal{I},\hat{\mathcal{I}})]^{\gamma_j}
LVP=[lL(I,I^)]αL⋅j=1∏L[cj(I,I^)]βj[sj(I,I^)]γj
其中
c
j
c_j
cj和
s
j
s_j
sj分别是第
j
j
j尺度的对比度比较和结构比较的度量,有KaTeX parse error: Got function '\hat' with no arguments as subscript at position 68: …thcal{I}\sigma_\̲h̲a̲t̲{\mathcal{I}}+C…,KaTeX parse error: Got function '\hat' with no arguments as subscript at position 106: …thcal{I}\sigma_\̲h̲a̲t̲{\mathcal{I}}+C…,其中
σ
\sigma
σ是方差或者协方差。
L
L
L是尺度的等级(level of scales,指的是什么?),
α
L
,
β
j
,
γ
j
\alpha_L,\beta_j,\gamma_j
αL,βj,γj是重新衡量每个组成部分的因素(?)。
3.6 Objective Function
除了错误排名损失 L adv-etri \mathcal{L}_{\text{adv-etri}} Ladv-etri和观察损失 L VP \mathcal{L}_\text{VP} LVP,还有两个额外的损失:错误分类损失 L adv-xent \mathcal{L}_{\text{adv-xent}} Ladv-xent和GAN损失 L GAN \mathcal{L}_{\text{GAN}} LGAN。
3.6.1 Misclassication Loss
模型只要误判到除了正确类别之外的任何一个类别即可。提出一个条件不强的无目标损失:
L
adv-xent
=
−
∑
k
=
1
K
S
(
T
(
I
^
)
)
k
(
(
1
−
δ
)
1
arg min
T
(
I
)
k
+
δ
v
k
)
(5)
\mathcal{L}_{\text{adv-xent}}=-\sum_{k=1}^K \mathcal{S}(\mathcal{T}(\hat{\mathcal{I}}))_k((1-\delta)\mathbb{1}_{\text{arg min}\mathcal{T}(\mathcal{I})_k}+\delta v_k)\tag{5}
Ladv-xent=−k=1∑KS(T(I^))k((1−δ)1arg minT(I)k+δvk)(5)
其中
S
\mathcal{S}
S表示log-softmax函数,
K
K
K表示人物ID的总数,
v
=
[
1
K
−
1
,
⋯
,
0
,
⋯
,
1
K
−
1
]
v=[\frac{1}{K-1},\cdots,0,\cdots,\frac{1}{K-1}]
v=[K−11,⋯,0,⋯,K−11]是平滑正则项,
v
k
v_k
vk为所有项均为
1
K
−
1
\frac{1}{K-1}
K−11,除了第
k
k
k位(第
k
k
k个类别是当前的正确类别)。实践中这个平滑正则项提高了训练稳定性和攻击成功率。
3.6.2 GAN Loss
生成器
G
\mathcal{G}
G尝试为输入图像生成噪声,判别器
D
\mathcal{D}
D的目的是尽可能分辨出真实图像和对抗性样本。GAN损失
L
GAN
\mathcal{L}_{\text{GAN}}
LGAN可以写作:
L
GAN
=
E
I
c
d
,
I
c
s
[
log
D
1
,
2
,
3
(
I
c
d
,
I
c
s
]
+
E
I
[
log
(
1
−
D
1
,
2
,
3
(
I
,
I
^
)
)
]
(6)
\mathcal{L}_{\text{GAN}}=\mathbb{E}_{I_{cd},I_{cs}}[\log\mathcal{D}_{1,2,3}(I_{cd},I_{cs}]+\mathbb{E}_\mathcal{I}[\log(1-\mathcal{D}_{1,2,3}(\mathcal{I},\hat{\mathcal{I}}))]\tag{6}
LGAN=EIcd,Ics[logD1,2,3(Icd,Ics]+EI[log(1−D1,2,3(I,I^))](6)
其中
D
1
,
2
,
3
\mathcal{D}_{1,2,3}
D1,2,3是多层判别器。
得到最终的损失函数:
L
=
L
GAN
+
L
adv-xent
+
ζ
L
adv-etri
+
η
(
1
−
L
VP
)
(7)
\mathcal{L}=\mathcal{L}_{\text{GAN}}+\mathcal{L}_{\text{adv-xent}}+\zeta\mathcal{L}_{\text{adv-etri}}+\eta(1-\mathcal{L}_{\text{VP}})\tag{7}
L=LGAN+Ladv-xent+ζLadv-etri+η(1−LVP)(7)
ζ
,
η
\zeta,\eta
ζ,η是超参数。
4 Experiment
4.3 Black-box Attack
4.3.1 Cross-dataset attack
跨数据集意味着攻击者是在已知数据集上学习的,但是被重新用于攻击在未知数据集上训练的模型。
观察到成功率和本地白盒很接近。
MSMT17是一个覆盖多场景、多时间的模拟真实场景的数据集,因此对MSMT17的成功攻击证明了本文的方法能够在不知道真实场景数据信息的情况下攻击真实场景中的ReID系统。
4.3.2 Cross-model attack
跨模型意味着攻击者在已知模型上学习,但是重新应用到一个新的模型当中。
4.3.3 Cross-dataset-cross-model attack
结论:依然好用
4.3.4 Discussion
ReID未来的发展空间:
- 数据域不是ReID性能不好的主要原因
- 网络的缺陷是导致安全漏洞的主要原因
- 可以用公开的ReID模型和数据集来学习攻击者,利用它我们可以在目标系统中执行跨数据集跨模型攻击。