Evasion Attack in Adversarial Machine Learning

本文深入探讨了机器学习领域的对抗样本攻击技术,特别是Evasion Attack。文章详细介绍了ℓp攻击和非ℓp攻击的区别,以及白盒和黑盒攻击的具体实现方法,包括FGSM和PGD等主流攻击手段。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Evasion Attack in Adversarial Machine Learning

Evasion Attack旨在不干涉模型任何训练的基础上,设计出让训练好的模型无识别的test case,我们称之为inference-phase adversarial attack,又称为adversarial examples。从分类的角度上,evasion attack可以分为两大类,一类是 ℓ p \ell_p p attack​,另一类是Non- ℓ p \ell_p p attack。区别在于,前者在一张正常的测试用例上加上一些精心设计的perturbation或noise,而为了限制perturbation不能过大,通常会对perturbation的范数设定上届,常用的有 ℓ 1 \ell_1 1 ℓ 2 \ell_2 2 ℓ ∞ \ell_\infty ;而后者则通过对目标的大幅度改变来达到欺骗的效果,也成为physical attack。

ℓ p \ell_p p Evasion Attack

x \mathbf x x为一个输入, δ \boldsymbol \delta δ是要被设计的perturbation,那么一个adversarial example可以记为:

x ′ : = x + δ \mathbf{x'} := \mathbf{x} + \boldsymbol{\delta} x:=x+δ

同时对perturbation的大小我们做出限制:

∥ δ ∥ p ≤ ϵ \|\boldsymbol\delta\|_p \leq \epsilon δpϵ

即对perturbation的 p p p范数规定了上界,需要注意的是当约束条件是 ℓ 1 \ell_1 1时,优化产生的perturbation一般是元素意义上稀疏的。将问题转化成优化问题:

min ⁡ δ ℓ a t k ( x + δ ; θ ) s . t . ∥ δ ∥ p ≤ ϵ \min_{\boldsymbol\delta} \ell_{atk}(\mathbf x + \boldsymbol\delta; \boldsymbol\theta)\\ s.t. \quad \|\boldsymbol\delta\|_p \leq \epsilon δminatk(x+δ;θ)s.t.δpϵ

其中 ℓ a t k \ell_{atk} atk是一个确定的attack loss, θ \boldsymbol\theta θ是被攻击模型的参数。如果我们想要解这个优化问题,有两个关键点很重要:

  • 如何确定 ℓ a t k \ell_{atk} atk δ \boldsymbol\delta δ的梯度,即 ∇ δ ℓ a t k ( x + δ ; θ ) \nabla_{\boldsymbol\delta}\ell_{atk}(\mathbf x + \boldsymbol\delta; \boldsymbol\theta) δatk(x+δ;θ)

  • 要将解出的结果投影到 ∥ δ ∥ p ≤ ϵ \|\boldsymbol\delta\|_p \leq \epsilon δpϵ上。

根据我们是否能拿到模型的梯度信息, ℓ p \ell_p pEvasion Attack又可分为白盒攻击(white-box attack)和黑盒情形(black-box attack)。

White-Box Attack

假设我们可以获得模型的所有信息,包括gradient back-propagation,那么我们就可以令 ℓ a t k = − ℓ t r \ell_{atk} = -\ell_{tr} atk=tr,此时通过反向传导自然而然可以得到模型的损失函数 ℓ t r \ell_{tr} tr对输入数据的梯度——也就是 ℓ a t k \ell_{atk} atk

ℓ ∞ \ell_\infty Attack: FGSM

FGSM 可以概括为利用梯度的方向信息进行一次性攻击,即我们对损失函数在 x \mathbf x x处进行一阶泰勒近似:

ℓ ^ a t k ( x + δ ; θ ) = ℓ a t k ( x , θ ) + ⟨ θ , ∇ x ℓ a t k ( x ; θ ) ⟩ \hat{\ell}_{atk}(\mathbf x + \boldsymbol\delta; \boldsymbol\theta) = \ell_{atk}(\mathbf x, \boldsymbol\theta) + \langle \boldsymbol\theta, \nabla_{\mathbf x}\ell_{atk}(\mathbf x; \boldsymbol\theta) \rangle ^atk(x+δ;θ)=atk(x,θ)+θ,xatk(x;θ)

那么原问题就转变为近似后的问题:

min ⁡ δ ℓ ^ a t k ( x + δ ; θ ) s . t . ∥ δ ∥ ∞ ≤ ϵ \min_{\boldsymbol\delta} \hat\ell_{atk}(\mathbf x + \boldsymbol\delta; \boldsymbol\theta)\\ s.t. \quad \|\boldsymbol\delta\|_\infty \leq \epsilon δmin^atk(x+δ;θ)s.t.δϵ

注意到 ℓ a t k ( x , θ ) \ell_{atk}(\mathbf x, \boldsymbol\theta) atk(x,θ) δ \boldsymbol\delta δ无关,即:

min ⁡ δ ⟨ δ , ∇ x ℓ a t k ( x ; θ ) ⟩ s . t . ∥ δ ∥ ∞ ≤ ϵ \min_{\boldsymbol\delta} \langle \boldsymbol\delta, \nabla_{\mathbf x}\ell_{atk}(\mathbf x; \boldsymbol\theta) \rangle\\ s.t. \quad \|\boldsymbol\delta\|_\infty \leq \epsilon δminδ,xatk(x;θ)s.t.δϵ

那么我们的one-step解即为:

δ F G S M = − ϵ × s i g n ( ∇ x ℓ a t k ( x ; θ ) ) \boldsymbol\delta_{FGSM} = -\epsilon \times sign(\nabla_{\mathbf x}\ell_{atk}(\mathbf x; \boldsymbol\theta)) δFGSM=ϵ×sign(xatk(x;θ))

该方法至今为止仍被视为火力很猛的方法之一。FGSM方法的优化理论基础为sign-type的GD/SGD方法3 4

PGD Attack - A Principled Attack Generator

PGD Attack6是现在被使用最广泛的攻击手段,是一种基于迭代的攻击。问题描述不变:

min ⁡ δ ℓ a t k ( x + δ ; θ ) s . t . ∥ δ ∥ p ≤ ϵ \min_{\boldsymbol\delta} \ell_{atk}(\mathbf x + \boldsymbol\delta; \boldsymbol\theta)\\ s.t. \quad \|\boldsymbol\delta\|_p \leq \epsilon δminatk(x+δ;θ)s.t.δpϵ

PGD一共进行k步迭代,每一步重复:

(1) δ ^ ( k ) = δ ( k − 1 ) − α ⋅ ∇ x ℓ a t k ( x + δ ( k − 1 ) ; θ ) \text{(1)} \qquad \hat{\boldsymbol\delta}^{(k)} = \boldsymbol\delta^{(k-1)} - \alpha \cdot \nabla_{\mathbf x}\ell_{atk}(\mathbf x + \boldsymbol\delta^{(k-1)}; \boldsymbol\theta) (1)δ^(k)=δ(k1)αxatk(x+δ(k1);θ)

(2) δ ( k ) = P r o j ∥ δ ∥ p ≤ ϵ ( δ ^ ( k ) ) \text{(2)} \qquad \boldsymbol\delta^{(k)} = Proj_{\|\boldsymbol\delta\|_p \le \epsilon}(\hat{\boldsymbol\delta}^{(k)}) (2)δ(k)=Projδpϵ(δ^(k))

可以看出,每次迭代的第一步是在给定梯度下降步长的情况下,无约束得下降到下一优化位置,第二步是在第一步的基础上将无约束的位置投影到符合约束条件的区域。因此第一步成为descent update,第二步成为projection。PGD方法可以看成FGSM的一般化,特殊的,当 k = 1 k=1 k=1 α = ϵ \alpha=\epsilon α=ϵ以及 δ ^ ( 0 ) = 0 \hat{\boldsymbol\delta}^{(0)} = 0 δ^(0)=0时,PGD方法就转化成了FGSM,同时 δ ^ ( k ) = δ ( k ) \hat{\boldsymbol\delta}^{(k)} = \boldsymbol\delta^{(k)} δ^(k)=δ(k)

Descent update非常简单,我们详细地讨论一下projection部分。投影操作 P r o j ∥ δ ∥ p ≤ ϵ ( α ) Proj_{\|\boldsymbol\delta\|_p \le \epsilon}(\boldsymbol\alpha) Projδpϵ(α)是将给定的点 δ = α \boldsymbol\delta=\boldsymbol\alpha δ=α投影到满足约束条件的区域 ∥ δ ∥ p ≤ ϵ \|\boldsymbol\delta\|_p \leq \epsilon δpϵ。其实projection本身也可看作成简单的优化问题:

min ⁡ δ ∥ δ − α ∥ p s . t . ∥ δ ∥ p ≤ ϵ \min_{\boldsymbol\delta} \|\boldsymbol\delta - \boldsymbol\alpha\|_p \\ s.t. \quad \|\boldsymbol\delta\|_p \leq \epsilon δminδαps.t.δpϵ

即在约束集内找到一点使得 δ \boldsymbol\delta δ α \boldsymbol\alpha α p p p范数距离最小。由KKT条件可知,对于简单的 p p p我们是可以找到对应问题的解析解的。例如当 p = 1 p=1 p=1,且初始值$ \boldsymbol\alpha$不满足约束条件时,上述问题的解析解为:

δ ( k ) = P r o j ∥ δ ∥ p ≤ ϵ ( α ) = s i g n ( α ) m a x { ∣ α ∣ − μ / 2 , 0 } w h e r e 1 T ⋅ m a x { ∣ α ∣ − μ / 2 } = ϵ \boldsymbol\delta^{(k)} = Proj_{\|\boldsymbol\delta\|_p \le \epsilon}(\boldsymbol\alpha) = sign(\boldsymbol\alpha)max\{|\boldsymbol\alpha| - \mu/2, 0\}\\ where \quad \mathbf{1^{T}}\cdot max\{|\boldsymbol\alpha| - \mu/2\} = \epsilon δ(k)=Projδpϵ(α)=sign(α)max{αμ/2,0}where1Tmax{αμ/2}=ϵ

Attack Loss

Negative Cross Entropy Loss

不同的攻击方法往往对应着不同的损失函数,最常用的Attack loss莫过于Negative Cross Entropy了,即在Cross Entropy前加上负号:

ℓ C E ( x , y , θ ) = − ∑ i = 1 C [ y i log ⁡ ( p i ( x ; θ ) ) ] \ell_{CE}(\mathbf{x, y}, \boldsymbol\theta) = -\sum_{i=1}^{C}[\mathbf{y_i}\log(p_i(\mathbf x; \boldsymbol\theta))] CE(x,y,θ)=i=1C[yilog(pi(x;θ))]

其中 p i ( x ; θ ) p_i(\mathbf x; \boldsymbol\theta) pi(x;θ)代表使用模型 θ \boldsymbol\theta θ时输入 x \mathbf x x被分到类别 i i i的概率。

对于模型的设计者来说,训练模型希望使 ℓ C E \ell_{CE} CE最小;但对于攻击者而言,希望给定模型后adversarial example x + δ \mathbf x + \boldsymbol\delta x+δ 被分到正确类别 y y y ℓ C E \ell_{CE} CE最大,即:

ℓ a t k ( x + δ ; θ ) = − ℓ C E ( x + δ , y , θ ) \ell_{atk}(\mathbf x + \boldsymbol\delta; \boldsymbol\theta) = -\ell_{CE}(\mathbf{x + \boldsymbol\delta, y}, \boldsymbol\theta) atk(x+δ;θ)=CE(x+δ,y,θ)

CW Attack Loss

对于不定向(untargeted)的攻击(即攻击者只是希望模型将其分类错误,而不指定错误目标类别),CW Loss1 的形式为:

ℓ C W ( x + δ ; θ ) = max ⁡ { Z t 0 ( x + δ ; θ ) − max ⁡ c ≠ t 0 Z C ( x + δ ; θ ) , − τ } \ell_{CW}(\mathbf x + \boldsymbol\delta; \boldsymbol\theta) = \max\{\mathbf{Z_{t_0}}(\mathbf x + \boldsymbol\delta; \boldsymbol\theta) - \max_{c\neq t_0}\mathbf{Z_{C}}(\mathbf x + \boldsymbol\delta; \boldsymbol\theta) , -\tau\} CW(x+δ;θ)=max{Zt0(x+δ;θ)c=t0maxZC(x+δ;θ),τ}

这里输入的真实类(ground truth label)为 t 0 ∈ [ C ] t_0 \in [C] t0[C] [ C ] [C] [C]而代表着所有可能的类别 { 1 , , 2 , … , C } \{1, ,2, \dots, C\} {1,,2,,C},其中 Z C ( x ; θ ) \mathbf{Z_{C}}(\mathbf x; \boldsymbol\theta) ZC(x;θ)代表着 Z ( x ) \mathbf{Z(x)} Z(x)的第 c c c个类别的得分,也就是在softmax层之前的第 c c c个类别对应的输出; τ \tau τ是人工设置的置信阈值(confidence threshold)。

因而这个损失函数的解释为:如果我们想要让损失函数尽量得小,那么我们就要使adversarial example最有可能被分到的错误类(第二个max的含义)对应的得分尽量大,并且尽量比正确类别( t 0 t_0 t0)的得分至少要大 τ \tau τ(第一个max的含义)。

所以在CW Loss中,一个成功的攻击会使得CW Loss一定为负数(误导类的得分大于真实类的得分),并且CW最小时也是 − τ -\tau τ。同时由于没有限定误导类的具体类别,因而对不同的输入 x \mathbf x x其误导类可能各不相同。使用这种CW Loss需要知道输入 x \mathbf x x的真实类的先验信息。

对于定向攻击(targeted),我们希望使真实类(ground truth label)为 t 0 t_0 t0的输入 x \mathbf x x被误分类为指定类别 t t t,此时CW Loss的形式略作修改:

ℓ C W ( x + δ ; θ ) = max ⁡ { Z t 0 ( x + δ ; θ ) − max ⁡ t ≠ t 0 Z t ( x + δ ; θ ) , − τ } \ell_{CW}(\mathbf x + \boldsymbol\delta; \boldsymbol\theta) = \max\{\mathbf{Z_{t_0}}(\mathbf x + \boldsymbol\delta; \boldsymbol\theta) - \max_{t\neq t_0}\mathbf{Z_{t}}(\mathbf x + \boldsymbol\delta; \boldsymbol\theta) , -\tau\} CW(x+δ;θ)=max{Zt0(x+δ;θ)t=t0maxZt(x+δ;θ),τ}

定向攻击和不定向攻击的区别在于,定向攻击还要知道目标误导类的label信息 t t t

Black-Box Attack

与white-box attack完全相反的是,我们在black-box场景下并没有访问模型本身参数或梯度的权限。这种攻击常常用于已经被封装成API的商业识别模型中,如Google Could Vision System14。攻击者能够获取到的信息仅仅是该模型针对输入作出的预测,更极端的情况模型甚至不返回每个类别具体的probability得分,而仅仅返回Top1或Top5的类别label,这也使攻击更加困难。在上述情况中,我们将无法通过back-propagation获得模型关于输入的梯度,因此对该梯度合理的估计(estimation)就成了black-box攻击的重点研究方向。

在这里插入图片描述

Black-box optimization问题形式依旧为:

min ⁡ δ ∈ C ℓ a t k ( x + δ ; θ ) \min_{\boldsymbol\delta \in \mathcal{C}} \ell_{atk}(\mathbf x + \boldsymbol\delta; \boldsymbol\theta) δCminatk(x+δ;θ)

不同点在于,对于white-box attack,在迭代:

δ ( k ) = δ ( k − 1 ) − α ⋅ ∇ δ ℓ ( δ ( k − 1 ) ) \boldsymbol\delta^{(k)} = \boldsymbol\delta^{(k-1)} - \alpha \cdot \nabla_{\boldsymbol\delta}\ell(\boldsymbol\delta^{(k-1)}) δ(k)=δ(k1)αδ(δ(k1))

中我们可以通过模型的back-propagation得到 ∇ δ ℓ ( δ ( k − 1 ) ) \nabla_{\boldsymbol\delta}\ell(\boldsymbol\delta^{(k-1)}) δ(δ(k1)),但是在black-box中,上式被替换为:

δ ( k ) = δ ( k − 1 ) − α ⋅ ∇ ^ δ ℓ ( δ ( k − 1 ) ) ⏟ ZO gradient estimation \boldsymbol\delta^{(k)} = \boldsymbol\delta^{(k-1)} - \alpha \cdot \underbrace{\hat\nabla_{\boldsymbol\delta}\ell(\boldsymbol\delta^{(k-1)})}_{\text{ZO gradient estimation}} δ(k)=δ(k1)αZO gradient estimation ^δ(δ(k1))

Zeroth-Order Optimization

梯度估计

首先我们要完成对上述的梯度估计,我们首先对目标损失函数做一个常规的假设—Lipschitz Smoothness。即对损失函数 ℓ ( ⋅ ) \ell(\cdot) (),存在常数 L < ∞ L < \infty L<使得对任意 x \mathbf x x y ∈ d o m ( ℓ ) \mathbf y \in dom(\ell) ydom()都有

ℓ ( y ) − ℓ ( x ) − ∇ ℓ ( x ) T ( y − x ) ≤ L 2 ∥ y − x ∥ 2 2 \ell(\mathbf y) - \ell(\mathbf x) - \nabla\ell(\mathbf x)^{T}(\mathbf{y-x}) \leq \frac{L}{2}\|\mathbf{y-x}\|^2_2 (y)(x)(x)T(yx)2Lyx22

上式也等价于 g ( x ) g(\mathbf x) g(x)是凸的:

g ( x ) = L 2 x T x − ℓ ( x ) g(\mathbf x) = \frac{L}{2}\mathbf{x^Tx}-\ell(\mathbf x) g(x)=2LxTx(x)

可通过凸函数的定义证明二者的等价关系。

注意在black-box情形下,假设我们能够得到模型对某一输入的所有类型的probability得分,此时我们就可以不断改变给输入增加微小扰动,再通过查询扰动过输入对应的输出来做相应的估计。那么根据增加扰动的类型不同,梯度估计的方法也不同。

  • Deterministic Gradient Estimator

利用coordinate-wise的损失函数值差分获得估计:

[ ∇ ^ δ ℓ ( δ ) ] i = ℓ ( δ + μ e i ) − ℓ ( δ − μ e i ) 2 μ , ∀ i ∈ [ d ] {[\hat\nabla_{\boldsymbol\delta}\ell(\boldsymbol\delta)]}_i = \frac{\ell(\boldsymbol\delta + \mu\mathbf{e_i}) - \ell(\boldsymbol\delta - \mu\mathbf{e_i})}{2\mu}, \quad \forall i \in [d] [^δ(δ)]i=2μ(δ+μei)(δμei),i[d]

在上式中, μ \mu μ是差分step的大小,也是smoothing parameter。而 e i \mathbf{e_i} ei代表着数据的第 i i i个维度,只有第 i i i个分量是1,其余是0,数据维度等于像素个数乘以通道数, d d d代表总数据维度。上式是对梯度的第 i i i个维度分量上的估计。如此估计的误差 ∣ [ ∇ ^ δ ℓ ( δ ) ] i − [ ∇ δ ℓ ( δ ) ] ] i ∣ |{[\hat\nabla_{\boldsymbol\delta}\ell(\boldsymbol\delta)]}_i-[\nabla_{\boldsymbol\delta}\ell(\boldsymbol\delta)]]_i| [^δ(δ)]i[δ(δ)]]i如何估计呢?由13给出的估计表明:

