2022-06-21

本文介绍了对抗性样本生成的一种新方法,通过正交梯度下降和选择性梯度下降策略来规避检测防御。这种方法避免了传统方法中梯度不平衡的问题,通过在分类损失和检测约束之间进行选择性优化,确保每次更新都能改善其中一个目标。同时,正交梯度下降解决了优化过程中梯度方向相反导致的数值不稳定性,从而更有效地生成对抗样本。

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

2022-06-21

Evading Adversarial Example Detection Defenses with Orthogonal Projected Gradient Descent

符号系统定义
分类模型 f : R d → R n f:\mathbb{R}^d \to \mathbb{R}^n f:RdRn ,输入 x ∈ R d x\in \mathbb{R}^d xRd,输出 f ( x ) ∈ R n f(x)\in \mathbb{R}^n f(x)Rn.
检测约束: g : R d → R g:\mathbb{R}^d \to \mathbb{R} g:RdR g ( x ) < 0 g(x) < 0 g(x)<0 满足条件, g ( x ) > 0 g(x) > 0 g(x)>0 不满足条件.
真实标签: c ( x ) = y c(x)=y c(x)=y.
损失函数: L \mathcal{L} L.
嵌入向量: e ( x ) e(x) e(x) 表示输入 x x x f f f 的中间层上的嵌入。除非另有指定,否则 e e e返回紧邻 softmax 激活之前的 logit 向量.

使用投影梯度法生成对抗样本
  梯度投影法的基本思想:当迭代点 x k x_k xk 是可行域 D \mathcal{D} D 的内点时,取 d = − ∇ f ( x k ) d= -\nabla f(x_k) d=f(xk) 作为搜索方向;否则,当 x k x_k xk 是可行域 D \mathcal{D} D 的边界点时,取 − ∇ f ( x k ) -\nabla f(x_k) f(xk) 这些边界面交集上的投影作为搜索方向。
  给定损失函数 L ( f , x , t ) \mathcal{L}(f,x,t) L(f,x,t),输入参数分别是分类模型,训练样本,目标标签。给定约束条件 S ϵ = { z : d ( x , z ) < ϵ } S_\epsilon = \{z:d(x,z)<\epsilon\} Sϵ={z:d(x,z)<ϵ},优化目标定义为
x ′ = arg min ⁡ z ∈ S ϵ L ( f , z , t ) x^\prime = \argmin_{z\in S_\epsilon} \mathcal{L}(f,z,t) x=zSϵargminL(f,z,t)
迭代步骤定义为
x i + 1 = P S ϵ ( x i − α ∇ x i L ( f , z , t ) ) x_{i+1} = P_{S_\epsilon}(x_i - \alpha\nabla_{x_i}\mathcal{L}(f,z,t)) xi+1=PSϵ(xiαxiL(f,z,t))
其中 P S ϵ ( z ) P_{S_\epsilon}(z) PSϵ(z) 表示 z z z S ϵ S_\epsilon Sϵ 上的投影。例如,投影 P S ϵ ( z ) P_{S_\epsilon}(z) PSϵ(z) 在约束 d ( x , z ) = ∥ x − z ∥ ∞ d(x,z)=\|x-z\|_\infin d(x,z)=xz 下是通过把 z z z 裁剪到 [ x − ϵ , x + ϵ ] [x-\epsilon, x+\epsilon] [xϵ,x+ϵ]

选择性梯度下降
  现有的用于对抗神经网络的检测策略的方法定义如下
arg min ⁡ x ∈ S ϵ L ( f , x , t ) + λ g ( x ) \argmin_{x\in S_\epsilon} \mathcal{L}(f,x,t) + \lambda g(x) xSϵargminL(f,x,t)+λg(x)
其中, λ \lambda λ 是一个超参数,它控制着欺骗分类器和欺骗检测器的相对重要性。
  不同于上面的方式,文中没有最小化 f f f g g g 的加权和,而是采用分步优化的方式,其攻击方法定义如下
