Evasion Attack in Adversarial Machine Learning

深度学习(十三) Adversarial Attack 理论部分 本文是根据李宏毅老师的对抗攻击所总结出来的部分 阅读详情

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 δmin​ℓatk​(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 ℓp​Evasion 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,θ)+⟨θ,∇x​ℓatk​(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​⟨δ,∇x​ℓatk​(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(∇x​ℓatk​(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 δmin​ℓatk​(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)=δ(k−1)−α⋅∇x​ℓatk​(x+δ(k−1);θ)

(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​∥δ−α∥p​s.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}where1T⋅max{∣α∣−μ/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=1∑C​[yi​log(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​=t0​max​ZC​(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​=t0​max​Zt​(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) δ∈Cmin​ℓatk​(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)=δ(k−1)−α⋅∇δ​ℓ(δ(k−1))

中我们可以通过模型的back-propagation得到 ∇ δ ℓ ( δ ( k − 1 ) ) \nabla_{\boldsymbol\delta}\ell(\boldsymbol\delta^{(k-1)}) ∇δ​ℓ(δ(k−1)),但是在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)=δ(k−1)−α⋅ZO gradient estimation ∇^δ​ℓ(δ(k−1))​​

Zeroth-Order Optimization

梯度估计

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

ℓ ( 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(y−x)≤2L​∥y−x∥22​

上式也等价于 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)=2L​xTx−ℓ(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​−[∇δ​ℓ(δ)]i​∣≤2μ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}) u∼N(0,I), ϕ ( d ) = d \phi(d)=d ϕ(d)=d如何噪声是单位向量 u ← u ∥ u ∥ 2 \mathbf u \leftarrow \frac{\mathbf u}{\|\mathbf u\|_2} u←∥u∥2​u​。如此估计所得误差估计由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] ∇^δ​ℓ(δ)=n1​i=1∑n​[ϕ(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)=∇^ℓ(δk−1​)

(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;θ)]≈N1​i=1∑N​ℓatk​(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.
​李宏毅机器学习——对抗攻击Adversarial Attack 阅读详情

相关推荐

Adversarial Attack对抗攻击--李宏毅机器学习笔记

李老师系统介绍了对抗攻击的黑箱与白箱方法,进一步涵盖了如One Pixel Attack、Universal Attack、Adversarial Reprogramming与Backdoor Attack等高级攻击策略,并强调其在图像、语音、文本甚至物理世界中的实际威胁。同时,提出了被动防御(如模糊化、JPEG压缩、随机变换)与主动防御(如对抗训练)两大类应对策略,指出对抗训练兼具“数据增强 + 梯度抗性”的特性,是当前最有效的主动安全手段之一。整体内容展现了深度学习模型在安全性方面的脆弱性与应对挑战。

knofrab的博客 1628

机器学习里的攻击-躲避攻击(Evasion attacks)

目录 需要保证其安全三要素(完整性Integrit、可用性Availability、机密性Confidentially)是安全的,如对于一个网络流量包—— 1.其必须是完整的,否则信息就没有意义了——完整性 2.其必须可被接受者所获得和使用,否则这个包也没有意义了——可用性 3.其只能让有权读到或更改的人读到和更改——机密性 那么对于AI系统而言,我们同样可以从AI系统的三要素来进行考虑和分析。如下图所示—— 对于机器学习安全,我们主要讨论其完整性和机密性。 AI的完整性主要是指模型学习和预测的过程完整不

学渣的博客 2万+

对抗机器学习基础(论文学习笔记一)

Adversarial ML Foundation(一)文章摘要(Abstract)入侵问题描述(Optimal Evasion)对手模型(Adversary Model)两种攻击场景(Attack Scenarios)攻击策略(Attack Strategy)梯度下降攻击(Gradient Descent Attack)实验结果(Experimental Result) Foundation共有...

Evan Hu的博客 1884

【学习】evasion attack训练生成器(自动编码器)生成对抗样本、defense、检测对手、Gumbel-Softmax、模仿攻击imitation attack

李宏毅机器学习

Raphael9900的博客 1526

Entropy, cross entropy, negative log loss

以下是熵(Entropy)、交叉熵(Cross Entropy)和负对数损失(Negative Log Loss)的公式:HX−i∑​Pxi​logPxi​)CE−i∑​Pxi​logQxi​)CE−i∑​pi​logqi​NLL−N1​i1∑N​yi​logpi​1−yi​log1−pi​。

2401_83026894的博客 1145

功率电感的设计步骤

学习视频原链接截图1截图2。

qq_32419593的博客 4886

规避攻击和毒化攻击Evasion Attacks and Adversarial Examples

"规避攻击(evasion attacks)"和"毒化攻击(poisoning attacks)"是两种常见的网络安全攻击类型,它们针对机器学习和深度学习模型进行攻击。

一季南凉的博客 1078

FFmpeg视频缩放终极指南:从基础命令到保持宽高比的5种实战技巧

本文是FFmpeg视频缩放的终极指南,详细讲解了从基础命令到保持宽高比的5种实战技巧。针对不同平台(如抖音、B站、Instagram)的分辨率要求,提供了具体的参数模板和批量处理脚本,帮助内容创作者高效、精准地调整视频大小,避免画面变形或黑边问题,实现多平台适配。

juice的博客 457

NLP领域模型对抗攻击简介

攻击NLP模型方法的简单总结

qq_44733706的博客 3600

STM32单片机:驱动ADS1115四个通道全开程序

本文介绍了德州仪器(TI)的ADS1115高精度16位模数转换器(ADC)及其应用实现。该芯片具有16位分辨率、可编程增益放大器(PGA)和低功耗特性,支持±0.256V至±6.144V量程。文章提供了完整的C语言驱动代码,包括初始化、配置寄存器读写、单次/连续转换模式设置、电压值读取等功能实现。代码通过I2C接口与ADS1115通信,支持多通道选择和不同PGA设置,可实现高精度模拟信号采集。该方案适用于需要精密测量的嵌入式系统,如传感器数据采集等应用场景。

weixin_42122070的博客 689

EMC案例:解决千兆网口RTL8211F EMI问题

摘要:本文分析了Amlogic S812平台OEM项目中RTL8211F-CG千兆网卡EMI辐射超标问题。发现百兆测试时25MHz时钟有3dB余量,但千兆125MHz时钟导致超标。问题根源包括:未关闭PHY芯片悬空CLKOUT引脚、TX/RXCLK端RC位置错误、包地不完整及参考地缺失。解决方案涉及软件关闭无用时钟、优化RC布局、加强包地与打孔、调整共模电感位置,并在HDMI 3.3V加磁珠。关键结论指出千兆网125MHz时钟需严格包地打孔,且RC取值需平衡EMI与通信性能。

电子绿洲的博客 1278

【学习】adversarial attack、evasion attacks

李宏毅机器学习

Raphael9900的博客 1023

《SAP FICO系统配置从入门到精通共40篇》030、集成配置:FI与生产计划(PP)的自动科目确定

FI和PP的自动科目确定,本质上是把生产业务翻译成会计语言。翻译规则就藏在那些配置表里。配的时候多想一步:这个业务动作,在财务眼里是什么?是材料消耗?是产出入库?还是工费分摊?想清楚这个,再看配置界面,那些代码就不是天书了。最好的测试方式,是月底关账前,让生产部门跑一遍所有类型的生产订单。配置对不对,业务最知道。

985大学毕业,前某大厂员工,啥都会点的程序员! 574

AI安全-NLP-李宏毅深度学习笔记

首先我们之前已经在cv和audio上面进行过attack了,在其上面的输入是一种实数,当时在NLP中,输入是word或者token,为了将这些token输入到一个模型中,我们需要将每个token映射成一个连续的向量文本的离散性使得NLP中的攻击与CV或语音处理中的攻击有很大不同在图像上添加不可觉察的噪声可以改变模型的预测Nlp中的逃避攻击对于一个任务,修改输入使得模型的预测失效,而修改后的输入和原始输入不应该改变人类的预测任何使模型行为符合我们预期的东西都可以被认为是一个对抗的例子。

doyoudooo的博客 969

webrtc+uniapp(h5和app)实现在线聊天功能 uniapp+网页+服务端源码

uniapp端代码 服务端代码 public/index.html

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 754

智能绿植管家:基于 ESP32 的室内植物自动补光与环境调控系统

本文设计的基于 ESP32 的室内植物自动补光与生长环境调控系统,实现了植物生长环境的自动化、智能化管理。硬件选型合理、接线简单,软件逻辑清晰、易于调试,能够有效解决室内植物生长环境不适的问题。系统具备良好的实用性和扩展性,可为园艺爱好者和小型培育场所提供稳定、高效的植物养护方案。

weixin_42300449的博客 146

【李宏毅机器学习】adversarial attack 对抗攻击

对抗攻击:DL算法存在着严重的安全隐患,攻击者可以通过给良性样本添加特定噪声而轻易地欺骗DL模型,并且通常不会被人发现。攻击者利用人的视觉/听觉无法感知的扰动,足以使正常训练的模型输出置信度很高的错误预测。被认为是在生产中部署DL模型之前的巨大障碍。 根据威胁模型可以将现有的对抗性攻击分为白盒、灰盒和黑盒攻击。这3种模型之间的差异在于攻击者了解的信息。 在白盒攻击的威胁模型中,假定攻击者具有关于其目标模型的完整知识,包括模型体系结构和参数。因此攻击者可以通过任何方式直接在目标模型上制作对抗性样本。 在灰盒威

发现问题,并解决问题,批判性思维 3361

Python + Playwright:集成 Applitools 进行视觉回归测试(快速入门)

Applitools是一款基于人工智能的视觉验证测试工具,专门用于自动化和验证应用程序的用户界面(UI);Applitools使用视觉回归测试来检测应用程序界面的变化,确保 UI 在不同版本之间的一致性;Applitools的核心功能是通过视觉比较,检测 UI 元素的差异,而无需手动编写复杂的界面检查代码;通过集成Applitools,测试人员可以轻松捕捉和验证界面中的视觉差异,无论是在Web移动端或桌面应用的测试环境;

blues_C的博客 2920

【深度学习】李宏毅2021/2022春深度学习课程笔记 - Adversarial Attack(恶意攻击)

是有可能的,如下图所示,我们在训练资料中给图片加入一些人类观察不到的杂讯,用这些被加了杂讯的图片训练出来的模型,在看到特定的照片时就会识别错误。假设我们知道要被攻击的模型的训练资料,那么我们可以用一样的训练资料训练出一个和要被攻击的模型很相似的模型,然后用白盒攻击的方法攻击相似的模型,再用对相似模型攻击有效的带有杂讯的数据去攻击真正要攻击的模型,这时候成功率就会比较高。还有更离谱的,在加了另外的杂讯后,模型居然认为图片中的是 Keyboard,由此可见,恶意攻击对模型的影响真的是非常大呀!

知不足而奋进,望远山而前行 2万+

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

对抗攻击Adversarial Attack

对抗样本的攻击主要分为无特定目标攻击(即只要求分类器对对抗样本错误分类,而不特定要求错误分类到哪一类)和特定目标攻击(即要求分类器将对抗样本错误分类到特定类别)。

JxufeCarol的博客 2471

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

【综述】A Comprehensive Survey on Graph NeuralNetworks(3)

专业名词 negative cross entropy 负交叉熵 笔记 GRAPH AUTOENCODERS 图形自动编码器 Graph autoencoders (GAEs) are deep neural architectureswhich map nodes into a latent feature space and decode graphinformation from latent representations. GAEs can be used tolearn network e

海到无边天作岸 山登绝顶我为峰 1947

对抗攻击(Adversarial Attack)

对抗攻击

ji_meng的博客 1万+

对抗性攻击(Adversarial Attack)

对抗性攻击是针对机器学习模型(尤其是深度学习模型)的一类攻击方法,其核心是通过对模型的输入(如图像、文本、音频等)添加人类难以察觉的微小扰动,导致模型做出错误预测(如将 “猫” 误判为 “狗”、将交通标志 “停止” 误判为 “直行”)。这类攻击揭示了机器学习模型的脆弱性,也推动了模型鲁棒性研究的发展。

m0_71755344的博客 1474

Adversarial Attack (对抗攻击)

本文为李宏毅 2021 ML 课程的笔记 目录Basic ConceptsMotivationHow to Attack Basic Concepts Motivation Are networks robust to the inputs that are built to fool them? Useful for spam classification, malware detection, network intrusion detection, etc. How to Attack .

连理o的博客 5773

When Does Machine Learning FAIL? Generalized Transferability for Evasion and Poisoning Attacks论文笔记

When Does Machine Learning FAIL? Generalized Transferability for Evasion and Poisoning Attacks论文笔记 该论文主要是介绍了一个FAIL模型, 即一个通用框架用来分析针对机器学习系统的真实攻击, 同时也提出了一种有目标的投毒攻击, 称作StingRay, 使得该攻击能击溃现存的防御, 通过观察FAIL的维度...

XP and Altoria 771

综述:图数据上的对抗攻击与防御

阅读更多,欢迎关注公众号:论文收割机(paper_reader)原文链接:综述:图数据上的对抗攻击与防御 Sun,Lichao,JiWang,PhilipS.Yu,andBoLi."AdversarialAttackandDefenseonGraphData:ASurvey."arXivpreprintarXiv:1812.10528(2018...

paper_reader的博客 7167
上一篇: Visual SLAM 笔记——李群和李代数详解
下一篇: Poisoning Attack in Adversarial Machine Learning
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值