∣ [ ∇ ^ δ ℓ ( δ ) ] i − [ ∇ δ ℓ ( δ ) ] i ∣ ≤ μ L 2 |{[\hat\nabla_{\boldsymbol\delta}\ell(\boldsymbol\delta)]}_i-[\nabla_{\boldsymbol\delta}\ell(\boldsymbol\delta)]_i| \leq \frac{\mu L}{2} [^δ(δ)]i[δ(δ)]i2μL

由Triangle不等式和L-smooth的性质易证。从这个结论我们就可以看出,该方法的优点在于当 μ → 0 \mu \rightarrow 0 μ0时,该估计就变成了无偏估计,但同时 μ \mu μ过小会造成该方法缺乏稳定性。这个方法更大的问题在于,我们要非常频繁得去掉用API来为我们做预测,每一次梯度估计都要做 O ( d ) \mathcal{O}(d) O(d)数量级的查询(即调用API获得预测结果),这不论是时间上还是计算上都是非常昂贵的。

  • Randomized Gradient Estimator

利用随机向量 u \mathbf u u之间查询结果的差分来估计梯度

∇ ^ δ ℓ ( δ ) = ϕ ( d ) ℓ ( δ + μ u ) − ℓ ( δ ) μ u \hat{\nabla}_{\boldsymbol\delta}\ell(\boldsymbol\delta) = \phi(d)\frac{\ell(\boldsymbol\delta + \mu\mathbf u) - \ell(\boldsymbol\delta)}{\mu} \mathbf u ^δ(δ)=ϕ(d)μ(δ+μu)(δ)u

