文章目录
1 概述
1.1 要点
题目:基于少量查询和信息的黑盒对抗攻击 (Black-box adversarial attacks with limited queries and information)
背景:基于神经网络的分类器在黑盒设置下对对抗样本敏感,其中攻击者只拥有模型的查询权限。实际应用中,这样的威胁模型比典型的黑盒模型更具限制性。在典型的黑盒模型中,攻击者可以在任务输入多个选定的输入上观察网络的完整输出。
策略:为了更准确地刻画现实中的分类器,我们定义了三种威胁模型:
- 查询限制设置;
- 部分信息设置;
- 仅限标签设置。
我们在这三种威胁模型下发展了权限的攻击算法以愚弄分类器。
1.2 代码
https://github.com/labsix/limited-blackbox-attacks
1.3 引用
@inproceedings{Ilyas:2018:21372146,
author = {Ilyas, Andrew and Engstrom, Logan and Athalye, Anish and Lin, Jessy},
title = {Black-box adversarial attacks with limited queries and information},
booktitle = {{ICML}},
pages = {2137--2146},
year = {2018},
url = {https://proceedings.mlr.press/v80/ilyas18a.html}
}
2 一些定义
对抗样本是一个仅添加细微扰动就令分类器误分类的输入。给定输入 x x x、目标类 y a d v y_{adv} yadv,以及扰动边界 ϵ \epsilon ϵ,本文的目的是找到一个输入 x a d v x_{adv} xadv,其满足 ∥ x a d v − x ∥ ∞ < ϵ \|x_{adv}-x\|_\infty<\epsilon ∥xadv−x∥∞<ϵ且 x a d v x_{adv} xadv被分类为 y a d v y_{adv} yadv。
2.1 黑盒模型
在黑盒模型设置下,攻击者仅能通过提供输入 x x x来获得预测的类别概率,即对于所有类别 y y y,有 P ( y ∣ x ) P(y|x) P(y∣x)。这个设置将不允许攻击者获取梯度 ∇ P ( y ∣ x ) \nabla P(y|x) ∇P(y∣x)。
接下来,我们将引入三种威胁模型,并限制其查询权限。
2.2 威胁模型
2.2.1 查询限制设置
攻击者对分类器只有少量查询次数。该设置下,我们希望能够高效地生成对抗样本。查询次数的限制也可以替换为其它限制,例如时间和查询成本。
示意:Clarifar NSFW检测API是一个二分类器,给定任意图像 x x x,其返回 P ( N S F W ∣ x ) P(NSFW|x) P(NSFW∣x)。当查询2500次后,Clarifai API每1000查询将消耗$2.4。
2.2.2 部分信息设置
攻击者仅能获得概率最大的 k k k个类别的概率 P ( y ∣ x ) = { y 1 , … , y k } P(y|x)=\{ y_1,\dots, y_k \} P(y∣x)={y1,…,yk}。分类器甚至可以输出一个总和不等于1的分数来代替概率,以指示预测的相对置信度。当 k = 1 k=1 k=1时,攻击者仅能访问顶部标签及其概率,在这种情况下,部分信息攻击也应该成功。
示意:Google Cloud Vision (GCV) API仅输出top类别的置信得分。
2.2.3 仅限标签设置
攻击者仅能获得依据类别概率排列的 k k k个标签。
示意:Photo tagging app例如Google Photos为用户载入的图片添加标签。
3 方法
本节首先将描述在黑盒模型中高效生成对抗样本的自然进化策略。然后在部分信息设置下讨论攻击算法。最后描述仅限标签设置下的方法。
令 ∏ [ x − ϵ , x + ϵ ] ( x ′ ) \prod_[x-\epsilon,x+\epsilon](x') ∏[x−ϵ,x+ϵ](x′)表示投影操作,其用于在 ℓ ∞ \ell_\infty ℓ∞的限制下将 x ′ x' x′映射为由 ϵ \epsilon ϵ约束的 x x x。当 x x x无扰动时,投影操作简写为 ∏ ϵ ( x ′ ) \prod_\epsilon(x') ∏ϵ(x′)。投影过程定义为 Clip ( x ′ , x − ϵ , x + ϵ ) \text{Clip}(x',x-\epsilon,x+\epsilon) Clip(x′,x−ϵ,x+ϵ)。
令 rank ( y ∣ x ) \text{rank}(y|x) rank(y∣x)表示 x x x的top- k k k类别, N \mathcal{N} N和 U \mathcal{U} U分别表示正态分布和均匀分布。
3.1 查询限制设置
当前设置下,攻击者有预算 L L L,其目的是在 L L L次查询以内导致目标误分类。为了处理该设置,我们使用用于生成对抗样本的标准一阶技术,其用梯度估计代替损失函数的梯度。梯度估计是通过查询分类器而不是通过自微分计算来近似。本节将基于自然进化策略说明如何基于查询高效评估梯度,然后如何基于此生成对抗样本。
3.1.1 自然进化策略 (NES)
NES是一种基于搜索分布
π
(
θ
∣
x
)
\pi(\theta|x)
π(θ∣x)的无导数优化方法。与最大化目标函数
F
(
x
)
F(x)
F(x)不同,NES最大化搜索分布下损失函数的期望值。这使得梯度评估的查询次数远小于有限差分方法。对于一个损失函数
F
(
⋅
)
F(\cdot)
F(⋅)和参数
x
x
x的集合,有:
E
π
(
θ
∣
x
)
[
F
(
θ
)
]
=
∫
F
(
θ
)
π
(
θ
∣
x
)
d
θ
∇
x
E
π
(
θ
∣
x
)
[
F
(
θ
)
]
=
∇
x
∫
F
(
θ
)
π
(
θ
∣
x
)
d
θ
=
∫
F
(
θ
)
∇
x
π
(
θ
∣
x
)
d
θ
=
∫
F
(
θ
)
π
(
θ
∣
x
)
π
(
θ
∣
x
)
∇
x
π
(
θ
∣
x
)
d
θ
=
∫
π
(
θ
∣
x
)
F
(
θ
)
∇
x
log
(
π
(
θ
∣
x
)
)
d
θ
=
E
π
(
θ
∣
x
)
[
F
(
θ
)
∇
x
log
(
π
(
θ
∣
x
)
)
]
\begin{aligned} \mathbb{E}_{\pi(\theta|x)}[F(\theta)]=&\int F(\theta)\pi(\theta|x)\text{d}\theta\\ \nabla_x\mathbb{E}_{\pi(\theta|x)}[F(\theta)]=&\nabla_x\int F(\theta)\pi(\theta|x)\text{d}\theta\\ =&\int F(\theta)\nabla_x\pi(\theta|x)\text{d}\theta\\ =&\int F(\theta)\frac{\pi(\theta|x)}{\pi(\theta|x)}\nabla_x\pi(\theta|x)\text{d}\theta\\ =&\int \pi(\theta|x) F(\theta) \nabla_x \log (\pi(\theta|x))\text{d}\theta\\ =&\mathbb{E}_{\pi(\theta|x)}[F(\theta)\nabla_x\log(\pi(\theta|x))]\\ \end{aligned}
Eπ(θ∣x)[F(θ)]=∇xEπ(θ∣x)[F(θ)]=====∫F(θ)π(θ∣x)dθ∇x∫F(θ)π(θ∣x)dθ∫F(θ)∇xπ(θ∣x)dθ∫F(θ)π(θ∣x)π(θ∣x)∇xπ(θ∣x)dθ∫π(θ∣x)F(θ)∇xlog(π(θ∣x))dθEπ(θ∣x)[F(θ)∇xlog(π(θ∣x))]我们选则当前
x
x
x周围随机高斯噪声的搜索分布,即
θ
=
x
+
σ
δ
\theta=x+\sigma\delta
θ=x+σδ,其中
δ
∼
N
(
0
,
I
)
\delta\sim\mathcal{N}(0,I)
δ∼N(0,I)。接下来使用对立抽样来生成
δ
i
\delta_i
δi值构成的种群:对于
i
∈
{
1
,
…
,
n
2
}
i\in\{1,\dots,\frac{n}{2}\}
i∈{1,…,2n},采用高斯噪声;对于
j
∈
{
(
n
2
+
1
)
,
…
,
n
}
j\in\{(\frac{n}{2}+1),\dots,n\}
j∈{(2n+1),…,n},设置
δ
j
=
−
δ
n
−
j
+
1
\delta_j=-\delta_{n-j+1}
δj=−δn−j+1。经验表明,这种优化可以提高NES的性能。使用此方案下的
n
n
n个点的采样来评估梯度会产生以下方差减少的梯度估计:
∇
E
(
F
(
θ
)
)
≈
1
σ
n
∑
i
=
1
n
δ
i
F
(
θ
+
σ
δ
i
)
\nabla\mathbb{E}(F(\theta))\approx\frac{1}{\sigma n}\sum_{i=1}^n\delta_iF(\theta+\sigma\delta_i)
∇E(F(θ))≈σn1i=1∑nδiF(θ+σδi)最终,我们基于NES梯度估计的动量来执行投影梯度下降更新。以上讨论了NES的特殊情况,其可以看作是在随机高斯上的有限差分估计。
对于一个
n
n
n维空间和
N
N
N个随机采样的高斯向量
v
1
…
v
N
v_1\dots v_N
v1…vN,我们可以降低
N
N
N个随机高斯函数是
c
c
c正交的概率。
N
≤
−
e
c
2
n
4
ln
(
p
)
1
2
⇒
P
{
v
i
⋅
v
j
∥
v
i
∥
∥
v
j
∥
≤
c
∀
(
i
,
j
)
}
≥
p
N\leq-e^{\frac{c^2n}{4}}\ln(p)^{\frac{1}{2}}\Rightarrow\mathbb{P}\left\{ \frac{v_i\cdot v_j}{\|v_i\|\|v_j\|} \leq c\forall(i,j)\right\}\geq p
N≤−e4c2nln(p)21⇒P{∥vi∥∥vj∥vi⋅vj≤c∀(i,j)}≥p考虑一个
δ
i
\delta_i
δi列的矩阵
Θ
\Theta
Θ,NES输出投影
Θ
(
∇
F
)
\Theta(\nabla F)
Θ(∇F),我们可以使用来自拼接理论的标准结果分析估计结果。通过使用Johnson-Lindenstrauss定理,估计梯度
∇
^
\hat{\nabla}
∇^的上界和下界可以通过真实梯度
∇
\nabla
∇来限制。当
σ
→
0
\sigma\to0
σ→0,有:
P
{
(
1
−
δ
)
∥
∇
∥
2
≤
∥
∇
^
∥
2
≤
(
1
+
δ
)
∥
δ
∥
2
}
≥
1
−
2
p
\mathbb{P}\left\{ (1-\delta) \| \nabla \|^2 \leq \| \hat{\nabla} \|^2 \leq (1+\delta) \| \delta \|^2 \right\}\geq1-2p
P{(1−δ)∥∇∥2≤∥∇^∥2≤(1+δ)∥δ∥2}≥1−2p其中
0
<
δ
<
1
0<\delta<1
0<δ<1,
N
=
O
(
δ
−
2
log
(
p
)
)
N=O(\delta^{-2}\log(p))
N=O(δ−2log(p))。
3.1.2 查询限制攻击
在查询限制设置设置中,NES被用作无偏、高效的梯度估计器,其细节如算法1。投影梯度下降 (PGD) 通过使用评估梯度sign后的值来执行:
x
(
t
)
=
∏
[
x
0
−
ϵ
,
x
0
+
ϵ
]
(
x
(
t
−
1
)
−
η
⋅
sign
(
g
t
)
)
x^{(t)}=\prod_{[x_0-\epsilon,x_0+\epsilon]}(x^{(t-1)}-\eta\cdot\text{sign}(g_t))
x(t)=[x0−ϵ,x0+ϵ]∏(x(t−1)−η⋅sign(gt))算法的超参数包括步长大小
η
\eta
η、用于评估梯度的采样数
N
N
N。在查询次数
L
L
L的限制下,每次查询数为
N
N
N,故PGD最多执行
L
N
\frac{L}{N}
NL步。
3.2 部分信息设置
在部分信息设置下,算法的起点不再是图像 x x x,而是具有目标标签 y a d v y_{adv} yadv的实例 x 0 x_0 x0,使得 y a d v y_{adv} yadv更容易出现在top- k k k类别中。
在每一步 t t t中,我们交替执行:
- 投影到以原始图像
x
0
x_0
x0为中心、尺寸递减
ϵ
t
\epsilon_t
ϵt的
ℓ
∞
\ell_\infty
ℓ∞框中,保持对抗类别始终在top-
k
k
k内:
ϵ t = min ϵ ′ s.t. rank ( y a d v ∣ ∏ ϵ ′ ( x ( t − 1 ) ) ) < k \epsilon_t=\min \epsilon' \text{ s.t. rank}\left( y_{adv} | \prod_{\epsilon'} \left( x^{(t-1)} \right) \right)<k ϵt=minϵ′ s.t. rank(yadv∣ϵ′∏(x(t−1)))<k - 最大化对抗目标类的概率,以扰动图像:
x ( t ) = arg max x ′ P ( y a d v ∣ ∏ ϵ ( t − 1 ) ( x ′ ) ) x^{(t)}=\argmax_{x'}P\left(y_{adv}|\prod_{\epsilon_{(t-1)}}\left( x' \right)\right) x(t)=x′argmaxP yadv∣ϵ(t−1)∏(x′) 我们通过回溯线搜索找到使得对抗类别在top- k k k类别内的 ϵ t \epsilon_t ϵt,PGD将在几次迭代后找到 x ( t ) x^{(t)} x(t),完整的过程如算法2.
3.3 仅限标签设置
进行攻击的关键点在于,在没有输出分数的情况下,找到一种替代方法来表征对抗样本的成功。首先,基于对抗标签
y
a
d
v
y_{adv}
yadv的排名
R
(
x
(
t
)
)
=
k
−
rank
(
y
a
d
v
∣
x
(
t
)
)
R(x^{(t)})=k-\text{rank}(y_{adv}|x^{(t)})
R(x(t))=k−rank(yadv∣x(t))以定义对抗样本的离散化得分
R
(
x
(
t
)
)
R(x^{(t)})
R(x(t))来评估每一步
t
t
t时图像的对抗性。作为softmax概率的替换,考虑对抗图像对随机扰动的健壮性,使用离散化得分来评估对抗性:
S
(
x
(
t
)
)
=
E
δ
∼
U
[
−
μ
,
μ
]
[
R
(
x
(
t
)
+
δ
)
]
S(x^{(t)})=\mathbb{E}_{\delta\sim\mathcal{U}[-\mu,\mu]}[R(x^{(t)}+\delta)]
S(x(t))=Eδ∼U[−μ,μ][R(x(t)+δ)]基于Monte Carlo近似,代理得分被评估为:
S
^
(
x
(
t
)
)
=
1
n
∑
i
=
1
n
R
(
x
(
t
)
+
μ
δ
i
)
\hat{S}(x^{(t)})=\frac{1}{n}\sum_{i=1}^nR(x^{(t)}+\mu\delta_i)
S^(x(t))=n1i=1∑nR(x(t)+μδi)该过程的可视化过程如图1。进而,
S
^
(
x
)
\hat{S}(x)
S^(x)被看作是用于输出概率
P
(
y
a
d
v
∣
x
)
P(y_{adv}|x)
P(yadv∣x)的替换,然后基于部分信息设置和对
∇
x
S
^
(
x
)
\nabla_x\hat{S}(x)
∇xS^(x)的评估来找到对抗样本。