A ( x , t ) = arg min ⁡ x ′ : ∥ x − x ′ ∥ < ϵ L ( f , x ′ , t ) ⋅ I ( f ( x ) ≠ t ) + g ( x ′ ) ⋅ I ( f ( x ) = t ) ⏟ L u p d a t e ( x , t ) \mathcal{A}(x,t) = \argmin_{x^\prime:\|x-x^\prime\| < \epsilon} \underbrace{\mathcal{L}(f,x^\prime,t)\cdot \mathbb{I}(\it{f(x)\not=t)} + g(x^\prime) \cdot \mathbb{I}(\it{f(x)=t})}_{\mathcal{L}_{\rm{update}}(x,t)} A(x,t)=x:xx<ϵargminLupdate(x,t) L(f,x,t)I(f(x)=t)+g(x)I(f(x)=t)
  这里的想法是,我们不是最小化两个损失函数的凸组合,而是根据 f ( x ) = t f(x)=t f(x)=t 是否成立选择性地优化 f f f g g g,确保更新总是有助于改善 f f f 的损失或 g g g 的损失。
  这种优化方式的另一个好处是,它将梯度下降步骤分解为两个更新,这防止了梯度不平衡问题:其中两个损失函数的梯度大小不相同,将导致优化过程不稳定。上面的公式可以简化为如下的形式
∇ L u p d a t e ( x , t ) = { ∇ L ( f , x , t ) if  f ( x ) ≠ t , ∇ g ( x ) if  f ( x ) = t . \nabla\mathcal{L}_{\rm{update}}(x,t) = \begin{cases} \nabla \mathcal{L}(f,x,t) & \text {if $f(x) \not= t$,} \\ \nabla g(x) & \text{if $f(x)=t$.} \end{cases} Lupdate(x,t)={L(f,x,t)g(x)if f(x)=t,if f(x)=t.
正交梯度下降
上面的攻击方法在数学上是正确的,但是可能会遇到数值不稳定的困难。通常, f f f g g g 的梯度指向相反的方向,因此,花费在优化 f f f 上的每一步都会导致对 g g g 进行优化的倒退。这将导致优化器在执行的每一步之后都不断地“撤消”它自己的进度。我们通过给出一个稍微不同的更新规则来解决这个问题,更新上面的公式如下
∇ L u p d a t e ( x , t ) = { ∇ L ( f , x , t ) − p r o j ∇ L ( f , x , t ) ∇ g ( x ) if  f ( x ) ≠ t , ∇ g ( x ) − p r o j ∇ g ( x ) ∇ L ( f , x , t ) if  f ( x ) = t . \nabla\mathcal{L}_{\rm{update}}(x,t) = \begin{cases} \nabla \mathcal{L}(f,x,t) - \rm{proj}_{\it{\nabla \mathcal{L}(f,x,t)}} \it{\nabla g(x)} & \text {if $f(x) \not= t$,} \\ \nabla g(x)-\rm{proj}_{\it{\nabla g(x)}}\it{\nabla \mathcal{L}(f,x,t)} & \text{if $f(x)=t$.} \end{cases} Lupdate(x,t)={L(f,x,t)projL(f,x,t)g(x)g(x)projg(x)L(f,x,t)if f(x)=t,if f(x)=t.
其中 p r o j ∇ L ( f , x , t ) ∇ g ( x ) \rm{proj}_{\it{\nabla \mathcal{L}(f,x,t)}} \it{\nabla g(x)} projL(f,x,t)g(x) 表示梯度 ∇ L ( f , x , t ) \nabla \mathcal{L}(f,x,t) L(f,x,t) ∇ g ( x ) \nabla g(x) g(x) 上的投影, p r o j ∇ g ( x ) ∇ L ( f , x , t ) \rm{proj}_{\it{\nabla g(x)}}\it{\nabla \mathcal{L}(f,x,t)} projg(x)L(f,x,t) 同理。这里使用到了数学上的施密特正交化,下面简单解释以下:
  假设有两个线性无关的向量 a a a b b b, 现在要将两个向量正交化。首先是保持 a a a 不动,让 a = A a = A a=A, 接下来寻找另一个向量 B B B, 使得 A ⊥ B A \bot B AB。如下图, p p p b b b a a a 上的投影, B B B 就相当于 b b b 的误差向量:
在这里插入图片描述
通过公式计算 x x x x x x 是一个标量
x = a ⊤ b a ⊤ a x = \frac{a^\top b}{a^\top a} x=aaab
p = a x = x a = a ⊤ b a ⊤ a a p = ax=xa=\frac{a^\top b}{a^\top a}a p=ax=xa=aaaba
B = b − p B = b-p B=bp
结合公式中 p r o j ∇ L ( f , x , t ) ∇ g ( x ) \rm{proj}_{\it{\nabla \mathcal{L}(f,x,t)}} \it{\nabla g(x)} projL(f,x,t)g(x) 就表示 p p p ∇ L ( f , x , t ) − p r o j ∇ L ( f , x , t ) ∇ g ( x ) \nabla \mathcal{L}(f,x,t) - \rm{proj}_{\it{\nabla \mathcal{L}(f,x,t)}} \it{\nabla g(x)} L(f,x,t)projL(f,x,t)g(x) 就表示 B B B

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值