其中 ϕ ( d ) = 1 \phi(d) = 1 ϕ(d)=1如何选择的噪声满足高斯分布 u ∼ N ( 0 , I ) \mathbf u \sim \mathcal{N}(\mathbf{0, I}) uN(0,I) ϕ ( d ) = d \phi(d)=d ϕ(d)=d如何噪声是单位向量 u ← u ∥ u ∥ 2 \mathbf u \leftarrow \frac{\mathbf u}{\|\mathbf u\|_2} uu2u。如此估计所得误差估计由15给出:

E u [ ∥ ∇ ^ δ ℓ ( δ ) − ∇ δ ℓ ( δ ) ∥ 2 2 ] = O ( d ) ∥ ∇ δ ℓ ( δ ) ∥ 2 2 + μ 2 d 3 + μ 2 d ϕ ( d ) \mathbb{E}_{\mathbf u}[\|{\hat\nabla_{\boldsymbol\delta}\ell(\boldsymbol\delta)}-\nabla_{\boldsymbol\delta}\ell(\boldsymbol\delta)\|_2^2] = \mathcal{O}(d)\|\nabla_{\boldsymbol\delta}\ell(\boldsymbol\delta)\|_2^2 + \frac{\mu^2d^3 + \mu^2d}{\phi(d)} Eu[^δ(δ)δ(δ)22]=O(d)δ(δ)22+ϕ(d)μ2d3+μ2d

