基于随机模式噪声的查询高效黑盒对抗攻击
立即解锁
发布时间: 2025-08-31 01:04:55 阅读量: 9 订阅数: 21 AIGC 

### 基于随机模式噪声的查询高效黑盒对抗攻击
#### 1. 优化框架
在对抗攻击领域,形式上定义一个分类器 $f: X \to R^K$,其中 $x \in X$ 是输入图像,$y \in Y = \{1, 2, \ldots, K\}$ 是输出空间,$f(x)$ 表示 $Y$ 中每个类别的预测分数。
- **无目标攻击**:攻击者的目标是找到一个扰动 $\delta$,使得对抗样本 $(x + \delta)$ 被错误分类到真实类别 $y$ 以外的类别,即 $\arg \max_{k \in Y} f_k(x + \delta) \neq y$。同时,攻击者还希望最小化 $\ell_p$ 距离,即:
\[
\begin{cases}
\arg \max_{k \in Y} f_k(x + \delta) \neq y \\
s.t. \ \|\delta\|_p \leq \epsilon \text{ 且 } (x + \delta) \in X
\end{cases}
\]
其中 $\|\cdot\|_p$ 是 $\ell_p$ 距离范数函数,$\epsilon$ 是 $\ell_p$ 球的半径。寻找扰动 $\delta$ 的任务可以作为一个约束优化问题来处理,因此,$\ell_p$ 有界的无目标攻击旨在优化以下目标:
\[
\min_{\delta: \|\delta\|_p \leq \epsilon} L(f(x + \delta), y)
\]
这里 $L$ 是损失函数(通常是交叉熵损失),$y$ 是 $x$ 的真实标签。该式主要用于最小化标签 $y$ 的分数。
- **有目标攻击**:攻击者的目标是对于从 $Y$ 中选择的目标标签 $t(\neq y)$,使得 $\arg \max_{k \in Y} f_k(x + \delta) = t$,并通过最小化损失 $L(f(x + \delta), t)$ 来优化扰动。对具有许多输出类别的网络(大 $K$)进行黑盒有目标攻击是一项相当困难的任务。
#### 2. 算法
介绍的是黑盒 $\ell_{\infty}$ 攻击方法。假设攻击者有一个图像 $x \in X$ 和一个黑盒分类器 $f$,$f(x)$ 是输入图像 $x$ 相对于 $K$ 类的预测概率。
- **无目标攻击目标**:在 $\ell_{\infty}$ 扰动约束下,找到一个扰动 $\delta \in \{- \epsilon, \epsilon\}^d$,使得 $\arg \max f(x + \delta) \neq y$,其中 $\epsilon \in R^+$ 是 $\ell_{\infty}$ 球的半径。
- **核心方法**:基于随机搜索,这是优化问题中一种著名的迭代技术。如果将此技术应用于对抗攻击,它将作为扰动的顺序更新。如果使用更新后的扰动 $\delta^*$ 的扰动图像 $(x + \delta^*)$ 的损失值 $L(f(x + \delta^*), y)$ 低于先前的损失值 $L(f(x + \delta), y)$,则将此更新应用于当前扰动,否则丢弃。
- **核心技术**:扰动由具有区域同质性的噪声组成。有研究表明卷积神经网络(CNNs)对局部均匀噪声很脆弱。特别是,有研究发现针对防御模型制作的对抗扰动比针对自然训练模型制作的扰动表现出更多的同质模式。因此,研究是否可以应用局部均匀噪声来生成对抗样本。
以下是具体的算法流程:
- **算法 1:随机搜索方法**
```plaintext
Input: 分类器 f, 原始图像 x ∈ X, 真实类别 y, 图像大小 w, 图像通道数 c, ℓ∞ - 半径 ϵ, 最大迭代次数 N
Output: 对抗扰动 δ ∈ {−ϵ, ϵ}d
1: δ ← 初始扰动(垂直方向)
2: xadv ← (x + δ).Clip(0, 1)
3: l ← L(f(xadv), y), i ← 1
4: if 攻击已经成功 then
5: break
6: end if
7: B ← SplitBlock(w)
8: while i < N 且攻击未成功 do
9: b ← B(i%len(B))
10: δ∗ ← RPNSampling(δ, b, w, c, ϵ)
11: xadv ← (x + δ∗).Clip(0, 1)
12: l∗ ← L(f(xadv), y)
13: if l∗ < l then
14: δ ← δ∗, l ← l∗
15: end if
16: i ← i + 1
17: end while
```
- **算法 2:RPNSampling**
```plaintext
Input: 扰动 δ, 要修改的块区域 b, 图像大小 w, 图像通道数 c, ℓ∞ - 半径 ϵ
Output: 新的更新后的 δ∗ ∈ {−ϵ, ϵ}d
1: δ∗ ← δ
2: 均匀采样 RPN γ ∈ {δvert, δhoriz, δuni, δdiag}
3: for i = 1, ..., c do
4: δ∗b,i ← γb,i
5: end for
```
- **算法 3:SplitBlock**
```plaintext
Input: 图像大小 w
Output: 一系列要修改的块区域 B
1: B = ∅
2: for i = 1, ..., w do
3: 将图像的整个区域划分为 i2 个大小为 w/i 的方形块 {b1, b2, ..., bi2}
4: B ← B ∪ 打乱顺序后的 {b1, b2, ..., bi2}
5: end for
```
#### 3. 实验
通过与其他 $\ell_{\infty}$ 攻击方法(Parsimonious、SignHunter 和 Square Attack)进行比较来评估该方法。考虑 $\ell_{\infty}$ 威胁模型,在无目标和有目标攻击设置下执行攻击,然后根据攻击成功率、平均查询次数和中位数查询次数来量化性能。
- **自然训练模型的实验**
- **数据集和目标模型**:在 CIFAR - 10 和 ImageNet 数据集上评估该方法。对于 CIFAR - 10,使用 Madry 等人的自然训练模型;对于 ImageNet,使用 Keras 中提供的 Inception - v3 预训练模型。
- **方法设置**:为每张图像提供 10k 次查询预算来寻找对抗扰动,将对抗图像的最大 $\ell_{\infty}$ 扰动设置为 $\epsilon = 0.031$。在有目标攻击中,将目标类别设置为 $y_{target} = (y_{true} + 1) \mod K$。
- **实验结果**:
| 攻击方法 | 成功率(无目标) | 成功率(有目标) | 平均查询次数(无目标) | 平均查询次数(有目标) | 中位数查询次数(无目标) | 中位数查询次数(有目标) |
| --- | --- | --- | --- | --- | --- | --- |
| Parsimonious | 9
0
0
复制全文
相关推荐