这种估计方法的优势很明显:只需要两此查询即可得到梯度的完整估计,但缺点是即使 μ → 0 \mu \rightarrow 0 μ0估计还是有误差,

  • Query Efficiency 和 Estimation Quality的权衡

由Randomized Gradient Estimator很容易有多次查询并去平均值的想法,这样通过增加查询次数来减小估计误差,也就是Query Efficiency和Estimation Quality之间的权衡。考虑 n n n个随机向量 { u i } \{\mathbf{u}_i\} {ui},那么多点查询后的梯度估计由下式给出:

∇ ^ δ ℓ ( δ ) = 1 n ∑ i = 1 n [ ϕ ( d ) ℓ ( δ + μ u i ) − ℓ ( δ ) μ u i ] \hat{\nabla}_{\boldsymbol\delta}\ell(\boldsymbol\delta) = \frac{1}{n}\sum_{i=1}^n[\phi(d)\frac{\ell(\boldsymbol\delta + \mu\mathbf u_i) - \ell(\boldsymbol\delta)}{\mu} \mathbf u_i] ^δ(δ)=n1i=1n[ϕ(d)μ(δ+μui)(δ)ui]

那么此时估计所得到的误差的估计为:

E u [ ∥ ∇ ^ δ ℓ ( δ ) − ∇ δ ℓ ( δ ) ∥ 2 2 ] = O ( d n ) ∥ ∇ δ ℓ ( δ ) ∥ 2 2 + μ 2 d 3 n ϕ ( d ) + μ 2 d ϕ ( d ) \mathbb{E}_{\mathbf u}[\|{\hat\nabla_{\boldsymbol\delta}\ell(\boldsymbol\delta)}-\nabla_{\boldsymbol\delta}\ell(\boldsymbol\delta)\|_2^2] = \mathcal{O}(\frac{d}{\textcolor{red}{n}})\|\nabla_{\boldsymbol\delta}\ell(\boldsymbol\delta)\|_2^2 + \frac{\mu^2d^3}{\textcolor{red}{n}\phi(d)} + \frac{\mu^2d}{\phi(d)} Eu[^δ(δ)δ(δ)22]=O(nd)δ(δ)22+nϕ(d)μ2d3+ϕ(d)μ2d

可见随着采样点数的增加,误差估计会下降很多。

一般过程

当完成梯度估计后,我们就可以进一步采用类似于white-box attack的方法进行attack example的优化,整个过程(包含梯度估计)分三步进行:

(1) ZO gradtient estimation g ^ ( k ) = ∇ ^ ℓ ( δ k − 1 ) \text{(1) ZO gradtient estimation} \qquad\hat{\mathbf g}^{(k)} = \hat{\nabla}\ell(\boldsymbol\delta_{k-1}) (1) ZO gradtient estimationg^(k)=^(δk1)

(2) Descent Operation m ( k ) = ψ ( g ^ ( k ) ) \text{(2) Descent Operation} \qquad \mathbf m^{(k)} = \psi(\hat{\mathbf g}^{(k)}) (2) Descent Operationm(k)=ψ(g^(k))

(3) Projection Operation m ( k ) ← Proj C ( m ( k ) ) \text{(3) Projection Operation} \qquad \mathbf m^{(k)} \leftarrow \text{Proj}_C(\mathbf m^{(k)}) (3) Projection Operationm(k)ProjC(m(k))

其中第三步投影操作和white-box非常类似,不做赘述。重点介绍第二部Descent Operation,旨在对已经估计好的梯度做一些优化或处理,让整个算法更稳定或更快速。常用的Descent Operation有:

  • ZO-GD/ZO-SGD,即最普通的不做任何改变 ψ ( g ^ ( k ) ) = g ^ ( k ) \psi(\hat{\mathbf g}^{(k)}) = \hat{\mathbf g}^{(k)} ψ(g^(k))=g^(k)
  • ZO-sign-GD/SGD,类似FGSM将估计出来的梯度符号信息(方向信息)提取出来 ψ ( g ^ ( k ) ) = sign ( g ^ ( k ) ) \psi(\hat{\mathbf g}^{(k)}) = \text{sign}(\hat{\mathbf g}^{(k)}) ψ(g^(k))=sign(g^(k))

后者比前者收敛更快速,但在早期迭代过程中,前者比后者的准确性要高。

ZO-Optimization with Non-Smooth Objective

注意在之前的分析中我们做了Lipschitz-Smoothness的假设,之所以可以做出这个假设,一个隐藏的大前提是我们可以从模型得到针对输入图片的每一类的probability得分(如是狗的可能性为60%,是卡车的可能性是20%…),我们称之为Soft-label Attack。与之对应的是Hard-label Attack,又称为label-only attack,即模型不会返回给用户每一类的得分,而只是一个Top1结果18 19 20。这种情况下就不能对损失函数 ℓ a t k \ell_{atk} atk做Lipschitz-Smoothness假设。那么如何对使用ZO方法来处理non-smooth的问题呢?

Randomized Smoothing:该方法提供了一个代理函数(surrogate function)17 21

ℓ μ ( δ ) = E μ ∼ N ( 0 , I [ ℓ a t k ( x + δ + μ u ; θ ) ] ≈ 1 N ∑ i = 1 N ℓ a t k ( x + δ + μ u ; θ ) \ell_{\mu}(\boldsymbol\delta) = \mathbb{E}_{\mathbf \mu \sim \mathcal N(\mathbf{0, I}}[\ell_{atk}(\mathbf x + \boldsymbol\delta + \mu \mathbf u; \boldsymbol\theta)]\\ \approx \frac{1}{N}\sum_{i=1}^{N}\ell_{atk}(\mathbf x + \boldsymbol\delta + \mu \mathbf u; \boldsymbol\theta) μ(δ)=EμN(0,I[atk(x+δ+μu;θ)]N1i=1Natk(x+δ+μu;θ)

该函数的性质是:即使 ℓ a t k \ell_{atk} atk不是smooth的,也能保证 ℓ μ \ell_{\mu} μ的l-smooth特性。内在原因是,两个函数的卷积(convolution)的l-smooth特性至少和这两个函数中l-smooth最好的一样。这里 ℓ μ \ell_{\mu} μ可以视作离散版本的卷积 ∫ μ [ ℓ a t k ( x + δ + μ u ; θ ) p ( u ) ] d u \int_\mu[\ell_{atk}(\mathbf x + \boldsymbol\delta + \mu \mathbf u; \boldsymbol\theta)p(\mathbf u)]d \mathbf u μ[atk(x+δ+μu;θ)p(u)]du。原始的损失函数和smoothing过后的loss的landscape见下图:

在这里插入图片描述

收敛分析

对于white-box attack,准确的梯度信息可以直接得到,那么利用SGD可以得到收敛速率:经过 K K K次迭代后, E [ ∥ ∇ δ ℓ ( δ ( K ) ) ∥ 2 2 ] = O ( 1 K ) \mathbb{E}[\|\nabla_{\boldsymbol\delta}\ell(\boldsymbol\delta^{(K)})\|_2^2] = \mathcal{O}(\frac{1}{\sqrt{K}}) E[δ(δ(K))22]=O(K 1),见下图16

在这里插入图片描述

对于black-box attack,由于梯度是估计而得到的,而这样的估计带来很大的方差,因而同样迭代次数下收敛效果要比white-box要差一些: E [ ∥ ∇ δ ℓ ( δ ( K ) ) ∥ 2 2 ] = O ( d K ) \mathbb{E}[\|\nabla_{\boldsymbol\delta}\ell(\boldsymbol\delta^{(K)})\|_2^2] = \mathcal{O}(\frac{\sqrt{d}}{\sqrt{K}}) E[δ(δ(K))22]=O(K d ),被称为dimension-based slowdown17:

在这里插入图片描述

[1] Nicholas Carlini and David Wagner. Towards evaluating the robustness of neural networks. In Security and Privacy (SP), 2017 IEEE Symposium on, pages 39–57. IEEE, 2017.
[2] Uri Shaham, Yutaro Yamada, and Sahand Negahban. Understanding adversarial training: Increasing local stability of neural nets through robust optimization. arXiv preprint arXiv:1511.05432, 2015.
[3] J. Bernstein, Y.-X. Wang, K. Azizzadenesheli, and A. Anandkumar. signsgd: compressed optimisation for non-convex problems. arXiv preprint arXiv:1802.04434, 2018.
[4] S. Liu, P.-Y. Chen, X. Chen, and M. Hong. signSGD via zeroth-order oracle. In International Conference on Learning Representations, 2019.
[5] Ian Goodfellow, Jonathon Shlens, and Christian Szegedy. Explaining and harnessing adversarial examples. International Conference on Learning Representations, arXiv preprint arXiv:1412.6572, 2015.
[6] A. Madry, A. Makelov, L. Schmidt, D. Tsipras, and A. Vladu. Towards deep learning models resistant to adversarial attacks. arXiv preprint arXiv:1706.06083, 2017.
[7] N. Parikh and S. Boyd. Proximal algorithms. Foundations and Trends® in Optimization, 1(3):127–239, 2014.
[8] Kaidi Xu, Gaoyuan Zhang, Sijia Liu, Quanfu Fan, Mengshu Sun, Hongge Chen, Pin-Yu Chen, Yanzhi Wang, and Xue Lin. Adversarial t-shirt! evading person detectors in a physical world. In European Conference on Computer Vision, pages 665–681. Springer, 2020.
[10] Tianlong Chen, Yi Wang, Jingyang Zhou, Sijia Liu, Shiyu Chang, Chandrajit Bajaj, and Zhangyang Wang. Can 3d adversarial logos cloak humans? arXiv preprint arXiv:2006.14655, 2020.
[11] Anish Athalye and Ilya Sutskever. Synthesizing robust adversarial examples. arXiv preprint arXiv:1707.07397, 2017. Sijia
[12] Sijia Liu, Pin-Yu Chen, Bhavya Kailkhura, Gaoyuan Zhang, Alfred Hero, and Pramod K Varshney. A primer on zeroth-order optimization in signal processing and machine learning. arXiv preprint arXiv:2006.06224, 2020.
[13] X. Lian, H. Zhang, C.-J. Hsieh, Y. Huang, and J. Liu. A comprehensive linear speedup analysis for asynchronous stochastic parallel optimization from zeroth-order to first-order. In Advances in Neural Information Processing Systems, pages 3054–3062, 2016.
[14] Anish Athalye and Ilya Sutskever. Synthesizing robust adversarial examples. arXiv preprint arXiv:1707.07397, 2017.
[15] S. Liu, B. Kailkhura, P.-Y. Chen, P. Ting, S. Chang, and L. Amini. Zeroth-order stochastic variance reduction for nonconvex optimization. Advances in Neural Information Processing Systems, 2018a.
[16] S.Ghadimi and G. Lan. Stochastic first-and zeroth-order methods for nonconvex stochastic programming. SIAM Journal on Optimization, 23(4):2341–2368, 2013.
[17] J. C. Duchi, M. I. Jordan, M. J. Wainwright, and A. Wibisono. Optimal rates for zero-order convex optimization: The power of two function evaluations. IEEE Transactions on Information Theory, 61 (5):2788–2806, 2015.
[18] A. Ilyas, L. Engstrom, A. Athalye, and J. Lin. Black-box adversarial attacks with limited queries and information. arXiv preprint arXiv:1804.08598, 2018.
[19] Minhao Cheng, Thong Le, Pin-Yu Chen, Jinfeng Yi, Huan Zhang, and Cho-Jui Hsieh. Query-efficient hard-label black-box attack: An optimization-based approach. arXiv preprint arXiv:1807.04457, 2018.
[20] Minhao Cheng, Simranjit Singh, Patrick Chen, Pin-Yu Chen, Sijia Liu, and Cho-Jui Hsieh. Sign-opt: A query-efficient hard-label adversarial attack. arXiv preprint arXiv:1909.10773, 2019.
[21] John C Duchi, Peter L Bartlett, and Martin J Wainwright. Randomized smoothing for stochastic optimization. SIAM Journal on Optimization, 22(2):674–701, 2012.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值